monai-weekly 1.4.dev2425__py3-none-any.whl → 1.4.dev2426__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
monai/__init__.py CHANGED
@@ -93,4 +93,4 @@ except BaseException:
93
93
 
94
94
  if MONAIEnvVars.debug():
95
95
  raise
96
- __commit_id__ = "08d572839ede5d087e49d4dfadba033e512528df"
96
+ __commit_id__ = "2f62b81f411975f7622d0b137e18470c96b31178"
monai/_version.py CHANGED
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2024-06-23T02:17:25+0000",
11
+ "date": "2024-06-30T02:18:33+0000",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "b5d71491b839191430b236bd3b233c5f29daf229",
15
- "version": "1.4.dev2425"
14
+ "full-revisionid": "d622a16f927841fdd7d057b7553805405f0805e4",
15
+ "version": "1.4.dev2426"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -30,7 +30,7 @@ measure, _ = optional_import("skimage.measure", "0.14.2", min_version)
30
30
 
31
31
  logger = logging.getLogger(__name__)
32
32
 
33
- distance_transform_cdt, _ = optional_import("scipy.ndimage.morphology", name="distance_transform_cdt")
33
+ distance_transform_cdt, _ = optional_import("scipy.ndimage", name="distance_transform_cdt")
34
34
 
35
35
 
36
36
  class DiscardAddGuidanced(MapTransform):
@@ -27,7 +27,7 @@ from monai.utils import InterpolateMode, ensure_tuple, ensure_tuple_rep, min_ver
27
27
  from monai.utils.enums import PostFix
28
28
 
29
29
  measure, _ = optional_import("skimage.measure", "0.14.2", min_version)
30
- distance_transform_cdt, _ = optional_import("scipy.ndimage.morphology", name="distance_transform_cdt")
30
+ distance_transform_cdt, _ = optional_import("scipy.ndimage", name="distance_transform_cdt")
31
31
 
32
32
  DEFAULT_POST_FIX = PostFix.meta()
33
33
 
@@ -24,7 +24,7 @@ from monai.utils import StrEnum, convert_to_numpy, optional_import
24
24
 
25
25
  measure, _ = optional_import("skimage.measure")
26
26
  morphology, _ = optional_import("skimage.morphology")
27
- distance_transform_cdt, _ = optional_import("scipy.ndimage.morphology", name="distance_transform_cdt")
27
+ distance_transform_cdt, _ = optional_import("scipy.ndimage", name="distance_transform_cdt")
28
28
 
29
29
 
30
30
  class NuclickKeys(StrEnum):
@@ -33,7 +33,7 @@ from monai.utils import TransformBackends, convert_to_numpy, optional_import
33
33
  from monai.utils.misc import ensure_tuple_rep
34
34
  from monai.utils.type_conversion import convert_to_dst_type, convert_to_tensor
35
35
 
36
- label, _ = optional_import("scipy.ndimage.measurements", name="label")
36
+ label, _ = optional_import("scipy.ndimage", name="label")
37
37
  disk, _ = optional_import("skimage.morphology", name="disk")
38
38
  opening, _ = optional_import("skimage.morphology", name="opening")
39
39
  watershed, _ = optional_import("skimage.segmentation", name="watershed")
