RandomAnisotropy

RandomAnisotropy
Bases: RandomTransform
Downsample an image along an axis and upsample to initial space.
This transform simulates an image that has been acquired using anisotropic spacing and resampled back to its original spacing.
Similar to the work by Billot et al.: Partial Volume Segmentation of Brain MRI Scans of any Resolution and Contrast .
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
axes
|
int | tuple[int, ...]
|
Axis or tuple of axes along which the image will be downsampled. |
(0, 1, 2)
|
downsampling
|
TypeRangeFloat
|
Downsampling factor \(m \gt 1\). If a tuple \((a, b)\) is provided then \(m \sim \mathcal{U}(a, b)\). |
(1.5, 5)
|
image_interpolation
|
str
|
Image interpolation used to upsample the image back to its initial spacing. Downsampling is performed using nearest neighbor interpolation. See Interpolation for supported interpolation types. |
'linear'
|
scalars_only
|
bool
|
Apply only to instances of |
True
|
**kwargs
|
See |
{}
|
Examples:
>>> import torchio as tio
>>> transform = tio.RandomAnisotropy(axes=1, downsampling=2)
>>> transform = tio.RandomAnisotropy(
... axes=(0, 1, 2),
... downsampling=(2, 5),
... ) # Multiply spacing of one of the 3 axes by a factor randomly chosen in [2, 5]
>>> colin = tio.datasets.Colin27()
>>> transformed = transform(colin)
__call__(data)
Transform data and return a result of the same type.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
TypeTransformInput
|
Instance of |
required |
to_hydra_config()
Return a dictionary representation of the transform for Hydra instantiation.