camfi.transform module

Defines transformations used for data augmentation during automatic annotation model training. Depends on camfi.datamodel.autoannotation.

class camfi.transform.Compose(*, transforms: Sequence[camfi.datamodel.autoannotation.ImageTransform])

Bases: camfi.datamodel.autoannotation.ImageTransform

Composition of transformations.

Parameters

transforms (Sequence[ImageTransform]) – Sequence of transorms to compose.

apply_to_tensor_dict(image: torch.Tensor, target: dict) tuple

Applies each transormation in self.transforms to an image and target dict.

Parameters
  • image (torch.Tensor) – Input image to first transformation.

  • target (dict[str, torch.Tensor]) – Target tensor dict of annotations on image.

Returns

  • transformed_image (torch.Tensor) – Output image of last transformation.

  • transformed_target (dict[str, torch.Tensor]) – Output target dict of last transformation.

class camfi.transform.RandomHorizontalFlip(*, prob: camfi.transform.ConstrainedFloatValue)

Bases: camfi.datamodel.autoannotation.ImageTransform

Image transform which applies a horizontal flip to an image with a fixed probability.

Parameters

prob (float) – Probability of flipping image.

apply_to_tensor_dict(image: torch.Tensor, target: dict) tuple

Applies each random horizontal flip transormation to an image and target dict.

Parameters
  • image (torch.Tensor) – Input image tensor.

  • target (dict[str, torch.Tensor]) – Input target tensor dict.

Returns

  • transformed_image (torch.Tensor) – Output image of transformation.

  • transformed_target (dict[str, torch.Tensor]) – Output target dict of transformation.