monai-weekly 1.7.dev2639__tar.gz → 1.7.dev2641__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/PKG-INFO +1 -1
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/__init__.py +1 -1
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/_extensions/loader.py +3 -1
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/_version.py +3 -3
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/auto3dseg/bundle_gen.py +1 -1
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/metrics/matching.py +1 -1
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/transforms/dictionary.py +7 -5
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/pathology/transforms/post/dictionary.py +2 -2
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/dataset_summary.py +16 -3
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/image_writer.py +3 -2
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/synthetic.py +1 -1
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/utils.py +17 -5
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/calibration.py +2 -2
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/mlflow_handler.py +119 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/inferers/inferer.py +3 -3
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/__init__.py +1 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/barlow_twins.py +1 -1
- monai_weekly-1.7.dev2641/monai/losses/calibration.py +379 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/image_dissimilarity.py +25 -6
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/calibration.py +4 -4
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/hausdorff_distance.py +47 -3
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/utils.py +15 -16
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/pos_embed_utils.py +1 -1
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/warp.py +17 -2
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/dints.py +44 -6
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/patchgan_discriminator.py +1 -1
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/schedulers/ddpm.py +1 -1
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/intensity/array.py +135 -9
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/intensity/dictionary.py +24 -2
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/spatial/dictionary.py +9 -14
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/spatial/functional.py +11 -2
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai_weekly.egg-info/PKG-INFO +1 -1
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai_weekly.egg-info/SOURCES.txt +1 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/setup.py +5 -1
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/LICENSE +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/MANIFEST.in +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/README.md +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/_extensions/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/_extensions/gmm/gmm.cpp +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/_extensions/gmm/gmm.h +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/_extensions/gmm/gmm_cpu.cpp +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/_extensions/gmm/gmm_cuda.cu +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/_extensions/gmm/gmm_cuda_linalg.cuh +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/auto3dseg/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/auto3dseg/__main__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/auto3dseg/auto_runner.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/auto3dseg/data_analyzer.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/auto3dseg/ensemble_builder.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/auto3dseg/hpo_gen.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/auto3dseg/transforms.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/auto3dseg/utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/datasets.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/deepedit/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/deepedit/interaction.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/deepedit/transforms.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/deepgrow/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/deepgrow/dataset.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/deepgrow/interaction.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/deepgrow/transforms.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/metrics/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/metrics/coco.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/networks/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/networks/retinanet_detector.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/networks/retinanet_network.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/transforms/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/transforms/array.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/transforms/box_ops.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/utils/ATSS_matcher.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/utils/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/utils/anchor_utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/utils/box_coder.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/utils/box_selector.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/utils/detector_utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/utils/hard_negative_sampler.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/utils/predict_utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/generation/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/generation/maisi/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/generation/maisi/networks/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/generation/maisi/networks/autoencoderkl_maisi.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/generation/maisi/networks/controlnet_maisi.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/generation/maisi/networks/diffusion_model_unet_maisi.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/mmars/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/mmars/mmars.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/mmars/model_desc.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/nnunet/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/nnunet/__main__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/nnunet/nnunet_bundle.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/nnunet/nnunetv2_runner.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/nnunet/utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/nuclick/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/nuclick/transforms.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/pathology/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/pathology/engines/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/pathology/engines/utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/pathology/handlers/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/pathology/handlers/utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/pathology/inferers/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/pathology/inferers/inferer.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/pathology/losses/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/pathology/losses/hovernet_loss.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/pathology/metrics/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/pathology/metrics/lesion_froc.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/pathology/transforms/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/pathology/transforms/post/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/pathology/transforms/post/array.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/pathology/transforms/stain/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/pathology/transforms/stain/array.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/pathology/transforms/stain/dictionary.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/pathology/utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/reconstruction/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/reconstruction/complex_utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/reconstruction/fastmri_reader.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/reconstruction/mri_utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/reconstruction/networks/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/reconstruction/networks/blocks/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/reconstruction/networks/blocks/varnetblock.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/reconstruction/networks/nets/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/reconstruction/networks/nets/coil_sensitivity_model.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/reconstruction/networks/nets/complex_unet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/reconstruction/networks/nets/utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/reconstruction/networks/nets/varnet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/reconstruction/transforms/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/reconstruction/transforms/array.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/reconstruction/transforms/dictionary.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/tcia/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/tcia/label_desc.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/tcia/utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/vista3d/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/vista3d/inferer.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/vista3d/sampler.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/vista3d/transforms.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/auto3dseg/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/auto3dseg/algo_gen.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/auto3dseg/analyzer.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/auto3dseg/operations.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/auto3dseg/seg_summarizer.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/auto3dseg/utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/bundle/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/bundle/__main__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/bundle/config_item.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/bundle/config_parser.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/bundle/properties.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/bundle/reference_resolver.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/bundle/scripts.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/bundle/utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/bundle/workflows.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/config/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/config/__main__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/config/check_env.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/config/deviceconfig.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/config/print_dependencies.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/config/type_definitions.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/box_utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/csv_saver.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/dataloader.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/dataset.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/decathlon_datalist.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/fft_utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/folder_layout.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/grid_dataset.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/image_dataset.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/image_reader.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/iterable_dataset.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/itk_torch_bridge.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/meta_obj.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/meta_tensor.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/nvimgcodec_pydicom_plugin.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/samplers.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/test_time_augmentation.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/thread_buffer.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/torchscript_utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/ultrasound_confidence_map.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/video_dataset.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/wsi_datasets.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/data/wsi_reader.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/engines/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/engines/evaluator.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/engines/trainer.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/engines/utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/engines/workflow.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/fl/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/fl/client/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/fl/client/client_algo.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/fl/client/monai_algo.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/fl/utils/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/fl/utils/constants.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/fl/utils/exchange_object.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/fl/utils/filters.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/average_precision.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/checkpoint_loader.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/checkpoint_saver.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/classification_saver.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/clearml_handlers.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/confusion_matrix.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/decollate_batch.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/earlystop_handler.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/garbage_collector.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/hausdorff_distance.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/ignite_metric.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/logfile_handler.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/lr_schedule_handler.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/mean_dice.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/mean_iou.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/metric_logger.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/metrics_reloaded_handler.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/metrics_saver.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/nvtx_handlers.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/panoptic_quality.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/parameter_scheduler.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/postprocessing.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/probability_maps.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/regression_metrics.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/roc_auc.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/smartcache_handler.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/stats_handler.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/surface_distance.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/tensorboard_handlers.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/trt_handler.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/handlers/validation_handler.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/inferers/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/inferers/merger.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/inferers/splitter.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/inferers/utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/adversarial_loss.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/aucm_loss.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/boundary_loss.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/cldice.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/contrastive.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/deform.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/dice.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/ds_loss.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/focal_loss.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/giou_loss.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/hausdorff_loss.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/mcc_loss.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/multi_scale.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/nacl_loss.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/perceptual.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/spatial_mask.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/spectral_loss.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/ssim_loss.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/sure_loss.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/tversky.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/unified_focal_loss.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/losses/utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/absolute_volume_difference.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/active_learning_metrics.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/average_precision.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/confusion_matrix.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/cumulative_average.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/embedding_collapse.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/f_beta_score.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/fid.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/froc.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/generalized_dice.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/loss_metric.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/meandice.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/meaniou.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/metric.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/mmd.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/panoptic_quality.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/regression.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/rocauc.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/surface_dice.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/surface_distance.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/metrics/wrapper.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/acti_norm.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/activation.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/activation_checkpointing.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/aspp.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/attention_utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/backbone_fpn_utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/cablock.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/convolutions.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/crf.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/crossattention.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/denseblock.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/dints_block.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/downsample.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/dynunet_block.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/encoder.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/fcn.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/feature_pyramid_network.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/fft_utils_t.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/hyena.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/localnet_block.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/mednext_block.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/mlp.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/patchembedding.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/regunet_block.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/rel_pos_embedding.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/segresnet_block.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/selfattention.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/spade_norm.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/spatialattention.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/squeeze_and_excitation.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/text_embedding.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/transformerblock.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/unetr_block.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/blocks/upsample.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/layers/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/layers/conjugate_gradient.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/layers/convutils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/layers/drop_path.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/layers/factories.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/layers/filtering.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/layers/gmm.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/layers/simplelayers.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/layers/spatial_transforms.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/layers/utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/layers/vector_quantizer.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/layers/weight_init.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/ahnet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/attentionunet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/autoencoder.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/autoencoderkl.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/basic_unet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/basic_unetplusplus.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/cell_sam_wrapper.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/classifier.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/controlnet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/daf3d.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/densenet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/diffusion_model_unet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/dynunet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/efficientnet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/flexible_unet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/fullyconnectednet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/generator.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/highresnet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/hovernet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/hyena_nd_unetr.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/masked_autoencoder_vit.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/mednext.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/milmodel.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/navit.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/netadapter.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/quicknat.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/regressor.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/regunet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/resnet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/restormer.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/segresnet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/segresnet_ds.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/senet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/spade_autoencoderkl.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/spade_diffusion_model_unet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/spade_network.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/swin_unetr.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/torchvision_fc.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/transchex.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/transformer.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/unet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/unetr.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/varautoencoder.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/vista3d.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/vit.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/vitautoenc.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/vnet.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/voxelmorph.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/nets/vqvae.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/schedulers/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/schedulers/ddim.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/schedulers/pndm.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/schedulers/rectified_flow.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/schedulers/scheduler.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/trt_compiler.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/networks/utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/optimizers/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/optimizers/lr_finder.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/optimizers/lr_scheduler.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/optimizers/novograd.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/optimizers/utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/py.typed +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/adaptors.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/compose.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/croppad/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/croppad/array.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/croppad/batch.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/croppad/dictionary.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/croppad/functional.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/intensity/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/inverse.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/inverse_batch_transform.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/io/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/io/array.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/io/dictionary.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/lazy/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/lazy/array.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/lazy/dictionary.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/lazy/functional.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/lazy/utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/meta_utility/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/meta_utility/dictionary.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/nvtx.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/post/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/post/array.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/post/dictionary.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/regularization/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/regularization/array.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/regularization/dictionary.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/signal/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/signal/array.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/signal/dictionary.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/smooth_field/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/smooth_field/array.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/smooth_field/dictionary.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/spatial/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/spatial/array.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/traits.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/transform.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/utility/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/utility/array.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/utility/dictionary.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/utils_create_transform_ims.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/utils_morphological_ops.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/transforms/utils_pytorch_numpy_unification.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/utils/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/utils/compare_sources.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/utils/component_store.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/utils/decorators.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/utils/deprecate_utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/utils/dist.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/utils/enums.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/utils/jupyter_utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/utils/misc.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/utils/module.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/utils/nvtx.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/utils/ordering.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/utils/profiling.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/utils/safeeval.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/utils/state_cacher.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/utils/tf32.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/utils/type_conversion.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/visualize/__init__.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/visualize/class_activation_maps.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/visualize/gradient_based.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/visualize/img2tensorboard.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/visualize/occlusion_sensitivity.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/visualize/utils.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/visualize/visualizer.py +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai_weekly.egg-info/dependency_links.txt +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai_weekly.egg-info/not-zip-safe +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai_weekly.egg-info/requires.txt +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai_weekly.egg-info/top_level.txt +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/pyproject.toml +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/setup.cfg +0 -0
- {monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/versioneer.py +0 -0
|
@@ -75,7 +75,9 @@ def load_module(
|
|
|
75
75
|
source = glob(path.join(module_dir, "**", "*.cpp"), recursive=True)
|
|
76
76
|
if torch.cuda.is_available():
|
|
77
77
|
source += glob(path.join(module_dir, "**", "*.cu"), recursive=True)
|
|
78
|
-
|
|
78
|
+
# `torch.version.cuda` is None on a ROCm build, which would make every ROCm
|
|
79
|
+
# toolkit version share a single cache entry. Key on whichever is populated.
|
|
80
|
+
platform_str += f"_{torch.version.cuda or f'hip{torch.version.hip}'}"
|
|
79
81
|
|
|
80
82
|
# Constructing compilation argument list.
|
|
81
83
|
define_args = [] if not defines else [f"-D {key}={defines[key]}" for key in defines]
|
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "2026-
|
|
11
|
+
"date": "2026-10-11T02:25:27+0000",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "1.7.
|
|
14
|
+
"full-revisionid": "7bfe671ffaf469a0b2a44c800abe101d1f3447b4",
|
|
15
|
+
"version": "1.7.dev2641"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -491,7 +491,7 @@ class BundleGen(AlgoGen):
|
|
|
491
491
|
mlflow_tracking_uri: a tracking URI for MLflow server which could be local directory or address of
|
|
492
492
|
the remote tracking Server; MLflow runs will be recorded locally in algorithms' model folder if
|
|
493
493
|
the value is None.
|
|
494
|
-
|
|
494
|
+
mlflow_experiment_name: a string to specify the experiment name for MLflow server.
|
|
495
495
|
.. code-block:: bash
|
|
496
496
|
|
|
497
497
|
python -m monai.apps.auto3dseg BundleGen generate --data_stats_filename="../algorithms/datastats.yaml"
|
{monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/metrics/matching.py
RENAMED
|
@@ -193,7 +193,7 @@ def _matching_no_gt(
|
|
|
193
193
|
|
|
194
194
|
Args:
|
|
195
195
|
iou_thresholds: defined which IoU thresholds should be evaluated
|
|
196
|
-
|
|
196
|
+
pred_scores: predicted scores
|
|
197
197
|
max_detections: maximum number of allowed detections per image.
|
|
198
198
|
This functions uses this parameter to stay consistent with
|
|
199
199
|
the actual matching function which needs this limit.
|
{monai_weekly-1.7.dev2639 → monai_weekly-1.7.dev2641}/monai/apps/detection/transforms/dictionary.py
RENAMED
|
@@ -37,7 +37,6 @@ from monai.apps.detection.transforms.array import (
|
|
|
37
37
|
StandardizeEmptyBox,
|
|
38
38
|
ZoomBox,
|
|
39
39
|
)
|
|
40
|
-
from monai.apps.detection.transforms.box_ops import convert_box_to_mask
|
|
41
40
|
from monai.config import KeysCollection, SequenceStr
|
|
42
41
|
from monai.config.type_definitions import DtypeLike, NdarrayOrTensor
|
|
43
42
|
from monai.data.box_utils import COMPUTE_DTYPE, BoxMode, clip_boxes_to_image
|
|
@@ -1154,10 +1153,13 @@ class RandCropBoxByPosNegLabeld(Randomizable, MapTransform):
|
|
|
1154
1153
|
# As along as the cropped patch contains a box, it is considered as a foreground patch.
|
|
1155
1154
|
# Positions within extended_boxes are crop centers for foreground patches
|
|
1156
1155
|
extended_boxes_np = self.generate_fg_center_boxes_np(boxes, image_size)
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
)
|
|
1160
|
-
|
|
1156
|
+
spatial_dims = len(image_size)
|
|
1157
|
+
mask_img = np.zeros((1,) + tuple(image_size), dtype=np.int16)
|
|
1158
|
+
for b in range(extended_boxes_np.shape[0]):
|
|
1159
|
+
slicing = (0,) + tuple(
|
|
1160
|
+
slice(extended_boxes_np[b, d], extended_boxes_np[b, d + spatial_dims]) for d in range(spatial_dims)
|
|
1161
|
+
)
|
|
1162
|
+
mask_img[slicing] = 1
|
|
1161
1163
|
fg_indices_, bg_indices_ = map_binary_to_indices(mask_img, thresh_image, self.image_threshold)
|
|
1162
1164
|
else:
|
|
1163
1165
|
fg_indices_ = fg_indices
|
|
@@ -536,7 +536,7 @@ class HoVerNetInstanceMapPostProcessingd(Transform):
|
|
|
536
536
|
|
|
537
537
|
for k in [self.instance_info_key, self.instance_map_key]:
|
|
538
538
|
if k in d:
|
|
539
|
-
raise ValueError("The output key ['{k}'] already exists in the input dictionary!")
|
|
539
|
+
raise ValueError(f"The output key ['{k}'] already exists in the input dictionary!")
|
|
540
540
|
|
|
541
541
|
d[self.instance_info_key], d[self.instance_map_key] = self.instance_map_post_process(
|
|
542
542
|
d[self.nuclear_prediction_key], d[self.hover_map_key]
|
|
@@ -590,7 +590,7 @@ class HoVerNetNuclearTypePostProcessingd(Transform):
|
|
|
590
590
|
)
|
|
591
591
|
if self.return_type_map:
|
|
592
592
|
if self.type_map_key in d:
|
|
593
|
-
raise ValueError("The output key ['{self.type_map_key}'] already exists in the input dictionary!")
|
|
593
|
+
raise ValueError(f"The output key ['{self.type_map_key}'] already exists in the input dictionary!")
|
|
594
594
|
d[self.type_map_key] = type_map
|
|
595
595
|
|
|
596
596
|
return d
|
|
@@ -159,6 +159,8 @@ class DatasetSummary:
|
|
|
159
159
|
label, *_ = convert_data_type(data=label, output_type=torch.Tensor)
|
|
160
160
|
|
|
161
161
|
image_foreground = image[torch.where(label > foreground_threshold)]
|
|
162
|
+
if image_foreground.numel() == 0:
|
|
163
|
+
continue
|
|
162
164
|
|
|
163
165
|
voxel_max.append(image_foreground.max().item())
|
|
164
166
|
voxel_min.append(image_foreground.min().item())
|
|
@@ -166,6 +168,11 @@ class DatasetSummary:
|
|
|
166
168
|
voxel_sum += image_foreground.sum()
|
|
167
169
|
voxel_square_sum += torch.square(image_foreground).sum()
|
|
168
170
|
|
|
171
|
+
if voxel_ct == 0:
|
|
172
|
+
raise ValueError(
|
|
173
|
+
f"No foreground voxels found in any sample with {foreground_threshold=}; "
|
|
174
|
+
"set foreground_threshold=-1 to compute statistics over whole images."
|
|
175
|
+
)
|
|
169
176
|
self.data_max, self.data_min = max(voxel_max), min(voxel_min)
|
|
170
177
|
self.data_mean = (voxel_sum / voxel_ct).item()
|
|
171
178
|
self.data_std = (torch.sqrt(voxel_square_sum / voxel_ct - self.data_mean**2)).item()
|
|
@@ -204,11 +211,17 @@ class DatasetSummary:
|
|
|
204
211
|
label, *_ = convert_data_type(data=label, output_type=torch.Tensor)
|
|
205
212
|
|
|
206
213
|
intensities = image[torch.where(label > foreground_threshold)].tolist()
|
|
207
|
-
if
|
|
208
|
-
|
|
209
|
-
|
|
214
|
+
if intensities:
|
|
215
|
+
if sampling_flag:
|
|
216
|
+
intensities = intensities[::interval]
|
|
217
|
+
all_intensities.append(intensities)
|
|
210
218
|
|
|
211
219
|
all_intensities = list(chain(*all_intensities))
|
|
220
|
+
if not all_intensities:
|
|
221
|
+
raise ValueError(
|
|
222
|
+
f"No foreground voxels found in any sample with {foreground_threshold=}; "
|
|
223
|
+
"set foreground_threshold=-1 to compute statistics over whole images."
|
|
224
|
+
)
|
|
212
225
|
self.data_min_percentile, self.data_max_percentile = np.percentile(
|
|
213
226
|
all_intensities, [min_percentile, max_percentile]
|
|
214
227
|
)
|
|
@@ -266,12 +266,13 @@ class ImageWriter:
|
|
|
266
266
|
The output data type of this method is always ``np.float32``.
|
|
267
267
|
"""
|
|
268
268
|
orig_type = type(data_array)
|
|
269
|
-
|
|
269
|
+
# Add the channel dimension before setting the affine so spatial_ndim is inferred correctly.
|
|
270
|
+
data_array = convert_to_tensor(data_array, track_meta=True)[None]
|
|
270
271
|
if affine is not None:
|
|
271
272
|
data_array.affine = convert_to_tensor(affine, track_meta=False) # type: ignore
|
|
272
273
|
resampler = SpatialResample(mode=mode, padding_mode=padding_mode, align_corners=align_corners, dtype=dtype)
|
|
273
274
|
output_array = resampler(
|
|
274
|
-
data_array
|
|
275
|
+
data_array, dst_affine=target_affine, spatial_size=output_spatial_shape # type: ignore
|
|
275
276
|
)
|
|
276
277
|
# convert back at the end
|
|
277
278
|
if isinstance(output_array, MetaTensor):
|
|
@@ -133,7 +133,7 @@ def create_test_image_3d(
|
|
|
133
133
|
if rad_max <= rad_min:
|
|
134
134
|
raise ValueError(f"`rad_min` {rad_min} should be less than `rad_max` {rad_max}.")
|
|
135
135
|
if rad_min < 1:
|
|
136
|
-
raise ValueError("
|
|
136
|
+
raise ValueError(f"`rad_min` {rad_min} should be no less than 1.")
|
|
137
137
|
min_size = min(height, width, depth)
|
|
138
138
|
if min_size <= 2 * rad_max:
|
|
139
139
|
raise ValueError(f"the minimal size {min_size} of the image should be larger than `2 * rad_max` 2x{rad_max}.")
|
|
@@ -686,28 +686,40 @@ def worker_init_fn(worker_id: int) -> None:
|
|
|
686
686
|
set_rnd(worker_info.dataset, seed=worker_info.seed) # type: ignore[union-attr]
|
|
687
687
|
|
|
688
688
|
|
|
689
|
-
def set_rnd(obj, seed: int) -> int:
|
|
689
|
+
def set_rnd(obj, seed: int, _seen: set[int] | None = None) -> int:
|
|
690
690
|
"""
|
|
691
691
|
Set seed or random state for all randomizable properties of obj.
|
|
692
692
|
|
|
693
693
|
Args:
|
|
694
694
|
obj: object to set seed or random state for.
|
|
695
695
|
seed: set the random state with an integer seed.
|
|
696
|
+
_seen: internal set of already-visited object ids, used to guard against
|
|
697
|
+
infinite recursion on cyclic object graphs (e.g. OmegaConf/Hydra
|
|
698
|
+
configs whose child nodes back-reference their parent, see issue #8087).
|
|
696
699
|
"""
|
|
700
|
+
if _seen is None:
|
|
701
|
+
_seen = set()
|
|
697
702
|
if isinstance(obj, (tuple, list)): # ZipDataset.data is a list
|
|
698
|
-
|
|
703
|
+
if id(obj) in _seen:
|
|
704
|
+
return seed
|
|
705
|
+
_seen.add(id(obj))
|
|
706
|
+
has_randomizable = False
|
|
699
707
|
for item in obj:
|
|
700
|
-
|
|
701
|
-
|
|
708
|
+
item_seed = set_rnd(item, seed=seed, _seen=_seen)
|
|
709
|
+
has_randomizable = has_randomizable or item_seed != seed
|
|
710
|
+
return seed + 1 if has_randomizable else seed
|
|
702
711
|
if not hasattr(obj, "__dict__"):
|
|
703
712
|
return seed # no attribute
|
|
713
|
+
if id(obj) in _seen:
|
|
714
|
+
return seed # already visited: avoid infinite recursion on cyclic references
|
|
715
|
+
_seen.add(id(obj))
|
|
704
716
|
if hasattr(obj, "set_random_state"):
|
|
705
717
|
obj.set_random_state(seed=seed % MAX_SEED)
|
|
706
718
|
return seed + 1 # a different seed for the next component
|
|
707
719
|
for key in obj.__dict__:
|
|
708
720
|
if key.startswith("__"): # skip the private methods
|
|
709
721
|
continue
|
|
710
|
-
seed = set_rnd(obj.__dict__[key], seed=seed)
|
|
722
|
+
seed = set_rnd(obj.__dict__[key], seed=seed, _seen=_seen)
|
|
711
723
|
return seed
|
|
712
724
|
|
|
713
725
|
|
|
@@ -59,8 +59,8 @@ class CalibrationError(IgniteMetricHandler):
|
|
|
59
59
|
- Guo, C., et al. "On Calibration of Modern Neural Networks." ICML 2017.
|
|
60
60
|
https://proceedings.mlr.press/v70/guo17a.html
|
|
61
61
|
- Barfoot, T., et al. "Average Calibration Losses for Reliable Uncertainty in
|
|
62
|
-
Medical Image Segmentation."
|
|
63
|
-
https://
|
|
62
|
+
Medical Image Segmentation." IEEE Transactions on Medical Imaging, 2026.
|
|
63
|
+
https://doi.org/10.1109/TMI.2026.3673118
|
|
64
64
|
|
|
65
65
|
See Also:
|
|
66
66
|
- :py:class:`~monai.metrics.CalibrationErrorMetric`: The underlying metric class.
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
from __future__ import annotations
|
|
13
13
|
|
|
14
14
|
import os
|
|
15
|
+
import threading
|
|
15
16
|
import time
|
|
16
17
|
import warnings
|
|
17
18
|
from collections.abc import Callable, Mapping, Sequence
|
|
@@ -43,6 +44,9 @@ MlflowException, _ = optional_import(
|
|
|
43
44
|
)
|
|
44
45
|
pandas, _ = optional_import("pandas", descriptor="Please install pandas for recording the dataset.")
|
|
45
46
|
tqdm, _ = optional_import("tqdm", "4.47.0", min_version, "tqdm")
|
|
47
|
+
SystemMetricsMonitor, has_system_metrics = optional_import(
|
|
48
|
+
"mlflow.system_metrics.system_metrics_monitor", name="SystemMetricsMonitor"
|
|
49
|
+
)
|
|
46
50
|
|
|
47
51
|
if TYPE_CHECKING:
|
|
48
52
|
from ignite.engine import Engine
|
|
@@ -136,6 +140,19 @@ class MLFlowHandler:
|
|
|
136
140
|
or the ``MLFLOW_TRACKING_URI`` environment variable), it defaults to an ``mlruns`` directory
|
|
137
141
|
next to the database file; for other backends ``None`` lets MLflow decide based on the
|
|
138
142
|
``tracking_uri``. Has no effect if the experiment already exists.
|
|
143
|
+
log_system_metrics: whether to record system resource usage (CPU, memory, disk, network and GPU)
|
|
144
|
+
while the workflow runs, default to False. The metrics are sampled in a background thread by
|
|
145
|
+
MLflow itself and stored in the same run as the workflow metrics, under the `system/` prefix.
|
|
146
|
+
Requires `psutil`, and `pynvml` in addition for the GPU metrics. Note that MLflow reads the
|
|
147
|
+
run through the global tracking URI to sample it, so this points the global tracking URI
|
|
148
|
+
(and with it `MLFLOW_TRACKING_URI`, which later handlers read in preference to their own
|
|
149
|
+
argument) at `tracking_uri` while the run is sampled, and puts the previous value back
|
|
150
|
+
when sampling stops.
|
|
151
|
+
system_metrics_sampling_interval: seconds between two samples of the system metrics, default to
|
|
152
|
+
`None`, which keeps the MLflow default (10 seconds). Only used if `log_system_metrics` is True.
|
|
153
|
+
system_metrics_samples_before_logging: number of samples to aggregate before they are logged,
|
|
154
|
+
default to `None`, which keeps the MLflow default (1 sample). Only used if `log_system_metrics`
|
|
155
|
+
is True.
|
|
139
156
|
|
|
140
157
|
For more details of MLFlow usage, please refer to: https://mlflow.org/docs/latest/index.html.
|
|
141
158
|
|
|
@@ -144,6 +161,10 @@ class MLFlowHandler:
|
|
|
144
161
|
# parameters that are logged at the start of training
|
|
145
162
|
default_tracking_params = ["max_epochs", "epoch_length"]
|
|
146
163
|
|
|
164
|
+
# runs whose system metrics are being sampled, so that handlers sharing a run sample it once
|
|
165
|
+
_monitored_run_ids: set[str] = set()
|
|
166
|
+
_system_metrics_lock = threading.Lock()
|
|
167
|
+
|
|
147
168
|
def __init__(
|
|
148
169
|
self,
|
|
149
170
|
tracking_uri: str | None = None,
|
|
@@ -165,6 +186,9 @@ class MLFlowHandler:
|
|
|
165
186
|
optimizer_param_names: str | Sequence[str] = "lr",
|
|
166
187
|
close_on_complete: bool = False,
|
|
167
188
|
artifact_location: str | None = None,
|
|
189
|
+
log_system_metrics: bool = False,
|
|
190
|
+
system_metrics_sampling_interval: int | None = None,
|
|
191
|
+
system_metrics_samples_before_logging: int | None = None,
|
|
168
192
|
) -> None:
|
|
169
193
|
self.iteration_log = iteration_log
|
|
170
194
|
self.epoch_log = epoch_log
|
|
@@ -210,11 +234,27 @@ class MLFlowHandler:
|
|
|
210
234
|
f"tracking_uri={effective_tracking_uri!r}. Use a SQLite URI "
|
|
211
235
|
"(sqlite:///<path>/mlruns.db) or a remote tracking URI instead."
|
|
212
236
|
)
|
|
237
|
+
# The system metrics monitor reads the run through the global tracking uri,
|
|
238
|
+
# so remember the uri that was actually settled on rather than the argument.
|
|
239
|
+
self.tracking_uri = effective_tracking_uri
|
|
213
240
|
# Only the argument is passed to the client; when `MLFLOW_TRACKING_URI` took priority it
|
|
214
241
|
# is left None so MLflow resolves the environment variable itself.
|
|
215
242
|
self.client = mlflow.MlflowClient(tracking_uri=None if env_tracking_uri else tracking_uri)
|
|
216
243
|
self.run_finish_status = mlflow.entities.RunStatus.to_string(mlflow.entities.RunStatus.FINISHED)
|
|
217
244
|
self.close_on_complete = close_on_complete
|
|
245
|
+
self.log_system_metrics = log_system_metrics
|
|
246
|
+
for name, value in (
|
|
247
|
+
("system_metrics_sampling_interval", system_metrics_sampling_interval),
|
|
248
|
+
("system_metrics_samples_before_logging", system_metrics_samples_before_logging),
|
|
249
|
+
):
|
|
250
|
+
if value is not None and value <= 0:
|
|
251
|
+
raise ValueError(f"`{name}` must be a positive number, got {value}.")
|
|
252
|
+
self.system_metrics_sampling_interval = system_metrics_sampling_interval
|
|
253
|
+
self.system_metrics_samples_before_logging = system_metrics_samples_before_logging
|
|
254
|
+
self.system_metrics_monitor = None
|
|
255
|
+
self._monitored_run_id: str | None = None
|
|
256
|
+
self._previous_tracking_uri: str | None = None
|
|
257
|
+
self._tracking_uri_overridden = False
|
|
218
258
|
self.experiment = None
|
|
219
259
|
self.cur_run = None
|
|
220
260
|
self.dataset_dict = dataset_dict
|
|
@@ -295,6 +335,81 @@ class MLFlowHandler:
|
|
|
295
335
|
else:
|
|
296
336
|
self._default_dataset_log(self.dataset_dict)
|
|
297
337
|
|
|
338
|
+
if self.log_system_metrics:
|
|
339
|
+
self._start_system_metrics_monitor()
|
|
340
|
+
|
|
341
|
+
def _start_system_metrics_monitor(self) -> None:
|
|
342
|
+
"""
|
|
343
|
+
Start sampling the system resource usage of the current run, if it is not sampled yet.
|
|
344
|
+
|
|
345
|
+
A workflow attaches one handler per engine, and those handlers share a run, so the run is
|
|
346
|
+
sampled by the first handler that starts and left alone by the other ones.
|
|
347
|
+
"""
|
|
348
|
+
if self.system_metrics_monitor is not None or self.cur_run is None:
|
|
349
|
+
return
|
|
350
|
+
|
|
351
|
+
if not has_system_metrics:
|
|
352
|
+
warnings.warn("Please install mlflow>=2.8.0 to record the system metrics.")
|
|
353
|
+
return
|
|
354
|
+
|
|
355
|
+
run_id = self.cur_run.info.run_id
|
|
356
|
+
with MLFlowHandler._system_metrics_lock:
|
|
357
|
+
if run_id in MLFlowHandler._monitored_run_ids:
|
|
358
|
+
return
|
|
359
|
+
|
|
360
|
+
kwargs = {}
|
|
361
|
+
if self.system_metrics_sampling_interval is not None:
|
|
362
|
+
kwargs["sampling_interval"] = self.system_metrics_sampling_interval
|
|
363
|
+
if self.system_metrics_samples_before_logging is not None:
|
|
364
|
+
kwargs["samples_before_logging"] = self.system_metrics_samples_before_logging
|
|
365
|
+
|
|
366
|
+
# mlflow reads the run to sample through the global tracking uri, not through
|
|
367
|
+
# the client, so it has to be pointed at ours for as long as we sample. Setting
|
|
368
|
+
# it also writes MLFLOW_TRACKING_URI, which every later handler reads in
|
|
369
|
+
# preference to its own argument, so the previous value is put back when
|
|
370
|
+
# sampling stops. `None` is a meaningful previous value, meaning it was unset,
|
|
371
|
+
# and passing it back to mlflow restores exactly that.
|
|
372
|
+
previous_tracking_uri = os.environ.get("MLFLOW_TRACKING_URI")
|
|
373
|
+
overridden = False
|
|
374
|
+
try:
|
|
375
|
+
if self.tracking_uri:
|
|
376
|
+
mlflow.set_tracking_uri(self.tracking_uri)
|
|
377
|
+
overridden = True
|
|
378
|
+
monitor = SystemMetricsMonitor(run_id, **kwargs)
|
|
379
|
+
monitor.start()
|
|
380
|
+
except Exception as e:
|
|
381
|
+
# a workflow should not fail because its resource usage cannot be recorded
|
|
382
|
+
if overridden:
|
|
383
|
+
mlflow.set_tracking_uri(previous_tracking_uri)
|
|
384
|
+
warnings.warn(f"Failed to record the system metrics: {e}")
|
|
385
|
+
return
|
|
386
|
+
self._previous_tracking_uri = previous_tracking_uri
|
|
387
|
+
self._tracking_uri_overridden = overridden
|
|
388
|
+
|
|
389
|
+
MLFlowHandler._monitored_run_ids.add(run_id)
|
|
390
|
+
self.system_metrics_monitor = monitor
|
|
391
|
+
self._monitored_run_id = run_id
|
|
392
|
+
|
|
393
|
+
def _stop_system_metrics_monitor(self) -> None:
|
|
394
|
+
"""
|
|
395
|
+
Stop sampling the system resource usage, if this handler is the one sampling it.
|
|
396
|
+
"""
|
|
397
|
+
if self.system_metrics_monitor is None:
|
|
398
|
+
return
|
|
399
|
+
|
|
400
|
+
with MLFlowHandler._system_metrics_lock:
|
|
401
|
+
try:
|
|
402
|
+
self.system_metrics_monitor.finish()
|
|
403
|
+
except Exception as e:
|
|
404
|
+
warnings.warn(f"Failed to stop recording the system metrics: {e}")
|
|
405
|
+
if self._tracking_uri_overridden:
|
|
406
|
+
mlflow.set_tracking_uri(self._previous_tracking_uri)
|
|
407
|
+
self._tracking_uri_overridden = False
|
|
408
|
+
self._previous_tracking_uri = None
|
|
409
|
+
MLFlowHandler._monitored_run_ids.discard(self._monitored_run_id)
|
|
410
|
+
self.system_metrics_monitor = None
|
|
411
|
+
self._monitored_run_id = None
|
|
412
|
+
|
|
298
413
|
def _set_experiment(self):
|
|
299
414
|
experiment = self.experiment
|
|
300
415
|
if not experiment:
|
|
@@ -394,6 +509,8 @@ class MLFlowHandler:
|
|
|
394
509
|
"""
|
|
395
510
|
Handler for train or validation/evaluation completed Event.
|
|
396
511
|
"""
|
|
512
|
+
self._stop_system_metrics_monitor()
|
|
513
|
+
|
|
397
514
|
if self.artifacts and self.cur_run:
|
|
398
515
|
artifact_list = self._parse_artifacts()
|
|
399
516
|
for artifact in artifact_list:
|
|
@@ -430,6 +547,8 @@ class MLFlowHandler:
|
|
|
430
547
|
Stop current running logger of MLFlow and release local SQLite resources.
|
|
431
548
|
|
|
432
549
|
"""
|
|
550
|
+
self._stop_system_metrics_monitor()
|
|
551
|
+
|
|
433
552
|
try:
|
|
434
553
|
if self.cur_run:
|
|
435
554
|
self.client.set_terminated(self.cur_run.info.run_id, self.run_finish_status)
|
|
@@ -1251,7 +1251,7 @@ class DiffusionInferer(Inferer):
|
|
|
1251
1251
|
given image. Code adapted from https://github.com/openai/improved-diffusion.
|
|
1252
1252
|
|
|
1253
1253
|
Args:
|
|
1254
|
-
|
|
1254
|
+
inputs: the target images. It is assumed that this was uint8 values,
|
|
1255
1255
|
rescaled to the range [-1, 1].
|
|
1256
1256
|
means: the Gaussian mean Tensor.
|
|
1257
1257
|
log_scales: the Gaussian log stddev Tensor.
|
|
@@ -1987,8 +1987,8 @@ class ControlNetLatentDiffusionInferer(ControlNetDiffusionInferer):
|
|
|
1987
1987
|
and autoencoder_model.decoder.label_nc != diffusion_model.label_nc
|
|
1988
1988
|
):
|
|
1989
1989
|
raise ValueError(
|
|
1990
|
-
"If both autoencoder_model and diffusion_model implement SPADE, the number of semantic"
|
|
1991
|
-
"labels for each must be compatible. Got {autoencoder_model.decoder.label_nc} and {diffusion_model.label_nc}"
|
|
1990
|
+
"If both autoencoder_model and diffusion_model implement SPADE, the number of semantic "
|
|
1991
|
+
f"labels for each must be compatible. Got {autoencoder_model.decoder.label_nc} and {diffusion_model.label_nc}"
|
|
1992
1992
|
)
|
|
1993
1993
|
|
|
1994
1994
|
if cn_cond.shape[2:] != input_noise.shape[2:]:
|
|
@@ -15,6 +15,7 @@ from .adversarial_loss import PatchAdversarialLoss
|
|
|
15
15
|
from .aucm_loss import AUCMLoss
|
|
16
16
|
from .barlow_twins import BarlowTwinsLoss
|
|
17
17
|
from .boundary_loss import BoundaryLoss
|
|
18
|
+
from .calibration import HardL1ACELoss, SoftL1ACELoss
|
|
18
19
|
from .cldice import SoftclDiceLoss, SoftDiceclDiceLoss
|
|
19
20
|
from .contrastive import ContrastiveLoss
|
|
20
21
|
from .deform import BendingEnergyLoss, DiffusionLoss
|
|
@@ -78,7 +78,7 @@ class BarlowTwinsLoss(_Loss):
|
|
|
78
78
|
c = torch.mm(input_norm.t(), target_norm) / batch_size # input_norm.t() is FxB, target_norm is BxF so c is FxF
|
|
79
79
|
|
|
80
80
|
# loss
|
|
81
|
-
c_diff = (c - torch.eye(c.size(0), device=c.device)).pow_(2) # FxF
|
|
81
|
+
c_diff = (c - torch.eye(c.size(0), dtype=c.dtype, device=c.device)).pow_(2) # FxF
|
|
82
82
|
c_diff[~torch.eye(c.size(0), device=c.device).bool()] *= lambd_tensor
|
|
83
83
|
|
|
84
84
|
return c_diff.sum()
|