Skip to content

Base

dataphy.visionpack.tforms.base

Classes

BaseTransform(p: float = 1.0, apply_to: List[str] = None, sync_views: Optional[bool] = None, update_intrinsics: bool = False, mask_protect: List[str] = None, min_visible_mask_pct: float = 0.0, resample: Literal['nearest', 'bilinear', 'bicubic'] = 'bilinear', border_mode: Literal['reflect', 'replicate', 'constant'] = 'reflect', pad_mode: Literal['reflect', 'replicate', 'constant'] = 'reflect', pad_value: float = 0.0, seed_policy: Literal['per_frame', 'per_episode', 'global'] = 'per_frame', **kwargs: Any)

Bases: Module

Base class for all vision transforms with cross-cutting parameters.

Source code in src/dataphy/visionpack/tforms/base.py
def __init__(
    self,
    # Cross-cutting parameters
    p: float = 1.0,
    apply_to: List[str] = None,
    sync_views: Optional[bool] = None,
    update_intrinsics: bool = False,
    mask_protect: List[str] = None,
    min_visible_mask_pct: float = 0.0,
    resample: Literal["nearest", "bilinear", "bicubic"] = "bilinear",
    border_mode: Literal["reflect", "replicate", "constant"] = "reflect",
    pad_mode: Literal["reflect", "replicate", "constant"] = "reflect",
    pad_value: float = 0.0,
    seed_policy: Literal["per_frame", "per_episode", "global"] = "per_frame",
    **kwargs: Any
):
    super().__init__()
    self.p = p
    self.apply_to = apply_to if apply_to is not None else ["rgb"]
    self.sync_views = sync_views
    self.update_intrinsics = update_intrinsics
    self.mask_protect = mask_protect if mask_protect is not None else []
    self.min_visible_mask_pct = min_visible_mask_pct
    self.resample = resample
    self.border_mode = border_mode
    self.pad_mode = pad_mode
    self.pad_value = pad_value
    self.seed_policy = seed_policy

    # Store seed state for per-episode consistency
    self._episode_seed = None
    self._global_seed = random.getstate()
Attributes
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)