monai-weekly 1.7.dev2628__tar.gz → 1.7.dev2629__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 (452) hide show
  1. {monai_weekly-1.7.dev2628/monai_weekly.egg-info → monai_weekly-1.7.dev2629}/PKG-INFO +1 -1
  2. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/__init__.py +1 -1
  3. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/_version.py +3 -3
  4. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/__init__.py +1 -0
  5. monai_weekly-1.7.dev2629/monai/losses/boundary_loss.py +233 -0
  6. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/warp.py +3 -2
  7. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629/monai_weekly.egg-info}/PKG-INFO +1 -1
  8. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai_weekly.egg-info/SOURCES.txt +1 -0
  9. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/LICENSE +0 -0
  10. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/MANIFEST.in +0 -0
  11. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/README.md +0 -0
  12. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/_extensions/__init__.py +0 -0
  13. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/_extensions/gmm/gmm.cpp +0 -0
  14. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/_extensions/gmm/gmm.h +0 -0
  15. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/_extensions/gmm/gmm_cpu.cpp +0 -0
  16. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/_extensions/gmm/gmm_cuda.cu +0 -0
  17. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/_extensions/gmm/gmm_cuda_linalg.cuh +0 -0
  18. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/_extensions/loader.py +0 -0
  19. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/__init__.py +0 -0
  20. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/auto3dseg/__init__.py +0 -0
  21. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/auto3dseg/__main__.py +0 -0
  22. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/auto3dseg/auto_runner.py +0 -0
  23. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/auto3dseg/bundle_gen.py +0 -0
  24. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/auto3dseg/data_analyzer.py +0 -0
  25. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/auto3dseg/ensemble_builder.py +0 -0
  26. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/auto3dseg/hpo_gen.py +0 -0
  27. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/auto3dseg/transforms.py +0 -0
  28. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/auto3dseg/utils.py +0 -0
  29. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/datasets.py +0 -0
  30. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/deepedit/__init__.py +0 -0
  31. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/deepedit/interaction.py +0 -0
  32. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/deepedit/transforms.py +0 -0
  33. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/deepgrow/__init__.py +0 -0
  34. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/deepgrow/dataset.py +0 -0
  35. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/deepgrow/interaction.py +0 -0
  36. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/deepgrow/transforms.py +0 -0
  37. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/detection/__init__.py +0 -0
  38. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/detection/metrics/__init__.py +0 -0
  39. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/detection/metrics/coco.py +0 -0
  40. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/detection/metrics/matching.py +0 -0
  41. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/detection/networks/__init__.py +0 -0
  42. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/detection/networks/retinanet_detector.py +0 -0
  43. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/detection/networks/retinanet_network.py +0 -0
  44. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/detection/transforms/__init__.py +0 -0
  45. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/detection/transforms/array.py +0 -0
  46. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/detection/transforms/box_ops.py +0 -0
  47. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/detection/transforms/dictionary.py +0 -0
  48. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/detection/utils/ATSS_matcher.py +0 -0
  49. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/detection/utils/__init__.py +0 -0
  50. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/detection/utils/anchor_utils.py +0 -0
  51. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/detection/utils/box_coder.py +0 -0
  52. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/detection/utils/box_selector.py +0 -0
  53. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/detection/utils/detector_utils.py +0 -0
  54. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/detection/utils/hard_negative_sampler.py +0 -0
  55. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/detection/utils/predict_utils.py +0 -0
  56. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/generation/__init__.py +0 -0
  57. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/generation/maisi/__init__.py +0 -0
  58. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/generation/maisi/networks/__init__.py +0 -0
  59. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/generation/maisi/networks/autoencoderkl_maisi.py +0 -0
  60. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/generation/maisi/networks/controlnet_maisi.py +0 -0
  61. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/generation/maisi/networks/diffusion_model_unet_maisi.py +0 -0
  62. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/mmars/__init__.py +0 -0
  63. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/mmars/mmars.py +0 -0
  64. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/mmars/model_desc.py +0 -0
  65. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/nnunet/__init__.py +0 -0
  66. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/nnunet/__main__.py +0 -0
  67. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/nnunet/nnunet_bundle.py +0 -0
  68. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/nnunet/nnunetv2_runner.py +0 -0
  69. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/nnunet/utils.py +0 -0
  70. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/nuclick/__init__.py +0 -0
  71. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/nuclick/transforms.py +0 -0
  72. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/pathology/__init__.py +0 -0
  73. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/pathology/engines/__init__.py +0 -0
  74. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/pathology/engines/utils.py +0 -0
  75. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/pathology/handlers/__init__.py +0 -0
  76. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/pathology/handlers/utils.py +0 -0
  77. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/pathology/inferers/__init__.py +0 -0
  78. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/pathology/inferers/inferer.py +0 -0
  79. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/pathology/losses/__init__.py +0 -0
  80. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/pathology/losses/hovernet_loss.py +0 -0
  81. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/pathology/metrics/__init__.py +0 -0
  82. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/pathology/metrics/lesion_froc.py +0 -0
  83. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/pathology/transforms/__init__.py +0 -0
  84. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/pathology/transforms/post/__init__.py +0 -0
  85. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/pathology/transforms/post/array.py +0 -0
  86. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/pathology/transforms/post/dictionary.py +0 -0
  87. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/pathology/transforms/stain/__init__.py +0 -0
  88. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/pathology/transforms/stain/array.py +0 -0
  89. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/pathology/transforms/stain/dictionary.py +0 -0
  90. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/pathology/utils.py +0 -0
  91. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/reconstruction/__init__.py +0 -0
  92. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/reconstruction/complex_utils.py +0 -0
  93. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/reconstruction/fastmri_reader.py +0 -0
  94. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/reconstruction/mri_utils.py +0 -0
  95. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/reconstruction/networks/__init__.py +0 -0
  96. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/reconstruction/networks/blocks/__init__.py +0 -0
  97. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/reconstruction/networks/blocks/varnetblock.py +0 -0
  98. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/reconstruction/networks/nets/__init__.py +0 -0
  99. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/reconstruction/networks/nets/coil_sensitivity_model.py +0 -0
  100. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/reconstruction/networks/nets/complex_unet.py +0 -0
  101. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/reconstruction/networks/nets/utils.py +0 -0
  102. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/reconstruction/networks/nets/varnet.py +0 -0
  103. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/reconstruction/transforms/__init__.py +0 -0
  104. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/reconstruction/transforms/array.py +0 -0
  105. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/reconstruction/transforms/dictionary.py +0 -0
  106. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/tcia/__init__.py +0 -0
  107. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/tcia/label_desc.py +0 -0
  108. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/tcia/utils.py +0 -0
  109. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/utils.py +0 -0
  110. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/vista3d/__init__.py +0 -0
  111. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/vista3d/inferer.py +0 -0
  112. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/vista3d/sampler.py +0 -0
  113. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/apps/vista3d/transforms.py +0 -0
  114. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/auto3dseg/__init__.py +0 -0
  115. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/auto3dseg/algo_gen.py +0 -0
  116. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/auto3dseg/analyzer.py +0 -0
  117. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/auto3dseg/operations.py +0 -0
  118. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/auto3dseg/seg_summarizer.py +0 -0
  119. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/auto3dseg/utils.py +0 -0
  120. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/bundle/__init__.py +0 -0
  121. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/bundle/__main__.py +0 -0
  122. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/bundle/config_item.py +0 -0
  123. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/bundle/config_parser.py +0 -0
  124. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/bundle/properties.py +0 -0
  125. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/bundle/reference_resolver.py +0 -0
  126. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/bundle/scripts.py +0 -0
  127. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/bundle/utils.py +0 -0
  128. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/bundle/workflows.py +0 -0
  129. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/config/__init__.py +0 -0
  130. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/config/deviceconfig.py +0 -0
  131. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/config/type_definitions.py +0 -0
  132. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/__init__.py +0 -0
  133. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/box_utils.py +0 -0
  134. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/csv_saver.py +0 -0
  135. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/dataloader.py +0 -0
  136. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/dataset.py +0 -0
  137. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/dataset_summary.py +0 -0
  138. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/decathlon_datalist.py +0 -0
  139. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/fft_utils.py +0 -0
  140. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/folder_layout.py +0 -0
  141. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/grid_dataset.py +0 -0
  142. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/image_dataset.py +0 -0
  143. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/image_reader.py +0 -0
  144. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/image_writer.py +0 -0
  145. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/iterable_dataset.py +0 -0
  146. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/itk_torch_bridge.py +0 -0
  147. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/meta_obj.py +0 -0
  148. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/meta_tensor.py +0 -0
  149. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/samplers.py +0 -0
  150. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/synthetic.py +0 -0
  151. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/test_time_augmentation.py +0 -0
  152. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/thread_buffer.py +0 -0
  153. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/torchscript_utils.py +0 -0
  154. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/ultrasound_confidence_map.py +0 -0
  155. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/utils.py +0 -0
  156. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/video_dataset.py +0 -0
  157. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/wsi_datasets.py +0 -0
  158. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/data/wsi_reader.py +0 -0
  159. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/engines/__init__.py +0 -0
  160. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/engines/evaluator.py +0 -0
  161. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/engines/trainer.py +0 -0
  162. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/engines/utils.py +0 -0
  163. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/engines/workflow.py +0 -0
  164. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/fl/__init__.py +0 -0
  165. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/fl/client/__init__.py +0 -0
  166. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/fl/client/client_algo.py +0 -0
  167. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/fl/client/monai_algo.py +0 -0
  168. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/fl/utils/__init__.py +0 -0
  169. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/fl/utils/constants.py +0 -0
  170. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/fl/utils/exchange_object.py +0 -0
  171. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/fl/utils/filters.py +0 -0
  172. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/__init__.py +0 -0
  173. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/average_precision.py +0 -0
  174. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/calibration.py +0 -0
  175. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/checkpoint_loader.py +0 -0
  176. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/checkpoint_saver.py +0 -0
  177. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/classification_saver.py +0 -0
  178. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/clearml_handlers.py +0 -0
  179. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/confusion_matrix.py +0 -0
  180. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/decollate_batch.py +0 -0
  181. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/earlystop_handler.py +0 -0
  182. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/garbage_collector.py +0 -0
  183. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/hausdorff_distance.py +0 -0
  184. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/ignite_metric.py +0 -0
  185. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/logfile_handler.py +0 -0
  186. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/lr_schedule_handler.py +0 -0
  187. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/mean_dice.py +0 -0
  188. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/mean_iou.py +0 -0
  189. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/metric_logger.py +0 -0
  190. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/metrics_reloaded_handler.py +0 -0
  191. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/metrics_saver.py +0 -0
  192. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/mlflow_handler.py +0 -0
  193. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/nvtx_handlers.py +0 -0
  194. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/panoptic_quality.py +0 -0
  195. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/parameter_scheduler.py +0 -0
  196. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/postprocessing.py +0 -0
  197. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/probability_maps.py +0 -0
  198. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/regression_metrics.py +0 -0
  199. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/roc_auc.py +0 -0
  200. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/smartcache_handler.py +0 -0
  201. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/stats_handler.py +0 -0
  202. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/surface_distance.py +0 -0
  203. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/tensorboard_handlers.py +0 -0
  204. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/trt_handler.py +0 -0
  205. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/utils.py +0 -0
  206. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/handlers/validation_handler.py +0 -0
  207. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/inferers/__init__.py +0 -0
  208. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/inferers/inferer.py +0 -0
  209. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/inferers/merger.py +0 -0
  210. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/inferers/splitter.py +0 -0
  211. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/inferers/utils.py +0 -0
  212. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/adversarial_loss.py +0 -0
  213. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/aucm_loss.py +0 -0
  214. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/barlow_twins.py +0 -0
  215. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/cldice.py +0 -0
  216. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/contrastive.py +0 -0
  217. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/deform.py +0 -0
  218. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/dice.py +0 -0
  219. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/ds_loss.py +0 -0
  220. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/focal_loss.py +0 -0
  221. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/giou_loss.py +0 -0
  222. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/hausdorff_loss.py +0 -0
  223. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/image_dissimilarity.py +0 -0
  224. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/mcc_loss.py +0 -0
  225. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/multi_scale.py +0 -0
  226. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/nacl_loss.py +0 -0
  227. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/perceptual.py +0 -0
  228. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/spatial_mask.py +0 -0
  229. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/spectral_loss.py +0 -0
  230. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/ssim_loss.py +0 -0
  231. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/sure_loss.py +0 -0
  232. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/tversky.py +0 -0
  233. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/unified_focal_loss.py +0 -0
  234. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/losses/utils.py +0 -0
  235. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/__init__.py +0 -0
  236. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/absolute_volume_difference.py +0 -0
  237. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/active_learning_metrics.py +0 -0
  238. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/average_precision.py +0 -0
  239. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/calibration.py +0 -0
  240. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/confusion_matrix.py +0 -0
  241. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/cumulative_average.py +0 -0
  242. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/embedding_collapse.py +0 -0
  243. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/f_beta_score.py +0 -0
  244. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/fid.py +0 -0
  245. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/froc.py +0 -0
  246. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/generalized_dice.py +0 -0
  247. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/hausdorff_distance.py +0 -0
  248. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/loss_metric.py +0 -0
  249. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/meandice.py +0 -0
  250. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/meaniou.py +0 -0
  251. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/metric.py +0 -0
  252. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/mmd.py +0 -0
  253. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/panoptic_quality.py +0 -0
  254. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/regression.py +0 -0
  255. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/rocauc.py +0 -0
  256. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/surface_dice.py +0 -0
  257. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/surface_distance.py +0 -0
  258. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/utils.py +0 -0
  259. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/metrics/wrapper.py +0 -0
  260. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/__init__.py +0 -0
  261. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/__init__.py +0 -0
  262. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/acti_norm.py +0 -0
  263. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/activation.py +0 -0
  264. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/activation_checkpointing.py +0 -0
  265. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/aspp.py +0 -0
  266. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/attention_utils.py +0 -0
  267. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/backbone_fpn_utils.py +0 -0
  268. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/cablock.py +0 -0
  269. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/convolutions.py +0 -0
  270. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/crf.py +0 -0
  271. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/crossattention.py +0 -0
  272. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/denseblock.py +0 -0
  273. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/dints_block.py +0 -0
  274. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/downsample.py +0 -0
  275. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/dynunet_block.py +0 -0
  276. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/encoder.py +0 -0
  277. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/fcn.py +0 -0
  278. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/feature_pyramid_network.py +0 -0
  279. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/fft_utils_t.py +0 -0
  280. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/hyena.py +0 -0
  281. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/localnet_block.py +0 -0
  282. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/mednext_block.py +0 -0
  283. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/mlp.py +0 -0
  284. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/patchembedding.py +0 -0
  285. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/pos_embed_utils.py +0 -0
  286. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/regunet_block.py +0 -0
  287. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/rel_pos_embedding.py +0 -0
  288. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/segresnet_block.py +0 -0
  289. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/selfattention.py +0 -0
  290. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/spade_norm.py +0 -0
  291. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/spatialattention.py +0 -0
  292. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/squeeze_and_excitation.py +0 -0
  293. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/text_embedding.py +0 -0
  294. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/transformerblock.py +0 -0
  295. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/unetr_block.py +0 -0
  296. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/blocks/upsample.py +0 -0
  297. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/layers/__init__.py +0 -0
  298. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/layers/conjugate_gradient.py +0 -0
  299. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/layers/convutils.py +0 -0
  300. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/layers/drop_path.py +0 -0
  301. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/layers/factories.py +0 -0
  302. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/layers/filtering.py +0 -0
  303. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/layers/gmm.py +0 -0
  304. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/layers/simplelayers.py +0 -0
  305. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/layers/spatial_transforms.py +0 -0
  306. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/layers/utils.py +0 -0
  307. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/layers/vector_quantizer.py +0 -0
  308. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/layers/weight_init.py +0 -0
  309. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/__init__.py +0 -0
  310. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/ahnet.py +0 -0
  311. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/attentionunet.py +0 -0
  312. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/autoencoder.py +0 -0
  313. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/autoencoderkl.py +0 -0
  314. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/basic_unet.py +0 -0
  315. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/basic_unetplusplus.py +0 -0
  316. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/cell_sam_wrapper.py +0 -0
  317. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/classifier.py +0 -0
  318. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/controlnet.py +0 -0
  319. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/daf3d.py +0 -0
  320. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/densenet.py +0 -0
  321. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/diffusion_model_unet.py +0 -0
  322. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/dints.py +0 -0
  323. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/dynunet.py +0 -0
  324. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/efficientnet.py +0 -0
  325. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/flexible_unet.py +0 -0
  326. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/fullyconnectednet.py +0 -0
  327. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/generator.py +0 -0
  328. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/highresnet.py +0 -0
  329. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/hovernet.py +0 -0
  330. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/hyena_nd_unetr.py +0 -0
  331. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/masked_autoencoder_vit.py +0 -0
  332. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/mednext.py +0 -0
  333. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/milmodel.py +0 -0
  334. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/netadapter.py +0 -0
  335. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/patchgan_discriminator.py +0 -0
  336. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/quicknat.py +0 -0
  337. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/regressor.py +0 -0
  338. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/regunet.py +0 -0
  339. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/resnet.py +0 -0
  340. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/restormer.py +0 -0
  341. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/segresnet.py +0 -0
  342. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/segresnet_ds.py +0 -0
  343. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/senet.py +0 -0
  344. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/spade_autoencoderkl.py +0 -0
  345. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/spade_diffusion_model_unet.py +0 -0
  346. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/spade_network.py +0 -0
  347. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/swin_unetr.py +0 -0
  348. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/torchvision_fc.py +0 -0
  349. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/transchex.py +0 -0
  350. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/transformer.py +0 -0
  351. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/unet.py +0 -0
  352. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/unetr.py +0 -0
  353. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/varautoencoder.py +0 -0
  354. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/vista3d.py +0 -0
  355. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/vit.py +0 -0
  356. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/vitautoenc.py +0 -0
  357. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/vnet.py +0 -0
  358. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/voxelmorph.py +0 -0
  359. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/nets/vqvae.py +0 -0
  360. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/schedulers/__init__.py +0 -0
  361. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/schedulers/ddim.py +0 -0
  362. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/schedulers/ddpm.py +0 -0
  363. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/schedulers/pndm.py +0 -0
  364. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/schedulers/rectified_flow.py +0 -0
  365. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/schedulers/scheduler.py +0 -0
  366. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/trt_compiler.py +0 -0
  367. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/networks/utils.py +0 -0
  368. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/optimizers/__init__.py +0 -0
  369. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/optimizers/lr_finder.py +0 -0
  370. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/optimizers/lr_scheduler.py +0 -0
  371. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/optimizers/novograd.py +0 -0
  372. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/optimizers/utils.py +0 -0
  373. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/py.typed +0 -0
  374. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/__init__.py +0 -0
  375. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/adaptors.py +0 -0
  376. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/compose.py +0 -0
  377. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/croppad/__init__.py +0 -0
  378. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/croppad/array.py +0 -0
  379. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/croppad/batch.py +0 -0
  380. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/croppad/dictionary.py +0 -0
  381. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/croppad/functional.py +0 -0
  382. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/intensity/__init__.py +0 -0
  383. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/intensity/array.py +0 -0
  384. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/intensity/dictionary.py +0 -0
  385. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/inverse.py +0 -0
  386. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/inverse_batch_transform.py +0 -0
  387. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/io/__init__.py +0 -0
  388. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/io/array.py +0 -0
  389. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/io/dictionary.py +0 -0
  390. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/lazy/__init__.py +0 -0
  391. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/lazy/array.py +0 -0
  392. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/lazy/dictionary.py +0 -0
  393. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/lazy/functional.py +0 -0
  394. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/lazy/utils.py +0 -0
  395. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/meta_utility/__init__.py +0 -0
  396. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/meta_utility/dictionary.py +0 -0
  397. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/nvtx.py +0 -0
  398. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/post/__init__.py +0 -0
  399. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/post/array.py +0 -0
  400. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/post/dictionary.py +0 -0
  401. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/regularization/__init__.py +0 -0
  402. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/regularization/array.py +0 -0
  403. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/regularization/dictionary.py +0 -0
  404. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/signal/__init__.py +0 -0
  405. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/signal/array.py +0 -0
  406. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/signal/dictionary.py +0 -0
  407. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/smooth_field/__init__.py +0 -0
  408. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/smooth_field/array.py +0 -0
  409. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/smooth_field/dictionary.py +0 -0
  410. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/spatial/__init__.py +0 -0
  411. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/spatial/array.py +0 -0
  412. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/spatial/dictionary.py +0 -0
  413. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/spatial/functional.py +0 -0
  414. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/traits.py +0 -0
  415. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/transform.py +0 -0
  416. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/utility/__init__.py +0 -0
  417. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/utility/array.py +0 -0
  418. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/utility/dictionary.py +0 -0
  419. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/utils.py +0 -0
  420. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/utils_create_transform_ims.py +0 -0
  421. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/utils_morphological_ops.py +0 -0
  422. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/transforms/utils_pytorch_numpy_unification.py +0 -0
  423. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/utils/__init__.py +0 -0
  424. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/utils/component_store.py +0 -0
  425. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/utils/decorators.py +0 -0
  426. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/utils/deprecate_utils.py +0 -0
  427. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/utils/dist.py +0 -0
  428. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/utils/enums.py +0 -0
  429. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/utils/jupyter_utils.py +0 -0
  430. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/utils/misc.py +0 -0
  431. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/utils/module.py +0 -0
  432. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/utils/nvtx.py +0 -0
  433. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/utils/ordering.py +0 -0
  434. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/utils/profiling.py +0 -0
  435. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/utils/state_cacher.py +0 -0
  436. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/utils/tf32.py +0 -0
  437. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/utils/type_conversion.py +0 -0
  438. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/visualize/__init__.py +0 -0
  439. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/visualize/class_activation_maps.py +0 -0
  440. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/visualize/gradient_based.py +0 -0
  441. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/visualize/img2tensorboard.py +0 -0
  442. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/visualize/occlusion_sensitivity.py +0 -0
  443. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/visualize/utils.py +0 -0
  444. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai/visualize/visualizer.py +0 -0
  445. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai_weekly.egg-info/dependency_links.txt +0 -0
  446. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai_weekly.egg-info/not-zip-safe +0 -0
  447. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai_weekly.egg-info/requires.txt +0 -0
  448. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/monai_weekly.egg-info/top_level.txt +0 -0
  449. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/pyproject.toml +0 -0
  450. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/setup.cfg +0 -0
  451. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/setup.py +0 -0
  452. {monai_weekly-1.7.dev2628 → monai_weekly-1.7.dev2629}/versioneer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: monai-weekly
