monai-weekly 1.4.dev2434__py3-none-any.whl → 1.4.dev2436__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.
Files changed (36) hide show
  1. monai/__init__.py +44 -2
  2. monai/_version.py +3 -3
  3. monai/apps/vista3d/inferer.py +177 -0
  4. monai/apps/vista3d/sampler.py +179 -0
  5. monai/apps/vista3d/transforms.py +224 -0
  6. monai/bundle/config_parser.py +5 -3
  7. monai/bundle/scripts.py +2 -2
  8. monai/bundle/utils.py +35 -1
  9. monai/handlers/__init__.py +1 -0
  10. monai/handlers/trt_handler.py +61 -0
  11. monai/inferers/utils.py +1 -0
  12. monai/metrics/generalized_dice.py +77 -48
  13. monai/networks/__init__.py +2 -0
  14. monai/networks/layers/filtering.py +6 -2
  15. monai/networks/nets/swin_unetr.py +4 -4
  16. monai/networks/nets/vista3d.py +53 -11
  17. monai/networks/trt_compiler.py +569 -0
  18. monai/networks/utils.py +225 -41
  19. monai/transforms/__init__.py +24 -2
  20. monai/transforms/io/array.py +58 -2
  21. monai/transforms/io/dictionary.py +29 -2
  22. monai/transforms/spatial/array.py +44 -0
  23. monai/transforms/spatial/dictionary.py +61 -0
  24. monai/transforms/spatial/functional.py +70 -1
  25. monai/transforms/utility/array.py +153 -4
  26. monai/transforms/utility/dictionary.py +105 -3
  27. monai/transforms/utils.py +83 -10
  28. monai/utils/__init__.py +1 -0
  29. monai/utils/enums.py +1 -0
  30. monai/utils/type_conversion.py +8 -0
  31. {monai_weekly-1.4.dev2434.dist-info → monai_weekly-1.4.dev2436.dist-info}/METADATA +4 -1
  32. {monai_weekly-1.4.dev2434.dist-info → monai_weekly-1.4.dev2436.dist-info}/RECORD +36 -31
  33. {monai_weekly-1.4.dev2434.dist-info → monai_weekly-1.4.dev2436.dist-info}/WHEEL +1 -1
  34. /monai/apps/{generation/maisi/utils → vista3d}/__init__.py +0 -0
  35. {monai_weekly-1.4.dev2434.dist-info → monai_weekly-1.4.dev2436.dist-info}/LICENSE +0 -0
  36. {monai_weekly-1.4.dev2434.dist-info → monai_weekly-1.4.dev2436.dist-info}/top_level.txt +0 -0
monai/transforms/utils.py CHANGED
@@ -27,6 +27,7 @@ from torch import Tensor
27
27
  import monai
28
28
  from monai.config import DtypeLike, IndexSelection
29
29
  from monai.config.type_definitions import NdarrayOrTensor, NdarrayTensor
30
+ from monai.data.utils import to_affine_nd
30
31
  from monai.networks.layers import GaussianFilter
31
32
  from monai.networks.utils import meshgrid_ij
32
33
  from monai.transforms.compose import Compose
