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

Method inverse

monai/transforms/compose.py:543–564  ·  view source on GitHub ↗
(self, data)

Source from the content-addressed store, hash-verified

541 return data
542
543 def inverse(self, data):
544 if len(self.transforms) == 0:
545 return data
546
547 index = None
548 if isinstance(data, monai.data.MetaTensor):
549 index = self.pop_transform(data)[TraceKeys.EXTRA_INFO]["index"]
550 elif isinstance(data, Mapping):
551 for key in data:
552 if isinstance(data[key], monai.data.MetaTensor):
553 index = self.pop_transform(data, key)[TraceKeys.EXTRA_INFO]["index"]
554 else:
555 raise RuntimeError(
556 f"Inverse only implemented for Mapping (dictionary) or MetaTensor data, got type {type(data)}."
557 )
558 if index is None:
559 # no invertible transforms have been applied
560 return data
561
562 _transform = self.transforms[index]
563 # apply the inverse
564 return _transform.inverse(data) if isinstance(_transform, InvertibleTransform) else data
565
566
567class RandomOrder(Compose):

Callers 5

__call__Method · 0.45
_inverse_oneFunction · 0.45
linalg_invFunction · 0.45
__getitem__Method · 0.45
__call__Method · 0.45

Calls 1

pop_transformMethod · 0.80

Tested by 1

__call__Method · 0.36