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

Method __call__

monai/transforms/compose.py:768–800  ·  view source on GitHub ↗
(self, data, start=0, end=None, threading=False, lazy: bool | None = None)

Source from the content-addressed store, hash-verified

766 return ensure_tuple(list(weights))
767
768 def __call__(self, data, start=0, end=None, threading=False, lazy: bool | None = None):
769 if start != 0:
770 raise ValueError(f"SomeOf requires 'start' parameter to be 0 (start set to {start})")
771 if end is not None:
772 raise ValueError(f"SomeOf requires 'end' parameter to be None (end set to {end}")
773
774 if len(self.transforms) == 0:
775 return data
776
777 sample_size = self.R.randint(self.min_num_transforms, self.max_num_transforms + 1)
778 applied_order = self.R.choice(len(self.transforms), sample_size, replace=self.replace, p=self.weights).tolist()
779 _lazy = self._lazy if lazy is None else lazy
780
781 data = execute_compose(
782 data,
783 [self.transforms[a] for a in applied_order],
784 start=start,
785 end=end,
786 map_items=self.map_items,
787 unpack_items=self.unpack_items,
788 lazy=_lazy,
789 overrides=self.overrides,
790 threading=threading,
791 log_stats=self.log_stats,
792 )
793 if isinstance(data, monai.data.MetaTensor):
794 self.push_transform(data, extra_info={"applied_order": applied_order})
795 elif isinstance(data, Mapping):
796 for key in data: # dictionary not change size during iteration
797 if isinstance(data[key], monai.data.MetaTensor) or self.trace_key(key) in data:
798 self.push_transform(data, key, extra_info={"applied_order": applied_order})
799
800 return data
801
802 # From RandomOrder
803 def inverse(self, data):

Callers

nothing calls this directly

Calls 3

execute_composeFunction · 0.85
push_transformMethod · 0.80
trace_keyMethod · 0.80

Tested by

no test coverage detected