medipt.transforms.spatial package

Subpackages

Submodules

medipt.transforms.spatial.composite_transform module

class medipt.transforms.spatial.composite_transform.CompositeTransform(*args, **kwargs)[source]

Bases: object

add_transforms(transform)[source]
Parameters:

transform (List[SpatialTransform | Transform] | Tuple[SpatialTransform | Transform, ...] | SpatialTransform | Transform) –

create_composite(dim=3)[source]
Return type:

Transform

Parameters:

dim (int) –

create_inverse_composite(dim=3, use_displacement_field=False)[source]
Return type:

CompositeTransform

Parameters:
  • dim (int) –

  • use_displacement_field (bool) –

medipt.transforms.spatial.composite_transform.composite_transform(transforms, dim=3)[source]
Parameters:
  • transforms (List[AffineTransform | BSplineTransform | DisplacementFieldTransform]) –

  • dim (int) –

medipt.transforms.spatial.elastic_deformation_transform module

class medipt.transforms.spatial.elastic_deformation_transform.ElasticDeformation(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, *args, **kwargs)[source]

Bases: SpatialTransform

Rotation transformation base class.

Parameters:
get_displacement_field(*args, **kwargs)[source]
get_inverse_transform(*args, **kwargs)[source]

This determines the inverse transform for the elastic deformation.

Note: this is not suitable for proper resampling the transformed image back to the original state, but is intended to be used with coordinate transforms. For image resampling, use the inverted deformation field. :type args: :param args: :type kwargs: :param kwargs: :return:

get_inverted_displacement_field(*args, **kwargs)[source]
get_inverted_transform_from_displacement()[source]
get_transform(*args, **kwargs)[source]
class medipt.transforms.spatial.elastic_deformation_transform.ElasticDeformationInputImage(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, *args, **kwargs)[source]

Bases: ElasticDeformation

Parameters:
get_transform_on_input(spline_params, num_grid_points=6, spline_order=3, *args, **kwargs)[source]
Parameters:
class medipt.transforms.spatial.elastic_deformation_transform.ElasticDeformationOutputImage(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, *args, **kwargs)[source]

Bases: ElasticDeformation

Parameters:
get_transform_on_output(spline_params, num_grid_points=6, spline_order=3, *args, **kwargs)[source]
Parameters:
class medipt.transforms.spatial.elastic_deformation_transform.RandomElasticDeformation(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, *args, **kwargs)[source]

Bases: ElasticDeformation

Parameters:
get_random_spline_params(num_grid_points=(6, 6, 6), max_deformation_displacement=(25, 25, 25), *args, **kwargs)[source]
Return type:

ndarray

Parameters:
get_random_transform(image_size, image_spacing, image_origin=None, image_direction=None, num_grid_points=6, max_deformation_displacement=25, spline_order=3, *args, **kwargs)[source]
Parameters:
class medipt.transforms.spatial.elastic_deformation_transform.RandomElasticDeformationTransformInputImage(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, *args, **kwargs)[source]

Bases: RandomElasticDeformation

Parameters:
get_random_transform_on_input(num_grid_points=6, max_deformation_displacement=25, spline_order=3, *args, **kwargs)[source]
Parameters:
class medipt.transforms.spatial.elastic_deformation_transform.RandomElasticDeformationTransformOutputImage(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, *args, **kwargs)[source]

Bases: RandomElasticDeformation

Parameters:
get_random_transform_on_output(num_grid_points=6, max_deformation_displacement=25, spline_order=3, *args, **kwargs)[source]
Parameters:

medipt.transforms.spatial.flipping_transform module

class medipt.transforms.spatial.flipping_transform.FlippingTransform(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, rand_init=None, *args, **kwargs)[source]

Bases: SpatialTransform

Parameters:
get_transform(flip_axes, *args, **kwargs)[source]
Parameters:

flip_axes (List[float] | Tuple[float, ...] | float) –

class medipt.transforms.spatial.flipping_transform.RandomFlipping(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, rand_init=None, *args, **kwargs)[source]

Bases: FlippingTransform

Parameters:
get_random_transform(flip_axes, *args, **kwargs)[source]
Parameters:

