Skip to content

Commit 8f356a4

Browse files
KumoLiuwyli
andauthored
7017 update changelog for v1.3 (#7048)
Part of #7017 ### Description - update changelog - fixes documentation typos ### Types of changes <!--- Put an `x` in all the boxes that apply, and remove the not applicable items --> - [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: KumoLiu <yunl@nvidia.com> Signed-off-by: Wenqi Li <wenqil@nvidia.com> Co-authored-by: Wenqi Li <831580+wyli@users.noreply.github.com> Co-authored-by: Wenqi Li <wenqil@nvidia.com>
1 parent f140e06 commit 8f356a4

7 files changed

Lines changed: 129 additions & 10 deletions

File tree

.github/workflows/setupapp.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ jobs:
106106
run: |
107107
python -m pip list
108108
python -c 'import torch; print(torch.__version__); print(torch.rand(5,3))'
109-
BUILD_MONAI=0 ./runtests.sh --build --quick --unittests --disttests
109+
BUILD_MONAI=0 ./runtests.sh --build --quick --unittests
110110
BUILD_MONAI=1 ./runtests.sh --build --quick --min
111111
coverage xml --ignore-errors
112112
- name: Upload coverage

CHANGELOG.md

Lines changed: 120 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,124 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
55

66
## [Unreleased]
77

8+
## [1.3.0] - 2023-10-06
9+
### Added
10+
* Intensity transforms `ScaleIntensityFixedMean` and `RandScaleIntensityFixedMean` (#6542)
11+
* `UltrasoundConfidenceMapTransform` used for computing confidence map from an ultrasound image (#6709)
12+
* `channel_wise` support in `RandScaleIntensity` and `RandShiftIntensity` (#6793, #7025)
13+
* `RandSimulateLowResolution` and `RandSimulateLowResolutiond` (#6806)
14+
* `SignalFillEmptyd` (#7011)
15+
* Euclidean distance transform `DistanceTransformEDT` with GPU support (#6981)
16+
* Port loss and metrics from `monai-generative` (#6729, #6836)
17+
* Support `invert_image` and `retain_stats` in `AdjustContrast` and `RandAdjustContrast` (#6542)
18+
* New network `DAF3D` and `Quicknat` (#6306)
19+
* Support `sincos` position embedding (#6986)
20+
* `ZarrAvgMerger` used for patch inference (#6633)
21+
* Dataset tracking support to `MLFlowHandler` (#6616)
22+
* Considering spacing and subvoxel borders in `SurfaceDiceMetric` (#6681)
23+
* CUCIM support for surface-related metrics (#7008)
24+
* `loss_fn` support in `IgniteMetric` and renamed it to `IgniteMetricHandler` (#6695)
25+
* `CallableEventWithFilter` and `Events` options for `trigger_event` in `GarbageCollector` (#6663)
26+
* Support random sorting option to `GridPatch`, `RandGridPatch`, `GridPatchd` and `RandGridPatchd` (#6701)
27+
* Support multi-threaded batch sampling in `PatchInferer` (#6139)
28+
* `SoftclDiceLoss` and `SoftDiceclDiceLoss` (#6763)
29+
* `HausdorffDTLoss` and `LogHausdorffDTLoss` (#6994)
30+
* Documentation for `TensorFloat-32` (#6770)
31+
* Docstring format guide (#6780)
32+
* `GDSDataset` support for GDS (#6778)
33+
* PyTorch backend support for `MapLabelValue` (#6872)
34+
* `filter_func` in `copy_model_state` to filter the weights to be loaded and `filter_swinunetr` (#6917)
35+
* `stats_sender` to `MonaiAlgo` for FL stats (#6984)
36+
* `freeze_layers` to help freeze specific layers (#6970)
37+
#### misc.
38+
* Refactor multi-node running command used in `Auto3DSeg` into dedicated functions (#6623)
39+
* Support str type annotation to `device` in `ToTensorD` (#6737)
40+
* Improve logging message and file name extenstion in `DataAnalyzer` for `Auto3DSeg` (#6758)
41+
* Set `data_range` as a property in `SSIMLoss` (#6788)
42+
* `end_lr` support in `WarmupCosineSchedule` (#6662)
43+
* Add `ClearML` as optional dependency (#6827)
44+
* `yandex.disk` support in `download_url` (#6667)
45+
* Improve config expression error message (#6977)
46+
### Fixed
47+
#### transforms
48+
* Make `convert_box_to_mask` throw errors when box size larger than the image (#6637)
49+
* Fix lazy mode in `RandAffine` (#6774)
50+
* Raise `ValueError` when `map_items` is bool in `Compose` (#6882)
51+
* Improve performance for `NormalizeIntensity` (#6887)
52+
* Fix mismatched shape in `Spacing` (#6912)
53+
* Avoid FutureWarning in `CropForeground` (#6934)
54+
* Fix `Lazy=True` ignored when using `Dataset` call (#6975)
55+
#### data
56+
* Fix wrong spacing checking logic in `PydicomReader` and broken link in `ITKReader` (#6660)
57+
* Fix boolean indexing of batched `MetaTensor` (#6781)
58+
* Raise warning when multiprocessing in `DataLoader` (#6830)
59+
* Remove `shuffle` in `DistributedWeightedRandomSampler` (#6886)
60+
* Fix missing `SegmentDescription` in `PydicomReader` (#6937)
61+
* Fix reading dicom series error in `ITKReader` (#6943)
62+
* Fix KeyError in `PydicomReader` (#6946)
63+
* Update `metatensor_to_itk_image` to accept RAS `MetaTensor` and update default 'space' in `NrrdReader` to `SpaceKeys.LPS` (#7000)
64+
* Collate common meta dictionary keys (#7054)
65+
#### metrics and losses
66+
* Fixed bug in `GeneralizedDiceLoss` when `batch=True` (#6775)
67+
* Support for `BCEWithLogitsLoss` in `DiceCELoss` (#6924)
68+
#### networks
69+
* Use `np.prod` instead of `np.product` (#6639)
70+
* Fix dimension issue in `MBConvBlock` (#6672)
71+
* Fix hard-coded `up_kernel_size` in `ViTAutoEnc` (#6735)
72+
* Remove hard-coded `bias_downsample` in `resnet` (#6848)
73+
* Fix unused `kernel_size` in `ResBlock` (#6999)
74+
* Allow for defining reference grid on non-integer coordinates (#7032)
75+
* Padding option for autoencoder (#7068)
76+
* Lower peak memory usage for SegResNetDS (#7066)
77+
#### bundle
78+
* Set `train_dataset_data` and `dataset_data` to unrequired in BundleProperty (#6607)
79+
* Set `None` to properties that do not have `REF_ID` (#6607)
80+
* Fix `AttributeError` for default value in `get_parsed_content` for `ConfigParser` (#6756)
81+
* Update `monai.bundle.scripts` to support NGC hosting (#6828, #6997)
82+
* Add `MetaProperties` (#6835)
83+
* Add `create_workflow` and update `load` function (#6835)
84+
* Add bundle root directory to Python search directories automatically (#6910)
85+
* Generate properties for bundle docs automatically (#6918)
86+
* Move `download_large_files` from model zoo to core (#6958)
87+
* Bundle syntax `#` as alias of `::` (#6955)
88+
* Fix bundle download naming issue (#6969, #6963)
89+
* Simplify the usage of `ckpt_export` (#6965)
90+
#### engines and handlers
91+
* Added int options for `iteration_log` and `epoch_log` in `TensorBoardStatsHandler` (#7027)
92+
#### misc.
93+
* Fix device fallback error in `DataAnalyzer` (#6658)
94+
* Add int check for `current_mode` in `convert_applied_interp_mode` (#6719)
95+
* Consistent type in `convert_to_contiguous` (#6849)
96+
* Label `argmax` in `DataAnalyzer` when retry on CPU (#6852)
97+
* Fix `DataAnalyzer` with `histogram_only=True` (#6874)
98+
* Fix `AttributeError` in `RankFilter` in single GPU environment (#6895)
99+
* Remove the default warning on `TORCH_ALLOW_TF32_CUBLAS_OVERRIDE` and add debug print info (#6909)
100+
* Hide user information in `print_config` (#6913, #6922)
101+
* Optionally pass coordinates to predictor during sliding window (#6795)
102+
* Proper ensembling when trained with a sigmoid in `AutoRunner` (#6588)
103+
* Fixed `test_retinanet` by increasing absolute differences (#6615)
104+
* Add type check to avoid comparing a np.array with a string in `_check_kwargs_are_present` (#6624)
105+
* Fix md5 hashing with FIPS mode (#6635)
106+
* Capture failures from Auto3DSeg related subprocess calls (#6596)
107+
### Changed
108+
* Base Docker image upgraded to `nvcr.io/nvidia/pytorch:23.08-py3` from `nvcr.io/nvidia/pytorch:23.03-py3`
109+
### Deprecated
110+
* `allow_smaller=True`; `allow_smaller=False` will be the new default in `CropForeground` and `generate_spatial_bounding_box` (#6736)
111+
* `dropout_prob` in `VNet` in favor of `dropout_prob_down` and `dropout_prob_up` (#6768)
112+
* `workflow` in `BundleWorkflow` in favor of `workflow_type`(#6768)
113+
* `pos_embed` in `PatchEmbeddingBlock` in favor of `proj_type`(#6986)
114+
* `net_name` and `net_kwargs` in `download` in favor of `model`(#7016)
115+
### Removed
116+
* `pad_val`, `stride`, `per_channel` and `upsampler` in `OcclusionSensitivity` (#6642)
117+
* `compute_meaniou` (#7019)
118+
* `AsChannelFirst`, `AddChannel`and `SplitChannel` (#7019)
119+
* `create_multigpu_supervised_trainer` and `create_multigpu_supervised_evaluator` (#7019)
120+
* `runner_id` in `run` (#7019)
121+
* `data_src_cfg_filename` in `AlgoEnsembleBuilder` (#7019)
122+
* `get_validation_stats` in `Evaluator` and `get_train_stats` in `Trainer` (#7019)
123+
* `epoch_interval` and `iteration_interval` in `TensorBoardStatsHandler` (#7019)
124+
* some self-hosted test (#7041)
125+
8126
## [1.2.0] - 2023-06-08
9127
### Added
10128
* Various Auto3DSeg enhancements and integration tests including multi-node multi-GPU optimization, major usability improvements
@@ -817,7 +935,8 @@ the postprocessing steps should be used before calling the metrics methods
817935

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

820-
[Unreleased]: https://github.com/Project-MONAI/MONAI/compare/1.2.0...HEAD
938+
[Unreleased]: https://github.com/Project-MONAI/MONAI/compare/1.3.0...HEAD
939+
[1.3.0]: https://github.com/Project-MONAI/MONAI/compare/1.2.0...1.3.0
821940
[1.2.0]: https://github.com/Project-MONAI/MONAI/compare/1.1.0...1.2.0
822941
[1.1.0]: https://github.com/Project-MONAI/MONAI/compare/1.0.1...1.1.0
823942
[1.0.1]: https://github.com/Project-MONAI/MONAI/compare/1.0.0...1.0.1

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ Utilizing [the MONAI Bundle format](https://docs.monai.io/en/latest/bundle_intro
6363
For guidance on making a contribution to MONAI, see the [contributing guidelines](https://github.com/Project-MONAI/MONAI/blob/dev/CONTRIBUTING.md).
6464

6565
## Community
66-
Join the conversation on Twitter [@ProjectMONAI](https://twitter.com/ProjectMONAI) or join our [Slack channel](https://forms.gle/QTxJq3hFictp31UM9).
66+
Join the conversation on Twitter/X [@ProjectMONAI](https://twitter.com/ProjectMONAI) or join our [Slack channel](https://forms.gle/QTxJq3hFictp31UM9).
6767

6868
Ask and answer questions over on [MONAI's GitHub Discussions tab](https://github.com/Project-MONAI/MONAI/discussions).
6969

docs/source/whatsnew_1_3.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
- Integrating MONAI Generative into MONAI core
55

66

7-
# Bundle usability enhancements
7+
## Bundle usability enhancements
88

99
Based on the experience of building MONAI model zoo and the feedback from the community,
1010
MONAI 1.3 provides major enhancements in MONAI Bundle usability. These include:
@@ -16,7 +16,7 @@ MONAI 1.3 provides major enhancements in MONAI Bundle usability. These include:
1616
For more details please visit [the Bundle tutorials](https://github.com/Project-MONAI/tutorials/tree/main/bundle) and
1717
[the Model Zoo demos](https://github.com/Project-MONAI/tutorials/tree/main/model_zoo).
1818

19-
# Integrating MONAI Generative into MONAI Core
19+
## Integrating MONAI Generative into MONAI Core
2020

2121
Main modules developed at [MONAI GenerativeModels](https://github.com/Project-MONAI/GenerativeModels)
2222
are being ported into the core codebase, allowing for consistent maintenance and release of the key components for generative AI.

monai/metrics/hausdorff_distance.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,9 +230,9 @@ def compute_percent_hausdorff_distance(
230230
This function is used to compute the directed Hausdorff distance.
231231
"""
232232

233-
surface_distance: np.ndarray = get_surface_distance(
233+
surface_distance: np.ndarray = get_surface_distance( # type: ignore
234234
edges_pred, edges_gt, distance_metric=distance_metric, spacing=spacing
235-
) # type: ignore
235+
)
236236

237237
# for both pred and gt do not have foreground
238238
if surface_distance.shape == (0,):

monai/utils/jupyter_utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ def plot_engine_status(
163163
avg_keys: tuple[str] = (LOSS_NAME,),
164164
window_fraction: int = 20,
165165
image_fn: Callable[[str, torch.Tensor], Any] | None = tensor_to_images,
166-
fig: plt.Figure = None,
166+
fig: plt.Figure | None = None,
167167
selected_inst: int = 0,
168168
) -> tuple[plt.Figure, list]:
169169
"""
@@ -359,7 +359,7 @@ def status(self) -> str:
359359

360360
return ", ".join(msgs)
361361

362-
def plot_status(self, logger: Any, plot_func: Callable = plot_engine_status) -> plt.Figure:
362+
def plot_status(self, logger: Any, plot_func: Callable = plot_engine_status) -> plt.Figure | None:
363363
"""
364364
Generate a plot of the current status of the contained engine whose loss and metrics were tracked by `logger`.
365365
The function `plot_func` must accept arguments `title`, `engine`, `logger`, and `fig` which are the plot title,

requirements-dev.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ pynrrd
4646
pre-commit
4747
pydicom
4848
h5py
49-
nni
49+
nni; platform_system == "Linux"
5050
optuna
5151
git+https://github.com/Project-MONAI/MetricsReloaded@monai-support#egg=MetricsReloaded
5252
onnx>=1.13.0

0 commit comments

Comments
 (0)