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
66 changes: 65 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
16 changes: 14 additions & 2 deletions tests/test_convert_data_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -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(
(
Expand All @@ -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(
(
Expand Down