Skip to content

Commit a2ec375

Browse files
committed
Merge remote-tracking branch 'upstream/dev' into releasing/1.1
Signed-off-by: Wenqi Li <[email protected]>
2 parents d865264 + b159ce7 commit a2ec375

22 files changed

+343
-89
lines changed

Diff for: .github/workflows/cron-mmar.yml renamed to .github/workflows/cron-ngc-bundle.yml

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
# daily tests for clara mmar models
2-
name: cron-mmar
1+
# daily tests for ngc bundles
2+
name: cron-ngc-bundle
33

44
on:
5-
# schedule:
6-
# - cron: "0 2 * * *" # at 02:00 UTC
5+
schedule:
6+
- cron: "0 2 * * *" # at 02:00 UTC
77
# Allows you to run this workflow manually from the Actions tab
88
workflow_dispatch:
99

1010
concurrency:
1111
# automatically cancel the previously triggered workflows when there's a newer version
12-
group: mmar-tests-${{ github.event.pull_request.number || github.ref }}
12+
group: bundle-tests-${{ github.event.pull_request.number || github.ref }}
1313
cancel-in-progress: true
1414

1515
jobs:
@@ -33,12 +33,12 @@ jobs:
3333
key: ${{ runner.os }}-pip-${{ steps.pip-cache.outputs.datew }}
3434
- name: Install dependencies
3535
run: |
36-
rm -rf /github/home/.cache/torch/hub/mmars/
36+
rm -rf /github/home/.cache/torch/hub/bundle/
3737
python -m pip install --upgrade pip wheel
3838
python -m pip install -r requirements-dev.txt
39-
- name: Loading MMARs
39+
- name: Loading Bundles
4040
run: |
4141
# clean up temporary files
4242
$(pwd)/runtests.sh --build --clean
4343
# run tests
44-
python -m tests.ngc_mmar_loading
44+
python -m tests.ngc_bundle_download

Diff for: .github/workflows/pythonapp-gpu.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
pytorch: "-h" # we explicitly set pytorch to -h to avoid pip install error
4545
base: "nvcr.io/nvidia/pytorch:22.09-py3"
4646
- environment: PT113+CUDA116
47-
pytorch: "torch==1.13.0 torchvision==0.14.0"
47+
pytorch: "torch==1.13.1 torchvision==0.14.1"
4848
base: "nvcr.io/nvidia/cuda:11.6.1-devel-ubuntu18.04"
4949
container:
5050
image: ${{ matrix.base }}

Diff for: .github/workflows/pythonapp-min.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,11 @@ jobs:
5252
- if: runner.os == 'windows'
5353
name: Install torch cpu from pytorch.org (Windows only)
5454
run: |
55-
python -m pip install torch==1.13+cpu -f https://download.pytorch.org/whl/torch_stable.html
55+
python -m pip install torch==1.13.1+cpu -f https://download.pytorch.org/whl/torch_stable.html
5656
- name: Install the dependencies
5757
run: |
5858
# min. requirements
59-
python -m pip install torch==1.13
59+
python -m pip install torch==1.13.1
6060
python -m pip install -r requirements-min.txt
6161
python -m pip list
6262
BUILD_MONAI=0 python setup.py develop # no compile of extensions

Diff for: .github/workflows/pythonapp.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -88,14 +88,14 @@ jobs:
8888
- if: runner.os == 'windows'
8989
name: Install torch cpu from pytorch.org (Windows only)
9090
run: |
91-
python -m pip install torch==1.13.0+cpu torchvision==0.14.0+cpu -f https://download.pytorch.org/whl/torch_stable.html
91+
python -m pip install torch==1.13.1+cpu torchvision==0.14.1+cpu -f https://download.pytorch.org/whl/torch_stable.html
9292
- if: runner.os == 'Linux'
9393
name: Install itk pre-release (Linux only)
9494
run: |
9595
python -m pip install --pre -U itk
9696
- name: Install the dependencies
9797
run: |
98-
python -m pip install torch==1.13.0 torchvision==0.14.0
98+
python -m pip install torch==1.13.1 torchvision==0.14.1
9999
cat "requirements-dev.txt"
100100
python -m pip install -r requirements-dev.txt
101101
python -m pip list

Diff for: .github/workflows/setupapp.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ jobs:
100100
- name: Install the dependencies
101101
run: |
102102
python -m pip install --upgrade pip wheel
103-
python -m pip install torch==1.13.0 torchvision==0.14.0
103+
python -m pip install torch==1.13.1 torchvision==0.14.1
104104
python -m pip install -r requirements-dev.txt
105105
- name: Run quick tests CPU ubuntu
106106
run: |

Diff for: CITATION.cff

