monai-weekly 1.5.dev2447__tar.gz → 1.5.dev2448__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.5.dev2447 → monai_weekly-1.5.dev2448}/PKG-INFO +4 -1
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/__init__.py +1 -1
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/_version.py +3 -3
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/bundle/__init__.py +1 -1
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/bundle/reference_resolver.py +10 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/bundle/workflows.py +187 -22
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/selfattention.py +18 -4
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/transformerblock.py +4 -2
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/__init__.py +1 -0
- monai_weekly-1.5.dev2448/monai/networks/nets/masked_autoencoder_vit.py +211 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/swin_unetr.py +24 -12
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/__init__.py +9 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/utility/array.py +103 -6
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/utility/dictionary.py +67 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/utils/module.py +3 -3
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai_weekly.egg-info/PKG-INFO +4 -1
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai_weekly.egg-info/SOURCES.txt +6 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai_weekly.egg-info/requires.txt +4 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/setup.cfg +3 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_bundle_trt_export.py +1 -1
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_bundle_workflow.py +105 -4
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_convert_to_trt.py +1 -1
- monai_weekly-1.5.dev2448/tests/test_masked_autoencoder_vit.py +160 -0
- monai_weekly-1.5.dev2448/tests/test_rand_torchio.py +54 -0
- monai_weekly-1.5.dev2448/tests/test_rand_torchiod.py +44 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_selfattention.py +18 -0
- monai_weekly-1.5.dev2448/tests/test_torchio.py +41 -0
- monai_weekly-1.5.dev2448/tests/test_torchiod.py +47 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_trt_compile.py +1 -1
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_version_after.py +1 -1
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/LICENSE +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/MANIFEST.in +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/README.md +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/_extensions/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/_extensions/gmm/gmm.cpp +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/_extensions/gmm/gmm.h +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/_extensions/gmm/gmm_cpu.cpp +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/_extensions/gmm/gmm_cuda.cu +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/_extensions/gmm/gmm_cuda_linalg.cuh +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/_extensions/loader.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/auto3dseg/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/auto3dseg/__main__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/auto3dseg/auto_runner.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/auto3dseg/bundle_gen.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/auto3dseg/data_analyzer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/auto3dseg/ensemble_builder.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/auto3dseg/hpo_gen.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/auto3dseg/transforms.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/auto3dseg/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/datasets.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/deepedit/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/deepedit/interaction.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/deepedit/transforms.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/deepgrow/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/deepgrow/dataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/deepgrow/interaction.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/deepgrow/transforms.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/detection/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/detection/metrics/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/detection/metrics/coco.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/detection/metrics/matching.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/detection/networks/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/detection/networks/retinanet_detector.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/detection/networks/retinanet_network.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/detection/transforms/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/detection/transforms/array.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/detection/transforms/box_ops.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/detection/transforms/dictionary.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/detection/utils/ATSS_matcher.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/detection/utils/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/detection/utils/anchor_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/detection/utils/box_coder.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/detection/utils/box_selector.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/detection/utils/detector_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/detection/utils/hard_negative_sampler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/detection/utils/predict_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/generation/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/generation/maisi/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/generation/maisi/networks/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/generation/maisi/networks/autoencoderkl_maisi.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/generation/maisi/networks/controlnet_maisi.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/generation/maisi/networks/diffusion_model_unet_maisi.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/mmars/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/mmars/mmars.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/mmars/model_desc.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/nnunet/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/nnunet/__main__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/nnunet/nnunetv2_runner.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/nnunet/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/nuclick/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/nuclick/transforms.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/pathology/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/pathology/engines/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/pathology/engines/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/pathology/handlers/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/pathology/handlers/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/pathology/inferers/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/pathology/inferers/inferer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/pathology/losses/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/pathology/losses/hovernet_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/pathology/metrics/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/pathology/metrics/lesion_froc.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/pathology/transforms/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/pathology/transforms/post/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/pathology/transforms/post/array.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/pathology/transforms/post/dictionary.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/pathology/transforms/stain/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/pathology/transforms/stain/array.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/pathology/transforms/stain/dictionary.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/pathology/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/reconstruction/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/reconstruction/complex_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/reconstruction/fastmri_reader.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/reconstruction/mri_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/reconstruction/networks/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/reconstruction/networks/blocks/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/reconstruction/networks/blocks/varnetblock.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/reconstruction/networks/nets/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/reconstruction/networks/nets/coil_sensitivity_model.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/reconstruction/networks/nets/complex_unet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/reconstruction/networks/nets/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/reconstruction/networks/nets/varnet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/reconstruction/transforms/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/reconstruction/transforms/array.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/reconstruction/transforms/dictionary.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/tcia/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/tcia/label_desc.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/tcia/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/vista3d/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/vista3d/inferer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/vista3d/sampler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/apps/vista3d/transforms.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/auto3dseg/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/auto3dseg/algo_gen.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/auto3dseg/analyzer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/auto3dseg/operations.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/auto3dseg/seg_summarizer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/auto3dseg/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/bundle/__main__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/bundle/config_item.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/bundle/config_parser.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/bundle/properties.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/bundle/scripts.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/bundle/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/config/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/config/deviceconfig.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/config/type_definitions.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/box_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/csv_saver.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/dataloader.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/dataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/dataset_summary.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/decathlon_datalist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/fft_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/folder_layout.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/grid_dataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/image_dataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/image_reader.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/image_writer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/iterable_dataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/itk_torch_bridge.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/meta_obj.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/meta_tensor.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/samplers.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/synthetic.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/test_time_augmentation.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/thread_buffer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/torchscript_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/ultrasound_confidence_map.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/video_dataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/wsi_datasets.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/data/wsi_reader.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/engines/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/engines/evaluator.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/engines/trainer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/engines/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/engines/workflow.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/fl/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/fl/client/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/fl/client/client_algo.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/fl/client/monai_algo.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/fl/utils/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/fl/utils/constants.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/fl/utils/exchange_object.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/fl/utils/filters.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/checkpoint_loader.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/checkpoint_saver.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/classification_saver.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/clearml_handlers.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/confusion_matrix.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/decollate_batch.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/earlystop_handler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/garbage_collector.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/hausdorff_distance.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/ignite_metric.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/logfile_handler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/lr_schedule_handler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/mean_dice.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/mean_iou.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/metric_logger.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/metrics_reloaded_handler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/metrics_saver.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/mlflow_handler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/nvtx_handlers.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/panoptic_quality.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/parameter_scheduler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/postprocessing.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/probability_maps.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/regression_metrics.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/roc_auc.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/smartcache_handler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/stats_handler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/surface_distance.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/tensorboard_handlers.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/trt_handler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/handlers/validation_handler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/inferers/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/inferers/inferer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/inferers/merger.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/inferers/splitter.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/inferers/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/adversarial_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/barlow_twins.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/cldice.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/contrastive.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/deform.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/dice.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/ds_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/focal_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/giou_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/hausdorff_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/image_dissimilarity.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/multi_scale.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/nacl_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/perceptual.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/spatial_mask.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/spectral_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/ssim_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/sure_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/tversky.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/losses/unified_focal_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/active_learning_metrics.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/confusion_matrix.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/cumulative_average.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/f_beta_score.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/fid.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/froc.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/generalized_dice.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/hausdorff_distance.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/loss_metric.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/meandice.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/meaniou.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/metric.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/mmd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/panoptic_quality.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/regression.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/rocauc.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/surface_dice.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/surface_distance.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/metrics/wrapper.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/acti_norm.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/activation.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/aspp.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/attention_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/backbone_fpn_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/convolutions.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/crf.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/crossattention.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/denseblock.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/dints_block.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/downsample.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/dynunet_block.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/encoder.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/fcn.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/feature_pyramid_network.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/fft_utils_t.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/localnet_block.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/mednext_block.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/mlp.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/patchembedding.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/pos_embed_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/regunet_block.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/rel_pos_embedding.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/segresnet_block.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/spade_norm.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/spatialattention.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/squeeze_and_excitation.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/text_embedding.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/unetr_block.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/upsample.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/warp.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/layers/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/layers/conjugate_gradient.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/layers/convutils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/layers/drop_path.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/layers/factories.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/layers/filtering.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/layers/gmm.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/layers/simplelayers.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/layers/spatial_transforms.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/layers/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/layers/vector_quantizer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/layers/weight_init.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/ahnet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/attentionunet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/autoencoder.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/autoencoderkl.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/basic_unet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/basic_unetplusplus.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/cell_sam_wrapper.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/classifier.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/controlnet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/daf3d.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/densenet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/diffusion_model_unet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/dints.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/dynunet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/efficientnet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/flexible_unet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/fullyconnectednet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/generator.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/highresnet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/hovernet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/mednext.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/milmodel.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/netadapter.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/patchgan_discriminator.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/quicknat.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/regressor.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/regunet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/resnet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/segresnet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/segresnet_ds.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/senet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/spade_autoencoderkl.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/spade_diffusion_model_unet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/spade_network.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/torchvision_fc.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/transchex.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/transformer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/unet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/unetr.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/varautoencoder.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/vista3d.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/vit.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/vitautoenc.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/vnet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/voxelmorph.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/nets/vqvae.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/schedulers/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/schedulers/ddim.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/schedulers/ddpm.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/schedulers/pndm.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/schedulers/scheduler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/trt_compiler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/optimizers/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/optimizers/lr_finder.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/optimizers/lr_scheduler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/optimizers/novograd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/optimizers/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/py.typed +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/adaptors.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/compose.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/croppad/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/croppad/array.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/croppad/batch.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/croppad/dictionary.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/croppad/functional.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/intensity/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/intensity/array.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/intensity/dictionary.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/inverse.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/inverse_batch_transform.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/io/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/io/array.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/io/dictionary.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/lazy/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/lazy/array.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/lazy/dictionary.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/lazy/functional.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/lazy/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/meta_utility/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/meta_utility/dictionary.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/nvtx.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/post/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/post/array.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/post/dictionary.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/regularization/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/regularization/array.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/regularization/dictionary.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/signal/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/signal/array.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/signal/dictionary.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/smooth_field/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/smooth_field/array.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/smooth_field/dictionary.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/spatial/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/spatial/array.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/spatial/dictionary.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/spatial/functional.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/traits.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/transform.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/utility/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/utils_create_transform_ims.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/utils_morphological_ops.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/transforms/utils_pytorch_numpy_unification.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/utils/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/utils/component_store.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/utils/decorators.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/utils/deprecate_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/utils/dist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/utils/enums.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/utils/jupyter_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/utils/misc.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/utils/nvtx.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/utils/ordering.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/utils/profiling.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/utils/state_cacher.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/utils/tf32.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/utils/type_conversion.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/visualize/__init__.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/visualize/class_activation_maps.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/visualize/gradient_based.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/visualize/img2tensorboard.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/visualize/occlusion_sensitivity.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/visualize/utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/visualize/visualizer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai_weekly.egg-info/dependency_links.txt +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai_weekly.egg-info/not-zip-safe +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai_weekly.egg-info/top_level.txt +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/pyproject.toml +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/setup.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_acn_block.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_activations.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_activationsd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_adaptors.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_add_coordinate_channels.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_add_coordinate_channelsd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_add_extreme_points_channel.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_add_extreme_points_channeld.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_adjust_contrast.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_adjust_contrastd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_adn.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_adversarial_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_affine.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_affine_grid.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_affine_transform.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_affined.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_ahnet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_alias.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_anchor_box.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_apply.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_apply_filter.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_apply_transform_to_points.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_apply_transform_to_pointsd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_arraydataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_as_channel_last.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_as_channel_lastd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_as_discrete.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_as_discreted.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_atss_box_matcher.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_attentionunet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_auto3dseg.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_auto3dseg_bundlegen.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_auto3dseg_ensemble.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_auto3dseg_hpo.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_autoencoder.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_autoencoderkl.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_autoencoderkl_maisi.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_avg_merger.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_barlow_twins_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_basic_unet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_basic_unetplusplus.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_bending_energy.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_bilateral_approx_cpu.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_bilateral_approx_cuda.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_bilateral_precise.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_blend_images.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_border_pad.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_border_padd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_bounding_rect.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_bounding_rectd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_box_coder.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_box_transform.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_box_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_bundle_ckpt_export.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_bundle_download.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_bundle_get_data.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_bundle_init_bundle.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_bundle_onnx_export.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_bundle_push_to_hf_hub.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_bundle_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_bundle_verify_metadata.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_bundle_verify_net.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_cachedataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_cachedataset_parallel.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_cachedataset_persistent_workers.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_cachentransdataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_call_dist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_cast_to_type.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_cast_to_typed.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_cell_sam_wrapper.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_center_scale_crop.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_center_scale_cropd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_center_spatial_crop.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_center_spatial_cropd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_channel_pad.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_check_hash.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_check_missing_files.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_classes_to_indices.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_classes_to_indicesd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_cldice_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_clip_intensity_percentiles.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_clip_intensity_percentilesd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_complex_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_component_locator.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_component_store.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_compose.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_compose_get_number_conversions.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_compute_confusion_matrix.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_compute_f_beta.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_compute_fid_metric.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_compute_froc.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_compute_generalized_dice.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_compute_ho_ver_maps.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_compute_ho_ver_maps_d.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_compute_meandice.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_compute_meaniou.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_compute_mmd_metric.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_compute_multiscalessim_metric.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_compute_panoptic_quality.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_compute_regression_metrics.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_compute_roc_auc.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_compute_variance.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_concat_itemsd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_config_item.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_config_parser.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_conjugate_gradient.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_contrastive_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_controlnet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_controlnet_inferers.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_controlnet_maisi.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_convert_box_points.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_convert_data_type.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_convert_to_multi_channel.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_convert_to_multi_channeld.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_convert_to_onnx.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_convert_to_torchscript.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_convolutions.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_copy_itemsd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_copy_model_state.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_correct_crop_centers.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_create_cross_validation_datalist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_create_grid_and_affine.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_crf_cpu.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_crf_cuda.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_crop_foreground.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_crop_foregroundd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_cross_validation.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_crossattention.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_csv_dataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_csv_iterable_dataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_csv_saver.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_cucim_dict_transform.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_cucim_transform.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_cumulative.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_cumulative_average.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_cumulative_average_dist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_cv2_dist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_daf3d.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_data_stats.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_data_statsd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_dataloader.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_dataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_dataset_func.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_dataset_summary.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_decathlondataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_decollate.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_deepedit_interaction.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_deepedit_transforms.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_deepgrow_dataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_deepgrow_interaction.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_deepgrow_transforms.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_delete_itemsd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_denseblock.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_densenet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_deprecated.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_detect_envelope.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_detection_coco_metrics.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_detector_boxselector.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_detector_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_dev_collate.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_dice_ce_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_dice_focal_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_dice_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_diffusion_inferer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_diffusion_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_diffusion_model_unet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_diffusion_model_unet_maisi.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_dints_cell.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_dints_mixop.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_dints_network.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_discriminator.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_distance_transform_edt.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_divisible_pad.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_divisible_padd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_download_and_extract.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_download_url_yandex.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_downsample_block.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_drop_path.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_ds_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_dvf2ddf.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_dynunet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_dynunet_block.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_efficientnet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_ensemble_evaluator.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_ensure_channel_first.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_ensure_channel_firstd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_ensure_tuple.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_ensure_type.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_ensure_typed.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_enum_bound_interp.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_eval_mode.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_evenly_divisible_all_gather_dist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_factorized_increase.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_factorized_reduce.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_fastmri_reader.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_fft_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_fg_bg_to_indices.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_fg_bg_to_indicesd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_file_basename.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_fill_holes.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_fill_holesd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_fl_exchange_object.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_fl_monai_algo.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_fl_monai_algo_dist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_fl_monai_algo_stats.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_flatten_sub_keysd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_flexible_unet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_flip.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_flipd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_focal_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_folder_layout.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_foreground_mask.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_foreground_maskd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_fourier.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_fpn_block.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_freeze_layers.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_from_engine_hovernet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_fullyconnectednet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_gaussian.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_gaussian_filter.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_gaussian_sharpen.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_gaussian_sharpend.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_gaussian_smooth.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_gaussian_smoothd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_gdsdataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generalized_dice_focal_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generalized_dice_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generalized_wasserstein_dice_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generate_distance_map.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generate_distance_mapd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generate_instance_border.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generate_instance_borderd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generate_instance_centroid.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generate_instance_centroidd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generate_instance_contour.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generate_instance_contourd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generate_instance_type.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generate_instance_typed.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generate_label_classes_crop_centers.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generate_param_groups.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generate_pos_neg_label_crop_centers.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generate_spatial_bounding_box.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generate_succinct_contour.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generate_succinct_contourd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generate_watershed_markers.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generate_watershed_markersd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generate_watershed_mask.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generate_watershed_maskd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_generator.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_get_equivalent_dtype.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_get_extreme_points.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_get_layers.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_get_package_version.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_get_unique_labels.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_gibbs_noise.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_gibbs_noised.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_giou_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_global_mutual_information_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_globalnet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_gmm.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_grid_dataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_grid_distortion.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_grid_distortiond.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_grid_patch.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_grid_patchd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_grid_pull.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_grid_split.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_grid_splitd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_checkpoint_loader.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_checkpoint_saver.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_classification_saver.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_classification_saver_dist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_clearml_image.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_clearml_stats.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_confusion_matrix.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_confusion_matrix_dist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_decollate_batch.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_early_stop.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_garbage_collector.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_hausdorff_distance.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_ignite_metric.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_logfile.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_lr_scheduler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_mean_dice.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_mean_iou.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_metric_logger.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_metrics_reloaded.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_metrics_saver.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_metrics_saver_dist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_mlflow.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_nvtx.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_panoptic_quality.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_parameter_scheduler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_post_processing.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_prob_map_producer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_regression_metrics.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_regression_metrics_dist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_rocauc.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_rocauc_dist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_smartcache.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_stats.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_surface_distance.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_tb_image.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_tb_stats.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_handler_validation.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_hardnegsampler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_hashing.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_hausdorff_distance.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_hausdorff_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_header_correct.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_highresnet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_hilbert_transform.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_histogram_normalize.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_histogram_normalized.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_hovernet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_hovernet_instance_map_post_processing.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_hovernet_instance_map_post_processingd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_hovernet_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_hovernet_nuclear_type_post_processing.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_hovernet_nuclear_type_post_processingd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_identity.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_identityd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_image_dataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_image_filter.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_image_rw.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_img2tensorboard.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_init_reader.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_integration_autorunner.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_integration_bundle_run.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_integration_classification_2d.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_integration_determinism.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_integration_fast_train.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_integration_gpu_customization.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_integration_lazy_samples.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_integration_nnunetv2_runner.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_integration_segmentation_3d.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_integration_sliding_window.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_integration_stn.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_integration_unet_2d.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_integration_workers.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_integration_workflows.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_integration_workflows_adversarial.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_integration_workflows_gan.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_intensity_stats.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_intensity_statsd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_inverse.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_inverse_array.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_inverse_collation.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_invert.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_invertd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_is_supported_format.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_iterable_dataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_itk_torch_bridge.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_itk_writer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_k_space_spike_noise.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_k_space_spike_noised.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_keep_largest_connected_component.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_keep_largest_connected_componentd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_kspace_mask.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_label_filter.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_label_filterd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_label_quality_score.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_label_to_contour.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_label_to_contourd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_label_to_mask.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_label_to_maskd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_lambda.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_lambdad.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_latent_diffusion_inferer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_lesion_froc.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_list_data_collate.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_list_to_dict.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_lltm.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_lmdbdataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_lmdbdataset_dist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_load_decathlon_datalist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_load_image.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_load_imaged.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_load_spacing_orientation.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_loader_semaphore.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_local_normalized_cross_correlation_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_localnet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_localnet_block.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_look_up_option.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_loss_metric.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_lr_finder.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_lr_scheduler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_make_nifti.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_map_and_generate_sampling_centers.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_map_binary_to_indices.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_map_classes_to_indices.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_map_label_value.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_map_label_valued.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_map_transform.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_mapping_file.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_mapping_filed.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_mask_intensity.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_mask_intensityd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_masked_dice_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_masked_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_masked_patch_wsi_dataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_matshow3d.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_mean_ensemble.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_mean_ensembled.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_median_filter.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_median_smooth.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_median_smoothd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_mednext.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_mednistdataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_meta_affine.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_meta_tensor.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_metatensor_integration.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_metrics_reloaded.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_milmodel.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_mlp.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_mmar_download.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_module_list.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_monai_env_vars.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_monai_utils_misc.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_morphological_ops.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_mri_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_multi_scale.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_nacl_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_net_adapter.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_network_consistency.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_nifti_endianness.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_nifti_header_revise.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_nifti_rw.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_normalize_intensity.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_normalize_intensityd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_npzdictitemdataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_nrrd_reader.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_nuclick_transforms.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_numpy_reader.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_nvtx_decorator.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_nvtx_transform.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_occlusion_sensitivity.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_one_of.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_optim_novograd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_optional_import.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_ordering.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_ori_ras_lps.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_orientation.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_orientationd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_p3d_block.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_pad_collation.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_pad_mode.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_partition_dataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_partition_dataset_classes.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_patch_dataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_patch_gan_dicriminator.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_patch_inferer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_patch_wsi_dataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_patchembedding.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_pathology_he_stain.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_pathology_he_stain_dict.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_pathology_prob_nms.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_perceptual_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_persistentdataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_persistentdataset_dist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_phl_cpu.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_phl_cuda.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_pil_reader.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_plot_2d_or_3d_image.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_png_rw.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_point_based_window_inferer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_polyval.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_prepare_batch_default.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_prepare_batch_default_dist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_prepare_batch_diffusion.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_prepare_batch_extra_input.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_prepare_batch_hovernet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_preset_filters.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_print_info.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_print_transform_backends.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_probnms.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_probnmsd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_profiling.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_query_memory.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_quicknat.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_adjust_contrast.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_adjust_contrastd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_affine.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_affine_grid.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_affined.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_axis_flip.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_axis_flipd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_bias_field.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_bias_fieldd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_coarse_dropout.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_coarse_dropoutd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_coarse_shuffle.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_coarse_shuffled.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_crop_by_label_classes.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_crop_by_label_classesd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_crop_by_pos_neg_label.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_crop_by_pos_neg_labeld.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_cucim_dict_transform.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_cucim_transform.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_deform_grid.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_elastic_2d.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_elastic_3d.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_elasticd_2d.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_elasticd_3d.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_flip.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_flipd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_gaussian_noise.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_gaussian_noised.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_gaussian_sharpen.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_gaussian_sharpend.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_gaussian_smooth.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_gaussian_smoothd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_gibbs_noise.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_gibbs_noised.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_grid_distortion.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_grid_distortiond.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_grid_patch.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_grid_patchd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_histogram_shift.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_histogram_shiftd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_k_space_spike_noise.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_k_space_spike_noised.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_lambda.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_lambdad.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_rician_noise.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_rician_noised.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_rotate.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_rotate90.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_rotate90d.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_rotated.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_scale_crop.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_scale_cropd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_scale_intensity.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_scale_intensity_fixed_mean.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_scale_intensity_fixed_meand.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_scale_intensityd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_shift_intensity.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_shift_intensityd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_simulate_low_resolution.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_simulate_low_resolutiond.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_spatial_crop.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_spatial_crop_samples.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_spatial_crop_samplesd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_spatial_cropd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_std_shift_intensity.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_std_shift_intensityd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_weighted_crop.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_weighted_cropd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_zoom.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rand_zoomd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_randidentity.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_random_order.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_randomizable.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_randomizable_transform_type.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_randtorchvisiond.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rankfilter_dist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_recon_net_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_reference_based_normalize_intensity.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_reference_based_spatial_cropd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_reference_resolver.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_reg_loss_integration.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_regularization.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_regunet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_regunet_block.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_remove_repeated_channel.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_remove_repeated_channeld.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_remove_small_objects.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_repeat_channel.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_repeat_channeld.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_replace_module.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_require_pkg.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_resample.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_resample_backends.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_resample_datalist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_resample_to_match.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_resample_to_matchd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_resampler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_resize.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_resize_with_pad_or_crop.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_resize_with_pad_or_cropd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_resized.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_resnet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_retinanet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_retinanet_detector.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_retinanet_predict_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rotate.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rotate90.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rotate90d.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_rotated.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_safe_dtype_range.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_saliency_inferer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_sample_slices.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_sampler_dist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_save_classificationd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_save_image.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_save_imaged.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_save_state.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_savitzky_golay_filter.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_savitzky_golay_smooth.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_savitzky_golay_smoothd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_scale_intensity.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_scale_intensity_fixed_mean.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_scale_intensity_range.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_scale_intensity_range_percentiles.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_scale_intensity_range_percentilesd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_scale_intensity_ranged.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_scale_intensityd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_scheduler_ddim.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_scheduler_ddpm.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_scheduler_pndm.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_se_block.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_se_blocks.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_seg_loss_integration.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_segresnet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_segresnet_block.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_segresnet_ds.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_select_cross_validation_folds.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_select_itemsd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_senet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_separable_filter.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_set_determinism.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_set_visible_devices.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_shift_intensity.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_shift_intensityd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_shuffle_buffer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_signal_continuouswavelet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_signal_fillempty.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_signal_fillemptyd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_signal_rand_add_gaussiannoise.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_signal_rand_add_sine.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_signal_rand_add_sine_partial.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_signal_rand_add_squarepulse.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_signal_rand_add_squarepulse_partial.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_signal_rand_drop.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_signal_rand_scale.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_signal_rand_shift.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_signal_remove_frequency.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_simple_aspp.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_simulatedelay.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_simulatedelayd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_skip_connection.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_slice_inferer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_sliding_patch_wsi_dataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_sliding_window_hovernet_inference.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_sliding_window_inference.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_sliding_window_splitter.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_smartcachedataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_smooth_field.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_sobel_gradient.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_sobel_gradientd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_soft_clip.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_some_of.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_spacing.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_spacingd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_spade_autoencoderkl.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_spade_diffusion_model_unet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_spade_vaegan.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_spatial_combine_transforms.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_spatial_crop.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_spatial_cropd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_spatial_pad.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_spatial_padd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_spatial_resample.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_spatial_resampled.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_spatialattention.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_spectral_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_splitdim.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_splitdimd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_squeeze_unsqueeze.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_squeezedim.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_squeezedimd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_ssim_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_ssim_metric.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_state_cacher.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_std_shift_intensity.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_std_shift_intensityd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_str2bool.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_str2list.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_subpixel_upsample.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_sure_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_surface_dice.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_surface_distance.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_swin_unetr.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_synthetic.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_tciadataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_testtimeaugmentation.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_text_encoding.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_thread_buffer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_threadcontainer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_threshold_intensity.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_threshold_intensityd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_timedcall_dist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_to_contiguous.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_to_cupy.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_to_cupyd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_to_device.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_to_deviced.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_to_from_meta_tensord.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_to_numpy.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_to_numpyd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_to_onehot.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_to_pil.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_to_pild.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_to_tensor.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_to_tensord.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_torchscript_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_torchvision.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_torchvision_fc_model.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_torchvisiond.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_traceable_transform.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_train_mode.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_trainable_bilateral.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_trainable_joint_bilateral.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_transchex.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_transform.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_transformer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_transformerblock.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_transpose.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_transposed.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_tversky_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_ultrasound_confidence_map_transform.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_unet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_unetr.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_unetr_block.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_unified_focal_loss.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_upsample_block.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_utils_pytorch_numpy_unification.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_varautoencoder.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_varnet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_vector_quantizer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_version.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_video_datasets.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_vis_cam.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_vis_gradbased.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_vis_gradcam.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_vista3d.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_vista3d_sampler.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_vista3d_transforms.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_vista3d_utils.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_vit.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_vitautoenc.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_vnet.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_vote_ensemble.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_vote_ensembled.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_voxelmorph.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_vqvae.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_vqvaetransformer_inferer.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_warp.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_watershed.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_watershedd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_weight_init.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_weighted_random_sampler_dist.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_with_allow_missing_keys.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_write_metrics_reports.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_wsi_sliding_window_splitter.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_wsireader.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_zarr_avg_merger.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_zipdataset.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_zoom.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_zoom_affine.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/tests/test_zoomd.py +0 -0
- {monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/versioneer.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: monai-weekly
|
3
|
-
Version: 1.5.
|
3
|
+
Version: 1.5.dev2448
|
4
4
|
Summary: AI Toolkit for Healthcare Imaging
|
5
5
|
Home-page: https://monai.io/
|
6
6
|
Author: MONAI Consortium
|
@@ -40,6 +40,7 @@ Requires-Dist: pillow; extra == "all"
|
|
40
40
|
Requires-Dist: tensorboard; extra == "all"
|
41
41
|
Requires-Dist: gdown>=4.7.3; extra == "all"
|
42
42
|
Requires-Dist: pytorch-ignite==0.4.11; extra == "all"
|
43
|
+
Requires-Dist: torchio; extra == "all"
|
43
44
|
Requires-Dist: torchvision; extra == "all"
|
44
45
|
Requires-Dist: itk>=5.2; extra == "all"
|
45
46
|
Requires-Dist: tqdm>=4.47.0; extra == "all"
|
@@ -87,6 +88,8 @@ Provides-Extra: gdown
|
|
87
88
|
Requires-Dist: gdown>=4.7.3; extra == "gdown"
|
88
89
|
Provides-Extra: ignite
|
89
90
|
Requires-Dist: pytorch-ignite==0.4.11; extra == "ignite"
|
91
|
+
Provides-Extra: torchio
|
92
|
+
Requires-Dist: torchio; extra == "torchio"
|
90
93
|
Provides-Extra: torchvision
|
91
94
|
Requires-Dist: torchvision; extra == "torchvision"
|
92
95
|
Provides-Extra: itk
|
@@ -8,11 +8,11 @@ import json
|
|
8
8
|
|
9
9
|
version_json = '''
|
10
10
|
{
|
11
|
-
"date": "2024-
|
11
|
+
"date": "2024-12-01T02:35:43+0000",
|
12
12
|
"dirty": false,
|
13
13
|
"error": null,
|
14
|
-
"full-revisionid": "
|
15
|
-
"version": "1.5.
|
14
|
+
"full-revisionid": "d4ff1455cf46b35e4dcfb6f57d54b0738b39f738",
|
15
|
+
"version": "1.5.dev2448"
|
16
16
|
}
|
17
17
|
''' # END VERSION_JSON
|
18
18
|
|
@@ -192,6 +192,16 @@ class ReferenceResolver:
|
|
192
192
|
"""
|
193
193
|
return self._resolve_one_item(id=id, **kwargs)
|
194
194
|
|
195
|
+
def remove_resolved_content(self, id: str) -> Any | None:
|
196
|
+
"""
|
197
|
+
Remove the resolved ``ConfigItem`` by id.
|
198
|
+
|
199
|
+
Args:
|
200
|
+
id: id name of the expected item.
|
201
|
+
|
202
|
+
"""
|
203
|
+
return self.resolved_content.pop(id) if id in self.resolved_content else None
|
204
|
+
|
195
205
|
@classmethod
|
196
206
|
def normalize_id(cls, id: str | int) -> str:
|
197
207
|
"""
|
@@ -44,12 +44,18 @@ class BundleWorkflow(ABC):
|
|
44
44
|
workflow_type: specifies the workflow type: "train" or "training" for a training workflow,
|
45
45
|
or "infer", "inference", "eval", "evaluation" for a inference workflow,
|
46
46
|
other unsupported string will raise a ValueError.
|
47
|
-
default to `
|
47
|
+
default to `None` for only using meta properties.
|
48
48
|
workflow: specifies the workflow type: "train" or "training" for a training workflow,
|
49
49
|
or "infer", "inference", "eval", "evaluation" for a inference workflow,
|
50
50
|
other unsupported string will raise a ValueError.
|
51
51
|
default to `None` for common workflow.
|
52
|
-
properties_path: the path to the JSON file of properties.
|
52
|
+
properties_path: the path to the JSON file of properties. If `workflow_type` is specified, properties will be
|
53
|
+
loaded from the file based on the provided `workflow_type` and meta. If no `workflow_type` is specified,
|
54
|
+
properties will default to loading from "meta". If `properties_path` is None, default properties
|
55
|
+
will be sourced from "monai/bundle/properties.py" based on the workflow_type:
|
56
|
+
For a training workflow, properties load from `TrainProperties` and `MetaProperties`.
|
57
|
+
For a inference workflow, properties load from `InferProperties` and `MetaProperties`.
|
58
|
+
For workflow_type = None : only `MetaProperties` will be loaded.
|
53
59
|
meta_file: filepath of the metadata file, if this is a list of file paths, their contents will be merged in order.
|
54
60
|
logging_file: config file for `logging` module in the program. for more details:
|
55
61
|
https://docs.python.org/3/library/logging.config.html#logging.config.fileConfig.
|
@@ -97,29 +103,50 @@ class BundleWorkflow(ABC):
|
|
97
103
|
meta_file = None
|
98
104
|
|
99
105
|
workflow_type = workflow if workflow is not None else workflow_type
|
100
|
-
if workflow_type is
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
106
|
+
if workflow_type is not None:
|
107
|
+
if workflow_type.lower() in self.supported_train_type:
|
108
|
+
workflow_type = "train"
|
109
|
+
elif workflow_type.lower() in self.supported_infer_type:
|
110
|
+
workflow_type = "infer"
|
111
|
+
else:
|
112
|
+
raise ValueError(f"Unsupported workflow type: '{workflow_type}'.")
|
113
|
+
|
105
114
|
if properties_path is not None:
|
106
115
|
properties_path = Path(properties_path)
|
107
116
|
if not properties_path.is_file():
|
108
117
|
raise ValueError(f"Property file {properties_path} does not exist.")
|
109
118
|
with open(properties_path) as json_file:
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
119
|
+
try:
|
120
|
+
properties = json.load(json_file)
|
121
|
+
self.properties: dict = {}
|
122
|
+
if workflow_type is not None and workflow_type in properties:
|
123
|
+
self.properties = properties[workflow_type]
|
124
|
+
if "meta" in properties:
|
125
|
+
self.properties.update(properties["meta"])
|
126
|
+
elif workflow_type is None:
|
127
|
+
if "meta" in properties:
|
128
|
+
self.properties = properties["meta"]
|
129
|
+
logger.info(
|
130
|
+
"No workflow type specified, default to load meta properties from property file."
|
131
|
+
)
|
132
|
+
else:
|
133
|
+
logger.warning("No 'meta' key found in properties while workflow_type is None.")
|
134
|
+
except KeyError as e:
|
135
|
+
raise ValueError(f"{workflow_type} not found in property file {properties_path}") from e
|
136
|
+
except json.JSONDecodeError as e:
|
137
|
+
raise ValueError(f"Error decoding JSON from property file {properties_path}") from e
|
120
138
|
else:
|
121
|
-
|
139
|
+
if workflow_type == "train":
|
140
|
+
self.properties = {**TrainProperties, **MetaProperties}
|
141
|
+
elif workflow_type == "infer":
|
142
|
+
self.properties = {**InferProperties, **MetaProperties}
|
143
|
+
elif workflow_type is None:
|
144
|
+
self.properties = copy(MetaProperties)
|
145
|
+
logger.info("No workflow type and property file specified, default to 'meta' properties.")
|
146
|
+
else:
|
147
|
+
raise ValueError(f"Unsupported workflow type: '{workflow_type}'.")
|
122
148
|
|
149
|
+
self.workflow_type = workflow_type
|
123
150
|
self.meta_file = meta_file
|
124
151
|
|
125
152
|
@abstractmethod
|
@@ -226,6 +253,124 @@ class BundleWorkflow(ABC):
|
|
226
253
|
return [n for n, p in self.properties.items() if p.get(BundleProperty.REQUIRED, False) and not hasattr(self, n)]
|
227
254
|
|
228
255
|
|
256
|
+
class PythonicWorkflow(BundleWorkflow):
|
257
|
+
"""
|
258
|
+
Base class for the pythonic workflow specification in bundle, it can be a training, evaluation or inference workflow.
|
259
|
+
It defines the basic interfaces for the bundle workflow behavior: `initialize`, `finalize`, etc.
|
260
|
+
This also provides the interface to get / set public properties to interact with a bundle workflow through
|
261
|
+
defined `get_<property>` accessor methods or directly defining members of the object.
|
262
|
+
For how to set the properties, users can define the `_set_<property>` methods or directly set the members of the object.
|
263
|
+
The `initialize` method is called to set up the workflow before running. This method sets up internal state
|
264
|
+
and prepares properties. If properties are modified after the workflow has been initialized, `self._is_initialized`
|
265
|
+
is set to `False`. Before running the workflow again, `initialize` should be called to ensure that the workflow is
|
266
|
+
properly set up with the new property values.
|
267
|
+
|
268
|
+
Args:
|
269
|
+
workflow_type: specifies the workflow type: "train" or "training" for a training workflow,
|
270
|
+
or "infer", "inference", "eval", "evaluation" for a inference workflow,
|
271
|
+
other unsupported string will raise a ValueError.
|
272
|
+
default to `None` for only using meta properties.
|
273
|
+
workflow: specifies the workflow type: "train" or "training" for a training workflow,
|
274
|
+
or "infer", "inference", "eval", "evaluation" for a inference workflow,
|
275
|
+
other unsupported string will raise a ValueError.
|
276
|
+
default to `None` for common workflow.
|
277
|
+
properties_path: the path to the JSON file of properties. If `workflow_type` is specified, properties will be
|
278
|
+
loaded from the file based on the provided `workflow_type` and meta. If no `workflow_type` is specified,
|
279
|
+
properties will default to loading from "meta". If `properties_path` is None, default properties
|
280
|
+
will be sourced from "monai/bundle/properties.py" based on the workflow_type:
|
281
|
+
For a training workflow, properties load from `TrainProperties` and `MetaProperties`.
|
282
|
+
For a inference workflow, properties load from `InferProperties` and `MetaProperties`.
|
283
|
+
For workflow_type = None : only `MetaProperties` will be loaded.
|
284
|
+
config_file: path to the config file, typically used to store hyperparameters.
|
285
|
+
meta_file: filepath of the metadata file, if this is a list of file paths, their contents will be merged in order.
|
286
|
+
logging_file: config file for `logging` module in the program. for more details:
|
287
|
+
https://docs.python.org/3/library/logging.config.html#logging.config.fileConfig.
|
288
|
+
|
289
|
+
"""
|
290
|
+
|
291
|
+
supported_train_type: tuple = ("train", "training")
|
292
|
+
supported_infer_type: tuple = ("infer", "inference", "eval", "evaluation")
|
293
|
+
|
294
|
+
def __init__(
|
295
|
+
self,
|
296
|
+
workflow_type: str | None = None,
|
297
|
+
properties_path: PathLike | None = None,
|
298
|
+
config_file: str | Sequence[str] | None = None,
|
299
|
+
meta_file: str | Sequence[str] | None = None,
|
300
|
+
logging_file: str | None = None,
|
301
|
+
**override: Any,
|
302
|
+
):
|
303
|
+
meta_file = str(Path(os.getcwd()) / "metadata.json") if meta_file is None else meta_file
|
304
|
+
super().__init__(
|
305
|
+
workflow_type=workflow_type, properties_path=properties_path, meta_file=meta_file, logging_file=logging_file
|
306
|
+
)
|
307
|
+
self._props_vals: dict = {}
|
308
|
+
self._set_props_vals: dict = {}
|
309
|
+
self.parser = ConfigParser()
|
310
|
+
if config_file is not None:
|
311
|
+
self.parser.read_config(f=config_file)
|
312
|
+
if self.meta_file is not None:
|
313
|
+
self.parser.read_meta(f=self.meta_file)
|
314
|
+
|
315
|
+
# the rest key-values in the _args are to override config content
|
316
|
+
self.parser.update(pairs=override)
|
317
|
+
self._is_initialized: bool = False
|
318
|
+
|
319
|
+
def initialize(self, *args: Any, **kwargs: Any) -> Any:
|
320
|
+
"""
|
321
|
+
Initialize the bundle workflow before running.
|
322
|
+
"""
|
323
|
+
self._props_vals = {}
|
324
|
+
self._is_initialized = True
|
325
|
+
|
326
|
+
def _get_property(self, name: str, property: dict) -> Any:
|
327
|
+
"""
|
328
|
+
With specified property name and information, get the expected property value.
|
329
|
+
If the property is already generated, return from the bucket directly.
|
330
|
+
If user explicitly set the property, return it directly.
|
331
|
+
Otherwise, generate the expected property as a class private property with prefix "_".
|
332
|
+
|
333
|
+
Args:
|
334
|
+
name: the name of target property.
|
335
|
+
property: other information for the target property, defined in `TrainProperties` or `InferProperties`.
|
336
|
+
"""
|
337
|
+
if not self._is_initialized:
|
338
|
+
raise RuntimeError("Please execute 'initialize' before getting any properties.")
|
339
|
+
value = None
|
340
|
+
if name in self._set_props_vals:
|
341
|
+
value = self._set_props_vals[name]
|
342
|
+
elif name in self._props_vals:
|
343
|
+
value = self._props_vals[name]
|
344
|
+
elif name in self.parser.config[self.parser.meta_key]: # type: ignore[index]
|
345
|
+
id = self.properties.get(name, None).get(BundlePropertyConfig.ID, None)
|
346
|
+
value = self.parser[id]
|
347
|
+
else:
|
348
|
+
try:
|
349
|
+
value = getattr(self, f"get_{name}")()
|
350
|
+
except AttributeError as e:
|
351
|
+
if property[BundleProperty.REQUIRED]:
|
352
|
+
raise ValueError(
|
353
|
+
f"unsupported property '{name}' is required in the bundle properties,"
|
354
|
+
f"need to implement a method 'get_{name}' to provide the property."
|
355
|
+
) from e
|
356
|
+
self._props_vals[name] = value
|
357
|
+
return value
|
358
|
+
|
359
|
+
def _set_property(self, name: str, property: dict, value: Any) -> Any:
|
360
|
+
"""
|
361
|
+
With specified property name and information, set value for the expected property.
|
362
|
+
Stores user-reset initialized objects that should not be re-initialized and marks the workflow as not initialized.
|
363
|
+
|
364
|
+
Args:
|
365
|
+
name: the name of target property.
|
366
|
+
property: other information for the target property, defined in `TrainProperties` or `InferProperties`.
|
367
|
+
value: value to set for the property.
|
368
|
+
|
369
|
+
"""
|
370
|
+
self._set_props_vals[name] = value
|
371
|
+
self._is_initialized = False
|
372
|
+
|
373
|
+
|
229
374
|
class ConfigWorkflow(BundleWorkflow):
|
230
375
|
"""
|
231
376
|
Specification for the config-based bundle workflow.
|
@@ -262,7 +407,13 @@ class ConfigWorkflow(BundleWorkflow):
|
|
262
407
|
or "infer", "inference", "eval", "evaluation" for a inference workflow,
|
263
408
|
other unsupported string will raise a ValueError.
|
264
409
|
default to `None` for common workflow.
|
265
|
-
properties_path: the path to the JSON file of properties.
|
410
|
+
properties_path: the path to the JSON file of properties. If `workflow_type` is specified, properties will be
|
411
|
+
loaded from the file based on the provided `workflow_type` and meta. If no `workflow_type` is specified,
|
412
|
+
properties will default to loading from "train". If `properties_path` is None, default properties
|
413
|
+
will be sourced from "monai/bundle/properties.py" based on the workflow_type:
|
414
|
+
For a training workflow, properties load from `TrainProperties` and `MetaProperties`.
|
415
|
+
For a inference workflow, properties load from `InferProperties` and `MetaProperties`.
|
416
|
+
For workflow_type = None : only `MetaProperties` will be loaded.
|
266
417
|
override: id-value pairs to override or add the corresponding config content.
|
267
418
|
e.g. ``--net#input_chns 42``, ``--net %/data/other.json#net_arg``
|
268
419
|
|
@@ -324,7 +475,6 @@ class ConfigWorkflow(BundleWorkflow):
|
|
324
475
|
self.parser.read_config(f=config_file)
|
325
476
|
if self.meta_file is not None:
|
326
477
|
self.parser.read_meta(f=self.meta_file)
|
327
|
-
|
328
478
|
# the rest key-values in the _args are to override config content
|
329
479
|
self.parser.update(pairs=override)
|
330
480
|
self.init_id = init_id
|
@@ -394,8 +544,23 @@ class ConfigWorkflow(BundleWorkflow):
|
|
394
544
|
ret.extend(wrong_props)
|
395
545
|
return ret
|
396
546
|
|
397
|
-
def _run_expr(self, id: str, **kwargs: dict) -> Any:
|
398
|
-
|
547
|
+
def _run_expr(self, id: str, **kwargs: dict) -> list[Any]:
|
548
|
+
"""
|
549
|
+
Evaluate the expression or expression list given by `id`. The resolved values from the evaluations are not stored,
|
550
|
+
allowing this to be evaluated repeatedly (eg. in streaming applications) without restarting the hosting process.
|
551
|
+
"""
|
552
|
+
ret = []
|
553
|
+
if id in self.parser:
|
554
|
+
# suppose all the expressions are in a list, run and reset the expressions
|
555
|
+
if isinstance(self.parser[id], list):
|
556
|
+
for i in range(len(self.parser[id])):
|
557
|
+
sub_id = f"{id}{ID_SEP_KEY}{i}"
|
558
|
+
ret.append(self.parser.get_parsed_content(sub_id, **kwargs))
|
559
|
+
self.parser.ref_resolver.remove_resolved_content(sub_id)
|
560
|
+
else:
|
561
|
+
ret.append(self.parser.get_parsed_content(id, **kwargs))
|
562
|
+
self.parser.ref_resolver.remove_resolved_content(id)
|
563
|
+
return ret
|
399
564
|
|
400
565
|
def _get_prop_id(self, name: str, property: dict) -> Any:
|
401
566
|
prop_id = property[BundlePropertyConfig.ID]
|
{monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/selfattention.py
RENAMED
@@ -11,7 +11,7 @@
|
|
11
11
|
|
12
12
|
from __future__ import annotations
|
13
13
|
|
14
|
-
from typing import Tuple, Union
|
14
|
+
from typing import Optional, Tuple, Union
|
15
15
|
|
16
16
|
import torch
|
17
17
|
import torch.nn as nn
|
@@ -154,10 +154,12 @@ class SABlock(nn.Module):
|
|
154
154
|
)
|
155
155
|
self.input_size = input_size
|
156
156
|
|
157
|
-
def forward(self, x):
|
157
|
+
def forward(self, x, attn_mask: Optional[torch.Tensor] = None):
|
158
158
|
"""
|
159
159
|
Args:
|
160
160
|
x (torch.Tensor): input tensor. B x (s_dim_1 * ... * s_dim_n) x C
|
161
|
+
attn_mask (torch.Tensor, optional): mask to apply to the attention matrix.
|
162
|
+
B x (s_dim_1 * ... * s_dim_n). Defaults to None.
|
161
163
|
|
162
164
|
Return:
|
163
165
|
torch.Tensor: B x (s_dim_1 * ... * s_dim_n) x C
|
@@ -176,7 +178,13 @@ class SABlock(nn.Module):
|
|
176
178
|
|
177
179
|
if self.use_flash_attention:
|
178
180
|
x = F.scaled_dot_product_attention(
|
179
|
-
query=q,
|
181
|
+
query=q,
|
182
|
+
key=k,
|
183
|
+
value=v,
|
184
|
+
attn_mask=attn_mask,
|
185
|
+
scale=self.scale,
|
186
|
+
dropout_p=self.dropout_rate,
|
187
|
+
is_causal=self.causal,
|
180
188
|
)
|
181
189
|
else:
|
182
190
|
att_mat = torch.einsum("blxd,blyd->blxy", q, k) * self.scale
|
@@ -186,10 +194,16 @@ class SABlock(nn.Module):
|
|
186
194
|
att_mat = self.rel_positional_embedding(x, att_mat, q)
|
187
195
|
|
188
196
|
if self.causal:
|
197
|
+
if attn_mask is not None:
|
198
|
+
raise ValueError("Causal attention does not support attention masks.")
|
189
199
|
att_mat = att_mat.masked_fill(self.causal_mask[:, :, : x.shape[-2], : x.shape[-2]] == 0, float("-inf"))
|
190
200
|
|
191
|
-
|
201
|
+
if attn_mask is not None:
|
202
|
+
attn_mask = attn_mask.unsqueeze(1).unsqueeze(2)
|
203
|
+
attn_mask = attn_mask.expand(-1, self.num_heads, -1, -1)
|
204
|
+
att_mat = att_mat.masked_fill(attn_mask == 0, float("-inf"))
|
192
205
|
|
206
|
+
att_mat = att_mat.softmax(dim=-1)
|
193
207
|
if self.save_attn:
|
194
208
|
# no gradients and new tensor;
|
195
209
|
# https://pytorch.org/docs/stable/generated/torch.Tensor.detach.html
|
{monai_weekly-1.5.dev2447 → monai_weekly-1.5.dev2448}/monai/networks/blocks/transformerblock.py
RENAMED
@@ -90,8 +90,10 @@ class TransformerBlock(nn.Module):
|
|
90
90
|
use_flash_attention=use_flash_attention,
|
91
91
|
)
|
92
92
|
|
93
|
-
def forward(
|
94
|
-
x =
|
93
|
+
def forward(
|
94
|
+
self, x: torch.Tensor, context: Optional[torch.Tensor] = None, attn_mask: Optional[torch.Tensor] = None
|
95
|
+
) -> torch.Tensor:
|
96
|
+
x = x + self.attn(self.norm1(x), attn_mask=attn_mask)
|
95
97
|
if self.with_cross_attention:
|
96
98
|
x = x + self.cross_attn(self.norm_cross_attn(x), context=context)
|
97
99
|
x = x + self.mlp(self.norm2(x))
|
@@ -53,6 +53,7 @@ from .fullyconnectednet import FullyConnectedNet, VarFullyConnectedNet
|
|
53
53
|
from .generator import Generator
|
54
54
|
from .highresnet import HighResBlock, HighResNet
|
55
55
|
from .hovernet import Hovernet, HoVernet, HoVerNet, HoverNet
|
56
|
+
from .masked_autoencoder_vit import MaskedAutoEncoderViT
|
56
57
|
from .mednext import (
|
57
58
|
MedNeXt,
|
58
59
|
MedNext,
|
@@ -0,0 +1,211 @@
|
|
1
|
+
# Copyright (c) MONAI Consortium
|
2
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
3
|
+
# you may not use this file except in compliance with the License.
|
4
|
+
# You may obtain a copy of the License at
|
5
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
6
|
+
# Unless required by applicable law or agreed to in writing, software
|
7
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
8
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
9
|
+
# See the License for the specific language governing permissions and
|
10
|
+
# limitations under the License.
|
11
|
+
|
12
|
+
from __future__ import annotations
|
13
|
+
|
14
|
+
from collections.abc import Sequence
|
15
|
+
|
16
|
+
import numpy as np
|
17
|
+
import torch
|
18
|
+
import torch.nn as nn
|
19
|
+
|
20
|
+
from monai.networks.blocks.patchembedding import PatchEmbeddingBlock
|
21
|
+
from monai.networks.blocks.pos_embed_utils import build_sincos_position_embedding
|
22
|
+
from monai.networks.blocks.transformerblock import TransformerBlock
|
23
|
+
from monai.networks.layers import trunc_normal_
|
24
|
+
from monai.utils import ensure_tuple_rep
|
25
|
+
from monai.utils.module import look_up_option
|
26
|
+
|
27
|
+
SUPPORTED_POS_EMBEDDING_TYPES = {"none", "learnable", "sincos"}
|
28
|
+
|
29
|
+
__all__ = ["MaskedAutoEncoderViT"]
|
30
|
+
|
31
|
+
|
32
|
+
class MaskedAutoEncoderViT(nn.Module):
|
33
|
+
"""
|
34
|
+
Masked Autoencoder (ViT), based on: "Kaiming et al.,
|
35
|
+
Masked Autoencoders Are Scalable Vision Learners <https://arxiv.org/abs/2111.06377>"
|
36
|
+
Only a subset of the patches passes through the encoder. The decoder tries to reconstruct
|
37
|
+
the masked patches, resulting in improved training speed.
|
38
|
+
"""
|
39
|
+
|
40
|
+
def __init__(
|
41
|
+
self,
|
42
|
+
in_channels: int,
|
43
|
+
img_size: Sequence[int] | int,
|
44
|
+
patch_size: Sequence[int] | int,
|
45
|
+
hidden_size: int = 768,
|
46
|
+
mlp_dim: int = 512,
|
47
|
+
num_layers: int = 12,
|
48
|
+
num_heads: int = 12,
|
49
|
+
masking_ratio: float = 0.75,
|
50
|
+
decoder_hidden_size: int = 384,
|
51
|
+
decoder_mlp_dim: int = 512,
|
52
|
+
decoder_num_layers: int = 4,
|
53
|
+
decoder_num_heads: int = 12,
|
54
|
+
proj_type: str = "conv",
|
55
|
+
pos_embed_type: str = "sincos",
|
56
|
+
decoder_pos_embed_type: str = "sincos",
|
57
|
+
dropout_rate: float = 0.0,
|
58
|
+
spatial_dims: int = 3,
|
59
|
+
qkv_bias: bool = False,
|
60
|
+
save_attn: bool = False,
|
61
|
+
) -> None:
|
62
|
+
"""
|
63
|
+
Args:
|
64
|
+
in_channels: dimension of input channels or the number of channels for input.
|
65
|
+
img_size: dimension of input image.
|
66
|
+
patch_size: dimension of patch size
|
67
|
+
hidden_size: dimension of hidden layer. Defaults to 768.
|
68
|
+
mlp_dim: dimension of feedforward layer. Defaults to 512.
|
69
|
+
num_layers: number of transformer blocks. Defaults to 12.
|
70
|
+
num_heads: number of attention heads. Defaults to 12.
|
71
|
+
masking_ratio: ratio of patches to be masked. Defaults to 0.75.
|
72
|
+
decoder_hidden_size: dimension of hidden layer for decoder. Defaults to 384.
|
73
|
+
decoder_mlp_dim: dimension of feedforward layer for decoder. Defaults to 512.
|
74
|
+
decoder_num_layers: number of transformer blocks for decoder. Defaults to 4.
|
75
|
+
decoder_num_heads: number of attention heads for decoder. Defaults to 12.
|
76
|
+
proj_type: position embedding layer type. Defaults to "conv".
|
77
|
+
pos_embed_type: position embedding layer type. Defaults to "sincos".
|
78
|
+
decoder_pos_embed_type: position embedding layer type for decoder. Defaults to "sincos".
|
79
|
+
dropout_rate: fraction of the input units to drop. Defaults to 0.0.
|
80
|
+
spatial_dims: number of spatial dimensions. Defaults to 3.
|
81
|
+
qkv_bias: apply bias to the qkv linear layer in self attention block. Defaults to False.
|
82
|
+
save_attn: to make accessible the attention in self attention block. Defaults to False.
|
83
|
+
Examples::
|
84
|
+
# for single channel input with image size of (96,96,96), and sin-cos positional encoding
|
85
|
+
>>> net = MaskedAutoEncoderViT(in_channels=1, img_size=(96,96,96), patch_size=(16,16,16),
|
86
|
+
pos_embed_type='sincos')
|
87
|
+
# for 3-channel with image size of (128,128,128) and a learnable positional encoding
|
88
|
+
>>> net = MaskedAutoEncoderViT(in_channels=3, img_size=128, patch_size=16, pos_embed_type='learnable')
|
89
|
+
# for 3-channel with image size of (224,224) and a masking ratio of 0.25
|
90
|
+
>>> net = MaskedAutoEncoderViT(in_channels=3, img_size=(224,224), patch_size=(16,16), masking_ratio=0.25,
|
91
|
+
spatial_dims=2)
|
92
|
+
"""
|
93
|
+
|
94
|
+
super().__init__()
|
95
|
+
|
96
|
+
if not (0 <= dropout_rate <= 1):
|
97
|
+
raise ValueError(f"dropout_rate should be between 0 and 1, got {dropout_rate}.")
|
98
|
+
|
99
|
+
if hidden_size % num_heads != 0:
|
100
|
+
raise ValueError("hidden_size should be divisible by num_heads.")
|
101
|
+
|
102
|
+
if decoder_hidden_size % decoder_num_heads != 0:
|
103
|
+
raise ValueError("decoder_hidden_size should be divisible by decoder_num_heads.")
|
104
|
+
|
105
|
+
self.patch_size = ensure_tuple_rep(patch_size, spatial_dims)
|
106
|
+
self.img_size = ensure_tuple_rep(img_size, spatial_dims)
|
107
|
+
self.spatial_dims = spatial_dims
|
108
|
+
for m, p in zip(self.img_size, self.patch_size):
|
109
|
+
if m % p != 0:
|
110
|
+
raise ValueError(f"patch_size={patch_size} should be divisible by img_size={img_size}.")
|
111
|
+
|
112
|
+
self.decoder_hidden_size = decoder_hidden_size
|
113
|
+
|
114
|
+
if masking_ratio <= 0 or masking_ratio >= 1:
|
115
|
+
raise ValueError(f"masking_ratio should be in the range (0, 1), got {masking_ratio}.")
|
116
|
+
|
117
|
+
self.masking_ratio = masking_ratio
|
118
|
+
self.cls_token = nn.Parameter(torch.zeros(1, 1, hidden_size))
|
119
|
+
|
120
|
+
self.patch_embedding = PatchEmbeddingBlock(
|
121
|
+
in_channels=in_channels,
|
122
|
+
img_size=img_size,
|
123
|
+
patch_size=patch_size,
|
124
|
+
hidden_size=hidden_size,
|
125
|
+
num_heads=num_heads,
|
126
|
+
proj_type=proj_type,
|
127
|
+
pos_embed_type=pos_embed_type,
|
128
|
+
dropout_rate=dropout_rate,
|
129
|
+
spatial_dims=self.spatial_dims,
|
130
|
+
)
|
131
|
+
blocks = [
|
132
|
+
TransformerBlock(hidden_size, mlp_dim, num_heads, dropout_rate, qkv_bias, save_attn)
|
133
|
+
for _ in range(num_layers)
|
134
|
+
]
|
135
|
+
self.blocks = nn.Sequential(*blocks, nn.LayerNorm(hidden_size))
|
136
|
+
|
137
|
+
# decoder
|
138
|
+
self.decoder_embed = nn.Linear(hidden_size, decoder_hidden_size)
|
139
|
+
|
140
|
+
self.mask_tokens = nn.Parameter(torch.zeros(1, 1, decoder_hidden_size))
|
141
|
+
|
142
|
+
self.decoder_pos_embed_type = look_up_option(decoder_pos_embed_type, SUPPORTED_POS_EMBEDDING_TYPES)
|
143
|
+
self.decoder_pos_embedding = nn.Parameter(torch.zeros(1, self.patch_embedding.n_patches, decoder_hidden_size))
|
144
|
+
|
145
|
+
decoder_blocks = [
|
146
|
+
TransformerBlock(decoder_hidden_size, decoder_mlp_dim, decoder_num_heads, dropout_rate, qkv_bias, save_attn)
|
147
|
+
for _ in range(decoder_num_layers)
|
148
|
+
]
|
149
|
+
self.decoder_blocks = nn.Sequential(*decoder_blocks, nn.LayerNorm(decoder_hidden_size))
|
150
|
+
self.decoder_pred = nn.Linear(decoder_hidden_size, int(np.prod(self.patch_size)) * in_channels)
|
151
|
+
|
152
|
+
self._init_weights()
|
153
|
+
|
154
|
+
def _init_weights(self):
|
155
|
+
"""
|
156
|
+
similar to monai/networks/blocks/patchembedding.py for the decoder positional encoding and for mask and
|
157
|
+
classification tokens
|
158
|
+
"""
|
159
|
+
if self.decoder_pos_embed_type == "none":
|
160
|
+
pass
|
161
|
+
elif self.decoder_pos_embed_type == "learnable":
|
162
|
+
trunc_normal_(self.decoder_pos_embedding, mean=0.0, std=0.02, a=-2.0, b=2.0)
|
163
|
+
elif self.decoder_pos_embed_type == "sincos":
|
164
|
+
grid_size = []
|
165
|
+
for in_size, pa_size in zip(self.img_size, self.patch_size):
|
166
|
+
grid_size.append(in_size // pa_size)
|
167
|
+
|
168
|
+
self.decoder_pos_embedding = build_sincos_position_embedding(
|
169
|
+
grid_size, self.decoder_hidden_size, self.spatial_dims
|
170
|
+
)
|
171
|
+
|
172
|
+
else:
|
173
|
+
raise ValueError(f"decoder_pos_embed_type {self.decoder_pos_embed_type} not supported.")
|
174
|
+
|
175
|
+
# initialize patch_embedding like nn.Linear (instead of nn.Conv2d)
|
176
|
+
trunc_normal_(self.mask_tokens, mean=0.0, std=0.02, a=-2.0, b=2.0)
|
177
|
+
trunc_normal_(self.cls_token, mean=0.0, std=0.02, a=-2.0, b=2.0)
|
178
|
+
|
179
|
+
def _masking(self, x, masking_ratio: float | None = None):
|
180
|
+
batch_size, num_tokens, _ = x.shape
|
181
|
+
percentage_to_keep = 1 - masking_ratio if masking_ratio is not None else 1 - self.masking_ratio
|
182
|
+
selected_indices = torch.multinomial(
|
183
|
+
torch.ones(batch_size, num_tokens), int(percentage_to_keep * num_tokens), replacement=False
|
184
|
+
)
|
185
|
+
x_masked = x[torch.arange(batch_size).unsqueeze(1), selected_indices] # gather the selected tokens
|
186
|
+
mask = torch.ones(batch_size, num_tokens, dtype=torch.int).to(x.device)
|
187
|
+
mask[torch.arange(batch_size).unsqueeze(-1), selected_indices] = 0
|
188
|
+
|
189
|
+
return x_masked, selected_indices, mask
|
190
|
+
|
191
|
+
def forward(self, x, masking_ratio: float | None = None):
|
192
|
+
x = self.patch_embedding(x)
|
193
|
+
x, selected_indices, mask = self._masking(x, masking_ratio=masking_ratio)
|
194
|
+
|
195
|
+
cls_tokens = self.cls_token.expand(x.shape[0], -1, -1)
|
196
|
+
x = torch.cat((cls_tokens, x), dim=1)
|
197
|
+
|
198
|
+
x = self.blocks(x)
|
199
|
+
|
200
|
+
# decoder
|
201
|
+
x = self.decoder_embed(x)
|
202
|
+
|
203
|
+
x_ = self.mask_tokens.repeat(x.shape[0], mask.shape[1], 1)
|
204
|
+
x_[torch.arange(x.shape[0]).unsqueeze(-1), selected_indices] = x[:, 1:, :] # no cls token
|
205
|
+
x_ = x_ + self.decoder_pos_embedding
|
206
|
+
x = torch.cat([x[:, :1, :], x_], dim=1)
|
207
|
+
x = self.decoder_blocks(x)
|
208
|
+
x = self.decoder_pred(x)
|
209
|
+
|
210
|
+
x = x[:, 1:, :]
|
211
|
+
return x, mask
|