surfa.ImageGeometry
surfa.ImageGeometry#
- class surfa.ImageGeometry(shape, voxsize=None, rotation=None, center=None, shear=None, vox2world=None)#
Defines the correspondence between voxel coordinates and “world” coordinates, eg, RAS, for an image.
This correspondence can be represented by either a singular affine (voxel-to-world transform matrix) or a set of linear components (voxel scale, position, rotation, and shear). These parameters and corresponding coordinates transforms are appropriately recomputed upon any modification.
- Parameters
shape (array_like) – Associated 2D or 3D image shape.
voxsize (scalar or float) – Voxel size in millimeters.
rotation ((3, 3) float) – Voxel-to-world rotation matrix. If provided, cannot also provide vox2world.
center (array_like float) – World coordinate of the image center. If provided, cannot also provide vox2world.
shear ((3,) float) – Image shear. If provided, cannot also provide vox2world.
vox2world ((4, 4) float or Affine) – Voxel-to-world transform matrix.
Attributes
centerWorld coordinate of image center.
orientationOrientation string of rotation matrix.
rotationVoxel-to-world rotation matrix.
shapeReference image shape.
shearImage shear.
surf2voxAffine transform that maps surface to voxel (image) coordinates.
surf2worldAffine transform that maps surface to world coordinates.
vox2surfAffine transform that maps voxel (image) to surface coordinates.
vox2vxmvox2worldAffine transform that maps voxel (image) to world coordinates.
voxsizeVoxel dimensions in millimeters.
vxm2voxworld2surfAffine transform that maps world to surface coordinates.
world2voxAffine transform that maps world to voxel (image) coordinates.
Methods
- affine(source, target)#
Retrieve an affine transform based on the source and target space.
- copy()#
Create a copy of the image geometry.
- reshape(shape, copy=True)#
Change the geometry image shape while preserving parameters.
- Parameters
shape (array_like) – Target image base shape.
copy (bool) – Return copy if geometry already matched shape.
- Returns
Reshaped image geometry.
- Return type
- shearless_components()#
Decompose the image-to-world affine into image geometry parameters that don’t account for shear.
- Returns
Tuple containing (voxelsize, rotation matrix, world-center) parameters.
- Return type
tuple
- update(voxsize=None, rotation=None, center=None, shear=None, vox2world=None)#
Update specific geometry parameters. Unspecified parameters will remain the same unless recomputation is necessary.
- Parameters
voxsize (scalar or float) – Voxel size in millimeters.
rotation ((3, 3) float) – Voxel-to-world rotation matrix. If provided, cannot also provide vox2world.
center (array_like float) – World coordinate of the image center. If provided, cannot also provide vox2world.
shear ((3,) float) – Image shear. If provided, cannot also provide vox2world.
vox2world ((4, 4) float or Affine) – Voxel-to-world transform matrix.