Skip to content

Noise

dataphy.visionpack.tforms.noise

Classes

GaussianNoise(sigma: list = [0.005, 0.03], per_channel: bool = True, **kwargs: Any)

Bases: BaseTransform

Gaussian noise transform for image augmentation.

This transform adds random Gaussian noise to images, simulating sensor noise or other random perturbations. It can apply noise per-channel or globally.

Parameters:

Name Type Description Default
sigma list

Range of noise standard deviation [min, max]

[0.005, 0.03]
per_channel bool

Whether to apply different noise to each channel

True
**kwargs Any

Additional base transform parameters

{}
Source code in src/dataphy/visionpack/tforms/noise.py
def __init__(
    self,
    sigma: list = [0.005, 0.03],
    per_channel: bool = True,
    **kwargs: Any
):
    """Initialize the GaussianNoise transform.

    Args:
        sigma: Range of noise standard deviation [min, max]
        per_channel: Whether to apply different noise to each channel
        **kwargs: Additional base transform parameters
    """
    super().__init__(**kwargs)
    self.sigma_range = sigma
    self.per_channel = per_channel
Attributes
sigma_range = sigma instance-attribute
per_channel = per_channel 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)

PoissonNoise(scale: list = [0.5, 1.5], **kwargs: Any)

Bases: BaseTransform

Poisson noise transform for image augmentation.

This transform adds Poisson (shot) noise to images, simulating photon noise in camera sensors. It includes error handling for edge cases and fallback to Gaussian approximation when needed.

Parameters:

Name Type Description Default
scale list

Range of scaling factors for noise intensity [min, max]

[0.5, 1.5]
**kwargs Any

Additional base transform parameters

{}
Source code in src/dataphy/visionpack/tforms/noise.py
def __init__(
    self,
    scale: list = [0.5, 1.5],
    **kwargs: Any
):
    """Initialize the PoissonNoise transform.

    Args:
        scale: Range of scaling factors for noise intensity [min, max]
        **kwargs: Additional base transform parameters
    """
    super().__init__(**kwargs)
    self.scale_range = scale
Attributes
scale_range = scale 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)

SpeckleNoise(sigma: list = [0.01, 0.05], **kwargs: Any)

Bases: BaseTransform

Source code in src/dataphy/visionpack/tforms/noise.py
def __init__(
    self,
    sigma: list = [0.01, 0.05],
    **kwargs: Any
):
    super().__init__(**kwargs)
    self.sigma_range = sigma
Attributes
sigma_range = sigma 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)

SaltPepperNoise(amount: list = [0.001, 0.01], salt_vs_pepper: float = 0.5, **kwargs: Any)

Bases: BaseTransform

Source code in src/dataphy/visionpack/tforms/noise.py
def __init__(
    self,
    amount: list = [0.001, 0.01],
    salt_vs_pepper: float = 0.5,
    **kwargs: Any
):
    super().__init__(**kwargs)
    self.amount_range = amount
    self.salt_vs_pepper = salt_vs_pepper
Attributes
amount_range = amount instance-attribute
salt_vs_pepper = salt_vs_pepper 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)