flip_axes (List[int | float | bool] | Tuple[int | float | bool, ...] | int | float | bool | integer | floating | ndarray) –

medipt.transforms.spatial.random_affine_transform module

class medipt.transforms.spatial.random_affine_transform.RandomAffineTransform(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, rand_init=None, *args, **kwargs)[source]

Bases: SpatialTransform

Parameters:

medipt.transforms.spatial.rotation_transform module

class medipt.transforms.spatial.rotation_transform.RandomRotation(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, rand_init=None, *args, **kwargs)[source]

Bases: RotationTransform, RandomAffineTransform

A rotation transformation with random angles (in radian).

Parameters:
get_random_transform(min_angles=None, max_angles=None, transformation_dict=None, *args, **kwargs)[source]
Parameters:
class medipt.transforms.spatial.rotation_transform.RotationTransform(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, rand_init=None, *args, **kwargs)[source]

Bases: SpatialTransform

Rotation transformation base class.

Parameters:
get_transform(angles, *args, **kwargs)[source]
Parameters:

angles (List[float] | Tuple[float, ...] | float) –

medipt.transforms.spatial.scaling_transform module

class medipt.transforms.spatial.scaling_transform.RandomScaling(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, rand_init=None, *args, **kwargs)[source]

Bases: ScalingTransform, RandomAffineTransform

Parameters:
get_random_transform(min_scaling, max_scaling, transformation_dict=None, *args, **kwargs)[source]
Parameters:
class medipt.transforms.spatial.scaling_transform.RandomUniformScaling(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, rand_init=None, *args, **kwargs)[source]

Bases: ScalingTransform, RandomAffineTransform

Parameters:
get_random_transform(min_scaling=None, max_scaling=None, transformation_dict=None, *args, **kwargs)[source]
Parameters:
class medipt.transforms.spatial.scaling_transform.ScalingTransform(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, rand_init=None, *args, **kwargs)[source]

Bases: SpatialTransform

Scale transformation base class.

Parameters:
get_scale_transform(dim, scale, direction)[source]

Returns the sitk transform based on the given parameters. :type dim: :param dim: The dimension. :type scale: :param scale: List of scale factors for each dimension. :rtype: AffineTransform :return: The sitk.AffineTransform().

Return type:

AffineTransform

get_transform(scale, *args, **kwargs)[source]
Parameters:

scale (List[float] | Tuple[float, ...] | float | int) –

medipt.transforms.spatial.spatial_transform module

class medipt.transforms.spatial.spatial_transform.SpatialTransform(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, rand_init=None, *args, **kwargs)[source]

Bases: ABC

A generic spatial transform that can be applied to 2D and 3D images.

Parameters:
get_displacement_field(*args, **kwargs)[source]
get_image_params(image=None, image_size=None, image_spacing=None, image_origin=None, image_direction=None, *args, **kwargs)[source]
Return type:

Tuple[Union[List[Union[int, float]], Tuple[Union[int, float]], ndarray], Union[List[Union[int, float]], Tuple[Union[int, float]], ndarray], Union[List[Union[int, float]], Tuple[Union[int, float]], ndarray], Union[List[Union[int, float]], Tuple[Union[int, float]], ndarray]]

Parameters:
get_input_center(*args, **kwargs)[source]
Return type:

List[float]

get_input_origin(*args, **kwargs)[source]
Return type:

List[float]

get_input_output_space(dict=None, *args, **kwargs)[source]
Parameters:

dict (dict | None) –

get_inverse_transform(*args, **kwargs)[source]
get_inverted_displacement_field(*args, **kwargs)[source]
get_inverted_transform_from_displacement(*args, **kwargs)[source]
get_output_center(*args, **kwargs)[source]
Return type:

List[float]

get_output_origin(*args, **kwargs)[source]
Return type:

List[float]

get_random_point(*args, **kwargs)[source]
Return type:

List[float]

medipt.transforms.spatial.spatial_transform_init module

class medipt.transforms.spatial.spatial_transform_init.SpatialTransformInit(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, rand_init=None, *args, **kwargs)[source]

Bases: object

