Skip to content

Release v0.2.1 #250

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Jan 26, 2022
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
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 0.2.0
current_version = 0.2.1
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)((?P<release>a|b|rc)(?P<build>\d+))?
serialize =
{major}.{minor}.{patch}{release}{build}
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,10 @@ YouTube Video:
- [Spleen Organ Segmentation - Jupyter Notebook Tutorial](https://www.youtube.com/watch?v=cqDVxzYt9lY)
- [Spleen Organ Segmentation - Deep Dive](https://www.youtube.com/watch?v=nivgfD4pwWE)

### [4) Deploying Segmentation app with MONAI Inference Service (MIS)](https://docs.monai.io/projects/monai-deploy-app-sdk/en/latest/getting_started/tutorials/04_mis_tutorial.html)

### [5) Building and deploying Segmentation app with MONAI Inference Service (MIS)](https://docs.monai.io/projects/monai-deploy-app-sdk/en/latest/getting_started/tutorials/05_full_tutorial.html)

### [Examples](https://docs.monai.io/projects/monai-deploy-app-sdk/en/latest/getting_started/examples.html)

<https://github.com/Project-MONAI/monai-deploy-app-sdk/tree/main/examples/apps> has example apps that you can see.
Expand Down
2 changes: 1 addition & 1 deletion docs/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Sphinx==4.1.2
sphinx-autobuild==2021.3.14
myst-parser==0.15.2
numpy==1.19.5
numpy==1.21 # CVE-2021-33430
matplotlib==3.3.4
ipywidgets==7.6.4
pandas==1.1.5
Expand Down
6 changes: 6 additions & 0 deletions docs/source/getting_started/tutorials/04_mis_tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@ The environment from the previous section (**<a href="./03_segmentation_app.html
../../notebooks/tutorials/04_mis_tutorial.ipynb
```

<!-- ```{raw} html
<div style="text-align: center;">
<iframe width="560" height="315" src="https://www.youtube.com/watch?v=sISg521fdCA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
``` -->

```{raw} html
<p style="text-align: center;">
<a class="sphinx-bs btn text-wrap btn-outline-primary col-md-6 reference external" href="../../_static/notebooks/tutorials/04_mis_tutorial.ipynb">
Expand Down
6 changes: 6 additions & 0 deletions docs/source/getting_started/tutorials/05_full_tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@ The environment from the previous section (**<a href="./03_segmentation_app.html
../../notebooks/tutorials/05_full_tutorial.ipynb
```

<!-- ```{raw} html
<div style="text-align: center;">
<iframe width="560" height="315" src="https://www.youtube.com/watch?v=sISg521fdCA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
``` -->

```{raw} html
<p style="text-align: center;">
<a class="sphinx-bs btn text-wrap btn-outline-primary col-md-6 reference external" href="../../_static/notebooks/tutorials/05_full_tutorial.ipynb">
Expand Down
1 change: 1 addition & 0 deletions docs/source/release_notes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
```{toctree}
:maxdepth: 1

v0.2.1
v0.2.0
```

Expand Down
31 changes: 31 additions & 0 deletions docs/source/release_notes/v0.2.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Version 0.2.1 (January 25, 2022)

This is a patch release of [v0.2](https://docs.monai.io/projects/monai-deploy-app-sdk/en/latest/release_notes/v0.2.0.html#).

Please visit [GETTING STARTED](/getting_started/index) guide and follow tutorials.

You can learn more about SDK usage through [DEVELOPING WITH SDK](/developing_with_sdk/index).

Please let us know how you like it and what could be improved by [submitting an issue](https://github.com/Project-MONAI/monai-deploy-app-sdk/issues/new/choose) or [asking questions](https://github.com/Project-MONAI/monai-deploy-app-sdk/discussions)😀

## What's new

As per MONAI Core's [Python 3.6 drop](https://github.com/Project-MONAI/MONAI/pull/3536), drop the support for Python 3.6 from MONAI Deploy App SDK.

- Drop Python 3.6 support [#248](https://github.com/Project-MONAI/monai-deploy-app-sdk/pull/248) by [@gigony](https://github.com/gigony)

## What's fixed/updated

- Fixed minor dependencies for fresh deployment [#208](https://github.com/Project-MONAI/monai-deploy-app-sdk/pull/208) by [@vikashg](https://github.com/vikashg)
- Fix minor typo in chapter 4 notebook [#209](https://github.com/Project-MONAI/monai-deploy-app-sdk/pull/209) by [@KavinKrishnan](https://github.com/KavinKrishnan)
- Bump numpy >= 1.20 to avoid MKL error in conda env, and add --upgrade for pip install app sdk [#211](https://github.com/Project-MONAI/monai-deploy-app-sdk/pull/211) by [@MMelQin](https://github.com/MMelQin)
- Update notebooks with cloning repo and building MIS container [#214](https://github.com/Project-MONAI/monai-deploy-app-sdk/pull/214) by [@KavinKrishnan](https://github.com/KavinKrishnan)
- Update notebooks with cloning repo and building MIS container [#215](https://github.com/Project-MONAI/monai-deploy-app-sdk/pull/215) by [@KavinKrishnan](https://github.com/KavinKrishnan)
- Change the model name in the Spleen seg example dataset to model.ts [#222](https://github.com/Project-MONAI/monai-deploy-app-sdk/pull/222) by [@MMelQin](https://github.com/MMelQin)
- Remove developer names/aliases from notebooks and documentation [#225](https://github.com/Project-MONAI/monai-deploy-app-sdk/pull/225) by [@KavinKrishnan](https://github.com/KavinKrishnan)
- Fixed empty documentation on docs.monai [#233](https://github.com/Project-MONAI/monai-deploy-app-sdk/pull/233) by [@vikashg](https://github.com/vikashg)
- Handle exception case with missing DICOM Rescale Intercept and Slope attributes [#236](https://github.com/Project-MONAI/monai-deploy-app-sdk/pull/236) by [@MMelQin](https://github.com/MMelQin)
- Fix IPython detection routine [#237](https://github.com/Project-MONAI/monai-deploy-app-sdk/pull/237) by [@gigony](https://github.com/gigony)
- Use Python 3.7 for JupyterLab [#241](https://github.com/Project-MONAI/monai-deploy-app-sdk/pull/241) by [@gigony](https://github.com/gigony)
- Update gdown command and missing package [#246](https://github.com/Project-MONAI/monai-deploy-app-sdk/pull/246) by [@gigony](https://github.com/gigony)
- Do not upgrade packages when packaging [#247](https://github.com/Project-MONAI/monai-deploy-app-sdk/pull/247) by [@gigony](https://github.com/gigony)
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
@md.input("image", Image, IOType.IN_MEMORY)
@md.output("seg_image", Image, IOType.IN_MEMORY)
@md.output("saved_images_folder", DataPath, IOType.DISK)
@md.env(pip_packages=["monai==0.6.0", "torch>=1.5", "numpy>=1.20", "nibabel"])
@md.env(pip_packages=["monai==0.6.0", "torch>=1.5", "numpy>=1.21", "nibabel"])
class LiverTumorSegOperator(Operator):
"""Performs liver and tumor segmentation using a DL model with an image converted from a DICOM CT series.

Expand Down
2 changes: 1 addition & 1 deletion examples/apps/ai_spleen_seg_app/spleen_seg_operator.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@

@md.input("image", Image, IOType.IN_MEMORY)
@md.output("seg_image", Image, IOType.IN_MEMORY)
@md.env(pip_packages=["monai==0.6.0", "torch>=1.5", "numpy>=1.20", "nibabel"])
@md.env(pip_packages=["monai==0.6.0", "torch>=1.5", "numpy>=1.21", "nibabel"])
class SpleenSegOperator(Operator):
"""Performs Spleen segmentation with a 3D image converted from a DICOM CT series.

Expand Down
2 changes: 1 addition & 1 deletion examples/apps/ai_unetr_seg_app/unetr_seg_operator.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
@md.input("image", Image, IOType.IN_MEMORY)
@md.output("seg_image", Image, IOType.IN_MEMORY)
@md.output("saved_images_folder", DataPath, IOType.DISK)
@md.env(pip_packages=["monai==0.6.0", "torch>=1.5", "numpy>=1.20", "nibabel"])
@md.env(pip_packages=["monai==0.6.0", "torch>=1.5", "numpy>=1.21", "nibabel"])
class UnetrSegOperator(Operator):
"""Performs multi-organ segmentation using UNETR model with an image converted from a DICOM CT series.

Expand Down
2 changes: 1 addition & 1 deletion examples/apps/deply_app_on_aarch64_interim.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Without using the MONAI Deploy App SDK Packager to automatically detect the depe
monai>=0.6.0
monai-deploy-app-sdk>=0.1.0
nibabel
numpy>=1.20
numpy>=1.21
pydicom>=1.4.2
torch>=1.5
```
Expand Down
2 changes: 1 addition & 1 deletion monai/deploy/operators/monai_seg_inference_operator.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@

@md.input("image", Image, IOType.IN_MEMORY)
@md.output("seg_image", Image, IOType.IN_MEMORY)
@md.env(pip_packages=["monai==0.6.0", "torch>=1.5", "numpy>=1.20"])
@md.env(pip_packages=["monai==0.6.0", "torch>=1.5", "numpy>=1.21"])
class MonaiSegInferenceOperator(InferenceOperator):
"""This segmentation operator uses MONAI transforms and Sliding Window Inference.

Expand Down
14 changes: 11 additions & 3 deletions monai/deploy/packager/templates.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
COMMON_FOOTPRINT = """
USER root

RUN pip install --no-cache-dir --upgrade setuptools==57.4.0 pip==21.2.4 wheel==0.37.0 monai-deploy-app-sdk==0.2.0
RUN pip install --no-cache-dir --upgrade setuptools==57.4.0 pip==21.3.1 wheel==0.37.0 numpy>=1.21

RUN mkdir -p /etc/monai/ \\
&& mkdir -p /opt/monai/ \\
Expand All @@ -34,9 +34,17 @@
&& rm -rf {executor_dir}/executor_pkg \\
&& chmod +x {executor_dir}/monai-exec

ENV PATH=/home/root/.local/bin:$PATH
ENV PATH=/root/.local/bin:$PATH

RUN pip install --no-cache-dir -r {map_requirements_path}
RUN pip install --no-cache-dir --user -r {map_requirements_path}

# Override monai-deploy-app-sdk module
COPY ./monai-deploy-app-sdk /root/.local/lib/python3.8/site-packages/monai/deploy/
RUN echo "User site package location: $(python3 -m site --user-site)" \\
&& [ "$(python3 -m site --user-site)" != "/root/.local/lib/python3.8/site-packages" ] \\
&& mkdir -p $(python3 -m site --user-site)/monai/deploy \\
&& cp -r /root/.local/lib/python3.8/site-packages/monai/deploy/* $(python3 -m site --user-site)/monai/deploy/ \\
|| true

COPY ./map/app.json /etc/monai/
COPY ./map/pkg.json /etc/monai/
Expand Down
6 changes: 3 additions & 3 deletions notebooks/tutorials/03_segmentation_app.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@
"# Install MONAI and other necessary image processing packages for the application\n",
"!python -c \"import monai\" || pip install -q \"monai\"\n",
"!python -c \"import torch\" || pip install -q \"torch>=1.5\"\n",
"!python -c \"import numpy\" || pip install -q \"numpy>=1.20\"\n",
"!python -c \"import numpy\" || pip install -q \"numpy>=1.21\"\n",
"!python -c \"import nibabel\" || pip install -q \"nibabel>=3.2.1\"\n",
"!python -c \"import pydicom\" || pip install -q \"pydicom>=1.4.2\"\n",
"!python -c \"import SimpleITK\" || pip install -q \"SimpleITK>=2.0.0\"\n",
Expand Down Expand Up @@ -747,7 +747,7 @@
"source": [
"@md.input(\"image\", Image, IOType.IN_MEMORY)\n",
"@md.output(\"seg_image\", Image, IOType.IN_MEMORY)\n",
"@md.env(pip_packages=[\"monai==0.6.0\", \"torch>=1.5\", \"numpy>=1.20\", \"nibabel\"])\n",
"@md.env(pip_packages=[\"monai==0.6.0\", \"torch>=1.5\", \"numpy>=1.21\", \"nibabel\"])\n",
"class SpleenSegOperator(Operator):\n",
" \"\"\"Performs Spleen segmentation with a 3D image converted from a DICOM CT series.\n",
" \"\"\"\n",
Expand Down Expand Up @@ -1069,7 +1069,7 @@
"\n",
"@md.input(\"image\", Image, IOType.IN_MEMORY)\n",
"@md.output(\"seg_image\", Image, IOType.IN_MEMORY)\n",
"@md.env(pip_packages=[\"monai==0.6.0\", \"torch>=1.5\", \"numpy>=1.20\", \"nibabel\", \"typeguard\"])\n",
"@md.env(pip_packages=[\"monai==0.6.0\", \"torch>=1.5\", \"numpy>=1.21\", \"nibabel\", \"typeguard\"])\n",
"class SpleenSegOperator(Operator):\n",
" \"\"\"Performs Spleen segmentation with a 3D image converted from a DICOM CT series.\n",
" \"\"\"\n",
Expand Down
6 changes: 3 additions & 3 deletions notebooks/tutorials/05_full_tutorial.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@
"# Install MONAI and other necessary image processing packages for the application\n",
"!python -c \"import monai\" || pip install -q \"monai\"\n",
"!python -c \"import torch\" || pip install -q \"torch>=1.5\"\n",
"!python -c \"import numpy\" || pip install -q \"numpy>=1.20\"\n",
"!python -c \"import numpy\" || pip install -q \"numpy>=1.21\"\n",
"!python -c \"import nibabel\" || pip install -q \"nibabel>=3.2.1\"\n",
"!python -c \"import pydicom\" || pip install -q \"pydicom>=1.4.2\"\n",
"!python -c \"import SimpleITK\" || pip install -q \"SimpleITK>=2.0.0\"\n",
Expand Down Expand Up @@ -739,7 +739,7 @@
"source": [
"@md.input(\"image\", Image, IOType.IN_MEMORY)\n",
"@md.output(\"seg_image\", Image, IOType.IN_MEMORY)\n",
"@md.env(pip_packages=[\"monai==0.6.0\", \"torch>=1.5\", \"numpy>=1.20\", \"nibabel\"])\n",
"@md.env(pip_packages=[\"monai==0.6.0\", \"torch>=1.5\", \"numpy>=1.21\", \"nibabel\"])\n",
"class SpleenSegOperator(Operator):\n",
" \"\"\"Performs Spleen segmentation with a 3D image converted from a DICOM CT series.\n",
" \"\"\"\n",
Expand Down Expand Up @@ -1017,7 +1017,7 @@
"\n",
"@md.input(\"image\", Image, IOType.IN_MEMORY)\n",
"@md.output(\"seg_image\", Image, IOType.IN_MEMORY)\n",
"@md.env(pip_packages=[\"monai==0.6.0\", \"torch>=1.5\", \"numpy>=1.20\", \"nibabel\", \"typeguard\"])\n",
"@md.env(pip_packages=[\"monai==0.6.0\", \"torch>=1.5\", \"numpy>=1.21\", \"nibabel\", \"typeguard\"])\n",
"class SpleenSegOperator(Operator):\n",
" \"\"\"Performs Spleen segmentation with a 3D image converted from a DICOM CT series.\n",
" \"\"\"\n",
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
numpy>=1.17
numpy>=1.21 # CVE-2021-33430
networkx>=2.4
colorama>=0.4.1
typeguard>=2.12.1
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ python_requires = >= 3.7
# setup_requires =
# cucim
install_requires =
numpy>=1.17
numpy>=1.21 # CVE-2021-33430
networkx>=2.4
colorama>=0.4.1
typeguard>=2.12.1
Expand Down