Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,16 @@ MONAI is a [PyTorch](https://pytorch.org/)-based, [open-source](https://github.c
- customizable design for varying user expertise;
- multi-GPU data parallelism support.

## Installation
Clone and build this repository from source

```bash
git clone https://github.com/Project-MONAI/MONAI.git
pip install -e MONAI/
```

Run some of the examples in [Getting Started](##getting-started)

## Getting Started

Tutorials & examples are located at [monai/examples](https://github.com/Project-MONAI/MONAI/tree/master/examples).
Expand Down
2 changes: 0 additions & 2 deletions examples/classification_3d/densenet_evaluation_array.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@
from ignite.engine import create_supervised_evaluator, _prepare_batch
from torch.utils.data import DataLoader

# assumes the framework is found here, change as necessary
sys.path.append("../..")
import monai
import monai.transforms.compose as transforms
from monai.data.nifti_reader import NiftiDataset
Expand Down
2 changes: 0 additions & 2 deletions examples/classification_3d/densenet_evaluation_dict.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@
from ignite.engine import create_supervised_evaluator, _prepare_batch
from torch.utils.data import DataLoader

# assumes the framework is found here, change as necessary
sys.path.append("../..")
from monai.handlers.classification_saver import ClassificationSaver
from monai.handlers.checkpoint_loader import CheckpointLoader
from monai.handlers.stats_handler import StatsHandler
Expand Down
2 changes: 0 additions & 2 deletions examples/classification_3d/densenet_training_array.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@
from ignite.handlers import ModelCheckpoint, EarlyStopping
from torch.utils.data import DataLoader

# assumes the framework is found here, change as necessary
sys.path.append("../..")
import monai
import monai.transforms.compose as transforms
from monai.data.nifti_reader import NiftiDataset
Expand Down
2 changes: 0 additions & 2 deletions examples/classification_3d/densenet_training_dict.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@
from ignite.handlers import ModelCheckpoint, EarlyStopping
from torch.utils.data import DataLoader

# assumes the framework is found here, change as necessary
sys.path.append("../..")
import monai
import monai.transforms.compose as transforms
from monai.transforms.composables import \
Expand Down
2 changes: 0 additions & 2 deletions examples/integrate_to_spleen_program.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,6 @@
"import torch\n",
"from torch.utils.data import DataLoader\n",
"import matplotlib.pyplot as plt\n",
"# assumes the framework is found here, change as necessary\n",
"sys.path.append(\"..\")\n",
"import monai\n",
"import monai.transforms.compose as transforms\n",
"from monai.transforms.composables import \\\n",
Expand Down
3 changes: 0 additions & 3 deletions examples/multi_gpu_test.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,6 @@
"from ignite.engine.engine import Events\n",
"from ignite.handlers import ModelCheckpoint\n",
"\n",
"# assumes the framework is found here, change as necessary\n",
"sys.path.append(\"..\")\n",
"\n",
"import monai\n",
"\n",
"\n",
Expand Down
2 changes: 0 additions & 2 deletions examples/nifti_read_example.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,6 @@
"from torch.utils.data import DataLoader\n",
"import monai.transforms.compose as transforms\n",
"\n",
"sys.path.append('..') # assumes this is where MONAI is\n",
"\n",
"import monai\n",
"\n",
"from monai.transforms.utils import rescale_array\n",
Expand Down
3 changes: 0 additions & 3 deletions examples/segmentation_3d/unet_evaluation_array.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@
from ignite.engine import Engine
from torch.utils.data import DataLoader

# assumes the framework is found here, change as necessary
sys.path.append("../..")

from monai import config
from monai.handlers.checkpoint_loader import CheckpointLoader
from monai.handlers.segmentation_saver import SegmentationSaver
Expand Down
3 changes: 0 additions & 3 deletions examples/segmentation_3d/unet_evaluation_dict.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@
from ignite.engine import Engine
from torch.utils.data import DataLoader

# assumes the framework is found here, change as necessary
sys.path.append("../..")

import monai
from monai.data.utils import list_data_collate
from monai.utils.sliding_window_inference import sliding_window_inference
Expand Down
3 changes: 0 additions & 3 deletions examples/segmentation_3d/unet_training_array.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,6 @@
from ignite.handlers import ModelCheckpoint, EarlyStopping
from torch.utils.data import DataLoader

# assumes the framework is found here, change as necessary
sys.path.append("../..")

import monai
import monai.transforms.compose as transforms

Expand Down
3 changes: 0 additions & 3 deletions examples/segmentation_3d/unet_training_dict.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,6 @@
from ignite.handlers import ModelCheckpoint, EarlyStopping
from torch.utils.data import DataLoader

# assumes the framework is found here, change as necessary
sys.path.append("../..")

import monai
import monai.transforms.compose as transforms
from monai.transforms.composables import \
Expand Down
2 changes: 0 additions & 2 deletions examples/transform_speed.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,6 @@
"except RuntimeError:\n",
" pass\n",
"\n",
"sys.path.append('..') # assumes this is where MONAI is\n",
"\n",
"import monai\n",
"from monai.transforms.compose import Compose\n",
"from monai.data.nifti_reader import NiftiDataset\n",
Expand Down
2 changes: 0 additions & 2 deletions examples/transforms_demo_2d.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,6 @@
"import matplotlib.pyplot as plt\n",
"from PIL import Image\n",
"\n",
"sys.path.append('..') # assumes this is where MONAI is\n",
"\n",
"import monai\n",
"from monai.transforms import Affine, Rand2DElastic\n",
"\n",
Expand Down
3 changes: 0 additions & 3 deletions examples/unet_segmentation_3d.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,6 @@
"from ignite.handlers import ModelCheckpoint, EarlyStopping\n",
"from torch.utils.data import DataLoader\n",
"\n",
"# assumes the framework is found here, change as necessary\n",
"sys.path.append(\"..\")\n",
"\n",
"import monai\n",
"import monai.transforms.compose as transforms\n",
"\n",
Expand Down
3 changes: 1 addition & 2 deletions monai/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@
from .utils.module import load_submodules

__copyright__ = "(c) 2020 MONAI Consortium"
__version__tuple__ = (0, 0, 1)
__version__ = "%i.%i.%i" % __version__tuple__
__version__ = "0.0.1"

__basedir__ = os.path.dirname(__file__)

Expand Down
55 changes: 55 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
import os
import io
import re
from setuptools import setup, find_packages

# inspired by https://github.com/pytorch/ignite/blob/master/setup.py
def read(*names, **kwargs):
print(os.path.join(os.path.dirname(__file__), *names))
with io.open(
os.path.join(os.path.dirname(__file__), *names),
encoding=kwargs.get("encoding", "utf8")
) as fp:
return fp.read()

def find_version(*file_paths):
version_file = read(*file_paths)
version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]",
version_file, re.M)
if version_match:
return version_match.group(1)
raise RuntimeError("Unable to find version string.")

readme = read("README.md")
VERSION = find_version("monai", "__init__.py")
requirements = [
"torch",
"pytorch-ignite",
"numpy",
"pillow",
"coverage",
"nibabel",
"parameterized",
"tensorboard",
"scikit-image",
"scipy"
]

if __name__ == '__main__':
setup(
# Metadata
name="monai",
version=VERSION,
author="MONAI Consortium",
url="https://github.com/Project-MONAI/MONAI",
author_email="monai.miccai2019@gmail.com",
description="AI Toolkit for Healthcare Imaging",
long_description_content_type="text/markdown",
long_description=readme,
license="Apache License 2.0",

# Package info
packages=find_packages(exclude=('docs', 'examples', 'tests')),
zip_safe=True,
install_requires=requirements
)