def __init__(self, src=None, quat=None): self.handle = None self.name = 'AffineTransformation' if src is None: self.handle = pyreg.cReg_newObject(self.name) elif isinstance(src, str): self.handle = pyreg.cReg_objectFromFile(self.name, src) elif isinstance(src, numpy.ndarray) and quat is None: if src.shape != (4, 4): raise AssertionError() # Need to transpose relative to MATLAB trans = numpy.zeros((4, 4), dtype=numpy.float32) for i in range(4): for j in range(4): trans[i, j] = src[j, i] self.handle = pyreg.cReg_AffineTransformation_construct_from_TM( trans.ctypes.data) elif isinstance(src, numpy.ndarray) and quat is not None and isinstance( quat, Quaternion): self.handle = pyreg.cReg_AffineTransformation_construct_from_trans_and_quaternion( src.ctypes.data, quat.handle) else: raise error( 'AffineTransformation accepts no args, filename, 4x4 array or translation with quaternion.' ) check_status(self.handle)
def __init__(self, src=None): self.handle = None self.name = 'NiftiImageData' if src is None: self.handle = pyreg.cReg_newObject(self.name) elif isinstance(src, str): self.handle = pyreg.cReg_objectFromFile(self.name, src) else: raise error('Wrong source in NiftiImageData constructor') check_status(self.handle)
def __init__(self, src1=None, src2=None, src3=None): self.handle = None self.name = 'NiftiImageData3DTensor' if src1 is None: self.handle = pyreg.cReg_newObject(self.name) elif isinstance(src1, str): self.handle = pyreg.cReg_objectFromFile(self.name, src1) elif isinstance(src1, NiftiImageData3D) and isinstance(src2, NiftiImageData3D) and isinstance(src3, NiftiImageData3D): self.handle = pyreg.cReg_NiftiImageData3DTensor_construct_from_3_components(self.name, src1.handle, src2.handle, src3.handle) else: raise error('Wrong source in NiftiImageData3DTensor constructor') check_status(self.handle)