Release 1.6 Doc Updates [skip ci]#8882
Conversation
Signed-off-by: Eric Kerfoot <17726042+ericspod@users.noreply.github.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
| @@ -0,0 +1,2 @@ | |||
|
|
|||
| # What's new in 1.6.0 🎉🎉 | |||
There was a problem hiding this comment.
@coderabbitai propose highlight content to put here in the same style as that in docs/source/whatsnew_1_5_0.md. This should highlight major new features and additions, with a very brief summary of the minor changes done in a bullet-point list.
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Get style reference
cat docs/source/whatsnew_1_5_0.md
echo "=== CHANGELOG ==="
cat CHANGELOG.md 2>/dev/null | head -200 || echo "No CHANGELOG.md"
echo "=== Current PR description ==="
gh pr view 8882 --json title,body | jq -r '.title, .body'
echo "=== Recent merged PRs into main targeting 1.6 ==="
gh pr list --state merged --limit 80 --json number,title,labels,mergedAt | jq -r '.[] | "#\(.number) \(.title)"'Length of output: 16950
🏁 Script executed:
#!/bin/bash
fd -e md whatsnew docs/
echo "---"
# Try to find any whatsnew file
fd whatsnew . --type fLength of output: 997
🏁 Script executed:
#!/bin/bash
cat docs/source/whatsnew_1_5.md
echo "=== 1.5.2 ==="
cat docs/source/whatsnew_1_5_2.mdLength of output: 5323
@ericspod, here's proposed content matching the whatsnew_1_5.md style:
# What's new in 1.6.0 🎉🎉
- New metrics: `EmbeddingCollapseMetric` and `CalibrationErrorMetric`
- New losses: `MCCLoss` (Matthews Correlation Coefficient) and `AUCMarginLoss`
- `GradientAccumulation` utility for `SupervisedTrainer`
- Nested dot-notation access in `ConfigParser`
- Global coordinates support in spatial crop transforms
- `TestTimeAugmentation` generalized to non-spatial predictions
- MIG UUID and `CUDA_VISIBLE_DEVICES` support in `nnUNetV2Runner`
- Auto3DSeg: replaced `pickle` with JSON for improved security in algo serialization
## New Metrics
### EmbeddingCollapseMetric
A new metric [`EmbeddingCollapseMetric`](https://github.com/Project-MONAI/MONAI/pull/8815) detects representational collapse in medical imaging model embeddings, useful for self-supervised and contrastive learning workflows.
### CalibrationErrorMetric
[`CalibrationErrorMetric`](https://github.com/Project-MONAI/MONAI/pull/8707) and a corresponding `CalibrationError` handler measure how well predicted probabilities align with observed outcomes — important for clinical deployment of models.
## New Losses
### MCCLoss
[`MCCLoss`](https://github.com/Project-MONAI/MONAI/pull/8785) implements the Matthews Correlation Coefficient as a differentiable loss function, providing a balanced measure even under class imbalance.
### AUCMarginLoss
[`AUCMarginLoss`](https://github.com/Project-MONAI/MONAI/pull/8719) enables direct optimization of the AUROC metric via a margin-based surrogate loss.
## GradientAccumulation for SupervisedTrainer
A new [`GradientAccumulation`](https://github.com/Project-MONAI/MONAI/pull/8763) utility for `SupervisedTrainer` enables effective larger batch sizes on memory-constrained hardware by accumulating gradients over multiple steps.
## Nested Dot-Notation Access in ConfigParser
[`ConfigParser`](https://github.com/Project-MONAI/MONAI/pull/8858) now supports nested dot-notation access, making it easier to address deeply nested configuration keys in bundle configs (e.g., `network_def.layers.0.out_channels`).
## Global Coordinates in Spatial Crop Transforms
Spatial crop transforms [now support global coordinates](https://github.com/Project-MONAI/MONAI/pull/8794), allowing crops to be specified in world space rather than voxel indices.
## Minor Changes
- Generalized `TestTimeAugmentation` to support non-spatial predictions (`#8715`)
- Added MIG UUID and `CUDA_VISIBLE_DEVICES` support to `nnUNetV2Runner` (`#8716`)
- Replaced `pickle` with JSON in Auto3DSeg algo serialization (`#8695`)
- Fixed align_corners mismatch in `AffineTransform` (`#8690`)
- Fixed batch size broadcasting bug in `GeneralizedWassersteinDiceLoss` (`#8744`)
- Fixed swapped `input_amplitude`/`target_amplitude` in `JukeboxLoss` (`#8821`)
- Fixed `register_buffer` usage for kernel in `LocalNormalizedCrossCorrelationLoss` (`#8818`)
- Fixed `load_old_state_dict` key mapping in `AutoencoderKL` (`#8786`)
- Fixed nested `Compose` `map_items` in forward and inverse paths (`#8787`)
- Fixed multi-axis shear transform matrix composition (`#8778`)
- Fixed `AutoencoderKlMaisi` forcing CUDA transfer on CPU inputs (`#8736`)
- Fixed `TrainableBilateralFilter` 3D input validation (`#8729`)
- Fixed memory leak in `optional_import` traceback handling (`#8782`)
- Fixed `make_gaussian_kernel` truncated parameter unit mismatch (`#8781`, `#8783`)
- Fixed `SoftclDiceLoss` API compatibility with `DiceLoss` (`#8703`)
- Fixed `EnsureChannelFirst` `meta_data` handling when `track_meta=False` (`#8835`)
- Replaced `BaseException` with `Exception` across codebase (`#8859`)
- Avoided eager C-order copy in `NibabelReader` (`#8825`)
- Replaced direct `np.random.*` calls with `np.random.RandomState` instances (`#8798`)
- FFT module cleanup and updates (`#8762`, `#8766`)
- Various documentation and docstring improvements (`#8730`, `#8797`, `#8817`, `#8849`, `#8850`)
- Performance micro-optimizations in core utilities (`#8748`, `#8749`, `#8751`)
- Updated base Docker image to 25.12 (`#8738`)Feel free to adjust the major-feature sections — particularly if any features need images or more detail added later (similar to the MAISI section in 1.5).
Part of #8874
Description
This updates documentation and other components for the 1.6.0 release.
Types of changes
./runtests.sh -f -u --net --coverage../runtests.sh --quick --unittests --disttests.make htmlcommand in thedocs/folder.