AI Toolkit for Healthcare Imaging
ScaleIntensityFixedMean
and RandScaleIntensityFixedMean
(#6542)UltrasoundConfidenceMapTransform
used for computing confidence map from an ultrasound image (#6709)channel_wise
support in RandScaleIntensity
and RandShiftIntensity
(#6793, #7025)RandSimulateLowResolution
and RandSimulateLowResolutiond
(#6806)SignalFillEmptyd
(#7011)DistanceTransformEDT
with GPU support (#6981)monai-generative
(#6729, #6836)invert_image
and retain_stats
in AdjustContrast
and RandAdjustContrast
(#6542)DAF3D
and Quicknat
(#6306)sincos
position embedding (#6986)ZarrAvgMerger
used for patch inference (#6633)MLFlowHandler
(#6616)SurfaceDiceMetric
(#6681)loss_fn
support in IgniteMetric
and renamed it to IgniteMetricHandler
(#6695)CallableEventWithFilter
and Events
options for trigger_event
in GarbageCollector
(#6663)GridPatch
, RandGridPatch
, GridPatchd
and RandGridPatchd
(#6701)PatchInferer
(#6139)SoftclDiceLoss
and SoftDiceclDiceLoss
(#6763)HausdorffDTLoss
and LogHausdorffDTLoss
(#6994)TensorFloat-32
(#6770)GDSDataset
support for GDS (#6778)MapLabelValue
(#6872)filter_func
in copy_model_state
to filter the weights to be loaded and filter_swinunetr
(#6917)stats_sender
to MonaiAlgo
for FL stats (#6984)freeze_layers
to help freeze specific layers (#6970)Auto3DSeg
into dedicated functions (#6623)device
in ToTensorD
(#6737)DataAnalyzer
for Auto3DSeg
(#6758)data_range
as a property in SSIMLoss
(#6788)end_lr
support in WarmupCosineSchedule
(#6662)ClearML
as optional dependency (#6827)yandex.disk
support in download_url
(#6667)convert_box_to_mask
throw errors when box size larger than the image (#6637)RandAffine
(#6774)ValueError
when map_items
is bool in Compose
(#6882)NormalizeIntensity
(#6887)Spacing
(#6912)CropForeground
(#6934)Lazy=True
ignored when using Dataset
call (#6975)PydicomReader
and broken link in ITKReader
(#6660)MetaTensor
(#6781)DataLoader
(#6830)shuffle
in DistributedWeightedRandomSampler
(#6886)SegmentDescription
in PydicomReader
(#6937)ITKReader
(#6943)PydicomReader
(#6946)metatensor_to_itk_image
to accept RAS MetaTensor
and update default 'space' in NrrdReader
to SpaceKeys.LPS
(#7000)GeneralizedDiceLoss
when batch=True
(#6775)BCEWithLogitsLoss
in DiceCELoss
(#6924)weight
in Dice and related losses (#7098)np.prod
instead of np.product
(#6639)MBConvBlock
(#6672)up_kernel_size
in ViTAutoEnc
(#6735)bias_downsample
in resnet
(#6848)kernel_size
in ResBlock
(#6999)train_dataset_data
and dataset_data
to unrequired in BundleProperty (#6607)None
to properties that do not have REF_ID
(#6607)AttributeError
for default value in get_parsed_content
for ConfigParser
(#6756)monai.bundle.scripts
to support NGC hosting (#6828, #6997)MetaProperties
(#6835)create_workflow
and update load
function (#6835)download_large_files
from model zoo to core (#6958)#
as alias of ::
(#6955)ckpt_export
(#6965)update_kwargs
in monai.bundle.script
for merging multiple configs (#7109)iteration_log
and epoch_log
in TensorBoardStatsHandler
(#7027)DataAnalyzer
(#6658)current_mode
in convert_applied_interp_mode
(#6719)convert_to_contiguous
(#6849)argmax
in DataAnalyzer
when retry on CPU (#6852)DataAnalyzer
with histogram_only=True
(#6874)AttributeError
in RankFilter
in single GPU environment (#6895)TORCH_ALLOW_TF32_CUBLAS_OVERRIDE
and add debug print info (#6909)print_config
(#6913, #6922)AutoRunner
(#6588)test_retinanet
by increasing absolute differences (#6615)_check_kwargs_are_present
(#6624)nvcr.io/nvidia/pytorch:23.08-py3
from nvcr.io/nvidia/pytorch:23.03-py3
allow_smaller=True
; allow_smaller=False
will be the new default in CropForeground
and generate_spatial_bounding_box
(#6736)dropout_prob
in VNet
in favor of dropout_prob_down
and dropout_prob_up
(#6768)workflow
in BundleWorkflow
in favor of workflow_type
(#6768)pos_embed
in PatchEmbeddingBlock
in favor of proj_type
(#6986)net_name
and net_kwargs
in download
in favor of model
(#7016)img_size
parameter in SwinUNETR (#7093)pad_val
, stride
, per_channel
and upsampler
in OcclusionSensitivity
(#6642)compute_meaniou
(#7019)AsChannelFirst
, AddChannel
and SplitChannel
(#7019)create_multigpu_supervised_trainer
and create_multigpu_supervised_evaluator
(#7019)runner_id
in run
(#7019)data_src_cfg_filename
in AlgoEnsembleBuilder
(#7019)get_validation_stats
in Evaluator
and get_train_stats
in Trainer
(#7019)epoch_interval
and iteration_interval
in TensorBoardStatsHandler
(#7019)monai.bundle
API and the relevant modelsmonai.apps.nnunet
MetricsReloaded
monai.bundle.workflows
and monai.fl.client
PatchInferer
, merger
, and splitter
monai.data.itk_torch_bridge
SlidingWindowInfererAdapt
ImageFiltered
and RandImageFiltered
ConfigParser
(#5813)track_meta
option for Lambda and derived transforms (#6385)WSIReader
read by power and mpp (#6244)GridPatch
and GridPatchDataset
(#6246)SomeOf
transform composer (#6143)map_classes_to_indices
efficiency issue (#6468)FolderLayout
in SaveImage
and SaveImaged
transforms (#6213)SpacingD
output shape compute stability (#6126)croppad
(#6127)warn
flag to RandCropByLabelClasses (#6121)nan
to indicate no_channel
, split dim singleton (#6090)filename_or_obj
key (#5980)Spacing
pixdim in-place change (#5950)RandHistogramShift
(#5877)cuCIM
wrappers from get_transform_backends
(#5838)__format__
implementation of MetaTensor (#6523)channel_dim
in TiffFileWSIReader
and CuCIMWSIReader
(#6514)"meta"
to MetaTensor.__repr__
and MetaTensor.__str__
for easier identification (#6214)WSIReader
defaults and tensor conversion (#6058)SlidingPatchWSIDataset
(#6047)reverse_indexing
for PILReader (#6008)np.linalg
for the small affine inverse (#5967)RetinaNet
throw errors for NaN only when training (#6479)device
in HoVerNetNuclearTypePostProcessing
and HoVerNetInstanceMapPostProcessing
(#6333)att_mat
in self-attention modules (#6493)retinanet_detector
(#6170)DenseNet
derived classes (#5846)regunet
(#5807)deepcopy
logic in ConfigParser
(#6464)pprint
head and tail in bundle script (#5969)path
(#5866)_get_latest_bundle_version
issue on Windows (#5787)monai.engine
training attribute check (#6132)iteration_log
and epoch_log
in TensorBoard and MLFlow (#5976)CheckpointSaver
logging error (#6026)iteration_log
and epoch_log
in StatsHandler (#5965)import monai
(#6106)monai._extensions
module compatibility with rocm (#6161)RankFilter
to skip logging when the rank is not meeting criteria (#6243)nvcr.io/nvidia/pytorch:23.03-py3
from nvcr.io/nvidia/pytorch:22.10-py3
resample=True
; resample=False
will be the new default in SaveImage
random_size=True
; random_size=False
will be the new default for the random cropping transformsimage_only=False
; image_only=True
will be the new default in LoadImage
AddChannel
and AsChannelFirst
in favor of EnsureChannelFirst
monai.apps
, NiftiSaver
and PNGSaver
from monai.data
AutoRunner
including template caching, selection, and a dry-run mode nni_dry_run
MLFlowHandler
bundle.script
API to support model zoo query and downloadLossMetric
metric to compute loss as cumulative metric measurementRandomizableTrait
and MedianSmooth
runtime_cache
option for CacheDataset
and the derived classes to allow for shared caching on the flySaveImage
transformpending_operations
MetaTensor property and basic APIs for lazy image resamplingFlexibleUNet
SobelGradients
to 3D and any spatial axeswarmup_multiplier
option for WarmupCosineSchedule
LambdaD
DataAnalyzer
handles minor image-label shape inconsistenciesswitch_endianness
in LoadImage now supports tensor input@
in monai.bundle.ReferenceResolver
itkMatrixF44
for default collate)SaveImage
MetaTensor.shape
call now returns a torch.Size
instead of tupleGeneralizedDiceLoss
DiceFocalLoss
LocalNormalizedCrossCorrelationLoss
ConfusionMatrixMetric
NetAdapter
compatibility with Torchscriptextract_levels
in RegUNet
bias_downsample
in ResNet
dtype
overflow for ShiftIntensity
transformRandCuCIM
now inherit RandomizableTrait
fg_indices.size
compatibility issue in generate_pos_neg_label_crop_centers
ToTensor
LoadImage
apps.nuclick.transforms
verify_net_in_out
std
variable type issue for RandRicianNoise
DataAnalyzer
accepts None
as label key and checks empty labelsiter_patch_position
now has a smaller memory footprintCumulativeAverage
has been refactored and enhanced to allow for simple tracking of metric running stats.MLFlowHandler
DistributedSampler
raises a ValueError if there are too few devicesVideoDataset
modules are loaded lazily to avoid dependency issuesdevice
in monai.engines.Workflow
supports string valuesActivations
and AsDiscrete
take kwargs
as additional argumentsDataAnalyzer
is now more efficient and writes summary stats before detailed all case statsnvcr.io/nvidia/pytorch:22.10-py3
from nvcr.io/nvidia/pytorch:22.09-py3
environment-dev.yml
0.23
from 0.19
NibabelReader
input argument dtype
is deprecated, the reader will use the original dtype of the imageLoadImage
issue when track_meta
is False
VarAutoEncoder
ImageStats
deconvgroup
and optional kernel sizesClientAlgoStats
and MonaiAlgoStats
for federated summary statisticsOneOf
Resized
SlidingWindowInferer
adaptive device based on cpu_thresh
SegResNetDS
with deep supervision and non-isotropic kernel supportnvcr.io/nvidia/pytorch:22.09-py3
from nvcr.io/nvidia/pytorch:22.08-py3
None
type metadata content with "none"
for collate_fn
compatibilityComputeHoVerMaps
and ComputeHoVerMapsd
SobelGradients
and SobelGradientsd
compute_meandice
, compute_meaniou
in monai.metrics
, in favor of
compute_dice
and compute_iou
respectivelymonai.auto3dseg
base APIs and monai.apps.auto3dseg
components for automated machine learning (AutoML) workflowmonai.fl
module with base APIs and MonaiAlgo
for federated learning client workflowCoilSensitivityModel
MetaTensor
and new metadata attributes for various digital pathology componentsmonai.bundle
enhancements for MONAI model-zoo usability, including config debug mode and get_all_bundles_list
monai.transforms
components including SignalContinuousWavelet
for 1D signal, ComputeHoVerMaps
for digital pathology, and SobelGradients
for spatial gradientsVarianceMetric
and LabelQualityScore
metrics for active learningFlexibleUNet
and HoVerNet
MeanIoUHandler
and LogfileHandler
workflow event handlersWSIReader
with the TiffFile backendWSIReader
with cuCIM backendget_stats
API in monai.engines.Workflow
prune_meta_pattern
in monai.transforms.LoadImage
max_interactions
for deepedit interaction workflowmonai.utils.profiling
nvcr.io/nvidia/pytorch:22.08-py3
from nvcr.io/nvidia/pytorch:22.06-py3
monai.losses.ContrastiveLoss
now infers batch_size
during forward()
RandSmoothDeform
transforms following PyTorch's conventionmonai.utils.misc.MONAIEnvVars
__str__
implementation of MetaTensor
instead of relying on the __repr__
implementationmonai
and monai-weekly
are pip-installednum_workers
in DataLoader
monai.data.ShuffleBuffer
monai.transforms.Spacing
inception_v3
as the backbone of monai.networks.nets.TorchVisionFCModel
monai.transforms.Crop
Addchannel
and AsChannelFirst
transforms in favor of EnsureChannelFirst
monai.apps.pathology.data
components in favor of the corresponding components from monai.data
monai.apps.pathology.handlers
in favor of the corresponding components from monai.handlers
Status
section in the pull request template in favor of the pull request draft modemonai.engines.BaseWorkflow
ndim
and dimensions
arguments in favor of spatial_dims
n_classes
, num_classes
arguments in AsDiscrete
in favor of to_onehot
logit_thresh
, threshold_values
arguments in AsDiscrete
in favor of threshold
torch.testing.assert_allclose
in favor of tests.utils.assert_allclose
monai.data.MetaTensor
as core data structure across the modulesinverse
in array-based transformsmonai.apps.TciaDataset
APIs for The Cancer Imaging Archive (TCIA) datasets, including a pydicom-backend readermonai.apps.reconstruction
, including various FFT utilitiesmonai.utils.StrEnum
class to simplify Enum-based type annotationsnvcr.io/nvidia/pytorch:22.06-py3
from nvcr.io/nvidia/pytorch:22.04-py3
Convolution
when input arguments are NoneDynUNet
monai.bundle.ConfigParser.update
monai.bundle.verify_metadata
not raising exceptionsmonai.transforms.GridPatch
returns inconsistent type location when padding*_transforms
and *_meta_dict
fields in dictionary-based transforms in favor of MetaTensormeta_keys
, meta_key_postfix
, src_affine
arguments in various transforms, in favor of MetaTensorAsChannelFirst
and AddChannel
, in favor of EnsureChannelFirst
transformmonai.bundle
primary module with a ConfigParser
and command-line interfaces for config-based workflowsmonai.data.MetaTensor
monai.data.image_writer
to support flexible IO backends including an ITK writerSwinUNETR
SurfaceDiceMetric
, GeneralizedDiceFocalLoss
RandIntensityRemap
, SpatialResample
SlidingWindowInferer
NrrdReader
for NRRD file supportSmoothGrad
TestTimeAugmentation
using de-collate and invertible transforms APIsmonai.apps.pathology
modules into monai.handlers
and monai.transforms
TopologySearch
and DiNTS
UNet
INSTANCE_NVFUSER
for enhanced performance in 3D instance normconvert_data_type
iteration_log
, iteration_log
to the logging handlersnvcr.io/nvidia/pytorch:22.04-py3
from nvcr.io/nvidia/pytorch:21.10-py3
collate_fn
generates more data-related debugging info with dev_collate
compute_average_surface_distance
self.conv3
in UnetResBlock
ViT
and self-attention blocksUNETR
allow_smaller
in spatial cropping transformsResize
kwargs_read_csv
in CSVDataset
Metric
reductionwrap_array
for ensure_tuple
nifti_writer
, png_writer
in favor of monai.data.image_writer
ViTAutoEnc
dataframe
object input in CSVDataset
Orientation
DataFunc
API for dataset-level preprocessingwrite_scalar
API for logging with additional engine
parameter in TensorBoardHandler
set_determinism
monai.data.DatasetSummary
kwargs
for WSIReader
GridPatchDataset
as subclass of monai.data.IterableDataset
is_onehot
option in KeepLargestConnectedComponent
channel_dim
in the image readers and support of stacking images with channelsmatshow3d
with given channel_dim
run
if epoch length is 0CacheDataset
to avoid duplicated cache itemssave_state
utility functionmonai.apps.mmars.load_from_mmar
defaults to the latest versionpickle
ResBlock
create_file_name
assuming local disk file creationWSIReader
when the backend is TiffFile
deprecated_args
when the function signature contains kwargschannel_wise
computations for the intensity-based transformsOneOf
ScaleIntensityRangePercentiles
mode
in the evaluator engineOrientation
and Spacing
in monai.apps.deepgrow.dataset
DynUnet
reduction
argument for ContrastiveLoss
Workflow
ROCAUCMetric
monai.transforms
to support input and backend in PyTorch and NumPyGlobalMutualInformationLoss
as an examplemonai.transforms
documentation with visual examples and the utility functionsMLfLow
integrationblend_images
and matshow3d
RandGridDistortion
and SmoothField
in monai.transforms
require_pkg
and pytorch_after
allow_smaller
when sampling ROI and wrap_sequence
when casting object typestifffile
support in WSIReader
nvcr.io/nvidia/pytorch:21.10-py3
from nvcr.io/nvidia/pytorch:21.08-py3
TraceKeys
and TraceableTransform
APIs from InvertibleTransform
resample=False
in NiftiSaver
threshold_values: bool
and num_classes: int
in AsDiscrete
apply_filter
for spatially 1D, 2D and 3D inputs with non-separable kernelslogging
in downloading and model archives in monai.apps
stable
instead of latest
skip-magic-trailing-comma
in coding style enforcementsDynUnetV1
and the related network blocksdecollate_batch
for dictionary of empty listsallow_missing_keys=True
for the MapTransform
ScaleIntensity
ImageReader
StatsHandler
reduction="none"
in FocalLoss
monai.transforms
to support input and backend in PyTorch and NumPyOneOf
meta transformTranschex
network for vision-language transformers for chest X-ray analysisDatasetSummary
utility in monai.data
WarmupCosineSchedule
kwargs
and different backend APIdropout
and norm
in various networks and their submodulesnvcr.io/nvidia/pytorch:21.08-py3
from nvcr.io/nvidia/pytorch:21.06-py3
n_classes
, in favor of num_classes
dimensions
and ndims
, in favor of spatial_dims
NdarrayTensor
type is replaced by NdarrayOrTensor
for simpler annotationsTransformInverter
, in favor of monai.transforms.InvertD
monai.handlers.utils.evenly_divisible_all_gather
monai.handlers.utils.string_list_all_gather
LMDBDataset
NiftiSaver
, PNGSaver
label
field in test-time augmentationThreadDataLoader
Dice
and CrossEntropy
intermediate results in DiceCELoss