Skip to content

Translate

dataphy.visionpack.tforms.translate

Classes

RandomTranslate(px: int = 8, units: Literal['px', 'percent'] = 'px', distribution: Literal['uniform', 'normal'] = 'uniform', std_px: Optional[float] = None, lock_axis: Literal['both', 'x', 'y'] = 'both', wrap: bool = False, same_delta_per_seq: bool = False, max_pad_pct: float = 1.0, **kwargs: Any)

Bases: BaseTransform

Source code in src/dataphy/visionpack/tforms/translate.py
def __init__(
    self,
    px: int = 8,
    units: Literal["px", "percent"] = "px",
    distribution: Literal["uniform", "normal"] = "uniform",
    std_px: Optional[float] = None,
    lock_axis: Literal["both", "x", "y"] = "both",
    wrap: bool = False,
    same_delta_per_seq: bool = False,
    max_pad_pct: float = 1.0,
    **kwargs: Any
):
    super().__init__(**kwargs)
    self.px = px
    self.units = units
    self.distribution = distribution
    self.std_px = std_px or (px / 3.0)  # Default std is px/3
    self.lock_axis = lock_axis
    self.wrap = wrap
    self.same_delta_per_seq = same_delta_per_seq
    self.max_pad_pct = max_pad_pct

    # Store per-sequence translation for consistency
    self._seq_translation = None
    self._last_episode_id = None
Attributes
px = px instance-attribute
units = units instance-attribute
distribution = distribution instance-attribute
std_px = std_px or px / 3.0 instance-attribute
lock_axis = lock_axis instance-attribute
wrap = wrap instance-attribute
same_delta_per_seq = same_delta_per_seq instance-attribute
max_pad_pct = max_pad_pct 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)