(self, data)
| 636 | return input_ |
| 637 | |
| 638 | def inverse(self, data): |
| 639 | if len(self.transforms) == 0: |
| 640 | return data |
| 641 | |
| 642 | applied_order = None |
| 643 | if isinstance(data, monai.data.MetaTensor): |
| 644 | applied_order = self.pop_transform(data)[TraceKeys.EXTRA_INFO]["applied_order"] |
| 645 | elif isinstance(data, Mapping): |
| 646 | for key in data: |
| 647 | if isinstance(data[key], monai.data.MetaTensor): |
| 648 | applied_order = self.pop_transform(data, key)[TraceKeys.EXTRA_INFO]["applied_order"] |
| 649 | else: |
| 650 | raise RuntimeError( |
| 651 | f"Inverse only implemented for Mapping (dictionary) or MetaTensor data, got type {type(data)}." |
| 652 | ) |
| 653 | if applied_order is None: |
| 654 | # no invertible transforms have been applied |
| 655 | return data |
| 656 | |
| 657 | # loop backwards over transforms |
| 658 | for o in reversed(applied_order): |
| 659 | if isinstance(self.transforms[o], InvertibleTransform): |
| 660 | data = _inverse_one(self.transforms[o], data, self.map_items, self.unpack_items, self.log_stats) |
| 661 | return data |
| 662 | |
| 663 | |
| 664 | class SomeOf(Compose): |
nothing calls this directly
no test coverage detected