Parameters:
elastic_deformation_input_image(*args, **kwargs)[source]
elastic_deformation_transform(*args, **kwargs)[source]
flipping_transform(*args, **kwargs)[source]
random_bbox_translation(*args, **kwargs)[source]
random_coord_translation(*args, **kwargs)[source]
random_elastic_deformation_input_image(*args, **kwargs)[source]
random_elastic_deformation_output_image(*args, **kwargs)[source]
random_elastic_deformation_transform(*args, **kwargs)[source]
random_flipping_transform(*args, **kwargs)[source]
random_rotation_transform(*args, **kwargs)[source]
random_scaling_transform(*args, **kwargs)[source]
random_translation_transform(*args, **kwargs)[source]
random_uniform_scaling_transform(*args, **kwargs)[source]
rotation_transform(*args, **kwargs)[source]
scaling_transform(*args, **kwargs)[source]
translate_input_center_to_input_origin(*args, **kwargs)[source]
translate_input_center_to_output_center(*args, **kwargs)[source]
translate_input_origin_to_output_center(*args, **kwargs)[source]
translate_random_input_center_to_input_origin(*args, **kwargs)[source]
translation_transform(*args, **kwargs)[source]

medipt.transforms.spatial.translation_transform module

class medipt.transforms.spatial.translation_transform.RandomBBoxTranslation(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, rand_init=None, *args, **kwargs)[source]

Bases: RandomAffineTransform, TranslationTransform

Parameters:
get_random_transform(transformation_dict=None, *args, **kwargs)[source]
Parameters:

transformation_dict (dict | None) –

class medipt.transforms.spatial.translation_transform.RandomCoordTranslation(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, *args, **kwargs)[source]

Bases: RandomAffineTransform, TranslationTransform

Parameters:
get_random_transform(coord, translation_extent, transformation_dict=None, *args, **kwargs)[source]
Parameters:
class medipt.transforms.spatial.translation_transform.RandomFactorInput(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, rand_init=None, *args, **kwargs)[source]

Bases: TranslationTransform

A translation transform that translates the input image by a random factor, such that it will be cropped. The input center should usually be at the origin before this transformation. The actual translation value per dimension will be calculated as follows: (input_size[i] * input_spacing[i] - self.remove_border[i]) * float_uniform(-self.random_factor[i], self.random_factor[i]) for each dimension.

Parameters:
get_transform(random_factor, remove_border=None, *args, **kwargs)[source]

Returns the sitk transform based on the given parameters. :type kwargs: :param kwargs: Must contain either ‘image’, or ‘input_size’ and ‘input_spacing’, which define the input image physical space. :return: The sitk.AffineTransform().

class medipt.transforms.spatial.translation_transform.RandomTranslation(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, rand_init=None, *args, **kwargs)[source]

Bases: RandomAffineTransform, TranslationTransform

A translation transformation with a random offset.

Parameters:
get_random_transform(min_trans, max_trans, transformation_dict=None, *args, **kwargs)[source]
Parameters:
class medipt.transforms.spatial.translation_transform.TranslateInputCenterToInputOrigin(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, rand_init=None, *args, **kwargs)[source]

Bases: TranslationTransform

Parameters:
get_transform(*args, **kwargs)[source]
class medipt.transforms.spatial.translation_transform.TranslateInputCenterToOutputCenter(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, rand_init=None, *args, **kwargs)[source]

Bases: TranslationTransform

Parameters:
get_transform(*args, **kwargs)[source]
class medipt.transforms.spatial.translation_transform.TranslateInputOriginToOutputCenter(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, rand_init=None, *args, **kwargs)[source]

Bases: TranslationTransform

Parameters:
get_transform(*args, **kwargs)[source]
class medipt.transforms.spatial.translation_transform.TranslateRandomInputCenterToInputOrigin(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, rand_init=None, *args, **kwargs)[source]

Bases: TranslationTransform

Parameters:
get_transform(*args, **kwargs)[source]
class medipt.transforms.spatial.translation_transform.TranslationTransform(dim=3, used_dimensions=None, seed=None, legacy_random_state=True, rand_init=None, *args, **kwargs)[source]

Bases: SpatialTransform

Translation transformation base class.

Parameters:
get_transform(translation, *args, **kwargs)[source]
Parameters:

translation (List[float] | Tuple[float, ...] | float) –

Module contents