RandomMotion

RandomMotion
Bases: RandomTransform, IntensityTransform, FourierTransform
Add random MRI motion artifact.
Magnetic resonance images suffer from motion artifacts when the subject moves during image acquisition. This transform follows Shaw et al., 2019 to simulate motion artifacts for data augmentation.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
degrees
|
float | tuple[float, float]
|
Tuple \((a, b)\) defining the rotation range in degrees of the simulated movements. The rotation angles around each axis are \((\theta_1, \theta_2, \theta_3)\), where \(\theta_i \sim \mathcal{U}(a, b)\). If only one value \(d\) is provided, \(\theta_i \sim \mathcal{U}(-d, d)\). Larger values generate more distorted images. |
10
|
translation
|
float | tuple[float, float]
|
Tuple \((a, b)\) defining the translation in mm of the simulated movements. The translations along each axis are \((t_1, t_2, t_3)\), where \(t_i \sim \mathcal{U}(a, b)\). If only one value \(t\) is provided, \(t_i \sim \mathcal{U}(-t, t)\). Larger values generate more distorted images. |
10
|
num_transforms
|
int
|
Number of simulated movements. Larger values generate more distorted images. |
2
|
image_interpolation
|
str
|
See Interpolation. |
'linear'
|
**kwargs
|
See |
{}
|
Warning
Large numbers of movements lead to longer execution times for 3D images.
__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.
arguments_are_dict()
Check if main arguments are dict.
Return True if the type of all attributes specified in the
args_names have dict type.