monai-weekly 1.7.dev2641__tar.gz → 1.7.dev2643__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.
Files changed (460) hide show
  1. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/PKG-INFO +1 -1
  2. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/__init__.py +2 -1
  3. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/_version.py +3 -3
  4. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/detection/transforms/dictionary.py +0 -2
  5. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/mmars/mmars.py +62 -116
  6. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/mmars/model_desc.py +13 -1
  7. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/pathology/transforms/post/dictionary.py +0 -2
  8. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/utils.py +41 -6
  9. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/grid_dataset.py +10 -7
  10. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/image_reader.py +27 -5
  11. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/nvimgcodec_pydicom_plugin.py +1 -1
  12. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/synthetic.py +40 -9
  13. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/inferers/merger.py +30 -17
  14. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/active_learning_metrics.py +0 -2
  15. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/confusion_matrix.py +49 -8
  16. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/embedding_collapse.py +14 -4
  17. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/fid.py +1 -1
  18. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/hausdorff_distance.py +14 -9
  19. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/meaniou.py +4 -10
  20. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/surface_distance.py +88 -18
  21. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/dints.py +9 -5
  22. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/regunet.py +12 -1
  23. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/segresnet_ds.py +10 -0
  24. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/__init__.py +4 -0
  25. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/post/array.py +89 -1
  26. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/post/dictionary.py +58 -0
  27. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/spatial/dictionary.py +8 -2
  28. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/utility/array.py +16 -1
  29. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/utils.py +84 -0
  30. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/utils/deprecate_utils.py +2 -2
  31. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai_weekly.egg-info/PKG-INFO +1 -1
  32. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/LICENSE +0 -0
  33. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/MANIFEST.in +0 -0
  34. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/README.md +0 -0
  35. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/_extensions/__init__.py +0 -0
  36. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/_extensions/gmm/gmm.cpp +0 -0
  37. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/_extensions/gmm/gmm.h +0 -0
  38. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/_extensions/gmm/gmm_cpu.cpp +0 -0
  39. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/_extensions/gmm/gmm_cuda.cu +0 -0
  40. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/_extensions/gmm/gmm_cuda_linalg.cuh +0 -0
  41. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/_extensions/loader.py +0 -0
  42. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/__init__.py +0 -0
  43. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/auto3dseg/__init__.py +0 -0
  44. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/auto3dseg/__main__.py +0 -0
  45. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/auto3dseg/auto_runner.py +0 -0
  46. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/auto3dseg/bundle_gen.py +0 -0
  47. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/auto3dseg/data_analyzer.py +0 -0
  48. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/auto3dseg/ensemble_builder.py +0 -0
  49. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/auto3dseg/hpo_gen.py +0 -0
  50. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/auto3dseg/transforms.py +0 -0
  51. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/auto3dseg/utils.py +0 -0
  52. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/datasets.py +0 -0
  53. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/deepedit/__init__.py +0 -0
  54. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/deepedit/interaction.py +0 -0
  55. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/deepedit/transforms.py +0 -0
  56. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/deepgrow/__init__.py +0 -0
  57. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/deepgrow/dataset.py +0 -0
  58. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/deepgrow/interaction.py +0 -0
  59. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/deepgrow/transforms.py +0 -0
  60. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/detection/__init__.py +0 -0
  61. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/detection/metrics/__init__.py +0 -0
  62. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/detection/metrics/coco.py +0 -0
  63. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/detection/metrics/matching.py +0 -0
  64. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/detection/networks/__init__.py +0 -0
  65. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/detection/networks/retinanet_detector.py +0 -0
  66. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/detection/networks/retinanet_network.py +0 -0
  67. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/detection/transforms/__init__.py +0 -0
  68. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/detection/transforms/array.py +0 -0
  69. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/detection/transforms/box_ops.py +0 -0
  70. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/detection/utils/ATSS_matcher.py +0 -0
  71. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/detection/utils/__init__.py +0 -0
  72. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/detection/utils/anchor_utils.py +0 -0
  73. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/detection/utils/box_coder.py +0 -0
  74. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/detection/utils/box_selector.py +0 -0
  75. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/detection/utils/detector_utils.py +0 -0
  76. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/detection/utils/hard_negative_sampler.py +0 -0
  77. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/detection/utils/predict_utils.py +0 -0
  78. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/generation/__init__.py +0 -0
  79. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/generation/maisi/__init__.py +0 -0
  80. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/generation/maisi/networks/__init__.py +0 -0
  81. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/generation/maisi/networks/autoencoderkl_maisi.py +0 -0
  82. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/generation/maisi/networks/controlnet_maisi.py +0 -0
  83. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/generation/maisi/networks/diffusion_model_unet_maisi.py +0 -0
  84. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/mmars/__init__.py +0 -0
  85. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/nnunet/__init__.py +0 -0
  86. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/nnunet/__main__.py +0 -0
  87. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/nnunet/nnunet_bundle.py +0 -0
  88. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/nnunet/nnunetv2_runner.py +0 -0
  89. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/nnunet/utils.py +0 -0
  90. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/nuclick/__init__.py +0 -0
  91. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/nuclick/transforms.py +0 -0
  92. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/pathology/__init__.py +0 -0
  93. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/pathology/engines/__init__.py +0 -0
  94. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/pathology/engines/utils.py +0 -0
  95. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/pathology/handlers/__init__.py +0 -0
  96. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/pathology/handlers/utils.py +0 -0
  97. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/pathology/inferers/__init__.py +0 -0
  98. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/pathology/inferers/inferer.py +0 -0
  99. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/pathology/losses/__init__.py +0 -0
  100. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/pathology/losses/hovernet_loss.py +0 -0
  101. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/pathology/metrics/__init__.py +0 -0
  102. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/pathology/metrics/lesion_froc.py +0 -0
  103. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/pathology/transforms/__init__.py +0 -0
  104. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/pathology/transforms/post/__init__.py +0 -0
  105. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/pathology/transforms/post/array.py +0 -0
  106. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/pathology/transforms/stain/__init__.py +0 -0
  107. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/pathology/transforms/stain/array.py +0 -0
  108. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/pathology/transforms/stain/dictionary.py +0 -0
  109. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/pathology/utils.py +0 -0
  110. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/reconstruction/__init__.py +0 -0
  111. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/reconstruction/complex_utils.py +0 -0
  112. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/reconstruction/fastmri_reader.py +0 -0
  113. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/reconstruction/mri_utils.py +0 -0
  114. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/reconstruction/networks/__init__.py +0 -0
  115. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/reconstruction/networks/blocks/__init__.py +0 -0
  116. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/reconstruction/networks/blocks/varnetblock.py +0 -0
  117. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/reconstruction/networks/nets/__init__.py +0 -0
  118. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/reconstruction/networks/nets/coil_sensitivity_model.py +0 -0
  119. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/reconstruction/networks/nets/complex_unet.py +0 -0
  120. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/reconstruction/networks/nets/utils.py +0 -0
  121. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/reconstruction/networks/nets/varnet.py +0 -0
  122. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/reconstruction/transforms/__init__.py +0 -0
  123. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/reconstruction/transforms/array.py +0 -0
  124. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/reconstruction/transforms/dictionary.py +0 -0
  125. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/tcia/__init__.py +0 -0
  126. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/tcia/label_desc.py +0 -0
  127. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/tcia/utils.py +0 -0
  128. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/vista3d/__init__.py +0 -0
  129. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/vista3d/inferer.py +0 -0
  130. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/vista3d/sampler.py +0 -0
  131. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/apps/vista3d/transforms.py +0 -0
  132. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/auto3dseg/__init__.py +0 -0
  133. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/auto3dseg/algo_gen.py +0 -0
  134. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/auto3dseg/analyzer.py +0 -0
  135. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/auto3dseg/operations.py +0 -0
  136. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/auto3dseg/seg_summarizer.py +0 -0
  137. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/auto3dseg/utils.py +0 -0
  138. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/bundle/__init__.py +0 -0
  139. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/bundle/__main__.py +0 -0
  140. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/bundle/config_item.py +0 -0
  141. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/bundle/config_parser.py +0 -0
  142. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/bundle/properties.py +0 -0
  143. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/bundle/reference_resolver.py +0 -0
  144. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/bundle/scripts.py +0 -0
  145. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/bundle/utils.py +0 -0
  146. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/bundle/workflows.py +0 -0
  147. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/config/__init__.py +0 -0
  148. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/config/__main__.py +0 -0
  149. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/config/check_env.py +0 -0
  150. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/config/deviceconfig.py +0 -0
  151. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/config/print_dependencies.py +0 -0
  152. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/config/type_definitions.py +0 -0
  153. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/__init__.py +0 -0
  154. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/box_utils.py +0 -0
  155. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/csv_saver.py +0 -0
  156. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/dataloader.py +0 -0
  157. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/dataset.py +0 -0
  158. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/dataset_summary.py +0 -0
  159. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/decathlon_datalist.py +0 -0
  160. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/fft_utils.py +0 -0
  161. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/folder_layout.py +0 -0
  162. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/image_dataset.py +0 -0
  163. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/image_writer.py +0 -0
  164. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/iterable_dataset.py +0 -0
  165. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/itk_torch_bridge.py +0 -0
  166. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/meta_obj.py +0 -0
  167. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/meta_tensor.py +0 -0
  168. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/samplers.py +0 -0
  169. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/test_time_augmentation.py +0 -0
  170. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/thread_buffer.py +0 -0
  171. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/torchscript_utils.py +0 -0
  172. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/ultrasound_confidence_map.py +0 -0
  173. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/utils.py +0 -0
  174. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/video_dataset.py +0 -0
  175. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/wsi_datasets.py +0 -0
  176. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/data/wsi_reader.py +0 -0
  177. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/engines/__init__.py +0 -0
  178. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/engines/evaluator.py +0 -0
  179. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/engines/trainer.py +0 -0
  180. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/engines/utils.py +0 -0
  181. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/engines/workflow.py +0 -0
  182. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/fl/__init__.py +0 -0
  183. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/fl/client/__init__.py +0 -0
  184. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/fl/client/client_algo.py +0 -0
  185. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/fl/client/monai_algo.py +0 -0
  186. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/fl/utils/__init__.py +0 -0
  187. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/fl/utils/constants.py +0 -0
  188. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/fl/utils/exchange_object.py +0 -0
  189. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/fl/utils/filters.py +0 -0
  190. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/__init__.py +0 -0
  191. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/average_precision.py +0 -0
  192. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/calibration.py +0 -0
  193. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/checkpoint_loader.py +0 -0
  194. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/checkpoint_saver.py +0 -0
  195. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/classification_saver.py +0 -0
  196. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/clearml_handlers.py +0 -0
  197. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/confusion_matrix.py +0 -0
  198. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/decollate_batch.py +0 -0
  199. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/earlystop_handler.py +0 -0
  200. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/garbage_collector.py +0 -0
  201. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/hausdorff_distance.py +0 -0
  202. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/ignite_metric.py +0 -0
  203. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/logfile_handler.py +0 -0
  204. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/lr_schedule_handler.py +0 -0
  205. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/mean_dice.py +0 -0
  206. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/mean_iou.py +0 -0
  207. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/metric_logger.py +0 -0
  208. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/metrics_reloaded_handler.py +0 -0
  209. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/metrics_saver.py +0 -0
  210. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/mlflow_handler.py +0 -0
  211. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/nvtx_handlers.py +0 -0
  212. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/panoptic_quality.py +0 -0
  213. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/parameter_scheduler.py +0 -0
  214. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/postprocessing.py +0 -0
  215. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/probability_maps.py +0 -0
  216. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/regression_metrics.py +0 -0
  217. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/roc_auc.py +0 -0
  218. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/smartcache_handler.py +0 -0
  219. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/stats_handler.py +0 -0
  220. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/surface_distance.py +0 -0
  221. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/tensorboard_handlers.py +0 -0
  222. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/trt_handler.py +0 -0
  223. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/utils.py +0 -0
  224. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/handlers/validation_handler.py +0 -0
  225. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/inferers/__init__.py +0 -0
  226. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/inferers/inferer.py +0 -0
  227. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/inferers/splitter.py +0 -0
  228. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/inferers/utils.py +0 -0
  229. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/__init__.py +0 -0
  230. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/adversarial_loss.py +0 -0
  231. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/aucm_loss.py +0 -0
  232. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/barlow_twins.py +0 -0
  233. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/boundary_loss.py +0 -0
  234. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/calibration.py +0 -0
  235. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/cldice.py +0 -0
  236. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/contrastive.py +0 -0
  237. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/deform.py +0 -0
  238. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/dice.py +0 -0
  239. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/ds_loss.py +0 -0
  240. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/focal_loss.py +0 -0
  241. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/giou_loss.py +0 -0
  242. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/hausdorff_loss.py +0 -0
  243. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/image_dissimilarity.py +0 -0
  244. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/mcc_loss.py +0 -0
  245. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/multi_scale.py +0 -0
  246. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/nacl_loss.py +0 -0
  247. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/perceptual.py +0 -0
  248. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/spatial_mask.py +0 -0
  249. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/spectral_loss.py +0 -0
  250. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/ssim_loss.py +0 -0
  251. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/sure_loss.py +0 -0
  252. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/tversky.py +0 -0
  253. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/unified_focal_loss.py +0 -0
  254. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/losses/utils.py +0 -0
  255. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/__init__.py +0 -0
  256. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/absolute_volume_difference.py +0 -0
  257. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/average_precision.py +0 -0
  258. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/calibration.py +0 -0
  259. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/cumulative_average.py +0 -0
  260. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/f_beta_score.py +0 -0
  261. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/froc.py +0 -0
  262. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/generalized_dice.py +0 -0
  263. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/loss_metric.py +0 -0
  264. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/meandice.py +0 -0
  265. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/metric.py +0 -0
  266. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/mmd.py +0 -0
  267. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/panoptic_quality.py +0 -0
  268. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/regression.py +0 -0
  269. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/rocauc.py +0 -0
  270. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/surface_dice.py +0 -0
  271. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/utils.py +0 -0
  272. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/metrics/wrapper.py +0 -0
  273. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/__init__.py +0 -0
  274. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/__init__.py +0 -0
  275. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/acti_norm.py +0 -0
  276. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/activation.py +0 -0
  277. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/activation_checkpointing.py +0 -0
  278. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/aspp.py +0 -0
  279. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/attention_utils.py +0 -0
  280. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/backbone_fpn_utils.py +0 -0
  281. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/cablock.py +0 -0
  282. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/convolutions.py +0 -0
  283. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/crf.py +0 -0
  284. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/crossattention.py +0 -0
  285. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/denseblock.py +0 -0
  286. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/dints_block.py +0 -0
  287. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/downsample.py +0 -0
  288. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/dynunet_block.py +0 -0
  289. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/encoder.py +0 -0
  290. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/fcn.py +0 -0
  291. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/feature_pyramid_network.py +0 -0
  292. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/fft_utils_t.py +0 -0
  293. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/hyena.py +0 -0
  294. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/localnet_block.py +0 -0
  295. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/mednext_block.py +0 -0
  296. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/mlp.py +0 -0
  297. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/patchembedding.py +0 -0
  298. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/pos_embed_utils.py +0 -0
  299. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/regunet_block.py +0 -0
  300. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/rel_pos_embedding.py +0 -0
  301. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/segresnet_block.py +0 -0
  302. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/selfattention.py +0 -0
  303. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/spade_norm.py +0 -0
  304. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/spatialattention.py +0 -0
  305. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/squeeze_and_excitation.py +0 -0
  306. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/text_embedding.py +0 -0
  307. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/transformerblock.py +0 -0
  308. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/unetr_block.py +0 -0
  309. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/upsample.py +0 -0
  310. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/blocks/warp.py +0 -0
  311. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/layers/__init__.py +0 -0
  312. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/layers/conjugate_gradient.py +0 -0
  313. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/layers/convutils.py +0 -0
  314. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/layers/drop_path.py +0 -0
  315. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/layers/factories.py +0 -0
  316. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/layers/filtering.py +0 -0
  317. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/layers/gmm.py +0 -0
  318. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/layers/simplelayers.py +0 -0
  319. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/layers/spatial_transforms.py +0 -0
  320. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/layers/utils.py +0 -0
  321. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/layers/vector_quantizer.py +0 -0
  322. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/layers/weight_init.py +0 -0
  323. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/__init__.py +0 -0
  324. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/ahnet.py +0 -0
  325. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/attentionunet.py +0 -0
  326. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/autoencoder.py +0 -0
  327. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/autoencoderkl.py +0 -0
  328. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/basic_unet.py +0 -0
  329. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/basic_unetplusplus.py +0 -0
  330. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/cell_sam_wrapper.py +0 -0
  331. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/classifier.py +0 -0
  332. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/controlnet.py +0 -0
  333. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/daf3d.py +0 -0
  334. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/densenet.py +0 -0
  335. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/diffusion_model_unet.py +0 -0
  336. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/dynunet.py +0 -0
  337. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/efficientnet.py +0 -0
  338. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/flexible_unet.py +0 -0
  339. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/fullyconnectednet.py +0 -0
  340. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/generator.py +0 -0
  341. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/highresnet.py +0 -0
  342. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/hovernet.py +0 -0
  343. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/hyena_nd_unetr.py +0 -0
  344. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/masked_autoencoder_vit.py +0 -0
  345. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/mednext.py +0 -0
  346. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/milmodel.py +0 -0
  347. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/navit.py +0 -0
  348. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/netadapter.py +0 -0
  349. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/patchgan_discriminator.py +0 -0
  350. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/quicknat.py +0 -0
  351. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/regressor.py +0 -0
  352. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/resnet.py +0 -0
  353. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/restormer.py +0 -0
  354. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/segresnet.py +0 -0
  355. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/senet.py +0 -0
  356. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/spade_autoencoderkl.py +0 -0
  357. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/spade_diffusion_model_unet.py +0 -0
  358. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/spade_network.py +0 -0
  359. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/swin_unetr.py +0 -0
  360. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/torchvision_fc.py +0 -0
  361. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/transchex.py +0 -0
  362. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/transformer.py +0 -0
  363. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/unet.py +0 -0
  364. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/unetr.py +0 -0
  365. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/varautoencoder.py +0 -0
  366. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/vista3d.py +0 -0
  367. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/vit.py +0 -0
  368. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/vitautoenc.py +0 -0
  369. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/vnet.py +0 -0
  370. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/voxelmorph.py +0 -0
  371. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/nets/vqvae.py +0 -0
  372. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/schedulers/__init__.py +0 -0
  373. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/schedulers/ddim.py +0 -0
  374. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/schedulers/ddpm.py +0 -0
  375. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/schedulers/pndm.py +0 -0
  376. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/schedulers/rectified_flow.py +0 -0
  377. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/schedulers/scheduler.py +0 -0
  378. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/trt_compiler.py +0 -0
  379. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/networks/utils.py +0 -0
  380. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/optimizers/__init__.py +0 -0
  381. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/optimizers/lr_finder.py +0 -0
  382. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/optimizers/lr_scheduler.py +0 -0
  383. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/optimizers/novograd.py +0 -0
  384. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/optimizers/utils.py +0 -0
  385. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/py.typed +0 -0
  386. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/adaptors.py +0 -0
  387. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/compose.py +0 -0
  388. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/croppad/__init__.py +0 -0
  389. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/croppad/array.py +0 -0
  390. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/croppad/batch.py +0 -0
  391. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/croppad/dictionary.py +0 -0
  392. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/croppad/functional.py +0 -0
  393. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/intensity/__init__.py +0 -0
  394. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/intensity/array.py +0 -0
  395. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/intensity/dictionary.py +0 -0
  396. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/inverse.py +0 -0
  397. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/inverse_batch_transform.py +0 -0
  398. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/io/__init__.py +0 -0
  399. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/io/array.py +0 -0
  400. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/io/dictionary.py +0 -0
  401. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/lazy/__init__.py +0 -0
  402. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/lazy/array.py +0 -0
  403. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/lazy/dictionary.py +0 -0
  404. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/lazy/functional.py +0 -0
  405. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/lazy/utils.py +0 -0
  406. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/meta_utility/__init__.py +0 -0
  407. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/meta_utility/dictionary.py +0 -0
  408. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/nvtx.py +0 -0
  409. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/post/__init__.py +0 -0
  410. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/regularization/__init__.py +0 -0
  411. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/regularization/array.py +0 -0
  412. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/regularization/dictionary.py +0 -0
  413. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/signal/__init__.py +0 -0
  414. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/signal/array.py +0 -0
  415. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/signal/dictionary.py +0 -0
  416. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/smooth_field/__init__.py +0 -0
  417. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/smooth_field/array.py +0 -0
  418. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/smooth_field/dictionary.py +0 -0
  419. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/spatial/__init__.py +0 -0
  420. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/spatial/array.py +0 -0
  421. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/spatial/functional.py +0 -0
  422. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/traits.py +0 -0
  423. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/transform.py +0 -0
  424. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/utility/__init__.py +0 -0
  425. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/utility/dictionary.py +0 -0
  426. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/utils_create_transform_ims.py +0 -0
  427. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/utils_morphological_ops.py +0 -0
  428. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/transforms/utils_pytorch_numpy_unification.py +0 -0
  429. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/utils/__init__.py +0 -0
  430. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/utils/compare_sources.py +0 -0
  431. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/utils/component_store.py +0 -0
  432. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/utils/decorators.py +0 -0
  433. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/utils/dist.py +0 -0
  434. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/utils/enums.py +0 -0
  435. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/utils/jupyter_utils.py +0 -0
  436. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/utils/misc.py +0 -0
  437. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/utils/module.py +0 -0
  438. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/utils/nvtx.py +0 -0
  439. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/utils/ordering.py +0 -0
  440. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/utils/profiling.py +0 -0
  441. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/utils/safeeval.py +0 -0
  442. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/utils/state_cacher.py +0 -0
  443. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/utils/tf32.py +0 -0
  444. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/utils/type_conversion.py +0 -0
  445. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/visualize/__init__.py +0 -0
  446. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/visualize/class_activation_maps.py +0 -0
  447. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/visualize/gradient_based.py +0 -0
  448. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/visualize/img2tensorboard.py +0 -0
  449. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/visualize/occlusion_sensitivity.py +0 -0
  450. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/visualize/utils.py +0 -0
  451. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai/visualize/visualizer.py +0 -0
  452. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai_weekly.egg-info/SOURCES.txt +0 -0
  453. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai_weekly.egg-info/dependency_links.txt +0 -0
  454. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai_weekly.egg-info/not-zip-safe +0 -0
  455. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai_weekly.egg-info/requires.txt +0 -0
  456. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/monai_weekly.egg-info/top_level.txt +0 -0
  457. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/pyproject.toml +0 -0
  458. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/setup.cfg +0 -0
  459. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/setup.py +0 -0
  460. {monai_weekly-1.7.dev2641 → monai_weekly-1.7.dev2643}/versioneer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: monai-weekly
