MCPcopy Create free account
hub / github.com/Project-MONAI/MONAI / _ensure_valid_num_transforms

Method _ensure_valid_num_transforms

monai/transforms/compose.py:716–745  ·  view source on GitHub ↗
(self, num_transforms: int | tuple[int, int] | None)

Source from the content-addressed store, hash-verified

714 self.log_stats = log_stats
715
716 def _ensure_valid_num_transforms(self, num_transforms: int | tuple[int, int] | None) -> tuple:
717 if (
718 not isinstance(num_transforms, tuple)
719 and not isinstance(num_transforms, list)
720 and not isinstance(num_transforms, int)
721 and num_transforms is not None
722 ):
723 raise ValueError(
724 f"Expected num_transforms to be of type int, list, tuple or None, but it's {type(num_transforms)}"
725 )
726
727 if num_transforms is None:
728 result = [len(self.transforms), len(self.transforms)]
729 elif isinstance(num_transforms, int):
730 n = min(len(self.transforms), num_transforms)
731 result = [n, n]
732 else:
733 if len(num_transforms) != 2:
734 raise ValueError(f"Expected len(num_transforms)=2, but it was {len(num_transforms)}")
735 if not isinstance(num_transforms[0], int) or not isinstance(num_transforms[1], int):
736 raise ValueError(
737 f"Expected (int,int), but received ({type(num_transforms[0])}, {type(num_transforms[1])})"
738 )
739
740 result = [num_transforms[0], num_transforms[1]]
741
742 if result[0] < 0 or result[1] > len(self.transforms):
743 raise ValueError(f"num_transforms={num_transforms} are out of the bounds [0, {len(self.transforms)}].")
744
745 return ensure_tuple(result)
746
747 # Modified from OneOf
748 def _normalize_probabilities(self, weights):

Callers 1

__init__Method · 0.95

Calls 2

ensure_tupleFunction · 0.90
minFunction · 0.85

Tested by

no test coverage detected