From 5f6cb2d92534a0f4f86d485f63c1ff37a6b464cf Mon Sep 17 00:00:00 2001 From: Wenqi Li <831580+wyli@users.noreply.github.com> Date: Thu, 15 Dec 2022 14:07:36 +0000 Subject: [PATCH] adds release note v1.1 (#5693) Signed-off-by: Wenqi Li part of #5626 changelog updates ### Types of changes - [x] Non-breaking change (fix or new feature that would not break existing functionality). - [ ] Breaking change (fix or new feature that would cause existing functionality to change). - [ ] New tests added to cover the changes. - [ ] Integration tests passed locally by running `./runtests.sh -f -u --net --coverage`. - [ ] Quick tests passed locally by running `./runtests.sh --quick --unittests --disttests`. - [ ] In-line docstrings updated. - [ ] Documentation updated, tested `make html` command in the `docs/` folder. Signed-off-by: Wenqi Li Signed-off-by: monai-bot Co-authored-by: monai-bot --- CHANGELOG.md | 66 ++++++++++++++++++++++++++++++++- README.md | 2 +- tests/test_convert_data_type.py | 16 +++++++- 3 files changed, 80 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index abc8f703d7..bec0fdb818 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,69 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## [Unreleased] +## [1.1.0] - 2022-12-19 +### Added +* Hover-Net based digital pathology workflows including new network, loss, postprocessing, metric, training, and inference modules +* Various enhancements for Auto3dSeg `AutoRunner` including template caching, selection, and a dry-run mode `nni_dry_run` +* Various enhancements for Auto3dSeg algo templates including new state-of-the-art configurations, optimized GPU memory utilization +* New bundle API and configurations to support experiment management including `MLFlowHandler` +* New `bundle.script` API to support model zoo query and download +* `LossMetric` metric to compute loss as cumulative metric measurement +* Transforms and base transform APIs including `RandomizableTrait` and `MedianSmooth` +* `runtime_cache` option for `CacheDataset` and the derived classes to allow for shared caching on the fly +* Flexible name formatter for `SaveImage` transform +* `pending_operations` MetaTensor property and basic APIs for lazy image resampling +* Contrastive sensitivity for SSIM metric +* Extensible backbones for `FlexibleUNet` +* Generalize `SobelGradients` to 3D and any spatial axes +* `warmup_multiplier` option for `WarmupCosineSchedule` +* F beta score metric based on confusion matrix metric +* Support of key overwriting in `Lambdad` +* Basic premerge tests for Python 3.11 +* Unit and integration tests for CUDA 11.6, 11.7 and A100 GPU +* `DataAnalyzer` handles minor image-label shape inconsistencies +### Fixed +* Review and enhance previously untyped APIs with additional type annotations and casts +* `switch_endianness` in LoadImage now supports tensor input +* Reduced memory footprint for various Auto3dSeg tests +* Issue of `@` in `monai.bundle.ReferenceResolver` +* Compatibility issue with ITK-Python 5.3 (converting `itkMatrixF44` for default collate) +* Inconsistent of sform and qform when using different backends for `SaveImage` +* `MetaTensor.shape` call now returns a `torch.Size` instead of tuple +* Issue of channel reduction in `GeneralizedDiceLoss` +* Issue of background handling before softmax in `DiceFocalLoss` +* Numerical issue of `LocalNormalizedCrossCorrelationLoss` +* Issue of incompatible view size in `ConfusionMatrixMetric` +* `NetAdapter` compatibility with Torchscript +* Issue of `extract_levels` in `RegUNet` +* Optional `bias_downsample` in `ResNet` +* `dtype` overflow for `ShiftIntensity` transform +* Randomized transforms such as `RandCuCIM` now inherit `RandomizableTrait` +* `fg_indices.size` compatibility issue in `generate_pos_neg_label_crop_centers` +* Issue when inverting `ToTensor` +* Issue of capital letters in filename suffixes check in `LoadImage` +* Minor tensor compatibility issues in `apps.nuclick.transforms` +* Issue of float16 in `verify_net_in_out` +* `std` variable type issue for `RandRicianNoise` +* `DataAnalyzer` accepts `None` as label key and checks empty labels +* `iter_patch_position` now has a smaller memory footprint +* `CumulativeAverage` has been refactored and enhanced to allow for simple tracking of metric running stats. +* Multi-threading issue for `MLFlowHandler` +### Changed +* Printing a MetaTensor now generates a less verbose representation +* `DistributedSampler` raises a ValueError if there are too few devices +* OpenCV and `VideoDataset` modules are loaded lazily to avoid dependency issues +* `device` in `monai.engines.Workflow` supports string values +* `Activations` and `AsDiscrete` take `kwargs` as additional arguments +* `DataAnalyzer` is now more efficient and writes summary stats before detailed all case stats +* Base Docker image upgraded to `nvcr.io/nvidia/pytorch:22.10-py3` from `nvcr.io/nvidia/pytorch:22.09-py3` +* Simplified Conda environment file `environment-dev.yml` +* Versioneer dependency upgraded to `0.23` from `0.19` +### Deprecated +* `NibabelReader` input argument `dtype` is deprecated, the reader will use the original dtype of the image +### Removed +* Support for PyTorch 1.7 + ## [1.0.1] - 2022-10-24 ### Fixes * DiceCELoss for multichannel targets @@ -643,7 +706,8 @@ the postprocessing steps should be used before calling the metrics methods [highlights]: https://github.com/Project-MONAI/MONAI/blob/master/docs/source/highlights.md -[Unreleased]: https://github.com/Project-MONAI/MONAI/compare/1.0.1...HEAD +[Unreleased]: https://github.com/Project-MONAI/MONAI/compare/1.1.0...HEAD +[1.1.0]: https://github.com/Project-MONAI/MONAI/compare/1.0.1...1.1.0 [1.0.1]: https://github.com/Project-MONAI/MONAI/compare/1.0.0...1.0.1 [1.0.0]: https://github.com/Project-MONAI/MONAI/compare/0.9.1...1.0.0 [0.9.1]: https://github.com/Project-MONAI/MONAI/compare/0.9.0...0.9.1 diff --git a/README.md b/README.md index dd72cc6c18..c3fd93f522 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ [![License](https://img.shields.io/badge/license-Apache%202.0-green.svg)](https://opensource.org/licenses/Apache-2.0) [![CI Build](https://github.com/Project-MONAI/MONAI/workflows/build/badge.svg?branch=dev)](https://github.com/Project-MONAI/MONAI/commits/dev) [![Documentation Status](https://readthedocs.org/projects/monai/badge/?version=latest)](https://docs.monai.io/en/latest/?badge=latest) -[![codecov](https://codecov.io/gh/Project-MONAI/MONAI/branch/dev/graph/badge.svg)](https://codecov.io/gh/Project-MONAI/MONAI) +[![codecov](https://codecov.io/gh/Project-MONAI/MONAI/branch/dev/graph/badge.svg?token=6FTC7U1JJ4)](https://codecov.io/gh/Project-MONAI/MONAI) [![PyPI version](https://badge.fury.io/py/monai.svg)](https://badge.fury.io/py/monai) [![conda](https://img.shields.io/conda/vn/conda-forge/monai)](https://anaconda.org/conda-forge/monai) diff --git a/tests/test_convert_data_type.py b/tests/test_convert_data_type.py index aff4b7d995..139d2e3f87 100644 --- a/tests/test_convert_data_type.py +++ b/tests/test_convert_data_type.py @@ -31,7 +31,13 @@ for in_type in TEST_NDARRAYS_ALL + (int, float): for out_type in TEST_NDARRAYS_ALL: TESTS_LIST.append( - ([in_type(np.array(1.0)), in_type(np.array(1.0))], out_type(np.array([1.0, 1.0])), True, None, False) # type: ignore + ( + [in_type(np.array(1.0)), in_type(np.array(1.0))], # type: ignore + out_type(np.array([1.0, 1.0])), + True, + None, + False, + ) ) TESTS_LIST.append( ( @@ -44,7 +50,13 @@ ) if in_type is not float: TESTS_LIST.append( - ([in_type(np.array(257)), in_type(np.array(1))], out_type(np.array([255, 1])), True, np.uint8, True) # type: ignore + ( + [in_type(np.array(257)), in_type(np.array(1))], # type: ignore + out_type(np.array([255, 1])), + True, + np.uint8, + True, + ) ) TESTS_LIST.append( (