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
|
InputType
|
Instance of |
required |
get_base_args()
Provides easy access to the arguments used to instantiate the base class
(Transform) of any transform.
This method is particularly useful when a new transform can be represented as a variant
of an existing transform (e.g. all random transforms), allowing for seamless instantiation
of the existing transform with the same arguments as the new transform during apply_transform.
Note
The p argument (probability of applying the transform) is excluded to avoid
multiplying the probability of both existing and new transform.
add_base_args(arguments, overwrite_on_existing=False)
Add the init args to existing arguments
validate_keys_sequence(keys, name)
staticmethod
Ensure that the input is not a string but a sequence of strings.
to_hydra_config()
Return a dictionary representation of the transform for Hydra instantiation.