monai-weekly 1.5.dev2442__py3-none-any.whl → 1.5.dev2444__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 (54) hide show
  1. monai/__init__.py +3 -3
  2. monai/_version.py +3 -3
  3. monai/apps/detection/networks/retinanet_network.py +2 -2
  4. monai/apps/detection/transforms/array.py +2 -1
  5. monai/apps/generation/maisi/networks/autoencoderkl_maisi.py +1 -1
  6. monai/apps/generation/maisi/networks/controlnet_maisi.py +1 -1
  7. monai/apps/pathology/engines/utils.py +2 -1
  8. monai/apps/pathology/inferers/inferer.py +2 -1
  9. monai/apps/pathology/metrics/lesion_froc.py +2 -1
  10. monai/apps/pathology/transforms/post/array.py +2 -1
  11. monai/apps/tcia/utils.py +1 -1
  12. monai/apps/utils.py +1 -4
  13. monai/apps/vista3d/transforms.py +1 -1
  14. monai/bundle/reference_resolver.py +2 -2
  15. monai/bundle/scripts.py +1 -2
  16. monai/bundle/workflows.py +3 -2
  17. monai/config/type_definitions.py +2 -1
  18. monai/data/dataset.py +9 -2
  19. monai/data/meta_obj.py +2 -1
  20. monai/data/meta_tensor.py +2 -1
  21. monai/engines/evaluator.py +2 -1
  22. monai/engines/trainer.py +2 -1
  23. monai/engines/utils.py +2 -2
  24. monai/handlers/clearml_handlers.py +2 -1
  25. monai/handlers/mlflow_handler.py +4 -2
  26. monai/handlers/stats_handler.py +3 -4
  27. monai/inferers/utils.py +2 -2
  28. monai/losses/hausdorff_loss.py +1 -1
  29. monai/metrics/fid.py +1 -1
  30. monai/metrics/utils.py +2 -1
  31. monai/networks/blocks/spatialattention.py +3 -20
  32. monai/networks/nets/segresnet_ds.py +3 -1
  33. monai/networks/nets/swin_unetr.py +1 -1
  34. monai/networks/nets/vista3d.py +3 -5
  35. monai/networks/trt_compiler.py +3 -3
  36. monai/networks/utils.py +5 -6
  37. monai/transforms/intensity/dictionary.py +2 -1
  38. monai/transforms/lazy/functional.py +2 -1
  39. monai/transforms/spatial/array.py +3 -3
  40. monai/transforms/utility/dictionary.py +2 -2
  41. monai/transforms/utils_morphological_ops.py +1 -1
  42. monai/transforms/utils_pytorch_numpy_unification.py +1 -1
  43. monai/utils/__init__.py +1 -0
  44. monai/utils/component_store.py +2 -1
  45. monai/utils/decorators.py +2 -1
  46. monai/utils/dist.py +1 -6
  47. monai/utils/misc.py +14 -1
  48. monai/utils/module.py +2 -2
  49. monai/utils/state_cacher.py +2 -1
  50. {monai_weekly-1.5.dev2442.dist-info → monai_weekly-1.5.dev2444.dist-info}/METADATA +1 -1
  51. {monai_weekly-1.5.dev2442.dist-info → monai_weekly-1.5.dev2444.dist-info}/RECORD +54 -54
  52. {monai_weekly-1.5.dev2442.dist-info → monai_weekly-1.5.dev2444.dist-info}/WHEEL +1 -1
  53. {monai_weekly-1.5.dev2442.dist-info → monai_weekly-1.5.dev2444.dist-info}/LICENSE +0 -0
  54. {monai_weekly-1.5.dev2442.dist-info → monai_weekly-1.5.dev2444.dist-info}/top_level.txt +0 -0
monai/__init__.py CHANGED
@@ -11,12 +11,12 @@
11
11
 
12
12
  from __future__ import annotations
13
13
 
14
+ import logging
14
15
  import os
15
16
  import sys
16
- import logging
17
17
  import warnings
18
- from ._version import get_versions
19
18
 
19
+ from ._version import get_versions
20
20
 
21
21
  old_showwarning = warnings.showwarning
22
22
 
@@ -136,4 +136,4 @@ except BaseException:
136
136
 
137
137
  if MONAIEnvVars.debug():
138
138
  raise
139
- __commit_id__ = "a14a9d77165b11996c023a9bf8e649c3c5d6bbbc"
139
+ __commit_id__ = "c1ceea3d4cbb0781eae4e209b80fe651a776fed2"
monai/_version.py CHANGED
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2024-10-20T02:29:48+0000",
11
+ "date": "2024-11-03T02:29:11+0000",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "d850fe3e5160f867a27d3f9e45f7ca1e4c7e53e5",
15
- "version": "1.5.dev2442"
14
+ "full-revisionid": "c70fbd8ff919cabaacfabcbdbf28aa435ae622f9",
15
+ "version": "1.5.dev2444"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -42,7 +42,7 @@ from __future__ import annotations
42
42
  import math
43
43
  import warnings
44
44
  from collections.abc import Callable, Sequence
45
- from typing import Any, Dict
45
+ from typing import Any
46
46
 
47
47
  import torch
48
48
  from torch import Tensor, nn
@@ -330,7 +330,7 @@ class RetinaNet(nn.Module):
330
330
  features = self.feature_extractor(images)
331
331
  if isinstance(features, Tensor):
332
332
  feature_maps = [features]
333
- elif torch.jit.isinstance(features, Dict[str, Tensor]):
333
+ elif torch.jit.isinstance(features, dict[str, Tensor]):
334
334
  feature_maps = list(features.values())
335
335
  else:
336
336
  feature_maps = list(features)
@@ -15,7 +15,8 @@ https://github.com/Project-MONAI/MONAI/wiki/MONAI_Design
15
15
 
16
16
  from __future__ import annotations
17
17
 
18
- from typing import Any, Sequence
18
+ from collections.abc import Sequence
19
+ from typing import Any
19
20
 
20
21
  import numpy as np
21
22
  import torch
@@ -13,7 +13,7 @@ from __future__ import annotations
13
13
 
14
14
  import gc
15
15
  import logging
16
- from typing import Sequence
16
+ from collections.abc import Sequence
17
17
 
18
18
  import torch
19
19
  import torch.nn as nn
@@ -11,7 +11,7 @@
11
11
 
12
12
  from __future__ import annotations
13
13
 
14
- from typing import Sequence
14
+ from collections.abc import Sequence
15
15
 
16
16
  import torch
17
17
 
@@ -11,7 +11,8 @@
11
11
 
12
12
  from __future__ import annotations
13
13
 
14
- from typing import Any, Sequence
14
+ from collections.abc import Sequence
15
+ from typing import Any
15
16
 
16
17
  import torch
17
18
 
@@ -11,7 +11,8 @@
11
11
 
12
12
  from __future__ import annotations
13
13
 
14
- from typing import Any, Callable, Sequence
14
+ from collections.abc import Sequence
15
+ from typing import Any, Callable
15
16
 
16
17
  import numpy as np
17
18
  import torch
@@ -11,7 +11,8 @@
11
11
 
12
12
  from __future__ import annotations
13
13
 
14
- from typing import TYPE_CHECKING, Any, Iterable
14
+ from collections.abc import Iterable
15
+ from typing import TYPE_CHECKING, Any
15
16
 
16
17
  import numpy as np
17
18
 
@@ -12,7 +12,8 @@
12
12
  from __future__ import annotations
13
13
 
14
14
  import warnings
15
- from typing import Callable, Sequence
15
+ from collections.abc import Sequence
16
+ from typing import Callable
16
17
 
17
18
  import numpy as np
18
19
  import torch
monai/apps/tcia/utils.py CHANGED
@@ -12,7 +12,7 @@
12
12
  from __future__ import annotations
13
13
 
14
14
  import os
15
- from typing import Iterable
15
+ from collections.abc import Iterable
16
16
 
17
17
  import monai
18
18
  from monai.config.type_definitions import PathLike
