Source code for ants.registration.fsl2antstransform



__all__ = ['fsl2antstransform']

from .. import utils
from ..core import ants_transform as tio

[docs]def fsl2antstransform(matrix, reference, moving): """ Convert an FSL linear transform to an antsrTransform ANTsR function: `fsl2antsrtransform` Arguments --------- matrix : ndarray/list 4x4 matrix of transform parameters reference : ANTsImage target image moving : ANTsImage moving image Returns ------- 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) """ if reference.dimension != 3: raise ValueError('reference image must be 3 dimensions') if reference.pixeltype != 'float': reference = reference.clone('float') if moving.pixeltype != 'float': moving = moving.clone('float') libfn = utils.get_lib_fn('fsl2antstransformF3') tx_ptr = libfn(list(matrix), reference.pointer, moving.pointer, 1) return tio.ANTsTransform(precision='float', dimension=reference.dimension, transform_type='AffineTransform', pointer=tx_ptr)