vreg.Volume3D#
- class vreg.Volume3D(values: ndarray, affine: ndarray, coords: ndarray | None = None, dims: list | None = None, prec: int | None = None)[source]#
A spatially aware numpy array
- Parameters:
values (np.ndarray) – Numpy array of values (3 or more dimensions)
affine (np.ndarray) – 4x4 numpy array with the affine matrix of the value array. If not provided, the identity is assumed. Defaults to None.
coords (np.ndarray) – For values with dimensions more than 3, provide an additional coordinate array for the locations of the replicated volumes. If not provided, index arrays are used for the coordinates of the extra dimensions.
dims (list) – Names of the extra dimensions for volumes with more than 3 dimensions.
prec (int) – internal precision to be used when comparing positions. If not provided, the exact floating point values of locations are used. Defaults to None.
Methods
add
(v, *args, **kwargs)Add another volume
bounding_box
([mask, margin])Return the bounding box
center_of_mass
([coords])Center of mass.
copy
(**kwargs)Return a copy
distance
(target, transform, params[, ...])Distance to a target volume after a transform
extract_slice
([z])Extract a slice at index z
find_rotate_to
(target[, rotation, metric, ...])Find the rigid transform to a static target volume.
find_transform_rigid_to
(target[, params, ...])Find the rigid transform to a static target volume.
find_transform_to
(target, transform[, ...])Coregister a volume to a static target volume.
find_translate_to
(target[, translation, ...])Find the translation to a static target volume.
resample
([spacing, stretch])Resample volume to new pixel spacing
reslice
([affine, orient, rotation, center, ...])Reslice the volume.
rotate
(rotation[, center, values, reshape, ...])Rotate the volume.
rotate_to
(target, rotation[, center, coords])Apply a rotation and reslice the result to the geometry of a target volume.
separate
([axis])Separate a volume along one or more time axes.
set_affine
(affine)Set a new affine for the volume
set_coords
(coords)Set new coordinates for the volume
set_dims
(dims)Set new names for the non-spatial dimensions
set_values
(values)Set new values for the volume
slice_like
(v)Slice the volume to the geometry of another volume
split
([n, axis, gap])Split a volume into slices (2D volumes)
stretch
(stretch[, values, reshape])Stretch the volume.
stretch_to
(target, stretch)Stretch and reslice to the geometry of a target volume.
subtract
(v, *args, **kwargs)Subtract another volume
transform
(transform, params, **kwargs)Transform a volume
transform_affine
(params[, center, values, ...])Apply an affine transformation.
transform_affine_to
(target, params[, ...])Apply an affine transformation and reslice the result to the geometry of a target volume.
transform_rigid
(params[, values, reshape, ...])Apply a rigid transformation.
transform_rigid_to
(target, params[, center, ...])Apply a rigid transformation and reslice the result to the geometry of a target volume.
transform_to
(target, transform, params, **kwargs)Transform a volume to a target volume
translate
(translation[, values, reshape, ...])Translate the volume.
translate_to
(target, translation[, coords, dir])Apply a translation and reslice the result to the geometry of a target volume.
truncate
(shape)Truncate the volume to a smaller shape.
Attributes