monai-weekly 1.7.dev2631__tar.gz → 1.7.dev2633__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {monai_weekly-1.7.dev2631/monai_weekly.egg-info → monai_weekly-1.7.dev2633}/PKG-INFO +1 -1
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/__init__.py +1 -1
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/_version.py +3 -3
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/__init__.py +10 -1
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/auto3dseg/auto_runner.py +2 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/deepedit/transforms.py +3 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/deepgrow/dataset.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/deepgrow/transforms.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/networks/retinanet_detector.py +2 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/transforms/array.py +4 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/transforms/box_ops.py +2 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/generation/maisi/networks/autoencoderkl_maisi.py +2 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/nnunet/nnunetv2_runner.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/pathology/transforms/post/dictionary.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/utils.py +28 -17
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/auto3dseg/operations.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/auto3dseg/seg_summarizer.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/bundle/reference_resolver.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/bundle/scripts.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/bundle/utils.py +0 -7
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/bundle/workflows.py +3 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/box_utils.py +2 -2
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/dataset.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/grid_dataset.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/image_reader.py +1 -1
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/wsi_datasets.py +2 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/wsi_reader.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/engines/evaluator.py +2 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/engines/trainer.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/fl/client/monai_algo.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/mlflow_handler.py +2 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/inferers/inferer.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/image_dissimilarity.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/utils.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/hyena.py +8 -8
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/flexible_unet.py +4 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/milmodel.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/transchex.py +3 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/vqvae.py +6 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/utils.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/optimizers/novograd.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/croppad/array.py +2 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/croppad/dictionary.py +3 -1
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/io/array.py +1 -3
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/lazy/utils.py +2 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/transform.py +2 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/utility/dictionary.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/utils.py +6 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/utils_pytorch_numpy_unification.py +2 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/utils/dist.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/utils/enums.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/utils/misc.py +2 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/utils/type_conversion.py +2 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/visualize/img2tensorboard.py +1 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/visualize/visualizer.py +5 -3
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633/monai_weekly.egg-info}/PKG-INFO +1 -1
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/pyproject.toml +54 -2
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/LICENSE +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/MANIFEST.in +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/README.md +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/_extensions/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/_extensions/gmm/gmm.cpp +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/_extensions/gmm/gmm.h +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/_extensions/gmm/gmm_cpu.cpp +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/_extensions/gmm/gmm_cuda.cu +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/_extensions/gmm/gmm_cuda_linalg.cuh +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/_extensions/loader.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/auto3dseg/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/auto3dseg/__main__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/auto3dseg/bundle_gen.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/auto3dseg/data_analyzer.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/auto3dseg/ensemble_builder.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/auto3dseg/hpo_gen.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/auto3dseg/transforms.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/auto3dseg/utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/datasets.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/deepedit/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/deepedit/interaction.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/deepgrow/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/deepgrow/interaction.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/metrics/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/metrics/coco.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/metrics/matching.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/networks/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/networks/retinanet_network.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/transforms/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/transforms/dictionary.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/utils/ATSS_matcher.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/utils/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/utils/anchor_utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/utils/box_coder.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/utils/box_selector.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/utils/detector_utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/utils/hard_negative_sampler.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/utils/predict_utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/generation/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/generation/maisi/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/generation/maisi/networks/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/generation/maisi/networks/controlnet_maisi.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/generation/maisi/networks/diffusion_model_unet_maisi.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/mmars/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/mmars/mmars.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/mmars/model_desc.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/nnunet/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/nnunet/__main__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/nnunet/nnunet_bundle.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/nnunet/utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/nuclick/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/nuclick/transforms.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/pathology/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/pathology/engines/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/pathology/engines/utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/pathology/handlers/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/pathology/handlers/utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/pathology/inferers/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/pathology/inferers/inferer.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/pathology/losses/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/pathology/losses/hovernet_loss.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/pathology/metrics/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/pathology/metrics/lesion_froc.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/pathology/transforms/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/pathology/transforms/post/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/pathology/transforms/post/array.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/pathology/transforms/stain/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/pathology/transforms/stain/array.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/pathology/transforms/stain/dictionary.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/pathology/utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/reconstruction/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/reconstruction/complex_utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/reconstruction/fastmri_reader.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/reconstruction/mri_utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/reconstruction/networks/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/reconstruction/networks/blocks/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/reconstruction/networks/blocks/varnetblock.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/reconstruction/networks/nets/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/reconstruction/networks/nets/coil_sensitivity_model.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/reconstruction/networks/nets/complex_unet.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/reconstruction/networks/nets/utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/reconstruction/networks/nets/varnet.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/reconstruction/transforms/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/reconstruction/transforms/array.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/reconstruction/transforms/dictionary.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/tcia/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/tcia/label_desc.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/tcia/utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/vista3d/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/vista3d/inferer.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/vista3d/sampler.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/vista3d/transforms.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/auto3dseg/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/auto3dseg/algo_gen.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/auto3dseg/analyzer.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/auto3dseg/utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/bundle/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/bundle/__main__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/bundle/config_item.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/bundle/config_parser.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/bundle/properties.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/config/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/config/deviceconfig.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/config/type_definitions.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/csv_saver.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/dataloader.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/dataset_summary.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/decathlon_datalist.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/fft_utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/folder_layout.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/image_dataset.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/image_writer.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/iterable_dataset.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/itk_torch_bridge.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/meta_obj.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/meta_tensor.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/samplers.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/synthetic.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/test_time_augmentation.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/thread_buffer.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/torchscript_utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/ultrasound_confidence_map.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/data/video_dataset.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/engines/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/engines/utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/engines/workflow.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/fl/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/fl/client/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/fl/client/client_algo.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/fl/utils/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/fl/utils/constants.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/fl/utils/exchange_object.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/fl/utils/filters.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/average_precision.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/calibration.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/checkpoint_loader.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/checkpoint_saver.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/classification_saver.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/clearml_handlers.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/confusion_matrix.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/decollate_batch.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/earlystop_handler.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/garbage_collector.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/hausdorff_distance.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/ignite_metric.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/logfile_handler.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/lr_schedule_handler.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/mean_dice.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/mean_iou.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/metric_logger.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/metrics_reloaded_handler.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/metrics_saver.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/nvtx_handlers.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/panoptic_quality.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/parameter_scheduler.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/postprocessing.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/probability_maps.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/regression_metrics.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/roc_auc.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/smartcache_handler.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/stats_handler.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/surface_distance.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/tensorboard_handlers.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/trt_handler.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/handlers/validation_handler.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/inferers/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/inferers/merger.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/inferers/splitter.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/inferers/utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/adversarial_loss.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/aucm_loss.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/barlow_twins.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/boundary_loss.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/cldice.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/contrastive.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/deform.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/dice.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/ds_loss.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/focal_loss.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/giou_loss.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/hausdorff_loss.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/mcc_loss.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/multi_scale.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/nacl_loss.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/perceptual.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/spatial_mask.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/spectral_loss.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/ssim_loss.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/sure_loss.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/tversky.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/unified_focal_loss.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/losses/utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/absolute_volume_difference.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/active_learning_metrics.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/average_precision.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/calibration.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/confusion_matrix.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/cumulative_average.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/embedding_collapse.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/f_beta_score.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/fid.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/froc.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/generalized_dice.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/hausdorff_distance.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/loss_metric.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/meandice.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/meaniou.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/metric.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/mmd.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/panoptic_quality.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/regression.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/rocauc.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/surface_dice.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/surface_distance.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/metrics/wrapper.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/acti_norm.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/activation.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/activation_checkpointing.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/aspp.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/attention_utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/backbone_fpn_utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/cablock.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/convolutions.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/crf.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/crossattention.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/denseblock.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/dints_block.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/downsample.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/dynunet_block.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/encoder.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/fcn.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/feature_pyramid_network.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/fft_utils_t.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/localnet_block.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/mednext_block.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/mlp.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/patchembedding.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/pos_embed_utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/regunet_block.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/rel_pos_embedding.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/segresnet_block.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/selfattention.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/spade_norm.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/spatialattention.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/squeeze_and_excitation.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/text_embedding.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/transformerblock.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/unetr_block.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/upsample.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/blocks/warp.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/layers/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/layers/conjugate_gradient.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/layers/convutils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/layers/drop_path.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/layers/factories.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/layers/filtering.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/layers/gmm.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/layers/simplelayers.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/layers/spatial_transforms.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/layers/utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/layers/vector_quantizer.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/layers/weight_init.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/ahnet.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/attentionunet.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/autoencoder.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/autoencoderkl.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/basic_unet.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/basic_unetplusplus.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/cell_sam_wrapper.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/classifier.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/controlnet.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/daf3d.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/densenet.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/diffusion_model_unet.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/dints.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/dynunet.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/efficientnet.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/fullyconnectednet.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/generator.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/highresnet.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/hovernet.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/hyena_nd_unetr.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/masked_autoencoder_vit.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/mednext.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/netadapter.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/patchgan_discriminator.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/quicknat.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/regressor.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/regunet.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/resnet.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/restormer.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/segresnet.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/segresnet_ds.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/senet.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/spade_autoencoderkl.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/spade_diffusion_model_unet.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/spade_network.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/swin_unetr.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/torchvision_fc.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/transformer.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/unet.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/unetr.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/varautoencoder.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/vista3d.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/vit.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/vitautoenc.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/vnet.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/nets/voxelmorph.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/schedulers/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/schedulers/ddim.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/schedulers/ddpm.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/schedulers/pndm.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/schedulers/rectified_flow.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/schedulers/scheduler.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/networks/trt_compiler.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/optimizers/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/optimizers/lr_finder.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/optimizers/lr_scheduler.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/optimizers/utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/py.typed +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/adaptors.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/compose.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/croppad/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/croppad/batch.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/croppad/functional.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/intensity/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/intensity/array.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/intensity/dictionary.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/inverse.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/inverse_batch_transform.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/io/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/io/dictionary.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/lazy/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/lazy/array.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/lazy/dictionary.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/lazy/functional.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/meta_utility/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/meta_utility/dictionary.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/nvtx.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/post/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/post/array.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/post/dictionary.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/regularization/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/regularization/array.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/regularization/dictionary.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/signal/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/signal/array.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/signal/dictionary.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/smooth_field/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/smooth_field/array.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/smooth_field/dictionary.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/spatial/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/spatial/array.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/spatial/dictionary.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/spatial/functional.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/traits.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/utility/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/utility/array.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/utils_create_transform_ims.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/transforms/utils_morphological_ops.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/utils/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/utils/component_store.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/utils/decorators.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/utils/deprecate_utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/utils/jupyter_utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/utils/module.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/utils/nvtx.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/utils/ordering.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/utils/profiling.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/utils/state_cacher.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/utils/tf32.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/visualize/__init__.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/visualize/class_activation_maps.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/visualize/gradient_based.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/visualize/occlusion_sensitivity.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/visualize/utils.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai_weekly.egg-info/SOURCES.txt +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai_weekly.egg-info/dependency_links.txt +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai_weekly.egg-info/not-zip-safe +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai_weekly.egg-info/requires.txt +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai_weekly.egg-info/top_level.txt +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/setup.cfg +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/setup.py +0 -0
- {monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/versioneer.py +0 -0
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "2026-08-
|
|
11
|
+
"date": "2026-08-16T02:28:27+0000",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "1.7.
|
|
14
|
+
"full-revisionid": "17ff85f5808a658c19beac995edd5c28f1ee72a3",
|
|
15
|
+
"version": "1.7.dev2633"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -13,4 +13,13 @@ from __future__ import annotations
|
|
|
13
13
|
|
|
14
14
|
from .datasets import CrossValidation, DecathlonDataset, MedNISTDataset, TciaDataset
|
|
15
15
|
from .mmars import MODEL_DESC, RemoteMMARKeys, download_mmar, get_model_spec, load_from_mmar
|
|
16
|
-
from .utils import
|
|
16
|
+
from .utils import (
|
|
17
|
+
SUPPORTED_HASH_TYPES,
|
|
18
|
+
HashCheckError,
|
|
19
|
+
check_hash,
|
|
20
|
+
download_and_extract,
|
|
21
|
+
download_url,
|
|
22
|
+
extractall,
|
|
23
|
+
get_logger,
|
|
24
|
+
logger,
|
|
25
|
+
)
|
|
@@ -790,6 +790,7 @@ class AutoRunner:
|
|
|
790
790
|
nni_config_filename = os.path.abspath(os.path.join(self.work_dir, f"{name}_nni_config.yaml"))
|
|
791
791
|
ConfigParser.export_config_file(nni_config, nni_config_filename, fmt="yaml", default_flow_style=None)
|
|
792
792
|
|
|
793
|
+
# pyrefly: ignore [redundant-cast]
|
|
793
794
|
max_trial = min(self.hpo_tasks, cast(int, default_nni_config["maxTrialNumber"]))
|
|
794
795
|
cmd = "nnictl create --config " + nni_config_filename + " --port 8088"
|
|
795
796
|
|
|
@@ -805,6 +806,7 @@ class AutoRunner:
|
|
|
805
806
|
n_trainings = len(import_bundle_algo_history(self.work_dir, only_trained=True))
|
|
806
807
|
|
|
807
808
|
cmd = "nnictl stop --all"
|
|
809
|
+
# pyrefly: ignore [bad-argument-type]
|
|
808
810
|
run_cmd(cmd.split(), check=True)
|
|
809
811
|
logger.info(f"NNI completes HPO on {name}")
|
|
810
812
|
last_total_tasks = n_trainings
|
|
@@ -434,6 +434,7 @@ class AddInitialSeedPointDeepEditd(Randomizable, MapTransform):
|
|
|
434
434
|
else:
|
|
435
435
|
logger.info(f"Not slice IDs for label: {key_label}")
|
|
436
436
|
sid = None
|
|
437
|
+
# pyrefly: ignore [unsupported-operation]
|
|
437
438
|
self.sid[key_label] = sid
|
|
438
439
|
|
|
439
440
|
def __call__(self, data: Mapping[Hashable, np.ndarray]) -> dict[Hashable, np.ndarray]:
|
|
@@ -561,6 +562,7 @@ class AddRandomGuidanceDeepEditd(Randomizable, MapTransform):
|
|
|
561
562
|
self.guidance: dict[str, list[list[int]]] = {}
|
|
562
563
|
|
|
563
564
|
def randomize(self, data=None):
|
|
565
|
+
# pyrefly: ignore [unsupported-operation]
|
|
564
566
|
probability = data[self.probability]
|
|
565
567
|
self._will_interact = self.R.choice([True, False], p=[probability, 1.0 - probability])
|
|
566
568
|
|
|
@@ -885,6 +887,7 @@ class AddInitialSeedPointMissingLabelsd(Randomizable, MapTransform):
|
|
|
885
887
|
else:
|
|
886
888
|
logger.info(f"Not slice IDs for label: {key_label}")
|
|
887
889
|
sid = None
|
|
890
|
+
# pyrefly: ignore [unsupported-operation]
|
|
888
891
|
self.sid[key_label] = sid
|
|
889
892
|
|
|
890
893
|
def __call__(self, data: Mapping[Hashable, np.ndarray]) -> dict[Hashable, np.ndarray]:
|
|
@@ -175,6 +175,7 @@ def _save_data_2d(vol_idx, vol_image, vol_label, dataset_dir, relative_path):
|
|
|
175
175
|
continue
|
|
176
176
|
|
|
177
177
|
# For all Labels
|
|
178
|
+
# pyrefly: ignore [missing-attribute]
|
|
178
179
|
unique_labels = np.unique(label.flatten())
|
|
179
180
|
unique_labels = unique_labels[unique_labels != 0]
|
|
180
181
|
unique_labels_count = max(unique_labels_count, len(unique_labels))
|
|
@@ -288,6 +288,7 @@ class AddRandomGuidanced(Randomizable, Transform):
|
|
|
288
288
|
self._will_interact = None
|
|
289
289
|
|
|
290
290
|
def randomize(self, data=None):
|
|
291
|
+
# pyrefly: ignore [unsupported-operation]
|
|
291
292
|
probability = data[self.probability]
|
|
292
293
|
self._will_interact = self.R.choice([True, False], p=[probability, 1.0 - probability])
|
|
293
294
|
|
|
@@ -525,6 +525,7 @@ class RetinaNetDetector(nn.Module):
|
|
|
525
525
|
)
|
|
526
526
|
|
|
527
527
|
# 4. Generate anchors and store it in self.anchors: List[Tensor]
|
|
528
|
+
# pyrefly: ignore [bad-argument-type]
|
|
528
529
|
self.generate_anchors(images, head_outputs)
|
|
529
530
|
# num_anchor_locs_per_level: List[int], list of HW or HWD for each level
|
|
530
531
|
num_anchor_locs_per_level = [x.shape[2:].numel() for x in head_outputs[self.cls_key]]
|
|
@@ -535,6 +536,7 @@ class RetinaNetDetector(nn.Module):
|
|
|
535
536
|
# reshape to Tensor sized(B, sum(HWA), self.num_classes) for self.cls_key
|
|
536
537
|
# or (B, sum(HWA), 2* self.spatial_dims) for self.box_reg_key
|
|
537
538
|
# A = self.num_anchors_per_loc
|
|
539
|
+
# pyrefly: ignore [bad-argument-type]
|
|
538
540
|
head_outputs[key] = self._reshape_maps(head_outputs[key])
|
|
539
541
|
|
|
540
542
|
# 6(1). If during training, return losses
|
{monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/transforms/array.py
RENAMED
|
@@ -257,10 +257,14 @@ class ZoomBox(Transform):
|
|
|
257
257
|
diff = od - zd
|
|
258
258
|
half = abs(diff) // 2
|
|
259
259
|
if diff > 0: # need padding (half, diff - half)
|
|
260
|
+
# pyrefly: ignore [bad-index, unsupported-operation]
|
|
260
261
|
zoomed_boxes[:, axis] = zoomed_boxes[:, axis] + half
|
|
262
|
+
# pyrefly: ignore [bad-index, unsupported-operation]
|
|
261
263
|
zoomed_boxes[:, axis + spatial_dims] = zoomed_boxes[:, axis + spatial_dims] + half
|
|
262
264
|
elif diff < 0: # need slicing (half, half + od)
|
|
265
|
+
# pyrefly: ignore [bad-index, unsupported-operation]
|
|
263
266
|
zoomed_boxes[:, axis] = zoomed_boxes[:, axis] - half
|
|
267
|
+
# pyrefly: ignore [bad-index, unsupported-operation]
|
|
264
268
|
zoomed_boxes[:, axis + spatial_dims] = zoomed_boxes[:, axis + spatial_dims] - half
|
|
265
269
|
return zoomed_boxes
|
|
266
270
|
|
{monai_weekly-1.7.dev2631 → monai_weekly-1.7.dev2633}/monai/apps/detection/transforms/box_ops.py
RENAMED
|
@@ -186,7 +186,9 @@ def flip_boxes(
|
|
|
186
186
|
_flip_boxes: NdarrayTensor = boxes.clone() if isinstance(boxes, torch.Tensor) else deepcopy(boxes) # type: ignore[assignment]
|
|
187
187
|
|
|
188
188
|
for axis in flip_axes:
|
|
189
|
+
# pyrefly: ignore [bad-index, unsupported-operation]
|
|
189
190
|
_flip_boxes[:, axis + spatial_dims] = spatial_size[axis] - boxes[:, axis] - TO_REMOVE
|
|
191
|
+
# pyrefly: ignore [bad-index, unsupported-operation]
|
|
190
192
|
_flip_boxes[:, axis] = spatial_size[axis] - boxes[:, axis + spatial_dims] - TO_REMOVE
|
|
191
193
|
|
|
192
194
|
return _flip_boxes
|
|
@@ -246,7 +246,9 @@ class MaisiConvolution(nn.Module):
|
|
|
246
246
|
|
|
247
247
|
# update padding length if necessary
|
|
248
248
|
padding = 3
|
|
249
|
+
# pyrefly: ignore [unsupported-operation]
|
|
249
250
|
if padding % self.stride > 0:
|
|
251
|
+
# pyrefly: ignore [unsupported-operation]
|
|
250
252
|
padding = (padding // self.stride + 1) * self.stride
|
|
251
253
|
if self.print_info:
|
|
252
254
|
logger.info(f"Padding size: {padding}")
|
|
@@ -403,6 +403,7 @@ class GenerateInstanceCentroidd(MapTransform):
|
|
|
403
403
|
d = dict(data)
|
|
404
404
|
for key in self.key_iterator(d):
|
|
405
405
|
offset = d[self.offset_key] if self.offset_key else None
|
|
406
|
+
# pyrefly: ignore [bad-argument-type]
|
|
406
407
|
centroid = self.converter(d[key], offset)
|
|
407
408
|
key_to_add = f"{key}_{self.centroid_key_postfix}"
|
|
408
409
|
if key_to_add in d:
|
|
@@ -42,12 +42,24 @@ if TYPE_CHECKING:
|
|
|
42
42
|
else:
|
|
43
43
|
tqdm, has_tqdm = optional_import("tqdm", "4.47.0", min_version, "tqdm")
|
|
44
44
|
|
|
45
|
-
__all__ = [
|
|
45
|
+
__all__ = [
|
|
46
|
+
"HashCheckError",
|
|
47
|
+
"check_hash",
|
|
48
|
+
"download_url",
|
|
49
|
+
"extractall",
|
|
50
|
+
"download_and_extract",
|
|
51
|
+
"get_logger",
|
|
52
|
+
"SUPPORTED_HASH_TYPES",
|
|
53
|
+
]
|
|
46
54
|
|
|
47
55
|
DEFAULT_FMT = "%(asctime)s - %(levelname)s - %(message)s"
|
|
48
56
|
SUPPORTED_HASH_TYPES = {"md5": hashlib.md5, "sha1": hashlib.sha1, "sha256": hashlib.sha256, "sha512": hashlib.sha512}
|
|
49
57
|
|
|
50
58
|
|
|
59
|
+
class HashCheckError(ValueError):
|
|
60
|
+
pass
|
|
61
|
+
|
|
62
|
+
|
|
51
63
|
def get_logger(
|
|
52
64
|
module_name: str = "monai.apps",
|
|
53
65
|
fmt: str = DEFAULT_FMT,
|
|
@@ -220,8 +232,7 @@ def download_url(
|
|
|
220
232
|
HTTPError: See urllib.request.urlretrieve.
|
|
221
233
|
ContentTooShortError: See urllib.request.urlretrieve.
|
|
222
234
|
IOError: See urllib.request.urlretrieve.
|
|
223
|
-
|
|
224
|
-
|
|
235
|
+
HashCheckError: When the hash validation of the ``url`` downloaded file fails.
|
|
225
236
|
"""
|
|
226
237
|
if not filepath:
|
|
227
238
|
filepath = Path(".", _basename(url)).resolve()
|
|
@@ -229,9 +240,7 @@ def download_url(
|
|
|
229
240
|
filepath = Path(filepath)
|
|
230
241
|
if filepath.exists():
|
|
231
242
|
if not check_hash(filepath, hash_val, hash_type):
|
|
232
|
-
raise
|
|
233
|
-
f"{hash_type} check of existing file failed: filepath={filepath}, expected {hash_type}={hash_val}."
|
|
234
|
-
)
|
|
243
|
+
raise HashCheckError(f"{hash_type} hash check of existing file failed: {filepath=}, expected {hash_type=}.")
|
|
235
244
|
logger.info(f"File exists: {filepath}, skipped downloading.")
|
|
236
245
|
return
|
|
237
246
|
try:
|
|
@@ -260,6 +269,13 @@ def download_url(
|
|
|
260
269
|
raise RuntimeError(
|
|
261
270
|
f"Download of file from {url} to {filepath} failed due to network issue or denied permission."
|
|
262
271
|
)
|
|
272
|
+
if not check_hash(tmp_name, hash_val, hash_type):
|
|
273
|
+
raise HashCheckError(
|
|
274
|
+
f"{hash_type} hash check of downloaded file failed: {url=}, "
|
|
275
|
+
f"{filepath=}, expected {hash_type}={hash_val}, "
|
|
276
|
+
f"The file may be corrupted or tampered with. "
|
|
277
|
+
"Please retry the download or verify the source."
|
|
278
|
+
)
|
|
263
279
|
file_dir = filepath.parent
|
|
264
280
|
if file_dir:
|
|
265
281
|
os.makedirs(file_dir, exist_ok=True)
|
|
@@ -267,11 +283,6 @@ def download_url(
|
|
|
267
283
|
except (PermissionError, NotADirectoryError): # project-monai/monai issue #3613 #3757 for windows
|
|
268
284
|
pass
|
|
269
285
|
logger.info(f"Downloaded: {filepath}")
|
|
270
|
-
if not check_hash(filepath, hash_val, hash_type):
|
|
271
|
-
raise RuntimeError(
|
|
272
|
-
f"{hash_type} check of downloaded file failed: URL={url}, "
|
|
273
|
-
f"filepath={filepath}, expected {hash_type}={hash_val}."
|
|
274
|
-
)
|
|
275
286
|
|
|
276
287
|
|
|
277
288
|
def _extract_zip(filepath, output_dir):
|
|
@@ -325,10 +336,15 @@ def extractall(
|
|
|
325
336
|
be False.
|
|
326
337
|
|
|
327
338
|
Raises:
|
|
328
|
-
|
|
339
|
+
HashCheckError: When the hash validation of the ``filepath`` compressed file fails.
|
|
329
340
|
NotImplementedError: When the ``filepath`` file extension is not one of [zip", "tar.gz", "tar"].
|
|
330
341
|
|
|
331
342
|
"""
|
|
343
|
+
filepath = Path(filepath)
|
|
344
|
+
if hash_val and not check_hash(filepath, hash_val, hash_type):
|
|
345
|
+
raise HashCheckError(
|
|
346
|
+
f"{hash_type} hash check of compressed file failed: " f"{filepath=}, expected {hash_type}={hash_val}."
|
|
347
|
+
)
|
|
332
348
|
if has_base:
|
|
333
349
|
# the extracted files will be in this folder
|
|
334
350
|
cache_dir = Path(output_dir, _basename(filepath).split(".")[0])
|
|
@@ -337,11 +353,6 @@ def extractall(
|
|
|
337
353
|
if cache_dir.exists() and next(cache_dir.iterdir(), None) is not None:
|
|
338
354
|
logger.info(f"Non-empty folder exists in {cache_dir}, skipped extracting.")
|
|
339
355
|
return
|
|
340
|
-
filepath = Path(filepath)
|
|
341
|
-
if hash_val and not check_hash(filepath, hash_val, hash_type):
|
|
342
|
-
raise RuntimeError(
|
|
343
|
-
f"{hash_type} check of compressed file failed: " f"filepath={filepath}, expected {hash_type}={hash_val}."
|
|
344
|
-
)
|
|
345
356
|
logger.info(f"Writing into directory: {output_dir}.")
|
|
346
357
|
_file_type = file_type.lower().strip()
|
|
347
358
|
if filepath.name.endswith("zip") or _file_type == "zip":
|
|
@@ -254,6 +254,7 @@ class ReferenceResolver:
|
|
|
254
254
|
"""
|
|
255
255
|
for k, v in config.items() if isinstance(config, dict) else enumerate(config):
|
|
256
256
|
sub_id = f"{id}{cls.sep}{k}" if id != "" else f"{k}"
|
|
257
|
+
# pyrefly: ignore [invalid-yield]
|
|
257
258
|
yield k, sub_id, v
|
|
258
259
|
|
|
259
260
|
@classmethod
|
|
@@ -21,7 +21,6 @@ from monai.config.deviceconfig import get_config_values
|
|
|
21
21
|
from monai.utils import optional_import
|
|
22
22
|
|
|
23
23
|
yaml, _ = optional_import("yaml")
|
|
24
|
-
|
|
25
24
|
__all__ = [
|
|
26
25
|
"ID_REF_KEY",
|
|
27
26
|
"ID_SEP_KEY",
|
|
@@ -39,7 +38,6 @@ MACRO_KEY = "%" # start of a macro of a config
|
|
|
39
38
|
MERGE_KEY = "+" # prefix indicating merge instead of override in case of multiple configs.
|
|
40
39
|
|
|
41
40
|
_conf_values = get_config_values()
|
|
42
|
-
|
|
43
41
|
DEFAULT_METADATA = {
|
|
44
42
|
"version": "0.0.1",
|
|
45
43
|
"changelog": {"0.0.1": "Initial version"},
|
|
@@ -211,20 +209,15 @@ def load_bundle_config(bundle_path: str, *config_names: str, **load_kw_args: Any
|
|
|
211
209
|
name, _ = os.path.splitext(os.path.basename(bundle_path))
|
|
212
210
|
|
|
213
211
|
archive = zipfile.ZipFile(bundle_path, "r")
|
|
214
|
-
|
|
215
212
|
all_files = archive.namelist()
|
|
216
|
-
|
|
217
213
|
zip_meta_name = f"{name}/configs/metadata.json"
|
|
218
|
-
|
|
219
214
|
if zip_meta_name in all_files:
|
|
220
215
|
prefix = f"{name}/configs/" # zipped directory location for files
|
|
221
216
|
else:
|
|
222
217
|
zip_meta_name = f"{name}/extra/metadata.json"
|
|
223
218
|
prefix = f"{name}/extra/" # Torchscript location for files
|
|
224
|
-
|
|
225
219
|
meta_json = json.loads(archive.read(zip_meta_name))
|
|
226
220
|
parser.read_meta(f=meta_json)
|
|
227
|
-
|
|
228
221
|
for cname in config_names:
|
|
229
222
|
full_cname = prefix + cname
|
|
230
223
|
if full_cname not in all_files:
|
|
@@ -224,6 +224,7 @@ class BundleWorkflow(ABC):
|
|
|
224
224
|
desc: descriptions for the property.
|
|
225
225
|
"""
|
|
226
226
|
if self.properties is None:
|
|
227
|
+
# pyrefly: ignore [bad-assignment]
|
|
227
228
|
self.properties = {}
|
|
228
229
|
if name in self.properties:
|
|
229
230
|
logger.warning(f"property '{name}' already exists in the properties list, overriding it.")
|
|
@@ -329,6 +330,7 @@ class PythonicWorkflow(BundleWorkflow):
|
|
|
329
330
|
elif name in self._props_vals:
|
|
330
331
|
value = self._props_vals[name]
|
|
331
332
|
elif name in self.parser.config[self.parser.meta_key]: # type: ignore[index]
|
|
333
|
+
# pyrefly: ignore [missing-attribute]
|
|
332
334
|
id = self.properties.get(name, None).get(BundlePropertyConfig.ID, None)
|
|
333
335
|
value = self.parser[id]
|
|
334
336
|
else:
|
|
@@ -621,6 +623,7 @@ class ConfigWorkflow(BundleWorkflow):
|
|
|
621
623
|
else:
|
|
622
624
|
ref = self.parser.get(ref_id, None)
|
|
623
625
|
# for reference IDs that not refer to a property directly but using expressions, skip the check
|
|
626
|
+
# pyrefly: ignore [unsupported-operation]
|
|
624
627
|
if ref is not None and not ref.startswith(EXPR_KEY) and ref != ID_REF_KEY + id:
|
|
625
628
|
return False
|
|
626
629
|
return True
|
|
@@ -1035,8 +1035,8 @@ def spatial_crop_boxes(
|
|
|
1035
1035
|
# convert to float32 since torch.clamp_ does not support float16
|
|
1036
1036
|
boxes_t = boxes_t.to(dtype=COMPUTE_DTYPE)
|
|
1037
1037
|
|
|
1038
|
-
roi_start_t = convert_to_dst_type(src=roi_start, dst=boxes_t, wrap_sequence=True)[0]
|
|
1039
|
-
roi_end_t = convert_to_dst_type(src=roi_end, dst=boxes_t, wrap_sequence=True)[0]
|
|
1038
|
+
roi_start_t = convert_to_dst_type(src=roi_start, dst=boxes_t, wrap_sequence=True)[0]
|
|
1039
|
+
roi_end_t = convert_to_dst_type(src=roi_end, dst=boxes_t, wrap_sequence=True)[0]
|
|
1040
1040
|
roi_end_t = torch.maximum(roi_end_t, roi_start_t)
|
|
1041
1041
|
|
|
1042
1042
|
# makes sure the bounding boxes are within the patch
|
|
@@ -1648,6 +1648,7 @@ class GDSDataset(PersistentDataset):
|
|
|
1648
1648
|
item_k = kvikio_numpy.fromfile(
|
|
1649
1649
|
f"{hashfile}-{k}-{i}", dtype=meta_i_k["dtype"], like=cp.empty(())
|
|
1650
1650
|
)
|
|
1651
|
+
# pyrefly: ignore [missing-attribute]
|
|
1651
1652
|
item_k = convert_to_tensor(item[i].reshape(meta_i_k["shape"]), device=f"cuda:{self.device}")
|
|
1652
1653
|
item[i].update({k: item_k, f"{k}_meta_dict": meta_i_k})
|
|
1653
1654
|
return item
|
|
@@ -142,6 +142,7 @@ class PatchIterd:
|
|
|
142
142
|
self, data: Mapping[Hashable, NdarrayTensor]
|
|
143
143
|
) -> Generator[tuple[Mapping[Hashable, NdarrayTensor], np.ndarray], None, None]:
|
|
144
144
|
d = dict(data)
|
|
145
|
+
# pyrefly: ignore [missing-attribute]
|
|
145
146
|
original_spatial_shape = d[first(self.keys)].shape[1:]
|
|
146
147
|
|
|
147
148
|
for patch in zip(*[self.patch_iter(d[key]) for key in self.keys]):
|
|
@@ -22,7 +22,7 @@ from abc import ABC, abstractmethod
|
|
|
22
22
|
from collections.abc import Callable, Iterable, Iterator, Sequence
|
|
23
23
|
from dataclasses import dataclass
|
|
24
24
|
from pathlib import Path
|
|
25
|
-
from typing import TYPE_CHECKING, Any, TypeAlias
|
|
25
|
+
from typing import TYPE_CHECKING, Any, TypeAlias # pyrefly: ignore [missing-module-attribute]
|
|
26
26
|
|
|
27
27
|
import numpy as np
|
|
28
28
|
from torch.utils.data._utils.collate import np_str_obj_array_pattern
|
|
@@ -250,8 +250,10 @@ class SlidingPatchWSIDataset(Randomizable, PatchWSIDataset):
|
|
|
250
250
|
self.offset_limits = None
|
|
251
251
|
elif isinstance(offset_limits, tuple):
|
|
252
252
|
if isinstance(offset_limits[0], int):
|
|
253
|
+
# pyrefly: ignore [bad-assignment]
|
|
253
254
|
self.offset_limits = (offset_limits, offset_limits)
|
|
254
255
|
elif isinstance(offset_limits[0], tuple):
|
|
256
|
+
# pyrefly: ignore [bad-assignment]
|
|
255
257
|
self.offset_limits = offset_limits
|
|
256
258
|
else:
|
|
257
259
|
raise ValueError(
|
|
@@ -489,11 +489,13 @@ class EnsembleEvaluator(Evaluator):
|
|
|
489
489
|
if engine.amp:
|
|
490
490
|
with torch.autocast("cuda", **engine.amp_kwargs):
|
|
491
491
|
if isinstance(engine.state.output, dict):
|
|
492
|
+
# pyrefly: ignore [no-matching-overload]
|
|
492
493
|
engine.state.output.update(
|
|
493
494
|
{engine.pred_keys[idx]: engine.inferer(inputs, network, *args, **kwargs)}
|
|
494
495
|
)
|
|
495
496
|
else:
|
|
496
497
|
if isinstance(engine.state.output, dict):
|
|
498
|
+
# pyrefly: ignore [no-matching-overload]
|
|
497
499
|
engine.state.output.update(
|
|
498
500
|
{engine.pred_keys[idx]: engine.inferer(inputs, network, *args, **kwargs)}
|
|
499
501
|
)
|
|
@@ -251,6 +251,7 @@ class MonaiAlgoStats(ClientAlgoStats):
|
|
|
251
251
|
dataroot=self.workflow.dataset_dir, # type: ignore
|
|
252
252
|
hist_bins=hist_bins,
|
|
253
253
|
hist_range=hist_range,
|
|
254
|
+
# pyrefly: ignore [bad-argument-type]
|
|
254
255
|
output_path=output_path,
|
|
255
256
|
histogram_only=self.histogram_only,
|
|
256
257
|
)
|
|
@@ -234,6 +234,7 @@ class MLFlowHandler:
|
|
|
234
234
|
self._log_params(attrs)
|
|
235
235
|
|
|
236
236
|
if self.dataset_logger:
|
|
237
|
+
# pyrefly: ignore [bad-argument-type]
|
|
237
238
|
self.dataset_logger(self.dataset_dict)
|
|
238
239
|
else:
|
|
239
240
|
self._default_dataset_log(self.dataset_dict)
|
|
@@ -257,6 +258,7 @@ class MLFlowHandler:
|
|
|
257
258
|
else:
|
|
258
259
|
raise e
|
|
259
260
|
|
|
261
|
+
# pyrefly: ignore [missing-attribute]
|
|
260
262
|
if experiment.lifecycle_stage != mlflow.entities.LifecycleStage.ACTIVE:
|
|
261
263
|
raise ValueError(f"Cannot set a deleted experiment '{self.experiment_name}' as the active experiment")
|
|
262
264
|
self.experiment = experiment
|
|
@@ -241,6 +241,7 @@ class GlobalMutualInformationLoss(_Loss):
|
|
|
241
241
|
if self.kernel_type == "gaussian":
|
|
242
242
|
self.register_buffer("preterm", 1 / (2 * sigma**2), persistent=False)
|
|
243
243
|
self.register_buffer("bin_centers", bin_centers[None, None, ...], persistent=False)
|
|
244
|
+
|
|
244
245
|
self.smooth_nr = float(smooth_nr)
|
|
245
246
|
self.smooth_dr = float(smooth_dr)
|
|
246
247
|
|
|
@@ -217,6 +217,7 @@ def get_mask_edges(
|
|
|
217
217
|
or_vol = seg_pred | seg_gt
|
|
218
218
|
if not or_vol.any():
|
|
219
219
|
pred, gt = lib.zeros(seg_pred.shape, dtype=bool), lib.zeros(seg_gt.shape, dtype=bool)
|
|
220
|
+
# pyrefly: ignore [bad-return]
|
|
220
221
|
return (pred, gt) if spacing is None else (pred, gt, pred, gt)
|
|
221
222
|
channel_first = [seg_pred[None], seg_gt[None], or_vol[None]]
|
|
222
223
|
if spacing is None and not use_cucim: # cpu only erosion
|
|
@@ -98,21 +98,21 @@ class _DepthwiseFFTForward:
|
|
|
98
98
|
_spatial_dims: int # set by subclasses
|
|
99
99
|
fft_chunk_size: int = 0 # 0 = no chunking; set in subclass __init__
|
|
100
100
|
|
|
101
|
-
def forward(self,
|
|
102
|
-
spatial =
|
|
101
|
+
def forward(self, input: torch.Tensor) -> torch.Tensor:
|
|
102
|
+
spatial = input.shape[2:]
|
|
103
103
|
kernel_shape = self.weight.shape[2:] # type: ignore[attr-defined]
|
|
104
104
|
fft_dims = tuple(range(-self._spatial_dims, 0))
|
|
105
105
|
fft_size = [s + k - 1 for s, k in zip(spatial, kernel_shape)]
|
|
106
|
-
in_dtype =
|
|
106
|
+
in_dtype = input.dtype
|
|
107
107
|
|
|
108
108
|
slices = (slice(None), slice(None)) + tuple(slice(k // 2, k // 2 + s) for s, k in zip(spatial, kernel_shape))
|
|
109
109
|
|
|
110
110
|
chunk = getattr(self, "fft_chunk_size", 0)
|
|
111
|
-
if chunk > 0 and
|
|
111
|
+
if chunk > 0 and input.shape[1] > chunk:
|
|
112
112
|
parts = []
|
|
113
|
-
for c0 in range(0,
|
|
114
|
-
c1 = min(c0 + chunk,
|
|
115
|
-
xc =
|
|
113
|
+
for c0 in range(0, input.shape[1], chunk):
|
|
114
|
+
c1 = min(c0 + chunk, input.shape[1])
|
|
115
|
+
xc = input[:, c0:c1].float()
|
|
116
116
|
kc = self.weight[c0:c1].squeeze(1).float() # type: ignore[attr-defined]
|
|
117
117
|
kc = kc.flip(list(range(1, self._spatial_dims + 1)))
|
|
118
118
|
xc_fft = torch.fft.rfftn(xc, s=fft_size, dim=fft_dims)
|
|
@@ -125,7 +125,7 @@ class _DepthwiseFFTForward:
|
|
|
125
125
|
del out_c
|
|
126
126
|
return torch.cat(parts, dim=1)
|
|
127
127
|
|
|
128
|
-
x_f32 =
|
|
128
|
+
x_f32 = input.float()
|
|
129
129
|
k_f32 = self.weight.squeeze(1).float() # type: ignore[attr-defined]
|
|
130
130
|
# PyTorch ``F.conv*`` computes cross-correlation; FFT computes convolution.
|
|
131
131
|
# Flip the kernel so the FFT output matches ``Conv{2,3}d`` exactly.
|
|
@@ -61,9 +61,13 @@ class FlexUNetEncoderRegister:
|
|
|
61
61
|
"or implement all interfaces specified by it."
|
|
62
62
|
)
|
|
63
63
|
|
|
64
|
+
# pyrefly: ignore [missing-attribute]
|
|
64
65
|
name_string_list = name.get_encoder_names()
|
|
66
|
+
# pyrefly: ignore [missing-attribute]
|
|
65
67
|
feature_number_list = name.num_outputs()
|
|
68
|
+
# pyrefly: ignore [missing-attribute]
|
|
66
69
|
feature_channel_list = name.num_channels_per_output()
|
|
70
|
+
# pyrefly: ignore [missing-attribute]
|
|
67
71
|
parameter_list = name.get_encoder_parameters()
|
|
68
72
|
|
|
69
73
|
assert len(name_string_list) == len(feature_number_list) == len(feature_channel_list) == len(parameter_list)
|
|
@@ -74,6 +74,7 @@ class BertPreTrainedModel(nn.Module):
|
|
|
74
74
|
return load_tf_weights_in_bert(model, weights_path)
|
|
75
75
|
old_keys = []
|
|
76
76
|
new_keys = []
|
|
77
|
+
# pyrefly: ignore [missing-attribute]
|
|
77
78
|
for key in state_dict.keys():
|
|
78
79
|
new_key = None
|
|
79
80
|
if "gamma" in key:
|
|
@@ -84,11 +85,13 @@ class BertPreTrainedModel(nn.Module):
|
|
|
84
85
|
old_keys.append(key)
|
|
85
86
|
new_keys.append(new_key)
|
|
86
87
|
for old_key, new_key in zip(old_keys, new_keys):
|
|
88
|
+
# pyrefly: ignore [missing-attribute, unsupported-operation]
|
|
87
89
|
state_dict[new_key] = state_dict.pop(old_key)
|
|
88
90
|
missing_keys: list = []
|
|
89
91
|
unexpected_keys: list = []
|
|
90
92
|
error_msgs: list = []
|
|
91
93
|
metadata = getattr(state_dict, "_metadata", None)
|
|
94
|
+
# pyrefly: ignore [missing-attribute]
|
|
92
95
|
state_dict = state_dict.copy()
|
|
93
96
|
if metadata is not None:
|
|
94
97
|
state_dict._metadata = metadata
|
|
@@ -361,18 +361,22 @@ class VQVAE(nn.Module):
|
|
|
361
361
|
else:
|
|
362
362
|
downsample_parameters_tuple = downsample_parameters
|
|
363
363
|
|
|
364
|
+
# pyrefly: ignore [not-iterable]
|
|
364
365
|
if not all(all(isinstance(value, int) for value in sub_item) for sub_item in downsample_parameters_tuple):
|
|
365
366
|
raise ValueError("`downsample_parameters` should be a single tuple of integer or a tuple of tuples.")
|
|
366
367
|
|
|
367
368
|
# check if downsample_parameters is a tuple of ints or a tuple of tuples of ints
|
|
369
|
+
# pyrefly: ignore [not-iterable]
|
|
368
370
|
if not all(all(isinstance(value, int) for value in sub_item) for sub_item in upsample_parameters_tuple):
|
|
369
371
|
raise ValueError("`upsample_parameters` should be a single tuple of integer or a tuple of tuples.")
|
|
370
372
|
|
|
371
373
|
for parameter in downsample_parameters_tuple:
|
|
374
|
+
# pyrefly: ignore [bad-argument-type]
|
|
372
375
|
if len(parameter) != 4:
|
|
373
376
|
raise ValueError("`downsample_parameters` should be a tuple of tuples with 4 integers.")
|
|
374
377
|
|
|
375
378
|
for parameter in upsample_parameters_tuple:
|
|
379
|
+
# pyrefly: ignore [bad-argument-type]
|
|
376
380
|
if len(parameter) != 5:
|
|
377
381
|
raise ValueError("`upsample_parameters` should be a tuple of tuples with 5 integers.")
|
|
378
382
|
|
|
@@ -396,6 +400,7 @@ class VQVAE(nn.Module):
|
|
|
396
400
|
channels=channels,
|
|
397
401
|
num_res_layers=num_res_layers,
|
|
398
402
|
num_res_channels=num_res_channels,
|
|
403
|
+
# pyrefly: ignore [bad-argument-type]
|
|
399
404
|
downsample_parameters=downsample_parameters_tuple,
|
|
400
405
|
dropout=dropout,
|
|
401
406
|
act=act,
|
|
@@ -408,6 +413,7 @@ class VQVAE(nn.Module):
|
|
|
408
413
|
channels=channels,
|
|
409
414
|
num_res_layers=num_res_layers,
|
|
410
415
|
num_res_channels=num_res_channels,
|
|
416
|
+
# pyrefly: ignore [bad-argument-type]
|
|
411
417
|
upsample_parameters=upsample_parameters_tuple,
|
|
412
418
|
dropout=dropout,
|
|
413
419
|
act=act,
|