-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Release 1.6 Doc Updates #8882
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
ericspod
wants to merge
8
commits into
Project-MONAI:dev
Choose a base branch
from
ericspod:updates_for_1_6_release
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+126
−6
Open
Release 1.6 Doc Updates #8882
Changes from all commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
29a5713
Initial 1.6 doc changes
ericspod 84db9db
Merge branch 'dev' into updates_for_1_6_release
ericspod 6c95d43
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] e3ba917
Merge branch 'dev' into updates_for_1_6_release
ericspod b0d8216
Adding what's new and changelog contents
ericspod 7e1f3cc
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] 865b1df
Update docs/source/whatsnew_1_6.md
ericspod f22919e
Update docs/source/whatsnew_1_6.md
ericspod File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,5 @@ | ||
|
|
||
| # What's new in 1.5.2 🎉🎉 | ||
| # What's new in 1.5.2 | ||
|
|
||
| This is a minor update for MONAI to address a security concern. | ||
|
|
||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,57 @@ | ||
|
|
||
| # What's new in 1.6.0 🎉🎉 | ||
|
ericspod marked this conversation as resolved.
|
||
|
|
||
| - New losses: AUC-Margin Loss, Matthews Correlation Coefficient (MCC) Loss | ||
| * AUC-Margin Loss: `AUCMarginLoss` directly optimizes the AUROC metric via a margin-based surrogate loss, enabling training workflows that target ranking-based performance rather than calibration-based objectives. | ||
| * Matthews Correlation Coefficient (MCC) Loss: `MCCLoss` provides a differentiable loss based on the Matthews Correlation Coefficient, which accounts for all four confusion matrix categories and is particularly robust for imbalanced segmentation tasks. | ||
| - New metric: `EmbeddingCollapseMetric` detects representational collapse in learned embedding spaces, useful for self-supervised and contrastive learning workflows in medical imaging to monitor embedding quality during training. | ||
| - Whole Slide Image (WSI) reader now supports retrieval at a specified microns-per-pixel (MPP) resolution. This simplifies multi-scanner workflows where consistent physical-space resolution is required regardless of scanner magnification levels. | ||
| - Nested dot-notation key access in `ConfigParser`. | ||
| - Auto3DSeg algo serialization migrated from pickle to JSON for improved security and portability. | ||
| - Global coordinates support in spatial crop transforms. These now support global coordinate mode, allowing crops to be specified in world/global coordinates rather than local image indices, improving interoperability with physical-space annotations. | ||
| - `SoftclDiceLoss` and `SoftDiceclDiceLoss` enhanced with `DiceLoss`-compatible API | ||
| - Variable expansion hardening has been added to the nnUNet app to eliminate code injection attacks when composing shell command lines, addressing concerns in [GHSA-rghg-q7wp-9767](https://github.com/Project-MONAI/MONAI/security/advisories/GHSA-rghg-q7wp-9767). | ||
| - `NumpyReader` has been updated with an `allow_pickle` boolean argument to enable/disable pickle loading from `.npy/.npz` files. This was previously hard-coded to be enabled, but is now defined by this argument and disabled by default. This addresses [GHSA-qxq5-qhx6-94qw](https://github.com/Project-MONAI/MONAI/security/advisories/GHSA-qxq5-qhx6-94qw). | ||
|
|
||
|
|
||
| MONAI now tests for Python 3.10 onwards, having dropped version 3.9 which is now out of support. PyTorch 2.8 onwards is now supported only, older versions will likely continue to function. | ||
|
|
||
| ## Nested Dot-Notation Access in ConfigParser | ||
|
|
||
| `ConfigParser` now supports nested dot-notation key access, making it easier to read and override deeply nested configuration values programmatically. | ||
|
|
||
| For example, accessing a value from the parser with `parser["network_def.in_channels"]` can instead be `parser.network_def.in_channels`. This feature supports indexing and assignment, eg. `parser.network_def.in_channels[0] = 4` or `parser.A.B["C"] = 99`. | ||
|
|
||
| ## Auto3DSeg: JSON-Based Algo Serialization | ||
|
|
||
| Auto3DSeg algorithm objects are now serialized using JSON instead of pickle. This removes a class of security risks associated with pickle deserialization and improves cross-environment portability of saved algorithm states. Using pickle for serialization can be re-enabled by setting the environment variable `MONAI_ALLOW_PICKLE` to `1` or the equivalent true value. | ||
|
|
||
| This was implemented to address [GHSA-qxq5-qhx6-94qw](https://github.com/Project-MONAI/MONAI/security/advisories/GHSA-qxq5-qhx6-94qw). | ||
|
|
||
| ## SoftclDiceLoss / SoftDiceclDiceLoss API Alignment | ||
|
|
||
| `SoftclDiceLoss` and `SoftDiceclDiceLoss` now accept the same arguments as `DiceLoss`, including `reduction`, `smooth_nr`, `smooth_dr`, and `batch` parameters, enabling drop-in use alongside the standard Dice loss in existing pipelines. | ||
|
|
||
| ## Minor Changes | ||
|
|
||
| - `DiceMetric` and `DiceHelper` accept additional parameters for finer control of reduction behavior | ||
| - `ExtractDataKeyFromMetaKeyd` now works with `MetaTensor` inputs | ||
| - `ConvertToMultiChannelBasedOnBratsClasses` supports configurable GD-enhancing tumor label | ||
| - TorchScript compatibility: replaced `Tensor | None` union syntax with `Optional[Tensor]` across network modules | ||
| - `CrossAttentionBlock` is now only instantiated when `with_cross_attention=True`, reducing memory overhead | ||
| - `GlobalMutualInformationLoss` bin centers and `LocalNormalizedCrossCorrelationLoss` kernels registered as buffers for correct device handling (`#8869`, `#8818`) | ||
| - `NibabelReader` avoids eager C-order memory copies, reducing peak RAM usage for large NIfTI files | ||
| - Fixed `align_corners` mismatch in `AffineTransform` | ||
| - Fixed nested `Compose` `map_items` behaviour in forward and inverse paths | ||
| - Fixed anchor centering on grid cells in detection | ||
| - Fixed multi-axis shear transform matrix composition | ||
| - Fixed `JukeboxLoss` swapped `input_amplitude`/`target_amplitude` arguments | ||
| - Fixed memory leak in `optional_import` traceback handling | ||
| - Fixed `RandSimulateLowResolution` to use `F.interpolate` instead of `set_track_meta` | ||
| - Fixed GPU memory leak when checking image/label device in engine utilities | ||
| - Fixed `AutoencoderKL` `proj_attn` → `out_proj` key remapping in `load_old_state_dict` | ||
| - Fixed incorrect `truncated` parameter in `make_gaussian_kernel` affecting `LocalNormalizedCrossCorrelationLoss` | ||
| - Fixed `compute_shape_offset` non-tuple indexing for PyTorch ≥ 2.9 | ||
| - Auto3DSeg: fixed incorrect device resolution in analyzer and precomputed crop handling | ||
| - Replaced `np.random.*` global calls with `np.random.RandomState` instances for reproducibility | ||
| - Replaced `BaseException` with `Exception` across the codebase | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.