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

Method __call__

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

Source from the content-addressed store, hash-verified

446 self.keep_size = keep_size
447
448 def __call__(self, data: Mapping[Hashable, torch.Tensor]) -> dict[Hashable, torch.Tensor]:
449 d: dict[Hashable, torch.Tensor] = dict(data)
450
451 # zoom box
452 for box_key, box_ref_image_key in zip(self.box_keys, self.box_ref_image_keys):
453 src_spatial_size = d[box_ref_image_key].shape[1:]
454 dst_spatial_size = [int(round(z * ss)) for z, ss in zip(self.zoomer.zoom, src_spatial_size)] # type: ignore
455 self.zoomer.zoom = [ds / float(ss) for ss, ds in zip(src_spatial_size, dst_spatial_size)]
456 d[box_key] = ZoomBox(zoom=self.zoomer.zoom, keep_size=self.keep_size)(
457 d[box_key], src_spatial_size=src_spatial_size
458 )
459 self.push_transform(
460 d,
461 box_key,
462 extra_info={"zoom": self.zoomer.zoom, "src_spatial_size": src_spatial_size, "type": "box_key"},
463 )
464
465 # zoom image
466 for key, mode, padding_mode, align_corners in zip(
467 self.image_keys, self.mode, self.padding_mode, self.align_corners
468 ):
469 d[key] = self.zoomer(d[key], mode=mode, padding_mode=padding_mode, align_corners=align_corners)
470
471 return d
472
473 def inverse(self, data: Mapping[Hashable, torch.Tensor]) -> dict[Hashable, torch.Tensor]:
474 d: dict[Hashable, torch.Tensor] = dict(data)

Callers

nothing calls this directly

Calls 2

ZoomBoxClass · 0.90
push_transformMethod · 0.80

Tested by

no test coverage detected