Skip to content

Crop

dataphy.visionpack.tforms.crop

Classes

RandomCropPad(keep_ratio_min: float = 0.84, scale_range: Optional[List[float]] = None, aspect_ratio_range: Optional[List[float]] = None, center_bias: float = 0.0, min_object_iou: float = 0.0, antialias: bool = True, resize_to: Optional[List[int]] = None, **kwargs: Any)

Bases: BaseTransform

Source code in src/dataphy/visionpack/tforms/crop.py
def __init__(
    self,
    keep_ratio_min: float = 0.84,
    scale_range: Optional[List[float]] = None,
    aspect_ratio_range: Optional[List[float]] = None,
    center_bias: float = 0.0,
    min_object_iou: float = 0.0,
    antialias: bool = True,
    resize_to: Optional[List[int]] = None,
    **kwargs: Any
):
    super().__init__(**kwargs)

    # Use scale_range if provided, otherwise fall back to keep_ratio_min
    if scale_range is not None:
        self.scale_range = scale_range
    else:
        self.scale_range = [keep_ratio_min, 1.0]

    self.aspect_ratio_range = aspect_ratio_range or [0.98, 1.02]
    self.center_bias = center_bias
    self.min_object_iou = min_object_iou
    self.antialias = antialias
    self.resize_to = resize_to
Attributes
scale_range = scale_range instance-attribute
aspect_ratio_range = aspect_ratio_range or [0.98, 1.02] instance-attribute
center_bias = center_bias instance-attribute
min_object_iou = min_object_iou instance-attribute
antialias = antialias instance-attribute
resize_to = resize_to instance-attribute
p = p instance-attribute
apply_to = apply_to if apply_to is not None else ['rgb'] instance-attribute
sync_views = sync_views instance-attribute
update_intrinsics = update_intrinsics instance-attribute
mask_protect = mask_protect if mask_protect is not None else [] instance-attribute
min_visible_mask_pct = min_visible_mask_pct instance-attribute
resample = resample instance-attribute
border_mode = border_mode instance-attribute
pad_mode = pad_mode instance-attribute
pad_value = pad_value instance-attribute
seed_policy = seed_policy instance-attribute
Functions
forward(batch: Dict[str, Any]) -> Dict[str, Any]

Base forward method that handles cross-cutting logic.

Source code in src/dataphy/visionpack/tforms/base.py
def forward(self, batch: Dict[str, Any]) -> Dict[str, Any]:
    """Base forward method that handles cross-cutting logic."""
    if not self._should_apply():
        return batch

    # Setup seed policy
    episode_id = batch.get("episode_id")
    self._setup_seed(episode_id)

    # Apply transform
    return self._apply_transform(batch)