@@ -35,6 +36,7 @@ from monai.transforms.utils_morphological_ops import erode
35
36
  from monai.transforms.utils_pytorch_numpy_unification import (
36
37
  any_np_pt,
37
38
  ascontiguousarray,
39
+ concatenate,
38
40
  cumsum,
39
41
  isfinite,
40
42
  nonzero,
@@ -107,7 +109,8 @@ __all__ = [
107
109
  "generate_spatial_bounding_box",
108
110
  "get_extreme_points",
109
111
  "get_largest_connected_component_mask",
110
- "get_largest_connected_component_mask_point",
112
+ "keep_merge_components_with_points",
113
+ "keep_components_with_positive_points",
111
114
  "convert_points_to_disc",
112
115
  "remove_small_objects",
113
116
  "img_bounds",
@@ -1178,7 +1181,7 @@ def get_largest_connected_component_mask(
1178
1181
  return convert_to_dst_type(out, dst=img, dtype=out.dtype)[0]
1179
1182
 
1180
1183
 
1181
- def get_largest_connected_component_mask_point(
1184
+ def keep_merge_components_with_points(
1182
1185
  img_pos: NdarrayTensor,
1183
1186
  img_neg: NdarrayTensor,
1184
1187
  point_coords: NdarrayTensor,
@@ -1188,8 +1191,8 @@ def get_largest_connected_component_mask_point(
1188
1191
  margins: int = 3,
1189
1192
  ) -> NdarrayTensor:
1190
1193
  """
1191
- Gets the connected component of img_pos and img_neg that include the positive points and
1192
- negative points separately. The function is used for combining automatic results with interactive
1194
+ Keep connected regions of img_pos and img_neg that include the positive points and
1195
+ negative points separately. The function is used for merging automatic results with interactive
1193
1196
  results in VISTA3D.
1194
1197
 
1195
1198
  Args:
@@ -1199,6 +1202,7 @@ def get_largest_connected_component_mask_point(
1199
1202
  neg_val: negative point label values.
1200
1203
  point_coords: the coordinates of each point, shape [B, N, 3], where N means the number of points.
1201
1204
  point_labels: the label of each point, shape [B, N].
1205
+ margins: include points outside of the region but within the margin.
1202
1206
  """
1203
1207
 
1204
1208
  cucim_skimage, has_cucim = optional_import("cucim.skimage")
@@ -1249,6 +1253,49 @@ def get_largest_connected_component_mask_point(
1249
1253
  return convert_to_dst_type(outs, dst=img_pos, dtype=outs.dtype)[0]
1250
1254
 
1251
1255
 
1256
+ def keep_components_with_positive_points(
1257
+ img: torch.Tensor, point_coords: torch.Tensor, point_labels: torch.Tensor
1258
+ ) -> torch.Tensor:
1259
+ """
1260
+ Keep connected regions that include the positive points. Used for point-only inference postprocessing to remove
1261
+ regions without positive points.
1262
+ Args:
1263
+ img: [1, B, H, W, D]. Output prediction from VISTA3D. Value is before sigmoid and contain NaN value.
1264
+ point_coords: [B, N, 3]. Point click coordinates
1265
+ point_labels: [B, N]. Point click labels.
1266
+ """
1267
+ if not has_measure:
1268
+ raise RuntimeError("skimage.measure required.")
1269
+ outs = torch.zeros_like(img)
1270
+ for c in range(len(point_coords)):
1271
+ if not ((point_labels[c] == 3).any() or (point_labels[c] == 1).any()):
1272
+ # skip if no positive points.
1273
+ continue
1274
+ coords = point_coords[c, point_labels[c] == 3].tolist() + point_coords[c, point_labels[c] == 1].tolist()
1275
+ not_nan_mask = ~torch.isnan(img[0, c])
1276
+ img_ = torch.nan_to_num(img[0, c] > 0, 0)
1277
+ img_, *_ = convert_data_type(img_, np.ndarray) # type: ignore
1278
+ label = measure.label
1279
+ features = label(img_, connectivity=3)
1280
+ pos_mask = torch.from_numpy(img_).to(img.device) > 0
1281
+ # if num features less than max desired, nothing to do.
1282
+ features = torch.from_numpy(features).to(img.device)
1283
+ # generate a map with all pos points
1284
+ idx = []
1285
+ for p in coords:
1286
+ idx.append(features[round(p[0]), round(p[1]), round(p[2])].item())
1287
+ idx = list(set(idx))
1288
+ for i in idx:
1289
+ if i == 0:
1290
+ continue
1291
+ outs[0, c] += features == i
1292
+ outs = outs > 0
1293
+ # find negative mean value
1294
+ fill_in = img[0, c][torch.logical_and(~outs[0, c], not_nan_mask)].mean()
1295
+ img[0, c][torch.logical_and(pos_mask, ~outs[0, c])] = fill_in
1296
+ return img
1297
+
1298
+
1252
1299
  def convert_points_to_disc(
1253
1300
  image_size: Sequence[int], point: Tensor, point_label: Tensor, radius: int = 2, disc: bool = False
1254
1301
  ):
@@ -1269,7 +1316,7 @@ def convert_points_to_disc(
1269
1316
  _array = [
1270
1317
  torch.arange(start=0, end=image_size[i], step=1, dtype=torch.float32, device=point.device) for i in range(3)
1271
1318
  ]
1272
- coord_rows, coord_cols, coord_z = torch.meshgrid(_array[2], _array[1], _array[0])
1319
+ coord_rows, coord_cols, coord_z = torch.meshgrid(_array[0], _array[1], _array[2])
1273
1320
  # [1, 3, h, w, d] -> [b, 2, 3, h, w, d]
1274
1321
  coords = unsqueeze_left(torch.stack((coord_rows, coord_cols, coord_z), dim=0), 6)
1275
1322
  coords = coords.repeat(point.shape[0], 2, 1, 1, 1, 1)
@@ -1816,7 +1863,7 @@ class Fourier:
1816
1863
  """
1817
1864
 
1818
1865
  @staticmethod
1819
- def shift_fourier(x: NdarrayOrTensor, spatial_dims: int) -> NdarrayOrTensor:
1866
+ def shift_fourier(x: NdarrayOrTensor, spatial_dims: int, as_contiguous: bool = False) -> NdarrayOrTensor:
1820
1867
  """
1821
1868
  Applies fourier transform and shifts the zero-frequency component to the
1822
1869
  center of the spectrum. Only the spatial dimensions get transformed.
@@ -1824,6 +1871,7 @@ class Fourier:
1824
1871
  Args:
1825
1872
  x: Image to transform.
1826
1873
  spatial_dims: Number of spatial dimensions.
1874
+ as_contiguous: Whether to convert the cached NumPy array or PyTorch tensor to be contiguous.
1827
1875
 
1828
1876
  Returns
1829
1877
  k: K-space data.
@@ -1838,10 +1886,12 @@ class Fourier:
1838
1886
  k = np.fft.fftshift(np.fft.fftn(x.cpu().numpy(), axes=dims), axes=dims)
1839
1887
  else:
1840
1888
  k = np.fft.fftshift(np.fft.fftn(x, axes=dims), axes=dims)
1841
- return k
1889
+ return ascontiguousarray(k) if as_contiguous else k
1842
1890
 
1843
1891
  @staticmethod
1844
- def inv_shift_fourier(k: NdarrayOrTensor, spatial_dims: int, n_dims: int | None = None) -> NdarrayOrTensor:
1892
+ def inv_shift_fourier(
1893
+ k: NdarrayOrTensor, spatial_dims: int, n_dims: int | None = None, as_contiguous: bool = False
1894
+ ) -> NdarrayOrTensor:
1845
1895
  """
1846
1896
  Applies inverse shift and fourier transform. Only the spatial
1847
1897
  dimensions are transformed.
@@ -1849,6 +1899,7 @@ class Fourier:
1849
1899
  Args:
1850
1900
  k: K-space data.
1851
1901
  spatial_dims: Number of spatial dimensions.
1902
+ as_contiguous: Whether to convert the cached NumPy array or PyTorch tensor to be contiguous.
1852
1903
 
1853
1904
  Returns:
1854
1905
  x: Tensor in image space.
@@ -1863,7 +1914,7 @@ class Fourier:
1863
1914
  out = np.fft.ifftn(np.fft.ifftshift(k.cpu().numpy(), axes=dims), axes=dims).real
1864
1915
  else:
1865
1916
  out = np.fft.ifftn(np.fft.ifftshift(k, axes=dims), axes=dims).real
1866
- return out
1917
+ return ascontiguousarray(out) if as_contiguous else out
1867
1918
 
1868
1919
 
1869
1920
  def get_number_image_type_conversions(transform: Compose, test_data: Any, key: Hashable | None = None) -> int:
@@ -2467,6 +2518,7 @@ def distance_transform_edt(
2467
2518
  block_params=block_params,
2468
2519
  float64_distances=float64_distances,
2469
2520
  )
2521
+ torch.cuda.synchronize()
2470
2522
  else:
2471
2523
  if not has_ndimage:
2472
2524
  raise RuntimeError("scipy.ndimage required if cupy is not available")
@@ -2500,7 +2552,7 @@ def distance_transform_edt(
2500
2552
 
2501
2553
  r_vals = []
2502
2554
  if return_distances and distances_original is None:
2503
- r_vals.append(distances)
2555
+ r_vals.append(distances_ if use_cp else distances)
2504
2556
  if return_indices and indices_original is None:
2505
2557
  r_vals.append(indices)
2506
2558
  if not r_vals:
@@ -2509,5 +2561,26 @@ def distance_transform_edt(
2509
2561
  return convert_data_type(r_vals[0] if len(r_vals) == 1 else r_vals, output_type=type(img), device=device)[0]
2510
2562
 
2511
2563
 
2564
+ def apply_affine_to_points(data: torch.Tensor, affine: torch.Tensor, dtype: DtypeLike | torch.dtype | None = None):
2565
+ """
2566
+ apply affine transformation to a set of points.
2567
+
2568
+ Args:
2569
+ data: input data to apply affine transformation, should be a tensor of shape (C, N, 2 or 3),
2570
+ where C represents the number of channels and N denotes the number of points.
2571
+ affine: affine matrix to be applied, should be a tensor of shape (3, 3) or (4, 4).
2572
+ dtype: output data dtype.
2573
+ """
2574
+ data_: torch.Tensor = convert_to_tensor(data, track_meta=False, dtype=torch.float64)
2575
+ affine = to_affine_nd(data_.shape[-1], affine)
2576
+
2577
+ homogeneous: torch.Tensor = concatenate((data_, torch.ones((data_.shape[0], data_.shape[1], 1))), axis=2) # type: ignore
2578
+ transformed_homogeneous = torch.matmul(homogeneous, affine.T)
2579
+ transformed_coordinates = transformed_homogeneous[:, :, :-1]
2580
+ out, *_ = convert_to_dst_type(transformed_coordinates, data, dtype=dtype)
2581
+
2582
+ return out
2583
+
2584
+
2512
2585
  if __name__ == "__main__":
2513
2586
  print_transform_backends()
monai/utils/__init__.py CHANGED
@@ -148,6 +148,7 @@ from .type_conversion import (
148
148
  dtype_numpy_to_torch,
149
149
  dtype_torch_to_numpy,
150
150
  get_dtype,
151
+ get_dtype_string,
151
152
  get_equivalent_dtype,
152
153
  get_numpy_dtype_from_string,
153
154
  get_torch_dtype_from_string,
monai/utils/enums.py CHANGED
@@ -543,6 +543,7 @@ class MetaKeys(StrEnum):
543
543
  SPATIAL_SHAPE = "spatial_shape" # optional key for the length in each spatial dimension
544
544
  SPACE = "space" # possible values of space type are defined in `SpaceKeys`
545
545
  ORIGINAL_CHANNEL_DIM = "original_channel_dim" # an integer or float("nan")
546
+ SAVED_TO = "saved_to"
546
547
 
547
548
 
548
549
  class ColorOrder(StrEnum):
@@ -33,6 +33,7 @@ __all__ = [
33
33
  "get_equivalent_dtype",
34
34
  "convert_data_type",
35
35
  "get_dtype",
36
+ "get_dtype_string",
36
37
  "convert_to_cupy",
37
38
  "convert_to_numpy",
38
39
  "convert_to_tensor",
@@ -102,6 +103,13 @@ def get_dtype(data: Any) -> DtypeLike | torch.dtype:
102
103
  return type(data)
103
104
 
104
105
 
106
+ def get_dtype_string(dtype: DtypeLike | torch.dtype) -> str:
107
+ """Get a string representation of the dtype."""
108
+ if isinstance(dtype, torch.dtype):
109
+ return str(dtype)[6:]
110
+ return str(dtype)[3:]
111
+
112
+
105
113
  def convert_to_tensor(
106
114
  data: Any,
107
115
  dtype: DtypeLike | torch.dtype = None,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: monai-weekly
3
- Version: 1.4.dev2434
3
+ Version: 1.4.dev2436
4
4
  Summary: AI Toolkit for Healthcare Imaging
5
5
  Home-page: https://monai.io/
6
6
  Author: MONAI Consortium
@@ -120,6 +120,8 @@ Provides-Extra: pandas
120
120
  Requires-Dist: pandas; extra == "pandas"
121
121
  Provides-Extra: pillow
122
122
  Requires-Dist: pillow!=8.3.0; extra == "pillow"
123
+ Provides-Extra: polygraphy
124
+ Requires-Dist: polygraphy; extra == "polygraphy"
123
125
  Provides-Extra: psutil
124
126
  Requires-Dist: psutil; extra == "psutil"
125
127
  Provides-Extra: pyamg
@@ -167,6 +169,7 @@ Requires-Dist: zarr; extra == "zarr"
167
169
  [![postmerge](https://img.shields.io/github/checks-status/project-monai/monai/dev?label=postmerge)](https://github.com/Project-MONAI/MONAI/actions?query=branch%3Adev)
168
170
  [![Documentation Status](https://readthedocs.org/projects/monai/badge/?version=latest)](https://docs.monai.io/en/latest/)
169
171
  [![codecov](https://codecov.io/gh/Project-MONAI/MONAI/branch/dev/graph/badge.svg?token=6FTC7U1JJ4)](https://codecov.io/gh/Project-MONAI/MONAI)
172
+ [![monai Downloads Last Month](https://assets.piptrends.com/get-last-month-downloads-badge/monai.svg 'monai Downloads Last Month by pip Trends')](https://piptrends.com/package/monai)
170
173
 
171
174
  MONAI is a [PyTorch](https://pytorch.org/)-based, [open-source](https://github.com/Project-MONAI/MONAI/blob/dev/LICENSE) framework for deep learning in healthcare imaging, part of [PyTorch Ecosystem](https://pytorch.org/ecosystem/).
172
175
  Its ambitions are:
@@ -1,5 +1,5 @@
1
- monai/__init__.py,sha256=rMaIh5LiiohWuFjwscl3Y9xGRH2kESEME5WjZBl7o1g,2722
2
- monai/_version.py,sha256=OSpdYFEM7VmFqOrWc2W_5Ypzg2cajYgcoY5Pcbce52I,503
1
+ monai/__init__.py,sha256=os-5c-6EJQZgLKBLDAW6HyzE8TU11Q8YOlzvi0uFhAY,4094
2
+ monai/_version.py,sha256=Pd6fVGXo0VC8INb4qwrDi1QPxFBumw4V1fXa5Rmpslw,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
@@ -52,7 +52,6 @@ monai/apps/generation/maisi/networks/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30
52
52
  monai/apps/generation/maisi/networks/autoencoderkl_maisi.py,sha256=Jbj5w9_p_xOLWYgfta26H22zgcC01BR4dmRmDdi13EU,36695
53
53
  monai/apps/generation/maisi/networks/controlnet_maisi.py,sha256=jaTbpvttLybOq6KzC64CQl92BhlOi39zD48Zkdb7zBE,7698
54
54
  monai/apps/generation/maisi/networks/diffusion_model_unet_maisi.py,sha256=XFOiy6GngXC_OKM1dUiel_gp71yUFWgPErYdgrVLQAU,19072
55
- monai/apps/generation/maisi/utils/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
56
55
  monai/apps/mmars/__init__.py,sha256=BolpgEi9jNBgrOQd3Kwp-9QQLeWQwQtlN_MJkK1eu5s,726
57
56
  monai/apps/mmars/mmars.py,sha256=AYsx5FDmJ0dT0hAkWGYhM470aPIG23PYloHihDZfOKE,13115
58
57
  monai/apps/mmars/model_desc.py,sha256=k7WSMRuyQN8xPax8aUmGKiTNZmcVatdqPYCgxDih-x4,9996
@@ -99,6 +98,10 @@ monai/apps/reconstruction/transforms/dictionary.py,sha256=3NGkie0WYZdsWWx1_h9Orr
99
98
  monai/apps/tcia/__init__.py,sha256=2uu3nP1j3mDs2AeG-9zmXicD33eQs1g0VHCN8KysEbQ,824
100
99
  monai/apps/tcia/label_desc.py,sha256=B8l9mVmRzLysLmEIIYVeenly_68okCt461qeLQSxCJ8,1582
101
100
  monai/apps/tcia/utils.py,sha256=iyLXr5_51rolbRUZFN_Fwc6TIhAbeSl6XZ2m5RYpzTw,6303
101
+ monai/apps/vista3d/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
102
+ monai/apps/vista3d/inferer.py,sha256=3WgXF2ELPhoHt13jFYOlfEss1031Gr2_Fm5_gUy6hLc,8712
103
+ monai/apps/vista3d/sampler.py,sha256=1uZQIRCO9HY8Rs2FtZ1v0XtPQGZ9RyEjxUycMgIqx7A,8274
104
+ monai/apps/vista3d/transforms.py,sha256=SLsVVRJty5R8X2oeeyPUQCej83__3yKv8qvAUpGxr3s,10641
102
105
  monai/auto3dseg/__init__.py,sha256=DbZC7wqx4zBNcguLQGu8bGmAiKnk9LvjtQDtwdwG19I,1164
103
106
  monai/auto3dseg/algo_gen.py,sha256=_BscoAnUzQKRqz5jHvdsuCe3tTxq7PUQYPMLX0WuxCc,4286
104
107
  monai/auto3dseg/analyzer.py,sha256=7l8QT36lG68b8rK23CC2omz6PO1fxmDwOljxXMn5clQ,41351
@@ -108,11 +111,11 @@ monai/auto3dseg/utils.py,sha256=zEicEO_--6-1kzT5HlmhAAd575gnl2AFmW8O3FnIznE,1867
108
111
  monai/bundle/__init__.py,sha256=xvYgiAzq9fiyMkCRo0vwn41ZSzj0udyvF0jmySnqBRI,1443
109
112
  monai/bundle/__main__.py,sha256=RiAn6raPUvPMfXvd03irAhB3nkIAgG1lf8GE34PG4Js,952
110
113
  monai/bundle/config_item.py,sha256=rMjXSGkjJZdi04BwSHwCcIwzIb_TflmC3xDhC3SVJRs,16151
111
- monai/bundle/config_parser.py,sha256=euPLLd9An2HYV7RoO-z0UDCbna-Gaq9tm_lIK3Ay1OM,22969
114
+ monai/bundle/config_parser.py,sha256=cGyEn-cqNk0rEEZ1Qiv6UydmIDvtWZcMVljyfVm5i50,23025
112
115
  monai/bundle/properties.py,sha256=iN3K4FVmN9ny1Hw9p5j7_ULcCdSD8PmrR7qXxbNz49k,11582
113
116
  monai/bundle/reference_resolver.py,sha256=aBw3ML7B_YsiFUNl_mcRYPry1UbrEIK0R39A0zFw8kI,16463
114
- monai/bundle/scripts.py,sha256=uHMMJsC-k8ipdkbIcXpL_D-nis3q7mIQi2EOmkBDXFw,89067
115
- monai/bundle/utils.py,sha256=wzYtp2MuzKyq_zv-cwNqz_81BlDUTubqtyDAF8-bgOA,9034
117
+ monai/bundle/scripts.py,sha256=EmYZ4-Wc-qzYqwSwkT2LcmPtkbR53HLrBRM3GXH511U,89086
118
+ monai/bundle/utils.py,sha256=t-22uFvLn7Yy-dr1v1U33peNOxgAmU4TJiGAbsBrUKs,10108
116
119
  monai/bundle/workflows.py,sha256=VMuBTkk6DGsnGRLFzNfVUzgy8UqUReluUlIPUaxODPQ,24765
117
120
  monai/config/__init__.py,sha256=CN28CfTdsp301gv8YXfVvkbztCfbAqrLKrJi_C8oP9s,1048
118
121
  monai/config/deviceconfig.py,sha256=3EU1Zi6yD_bxEAeHfzjbslEjq6vOvxNG6o9dxKUiEvc,10315
@@ -157,7 +160,7 @@ monai/fl/utils/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,57
157
160
  monai/fl/utils/constants.py,sha256=OjMAE17niYqQh7nz45SC6CXvkMa4-XZsIuoHUHqP7W0,1784
158
161
  monai/fl/utils/exchange_object.py,sha256=q41trOwBdog_g3k_Eh2EFnLufHJ1mj7nGyQ-ShuW5Mo,3527
159
162
  monai/fl/utils/filters.py,sha256=InXplYes52JJqtsNbePAPPAYS8am_uRO7UkBHyYyJCo,1633
160
- monai/handlers/__init__.py,sha256=cuj5QmbeKYV4fW5lr-WYFuUnDwrOgPFS4f24_m9lJxI,2372
163
+ monai/handlers/__init__.py,sha256=DDEga7fRfhZTn7T7ZDjK1XI6zcDsziTJLpM50wqwacY,2408
161
164
  monai/handlers/checkpoint_loader.py,sha256=d01Ab5RIMuP372M1rwarKpdhcIG01Vv7Z630iwb4PlY,7456
162
165
  monai/handlers/checkpoint_saver.py,sha256=NJljfsP_RbmeQvbI9g0B0hsPcV14vW37cljGRzLlXCY,16071
163
166
  monai/handlers/classification_saver.py,sha256=ujCzHyEN5lH-ZY_M5cN-J6s_JxByLkujxcTz2ZVxHow,7606
@@ -187,13 +190,14 @@ monai/handlers/smartcache_handler.py,sha256=OA6v4EC2geH419eBKSAGSb-XNxO_qSPmJ2fk
187
190
  monai/handlers/stats_handler.py,sha256=SyHXYnKXyQhaXDM08_yUU7gFQEICHrnLYtOl7vcmA3s,14126
188
191
  monai/handlers/surface_distance.py,sha256=HKQrRGy08uWNr9X-mJ1IhMwV_ndZOijEJS7TYL9KQsg,3327
189
192
  monai/handlers/tensorboard_handlers.py,sha256=FvuK2Ymc9oBoGJQYUcUxBKVNU6a_I5agUXUUgNfIvYM,22615
193
+ monai/handlers/trt_handler.py,sha256=6vrF70jwCrICGjB56RiQ7lg2NNyQl5ZbHx4V7Ygle1Q,2353
190
194
  monai/handlers/utils.py,sha256=IXdBBGlQ0rwBeTlFKE1br4Mq42zcAvFgSF7RPg-yAiU,10239
191
195
  monai/handlers/validation_handler.py,sha256=8UicJSkRhJZh7RuK07isiLii_6WpN3AclrbqtV4ny6M,3698
192
196
  monai/inferers/__init__.py,sha256=K74t_RCeUPdEZvHzIPzVAwZ9DtmouLqhb3qDEmFBWs4,1107
193
197
  monai/inferers/inferer.py,sha256=aZwCmM6WGj49SHi_jIkQeGDstMz45frvM1Lomoeqzm4,92669
194
198
  monai/inferers/merger.py,sha256=Ch-qoGUVTTDWN9z_LXBRxElvyuZxOmuqAcecpg1xxAg,15566
195
199
  monai/inferers/splitter.py,sha256=_hTnFdvDNRckkA7ZGQehVsNZw83oXoGFWyk5VXNqgJg,21149
196
- monai/inferers/utils.py,sha256=dloXtQY_zI_h-_ppoJ2P-0ij9j2vCVEiq5VyL1k-Bs0,20386
200
+ monai/inferers/utils.py,sha256=hKiudomhQL9mbcq1rVWRpRy55Fz1bCD5egv4J3QgLNQ,20432
197
201
  monai/losses/__init__.py,sha256=igy7BjoQzM3McmJPD2tmeiW2ljSXfB2HBdc4YiDzYEg,1778
198
202
  monai/losses/adversarial_loss.py,sha256=9w47lPYU3clj2w9UZ_ZcXCKnmlMfA74YkjFOCVfhF0E,7722
199
203
  monai/losses/barlow_twins.py,sha256=prDdaY0vXAXMuVDmc9Tv6svRZzNwKA0LdsmRaUmusiI,3613
@@ -222,7 +226,7 @@ monai/metrics/cumulative_average.py,sha256=8GGjHmiBboBikprg1380SsNn7RgzFIrHGWBYD
222
226
  monai/metrics/f_beta_score.py,sha256=urI0J_tvl0qQ5-l2fgWV_jChbgpzLmgpRq125B3yxpw,3984
223
227
  monai/metrics/fid.py,sha256=P9wBKnumEdCgKlVUuEt9XzY5umPK1fXnnyXmljDl5N4,4794
224
228
  monai/metrics/froc.py,sha256=q7MAFsHHIp5EHBHwa5UbF5PRApjUonw-hUXax9k1WxQ,7981
225
- monai/metrics/generalized_dice.py,sha256=j3TD1D_IK67HBoPtgfEXgC1Z5WMGnE3V7avS6wLHfZA,8265
229
+ monai/metrics/generalized_dice.py,sha256=9ZiEmGfMZLxFAF6AmdrbKOc8A_QOUMUmIZ6ILm-h01A,8939
226
230
  monai/metrics/hausdorff_distance.py,sha256=4_ZJZ2gV1bPhOR5Mxz0PyN6Y_X1mTZ6U6T4gSRwjfDE,11844
227
231
  monai/metrics/loss_metric.py,sha256=m9jXobVHKLeDY_8yrA9m7FwfapSAb-kYIdUJOsbvBvY,4907
228
232
  monai/metrics/meandice.py,sha256=bFiDcK-af4cqV-JHAO2Qh2ixwj6fLjaBCaCO6jBAmxQ,13475
@@ -236,8 +240,9 @@ monai/metrics/surface_dice.py,sha256=aNERsTuJkPMfxatPaAzoW1KtvZvUAv4qe_7Kl_dOROI
236
240
  monai/metrics/surface_distance.py,sha256=bKDTm7ulhjfiphHLrDJoA3OKI3npwQy2Z5wY-JkXtXg,9727
237
241
  monai/metrics/utils.py,sha256=jJiIFGGa-iwvz1otHAKqPKTNmfZqd2dI7_Hsfblgxqk,46914
238
242
  monai/metrics/wrapper.py,sha256=c1zg-xcypQyZ840TEuhhLgr4sClYMWTxlv1OieJTtvE,11781
239
- monai/networks/__init__.py,sha256=X-z-kmVt9kwoNPgfYITGycnvG_9HC3_RSRKD2YC35Ag,1020
240
- monai/networks/utils.py,sha256=XQKXogddrhxGz06ZfPGqO8j4VcqRUvaUY-TVrL4vKuA,50290
243
+ monai/networks/__init__.py,sha256=ZzU2Qo8gDXNiRBF0JapIo3xlecZHjXsJuarF0IKVKKY,1086
244
+ monai/networks/trt_compiler.py,sha256=xWCstyDnsNj1tB-oRIr0SS0hz_eKXvbILmh94k5MC1Y,22680
245
+ monai/networks/utils.py,sha256=YKcmGoBM2UrnstleRcascn-C97n2e3LPL8tlEFcPiWQ,56860
241
246
  monai/networks/blocks/__init__.py,sha256=-LMGPMN-eHzwsjkb88H66kImpr4v2hYATZ2y-mRm_K0,2264
242
247
  monai/networks/blocks/acti_norm.py,sha256=bVGXbTZ_ssRvmED5R7LOQ7jj4V6WbVFl8JMO-4iZ2Dk,4275
243
248
  monai/networks/blocks/activation.py,sha256=S5k3zcP2PsHBkeIxgWgNg8ppW80tTResVP2j9ZsvTFw,5839
@@ -276,7 +281,7 @@ monai/networks/layers/conjugate_gradient.py,sha256=kCAwjtX_j5wrgR8x52WdGl4yCwZmc
276
281
  monai/networks/layers/convutils.py,sha256=zwbYK4WJO1Tj2KASnOfxwYnb3p4pizXxdZRm6I1P3j4,8288
277
282
  monai/networks/layers/drop_path.py,sha256=SZtRNa1bDwk1rXWbUe70YDaw6H_NKeplm_Wk5Ye1L4Y,1802
278
283
  monai/networks/layers/factories.py,sha256=dMj-y3LRV5P_FmqMCZuf_A8P8l_fge3TVAXWzNhONuo,15795
279
- monai/networks/layers/filtering.py,sha256=7ru9Yt3yOM-ko-UqzYp-2tMpb8VHt5d767F-KkzrqYY,17992
284
+ monai/networks/layers/filtering.py,sha256=294TaEF_oF-IuL7NQzh64iwW28bRezbPGwp9KynP_ks,18215
280
285
  monai/networks/layers/gmm.py,sha256=Aq-YCHgUalgOZQ0x5mwYKJe1G7aiCiJybdkPTiiT120,3325
281
286
  monai/networks/layers/simplelayers.py,sha256=ciUdKrj_DpEdT3AKs70aPySh73UMsyhoOCTiR2qk8Js,28478
282
287
  monai/networks/layers/spatial_transforms.py,sha256=fz2t7-ibijNLqTYpAn4ZgdXtzBSIyWlaF35mQtqWRY4,25581
@@ -317,14 +322,14 @@ monai/networks/nets/senet.py,sha256=gulqPMYmSABbMbN39NElGzSU1TKGviJas7EPTBaZ60A,
317
322
  monai/networks/nets/spade_autoencoderkl.py,sha256=-b2Sbl4jPpwo3ukTgsTcON26cSTB35K9sy1S9DKlZz0,19566
318
323
  monai/networks/nets/spade_diffusion_model_unet.py,sha256=zYsXhkHNpHWWyal5ljAMxOICJ1loYQQMAOuzWzdLBCM,39007
319
324
  monai/networks/nets/spade_network.py,sha256=GguYucjIRyT_rZa9DrvUmv00FtqXHZtY1VfJM9Rygns,16479
320
- monai/networks/nets/swin_unetr.py,sha256=H7cjCHZJmZoXDcVFYXJM5iPfQbHZGt1AES2-UoNsGo4,44849
325
+ monai/networks/nets/swin_unetr.py,sha256=nU_VgVsgPnXx5V_Wtceq1ZJR1XuB4vPCcFnbY5pJOZ0,44902
321
326
  monai/networks/nets/torchvision_fc.py,sha256=3g5PD7C1MSkQ8xndhnVd0b3aN8zfshT8uiFS0OHyQaY,6309
322
327
  monai/networks/nets/transchex.py,sha256=uA_RfTDfPhwA1ecAPZ9EDnMyJKn2tUMLEWdyB_rU2v0,15726
323
328
  monai/networks/nets/transformer.py,sha256=-nzl20Z5xdtn7xChOd_cRbbPVoPIFGVfTQw3fIEGMuE,6395
324
329
  monai/networks/nets/unet.py,sha256=riKWB8iEEgO4CIiVTOo532726HWWBfuBcIHeoLvvN0w,13627
325
330
  monai/networks/nets/unetr.py,sha256=wQC3mpn_jEcZb0RXef0ueTe4WGjmnZqQVKKdnemFjnc,8545
326
331
  monai/networks/nets/varautoencoder.py,sha256=Pd9BdXW1iVjmAVCZIc2ElGtSDAWRBaLwEKxLDicyxZI,6282
327
- monai/networks/nets/vista3d.py,sha256=hL9w6bzZntMFYtkKBPSlOo0qcB5ZKE6wdAb6zPqLVQc,41271
332
+ monai/networks/nets/vista3d.py,sha256=vFpCG53JDCvgK-fz7VPZvo6-mv8Mp5AgBZu2QVu0ggM,43326
328
333
  monai/networks/nets/vit.py,sha256=SJ5MCJcVAQ2iTqkc1-AFF7oBgCkE7xcNr_ziGc8n_t8,6250
329
334
  monai/networks/nets/vitautoenc.py,sha256=tTX-JHNl2H4y9e5Wk9rrtR6i_ebJHq90O61DnbBFhek,6033
330
335
  monai/networks/nets/vnet.py,sha256=zaJi5kSiTLAuFHThSZfhJvHP6zKh3oBWsTWG-328O_g,10820
@@ -340,7 +345,7 @@ monai/optimizers/lr_finder.py,sha256=tbVi6qd-LLI6pENM9cDUv-Hh1HqziO3Wb9aI6JoaPng
340
345
  monai/optimizers/lr_scheduler.py,sha256=YPY5MWgCTmExuIOBsVJrgfErkCT1ELBekcH0XeRP6Kk,4082
341
346
  monai/optimizers/novograd.py,sha256=dgjyM-WGqrEHsSKNdI3Lw1wJ2YNG3oKCYotfPsDBE80,5677
342
347
  monai/optimizers/utils.py,sha256=GVsJsZWO2aAP9IzwhXgca_9gUNHFClup6qG4ZFs42z4,4133
343
- monai/transforms/__init__.py,sha256=uBhfs9wlZDWjJ_5OHrHQBeLlLy7sse3hsVCJBrNKuS4,16142
348
+ monai/transforms/__init__.py,sha256=lyIf64v-I2soIjfK2RxOWS7_CIc-x6bRJHLI6UZ8yDs,16591
344
349
  monai/transforms/adaptors.py,sha256=jqh7cVvIj4h7-UndP7CNuwxgIUXWY_5kiMzjGC5jFBs,8950
345
350
  monai/transforms/compose.py,sha256=zQa_hf8gIater3Bo_XW1IVYgX7aFa_Co6-BZPwoeaQw,37663
346
351
  monai/transforms/inverse.py,sha256=Wg8UnMJru41G3eHGipUemAWziHGU-qdd-Flfi3eOpeo,18746
@@ -348,7 +353,7 @@ monai/transforms/inverse_batch_transform.py,sha256=fMbukZq2P99BhqqMuWZFJ9uboZ5dN
348
353
  monai/transforms/nvtx.py,sha256=1EKEXZIhTUFKoIrJmd_fevwrHwo731dVFUFJQFiOk3w,3386
349
354
  monai/transforms/traits.py,sha256=F8kmhnekTyaAdo8wIFjO3-uqpVtmFym3mNxbYbyvkFI,3563
350
355
  monai/transforms/transform.py,sha256=DqWyfuI-FDBxjqern33R6Ia1iAfHb3Kh56u-__tp1Kw,21614
351
- monai/transforms/utils.py,sha256=2D56fVCr4SyKUDAPsd2x0-QUM_unH3I2XepvEkUJE2o,102957
356
+ monai/transforms/utils.py,sha256=rqGsrUhmBDYDox5J-6UVBeVOxDwQyJ6huv58VYXc9iU,106449
352
357
  monai/transforms/utils_create_transform_ims.py,sha256=QEJVHsCZX7ZxsBArk6NjgCzSZuuokf8l1uFqiUZBBys,31155
353
358
  monai/transforms/utils_morphological_ops.py,sha256=abaFYSvCfH4k7jk3R_YLtUxgwRYgsz6zj6sOEGM1K5w,6758
354
359
  monai/transforms/utils_pytorch_numpy_unification.py,sha256=PvNO1QeBLTcpLhvuO25ctGr2nIM4B0sTRvnA5TpxJ4Q,18855
@@ -361,8 +366,8 @@ monai/transforms/intensity/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJ
361
366
  monai/transforms/intensity/array.py,sha256=bhKIAMgJu-QMQA8df9QdyancMJMShOIOGHjE__4XdXo,121574
362
367
  monai/transforms/intensity/dictionary.py,sha256=RXZeQG9dPvdvjoiWWlNkYec4NDWBxYXjfct4fywv1Ic,85059
363
368
  monai/transforms/io/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
364
- monai/transforms/io/array.py,sha256=HUFnM3c6yxGkZXfXCYcNLFdFSIhCPSvxSvz4nzkHjrc,25665
365
- monai/transforms/io/dictionary.py,sha256=O1fMHYJUFIgSGE1x0sGXN9Tqn5uPc1cnenfVMbRly-g,17602
369
+ monai/transforms/io/array.py,sha256=z4aOxK44IhztN-LzG2uROYDwg_u1C6gcpx9ZH-ZhoVA,27482
370
+ monai/transforms/io/dictionary.py,sha256=64M9KUsKyzwXopDcarXT7JKIv9rHP8Ae-fYRvI0yBuM,18716
366
371
  monai/transforms/lazy/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
367
372
  monai/transforms/lazy/array.py,sha256=2jNLmQ3_sMX7DdbfcT3Extpwe5FgOBbbz2RqlDlyNcw,1211
368
373
  monai/transforms/lazy/dictionary.py,sha256=bgpZ5CPh5rjdf1T5eQVqxlLh0B57xTWHWaBUUxiQAu4,1571
@@ -383,19 +388,19 @@ monai/transforms/smooth_field/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6F
383
388
  monai/transforms/smooth_field/array.py,sha256=Pz4ErmcfVTRZpBe4_IAXTWHlGSmRfExegNKYyrSVwsE,17856
384
389
  monai/transforms/smooth_field/dictionary.py,sha256=iU4V2VjSy2H1K03KgumMUr3cyZVWEJS0W-tgc6SZtP4,11194
385
390
  monai/transforms/spatial/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
386
- monai/transforms/spatial/array.py,sha256=alooVNRtqxNFycF1G31J23sgz3EJnddzJImQUajNWBY,183254
387
- monai/transforms/spatial/dictionary.py,sha256=mvP_skSEI1sMl9y-AS3PZqNHhTLK6iOVOfbdezpNiNs,131672
388
- monai/transforms/spatial/functional.py,sha256=4sLTp5ggCJrePg1TQjFhOxdVf1It4-PA6hiv7vMkrBI,31253
391
+ monai/transforms/spatial/array.py,sha256=oVNAdkr_XQqwQgf-67n7zpBQCvrMW2SZBKTrqtj08hw,184943
392
+ monai/transforms/spatial/dictionary.py,sha256=t0SvEDSVNFUEw2fK66OVF20sqSzCNxil17HmvsMFBt8,133752
393
+ monai/transforms/spatial/functional.py,sha256=IwS0witCqbGkyuxzu_R4Ztp90S0pg9hY1irG7feXqig,33886
389
394
  monai/transforms/utility/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
390
- monai/transforms/utility/array.py,sha256=Pcg0nJEAHR60jydZTyueTSss9kaOiM4v6UFF1Fnj0PY,70600
391
- monai/transforms/utility/dictionary.py,sha256=hF90-R2wAMLjYZiGz8xjTVhz4z4hmmrNDXZ5DEC7zLs,73114
392
- monai/utils/__init__.py,sha256=QbMAngvOTgxcwIUpo-LRRBF8PtgG3bzgqXLGVlcUGnc,3757
395
+ monai/transforms/utility/array.py,sha256=MCkoccxLStPX2e0bJv6WZzDsGE3Wwf1DaxU1MZwDp08,78086
396
+ monai/transforms/utility/dictionary.py,sha256=bPO6qJcZwT_phtVpTLT0VvblGL-QnyYG1bYGIpAjOzk,78079
397
+ monai/utils/__init__.py,sha256=_ey7G8xkthTk2OdQoFFglYFPlqL9cCxkS3flyb3TYTU,3779
393
398
  monai/utils/aliases.py,sha256=uBxkLudRfy3Rts9RZo4NDPGoq4e3Ymcaihk6lT92GFo,4096
394
399
  monai/utils/component_store.py,sha256=VMF7CtPu5Wi_eX_qFtm9iWo5kvoWFuCUIxdRzk90zZo,4498
395
400
  monai/utils/decorators.py,sha256=YRK5iEMdbc2INrWnBNDSMTaHge_0ezRf2b9yJGL-opg,3129
396
401
  monai/utils/deprecate_utils.py,sha256=gKeEV4MsI51qeQ5gci2me_C-0e-tDwa3VZzd3XPQqLk,14759
397
402
  monai/utils/dist.py,sha256=mVaKlBTQJdWAG910sh5pGLEbb_KhRAXV5cPz7amH88Y,8639
398
- monai/utils/enums.py,sha256=Gdo9WBrFODIYz5zt6c00hGz0bqjUQbhCWsfGSgKlnAU,19674
403
+ monai/utils/enums.py,sha256=f__RhrrG4cxxzmICHnmM9riiCvsmUIIk9fYN12Q33lE,19700
399
404
  monai/utils/jupyter_utils.py,sha256=QqcKhJxzEf6YwM8Ik_HvfVDr7gNfrfzCXdzd2urEH8M,15651
400
405
  monai/utils/misc.py,sha256=GJIDxr42juFjnzUTvLtYndcpBQ-EDz6EVXIc7anBoNo,31380
401
406
  monai/utils/module.py,sha256=D9KWFrZ8sS2LrGaLzHnw9MMEbrPI9pHHfHc0XrTLob0,25105
@@ -404,7 +409,7 @@ monai/utils/ordering.py,sha256=0nlA5b5QpVCHbtiCbTC-YsqjTmjm0bub0IeJhGFBOes,8270
404
409
  monai/utils/profiling.py,sha256=V2_cSHgrcmVF48_G3nUi2-O6fnXsS89nSlb8jj58YLo,15937
405
410
  monai/utils/state_cacher.py,sha256=ERBE-mnnf47MwKSq-pNbfu1D2C4ZqKH-mORyLaBa3EE,5955
406
411
  monai/utils/tf32.py,sha256=4bqpPxoTAMmQDNRbbrd4qHG27e1RrxeAmfDf3vP8tQc,3141
407
- monai/utils/type_conversion.py,sha256=CwmAfcFNgNOQdMaNdrDcIuj7_esJls4-BymtMD03ZuM,21520
412
+ monai/utils/type_conversion.py,sha256=fj1mUWf-5WBv9m-fpe8gjcGljGBGSA8-RppBpKD_wv0,21754
408
413
  monai/visualize/__init__.py,sha256=p7dv9-hRa9vAhlpHyk86yap9HgeDeJRO3pXmFhDx8Mc,1038
409
414
  monai/visualize/class_activation_maps.py,sha256=5eEQkmpcE3QpivadjlsRZBLcUc7NpJHDfWkKCLOAnUM,16288
410
415
  monai/visualize/gradient_based.py,sha256=oXqMxqIClVlrgloZwgdTUl4pWllsoS0ysbjuvAbu-Kg,6278
@@ -412,8 +417,8 @@ monai/visualize/img2tensorboard.py,sha256=NnMcyfIFqX-jD7TBO3Rn02zt5uug79d_7pIIaV
412
417
  monai/visualize/occlusion_sensitivity.py,sha256=OQHEJLyIhB8zWqQsfKaX-1kvCjWFVYtLfS4dFC0nKFI,18160
413
418
  monai/visualize/utils.py,sha256=B-MhTVs7sQbIqYS3yPnpBwPw2K82rE2PBtGIfpwZtWM,9894
414
419
  monai/visualize/visualizer.py,sha256=qckyaMZCbezYUwE20k5yc-Pb7UozVavMDbrmyQwfYHY,1377
415
- monai_weekly-1.4.dev2434.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
416
- monai_weekly-1.4.dev2434.dist-info/METADATA,sha256=O9IZ2AW17KFlfzo3x51bjmKm3aazemQavbcr-q2SP4o,10913
417
- monai_weekly-1.4.dev2434.dist-info/WHEEL,sha256=Mdi9PDNwEZptOjTlUcAth7XJDFtKrHYaQMPulZeBCiQ,91
418
- monai_weekly-1.4.dev2434.dist-info/top_level.txt,sha256=UaNwRzLGORdus41Ip446s3bBfViLkdkDsXDo34J2P44,6
419
- monai_weekly-1.4.dev2434.dist-info/RECORD,,
420
+ monai_weekly-1.4.dev2436.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
421
+ monai_weekly-1.4.dev2436.dist-info/METADATA,sha256=C_iw0mDwc8E5PzL-gV-tj-8WjgwD0u1tqKHYTDarJoQ,11172
422
+ monai_weekly-1.4.dev2436.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
423
+ monai_weekly-1.4.dev2436.dist-info/top_level.txt,sha256=UaNwRzLGORdus41Ip446s3bBfViLkdkDsXDo34J2P44,6
424
+ monai_weekly-1.4.dev2436.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (73.0.1)
2
+ Generator: setuptools (74.1.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5