-2
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,6 @@ preferred-citation:
4848
family-names: "Xu"
4949
- given-names: "Ali"
5050
family-names: "Hatamizadeh"
51-
- given-names: "Andriy"
52-
family-names: "Myronenko"
5351
- given-names: "Wentao"
5452
family-names: "Zhu"
5553
- given-names: "Yun"

Diff for: README.md

+9-4
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,17 @@
44

55
**M**edical **O**pen **N**etwork for **AI**
66

7+
![Supported Python versions](https://raw.githubusercontent.com/Project-MONAI/MONAI/dev/docs/images/python.svg)
78
[![License](https://img.shields.io/badge/license-Apache%202.0-green.svg)](https://opensource.org/licenses/Apache-2.0)
8-
[![CI Build](https://github.com/Project-MONAI/MONAI/workflows/build/badge.svg?branch=dev)](https://github.com/Project-MONAI/MONAI/commits/dev)
9-
[![Documentation Status](https://readthedocs.org/projects/monai/badge/?version=latest)](https://docs.monai.io/en/latest/?badge=latest)
10-
[![codecov](https://codecov.io/gh/Project-MONAI/MONAI/branch/dev/graph/badge.svg?token=6FTC7U1JJ4)](https://codecov.io/gh/Project-MONAI/MONAI)
119
[![PyPI version](https://badge.fury.io/py/monai.svg)](https://badge.fury.io/py/monai)
12-
[![conda](https://img.shields.io/conda/vn/conda-forge/monai)](https://anaconda.org/conda-forge/monai)
10+
[![docker](https://img.shields.io/badge/docker-pull-green.svg?logo=docker&logoColor=white)](https://hub.docker.com/r/projectmonai/monai)
11+
[![conda](https://img.shields.io/conda/vn/conda-forge/monai?color=green)](https://anaconda.org/conda-forge/monai)
12+
13+
[![premerge](https://github.com/Project-MONAI/MONAI/actions/workflows/pythonapp.yml/badge.svg?branch=dev)](https://github.com/Project-MONAI/MONAI/actions/workflows/pythonapp.yml)
14+
[![postmerge](https://img.shields.io/github/checks-status/project-monai/monai/dev?label=postmerge)](https://github.com/Project-MONAI/MONAI/actions?query=branch%3Adev)
15+
[![docker](https://github.com/Project-MONAI/MONAI/actions/workflows/docker.yml/badge.svg?branch=dev)](https://github.com/Project-MONAI/MONAI/actions/workflows/docker.yml)
16+
[![Documentation Status](https://readthedocs.org/projects/monai/badge/?version=latest)](https://docs.monai.io/en/latest/)
17+
[![codecov](https://codecov.io/gh/Project-MONAI/MONAI/branch/dev/graph/badge.svg?token=6FTC7U1JJ4)](https://codecov.io/gh/Project-MONAI/MONAI)
1318

1419
MONAI is a [PyTorch](https://pytorch.org/)-based, [open-source](https://github.com/Project-MONAI/MONAI/blob/dev/LICENSE) framework for deep learning in healthcare imaging, part of [PyTorch Ecosystem](https://pytorch.org/ecosystem/).
1520
Its ambitions are:

Diff for: docs/images/exp_mgmt.png

40 KB
Loading

Diff for: docs/images/hovernet_diagram.png

53.8 KB
Loading

Diff for: docs/images/python.svg

+1
Loading

Diff for: docs/source/whatsnew.rst

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ What's New
66
.. toctree::
77
:maxdepth: 1
88

9+
whatsnew_1_1.md
910
whatsnew_1_0.md
1011
whatsnew_0_9.md
1112
whatsnew_0_8.md

Diff for: docs/source/whatsnew_1_0.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# What's new in 1.0 🎉🎉
1+
# What's new in 1.0
22

33
- Model Zoo
44
- Auto3DSeg

Diff for: docs/source/whatsnew_1_1.md

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# What's new in 1.1 🎉🎉
2+
3+
- Digital pathology workflows
4+
- Experiment management for MONAI bundle
5+
- Auto3dSeg enhancements
6+
- New models in MONAI Model Zoo
7+
- State-of-the-art SurgToolLoc solution
8+
9+
## Digital pathology workflows
10+
11+
![hovernet](../images/hovernet_diagram.png)
12+
13+
Hover-Net is a model for simultaneous segmentation and classification of nuclei in multi-tissue histology images (Graham et al. Medical Image Analysis, 2019).
14+
We have added support for this model in MONAI by implementing several new components, enhancing existing ones and providing pipelines and examples for training, validation and inference.
15+
16+
Along with the modules release, new digital pathology analysis tutorials are made available:
17+
18+
- [HoVerNet pipelines](https://github.com/Project-MONAI/tutorials/tree/main/pathology/hovernet) based on MONAI workflows for training, validation and inference
19+
- [HoVerNet tutorial](https://github.com/Project-MONAI/tutorials/blob/main/pathology/hovernet/hovernet_torch.ipynb) for training, validation and inference
20+
- NuClick (Interactive Annotation for Pathology) tutorials for [training](https://github.com/Project-MONAI/tutorials/blob/main/pathology/nuclick/nuclick_training_notebook.ipynb)
21+
and [inference](https://github.com/Project-MONAI/tutorials/blob/main/pathology/nuclick/nuclick_infer.ipynb)
22+
- Nuclei classification tutorials for [training](https://github.com/Project-MONAI/tutorials/blob/main/pathology/nuclick/nuclei_classification_training_notebook.ipynb)
23+
and [inference](https://github.com/Project-MONAI/tutorials/blob/main/pathology/nuclick/nuclei_classification_infer.ipynb)
24+
25+
## Experiment management for MONAI bundle
26+
27+
![exp_mgmt](../images/exp_mgmt.png)
28+
29+
In this release, experiment management features are integrated with MONAI bundle.
30+
It provides essential APIs for managing the end-to-end model bundle lifecycle.
31+
Users can start tracking experiments by, for example, appending `--tracking "mlflow"` to the training or inference commands to enable the MLFlow-based management.
32+
By default, MLFlow will track the executed bundle config, model quality measurements, and source code versioning.
33+
For more details, please refer to the [tutorial](https://github.com/Project-MONAI/tutorials/blob/main/experiment_management/bundle_integrate_mlflow.ipynb).
34+
35+
## Auto3dSeg enhancements
36+
37+
Multiple improvements have been added in `Auto3DSeg` both in terms of
38+
usability and performance.
39+
- Multi-modality support is added and applied for
40+
automated segmentation of the HECKTOR22 challenge dataset, which includes input 3D
41+
CT and PET images of various resolutions and sizes. A tutorial example of
42+
running Auto3DSeg on the HECKTOR22 challenge dataset is available in MONAI
43+
Tutorials. The tutorial is based on [the HECKTOR22 challenge 1st place solution](https://arxiv.org/abs/2209.10809).
44+
- A new improved version of `Segresnet` Algo is now available in `AutoRunner`.
45+
In this version, data caching is more efficient and the preprocessing transforms are more flexible.
46+
The workflow progresses including the timings of steps are written to console output as well as a YAML file.
47+
- Automatic customization and optimization of the model training configuration
48+
can be achieved according to the GPU devices used. The feature
49+
focuses on determining parameters including batch size of model
50+
training and sliding-window inference, allocated devices for
51+
data in sliding-window inference. For more details about how to enable it, please see [the tutorials](https://github.com/Project-MONAI/tutorials/tree/main/auto3dseg).
52+
53+
## New models in MONAI Model Zoo
54+
55+
New pretrained models are being created and released [in the Model Zoo](https://monai.io/model-zoo.html).
56+
Notably,
57+
58+
- The `mednist_reg` model demonstrates how to build image registration workflows in MONAI bundle
59+
format. The model uses a ResNet and spatial transformer for hand X-ray image registration based on
60+
[the registration_mednist tutorial](https://github.com/Project-MONAI/tutorials/blob/main/2d_registration/registration_mednist.ipynb),
61+
- `pathology_nuclei_segmentation_and_classification`,
62+
`pathology_nuclick_annotation`, and `pathology_nuclei_classification` bundles
63+
are built for [digital pathology image
64+
analysis](https://github.com/Project-MONAI/model-zoo/tree/dev/models/pathology_nuclei_segmentation_classification).
65+
66+
For more details about how to use the models, please see [the tutorials](https://github.com/Project-MONAI/tutorials/tree/main/model_zoo).
67+
68+
## State-of-the-art SurgToolLoc solution
69+
70+
[SurgToolLoc](https://surgtoolloc.grand-challenge.org/Home/) is a part of the
71+
[EndoVis](https://endovis.grand-challenge.org/) challenge at [MICCAI 2022](https://conferences.miccai.org/2022/en/).
72+
The challenge focuses on endoscopic video analysis and is divided into (1) fully supervised tool classification
73+
and (2) weakly supervised tool classification/localization.
74+
Team NVIDIA won prizes by finishing [third](https://surgtoolloc.grand-challenge.org/results/) in both categories.
75+
The core components of the solutions [are released in MONAI](https://github.com/Project-MONAI/tutorials/tree/main/competitions/MICCAI/surgtoolloc).

Diff for: monai/apps/auto3dseg/bundle_gen.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
from monai.utils import ensure_tuple
3333

3434
logger = get_logger(module_name=__name__)
35-
ALGO_HASH = os.environ.get("MONAI_ALGO_HASH", "c812e5f")
35+
ALGO_HASH = os.environ.get("MONAI_ALGO_HASH", "1dde7a1")
3636

3737
__all__ = ["BundleAlgo", "BundleGen"]
3838

0 commit comments

Comments
 (0)