3
- Version: 1.7.dev2641
3
+ Version: 1.7.dev2643
4
4
  Summary: AI Toolkit for Healthcare Imaging
5
5
  Author-email: MONAI Consortium <monai.contact@gmail.com>
6
6
  License: Apache License 2.0
@@ -86,6 +86,7 @@ from .utils.module import load_submodules # noqa: E402
86
86
  # *.so files and folder "_C" may not exist when the cpp extensions are not compiled
87
87
  excludes = "|".join(
88
88
  [
89
+ "(.*(nvimgcodec_pydicom_plugin)$)",
89
90
  "(^(monai.handlers))",
90
91
  "(^(monai.bundle))",
91
92
  "(^(monai.fl))",
@@ -136,4 +137,4 @@ except Exception:
136
137
 
137
138
  if MONAIEnvVars.debug():
138
139
  raise
139
- __commit_id__ = "eedf5fad1e1c802e8ade5736c8ecf071f9dca0b7"
140
+ __commit_id__ = "4f150a8f26664d1452a8e420d118f4541597f686"
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2026-10-11T02:25:27+0000",
11
+ "date": "2026-10-25T02:15:18+0000",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "7bfe671ffaf469a0b2a44c800abe101d1f3447b4",
15
- "version": "1.7.dev2641"
14
+ "full-revisionid": "08aa7d448a8733b13dadffc2f153f7bcb56f41cf",
15
+ "version": "1.7.dev2643"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -258,7 +258,6 @@ class AffineBoxToImageCoordinated(MapTransform, InvertibleTransform):
258
258
  Args:
259
259
  box_keys: Keys to pick box data for transformation. The box mode is assumed to be ``StandardMode``.
260
260
  box_ref_image_keys: The single key that represents the reference image to which ``box_keys`` are attached.
261
- remove_empty: whether to remove the boxes that are actually empty
262
261
  allow_missing_keys: don't raise exception if key is missing.
263
262
  image_meta_key: explicitly indicate the key of the corresponding metadata dictionary.
264
263
  for example, for data with key `image`, the metadata by default is in `image_meta_dict`.
@@ -347,7 +346,6 @@ class AffineBoxToWorldCoordinated(AffineBoxToImageCoordinated):
347
346
  Args:
348
347
  box_keys: Keys to pick box data for transformation. The box mode is assumed to be ``StandardMode``.
349
348
  box_ref_image_keys: The single key that represents the reference image to which ``box_keys`` are attached.
350
- remove_empty: whether to remove the boxes that are actually empty
351
349
  allow_missing_keys: don't raise exception if key is missing.
352
350
  image_meta_key: explicitly indicate the key of the corresponding metadata dictionary.
353
351
  for example, for data with key `image`, the metadata by default is in `image_meta_dict`.
@@ -9,7 +9,7 @@
9
9
  # See the License for the specific language governing permissions and
10
10
  # limitations under the License.
11
11
  """
12
- Utilities for accessing Nvidia MMARs
12
+ Deprecated utilities for accessing Nvidia MMARs. Use MONAI Bundles instead.
13
13
 
14
14
  See Also:
15
15
  - https://docs.nvidia.com/clara/clara-train-sdk/pt/mmar.html
@@ -18,18 +18,13 @@ See Also:
18
18
  from __future__ import annotations
19
19
 
20
20
  import json
21
- import os
22
- import warnings
23
21
  from collections.abc import Mapping
24
22
  from pathlib import Path
25
23
  from typing import Any
26
24
 
27
- import torch
28
-
29
- import monai.networks.nets as monai_nets
30
- from monai.apps.utils import download_and_extract, logger
25
+ from monai.apps.utils import download_and_extract
31
26
  from monai.config.type_definitions import PathLike
32
- from monai.networks.utils import copy_model_state
27
+ from monai.utils.deprecate_utils import DeprecatedError, deprecated
33
28
  from monai.utils.module import optional_import
34
29
 
35
30
  from .model_desc import MODEL_DESC
@@ -38,8 +33,21 @@ from .model_desc import RemoteMMARKeys as Keys
38
33
  __all__ = ["get_model_spec", "download_mmar", "load_from_mmar"]
39
34
 
40
35
 
41
- def get_model_spec(idx: int | str) -> dict | Any:
42
- """get model specification by `idx`. `idx` could be index of the constant tuple of dict or the actual model ID."""
36
+ def _get_model_spec(idx: int | str) -> dict | Any:
37
+ """
38
+ Look up a model specification without emitting a deprecation warning.
39
+
40
+ Args:
41
+ idx: An index into ``MODEL_DESC`` or a model ID. Negative indices count from the end.
42
+ Model IDs ignore case and leading or trailing whitespace.
43
+
44
+ Returns:
45
+ The matching model specification. Unknown IDs and inputs other than integers or strings
46
+ are returned unchanged.
47
+
48
+ Raises:
49
+ IndexError: If an integer index is outside the range of ``MODEL_DESC``.
50
+ """
43
51
  if isinstance(idx, int):
44
52
  return MODEL_DESC[idx]
45
53
  if isinstance(idx, str):
@@ -50,6 +58,21 @@ def get_model_spec(idx: int | str) -> dict | Any:
50
58
  return idx
51
59
 
52
60
 
61
+ @deprecated(
62
+ since="1.7.0",
63
+ removed="1.9.0",
64
+ msg_suffix="NVIDIA Clara MMAR support is deprecated. Please use MONAI Bundles instead.",
65
+ )
66
+ def get_model_spec(idx: int | str) -> dict | Any:
67
+ """
68
+ Get a model specification by index or model ID.
69
+
70
+ .. deprecated:: 1.7.0
71
+ NVIDIA Clara MMAR support will be removed in version 1.9.0. Use MONAI Bundles instead.
72
+ """
73
+ return _get_model_spec(idx)
74
+
75
+
53
76
  def _get_all_ngc_models(pattern, page_index=0, page_size=50):
54
77
  url = "https://api.ngc.nvidia.com/v2/search/catalog/resources/MODEL"
55
78
  query_dict = {
@@ -99,16 +122,20 @@ def _get_ngc_url(model_name: str, version: str, model_prefix: str = "") -> str:
99
122
  return f"https://api.ngc.nvidia.com/v2/models/{model_prefix}{model_name}/versions/{version}/zip"
100
123
 
101
124
 
102
- def _get_ngc_doc_url(model_name: str, model_prefix: str = "") -> str:
103
- return f"https://ngc.nvidia.com/catalog/models/{model_prefix}{model_name}"
104
-
105
-
125
+ @deprecated(
126
+ since="1.7.0",
127
+ removed="1.9.0",
128
+ msg_suffix="NVIDIA Clara MMAR support is deprecated. Please use MONAI Bundles instead.",
129
+ )
106
130
  def download_mmar(
107
131
  item: str | Mapping, mmar_dir: PathLike | None = None, progress: bool = True, api: bool = True, version: int = -1
108
132
  ) -> Path:
109
133
  """
110
134
  Download and extract Medical Model Archive (MMAR) from Nvidia Clara Train.
111
135
 
136
+ .. deprecated:: 1.7.0
137
+ NVIDIA Clara MMAR support will be removed in version 1.9.0. Use MONAI Bundles instead.
138
+
112
139
  See Also:
113
140
  - https://docs.nvidia.com/clara/
114
141
  - Nvidia NGC Registry CLI
@@ -165,7 +192,7 @@ def download_mmar(
165
192
  return model_dir_list[0]
166
193
 
167
194
  if not isinstance(item, Mapping):
168
- item = get_model_spec(item)
195
+ item = _get_model_spec(item)
169
196
  ver = item.get(Keys.VERSION, 1)
170
197
  if version > 0:
171
198
  ver = str(version)
@@ -185,6 +212,11 @@ def download_mmar(
185
212
  return model_dir
186
213
 
187
214
 
215
+ @deprecated(
216
+ since="1.7.0",
217
+ removed="1.9.0",
218
+ msg_suffix="NVIDIA Clara MMAR support is deprecated. Please use MONAI Bundles instead.",
219
+ )
188
220
  def load_from_mmar(
189
221
  item: Mapping | str | int,
190
222
  mmar_dir: PathLike | None = None,
@@ -198,117 +230,31 @@ def load_from_mmar(
198
230
  model_file: PathLike | None = None,
199
231
  ) -> Any:
200
232
  """
201
- Download and extract Medical Model Archive (MMAR) model weights from Nvidia Clara Train.
233
+ Disabled loader for NVIDIA Clara Medical Model Archive (MMAR) models.
234
+
235
+ .. deprecated:: 1.7.0
236
+ Loading MMAR models is disabled for security reasons. This function will be removed
237
+ in version 1.9.0. Use MONAI Bundles instead.
238
+
239
+ Every call raises :class:`monai.utils.DeprecatedError` before downloading or
240
+ loading a model. The arguments are kept for compatibility and are ignored.
241
+ Their former meanings are listed below.
202
242
 
203
243
  Args:
204
244
  item: the corresponding model item from `MODEL_DESC`.
205
- mmar_dir: : target directory to store the MMAR, default is mmars subfolder under `torch.hub get_dir()`.
245
+ mmar_dir: target directory to store the MMAR, default is mmars subfolder under `torch.hub get_dir()`.
206
246
  progress: whether to display a progress bar when downloading the content.
207
247
  version: version number of the MMAR. Set it to `-1` to use `item[Keys.VERSION]`.
208
248
  map_location: pytorch API parameter for `torch.load` or `torch.jit.load`.
209
249
  pretrained: whether to load the pretrained weights after initializing a network module.
210
250
  weights_only: whether to load only the weights instead of initializing the network module and assign weights.
211
251
  model_key: a key to search in the model file or config file for the model dictionary.
212
- Currently this function assumes that the model dictionary has
252
+ The model dictionary was expected to have
213
253
  `{"[name|path]": "test.module", "args": {'kw': 'test'}}`.
214
- api: whether to query NGC API to get model infomation.
254
+ api: whether to query NGC API to get model information.
215
255
  model_file: the relative path to the model file within an MMAR.
216
256
 
217
- Examples::
218
- >>> from monai.apps import load_from_mmar
219
- >>> unet_model = load_from_mmar("clara_pt_prostate_mri_segmentation_1", mmar_dir=".", map_location="cpu")
220
- >>> print(unet_model)
221
-
222
- See Also:
223
- https://docs.nvidia.com/clara/
224
- """
225
- if api:
226
- item = {Keys.NAME: get_model_spec(item)[Keys.NAME] if isinstance(item, int) else f"{item}"}
227
- if not isinstance(item, Mapping):
228
- item = get_model_spec(item)
229
- model_dir = download_mmar(item=item, mmar_dir=mmar_dir, progress=progress, version=version, api=api)
230
- if model_file is None:
231
- model_file = os.path.join("models", "model.pt")
232
- _model_file = model_dir / item.get(Keys.MODEL_FILE, model_file)
233
- logger.info(f'\n*** "{item.get(Keys.NAME)}" available at {model_dir}.')
234
-
235
- # loading with `torch.jit.load`
236
- if _model_file.name.endswith(".ts"):
237
- if not pretrained:
238
- warnings.warn("Loading a ScriptModule, 'pretrained' option ignored.")
239
- if weights_only:
240
- warnings.warn("Loading a ScriptModule, 'weights_only' option ignored.")
241
- return torch.jit.load(_model_file, map_location=map_location)
242
-
243
- # loading with `torch.load`
244
- model_dict = torch.load(_model_file, map_location=map_location, weights_only=True)
245
- if weights_only:
246
- return model_dict.get(model_key, model_dict) # model_dict[model_key] or model_dict directly
247
-
248
- # 1. search `model_dict['train_config]` for model config spec.
249
- model_config = _get_val(dict(model_dict).get("train_conf", {}), key=model_key, default={})
250
- if not model_config or not isinstance(model_config, Mapping):
251
- # 2. search json CONFIG_FILE for model config spec.
252
- json_path = model_dir / item.get(Keys.CONFIG_FILE, os.path.join("config", "config_train.json"))
253
- with open(json_path) as f:
254
- conf_dict = json.load(f)
255
- conf_dict = dict(conf_dict)
256
- model_config = _get_val(conf_dict, key=model_key, default={})
257
- if not model_config:
258
- # 3. search `model_dict` for model config spec.
259
- model_config = _get_val(dict(model_dict), key=model_key, default={})
260
-
261
- if not (model_config and isinstance(model_config, Mapping)):
262
- raise ValueError(
263
- f"Could not load model config dictionary from config: {item.get(Keys.CONFIG_FILE)}, "
264
- f"or from model file: {item.get(Keys.MODEL_FILE)}."
265
- )
266
-
267
- # parse `model_config` for model class and model parameters
268
- if model_config.get("name"): # model config section is a "name"
269
- model_name = model_config["name"]
270
- model_cls = monai_nets.__dict__[model_name]
271
- elif model_config.get("path"): # model config section is a "path"
272
- # https://docs.nvidia.com/clara/clara-train-sdk/pt/byom.html
273
- model_module, model_name = model_config.get("path", ".").rsplit(".", 1)
274
- model_cls, has_cls = optional_import(module=model_module, name=model_name)
275
- if not has_cls:
276
- raise ValueError(
277
- f"Could not load MMAR model config {model_config.get('path', '')}, "
278
- f"Please make sure MMAR's sub-folders in '{model_dir}' is on the PYTHONPATH."
279
- "See also: https://docs.nvidia.com/clara/clara-train-sdk/pt/byom.html"
280
- )
281
- else:
282
- raise ValueError(f"Could not load model config {model_config}.")
283
-
284
- logger.info(f"*** Model: {model_cls}")
285
- model_kwargs = model_config.get("args", None)
286
- if model_kwargs:
287
- model_inst = model_cls(**model_kwargs)
288
- logger.info(f"*** Model params: {model_kwargs}")
289
- else:
290
- model_inst = model_cls()
291
- if pretrained:
292
- _, changed, unchanged = copy_model_state(model_inst, model_dict.get(model_key, model_dict), inplace=True)
293
- if not (changed and not unchanged): # not all model_inst variables are changed
294
- logger.warning(f"*** Loading model state -- unchanged: {len(unchanged)}, changed: {len(changed)}.")
295
- logger.info("\n---")
296
- doc_url = item.get(Keys.DOC) or _get_ngc_doc_url(item[Keys.NAME], model_prefix="nvidia:med:")
297
- logger.info(f"For more information, please visit {doc_url}\n")
298
- return model_inst
299
-
300
-
301
- def _get_val(input_dict: Mapping, key: str = "model", default: Any | None = None) -> Any | None:
302
- """
303
- Search for the item with `key` in `config_dict`.
304
- Returns: the first occurrence of `key` in a breadth first search.
257
+ Raises:
258
+ DeprecatedError: always, because MMAR loading is disabled for security reasons.
305
259
  """
306
- if key in input_dict:
307
- return input_dict[key]
308
- for sub_dict in input_dict:
309
- val = input_dict[sub_dict]
310
- if isinstance(val, Mapping):
311
- found_val = _get_val(val, key=key, default=None)
312
- if found_val is not None:
313
- return found_val
314
- return default
260
+ raise DeprecatedError("load_from_mmar is disabled for security reasons. Please use MONAI Bundles instead.")
@@ -20,19 +20,31 @@ from __future__ import annotations
20
20
  import os
21
21
  from typing import Any
22
22
 
23
+ from monai.utils.deprecate_utils import deprecated
24
+
23
25
  __all__ = ["MODEL_DESC", "RemoteMMARKeys"]
24
26
 
25
27
 
28
+ @deprecated(
29
+ since="1.7.0",
30
+ removed="1.9.0",
31
+ msg_suffix="NVIDIA Clara MMAR support is deprecated. Please use MONAI Bundles instead.",
32
+ )
26
33
  class RemoteMMARKeys:
27
34
  """
28
35
  Data keys used for loading MMAR.
29
36
  ID must uniquely define an MMAR.
37
+
38
+ .. deprecated:: 1.7.0
39
+ NVIDIA Clara MMAR support will be removed in version 1.9.0. Use MONAI Bundles instead.
40
+ Reading these constants or ``MODEL_DESC`` does not emit a warning; both will be removed
41
+ with the MMAR module in version 1.9.0.
30
42
  """
31
43
 
32
44
  ID = "id" # unique MMAR
33
45
  NAME = "name" # MMAR name for readability
34
46
  URL = "url" # remote location of the MMAR, see also: `monai.apps.mmars.mmars._get_ngc_url`
35
- DOC = "doc" # documentation page of the remote model, see also: `monai.apps.mmars.mmars._get_ngc_doc_url`
47
+ DOC = "doc" # documentation page of the remote model
36
48
  FILE_TYPE = "file_type" # type of the compressed MMAR
37
49
  HASH_TYPE = "hash_type" # hashing method for the compressed MMAR
38
50
  HASH_VAL = "hash_val" # hashing value for the compressed MMAR
@@ -178,7 +178,6 @@ class GenerateInstanceBorderd(Transform):
178
178
  border_key: the output key where instance border map is written. Defaults to `"border"`.
179
179
  kernel_size: the size of the Sobel kernel. Defaults to 21.
180
180
  dtype: target data content type to convert, default is np.float32.
181
- allow_missing_keys: don't raise exception if key is missing.
182
181
 
183
182
  Raises:
184
183
  ValueError: when the `hover_map` has only one value.
@@ -259,7 +258,6 @@ class GenerateWatershedMarkersd(Transform):
259
258
  min_object_size: objects smaller than this size are removed. Defaults to 10.
260
259
  postprocess_fn: execute additional post transformation on marker. Defaults to None.
261
260
  dtype: target data content type to convert, default is np.uint8.
262
- allow_missing_keys: don't raise exception if key is missing.
263
261
  """
264
262
 
265
263
  backend = GenerateWatershedMarkers.backend
@@ -30,6 +30,7 @@ from urllib.request import urlopen, urlretrieve
30
30
 
31
31
  from monai.config.type_definitions import PathLike
32
32
  from monai.utils import look_up_option, min_version, optional_import
33
+ from monai.utils.deprecate_utils import warn_deprecated
33
34
 
34
35
  requests, has_requests = optional_import("requests")
35
36
  gdown, has_gdown = optional_import("gdown", "4.7.3")
@@ -177,6 +178,9 @@ def check_hash(filepath: PathLike, val: str | None = None, hash_type: str = "sha
177
178
  The supported hash types are `"md5"`, `"sha1"`, `"sha256"`, `"sha512"`.
178
179
  See also: :py:data:`monai.apps.utils.SUPPORTED_HASH_TYPES`.
179
180
 
181
+ .. versionchanged:: 1.7
182
+ The default `hash_type` changed from "md5" to "sha256" for stronger integrity verification.
183
+ Pass `hash_type="md5"` explicitly to verify against MD5 hashes.
180
184
  """
181
185
  if val is None:
182
186
  warnings.warn(f"No hash value provided for {filepath}; file integrity is NOT verified.", stacklevel=2)
@@ -204,7 +208,7 @@ def download_url(
204
208
  url: str,
205
209
  filepath: PathLike = "",
206
210
  hash_val: str | None = None,
207
- hash_type: str = "sha256",
211
+ hash_type: str | None = None,
208
212
  progress: bool = True,
209
213
  **gdown_kwargs: Any,
210
214
  ) -> None:
@@ -217,7 +221,7 @@ def download_url(
217
221
  If undefined, `os.path.basename(url)` will be used.
218
222
  hash_val: expected hash value to validate the downloaded file.
219
223
  if None, skip hash validation.
220
- hash_type: type of hash algorithm to use, default is `"sha256"`.
224
+ hash_type: type of hash algorithm to use, default is None which will select `"sha256"`.
221
225
  The supported hash types are `"md5"`, `"sha1"`, `"sha256"`, `"sha512"`.
222
226
  progress: whether to display a progress bar.
223
227
  gdown_kwargs: other args for `gdown` except for the `url`, `output` and `quiet`.
@@ -234,7 +238,23 @@ def download_url(
234
238
  ContentTooShortError: See urllib.request.urlretrieve.
235
239
  IOError: See urllib.request.urlretrieve.
236
240
  HashCheckError: When the hash validation of the ``url`` downloaded file fails.
241
+
242
+ .. versionchanged:: 1.7
243
+ The default `hash_type` changed from "md5" to None for stronger integrity verification. If this is left None
244
+ when a `hash_val` value is provided, this will warn to explicitly set `hash_type` then choose sha256 hashing.
245
+ Pass `hash_type="md5"` explicitly to verify against MD5 hashes and suppress the warning. In MONAI 1.8 the
246
+ default will be set to "sha256".
237
247
  """
248
+ if hash_val is not None and hash_type is None:
249
+ warn_deprecated(
250
+ "monai.apps.utils.download_url",
251
+ 'Default `hash_type` value changed to `None` from "md5" in MONAI 1.7, '
252
+ "set to explicit value to suppress this warning. Defaulting to sha256 checking. In MONAI 1.8 the "
253
+ 'default will be set to "sha256".',
254
+ stacklevel=3,
255
+ )
256
+ hash_type = "sha256"
257
+
238
258
  if not filepath:
239
259
  filepath = Path(".", _basename(url)).resolve()
240
260
  logger.info(f"Default downloading to '{filepath}'")
@@ -316,7 +336,7 @@ def extractall(
316
336
  filepath: PathLike,
317
337
  output_dir: PathLike = ".",
318
338
  hash_val: str | None = None,
319
- hash_type: str = "sha256",
339
+ hash_type: str | None = None,
320
340
  file_type: str = "",
321
341
  has_base: bool = True,
322
342
  ) -> None:
@@ -329,7 +349,7 @@ def extractall(
329
349
  output_dir: target directory to save extracted files.
330
350
  hash_val: expected hash value to validate the compressed file.
331
351
  if None, skip hash validation.
332
- hash_type: type of hash algorithm to use, default is `"sha256"`.
352
+ hash_type: type of hash algorithm to use, default is None which will select `"sha256"`.
333
353
  file_type: string of file type for decompressing. Leave it empty to infer the type from the filepath basename.
334
354
  has_base: whether the extracted files have a base folder. This flag is used when checking if the existing
335
355
  folder is a result of `extractall`, if it is, the extraction is skipped. For example, if A.zip is unzipped
@@ -340,7 +360,22 @@ def extractall(
340
360
  HashCheckError: When the hash validation of the ``filepath`` compressed file fails.
341
361
  NotImplementedError: When the ``filepath`` file extension is not one of [zip", "tar.gz", "tar"].
342
362
 
363
+ .. versionchanged:: 1.6.1
364
+ The default `hash_type` changed from "md5" to None for stronger integrity verification. If this is left None
365
+ when a `hash_val` value is provided, this will warn to explicitly set `hash_type` then choose sha256 hashing.
366
+ Pass `hash_type="md5"` explicitly to verify against MD5 hashes and suppress the warning. In MONAI 1.8 the
367
+ default will be set to "sha256".
343
368
  """
369
+ if hash_val is not None and hash_type is None:
370
+ warn_deprecated(
371
+ "monai.apps.utils.extractall",
372
+ 'Default `hash_type` value changed to `None` from "md5" in MONAI 1.7, '
373
+ "set to an explicit value to suppress this warning. Defaulting to sha256 checking. In MONAI 1.8 the "
374
+ 'default will be set to "sha256".',
375
+ stacklevel=3,
376
+ )
377
+ hash_type = "sha256"
378
+
344
379
  filepath = Path(filepath)
345
380
  if hash_val and not check_hash(filepath, hash_val, hash_type):
346
381
  raise HashCheckError(
@@ -395,7 +430,7 @@ def download_and_extract(
395
430
  filepath: PathLike = "",
396
431
  output_dir: PathLike = ".",
397
432
  hash_val: str | None = None,
398
- hash_type: str = "sha256",
433
+ hash_type: str | None = None,
399
434
  file_type: str = "",
400
435
  has_base: bool = True,
401
436
  progress: bool = True,
@@ -411,7 +446,7 @@ def download_and_extract(
411
446
  default is the current directory.
412
447
  hash_val: expected hash value to validate the downloaded file.
413
448
  if None, skip hash validation.
414
- hash_type: type of hash algorithm to use, default is `"sha256"`.
449
+ hash_type: type of hash algorithm to use, default is None which will select `"sha256"`.
415
450
  file_type: string of file type for decompressing. Leave it empty to infer the type from url's base file name.
416
451
  has_base: whether the extracted files have a base folder. This flag is used when checking if the existing
417
452
  folder is a result of `extractall`, if it is, the extraction is skipped. For example, if A.zip is unzipped
@@ -257,6 +257,8 @@ class GridPatchDataset(IterableDataset):
257
257
  self.first_random = self.patch_transform.get_index_of_first(
258
258
  lambda t: isinstance(t, RandomizableTrait) or not isinstance(t, Transform)
259
259
  )
260
+ if self.first_random is None:
261
+ self.first_random = len(self.patch_transform.transforms)
260
262
 
261
263
  if self.cache:
262
264
  if isinstance(data, Iterator):
@@ -279,7 +281,11 @@ class GridPatchDataset(IterableDataset):
279
281
  self.cache_num = min(int(self.set_num), int(len(mapping) * self.set_rate), len(mapping))
280
282
  self._hash_keys = list(mapping)[: self.cache_num]
281
283
  indices = list(mapping.values())[: self.cache_num]
282
- self._cache, self._cache_other = zip(*self._fill_cache(indices)) # type: ignore
284
+ cache_items = self._fill_cache(indices)
285
+ if cache_items:
286
+ self._cache, self._cache_other = zip(*cache_items) # type: ignore
287
+ else:
288
+ self._cache, self._cache_other = [], []
283
289
 
284
290
  def _fill_cache(self, indices=None) -> list:
285
291
  """
@@ -339,12 +345,9 @@ class GridPatchDataset(IterableDataset):
339
345
 
340
346
  def __iter__(self):
341
347
  if self.cache:
342
- cache_index = None
343
348
  for image in super().__iter__():
344
349
  key = self.hash_func(image)
345
- if key in self._hash_keys:
346
- # if existing in cache, try to get the index in cache
347
- cache_index = self._hash_keys.index(key)
350
+ cache_index = self._hash_keys.index(key) if key in self._hash_keys else None
348
351
  if cache_index is None:
349
352
  # no cache for this index, execute all the transforms directly
350
353
  yield from self._generate_patches(self.patch_iter(image))
@@ -354,11 +357,11 @@ class GridPatchDataset(IterableDataset):
354
357
  "Cache buffer is not initialized, please call `set_data()` before epoch begins."
355
358
  )
356
359
  data = self._cache[cache_index]
357
- other = self._cache_other[cache_index]
358
360
 
359
361
  # load data from cache and execute from the first random transform
360
362
  data = deepcopy(data) if self.copy_cache else data
361
- yield from self._generate_patches(zip(data, other), start=self.first_random)
363
+ cached_patches = zip(data, self._cache_other[cache_index]) if self.with_coordinates else zip(data)
364
+ yield from self._generate_patches(cached_patches, start=self.first_random)
362
365
  else:
363
366
  for image in super().__iter__():
364
367
  yield from self._generate_patches(self.patch_iter(image))
@@ -1087,7 +1087,7 @@ class NvImgCodecPydicomReader(PydicomReader):
1087
1087
  Load DICOM images using Pydicom with GPU-accelerated decompression via nvImageCodec.
1088
1088
 
1089
1089
  This reader extends :py:class:`PydicomReader` and registers the nvImageCodec pydicom
1090
- decoder plugin on initialization. The plugin accelerates decoding of compressed pixel data
1090
+ decoder plugin lazily on first use. The plugin accelerates decoding of compressed pixel data
1091
1091
  for JPEG, JPEG 2000, and HTJ2K transfer syntaxes when CUDA, CuPy and ``nvidia-nvimgcodec`` are available.
1092
1092
 
1093
1093
  If nvImageCodec is not available, a warning is issued and the reader falls back to the
@@ -1117,8 +1117,8 @@ class NvImgCodecPydicomReader(PydicomReader):
1117
1117
 
1118
1118
  This reader only declares ``@require_pkg(pkg_name="pydicom")`` so that :py:class:`monai.transforms.LoadImage`
1119
1119
  can register it without hard-failing when GPU dependencies are missing. ``pydicom`` is required to construct
1120
- the reader; nvimgcodec, CUDA, and CuPy availability is checked at runtime with a warning issued and fallback to
1121
- default pydicom decoders if missing.
1120
+ the reader; nvImageCodec, CUDA, and CuPy availability is checked when a DICOM file is verified or read.
1121
+ If the plugin is unavailable or registration fails, the reader falls back to the default pydicom decoders.
1122
1122
 
1123
1123
  Args:
1124
1124
  channel_dim: the channel dimension of the input image, default is None.
@@ -1159,6 +1159,14 @@ class NvImgCodecPydicomReader(PydicomReader):
1159
1159
  to_gpu=False,
1160
1160
  **kwargs,
1161
1161
  )
1162
+
1163
+ self._nvimgcodec_available = False
1164
+ self._setup_done = False
1165
+
1166
+ def _ensure_setup(self) -> None:
1167
+ """Import and register the nvImageCodec plugin on first use only."""
1168
+ if self._setup_done:
1169
+ return
1162
1170
  from monai.data.nvimgcodec_pydicom_plugin import is_nvimgcodec_available, register_as_decoder_plugin
1163
1171
 
1164
1172
  self._nvimgcodec_available = is_nvimgcodec_available()
@@ -1167,14 +1175,28 @@ class NvImgCodecPydicomReader(PydicomReader):
1167
1175
  "NvImgCodecPydicomReader: nvImageCodec decoder plugin did not register successfully. "
1168
1176
  "Falling back to default pydicom decoders."
1169
1177
  )
1178
+ self._setup_done = True
1170
1179
 
1171
1180
  def verify_suffix(self, filename: Sequence[PathLike] | PathLike) -> bool:
1172
1181
  """
1173
1182
  Verify whether the specified file or files are DICOM and nvImageCodec is available.
1174
1183
  """
1175
- if not has_pydicom or not self._nvimgcodec_available:
1184
+ if not has_pydicom or not is_dicom_path(filename):
1176
1185
  return False
1177
- return is_dicom_path(filename)
1186
+ self._ensure_setup()
1187
+ return self._nvimgcodec_available
1188
+
1189
+ def read(self, data: Sequence[PathLike] | PathLike, **kwargs):
1190
+ """Read image data using the configured reader.
1191
+
1192
+ Args:
1193
+ data: Input image data or file path.
1194
+ **kwargs: Additional arguments passed to the underlying reader.
1195
+
1196
+ Returns:
1197
+ The image data returned by the underlying reader."""
1198
+ self._ensure_setup()
1199
+ return super().read(data, **kwargs)
1178
1200
 
1179
1201
 
1180
1202
  @require_pkg(pkg_name="nibabel")
@@ -66,7 +66,7 @@ def is_nvimgcodec_available() -> bool:
66
66
  def register_as_decoder_plugin(module_path: str | None = None) -> bool:
67
67
  """Register the nvImageCodec pydicom decoder plugin."""
68
68
  if not is_nvimgcodec_available():
69
- _logger.warning("nvImageCodec is not available; skipping pydicom decoder plugin registration.")
69
+ _logger.debug("nvImageCodec is not available; skipping pydicom decoder plugin registration.")
70
70
  return False
71
71
  if not has_pydicom_plugin:
72
72
  return False