3
- Version: 1.7.dev2628
3
+ Version: 1.7.dev2629
4
4
  Summary: AI Toolkit for Healthcare Imaging
5
5
  Home-page: https://project-monai.github.io/
6
6
  Author: MONAI Consortium
@@ -136,4 +136,4 @@ except Exception:
136
136
 
137
137
  if MONAIEnvVars.debug():
138
138
  raise
139
- __commit_id__ = "3bd4c4f23c758cc4eea0fe9c27108982950c6c44"
139
+ __commit_id__ = "5da247209955bcc29de706d858eeed75f4f08cab"
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2026-07-12T03:05:12+0000",
11
+ "date": "2026-07-19T03:05:24+0000",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "fefd2105dfb46d8321fafd96a482d83e430e372b",
15
- "version": "1.7.dev2628"
14
+ "full-revisionid": "52cab21b1eb940ad0c4ea70165f09ec6e7cbaebb",
15
+ "version": "1.7.dev2629"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -14,6 +14,7 @@ from __future__ import annotations
14
14
  from .adversarial_loss import PatchAdversarialLoss
15
15
  from .aucm_loss import AUCMLoss
16
16
  from .barlow_twins import BarlowTwinsLoss
17
+ from .boundary_loss import BoundaryLoss
17
18
  from .cldice import SoftclDiceLoss, SoftDiceclDiceLoss
