Skip to content

Pixel Manipulation Torch

Source

N2V manipulation functions for PyTorch.

median_manipulate_torch(batch, mask_pixel_percentage, subpatch_size=11, struct_params=None, rng=None)

Manipulate pixels by replacing them with the median of their surrounding subpatch.

N2V2 version, manipulated pixels are selected randomly away from a grid with an approximate uniform probability to be selected across the whole patch.

If struct_params is not None, an additional structN2V mask is applied to the data, replacing the pixels in the mask with random values (excluding the pixel already manipulated).

Parameters:

Name Type Description Default
batch Tensor

Image patch, 2D or 3D, shape (y, x) or (z, y, x).

required
mask_pixel_percentage float

Approximate percentage of pixels to be masked.

required
subpatch_size int

Size of the subpatch the new pixel value is sampled from, by default 11.

11
struct_params StructMaskParameters or None

Parameters for the structN2V mask (axis and span).

None
rng default_generator or None

Random number generator, by default None.

None

Returns:

Type Description
tuple[Tensor, Tensor, Tensor]

tuple containing the manipulated patch, the original patch and the mask.

uniform_manipulate_torch(patch, mask_pixel_percentage, subpatch_size=11, remove_center=True, struct_params=None, rng=None)

Manipulate pixels by replacing them with a neighbor values.

TODO add more details, especially about batch

Manipulated pixels are selected uniformly selected in a subpatch, away from a grid with an approximate uniform probability to be selected across the whole patch. If struct_params is not None, an additional structN2V mask is applied to the data, replacing the pixels in the mask with random values (excluding the pixel already manipulated).

Parameters:

Name Type Description Default
patch Tensor

Image patch, 2D or 3D, shape (y, x) or (z, y, x). # TODO batch and channel.

required
mask_pixel_percentage float

Approximate percentage of pixels to be masked.

required
subpatch_size int

Size of the subpatch the new pixel value is sampled from, by default 11.

11
remove_center bool

Whether to remove the center pixel from the subpatch, by default True.

True
struct_params StructMaskParameters or None

Parameters for the structN2V mask (axis and span).

None
rng default_generator or None

Random number generator.

None

Returns:

Type Description
tuple[Tensor, Tensor]

tuple containing the manipulated patch and the corresponding mask.