@@ -33,10 +33,10 @@ def compute_multi_instance_mask(mask: np.ndarray, threshold: float) -> Any:
33
33
  """
34
34
 
35
35
  neg = 255 - mask * 255
36
- distance = ndimage.morphology.distance_transform_edt(neg)
36
+ distance = ndimage.distance_transform_edt(neg)
37
37
  binary = distance < threshold
38
38
 
39
- filled_image = ndimage.morphology.binary_fill_holes(binary)
39
+ filled_image = ndimage.binary_fill_holes(binary)
40
40
  multi_instance_mask = measure.label(filled_image, connectivity=2)
41
41
 
42
42
  return multi_instance_mask
@@ -21,7 +21,9 @@ __all__ = ["UltrasoundConfidenceMap"]
21
21
  cv2, _ = optional_import("cv2")
22
22
  csc_matrix, _ = optional_import("scipy.sparse", "1.7.1", min_version, "csc_matrix")
23
23
  spsolve, _ = optional_import("scipy.sparse.linalg", "1.7.1", min_version, "spsolve")
24
+ cg, _ = optional_import("scipy.sparse.linalg", "1.7.1", min_version, "cg")
24
25
  hilbert, _ = optional_import("scipy.signal", "1.7.1", min_version, "hilbert")
26
+ ruge_stuben_solver, _ = optional_import("pyamg", "5.0.0", min_version, "ruge_stuben_solver")
25
27
 
26
28
 
27
29
  class UltrasoundConfidenceMap:
@@ -30,6 +32,9 @@ class UltrasoundConfidenceMap:
30
32
  It generates a confidence map by setting source and sink points in the image and computing the probability
31
33
  for random walks to reach the source for each pixel.
32
34
 
35
+ The official code is available at:
36
+ https://campar.in.tum.de/Main/AthanasiosKaramalisCode
37
+
33
38
  Args:
34
39
  alpha (float, optional): Alpha parameter. Defaults to 2.0.
35
40
  beta (float, optional): Beta parameter. Defaults to 90.0.
@@ -37,15 +42,33 @@ class UltrasoundConfidenceMap:
37
42
  mode (str, optional): 'RF' or 'B' mode data. Defaults to 'B'.
38
43
  sink_mode (str, optional): Sink mode. Defaults to 'all'. If 'mask' is selected, a mask must be when calling
39
44
  the transform. Can be 'all', 'mid', 'min', or 'mask'.
45
+ use_cg (bool, optional): Use Conjugate Gradient method for solving the linear system. Defaults to False.
46
+ cg_tol (float, optional): Tolerance for the Conjugate Gradient method. Defaults to 1e-6.
47
+ Will be used only if `use_cg` is True.
48
+ cg_maxiter (int, optional): Maximum number of iterations for the Conjugate Gradient method. Defaults to 200.
49
+ Will be used only if `use_cg` is True.
40
50
  """
41
51
 
42
- def __init__(self, alpha: float = 2.0, beta: float = 90.0, gamma: float = 0.05, mode="B", sink_mode="all"):
52
+ def __init__(
53
+ self,
54
+ alpha: float = 2.0,
55
+ beta: float = 90.0,
56
+ gamma: float = 0.05,
57
+ mode="B",
58
+ sink_mode="all",
59
+ use_cg=False,
60
+ cg_tol=1e-6,
61
+ cg_maxiter=200,
62
+ ):
43
63
  # The hyperparameters for confidence map estimation
44
64
  self.alpha = alpha
45
65
  self.beta = beta
46
66
  self.gamma = gamma
47
67
  self.mode = mode
48
68
  self.sink_mode = sink_mode
69
+ self.use_cg = use_cg
70
+ self.cg_tol = cg_tol
71
+ self.cg_maxiter = cg_maxiter
49
72
 
50
73
  # The precision to use for all computations
51
74
  self.eps = np.finfo("float64").eps
@@ -228,17 +251,18 @@ class UltrasoundConfidenceMap:
228
251
  s = self.normalize(s)
229
252
 
230
253
  # Horizontal penalty
231
- s[:vertical_end] += gamma
232
- # s[vertical_end:diagonal_end] += gamma * np.sqrt(2) # --> In the paper it is sqrt(2)
233
- # since the diagonal edges are longer yet does not exist in the original code
254
+ s[vertical_end:] += gamma
255
+ # Here there is a difference between the official MATLAB code and the paper
256
+ # on the edge penalty. We directly implement what the official code does.
234
257
 
235
258
  # Normalize differences
236
259
  s = self.normalize(s)
237
260
 
238
261
  # Gaussian weighting function
239
262
  s = -(
240
- (np.exp(-beta * s, dtype="float64")) + 1.0e-6
241
- ) # --> This epsilon changes results drastically default: 1.e-6
263
+ (np.exp(-beta * s, dtype="float64")) + 1e-5
264
+ ) # --> This epsilon changes results drastically default: 10e-6
265
+ # Please notice that it is not 1e-6, it is 10e-6 which is actually different.
242
266
 
243
267
  # Create Laplacian, diagonal missing
244
268
  lap = csc_matrix((s, (i, j)))
@@ -256,7 +280,14 @@ class UltrasoundConfidenceMap:
256
280
  return lap
257
281
 
258
282
  def _solve_linear_system(self, lap, rhs):
259
- x = spsolve(lap, rhs)
283
+
284
+ if self.use_cg:
285
+ lap_sparse = lap.tocsr()
286
+ ml = ruge_stuben_solver(lap_sparse, coarse_solver="pinv")
287
+ m = ml.aspreconditioner(cycle="V")
288
+ x, _ = cg(lap, rhs, tol=self.cg_tol, maxiter=self.cg_maxiter, M=m)
289
+ else:
290
+ x = spsolve(lap, rhs)
260
291
 
261
292
  return x
262
293
 
