Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
0bec313
[WIP] Support Deepgrow 2D/3D Training
SachidanandAlle Dec 8, 2020
4feb450
Remove sample train scripts from PR
SachidanandAlle Dec 8, 2020
67851f5
Adds an image to bounding box transform (#1326)
wyli Dec 8, 2020
dce81d5
Remove flake8 from requirements-dev.txt during public container image…
IsaacYangSLA Dec 8, 2020
85e7abe
fixes tutorial #82 (#1331)
wyli Dec 8, 2020
179c72e
1330 Refine generate_spatial_bounding_box API (#1336)
Nic-Ma Dec 9, 2020
34e2857
DynUNet Torchscript Support (#1334)
ericspod Dec 9, 2020
7aeb01e
fixes params groups (#1339)
wyli Dec 10, 2020
ee5d509
1338 Enhance save_final in CheckpointSaver handler (#1341)
Nic-Ma Dec 10, 2020
babe9ee
1337 profiling tools (#1343)
charliebudd Dec 10, 2020
a614a23
Hilbert transform simple layer and DetectEnvelope transform implement…
crnbaker Dec 10, 2020
31e0f8d
ci/cd with 1.7.1 (#1345)
wyli Dec 11, 2020
2b4db5b
1349 Align output data type with input in NormalizeIntensity (#1352)
Nic-Ma Dec 11, 2020
22ef301
fixes #1353 (#1354)
wyli Dec 11, 2020
9ebc3ff
Occ sens stride (#1356)
rijobro Dec 11, 2020
2a652fe
support both 2D and 3D transform for deepgrow
SachidanandAlle Dec 12, 2020
5dd1481
1318 Update highlights 0.4 (#1325)
Nic-Ma Dec 14, 2020
bff4d3a
Add ConvertToMultiChannelBasedOnBratsClassesd to handle BraTS18 datas…
IsaacYangSLA Dec 14, 2020
806024c
Add extreme points channel (#1361)
madil90 Dec 14, 2020
e83a69f
Clean up not required items
SachidanandAlle Dec 14, 2020
0bbf956
remove not-used args for dataset creation
SachidanandAlle Dec 14, 2020
42ebb84
Update hausdorff metric and surface distance (#1351)
yiheng-wang-nv Dec 14, 2020
c0a7ec1
Update changelog for 0.4.0 (#1355)
wyli Dec 14, 2020
10508a2
Fix randomness in AddExtremePointsChanneld transform (#1363)
YuanTingHsieh Dec 15, 2020
3c13dae
Update docs for GitHub Discussion tab (#1364)
rijobro Dec 15, 2020
ea6d4e3
1346-enhance-highresnet-acti-norm (#1365)
wyli Dec 15, 2020
8458cd5
update weekly preview (#1366)
wyli Dec 15, 2020
00db833
adding .venv directory to ignores for flake8 and isort (#1371)
charliebudd Dec 16, 2020
7401804
AE: check lens of stride and channel match (#1372)
rijobro Dec 16, 2020
7414dd3
adding modules to requirments-dev.txt that are needed to build the do…
charliebudd Dec 16, 2020
e7f491a
[DLMED] add missing import (#1376)
Nic-Ma Dec 17, 2020
4ae9521
adds jpeg (#1379)
wyli Dec 17, 2020
27d4885
[DLMED] add missing arg in GANTrainer (#1383)
Nic-Ma Dec 17, 2020
71e79e2
1198 efficient differentiable bilateral filter (#1375)
charliebudd Dec 18, 2020
80a3641
update contributing and normalis* -> normaliz* (#1388)
rijobro Dec 18, 2020
99d5262
Support deepgrow stats handler for detailed metrics + transforms for …
SachidanandAlle Dec 23, 2020
e0b32b5
Fix build
SachidanandAlle Dec 23, 2020
bda97fd
Fix coverage
SachidanandAlle Dec 23, 2020
cf66ac7
Fix optional import
SachidanandAlle Dec 23, 2020
8a5049a
Fix optional import
SachidanandAlle Dec 23, 2020
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
12 changes: 12 additions & 0 deletions .github/ISSUE_TEMPLATE/question.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
name: Question
about: Question relating to MONAI
title: ''
labels: ''
assignees: ''
---

**Please use MONAI's Discussions tab**
For questions relating to MONAI usage, please do not create an issue.

Instead, use [MONAI's GitHub Discussions tab](https://github.com/Project-MONAI/MONAI/discussions). This can be found next to Issues and Pull Requests along the top of our repository.
2 changes: 1 addition & 1 deletion .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
which python
python -m pip install --upgrade pip wheel
python -m pip uninstall -y torch torchvision
python -m pip install torch==1.7.0 torchvision==0.8.1
python -m pip install torch==1.7.1 torchvision==0.8.2
python -m pip install -r requirements-dev.txt
- name: Run integration tests
run: |
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/pythonapp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,13 +80,13 @@ jobs:
- if: runner.os == 'windows'
name: Install torch cpu from pytorch.org (Windows only)
run: |
python -m pip install torch==1.7.0+cpu torchvision==0.8.1+cpu -f https://download.pytorch.org/whl/torch_stable.html
python -m pip install torch==1.7.1+cpu torchvision==0.8.2+cpu -f https://download.pytorch.org/whl/torch_stable.html
# min. requirements for windows instances
python -c "f=open('requirements-dev.txt', 'r'); txt=f.readlines(); f.close(); print(txt); f=open('requirements-dev.txt', 'w'); f.writelines(txt[1:12]); f.close()"
- name: Install the dependencies
run: |
python -m pip install torch==1.7.0
python -m pip install torchvision==0.8.1
python -m pip install torch==1.7.1
python -m pip install torchvision==0.8.2
cat "requirements-dev.txt"
python -m pip install -r requirements-dev.txt
python -m pip list
Expand All @@ -108,7 +108,7 @@ jobs:
fail-fast: false
matrix:
os: [windows-latest, macOS-latest, ubuntu-latest]
timeout-minutes: 20
timeout-minutes: 40
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
Expand All @@ -134,11 +134,11 @@ jobs:
- if: runner.os == 'windows'
name: Install torch cpu from pytorch.org (Windows only)
run: |
python -m pip install torch==1.7.0+cpu -f https://download.pytorch.org/whl/torch_stable.html
python -m pip install torch==1.7.1+cpu -f https://download.pytorch.org/whl/torch_stable.html
- name: Install the dependencies
run: |
# min. requirements
python -m pip install torch==1.7.0
python -m pip install torch==1.7.1
python -m pip install -r requirements-min.txt
python -m pip list
BUILD_MONAI=0 python setup.py develop # no compile of extensions
Expand Down Expand Up @@ -173,7 +173,7 @@ jobs:
pytorch: "-h"
base: "nvcr.io/nvidia/pytorch:20.07-py3"
- environment: PT17+CUDA102
pytorch: "torch==1.7.0 torchvision==0.8.1"
pytorch: "torch==1.7.1 torchvision==0.8.2"
base: "nvcr.io/nvidia/cuda:10.2-devel-ubuntu18.04"
- environment: PT17+CUDA110
# we explicitly set pytorch to -h to avoid pip install error
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/setupapp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
which python
python -m pip install --upgrade pip wheel
python -m pip uninstall -y torch torchvision
python -m pip install torch==1.7.0 torchvision==0.8.1
python -m pip install torch==1.7.1 torchvision==0.8.2
python -m pip install -r requirements-dev.txt
- name: Run unit tests report coverage
run: |
Expand Down Expand Up @@ -82,7 +82,7 @@ jobs:
- name: Install the dependencies
run: |
python -m pip install --upgrade pip wheel
python -m pip install torch==1.7.0 torchvision==0.8.1
python -m pip install torch==1.7.1 torchvision==0.8.2
python -m pip install -r requirements-dev.txt
- name: Run quick tests CPU ubuntu
run: |
Expand Down Expand Up @@ -151,7 +151,8 @@ jobs:
run: |
docker build -t localhost:5000/local_monai:latest -f Dockerfile .
docker push localhost:5000/local_monai:latest
docker tag localhost:5000/local_monai:latest projectmonai/monai:latest
sed -i '/flake/d' requirements-dev.txt
docker build -t projectmonai/monai:latest -f Dockerfile .
docker login -u projectmonai -p ${{ secrets.DOCKER_PW }}
docker push projectmonai/monai:latest
docker logout
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/weekly-preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
git config user.email "monai.miccai2019@gmail.com"
git add setup.cfg monai/__init__.py
git commit -m "Weekly build at $HEAD_COMMIT_ID"
git tag 0.4.dev$(date +'%y%U')
git tag 0.5.dev$(date +'%y%U')
python setup.py sdist bdist_wheel

- name: Publish to PyPI
Expand Down
74 changes: 73 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,77 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [Unreleased]
## [0.4.0] - 2020-12-15
### Added
* Overview document for [feature highlights in v0.4.0](https://github.com/Project-MONAI/MONAI/blob/master/docs/source/highlights.md)
* Torchscript support for the net modules
* New networks and layers:
* Discrete Gaussian kernels
* Hilbert transform and envelope detection
* Swish and mish activation
* Acti-norm-dropout block
* Upsampling layer
* Autoencoder, Variational autoencoder
* FCNet
* Support of initialisation from pretrained weights for densenet, senet, multichannel AHNet
* Layer-wise learning rate API
* New model metrics and event handlers based on occlusion sensitivity, confusion matrix, surface distance
* CAM/GradCAM/GradCAM++
* File format-agnostic image loader APIs with Nibabel, ITK readers
* Enhancements for dataset partition, cross-validation APIs
* New data APIs:
* LMDB-based caching dataset
* Cache-N-transforms dataset
* Iterable dataset
* Patch dataset
* Weekly PyPI release
* Fully compatible with PyTorch 1.7
* CI/CD enhancements:
* Skipping, speed up, fail fast, timed, quick tests
* Distributed training tests
* Performance profiling utilities
* New tutorials and demos:
* Autoencoder, VAE tutorial
* Cross-validation demo
* Model interpretability tutorial
* COVID-19 Lung CT segmentation challenge open-source baseline
* Threadbuffer demo
* Dataset partitioning tutorial
* Layer-wise learning rate demo
* [MONAI Bootcamp 2020](https://github.com/Project-MONAI/MONAIBootcamp2020)

### Changed
* Base Docker image upgraded to `nvcr.io/nvidia/pytorch:20.10-py3` from `nvcr.io/nvidia/pytorch:20.08-py3`

#### Backwards Incompatible Changes
* `monai.apps.CVDecathlonDataset` is extended to a generic `monai.apps.CrossValidation` with an `dataset_cls` option
* Cache dataset now requires a `monai.transforms.Compose` instance as the transform argument
* Model checkpoint file name extensions changed from `.pth` to `.pt`
* Readers' `get_spatial_shape` returns a numpy array instead of list
* Decoupled postprocessing steps such as `sigmoid`, `to_onehot_y`, `mutually_exclusive`, `logit_thresh` from metrics and event handlers,
the postprocessing steps should be used before calling the metrics methods
* `ConfusionMatrixMetric` and `DiceMetric` computation now returns an additional `not_nans` flag to indicate valid results
* `UpSample` optional `mode` now supports `"deconv"`, `"nontrainable"`, `"pixelshuffle"`; `interp_mode` is only used when `mode` is `"nontrainable"`
* `SegResNet` optional `upsample_mode` now supports `"deconv"`, `"nontrainable"`, `"pixelshuffle"`
* `monai.transforms.Compose` class inherits `monai.transforms.Transform`
* In `Rotate`, `Rotated`, `RandRotate`, `RandRotated` transforms, the `angle` related parameters are interpreted as angles in radians instead of degrees.
* `SplitChannel` and `SplitChanneld` moved from `transforms.post` to `transforms.utility`

### Removed
* Support of PyTorch 1.4

### Fixed
* Enhanced loss functions for stability and flexibility
* Sliding window inference memory and device issues
* Revised transforms:
* Normalize intensity datatype and normalizer types
* Padding modes for zoom
* Crop returns coordinates
* Select items transform
* Weighted patch sampling
* Option to keep aspect ratio for zoom
* Various CI/CD issues

## [0.3.0] - 2020-10-02
### Added
* Overview document for [feature highlights in v0.3.0](https://github.com/Project-MONAI/MONAI/blob/master/docs/source/highlights.md)
Expand Down Expand Up @@ -102,7 +173,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

[highlights]: https://github.com/Project-MONAI/MONAI/blob/master/docs/source/highlights.md

[Unreleased]: https://github.com/Project-MONAI/MONAI/compare/0.3.0...HEAD
[Unreleased]: https://github.com/Project-MONAI/MONAI/compare/0.4.0...HEAD
[0.4.0]: https://github.com/Project-MONAI/MONAI/compare/0.3.0...0.4.0
[0.3.0]: https://github.com/Project-MONAI/MONAI/compare/0.2.0...0.3.0
[0.2.0]: https://github.com/Project-MONAI/MONAI/compare/0.1.0...0.2.0
[0.1.0]: https://github.com/Project-MONAI/MONAI/commits/0.1.0
2 changes: 2 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ _Pull request early_

We encourage you to create pull requests early. It helps us track the contributions under development, whether they are ready to be merged or not. Change your pull request's title to begin with `[WIP]` until it is ready for formal review.

Please note that, as per PyTorch, MONAI uses American English spelling. This means classes and variables should be: normali**z**e, visuali**z**e, colo~~u~~r, etc.

### Preparing pull requests
To ensure the code quality, MONAI relies on several linting tools ([flake8 and its plugins](https://gitlab.com/pycqa/flake8), [black](https://github.com/psf/black), [isort](https://github.com/timothycrosley/isort)),
static type analysis tools ([mypy](https://github.com/python/mypy), [pytype](https://github.com/google/pytype)), as well as a set of unit/integration tests.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ For guidance on making a contribution to MONAI, see the [contributing guidelines
## Community
Join the conversation on Twitter [@ProjectMONAI](https://twitter.com/ProjectMONAI) or join our [Slack channel](https://forms.gle/QTxJq3hFictp31UM9).

Ask and answer questions over on the [PyTorch Forums](https://discuss.pytorch.org/) or [StackOverflow](https://stackoverflow.com/tags/monai). Make sure to tag @monai.
Ask and answer questions over on [MONAI's GitHub Discussions tab](https://github.com/Project-MONAI/MONAI/discussions).

## Links
- Website: https://monai.io/
Expand Down
Binary file removed docs/images/arch_modules_v0.3.png
Binary file not shown.
Binary file added docs/images/arch_modules_v0.4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/cam.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 13 additions & 1 deletion docs/source/handlers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,24 @@ ROC AUC metrics handler
:members:


Confusion Matrix metrics handler
Confusion matrix metrics handler
--------------------------------
.. autoclass:: ConfusionMatrix
:members:


Hausdorff distance metrics handler
----------------------------------
.. autoclass:: HausdorffDistance
:members:


Surface distance metrics handler
--------------------------------
.. autoclass:: SurfaceDistance
:members:


Metric logger
-------------
.. autoclass:: MetricLogger
Expand Down
Loading