ants.core.ants_transform_io
Functions
|
Create and initialize an ANTsTransform |
|
Convert an FSL linear transform to an antsrTransform |
|
Create a new ANTsTransform |
|
Read a transform from file |
Convert deformation field (multiChannel image) to ANTsTransform |
|
|
Convert displacement field ANTsTransform to displacement field |
|
Write ANTsTransform to file |
- create_ants_transform(transform_type='AffineTransform', precision='float', dimension=3, matrix=None, offset=None, center=None, translation=None, parameters=None, fixed_parameters=None, displacement_field=None, supported_types=False)[source]
Create and initialize an ANTsTransform
ANTsR function: createAntsrTransform
- Parameters:
transform_type (
str) – type of transform(s)precision (
str) – numerical precisiondimension (
int) – spatial dimension of transformmatrix (
numpy.ndarray) – matrix for linear transformsoffset (
tuple/list) – offset for linear transformscenter (
tuple/list) – center for linear transformstranslation (
tuple/list) – translation for linear transformsparameters (
ndarray/list) – array of parametersfixed_parameters (
ndarray/list) – array of fixed parametersdisplacement_field (
ants.core.ANTsImage) – multichannel ANTsImage for non-linear transformsupported_types (
bool) – flag that returns array of possible transforms types
- Return type:
ANTsTransformorlistofANTsTransform types
Example
>>> import ants >>> translation = (3,4,5) >>> tx = ants.create_ants_transform( type='Euler3DTransform', translation=translation )
- fsl2antstransform(matrix, reference, moving)[source]
Convert an FSL linear transform to an antsrTransform
ANTsR function: fsl2antsrtransform
- Parameters:
matrix (
ndarray/list) – 4x4 matrix of transform parametersreference (
ants.core.ANTsImage) – target imagemoving (
ants.core.ANTsImage) – moving image
- Return type:
ANTsTransform
Examples
>>> import ants >>> import numpy as np >>> fslmat = np.zeros((4,4)) >>> np.fill_diagonal(fslmat, 1) >>> img = ants.image_read(ants.get_ants_data('ch2')) >>> tx = ants.fsl2antstransform(fslmat, img, img)
- new_ants_transform(precision='float', dimension=3, transform_type='AffineTransform', parameters=None, fixed_parameters=None)[source]
Create a new ANTsTransform
ANTsR function: None
This is a simplified method for creating an ANTsTransform, mostly used internally. See create_ants_transform for more options.
Example
>>> import ants >>> tx = ants.new_ants_transform()
- read_transform(filename, precision='float')[source]
Read a transform from file
ANTsR function: readAntsrTransform
- Parameters:
- Return type:
ANTsTransform
Example
>>> import ants >>> tx = ants.new_ants_transform(dimension=2) >>> tx.set_parameters((0.9,0,0,1.1,10,11)) >>> ants.write_transform(tx, '~/desktop/tx.mat') >>> tx2 = ants.read_transform('~/desktop/tx.mat')
- transform_from_displacement_field(field)[source]
Convert deformation field (multiChannel image) to ANTsTransform
ANTsR function: antsrTransformFromDisplacementField
- Parameters:
field (
ants.core.ANTsImage) – deformation field as multi-channel ANTsImage- Return type:
ants.core.ANTsImage
Example
>>> import ants >>> fi = ants.image_read(ants.get_ants_data('r16') ) >>> mi = ants.image_read(ants.get_ants_data('r64') ) >>> fi = ants.resample_image(fi,(60,60),1,0) >>> mi = ants.resample_image(mi,(60,60),1,0) # speed up >>> mytx = ants.registration(fixed=fi, moving=mi, type_of_transform = ('SyN') ) >>> vec = ants.image_read( mytx['fwdtransforms'][0] ) >>> atx = ants.transform_from_displacement_field( vec )
- transform_to_displacement_field(xfrm, ref)[source]
Convert displacement field ANTsTransform to displacement field
ANTsR function: antsrTransformToDisplacementField
- Parameters:
xfrm (
displacement field ANTsTransform) – displacement field ANTsTransformref (
ANTs Image) –
- Return type:
ANTsVectorImage
Example
>>> import ants >>> fi = ants.image_read(ants.get_ants_data('r16') ) >>> mi = ants.image_read(ants.get_ants_data('r64') ) >>> fi = ants.resample_image(fi,(60,60),1,0) >>> mi = ants.resample_image(mi,(60,60),1,0) # speed up >>> mytx = ants.registration(fixed=fi, moving=mi, type_of_transform = ('SyN') ) >>> vec = ants.image_read( mytx['fwdtransforms'][0] ) >>> atx = ants.transform_from_displacement_field( vec ) >>> field = ants.transform_to_displacement_field( atx, fi )
- write_transform(transform, filename)[source]
Write ANTsTransform to file
ANTsR function: writeAntsrTransform
- Parameters:
transform (
ANTsTransform) – transform to savefilename (
str) – filename of transform (file extension is “.mat” for affine transforms)
- Return type:
N/A
Example
>>> import ants >>> tx = ants.new_ants_transform(dimension=2) >>> tx.set_parameters((0.9,0,0,1.1,10,11)) >>> ants.write_transform(tx, '~/desktop/tx.mat') >>> tx2 = ants.read_transform('~/desktop/tx.mat')