18
19
  from .contrastive import ContrastiveLoss
19
20
  from .deform import BendingEnergyLoss, DiffusionLoss
@@ -0,0 +1,233 @@
1
+ # Copyright (c) MONAI Consortium
2
+ # Licensed under the Apache License, Version 2.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ # http://www.apache.org/licenses/LICENSE-2.0
6
+ # Unless required by applicable law or agreed to in writing, software
7
+ # distributed under the License is distributed on an "AS IS" BASIS,
8
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ # See the License for the specific language governing permissions and
10
+ # limitations under the License.
11
+
12
+ from __future__ import annotations
13
+
14
+ import warnings
15
+ from collections.abc import Callable
16
+
17
+ import torch
18
+ from torch.nn.modules.loss import _Loss
19
+
20
+ from monai.networks import one_hot
21
+ from monai.transforms.utils import distance_transform_edt
22
+ from monai.utils import LossReduction
23
+
24
+ __all__ = ["BoundaryLoss"]
25
+
26
+
27
+ class BoundaryLoss(_Loss):
28
+ """
29
+ Compute the boundary loss for highly unbalanced segmentation.
30
+
31
+ The boundary loss is a distance-based loss that operates on the interface between segmentation
32
+ regions rather than on the regions themselves. This makes it particularly effective for
33
+ highly imbalanced segmentation tasks (e.g., small lesions, thin structures), where standard
34
+ Dice or Cross-Entropy losses struggle due to foreground-background imbalance.
35
+
36
+ The loss is formulated as a pixel-wise weighted sum of predicted probabilities and a
37
+ signed distance map derived from the ground truth. The signed distance map is negative
38
+ inside the foreground region and positive outside, with zero on the boundary.
39
+
40
+ The data `input` (BNHW[D] where N is number of classes) is compared with ground truth `target`
41
+ (BNHW[D]).
42
+ Note that axis N of `input` is expected to be logits or probabilities for each class, if passing logits as input,
43
+ must set `sigmoid=True` or `softmax=True`, or specifying `other_act`. And the same axis of `target`
44
+ can be 1 or N (one-hot format).
45
+
46
+ The original paper:
47
+ Kervadec, H. et al. (2019) Boundary loss for highly unbalanced segmentation. MIDL 2019.
48
+ https://arxiv.org/abs/1812.07032
49
+
50
+ Example:
51
+ >>> import torch
52
+ >>> from monai.losses import BoundaryLoss
53
+ >>> B, C, H, W = 2, 3, 5, 5
54
+ >>> input = torch.rand(B, C, H, W)
55
+ >>> target = torch.randint(0, C, size=(B, H, W))
56
+ >>> bl = BoundaryLoss(softmax=True, to_onehot_y=True)
57
+ >>> loss = bl(input, target)
58
+ """
59
+
60
+ def __init__(
61
+ self,
62
+ include_background: bool = True,
63
+ to_onehot_y: bool = False,
64
+ sigmoid: bool = False,
65
+ softmax: bool = False,
66
+ other_act: Callable | None = None,
67
+ reduction: LossReduction | str = LossReduction.MEAN,
68
+ batch: bool = False,
69
+ ) -> None:
70
+ """
71
+ Args:
72
+ include_background: if False, channel index 0 (background category) is excluded from the calculation.
73
+ if the non-background segmentations are small compared to the total image size they can get overwhelmed
74
+ by the signal from the background so excluding it in such cases helps convergence.
75
+ to_onehot_y: whether to convert the ``target`` into the one-hot format,
76
+ using the number of classes inferred from `input` (``input.shape[1]``). Defaults to False.
77
+ sigmoid: if True, apply a sigmoid function to the prediction.
78
+ softmax: if True, apply a softmax function to the prediction.
79
+ other_act: callable function to execute other activation layers, Defaults to ``None``. for example:
80
+ ``other_act = torch.tanh``.
81
+ reduction: {``"none"``, ``"mean"``, ``"sum"``}
82
+ Specifies the reduction to apply to the output. Defaults to ``"mean"``.
83
+
84
+ - ``"none"``: no reduction will be applied.
85
+ - ``"mean"``: the sum of the output will be divided by the number of elements in the output.
86
+ - ``"sum"``: the output will be summed.
87
+ batch: whether to compute the distance map and loss over the batch dimension before the dividing.
88
+ Defaults to False, a boundary loss value is computed independently from each item in the batch
89
+ before any `reduction`.
90
+
91
+ Raises:
92
+ TypeError: When ``other_act`` is not an ``Optional[Callable]``.
93
+ ValueError: When more than 1 of [``sigmoid=True``, ``softmax=True``, ``other_act is not None``].
94
+ Incompatible values.
95
+ """
96
+ super().__init__(reduction=LossReduction(reduction).value)
97
+ if other_act is not None and not callable(other_act):
98
+ raise TypeError(f"other_act must be None or callable but is {type(other_act).__name__}.")
99
+ if int(sigmoid) + int(softmax) + int(other_act is not None) > 1:
100
+ raise ValueError("Incompatible values: more than 1 of [sigmoid=True, softmax=True, other_act is not None].")
101
+
102
+ self.include_background = include_background
103
+ self.to_onehot_y = to_onehot_y
104
+ self.sigmoid = sigmoid
105
+ self.softmax = softmax
106
+ self.other_act = other_act
107
+ self.batch = batch
108
+
109
+ @torch.no_grad()
110
+ def compute_distance_map(self, target: torch.Tensor) -> torch.Tensor:
111
+ """
112
+ Compute the signed distance map for each class in the target.
113
+
114
+ The signed distance map is negative inside the foreground region and positive outside,
115
+ with zero on the boundary.
116
+
117
+ Args:
118
+ target: target tensor of shape BNHW[D], with values in {0, 1} (one-hot encoded).
119
+
120
+ Returns:
121
+ Signed distance map of the same shape as target.
122
+ """
123
+ if target.dim() not in (4, 5):
124
+ raise ValueError("Only 2D (BNHW) and 3D (BNHWD) supported")
125
+
126
+ distance_map = torch.zeros_like(target, dtype=torch.float32)
127
+
128
+ for batch_idx in range(target.shape[0]):
129
+ for channel_idx in range(target.shape[1]):
130
+ mask = target[batch_idx, channel_idx : channel_idx + 1] > 0.5
131
+
132
+ # Empty or full masks do not have a foreground/background interface.
133
+ if not mask.any() or mask.all():
134
+ continue
135
+
136
+ fg_dist: torch.Tensor = distance_transform_edt(mask) # type: ignore
137
+ bg_dist: torch.Tensor = distance_transform_edt(~mask) # type: ignore
138
+
139
+ signed = torch.zeros_like(mask, dtype=torch.float32)
140
+ signed[mask] = -(fg_dist[mask].to(torch.float32) - 1)
141
+ signed[~mask] = bg_dist[~mask].to(torch.float32)
142
+
143
+ distance_map[batch_idx, channel_idx] = signed[0]
144
+
145
+ return distance_map
146
+
147
+ def forward(self, input: torch.Tensor, target: torch.Tensor) -> torch.Tensor:
148
+ """
149
+ Args:
150
+ input: the shape should be BNHW[D], where N is the number of classes.
151
+ target: the shape should be BNHW[D] or B1HW[D], where N is the number of classes.
152
+
153
+ Raises:
154
+ ValueError: If the input is not 2D (BNHW) or 3D (BNHWD).
155
+ AssertionError: When input and target (after one hot transform if set)
156
+ have different shapes.
157
+ ValueError: When ``self.reduction`` is not one of ["mean", "sum", "none"].
158
+
159
+ Example:
160
+ >>> import torch
161
+ >>> from monai.losses import BoundaryLoss
162
+ >>> B, C, H, W = 2, 3, 5, 5
163
+ >>> input = torch.rand(B, C, H, W)
164
+ >>> target_idx = torch.randint(0, C, size=(B, H, W)).long()
165
+ >>> target = one_hot(target_idx[:, None, ...], num_classes=C)
166
+ >>> bl = BoundaryLoss(softmax=True)
167
+ >>> loss = bl(input, target)
168
+ """
169
+ if input.dim() not in (4, 5):
170
+ raise ValueError("Only 2D (BNHW) and 3D (BNHWD) supported")
171
+
172
+ n_pred_ch = input.shape[1]
173
+
174
+ # Apply activation to input
175
+ if self.sigmoid:
176
+ input = torch.sigmoid(input)
177
+
178
+ if self.softmax:
179
+ if n_pred_ch == 1:
180
+ warnings.warn("single channel prediction, `softmax=True` ignored.", stacklevel=2)
181
+ else:
182
+ input = torch.softmax(input, dim=1)
183
+
184
+ if self.other_act is not None:
185
+ input = self.other_act(input)
186
+
187
+ # Convert target to one-hot if needed
188
+ if self.to_onehot_y:
189
+ if n_pred_ch == 1:
190
+ warnings.warn("single channel prediction, `to_onehot_y=True` ignored.", stacklevel=2)
191
+ else:
192
+ if target.dim() == input.dim() - 1:
193
+ target = target.unsqueeze(dim=1)
194
+ target = one_hot(target, num_classes=n_pred_ch)
195
+
196
+ # Validate shapes match
197
+ if input.shape != target.shape:
198
+ raise AssertionError(f"input and target shapes do not match: {input.shape} vs {target.shape}")
199
+
200
+ # Exclude background if requested
201
+ if not self.include_background:
202
+ if n_pred_ch == 1:
203
+ warnings.warn("single channel prediction, `include_background=False` ignored.", stacklevel=2)
204
+ else:
205
+ input = input[:, 1:]
206
+ target = target[:, 1:]
207
+
208
+ # Compute signed distance maps from target
209
+ distance_map = self.compute_distance_map(target)
210
+
211
+ # Compute boundary loss: sum over spatial dimensions of (probabilities * distance_map)
212
+ # Then average over classes and batch
213
+ spatial_axes = list(range(2, input.dim()))
214
+
215
+ loss = torch.sum(input * distance_map, dim=spatial_axes)
216
+
217
+ # Normalize by number of pixels per class per batch element
218
+ num_pixels = torch.prod(torch.as_tensor(input.shape[2:], device=input.device))
219
+ loss = loss / num_pixels
220
+ if self.batch:
221
+ loss = loss.mean(dim=0)
222
+
223
+ if self.reduction == LossReduction.MEAN.value:
224
+ loss = loss.mean()
225
+ elif self.reduction == LossReduction.SUM.value:
226
+ loss = loss.sum()
227
+ elif self.reduction == LossReduction.NONE.value:
228
+ # Return shape (B, C') unless batch=True reduces the batch dimension first.
229
+ pass
230
+ else:
231
+ raise ValueError(f"Unsupported reduction: {self.reduction}")
232
+
233
+ return loss
@@ -121,12 +121,13 @@ class Warp(nn.Module):
121
121
  mesh_points = [torch.arange(0, dim) for dim in ddf.shape[2:]]