monai/apps/utils.py CHANGED
@@ -136,10 +136,7 @@ def check_hash(filepath: PathLike, val: str | None = None, hash_type: str = "md5
136
136
  return True
137
137
  actual_hash_func = look_up_option(hash_type.lower(), SUPPORTED_HASH_TYPES)
138
138
 
139
- if sys.version_info >= (3, 9):
140
- actual_hash = actual_hash_func(usedforsecurity=False) # allows checks on FIPS enabled machines
141
- else:
142
- actual_hash = actual_hash_func()
139
+ actual_hash = actual_hash_func(usedforsecurity=False) # allows checks on FIPS enabled machines
143
140
 
144
141
  try:
145
142
  with open(filepath, "rb") as f:
@@ -12,7 +12,7 @@
12
12
  from __future__ import annotations
13
13
 
14
14
  import warnings
15
- from typing import Sequence
15
+ from collections.abc import Sequence
16
16
 
17
17
  import numpy as np
18
18
  import torch
@@ -13,8 +13,8 @@ from __future__ import annotations
13
13
 
14
14
  import re
15
15
  import warnings
16
- from collections.abc import Sequence
17
- from typing import Any, Iterator
16
+ from collections.abc import Iterator, Sequence
17
+ from typing import Any
18
18
 
19
19
  from monai.bundle.config_item import ConfigComponent, ConfigExpression, ConfigItem
20
20
  from monai.bundle.utils import DEPRECATED_ID_MAPPING, ID_REF_KEY, ID_SEP_KEY
monai/bundle/scripts.py CHANGED
@@ -1945,7 +1945,6 @@ def create_workflow(
1945
1945
 
1946
1946
  """
1947
1947
  _args = update_kwargs(args=args_file, workflow_name=workflow_name, config_file=config_file, **kwargs)
1948
- _log_input_summary(tag="run", args=_args)
1949
1948
  (workflow_name, config_file) = _pop_args(
1950
1949
  _args, workflow_name=ConfigWorkflow, config_file=None
1951
1950
  ) # the default workflow name is "ConfigWorkflow"
@@ -1969,7 +1968,7 @@ def create_workflow(
1969
1968
  workflow_ = workflow_class(**_args)
1970
1969
 
1971
1970
  workflow_.initialize()
1972
-
1971
+ _log_input_summary(tag="run", args=_args)
1973
1972
  return workflow_
1974
1973
 
1975
1974
 
monai/bundle/workflows.py CHANGED
@@ -16,10 +16,11 @@ import os
16
16
  import sys
17
17
  import time
18
18
  from abc import ABC, abstractmethod
19
+ from collections.abc import Sequence
19
20
  from copy import copy
20
21
  from logging.config import fileConfig
21
22
  from pathlib import Path
22
- from typing import Any, Sequence
23
+ from typing import Any
23
24
 
24
25
  from monai.apps.utils import get_logger
25
26
  from monai.bundle.config_parser import ConfigParser
@@ -316,8 +317,8 @@ class ConfigWorkflow(BundleWorkflow):
316
317
  else:
317
318
  raise FileNotFoundError(f"Cannot find the logging config file: {logging_file}.")
318
319
  else:
319
- logger.info(f"Setting logging properties based on config: {logging_file}.")
320
320
  fileConfig(str(logging_file), disable_existing_loggers=False)
321
+ logger.info(f"Setting logging properties based on config: {logging_file}.")
321
322
 
322
323
  self.parser = ConfigParser()
323
324
  self.parser.read_config(f=config_file)
@@ -12,7 +12,8 @@
12
12
  from __future__ import annotations
13
13
 
14
14
  import os
15
- from typing import Collection, Hashable, Iterable, Sequence, TypeVar, Union
15
+ from collections.abc import Collection, Hashable, Iterable, Sequence
16
+ from typing import TypeVar, Union
16
17
 
17
18
  import numpy as np
18
19
  import torch
monai/data/dataset.py CHANGED
@@ -22,6 +22,7 @@ import time
22
22
  import warnings
23
23
  from collections.abc import Callable, Sequence
24
24
  from copy import copy, deepcopy
25
+ from inspect import signature
25
26
  from multiprocessing.managers import ListProxy
26
27
  from multiprocessing.pool import ThreadPool
27
28
  from pathlib import Path
@@ -371,7 +372,10 @@ class PersistentDataset(Dataset):
371
372
 
372
373
  if hashfile is not None and hashfile.is_file(): # cache hit
373
374
  try:
374
- return torch.load(hashfile)
375
+ if "weights_only" in signature(torch.load).parameters:
376
+ return torch.load(hashfile, weights_only=False)
377
+ else:
378
+ return torch.load(hashfile)
375
379
  except PermissionError as e:
376
380
  if sys.platform != "win32":
377
381
  raise e
@@ -1670,4 +1674,7 @@ class GDSDataset(PersistentDataset):
1670
1674
  if meta_hash_file_name in self._meta_cache:
1671
1675
  return self._meta_cache[meta_hash_file_name]
1672
1676
  else:
1673
- return torch.load(self.cache_dir / meta_hash_file_name)
1677
+ if "weights_only" in signature(torch.load).parameters:
1678
+ return torch.load(self.cache_dir / meta_hash_file_name, weights_only=False)
1679
+ else:
1680
+ return torch.load(self.cache_dir / meta_hash_file_name)
monai/data/meta_obj.py CHANGED
@@ -13,8 +13,9 @@ from __future__ import annotations
13
13
 
14
14
  import itertools
15
15
  import pprint
16
+ from collections.abc import Iterable
16
17
  from copy import deepcopy
17
- from typing import Any, Iterable
18
+ from typing import Any
18
19
 
19
20
  import numpy as np
20
21
  import torch
monai/data/meta_tensor.py CHANGED
@@ -13,8 +13,9 @@ from __future__ import annotations
13
13
 
14
14
  import functools
15
15
  import warnings
16
+ from collections.abc import Sequence
16
17
  from copy import deepcopy
17
- from typing import Any, Sequence
18
+ from typing import Any
18
19
 
19
20
  import numpy as np
20
21
  import torch
@@ -12,7 +12,8 @@
12
12
  from __future__ import annotations
13
13
 
14
14
  import warnings
15
- from typing import TYPE_CHECKING, Any, Callable, Iterable, Sequence
15
+ from collections.abc import Iterable, Sequence
16
+ from typing import TYPE_CHECKING, Any, Callable
16
17
 
17
18
  import torch
18
19
  from torch.utils.data import DataLoader
monai/engines/trainer.py CHANGED
@@ -12,7 +12,8 @@
12
12
  from __future__ import annotations
13
13
 
14
14
  import warnings
15
- from typing import TYPE_CHECKING, Any, Callable, Iterable, Sequence
15
+ from collections.abc import Iterable, Sequence
16
+ from typing import TYPE_CHECKING, Any, Callable
16
17
 
17
18
  import torch
18
19
  from torch.optim.optimizer import Optimizer
monai/engines/utils.py CHANGED
@@ -12,8 +12,8 @@
12
12
  from __future__ import annotations
13
13
 
14
14
  from abc import ABC, abstractmethod
15
- from collections.abc import Callable, Sequence
16
- from typing import TYPE_CHECKING, Any, Mapping, cast
15
+ from collections.abc import Callable, Mapping, Sequence
16
+ from typing import TYPE_CHECKING, Any, cast
17
17
 
18
18
  import torch
19
19
  import torch.nn as nn
@@ -11,7 +11,8 @@
11
11
 
12
12
  from __future__ import annotations
13
13
 
14
- from typing import TYPE_CHECKING, Any, Mapping, Sequence
14
+ from collections.abc import Mapping, Sequence
15
+ from typing import TYPE_CHECKING, Any
15
16
 
16
17
  from monai.utils import optional_import
17
18
 
@@ -22,7 +22,7 @@ import torch
22
22
  from torch.utils.data import Dataset
23
23
 
24
24
  from monai.apps.utils import get_logger
25
- from monai.utils import CommonKeys, IgniteInfo, ensure_tuple, min_version, optional_import
25
+ from monai.utils import CommonKeys, IgniteInfo, ensure_tuple, flatten_dict, min_version, optional_import
26
26
 
27
27
  Events, _ = optional_import("ignite.engine", IgniteInfo.OPT_IMPORT_VERSION, min_version, "Events")
28
28
  mlflow, _ = optional_import("mlflow", descriptor="Please install mlflow before using MLFlowHandler.")
@@ -303,7 +303,9 @@ class MLFlowHandler:
303
303
 
304
304
  run_id = self.cur_run.info.run_id
305
305
  timestamp = int(time.time() * 1000)
306
- metrics_arr = [mlflow.entities.Metric(key, value, timestamp, step or 0) for key, value in metrics.items()]
306
+ metrics_arr = [
307
+ mlflow.entities.Metric(key, value, timestamp, step or 0) for key, value in flatten_dict(metrics).items()
308
+ ]
307
309
  self.client.log_batch(run_id=run_id, metrics=metrics_arr, params=[], tags=[])
308
310
 
309
311
  def _parse_artifacts(self):
@@ -19,7 +19,7 @@ from typing import TYPE_CHECKING, Any
19
19
  import torch
20
20
 
21
21
  from monai.apps import get_logger
22
- from monai.utils import IgniteInfo, is_scalar, min_version, optional_import
22
+ from monai.utils import IgniteInfo, flatten_dict, is_scalar, min_version, optional_import
23
23
 
24
24
  Events, _ = optional_import("ignite.engine", IgniteInfo.OPT_IMPORT_VERSION, min_version, "Events")
25
25
  if TYPE_CHECKING:
@@ -74,7 +74,7 @@ class StatsHandler:
74
74
  output_transform: Callable = lambda x: x[0],
75
75
  global_epoch_transform: Callable = lambda x: x,
76
76
  state_attributes: Sequence[str] | None = None,
77
- name: str | None = "StatsHandler",
77
+ name: str | None = "monai.handlers.StatsHandler",
78
78
  tag_name: str = DEFAULT_TAG,
79
79
  key_var_format: str = DEFAULT_KEY_VAL_FORMAT,
80
80
  ) -> None:
@@ -211,8 +211,7 @@ class StatsHandler:
211
211
 
212
212
  """
213
213
  current_epoch = self.global_epoch_transform(engine.state.epoch)
214
-
215
- prints_dict = engine.state.metrics
214
+ prints_dict = flatten_dict(engine.state.metrics)
216
215
  if prints_dict is not None and len(prints_dict) > 0:
217
216
  out_str = f"Epoch[{current_epoch}] Metrics -- "
218
217
  for name in sorted(prints_dict):
monai/inferers/utils.py CHANGED
@@ -12,8 +12,8 @@
12
12
  from __future__ import annotations
13
13
 
14
14
  import itertools
15
- from collections.abc import Callable, Mapping, Sequence
16
- from typing import Any, Iterable
15
+ from collections.abc import Callable, Iterable, Mapping, Sequence
16
+ from typing import Any
17
17
 
18
18
  import numpy as np
19
19
  import torch
@@ -79,7 +79,7 @@ class HausdorffDTLoss(_Loss):
79
79
  Incompatible values.
80
80
 
81
81
  """
82
- super(HausdorffDTLoss, self).__init__(reduction=LossReduction(reduction).value)
82
+ super().__init__(reduction=LossReduction(reduction).value)
83
83
  if other_act is not None and not callable(other_act):
84
84
  raise TypeError(f"other_act must be None or callable but is {type(other_act).__name__}.")
85
85
  if int(sigmoid) + int(softmax) > 1:
monai/metrics/fid.py CHANGED
@@ -82,7 +82,7 @@ def _cov(input_data: torch.Tensor, rowvar: bool = True) -> torch.Tensor:
82
82
 
83
83
  def _sqrtm(input_data: torch.Tensor) -> torch.Tensor:
84
84
  """Compute the square root of a matrix."""
85
- scipy_res, _ = scipy.linalg.sqrtm(input_data.detach().cpu().numpy().astype(np.float_), disp=False)
85
+ scipy_res, _ = scipy.linalg.sqrtm(input_data.detach().cpu().numpy().astype(np.float64), disp=False)
86
86
  return torch.from_numpy(scipy_res)
87
87
 
88
88
 
monai/metrics/utils.py CHANGED
@@ -12,9 +12,10 @@
12
12
  from __future__ import annotations
13
13
 
14
14
  import warnings
15
+ from collections.abc import Iterable, Sequence
15
16
  from functools import lru_cache, partial
16
17
  from types import ModuleType
17
- from typing import Any, Iterable, Sequence
18
+ from typing import Any
18
19
 
19
20
  import numpy as np
20
21
  import torch
@@ -17,9 +17,6 @@ import torch
17
17
  import torch.nn as nn
18
18
 
19
19
  from monai.networks.blocks import SABlock
20
- from monai.utils import optional_import
21
-
22
- Rearrange, _ = optional_import("einops.layers.torch", name="Rearrange")
23
20
 
24
21
 
25
22
  class SpatialAttentionBlock(nn.Module):
@@ -74,24 +71,10 @@ class SpatialAttentionBlock(nn.Module):
74
71
 
75
72
  def forward(self, x: torch.Tensor):
76
73
  residual = x
77
-
78
- if self.spatial_dims == 1:
79
- h = x.shape[2]
80
- rearrange_input = Rearrange("b c h -> b h c")
81
- rearrange_output = Rearrange("b h c -> b c h", h=h)
82
- if self.spatial_dims == 2:
83
- h, w = x.shape[2], x.shape[3]
84
- rearrange_input = Rearrange("b c h w -> b (h w) c")
85
- rearrange_output = Rearrange("b (h w) c -> b c h w", h=h, w=w)
86
- else:
87
- h, w, d = x.shape[2], x.shape[3], x.shape[4]
88
- rearrange_input = Rearrange("b c h w d -> b (h w d) c")
89
- rearrange_output = Rearrange("b (h w d) c -> b c h w d", h=h, w=w, d=d)
90
-
74
+ shape = x.shape
91
75
  x = self.norm(x)
92
- x = rearrange_input(x) # B x (x_dim * y_dim [ * z_dim]) x C
93
-
76
+ x = x.reshape(*shape[:2], -1).transpose(1, 2) # "b c h w d -> b (h w d) c"
94
77
  x = self.attn(x)
95
- x = rearrange_output(x) # B x x C x x_dim * y_dim * [z_dim]
78
+ x = x.transpose(1, 2).reshape(shape) # "b (h w d) c -> b c h w d"
96
79
  x = x + residual
97
80
  return x
@@ -508,8 +508,10 @@ class SegResNetDS2(SegResNetDS):
508
508
 
509
509
  outputs: list[torch.Tensor] = []
510
510
  outputs_auto: list[torch.Tensor] = []
511
- x_ = x.clone()
511
+ x_ = x
512
512
  if with_point:
513
+ if with_label:
514
+ x_ = x.clone()
513
515
  i = 0
514
516
  for level in self.up_layers:
515
517
  x = level["upsample"](x)
@@ -13,6 +13,7 @@ from __future__ import annotations
13
13
 
14
14
  import itertools
15
15
  from collections.abc import Sequence
16
+ from typing import Final
16
17
 
17
18
  import numpy as np
18
19
  import torch
@@ -20,7 +21,6 @@ import torch.nn as nn
20
21
  import torch.nn.functional as F
21
22
  import torch.utils.checkpoint as checkpoint
22
23
  from torch.nn import LayerNorm
23
- from typing_extensions import Final
24
24
 
25
25
  from monai.networks.blocks import MLPBlock as Mlp
26
26
  from monai.networks.blocks import PatchEmbed, UnetOutBlock, UnetrBasicBlock, UnetrUpBlock
@@ -639,12 +639,10 @@ class ClassMappingClassify(nn.Module):
639
639
  if self.use_mlp:
640
640
  class_embedding = self.mlp(class_embedding)
641
641
  # [b,1,feat] @ [1,feat,dim], batch dimension become class_embedding batch dimension.
642
- masks = []
643
- for i in range(b):
644
- mask = class_embedding @ src[[i]].view(1, c, h * w * d)
645
- masks.append(mask.view(-1, 1, h, w, d))
642
+ masks_embedding = class_embedding.squeeze() @ src.view(b, c, h * w * d)
643
+ masks_embedding = masks_embedding.view(b, -1, h, w, d).transpose(0, 1)
646
644
 
647
- return torch.cat(masks, 1), class_embedding
645
+ return masks_embedding, class_embedding
648
646
 
649
647
 
650
648
  class TwoWayTransformer(nn.Module):
@@ -115,7 +115,7 @@ class TRTEngine:
115
115
  logger: optional logger object
116
116
  """
117
117
  self.plan_path = plan_path
118
- self.logger = logger or get_logger("trt_compile")
118
+ self.logger = logger or get_logger("monai.networks.trt_compiler")
119
119
  self.logger.info(f"Loading TensorRT engine: {self.plan_path}")
120
120
  self.engine = engine_from_bytes(bytes_from_path(self.plan_path))
121
121
  self.tensors = OrderedDict()
@@ -288,7 +288,7 @@ class TrtCompiler:
288
288
  self.fallback = fallback
289
289
  self.disabled = False
290
290
 
291
- self.logger = logger or get_logger("trt_compile")
291
+ self.logger = logger or get_logger("monai.networks.trt_compiler")
292
292
 
293
293
  # Normally we read input_names from forward() but can be overridden
294
294
  if input_names is None:
@@ -563,7 +563,7 @@ def trt_compile(
563
563
  else:
564
564
  wrap(model, base_path)
565
565
  else:
566
- logger = logger or get_logger("trt_compile")
566
+ logger = logger or get_logger("monai.networks.trt_compiler")
567
567
  logger.warning("TensorRT and/or polygraphy packages are not available! trt_compile() has no effect.")
568
568
 
569
569
  return model
monai/networks/utils.py CHANGED
@@ -16,6 +16,7 @@ from __future__ import annotations
16
16
 
17
17
  import io
18
18
  import re
19
+ import tempfile
19
20
  import warnings
20
21
  from collections import OrderedDict
21
22
  from collections.abc import Callable, Mapping, Sequence
@@ -688,9 +689,10 @@ def convert_to_onnx(
688
689
  onnx_inputs = (inputs,)
689
690
  else:
690
691
  onnx_inputs = tuple(inputs)
691
-
692
+ temp_file = None
692
693
  if filename is None:
693
- f = io.BytesIO()
694
+ temp_file = tempfile.NamedTemporaryFile()
695
+ f = temp_file.name
694
696
  else:
695
697
  f = filename
696
698
 
@@ -705,10 +707,7 @@ def convert_to_onnx(
705
707
  do_constant_folding=do_constant_folding,
706
708
  **torch_versioned_kwargs,
707
709
  )
708
- if filename is None:
709
- onnx_model = onnx.load_model_from_string(f.getvalue())
710
- else:
711
- onnx_model = onnx.load(filename)
710
+ onnx_model = onnx.load(f)
712
711
 
713
712
  if do_constant_folding and polygraphy_imported:
714
713
  from polygraphy.backend.onnx.loader import fold_constants
@@ -17,7 +17,8 @@ Class names are ended with 'd' to denote dictionary-based transforms.
17
17
 
18
18
  from __future__ import annotations
19
19
 
20
- from typing import Callable, Hashable, Mapping, Sequence
20
+ from collections.abc import Hashable, Mapping, Sequence
21
+ from typing import Callable
21
22
 
22
23
  import numpy as np
23
24
 
@@ -11,7 +11,8 @@
11
11
 
12
12
  from __future__ import annotations
13
13
 
14
- from typing import Any, Mapping, Sequence
14
+ from collections.abc import Mapping, Sequence
15
+ from typing import Any
15
16
 
16
17
  import torch
17
18
 
@@ -15,10 +15,10 @@ A collection of "vanilla" transforms for spatial operations.
15
15
  from __future__ import annotations
16
16
 
17
17
  import warnings
18
- from collections.abc import Callable
18
+ from collections.abc import Callable, Sequence
19
19
  from copy import deepcopy
20
20
  from itertools import zip_longest
21
- from typing import Any, Optional, Sequence, Tuple, Union, cast
21
+ from typing import Any, Optional, Union, cast
22
22
 
23
23
  import numpy as np
24
24
  import torch
@@ -116,7 +116,7 @@ __all__ = [
116
116
  "RandSimulateLowResolution",
117
117
  ]
118
118
 
119
- RandRange = Optional[Union[Sequence[Union[Tuple[float, float], float]], float]]
119
+ RandRange = Optional[Union[Sequence[Union[tuple[float, float], float]], float]]
120
120
 
121
121
 
122
122
  class SpatialResample(InvertibleTransform, LazyTransform):
@@ -18,9 +18,9 @@ Class names are ended with 'd' to denote dictionary-based transforms.
18
18
  from __future__ import annotations
19
19
 
20
20
  import re
21
- from collections.abc import Callable, Hashable, Mapping
21
+ from collections.abc import Callable, Hashable, Mapping, Sequence
22
22
  from copy import deepcopy
23
- from typing import Any, Sequence, cast
23
+ from typing import Any, cast
24
24
 
25
25
  import numpy as np
26
26
  import torch
@@ -11,7 +11,7 @@
11
11
 
12
12
  from __future__ import annotations
13
13
 
14
- from typing import Sequence
14
+ from collections.abc import Sequence
15
15
 
16
16
  import torch
17
17
  import torch.nn.functional as F
@@ -88,7 +88,7 @@ def moveaxis(x: NdarrayOrTensor, src: int | Sequence[int], dst: int | Sequence[i
88
88
  def in1d(x, y):
89
89
  """`np.in1d` with equivalent implementation for torch."""
90
90
  if isinstance(x, np.ndarray):
91
- return np.in1d(x, y)
91
+ return np.isin(x, y)
92
92
  return (x[..., None] == torch.tensor(y, device=x.device)).any(-1).view(-1)
93
93
 
94
94
 
monai/utils/__init__.py CHANGED
@@ -78,6 +78,7 @@ from .misc import (
78
78
  ensure_tuple_size,
79
79
  fall_back_tuple,
80
80
  first,
81
+ flatten_dict,
81
82
  get_seed,
82
83
  has_option,
83
84
  is_immutable,
@@ -12,9 +12,10 @@
12
12
  from __future__ import annotations
13
13
 
14
14
  from collections import namedtuple
15
+ from collections.abc import Iterable
15
16
  from keyword import iskeyword
16
17
  from textwrap import dedent, indent
17
- from typing import Any, Callable, Iterable, TypeVar
18
+ from typing import Any, Callable, TypeVar
18
19
 
19
20
  T = TypeVar("T")
20
21
 
monai/utils/decorators.py CHANGED
@@ -15,7 +15,8 @@ from functools import wraps
15
15
 
16
16
  __all__ = ["RestartGenerator", "MethodReplacer"]
17
17
 
18
- from typing import Callable, Generator
18
+ from collections.abc import Generator
19
+ from typing import Callable
19
20
 
20
21
 
21
22
  class RestartGenerator:
monai/utils/dist.py CHANGED
@@ -11,15 +11,10 @@
11
11
 
12
12
  from __future__ import annotations
13
13
 
14
- import sys
15
14
  import warnings
16
15
  from collections.abc import Callable
17
16
  from logging import Filter
18
-
19
- if sys.version_info >= (3, 8):
20
- from typing import Literal
21
-
22
- from typing import overload
17
+ from typing import Literal, overload
23
18
 
24
19
  import torch
25
20
  import torch.distributed as dist
monai/utils/misc.py CHANGED
@@ -887,7 +887,7 @@ def run_cmd(cmd_list: list[str], **kwargs: Any) -> subprocess.CompletedProcess:
887
887
  if kwargs.pop("run_cmd_verbose", False):
888
888
  import monai
889
889
 
890
- monai.apps.utils.get_logger("run_cmd").info(f"{cmd_list}") # type: ignore[attr-defined]
890
+ monai.apps.utils.get_logger("monai.utils.run_cmd").info(f"{cmd_list}") # type: ignore[attr-defined]
891
891
  try:
892
892
  return subprocess.run(cmd_list, **kwargs)
893
893
  except subprocess.CalledProcessError as e:
@@ -916,3 +916,16 @@ def unsqueeze_right(arr: NT, ndim: int) -> NT:
916
916
  def unsqueeze_left(arr: NT, ndim: int) -> NT:
917
917
  """Prepend 1-sized dimensions to `arr` to create a result with `ndim` dimensions."""
918
918
  return arr[(None,) * (ndim - arr.ndim)]
919
+
920
+
921
+ def flatten_dict(metrics: dict[str, Any]) -> dict[str, Any]:
922
+ """
923
+ Flatten the nested dictionary to a flat dictionary.
924
+ """
925
+ result = {}
926
+ for key, value in metrics.items():
927
+ if isinstance(value, dict):
928
+ result.update(flatten_dict(value))
929
+ else:
930
+ result[key] = value
931
+ return result
monai/utils/module.py CHANGED
@@ -18,14 +18,14 @@ import pdb
18
18
  import re
19
19
  import sys
20
20
  import warnings
21
- from collections.abc import Callable, Collection, Hashable, Mapping
21
+ from collections.abc import Callable, Collection, Hashable, Iterable, Mapping
22
22
  from functools import partial, wraps
23
23
  from importlib import import_module
24
24
  from pkgutil import walk_packages
25
25
  from pydoc import locate
26
26
  from re import match
27
27
  from types import FunctionType, ModuleType
28
- from typing import Any, Iterable, cast
28
+ from typing import Any, cast
29
29
 
30
30
  import torch
31
31
 
@@ -15,8 +15,9 @@ import copy
15
15
  import os
16
16
  import pickle
17
17
  import tempfile
18
+ from collections.abc import Hashable
18
19
  from types import ModuleType
19
- from typing import Any, Hashable
20
+ from typing import Any
20
21
 
21
22
  import torch
22
23
  from torch.serialization import DEFAULT_PROTOCOL
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: monai-weekly
3
- Version: 1.5.dev2442
3
+ Version: 1.5.dev2444
4
4
  Summary: AI Toolkit for Healthcare Imaging
5
5
  Home-page: https://monai.io/
6
6
  Author: MONAI Consortium
@@ -1,5 +1,5 @@
1
- monai/__init__.py,sha256=Pq8CvtjSIIpM46e3BgLQoDLKxCuHcP-V20mBqi5EA78,4095
2
- monai/_version.py,sha256=2XTx0tN1SVpKgJ5hNz8ZFMQ6-HRSmdB6OUfhWAZQmUY,503
1
+ monai/__init__.py,sha256=ysop022HrpjMOa3OOXOxu9wMEzBaWZ-pmyPSSp1xhGA,4095
2
+ monai/_version.py,sha256=HNl2ruiDvEKUYXx2U5fo82JGZpufk97ds-8BJeV011g,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
@@ -10,7 +10,7 @@ monai/_extensions/gmm/gmm_cuda.cu,sha256=egWZBIpNYfOfxn0TKX82y-S2M6jg9NCzWwRcTLN
10
10
  monai/_extensions/gmm/gmm_cuda_linalg.cuh,sha256=Glqg2oAcUFUXg-DVfpROkiv-DdXvvVdM1nyiFm8qlHY,3520
11
11
  monai/apps/__init__.py,sha256=VDIc3HB_uFbqKL1TS-OeRvryEMDfzm22KJRzwpkXsGo,908
12
12
  monai/apps/datasets.py,sha256=msT58BoHlQFQpD4Tx-CThwAkkaUowoNZOgcH0THg0u0,35085
13
- monai/apps/utils.py,sha256=aMsYUlfAeRsdQL1YM4AA79GqPbMsQ1OQau9YNevoFQ4,14452
13
+ monai/apps/utils.py,sha256=Gellkseuv3XKs-A6XcgbtqktQayv9NVIhX9tTQGM10I,14362
14
14
  monai/apps/auto3dseg/__init__.py,sha256=DhUB2Ol0-iNAk1ZNmD1RkTODUOhdiibv8h9MgcLuF6s,1016
15
15
  monai/apps/auto3dseg/__main__.py,sha256=fCDhD8uhmJQKkKBxLO6hMJhEvZJRIsjTc1Ad3bYmNIY,1411
16
16
  monai/apps/auto3dseg/auto_runner.py,sha256=a4Ry93TkK0aTb68bwle8HoG4SzUbUf0IbDrY33jTReg,40106
@@ -33,9 +33,9 @@ monai/apps/detection/metrics/coco.py,sha256=bpF6hAAMKsBNLfat-Fzh0CR-0swDsAAVcwTa
33
33
  monai/apps/detection/metrics/matching.py,sha256=GF4wgH5Let7GwW1SGwzfzz5BRnCVEhDe7_KR7zpLr44,17161
34
34
  monai/apps/detection/networks/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
35
35
  monai/apps/detection/networks/retinanet_detector.py,sha256=-EcGvDJK13o7qqx6bUHtxEniIdCXriIzwty1o5pmG90,53640
36
- monai/apps/detection/networks/retinanet_network.py,sha256=2SooPGqHyrec7uuLlpDalO7OvXYOPKEdb9r_uazelxg,19044
36
+ monai/apps/detection/networks/retinanet_network.py,sha256=Xbx1WeGWHkQC7VJUAgYD3GjGizehF8_wWntjdFYySD4,19038
37
37
  monai/apps/detection/transforms/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
38
- monai/apps/detection/transforms/array.py,sha256=MeDK8I3Q3KW13chF3XVdWcYoG7ZbiesokLVBLxMPPwI,24519
38
+ monai/apps/detection/transforms/array.py,sha256=CHc-zl7IPlKYPBVR88zVT6_eBFElPihtkfO9oo2Bsak,24546
39
39
  monai/apps/detection/transforms/box_ops.py,sha256=3RFK8zNH8ufpHT_aB5xFR2wXrQauBQEWQyxNojl1mSY,18035
40
40
  monai/apps/detection/transforms/dictionary.py,sha256=OGEYrq2F8gFjYRYv7ZdlWFM6yYRs_24yYn7J2GYlgJc,69282
41
41
  monai/apps/detection/utils/ATSS_matcher.py,sha256=aajY2UJ-Ot9L5KDwORFOCuMsTQEU02BZ9-tNMfIYH98,13532
@@ -49,8 +49,8 @@ monai/apps/detection/utils/predict_utils.py,sha256=6j7U-7pLtbmgE6SXKR_MVImc67-M8
49
49
  monai/apps/generation/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
50
50
  monai/apps/generation/maisi/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
51
51
  monai/apps/generation/maisi/networks/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
52
- monai/apps/generation/maisi/networks/autoencoderkl_maisi.py,sha256=Jbj5w9_p_xOLWYgfta26H22zgcC01BR4dmRmDdi13EU,36695
53
- monai/apps/generation/maisi/networks/controlnet_maisi.py,sha256=jaTbpvttLybOq6KzC64CQl92BhlOi39zD48Zkdb7zBE,7698
52
+ monai/apps/generation/maisi/networks/autoencoderkl_maisi.py,sha256=FxHsB7W1I11Npdyg4gN1k3QIc0tcq3FMLI0TDjI4mgg,36704
53
+ monai/apps/generation/maisi/networks/controlnet_maisi.py,sha256=0K2uyMfvc1-2cFCoNDngeMbzcPpvFR1JZ0fqF9pj8r4,7707
54
54
  monai/apps/generation/maisi/networks/diffusion_model_unet_maisi.py,sha256=XFOiy6GngXC_OKM1dUiel_gp71yUFWgPErYdgrVLQAU,19072
55
55
  monai/apps/mmars/__init__.py,sha256=BolpgEi9jNBgrOQd3Kwp-9QQLeWQwQtlN_MJkK1eu5s,726
56
56
  monai/apps/mmars/mmars.py,sha256=AYsx5FDmJ0dT0hAkWGYhM470aPIG23PYloHihDZfOKE,13115
@@ -64,18 +64,18 @@ monai/apps/nuclick/transforms.py,sha256=kf2xOb1iBx-OWc7wngsRWvdNV8KpX6xeTMFuYZqZ
64
64
  monai/apps/pathology/__init__.py,sha256=SRBbxgPzZdtC22TpY1m0-Z3SSBfMig6xYVSdgOClgXg,1030
65
65
  monai/apps/pathology/utils.py,sha256=ulgDy43tSSmJwwBf-51NC0D0_Kf0BeymxEK7p136VFI,2838
66
66
  monai/apps/pathology/engines/__init__.py,sha256=sqR2PUjmFf46jRRQA8ZZ9umbQzuLGDpBaRWQNVA2r7Q,650
67
- monai/apps/pathology/engines/utils.py,sha256=Zr_DuWZ3qcIiNM7QjFSzgojeRPJV_UP5yGWIxrU5gI0,2397
67
+ monai/apps/pathology/engines/utils.py,sha256=N73RK8tKn52umTFiVtxNdlg4JR18A8WY36QRerfgX94,2424
68
68
  monai/apps/pathology/handlers/__init__.py,sha256=YRvZ5C6I56qvu1DTGROJV5Sq0ZF3t6f34vV3Vdeg9Hk,609
69
69
  monai/apps/pathology/handlers/utils.py,sha256=MkQG91VcpISKbX-i28TYK1DsKIvg0s7awNcC2cemzR4,2315
70
70
  monai/apps/pathology/inferers/__init__.py,sha256=dpBmAMzyXnEUUnbuU-4DRUYXAtTQ-We_VCkMy0RIaS0,660
71
- monai/apps/pathology/inferers/inferer.py,sha256=XnlY-fAUrjSZnGgQEkCVpFjey2mOaXU2a5MqR17I6-A,9167
71
+ monai/apps/pathology/inferers/inferer.py,sha256=-KzXVEtYaVVq6b28l14bCcAIced8L-i44s-Pqmql1C8,9194
72
72
  monai/apps/pathology/losses/__init__.py,sha256=yPGavYe8N6_bKvRN1-1awGmgnHZKpjQww3QML6UMRPQ,650
73
73
  monai/apps/pathology/losses/hovernet_loss.py,sha256=Sw9wBAilBOKB8oKaPU4yKxVOl8y4lv-XzgJ6iFN0AyU,7293
74
74
  monai/apps/pathology/metrics/__init__.py,sha256=c7xRUzhQesEWRIUFF6vM-Qs9v0Lv8QzCNNd-hJOCL-I,646
75
- monai/apps/pathology/metrics/lesion_froc.py,sha256=LNwcuatNEppyWMehnpBOn1474jH0hOJCq3gdq5mNw8k,7331
75
+ monai/apps/pathology/metrics/lesion_froc.py,sha256=0Ys2rWpK79MuUkI4G8193foimiS6BN6ergHDGUByYZs,7358
76
76
  monai/apps/pathology/transforms/__init__.py,sha256=c3YkornqjX-fHRnwkpn_PxmnMje6pif1qxPdFNyQUWU,2243
77
77
  monai/apps/pathology/transforms/post/__init__.py,sha256=WUZbaM2bg13mpbnNhol0D0A328XgUspTWtPvli1Uqpk,1995
78
- monai/apps/pathology/transforms/post/array.py,sha256=gYIuHMPhGcomPE4RKfS9Zv-7IytCUUBCpl-r9w4rGHA,37417
78
+ monai/apps/pathology/transforms/post/array.py,sha256=xew7TOktLPgpwdoezXnqEnpZSso11ge_Eyyl50WOuws,37444
79
79
  monai/apps/pathology/transforms/post/dictionary.py,sha256=ZReeFqcZRkltwhRaKsedeptprB1B89lKWFimAzkk0Vg,25928
80
80
  monai/apps/pathology/transforms/stain/__init__.py,sha256=i9HfrXiQHG5XHfqMtz2g7yBX7p1uN0xcGAPCYyXSmV8,836
81
81
  monai/apps/pathology/transforms/stain/array.py,sha256=Dr1fCmkQzc8n40XbLAHpq1EG5wkMqTjWgYN2FGJfMGk,8366
@@ -97,11 +97,11 @@ monai/apps/reconstruction/transforms/array.py,sha256=8qtDC5Exm9hvSwwbdFWV4ibiPxo
97
97
  monai/apps/reconstruction/transforms/dictionary.py,sha256=3NGkie0WYZdsWWx1_h9OrrxtlkxG3W-u74L2IxIKpBw,15829
98
98
  monai/apps/tcia/__init__.py,sha256=2uu3nP1j3mDs2AeG-9zmXicD33eQs1g0VHCN8KysEbQ,824
99
99
  monai/apps/tcia/label_desc.py,sha256=B8l9mVmRzLysLmEIIYVeenly_68okCt461qeLQSxCJ8,1582
100
- monai/apps/tcia/utils.py,sha256=iyLXr5_51rolbRUZFN_Fwc6TIhAbeSl6XZ2m5RYpzTw,6303
100
+ monai/apps/tcia/utils.py,sha256=4otqXXqknsSSiAJh_pOPeV1Gp2z7xUH0Ng2kCpsVb3s,6312
101
101
  monai/apps/vista3d/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
102
102
  monai/apps/vista3d/inferer.py,sha256=3WgXF2ELPhoHt13jFYOlfEss1031Gr2_Fm5_gUy6hLc,8712
103
103
  monai/apps/vista3d/sampler.py,sha256=1uZQIRCO9HY8Rs2FtZ1v0XtPQGZ9RyEjxUycMgIqx7A,8274
104
- monai/apps/vista3d/transforms.py,sha256=SLsVVRJty5R8X2oeeyPUQCej83__3yKv8qvAUpGxr3s,10641
104
+ monai/apps/vista3d/transforms.py,sha256=RBK9dZIhle8iwZfiQI5qgLsWpr3wuG1gEgD7QzOGdbQ,10650
105
105
  monai/auto3dseg/__init__.py,sha256=DbZC7wqx4zBNcguLQGu8bGmAiKnk9LvjtQDtwdwG19I,1164
106
106
  monai/auto3dseg/algo_gen.py,sha256=_BscoAnUzQKRqz5jHvdsuCe3tTxq7PUQYPMLX0WuxCc,4286
107
107
  monai/auto3dseg/analyzer.py,sha256=7l8QT36lG68b8rK23CC2omz6PO1fxmDwOljxXMn5clQ,41351
@@ -113,18 +113,18 @@ monai/bundle/__main__.py,sha256=RiAn6raPUvPMfXvd03irAhB3nkIAgG1lf8GE34PG4Js,952
113
113
  monai/bundle/config_item.py,sha256=rMjXSGkjJZdi04BwSHwCcIwzIb_TflmC3xDhC3SVJRs,16151
114
114
  monai/bundle/config_parser.py,sha256=cGyEn-cqNk0rEEZ1Qiv6UydmIDvtWZcMVljyfVm5i50,23025
115
115
  monai/bundle/properties.py,sha256=iN3K4FVmN9ny1Hw9p5j7_ULcCdSD8PmrR7qXxbNz49k,11582
116
- monai/bundle/reference_resolver.py,sha256=aBw3ML7B_YsiFUNl_mcRYPry1UbrEIK0R39A0zFw8kI,16463
117
- monai/bundle/scripts.py,sha256=ziTH32hd2A00c1wzXzAe2cttCEQtZoDqDx1bCDI1TR0,89136
116
+ monai/bundle/reference_resolver.py,sha256=5YTzVEoQDJSv-PF79abwYggXCZcFxaOa3veFVElme-M,16463
117
+ monai/bundle/scripts.py,sha256=wP53cZjjaQRYQ3f4BXMrq_UhKASFxl4wtzGe7T93ZiI,89135
118
118
  monai/bundle/utils.py,sha256=t-22uFvLn7Yy-dr1v1U33peNOxgAmU4TJiGAbsBrUKs,10108
119
- monai/bundle/workflows.py,sha256=KADIppCZY6jCDvyCH2PmJm0Q-6xwCnB7x7KjFfRP8LY,24655
119
+ monai/bundle/workflows.py,sha256=a9X_yqVz_NPRj0N2ByXRDGXBWEiijzYEKv2qH14C324,24682
120
120
  monai/config/__init__.py,sha256=CN28CfTdsp301gv8YXfVvkbztCfbAqrLKrJi_C8oP9s,1048
121
121
  monai/config/deviceconfig.py,sha256=f3Xa0OL9kNqdsbZ0PfUEvm6NZivAPh454_VCE8BmsWE,10582
122
- monai/config/type_definitions.py,sha256=0fAuI-_uX2Ac_33bgDVXKmBSl-fJNFcsOqBqYV16fhk,3485
122
+ monai/config/type_definitions.py,sha256=a8_YmLkVOeldchAS6cM3KiG9n9YixkXHoyYo1XoskMI,3512
123
123
  monai/data/__init__.py,sha256=loDwAMF14hb4HS04SwukoIchIfU6iGY-xPrJVGyVwBo,5167
124
124
  monai/data/box_utils.py,sha256=YbG6lOoYwUGmwcNmoKzq2xnNTbYA4LMkHmfsqteopCg,50102
125
125
  monai/data/csv_saver.py,sha256=fcZF4kBNQnDFwQjV9TS4zjq_zqsv_u3QldxRprMC7zI,4952
126
126
  monai/data/dataloader.py,sha256=GC1x8aZJaidXN8zaA-Vl6iEHlTP4ocjIvRhCv74elkQ,4459
127
- monai/data/dataset.py,sha256=U6NoF8JgbhNzJDQ3h57BOcIelx4j3IjRKZJID266Eks,78691
127
+ monai/data/dataset.py,sha256=iVDyCv7t2VG55CVp6hUOhg4eZcEc8bZBHRJX14VW2YI,79067
128
128
  monai/data/dataset_summary.py,sha256=5DkrzlNb3lw58j6lMR7aAGZH1YIw6b1UFQjkbourxt0,10243
129
129
  monai/data/decathlon_datalist.py,sha256=3z7p-PqEdj41MlkRFmc-Q1HNxI0D6Tgi4fmD3p1oq_E,10310
130
130
  monai/data/fft_utils.py,sha256=in9Zu8hC4oSVzuA-Zl236X6EkvgFka0RXdOxgvdGkv0,4448
@@ -135,8 +135,8 @@ monai/data/image_reader.py,sha256=XDkYVWQN_eHoMI1iFFWN8ICI0x9AxKSc8bGSavHskfs,61
135
135
  monai/data/image_writer.py,sha256=rH6vboPFkX4ziN3lnrmK6AzAOQYI9tEiOJb7Al2tj-8,39856
136
136
  monai/data/iterable_dataset.py,sha256=A0L5jaxwnfgProBj96tlT160esI21yutnTf3a4c29Ms,13100
137
137
  monai/data/itk_torch_bridge.py,sha256=3th-B3tJuJE22JFfOUgGeTMOPh1czJEiSccFyn_Ob0w,14461
138
- monai/data/meta_obj.py,sha256=OxfcCSBFuN0fUpyIa9ey9HuqrqimARNnEZPuqRRXjLo,8800
139
- monai/data/meta_tensor.py,sha256=GG8CPjRZhPCShryY3cnyA5G2Crl_Q7Sym2pw5cVxBL0,27530
138
+ monai/data/meta_obj.py,sha256=EDQdYbc4HkHcuDYbokvuIbDW-peqvnPW2JPWT8zgaNU,8827
139
+ monai/data/meta_tensor.py,sha256=LCyAhyjZNh4ynFt2EPZFsKcledIXMDO-XFsx_VBom5I,27557
140
140
  monai/data/samplers.py,sha256=LUCAHy38ddGm67oJJp3W6ITBsDRqyGCrKtYn-pjrWc4,5102
141
141
  monai/data/synthetic.py,sha256=H0MaQq2nnYxXEMlvOW1-XoWJWY_VKsgZ75tWLO1aCXg,7375
142
142
  monai/data/test_time_augmentation.py,sha256=KgIcPDwF_KelBCX118J5gx13sefGaDgQFUDgGWCZujA,9871
@@ -148,9 +148,9 @@ monai/data/video_dataset.py,sha256=mMTZCkgAx_BBoF4HHWcmEuT9zoNoUVPFtPeYYt76t-A,9
148
148
  monai/data/wsi_datasets.py,sha256=Mih4G_rzTQC0Ts8TobnNNXoyCxOAhy0rFqpREDAENWc,18659
149
149
  monai/data/wsi_reader.py,sha256=yVbgl44bS9xF0wsr_ZeLwaljMlTOrtjVTpYKykydEMU,49508
150
150
  monai/engines/__init__.py,sha256=oV0zH5n8qPdCCNZCqLqN4Z7iqADouDtZmtswWQoZWOk,1094
151
- monai/engines/evaluator.py,sha256=gCWZ7QB1DjTeHV9_btHbwR2pew33rxFYOAJ5nPVJfIQ,26934
152
- monai/engines/trainer.py,sha256=45aOJ6rhYGgh1awfaNq-ATbaD7ZH8o_yXykyqBcj7q8,38421
153
- monai/engines/utils.py,sha256=apQxzU4GxaeHgbNN5Qa6POBuOD2XIMCVzy8DlMcqB1o,15632
151
+ monai/engines/evaluator.py,sha256=d0V4Ko1mcVsr9PtOhhtJYy4SVtrXuKdZ9yWM9mCYpAA,26961
152
+ monai/engines/trainer.py,sha256=CmCw0C20A1EUgmpBt_eGHp9ObIJO5shqF7bQGJVskc0,38448
153
+ monai/engines/utils.py,sha256=YGaa1Gk2b3bBtodbToGaSOD-s9X7wMgfgESOozZCLrM,15632
154
154
  monai/engines/workflow.py,sha256=S4DCLBSndcaM6LDb6xS-gTL8xCs8fiVejb-8O-pLKeQ,15226
155
155
  monai/fl/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
156
156
  monai/fl/client/__init__.py,sha256=Wnkcf-Guhi-d29eAH0p51jz1Tn9WSVM4UUGbbb9SAqQ,725
@@ -164,7 +164,7 @@ monai/handlers/__init__.py,sha256=laEkiuP-ew7UzuG89135uJvC73ocVbT0nQ_3xMLEhKc,23
164
164
  monai/handlers/checkpoint_loader.py,sha256=Y0qNBq5b-GJ-XOJNjuslegCpIGPZYOdNs3PxzNYCCm8,7432
165
165
  monai/handlers/checkpoint_saver.py,sha256=z_w5HtNSeRM3QwHQIgQKqVodSYNy8dhL8KTBUzHuF0g,16047
166
166
  monai/handlers/classification_saver.py,sha256=CNzdU9GrKj8KEC42jaBy2rEgpd3mqgz-YZg4dr61Jyg,7605
167
- monai/handlers/clearml_handlers.py,sha256=ce3ftDZ9B2dPrP_2xw0D5kFxDNJODKDuTvDMYm5uyoI,7518
167
+ monai/handlers/clearml_handlers.py,sha256=bMVhGUlUlilTJfkwb4YHEgrGBOUnveObfHgqzDy3SVw,7545
168
168
  monai/handlers/confusion_matrix.py,sha256=KpdTV0ViWDRnvVUb58Lc4UBhGwyU_Pf5wTpSaSyVH3o,4006
169
169
  monai/handlers/decollate_batch.py,sha256=-4hFPT4ZCiApbnUVplm8c6uQ326bKgPtkiYopjQRcTA,4425
170
170
  monai/handlers/earlystop_handler.py,sha256=bwCswTyCzFpU23-ONFeg4X10BI3Vdtkzn5-a72M09H0,5310
@@ -178,7 +178,7 @@ monai/handlers/mean_iou.py,sha256=-4vDqYx-Zd77PcR2-Wg6X-M35n13sMV5VysGiDCvjbQ,28
178
178
  monai/handlers/metric_logger.py,sha256=Zk55yO5PlwM7WhHPelHPfv3WLuJycxLrtQMwjEJ_7FQ,5453
179
179
  monai/handlers/metrics_reloaded_handler.py,sha256=9JtfWeDvjrdKNMKpRJQBu0k6XGxg8hfOm6224sB4A6E,6195
180
180
  monai/handlers/metrics_saver.py,sha256=ltXaaj3C4Vzv3VEWT4O7wlmuYs7JHi7qCkXXfVBgPb8,8559
181
- monai/handlers/mlflow_handler.py,sha256=rq8qu3UPb4tMGTek146n2xmZ6b7LhI2SLRYxft8JNeA,23209
181
+ monai/handlers/mlflow_handler.py,sha256=AhPtZtuV06jt8EaMvM3et6MMJoSqYBBAYV3uipdalG4,23259
182
182
  monai/handlers/nvtx_handlers.py,sha256=cD-nYVaJ7fUEUmr5zLU9-s867SqUwP64R3i4Rui5MGU,6795
183
183
  monai/handlers/panoptic_quality.py,sha256=Dr_cMANJne1Cvc_pnI33QAUMAVKbkO4NBfTFjedGZOE,3651
184
184
  monai/handlers/parameter_scheduler.py,sha256=JMVMEWnF0sUejynB_J_2fL9OKJT_s-ZbaYEucTeb1Hk,7095
@@ -187,7 +187,7 @@ monai/handlers/probability_maps.py,sha256=ggvgebTlx-r5BmcpiYu5MTF00AMtSMghRA8Orw
187
187
  monai/handlers/regression_metrics.py,sha256=PaL8AXLhl7Aw5C1_VSPIAt2C8H781ek_sPD_xFZgWPA,8457
188
188
  monai/handlers/roc_auc.py,sha256=0A_Y1bvRpkBY0l5HyTRKopUUupq0cMGubnqgflHXA2g,2744
189
189
  monai/handlers/smartcache_handler.py,sha256=PwWmLYKBWFTkOdcQXlML18AESWtQnPJl9Ici9djvdTE,3027
190
- monai/handlers/stats_handler.py,sha256=B2XOPadbLqUEknxF82MiZVWa1B2dseLXw6XRuHZMerg,14102
190
+ monai/handlers/stats_handler.py,sha256=8sOWdi-8-OllSYPRd6yYLqn5hv00wvYeajHRPij3MSs,14144
191
191
  monai/handlers/surface_distance.py,sha256=HKQrRGy08uWNr9X-mJ1IhMwV_ndZOijEJS7TYL9KQsg,3327
192
192
  monai/handlers/tensorboard_handlers.py,sha256=3nju_xEJeOpCtObrIfuWc1u8dSRwjs-26tyh06FP8wg,22591
193
193
  monai/handlers/trt_handler.py,sha256=uWFdgC8QKRkcNwWfKIbQMdK6-MX_1ON0mKabeIn1ltI,2329
@@ -197,7 +197,7 @@ monai/inferers/__init__.py,sha256=K74t_RCeUPdEZvHzIPzVAwZ9DtmouLqhb3qDEmFBWs4,11
197
197
  monai/inferers/inferer.py,sha256=aZwCmM6WGj49SHi_jIkQeGDstMz45frvM1Lomoeqzm4,92669
198
198
  monai/inferers/merger.py,sha256=Ch-qoGUVTTDWN9z_LXBRxElvyuZxOmuqAcecpg1xxAg,15566
199
199
  monai/inferers/splitter.py,sha256=_hTnFdvDNRckkA7ZGQehVsNZw83oXoGFWyk5VXNqgJg,21149
200
- monai/inferers/utils.py,sha256=hKiudomhQL9mbcq1rVWRpRy55Fz1bCD5egv4J3QgLNQ,20432
200
+ monai/inferers/utils.py,sha256=BWVg6j6FGX5tFgrf6QvxJgFkr4bJWTpFgVBQRjfAq5A,20432
201
201
  monai/losses/__init__.py,sha256=igy7BjoQzM3McmJPD2tmeiW2ljSXfB2HBdc4YiDzYEg,1778
202
202
  monai/losses/adversarial_loss.py,sha256=9w47lPYU3clj2w9UZ_ZcXCKnmlMfA74YkjFOCVfhF0E,7722
203
203
  monai/losses/barlow_twins.py,sha256=prDdaY0vXAXMuVDmc9Tv6svRZzNwKA0LdsmRaUmusiI,3613
@@ -208,7 +208,7 @@ monai/losses/dice.py,sha256=S4JKPybHN82JY26qIwqJTJovT3YHWbVQOwKB30bLViY,51475
208
208
  monai/losses/ds_loss.py,sha256=ts92Rc_YAkfb5WUUWxRTecpY32lVwC20pu7u-dJCgyY,3854
209
209
  monai/losses/focal_loss.py,sha256=OhAtxzAwZ1CoNGH1S2dQbG7iDyowYUqv64KXi0GgMhk,11772
210
210
  monai/losses/giou_loss.py,sha256=Mogq6fR0tO__Xj0Ul388QMEx03XrSS-Ue96i9ahY-uo,2795
211
- monai/losses/hausdorff_loss.py,sha256=1TOUjDS9_1txlHw5DX71oshiXOzowLefg8Y-n-PsD5o,10697
211
+ monai/losses/hausdorff_loss.py,sha256=XhOGtYxs-BYRN0NDXX3J3_79so5jEzh9wB8EBm5NoLw,10676
212
212
  monai/losses/image_dissimilarity.py,sha256=fIIY1zyxfxl-hKi797xpyDDknUGkdLWGJDBwK3IvJ18,15460
213
213
  monai/losses/multi_scale.py,sha256=7hL4clBLa3f0tz9-74brq5XOFChrpyd_h9cHQKPnseQ,3636
214
214
  monai/losses/nacl_loss.py,sha256=IP4Y2qKcPNn60rgA3zUSvjqnvCiIsbvmwm25ao9appg,5052
@@ -224,7 +224,7 @@ monai/metrics/active_learning_metrics.py,sha256=uKID2O4mnY-9P2ZzyT4sqJd2NfgzjSpN
224
224
  monai/metrics/confusion_matrix.py,sha256=Spb20jYPnbgGZfPKDQI36ePznPf1xujxhboNnW8HxdQ,15064
225
225
  monai/metrics/cumulative_average.py,sha256=8GGjHmiBboBikprg1380SsNn7RgzFIrHGWBYDBv6ebE,5636
226
226
  monai/metrics/f_beta_score.py,sha256=urI0J_tvl0qQ5-l2fgWV_jChbgpzLmgpRq125B3yxpw,3984
227
- monai/metrics/fid.py,sha256=P9wBKnumEdCgKlVUuEt9XzY5umPK1fXnnyXmljDl5N4,4794
227
+ monai/metrics/fid.py,sha256=p5G03tQn_2rhukYdkPS-5Y9IRzVcGlgBcxU1BCKGLzc,4795
228
228
  monai/metrics/froc.py,sha256=q7MAFsHHIp5EHBHwa5UbF5PRApjUonw-hUXax9k1WxQ,7981
229
229
  monai/metrics/generalized_dice.py,sha256=9ZiEmGfMZLxFAF6AmdrbKOc8A_QOUMUmIZ6ILm-h01A,8939
230
230
  monai/metrics/hausdorff_distance.py,sha256=4_ZJZ2gV1bPhOR5Mxz0PyN6Y_X1mTZ6U6T4gSRwjfDE,11844
@@ -238,11 +238,11 @@ monai/metrics/regression.py,sha256=JV7x8ibD04hZeWz83Ac26jjyufsCanvAmohD-eWKtbY,2
238
238
  monai/metrics/rocauc.py,sha256=xOopgYaahaH1-PmD4yG3B3f25kA95yK56BbXIykra60,8094
239
239
  monai/metrics/surface_dice.py,sha256=aNERsTuJkPMfxatPaAzoW1KtvZvUAv4qe_7Kl_dOROI,15149
240
240
  monai/metrics/surface_distance.py,sha256=bKDTm7ulhjfiphHLrDJoA3OKI3npwQy2Z5wY-JkXtXg,9727
241
- monai/metrics/utils.py,sha256=jJiIFGGa-iwvz1otHAKqPKTNmfZqd2dI7_Hsfblgxqk,46914
241
+ monai/metrics/utils.py,sha256=eQ9QGGvuNmYFrgtVFNiA44pBhaHLCkmpyeK2FcK_2Pc,46941
242
242
  monai/metrics/wrapper.py,sha256=c1zg-xcypQyZ840TEuhhLgr4sClYMWTxlv1OieJTtvE,11781
243
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
244
+ monai/networks/trt_compiler.py,sha256=Du9lmYQAQgY31fydNZ7yUz712ZCODqMDhTjt0kxP0Bc,22728
245
+ monai/networks/utils.py,sha256=PKnqerrzBknEqzWFlYRzf6JVv0uz30say03GMqY4unY,56835
246
246
  monai/networks/blocks/__init__.py,sha256=-LMGPMN-eHzwsjkb88H66kImpr4v2hYATZ2y-mRm_K0,2264
247
247
  monai/networks/blocks/acti_norm.py,sha256=bVGXbTZ_ssRvmED5R7LOQ7jj4V6WbVFl8JMO-4iZ2Dk,4275
248
248
  monai/networks/blocks/activation.py,sha256=S5k3zcP2PsHBkeIxgWgNg8ppW80tTResVP2j9ZsvTFw,5839
@@ -269,7 +269,7 @@ monai/networks/blocks/rel_pos_embedding.py,sha256=wuTJsk_NHSDX-3V0X9ctF99WIh2-SH
269
269
  monai/networks/blocks/segresnet_block.py,sha256=dREFa0CWuSWlSOm53fT7vZz6UC2J_7JAEaeHB9rYjAk,3339
270
270
  monai/networks/blocks/selfattention.py,sha256=sVVVYLm4ByOBbEbrKYW2kA3JRgB2kveZqDMOfEzHuOs,9141
271
271
  monai/networks/blocks/spade_norm.py,sha256=Kq2ImmCQBaFURMnOTj08aphgGkF3ghDm19kXpPRq91c,3654
272
- monai/networks/blocks/spatialattention.py,sha256=gRih-cp4a_WAlb823xHfNvkGKrGr-w5U7TGUR_e1p2g,4137
272
+ monai/networks/blocks/spatialattention.py,sha256=HhoOnp0YfygOZne8jZjxQezRXIwQg1kfs-Cdo0ruxhw,3442
273
273
  monai/networks/blocks/squeeze_and_excitation.py,sha256=y2kXgoSFxywu-KCGYbI_d-NCCAEbuKAIY5gSqO_T7TI,12752
274
274
  monai/networks/blocks/text_embedding.py,sha256=HIlCTQCSyOEXnqo1l9TOC05duCoeWd9Kb4Oc0gvLZKw,3814
275
275
  monai/networks/blocks/transformerblock.py,sha256=UgJH4S94a5GaU2j-9HnmYkCT247vgxV76yO9d_6Tu1k,3880
@@ -317,19 +317,19 @@ monai/networks/nets/regressor.py,sha256=6Nz5yJuQDJJOr5R0rhot_mHu7_MDCA4ybV48wS1H
317
317
  monai/networks/nets/regunet.py,sha256=-A6ygR7lVyAflFyqWkVVOsY94uMXWol1f2xr_HmsU1c,18664
318
318
  monai/networks/nets/resnet.py,sha256=oo1MCA9hccBVwDcMrZNpVmbDSRn3dOEkrn3DbKW2WZk,28141
319
319
  monai/networks/nets/segresnet.py,sha256=xNkSIvdk7kAyc3eVn-U_gGj8MoGVc5nklFKc_fkgOUs,13994
320
- monai/networks/nets/segresnet_ds.py,sha256=FFw581BpWWXQfPRMj3fj8RuYzctbJpQzNA8pWoOO7Dk,20594
320
+ monai/networks/nets/segresnet_ds.py,sha256=XFF7HKMt9Wbfc9fZSgfjVdfYQcP0d19ygp3VT7OHzJg,20644
321
321
  monai/networks/nets/senet.py,sha256=gulqPMYmSABbMbN39NElGzSU1TKGviJas7EPTBaZ60A,19289
322
322
  monai/networks/nets/spade_autoencoderkl.py,sha256=-b2Sbl4jPpwo3ukTgsTcON26cSTB35K9sy1S9DKlZz0,19566
323
323
  monai/networks/nets/spade_diffusion_model_unet.py,sha256=zYsXhkHNpHWWyal5ljAMxOICJ1loYQQMAOuzWzdLBCM,39007
324
324
  monai/networks/nets/spade_network.py,sha256=GguYucjIRyT_rZa9DrvUmv00FtqXHZtY1VfJM9Rygns,16479
325
- monai/networks/nets/swin_unetr.py,sha256=nU_VgVsgPnXx5V_Wtceq1ZJR1XuB4vPCcFnbY5pJOZ0,44902
325
+ monai/networks/nets/swin_unetr.py,sha256=69GHMvtBTpJvWGvYsYYenSdWogw4y77My2Bm016mimA,44891
326
326
  monai/networks/nets/torchvision_fc.py,sha256=3g5PD7C1MSkQ8xndhnVd0b3aN8zfshT8uiFS0OHyQaY,6309
327
327
  monai/networks/nets/transchex.py,sha256=uA_RfTDfPhwA1ecAPZ9EDnMyJKn2tUMLEWdyB_rU2v0,15726
328
328
  monai/networks/nets/transformer.py,sha256=-nzl20Z5xdtn7xChOd_cRbbPVoPIFGVfTQw3fIEGMuE,6395
329
329
  monai/networks/nets/unet.py,sha256=t2an-NZ8QRpWal6uh1WpxG1tbekKRDgQtpT7YeXWFvY,13543
330
330
  monai/networks/nets/unetr.py,sha256=G67kjiBMz13MzP4eV8XK-GydSogMwgXaBMFDShF5sB8,8252
331
331
  monai/networks/nets/varautoencoder.py,sha256=Pd9BdXW1iVjmAVCZIc2ElGtSDAWRBaLwEKxLDicyxZI,6282
332
- monai/networks/nets/vista3d.py,sha256=vFpCG53JDCvgK-fz7VPZvo6-mv8Mp5AgBZu2QVu0ggM,43326
332
+ monai/networks/nets/vista3d.py,sha256=C1g5iXj6tYO9IC-Ph0hJ3JEFrGFv0KpONHKCZeSK5Ko,43315
333
333
  monai/networks/nets/vit.py,sha256=yEzFFQln5ieknnF8A1_ecB_c0SuOBBnrXPesm_kzVts,5934
334
334
  monai/networks/nets/vitautoenc.py,sha256=vfQBWjTb0k7EY4uC76rmuOCIUUgeBvf_EIXBofCzVHQ,5740
335
335
  monai/networks/nets/vnet.py,sha256=zaJi5kSiTLAuFHThSZfhJvHP6zKh3oBWsTWG-328O_g,10820
@@ -355,8 +355,8 @@ monai/transforms/traits.py,sha256=F8kmhnekTyaAdo8wIFjO3-uqpVtmFym3mNxbYbyvkFI,35
355
355
  monai/transforms/transform.py,sha256=DqWyfuI-FDBxjqern33R6Ia1iAfHb3Kh56u-__tp1Kw,21614
356
356
  monai/transforms/utils.py,sha256=SnTiyd-3Q5cNGDzATKTXIJpIeWmCg3LqBxWnyKUxk-8,106502
357
357
  monai/transforms/utils_create_transform_ims.py,sha256=QEJVHsCZX7ZxsBArk6NjgCzSZuuokf8l1uFqiUZBBys,31155
358
- monai/transforms/utils_morphological_ops.py,sha256=abaFYSvCfH4k7jk3R_YLtUxgwRYgsz6zj6sOEGM1K5w,6758
359
- monai/transforms/utils_pytorch_numpy_unification.py,sha256=PvNO1QeBLTcpLhvuO25ctGr2nIM4B0sTRvnA5TpxJ4Q,18855
358
+ monai/transforms/utils_morphological_ops.py,sha256=tt0lRLLxmlnn9roUuPEBtqah6t7BH8ittxyDFuskkUI,6767
359
+ monai/transforms/utils_pytorch_numpy_unification.py,sha256=3WZCCSRpvFo5ugdFYw9JzSL0SVA982CmvlZ7-FdE4ok,18855
360
360
  monai/transforms/croppad/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
361
361
  monai/transforms/croppad/array.py,sha256=mSzd1XdNK4vZB98fll-gREQM1EWuPOfNdUNTpmiy-QA,74793
362
362
  monai/transforms/croppad/batch.py,sha256=5ukcYk3VCDpk62AL5Q_jTqpXmSNTlw0UCUhDeAB4aV0,6138
@@ -364,14 +364,14 @@ monai/transforms/croppad/dictionary.py,sha256=WOzj_PjmoB3zLEmtQlafb9-PWgXd-s5K7Z
364
364
  monai/transforms/croppad/functional.py,sha256=iroD0XBaMG1Mox6-EotIh2nAUxJPrpIyUrHopc83Sug,12640
365
365
  monai/transforms/intensity/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
366
366
  monai/transforms/intensity/array.py,sha256=SpG3u9LPuQxDk77lEvPC4-tH1tiOtacDDfcyQydIhkI,121592
367
- monai/transforms/intensity/dictionary.py,sha256=RXZeQG9dPvdvjoiWWlNkYec4NDWBxYXjfct4fywv1Ic,85059
367
+ monai/transforms/intensity/dictionary.py,sha256=MEeMKQckn6X-cEk51Z2YTGjt89RohBzFfO_jU3D06wk,85086
368
368
  monai/transforms/io/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
369
369
  monai/transforms/io/array.py,sha256=z4aOxK44IhztN-LzG2uROYDwg_u1C6gcpx9ZH-ZhoVA,27482
370
370
  monai/transforms/io/dictionary.py,sha256=64M9KUsKyzwXopDcarXT7JKIv9rHP8Ae-fYRvI0yBuM,18716
371
371
  monai/transforms/lazy/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
372
372
  monai/transforms/lazy/array.py,sha256=2jNLmQ3_sMX7DdbfcT3Extpwe5FgOBbbz2RqlDlyNcw,1211
373
373
  monai/transforms/lazy/dictionary.py,sha256=bgpZ5CPh5rjdf1T5eQVqxlLh0B57xTWHWaBUUxiQAu4,1571
374
- monai/transforms/lazy/functional.py,sha256=SvKDMF5wanVymeOUFEu3OwgzskO6kKecU2gkoBJqIj4,15183
374
+ monai/transforms/lazy/functional.py,sha256=p-nSl1xpNk6HtO_Rl4qn5MHqYpg90k8ev-aoMhXKXy4,15210
375
375
  monai/transforms/lazy/utils.py,sha256=dtLRJlIpp5Seh8hyb5fcN88-SH7Vsg5uLK1p3ftQdP4,9840
376
376
  monai/transforms/meta_utility/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
377
377
  monai/transforms/meta_utility/dictionary.py,sha256=YqbYeZOi4cFEmEPmrw2VIpOIwre6wxYB2UGZSrf-MoM,4896
@@ -388,25 +388,25 @@ monai/transforms/smooth_field/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6F
388
388
  monai/transforms/smooth_field/array.py,sha256=Pz4ErmcfVTRZpBe4_IAXTWHlGSmRfExegNKYyrSVwsE,17856
389
389
  monai/transforms/smooth_field/dictionary.py,sha256=iU4V2VjSy2H1K03KgumMUr3cyZVWEJS0W-tgc6SZtP4,11194
390
390
  monai/transforms/spatial/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
391
- monai/transforms/spatial/array.py,sha256=oVNAdkr_XQqwQgf-67n7zpBQCvrMW2SZBKTrqtj08hw,184943
391
+ monai/transforms/spatial/array.py,sha256=5EKivdPYCP4i4qYUlkK1RpYQFzaU_baYyzgubid3jtM,184936
392
392
  monai/transforms/spatial/dictionary.py,sha256=t0SvEDSVNFUEw2fK66OVF20sqSzCNxil17HmvsMFBt8,133752
393
393
  monai/transforms/spatial/functional.py,sha256=IwS0witCqbGkyuxzu_R4Ztp90S0pg9hY1irG7feXqig,33886
394
394
  monai/transforms/utility/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
395
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=9E59iRxectI0rD5_Loj-fnt24BnaDvPlPplu5jRFcFM,3743
398
- monai/utils/component_store.py,sha256=VMF7CtPu5Wi_eX_qFtm9iWo5kvoWFuCUIxdRzk90zZo,4498
399
- monai/utils/decorators.py,sha256=YRK5iEMdbc2INrWnBNDSMTaHge_0ezRf2b9yJGL-opg,3129
396
+ monai/transforms/utility/dictionary.py,sha256=N6E230-g2zupG63oCsAXWgkdfZmF---TZbvk7p5FQU8,78079
397
+ monai/utils/__init__.py,sha256=yccUiicRQmjXTTEplVMZt_hoA3GFfTF_MYoUakZA73k,3761
398
+ monai/utils/component_store.py,sha256=Fe9jbHgwwBBAeJAw0nI02Ae13v17wlwF6N9uUue8tJg,4525
399
+ monai/utils/decorators.py,sha256=qhhdmJMjMfZIUM6x_VGUGF7kaq2cBUAam8WymAU_mhw,3156
400
400
  monai/utils/deprecate_utils.py,sha256=gKeEV4MsI51qeQ5gci2me_C-0e-tDwa3VZzd3XPQqLk,14759
401
- monai/utils/dist.py,sha256=QUVRusnAdiySK_dnTrDWqxNMl4XU4pwzvlMaGsvVE3Y,8644
401
+ monai/utils/dist.py,sha256=7brB42CvdS8Jvr8Y7hfqov1uk6NNnYea9dYfgMYy0BY,8578
402
402
  monai/utils/enums.py,sha256=orCV7SGDajYtl3DhTTjbLDbayr6WxkMSw_bZ6yeGGTY,19513
403
403
  monai/utils/jupyter_utils.py,sha256=kQqfLTLAre3TLzXTt091X_XeWy5K0QKAcTuYlJ8BOag,15650
404
- monai/utils/misc.py,sha256=4KCY-Kmlzjup3KE2bgJsjIItKdDMxXwA0_rH1ghHONE,31410
405
- monai/utils/module.py,sha256=ICsVqQMV-069FuVwjCHm3d3hyvIOx9El17IXZ-2sfQk,24319
404
+ monai/utils/misc.py,sha256=R-sCS5u7SA8hX6e7x6WSc8FgLcNpqKFRRDMWxUd2wCo,31759
405
+ monai/utils/module.py,sha256=qmnsEGMg3kvNmVeFqeH8CZ3BAZxnATrwxrSBgdJyBG4,24319
406
406
  monai/utils/nvtx.py,sha256=i9JBxR1uhW1ZCgLPLlTx8b907QlXkFzJyTBLMlFjhtU,6876
407
407
  monai/utils/ordering.py,sha256=0nlA5b5QpVCHbtiCbTC-YsqjTmjm0bub0IeJhGFBOes,8270
408
408
  monai/utils/profiling.py,sha256=V2_cSHgrcmVF48_G3nUi2-O6fnXsS89nSlb8jj58YLo,15937
409
- monai/utils/state_cacher.py,sha256=ERBE-mnnf47MwKSq-pNbfu1D2C4ZqKH-mORyLaBa3EE,5955
409
+ monai/utils/state_cacher.py,sha256=SCs0TWud_lR8fvDhZ0POaXLGLo1J3NALWkg0ODOwT7k,5982
410
410
  monai/utils/tf32.py,sha256=4bqpPxoTAMmQDNRbbrd4qHG27e1RrxeAmfDf3vP8tQc,3141
411
411
  monai/utils/type_conversion.py,sha256=fj1mUWf-5WBv9m-fpe8gjcGljGBGSA8-RppBpKD_wv0,21754
412
412
  monai/visualize/__init__.py,sha256=p7dv9-hRa9vAhlpHyk86yap9HgeDeJRO3pXmFhDx8Mc,1038
@@ -416,8 +416,8 @@ monai/visualize/img2tensorboard.py,sha256=NnMcyfIFqX-jD7TBO3Rn02zt5uug79d_7pIIaV
416
416
  monai/visualize/occlusion_sensitivity.py,sha256=OQHEJLyIhB8zWqQsfKaX-1kvCjWFVYtLfS4dFC0nKFI,18160
417
417
  monai/visualize/utils.py,sha256=B-MhTVs7sQbIqYS3yPnpBwPw2K82rE2PBtGIfpwZtWM,9894
418
418
  monai/visualize/visualizer.py,sha256=qckyaMZCbezYUwE20k5yc-Pb7UozVavMDbrmyQwfYHY,1377
419
- monai_weekly-1.5.dev2442.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
420
- monai_weekly-1.5.dev2442.dist-info/METADATA,sha256=ViLiKZdT67FCg3CtHo78A50SXdzyR7bPnOEcM_YSKeU,11187
421
- monai_weekly-1.5.dev2442.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
422
- monai_weekly-1.5.dev2442.dist-info/top_level.txt,sha256=UaNwRzLGORdus41Ip446s3bBfViLkdkDsXDo34J2P44,6
423
- monai_weekly-1.5.dev2442.dist-info/RECORD,,
419
+ monai_weekly-1.5.dev2444.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
420
+ monai_weekly-1.5.dev2444.dist-info/METADATA,sha256=UKkqg6jOWMKDCIMTI1GY6Di4GUlQwONJBARo04lFseY,11187
421
+ monai_weekly-1.5.dev2444.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
422
+ monai_weekly-1.5.dev2444.dist-info/top_level.txt,sha256=UaNwRzLGORdus41Ip446s3bBfViLkdkDsXDo34J2P44,6
423
+ monai_weekly-1.5.dev2444.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.2.0)
2
+ Generator: setuptools (75.3.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5