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

Method inverse

monai/apps/detection/transforms/dictionary.py:612–635  ·  view source on GitHub ↗
(self, data: Mapping[Hashable, torch.Tensor])

Source from the content-addressed store, hash-verified

610 return d
611
612 def inverse(self, data: Mapping[Hashable, torch.Tensor]) -> dict[Hashable, torch.Tensor]:
613 d = dict(data)
614
615 for key in self.key_iterator(d):
616 transform = self.get_most_recent_transform(d, key, check=False)
617 key_type = transform[TraceKeys.EXTRA_INFO].get("type", "image_key")
618 # Check if random transform was actually performed (based on `prob`)
619 if transform[TraceKeys.DO_TRANSFORM]:
620 # zoom image, copied from monai.transforms.spatial.dictionary.Zoomd
621 if key_type == "image_key":
622 xform = self.pop_transform(d[key])
623 d[key].applied_operations.append(xform[TraceKeys.EXTRA_INFO]) # type: ignore
624 d[key] = self.rand_zoom.inverse(d[key])
625
626 # zoom boxes
627 if key_type == "box_key":
628 # Create inverse transform
629 zoom = np.array(transform[TraceKeys.EXTRA_INFO]["zoom"])
630 src_spatial_size = transform[TraceKeys.EXTRA_INFO]["src_spatial_size"]
631 box_inverse_transform = ZoomBox(zoom=(1.0 / zoom).tolist(), keep_size=self.rand_zoom.keep_size)
632 d[key] = box_inverse_transform(d[key], src_spatial_size=src_spatial_size)
633 # Remove the applied transform
634 self.pop_transform(d, key)
635 return d
636
637
638class FlipBoxd(MapTransform, InvertibleTransform):

Callers

nothing calls this directly

Calls 8

ZoomBoxClass · 0.90
key_iteratorMethod · 0.80
getMethod · 0.80
pop_transformMethod · 0.80
arrayMethod · 0.80
appendMethod · 0.45
inverseMethod · 0.45

Tested by

no test coverage detected