monai/losses/dice.py CHANGED
@@ -811,7 +811,7 @@ class DiceFocalLoss(_Loss):
811
811
  The details of Focal Loss is shown in ``monai.losses.FocalLoss``.
812
812
 
813
813
  ``gamma`` and ``lambda_focal`` are only used for the focal loss.
814
- ``include_background``, ``weight`` and ``reduction`` are used for both losses
814
+ ``include_background``, ``weight``, ``reduction``, and ``alpha`` are used for both losses,
815
815
  and other parameters are only used for dice loss.
816
816
 
817
817
  """
@@ -837,6 +837,7 @@ class DiceFocalLoss(_Loss):
837
837
  weight: Sequence[float] | float | int | torch.Tensor | None = None,
838
838
  lambda_dice: float = 1.0,
839
839
  lambda_focal: float = 1.0,
840
+ alpha: float | None = None,
840
841
  ) -> None:
841
842
  """
842
843
  Args:
@@ -871,7 +872,8 @@ class DiceFocalLoss(_Loss):
871
872
  Defaults to 1.0.
872
873
  lambda_focal: the trade-off weight value for focal loss. The value should be no less than 0.0.
873
874
  Defaults to 1.0.
874
-
875
+ alpha: value of the alpha in the definition of the alpha-balanced Focal loss. The value should be in
876
+ [0, 1]. Defaults to None.
875
877
  """
876
878
  super().__init__()
877
879
  weight = focal_weight if focal_weight is not None else weight
@@ -890,7 +892,12 @@ class DiceFocalLoss(_Loss):
890
892
  weight=weight,
891
893
  )
892
894
  self.focal = FocalLoss(
893
- include_background=include_background, to_onehot_y=False, gamma=gamma, weight=weight, reduction=reduction
895
+ include_background=include_background,
896
+ to_onehot_y=False,
897
+ gamma=gamma,
898
+ weight=weight,
899
+ alpha=alpha,
900
+ reduction=reduction,
894
901
  )
895
902
  if lambda_dice < 0.0:
896
903
  raise ValueError("lambda_dice should be no less than 0.0.")
monai/metrics/utils.py CHANGED
@@ -35,9 +35,9 @@ from monai.utils import (
35
35
  optional_import,
36
36
  )
37
37
 
38
- binary_erosion, _ = optional_import("scipy.ndimage.morphology", name="binary_erosion")
39
- distance_transform_edt, _ = optional_import("scipy.ndimage.morphology", name="distance_transform_edt")
40
- distance_transform_cdt, _ = optional_import("scipy.ndimage.morphology", name="distance_transform_cdt")
38
+ binary_erosion, _ = optional_import("scipy.ndimage", name="binary_erosion")
39
+ distance_transform_edt, _ = optional_import("scipy.ndimage", name="distance_transform_edt")
40
+ distance_transform_cdt, _ = optional_import("scipy.ndimage", name="distance_transform_cdt")
41
41
 
42
42
  __all__ = [
43
43
  "ignore_background",
@@ -2789,6 +2789,9 @@ class UltrasoundConfidenceMapTransform(Transform):
2789
2789
  It generates a confidence map by setting source and sink points in the image and computing the probability
2790
2790
  for random walks to reach the source for each pixel.
2791
2791
 
2792
+ The official code is available at:
2793
+ https://campar.in.tum.de/Main/AthanasiosKaramalisCode
2794
+
2792
2795
  Args:
2793
2796
  alpha (float, optional): Alpha parameter. Defaults to 2.0.
2794
2797
  beta (float, optional): Beta parameter. Defaults to 90.0.
@@ -2796,14 +2799,32 @@ class UltrasoundConfidenceMapTransform(Transform):
2796
2799
  mode (str, optional): 'RF' or 'B' mode data. Defaults to 'B'.
2797
2800
  sink_mode (str, optional): Sink mode. Defaults to 'all'. If 'mask' is selected, a mask must be when
2798
2801
  calling the transform. Can be one of 'all', 'mid', 'min', 'mask'.
2802
+ use_cg (bool, optional): Use Conjugate Gradient method for solving the linear system. Defaults to False.
2803
+ cg_tol (float, optional): Tolerance for the Conjugate Gradient method. Defaults to 1e-6.
2804
+ Will be used only if `use_cg` is True.
2805
+ cg_maxiter (int, optional): Maximum number of iterations for the Conjugate Gradient method. Defaults to 200.
2806
+ Will be used only if `use_cg` is True.
2799
2807
  """
2800
2808
 