122
122
  grid = torch.stack(meshgrid_ij(*mesh_points), dim=0) # (spatial_dims, ...)
123
123
  grid = torch.stack([grid] * ddf.shape[0], dim=0) # (batch, spatial_dims, ...)
124
- self.ref_grid = grid.to(ddf)
124
+ grid = grid.to(ddf)
125
125
  if jitter:
126
126
  # Define reference grid on non-integer values
127
- with torch.random.fork_rng(enabled=seed):
127
+ with torch.random.fork_rng():
128
128
  torch.random.manual_seed(seed)
129
129
  grid += torch.rand_like(grid)
130
+ self.ref_grid = grid
130
131
  self.ref_grid.requires_grad = False
131
132
  return self.ref_grid
132
133
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: monai-weekly
3
- Version: 1.7.dev2628
3
+ Version: 1.7.dev2629
4
4
  Summary: AI Toolkit for Healthcare Imaging
5
5
  Home-page: https://project-monai.github.io/
6
6
  Author: MONAI Consortium
@@ -212,6 +212,7 @@ monai/losses/__init__.py
212
212
  monai/losses/adversarial_loss.py
213
213
  monai/losses/aucm_loss.py
214
214
  monai/losses/barlow_twins.py
215
+ monai/losses/boundary_loss.py
215
216
  monai/losses/cldice.py
216
217
  monai/losses/contrastive.py
217
218
  monai/losses/deform.py