2801
- def __init__(self, alpha: float = 2.0, beta: float = 90.0, gamma: float = 0.05, mode="B", sink_mode="all") -> None:
2809
+ def __init__(
2810
+ self,
2811
+ alpha: float = 2.0,
2812
+ beta: float = 90.0,
2813
+ gamma: float = 0.05,
2814
+ mode="B",
2815
+ sink_mode="all",
2816
+ use_cg=False,
2817
+ cg_tol: float = 1.0e-6,
2818
+ cg_maxiter: int = 200,
2819
+ ):
2802
2820
  self.alpha = alpha
2803
2821
  self.beta = beta
2804
2822
  self.gamma = gamma
2805
2823
  self.mode = mode
2806
2824
  self.sink_mode = sink_mode
2825
+ self.use_cg = use_cg
2826
+ self.cg_tol = cg_tol
2827
+ self.cg_maxiter = cg_maxiter
2807
2828
 
2808
2829
  if self.mode not in ["B", "RF"]:
2809
2830
  raise ValueError(f"Unknown mode: {self.mode}. Supported modes are 'B' and 'RF'.")
@@ -2813,7 +2834,9 @@ class UltrasoundConfidenceMapTransform(Transform):
2813
2834
  f"Unknown sink mode: {self.sink_mode}. Supported modes are 'all', 'mid', 'min' and 'mask'."
2814
2835
  )
2815
2836
 
2816
- self._compute_conf_map = UltrasoundConfidenceMap(self.alpha, self.beta, self.gamma, self.mode, self.sink_mode)
2837
+ self._compute_conf_map = UltrasoundConfidenceMap(
2838
+ self.alpha, self.beta, self.gamma, self.mode, self.sink_mode, self.use_cg, self.cg_tol, self.cg_maxiter
2839
+ )
2817
2840
 
2818
2841
  def __call__(self, img: NdarrayOrTensor, mask: NdarrayOrTensor | None = None) -> NdarrayOrTensor:
2819
2842
  """Compute confidence map from an ultrasound image.
@@ -28,7 +28,7 @@ from monai.utils import optional_import
28
28
  from monai.utils.enums import TransformBackends
29
29
  from monai.utils.type_conversion import convert_data_type, convert_to_tensor
30
30
 
31
- shift, has_shift = optional_import("scipy.ndimage.interpolation", name="shift")
31
+ shift, has_shift = optional_import("scipy.ndimage", name="shift")
32
32
  iirnotch, has_iirnotch = optional_import("scipy.signal", name="iirnotch")
33
33
  with warnings.catch_warnings():
34
34
  warnings.simplefilter("ignore", UserWarning) # project-monai/monai#5204
monai/utils/module.py CHANGED
@@ -13,6 +13,7 @@ from __future__ import annotations
13
13
 
14
14
  import enum
15
15
  import functools
16
+ import importlib.util
16
17
  import os
17
18
  import pdb
18
19
  import re
@@ -208,9 +209,11 @@ def load_submodules(
208
209
  ):
209
210
  if (is_pkg or load_all) and name not in sys.modules and match(exclude_pattern, name) is None:
210
211
  try:
211
- mod = import_module(name)
212
- importer.find_spec(name).loader.load_module(name) # type: ignore
213
- submodules.append(mod)
212
+ mod_spec = importer.find_spec(name) # type: ignore
213
+ if mod_spec and mod_spec.loader:
214
+ mod = importlib.util.module_from_spec(mod_spec)
215
+ mod_spec.loader.exec_module(mod)
216
+ submodules.append(mod)
214
217
  except OptionalImportError:
215
218
  pass # could not import the optional deps., they are ignored
216
219
  except ImportError as e:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: monai-weekly
3
- Version: 1.4.dev2425
3
+ Version: 1.4.dev2426
4
4
  Summary: AI Toolkit for Healthcare Imaging
5
5
  Home-page: https://monai.io/
6
6
  Author: MONAI Consortium
@@ -67,6 +67,7 @@ Requires-Dist: zarr ; extra == 'all'
67
67
  Requires-Dist: lpips ==0.1.4 ; extra == 'all'
68
68
  Requires-Dist: nvidia-ml-py ; extra == 'all'
69
69
  Requires-Dist: huggingface-hub ; extra == 'all'
70
+ Requires-Dist: pyamg >=5.0.0 ; extra == 'all'
70
71
  Requires-Dist: transformers <4.41.0,>=4.36.0 ; (python_version <= "3.10") and extra == 'all'
71
72
  Requires-Dist: onnxruntime ; (python_version <= "3.10") and extra == 'all'
72
73
  Requires-Dist: cucim-cu12 ; (python_version >= "3.9" and python_version <= "3.10") and extra == 'all'
@@ -119,6 +120,8 @@ Provides-Extra: pillow
119
120
  Requires-Dist: pillow !=8.3.0 ; extra == 'pillow'
120
121
  Provides-Extra: psutil
121
122
  Requires-Dist: psutil ; extra == 'psutil'
123
+ Provides-Extra: pyamg
124
+ Requires-Dist: pyamg >=5.0.0 ; extra == 'pyamg'
122
125
  Provides-Extra: pydicom
123
126
  Requires-Dist: pydicom ; extra == 'pydicom'
124
127
  Provides-Extra: pynrrd
@@ -1,5 +1,5 @@
1
- monai/__init__.py,sha256=pKsQ2Idkj9SMnENz8O5RzcYspsLhZjxGRg4wlMFKI1E,2722
2
- monai/_version.py,sha256=VBVMzsrqm92ugUpsdp8xdYQhFITY5e6GKLQ-ESRaIb0,503
1
+ monai/__init__.py,sha256=ImQNW_ROu1w5VUIP1j9o-vv9jfMvOCSuTsyZm6eHluE,2722
2
+ monai/_version.py,sha256=fknoI1rCBz7kKd3KcjzyJ-QgcWxoZW6hO4Vxvn5iVxE,503
3
3
  monai/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  monai/_extensions/__init__.py,sha256=NEBPreRhQ8H9gVvgrLr_y52_TmqB96u_u4VQmeNT93I,642
5
5
  monai/_extensions/loader.py,sha256=7SiKw36q-nOzH8CRbBurFrz7GM40GCu7rc93Tm8XpnI,3643
@@ -22,11 +22,11 @@ monai/apps/auto3dseg/transforms.py,sha256=iO4v9-dwQzvupJglX-H2HYuwUhmFdVgLbyh4Bu
22
22
  monai/apps/auto3dseg/utils.py,sha256=7DPJbsL9YbhRdMZ6dEvCA_t_uLSSz7-WZSU2pMY4_qo,3138
23
23
  monai/apps/deepedit/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
24
24
  monai/apps/deepedit/interaction.py,sha256=h9zTmhHAmwndR315RknqXtLWYqyYGvdcmjP6EpRrzHg,4501
25
- monai/apps/deepedit/transforms.py,sha256=ZwDWYjNXDW4r6zZBVH8wLUlQtEPOBItvUEuZ7JDvbWA,38119
25
+ monai/apps/deepedit/transforms.py,sha256=Udj35m10Irek5Gtqo6Hgv6Lt7S6jSo-z0NuyVbs800o,38108
26
26
  monai/apps/deepgrow/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
27
27
  monai/apps/deepgrow/dataset.py,sha256=W0wv1QujA4sZgrAcBS64dl3OBbDBM2cF4RK0fDCQnRU,10054
28
28
  monai/apps/deepgrow/interaction.py,sha256=-smtOl93i_SDEo_Yo8DE5U3FnDrUcdJWeP14nCq5GS4,3748
29
- monai/apps/deepgrow/transforms.py,sha256=xa21IBgUAbGJ1Mhl8zhnDlbOUbMoLFq2ojdSr_yvalU,41884
29
+ monai/apps/deepgrow/transforms.py,sha256=MQ3WPGfqagXoN6ySccpPFWOQAcxKOX4VUeQ0Zybx45I,41873
30
30
  monai/apps/detection/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
31
31
  monai/apps/detection/metrics/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
32
32
  monai/apps/detection/metrics/coco.py,sha256=bpF6hAAMKsBNLfat-Fzh0CR-0swDsAAVcwTaZ-lo1_g,26618
@@ -54,9 +54,9 @@ monai/apps/nnunet/__main__.py,sha256=qrloBLymK98OPcaBKocrlF8io2h4mUuXJPFVLZT-XDo
54
54
  monai/apps/nnunet/nnunetv2_runner.py,sha256=0VZTpzmjkOhamdqYGd9bhTdZcRDeOsMOBIjaW1Upi8w,48001
55
55
  monai/apps/nnunet/utils.py,sha256=OwLBcc0LZ_n7-ofE8EgkgmIHT23wq1xySCD6lphSjz0,6761
56
56
  monai/apps/nuclick/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
57
- monai/apps/nuclick/transforms.py,sha256=vCw2IpuMLLZ3C2NtBj59Kxjy1cHm4K3VCm7KMP71aug,24948
57
+ monai/apps/nuclick/transforms.py,sha256=kf2xOb1iBx-OWc7wngsRWvdNV8KpX6xeTMFuYZqZ80E,24937
58
58
  monai/apps/pathology/__init__.py,sha256=SRBbxgPzZdtC22TpY1m0-Z3SSBfMig6xYVSdgOClgXg,1030
59
- monai/apps/pathology/utils.py,sha256=GtVzcr8mc1MsojpUx3tI7IYs7yhIo_HtnY0msv5pkwM,2860
59
+ monai/apps/pathology/utils.py,sha256=ulgDy43tSSmJwwBf-51NC0D0_Kf0BeymxEK7p136VFI,2838
60
60
  monai/apps/pathology/engines/__init__.py,sha256=sqR2PUjmFf46jRRQA8ZZ9umbQzuLGDpBaRWQNVA2r7Q,650
61
61
  monai/apps/pathology/engines/utils.py,sha256=Zr_DuWZ3qcIiNM7QjFSzgojeRPJV_UP5yGWIxrU5gI0,2397
62
62
  monai/apps/pathology/handlers/__init__.py,sha256=YRvZ5C6I56qvu1DTGROJV5Sq0ZF3t6f34vV3Vdeg9Hk,609
@@ -69,7 +69,7 @@ monai/apps/pathology/metrics/__init__.py,sha256=c7xRUzhQesEWRIUFF6vM-Qs9v0Lv8QzC
69
69
  monai/apps/pathology/metrics/lesion_froc.py,sha256=LNwcuatNEppyWMehnpBOn1474jH0hOJCq3gdq5mNw8k,7331
70
70
  monai/apps/pathology/transforms/__init__.py,sha256=c3YkornqjX-fHRnwkpn_PxmnMje6pif1qxPdFNyQUWU,2243
71
71
  monai/apps/pathology/transforms/post/__init__.py,sha256=WUZbaM2bg13mpbnNhol0D0A328XgUspTWtPvli1Uqpk,1995
72
- monai/apps/pathology/transforms/post/array.py,sha256=8oyXx-6aDrmnsbMLNpNUDZ7ZAhD9bF48FNzp7i1pgj4,37258
72
+ monai/apps/pathology/transforms/post/array.py,sha256=pjoTpdOzIHlT9L3GomVUcnVGHcPINrro5wtedIgyx-E,37245
73
73
  monai/apps/pathology/transforms/post/dictionary.py,sha256=ZReeFqcZRkltwhRaKsedeptprB1B89lKWFimAzkk0Vg,25928
74
74
  monai/apps/pathology/transforms/stain/__init__.py,sha256=i9HfrXiQHG5XHfqMtz2g7yBX7p1uN0xcGAPCYyXSmV8,836
75
75
  monai/apps/pathology/transforms/stain/array.py,sha256=Dr1fCmkQzc8n40XbLAHpq1EG5wkMqTjWgYN2FGJfMGk,8366
@@ -132,7 +132,7 @@ monai/data/synthetic.py,sha256=H0MaQq2nnYxXEMlvOW1-XoWJWY_VKsgZ75tWLO1aCXg,7375
132
132
  monai/data/test_time_augmentation.py,sha256=H1yUph4SkJ-bmKRXS-SRZfNKtWkihR7o4PTUWKuHxOw,9780
133
133
  monai/data/thread_buffer.py,sha256=FtJlRwLHQzU9sf3XJk4G7b_-uKXaRQHAOMauc-zWN2Q,8840
134
134
  monai/data/torchscript_utils.py,sha256=auz2GtrklxY6PMzvd-i9Kk73uIv0qydpOtzdSfZxrhE,5500
135
- monai/data/ultrasound_confidence_map.py,sha256=90uP_8u2iJ877gYHYHJ6o3VT36mH2Ws6NLR17ZuZCTE,13201
135
+ monai/data/ultrasound_confidence_map.py,sha256=rO63odFjgEju0EkwQWWpb2Oau3Txy7gwWGQuTus32uM,14459
136
136
  monai/data/utils.py,sha256=WeIcBk7SUy-IOZiPuAp6dFZl9tktJvViDG3wMHaa9dU,66686
137
137
  monai/data/video_dataset.py,sha256=mMTZCkgAx_BBoF4HHWcmEuT9zoNoUVPFtPeYYt76t-A,9075
138
138
  monai/data/wsi_datasets.py,sha256=Ga5VnOdOXU_tlhdub0ueD4VtWhkQG4IrueXX-abE3bA,18619
@@ -193,7 +193,7 @@ monai/losses/barlow_twins.py,sha256=prDdaY0vXAXMuVDmc9Tv6svRZzNwKA0LdsmRaUmusiI,
193
193
  monai/losses/cldice.py,sha256=NeUVJuFjowlH90MSLtq8HJzhzLVwal_G7gaOyc1_5OY,6328
194
194
  monai/losses/contrastive.py,sha256=-SCvgQOA1JADQaFl7S4wEoIFtNd4uFkfTPlkMkky_LQ,3261
195
195
  monai/losses/deform.py,sha256=mBOvFgKyW1qw9267AZCd0h_xi10xvy_ybYfhzQzl5rI,9701
196
- monai/losses/dice.py,sha256=B0O56BeIqDBIQovqBoaKXdzyeyNbZXAZ1BuCWV0XYrE,51627
196
+ monai/losses/dice.py,sha256=xS1tKk0hXA4C2iG55bJ0vX4bIECLww4WsBUqXMYxjms,51904
197
197
  monai/losses/ds_loss.py,sha256=ts92Rc_YAkfb5WUUWxRTecpY32lVwC20pu7u-dJCgyY,3854
198
198
  monai/losses/focal_loss.py,sha256=OhAtxzAwZ1CoNGH1S2dQbG7iDyowYUqv64KXi0GgMhk,11772
199
199
  monai/losses/giou_loss.py,sha256=Mogq6fR0tO__Xj0Ul388QMEx03XrSS-Ue96i9ahY-uo,2795
@@ -226,7 +226,7 @@ monai/metrics/regression.py,sha256=JV7x8ibD04hZeWz83Ac26jjyufsCanvAmohD-eWKtbY,2
226
226
  monai/metrics/rocauc.py,sha256=CJOAzDamB8TcFP1bEg-I1m5V1-Pq5RMaLFdM6MtNa_E,8038
227
227
  monai/metrics/surface_dice.py,sha256=aNERsTuJkPMfxatPaAzoW1KtvZvUAv4qe_7Kl_dOROI,15149
228
228
  monai/metrics/surface_distance.py,sha256=bKDTm7ulhjfiphHLrDJoA3OKI3npwQy2Z5wY-JkXtXg,9727
229
- monai/metrics/utils.py,sha256=0UYv-yYXCAa96rrBNvqYNxyoi8W_AIWNpDsoXep9j8M,46947
229
+ monai/metrics/utils.py,sha256=jJiIFGGa-iwvz1otHAKqPKTNmfZqd2dI7_Hsfblgxqk,46914
230
230
  monai/metrics/wrapper.py,sha256=c1zg-xcypQyZ840TEuhhLgr4sClYMWTxlv1OieJTtvE,11781
231
231
  monai/networks/__init__.py,sha256=X-z-kmVt9kwoNPgfYITGycnvG_9HC3_RSRKD2YC35Ag,1020
232
232
  monai/networks/utils.py,sha256=GRtep2gGG1xxiviaQx1BNXP0tT-Tu4tyMgfKp4kLdMc,49645
@@ -327,7 +327,7 @@ monai/transforms/croppad/batch.py,sha256=5ukcYk3VCDpk62AL5Q_jTqpXmSNTlw0UCUhDeAB
327
327
  monai/transforms/croppad/dictionary.py,sha256=2pf_k3gvDi7ruzj6bx2gVNIae7SatiLEWLg7EKJZDbg,60722
328
328
  monai/transforms/croppad/functional.py,sha256=_agF3ustEVXVuKSF8qGNhXCrb3E6mc5Qypy37_MQU-8,12628
329
329
  monai/transforms/intensity/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
330
- monai/transforms/intensity/array.py,sha256=-XF_N9uFM6a6PUdKTyXb-QAXREeWNesKgxxJtZHYNHQ,120755
330
+ monai/transforms/intensity/array.py,sha256=bhKIAMgJu-QMQA8df9QdyancMJMShOIOGHjE__4XdXo,121574
331
331
  monai/transforms/intensity/dictionary.py,sha256=RXZeQG9dPvdvjoiWWlNkYec4NDWBxYXjfct4fywv1Ic,85059
332
332
  monai/transforms/io/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
333
333
  monai/transforms/io/array.py,sha256=sb-ph9vbPPFimlxqwP2za83C_oOoOX67LmRH9nkASMY,25636
@@ -346,7 +346,7 @@ monai/transforms/regularization/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY
346
346
  monai/transforms/regularization/array.py,sha256=tQPJy1QZEy-0N_-LQTeSGK-arUOaNsLOfQG_6tNnDOQ,7918
347
347
  monai/transforms/regularization/dictionary.py,sha256=b2hw8nElkQeyu3LZSnWvz7pQMcK9tCuNHpLueAGTQr8,4800
348
348
  monai/transforms/signal/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
349
- monai/transforms/signal/array.py,sha256=YPPnm_m4-1_NIBUl0u_lE9dQ1Uu44Wd4Povzan1Ry_g,16339
349
+ monai/transforms/signal/array.py,sha256=eTlvqOIUQixh-voTNJcl532RvG4ZlQBNeHhg3TT3Cto,16325
350
350
  monai/transforms/signal/dictionary.py,sha256=JrUeHdstSvQqx7u32h74YBiSAWFeOzt8wAS0EA3VEWk,2085
351
351
  monai/transforms/smooth_field/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
352
352
  monai/transforms/smooth_field/array.py,sha256=Pz4ErmcfVTRZpBe4_IAXTWHlGSmRfExegNKYyrSVwsE,17856
@@ -367,7 +367,7 @@ monai/utils/dist.py,sha256=mVaKlBTQJdWAG910sh5pGLEbb_KhRAXV5cPz7amH88Y,8639
367
367
  monai/utils/enums.py,sha256=Gdo9WBrFODIYz5zt6c00hGz0bqjUQbhCWsfGSgKlnAU,19674
368
368
  monai/utils/jupyter_utils.py,sha256=QqcKhJxzEf6YwM8Ik_HvfVDr7gNfrfzCXdzd2urEH8M,15651
369
369
  monai/utils/misc.py,sha256=Mn_sIkTG49yW9wi2MQrnmoxWnvcbonHCxQLG4yWWYDY,30908
370
- monai/utils/module.py,sha256=fTy_Q1AhhLO0_xIh_hUaSxuCSmEP9aJaTyjwUlA7dLs,25008
370
+ monai/utils/module.py,sha256=Uu45ec-NHtccrA1Kv_QL-uxESLcgHLavCg9XelIa6lE,25148
371
371
  monai/utils/nvtx.py,sha256=i9JBxR1uhW1ZCgLPLlTx8b907QlXkFzJyTBLMlFjhtU,6876
372
372
  monai/utils/profiling.py,sha256=V2_cSHgrcmVF48_G3nUi2-O6fnXsS89nSlb8jj58YLo,15937
373
373
  monai/utils/state_cacher.py,sha256=ERBE-mnnf47MwKSq-pNbfu1D2C4ZqKH-mORyLaBa3EE,5955
@@ -380,8 +380,8 @@ monai/visualize/img2tensorboard.py,sha256=_p5olAefUs6t-y17z0TK32fKxNnUNXVkb0Op1S
380
380
  monai/visualize/occlusion_sensitivity.py,sha256=OQHEJLyIhB8zWqQsfKaX-1kvCjWFVYtLfS4dFC0nKFI,18160
381
381
  monai/visualize/utils.py,sha256=B-MhTVs7sQbIqYS3yPnpBwPw2K82rE2PBtGIfpwZtWM,9894
382
382
  monai/visualize/visualizer.py,sha256=qckyaMZCbezYUwE20k5yc-Pb7UozVavMDbrmyQwfYHY,1377
383
- monai_weekly-1.4.dev2425.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
384
- monai_weekly-1.4.dev2425.dist-info/METADATA,sha256=HX6hZOznXsd9Ouo2sPbv77yoRRe7eWoAhKn_DRH91WQ,10774
385
- monai_weekly-1.4.dev2425.dist-info/WHEEL,sha256=cpQTJ5IWu9CdaPViMhC9YzF8gZuS5-vlfoFihTBC86A,91
386
- monai_weekly-1.4.dev2425.dist-info/top_level.txt,sha256=UaNwRzLGORdus41Ip446s3bBfViLkdkDsXDo34J2P44,6
387
- monai_weekly-1.4.dev2425.dist-info/RECORD,,
383
+ monai_weekly-1.4.dev2426.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
384
+ monai_weekly-1.4.dev2426.dist-info/METADATA,sha256=gaJQgO7GfMPD8kqn4uW3INqCCBSG6KqvWrStKMDcTOw,10890
385
+ monai_weekly-1.4.dev2426.dist-info/WHEEL,sha256=mguMlWGMX-VHnMpKOjjQidIo1ssRlCFu4a4mBpz1s2M,91
386
+ monai_weekly-1.4.dev2426.dist-info/top_level.txt,sha256=UaNwRzLGORdus41Ip446s3bBfViLkdkDsXDo34J2P44,6
387
+ monai_weekly-1.4.dev2426.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (70.1.0)
2
+ Generator: setuptools (70.1.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5