processing
¶
Image processing functions for:
smoothing
resampling
converting sd to and from FWHM
Smoothing and resampling routines need scipy
|
Adapt input / output dimensions of spatial affine for n_dims |
|
Resample image to |
|
Convert a FWHM value to sigma in a Gaussian kernel. |
|
Resample image from_img to mapped voxel space to_vox_map |
|
Resample image in_img to output voxel axes (world space) |
|
Convert a sigma in a Gaussian kernel to a FWHM value |
|
Smooth image img along voxel axes by FWHM fwhm millimeters |
adapt_affine¶
- nibabel.processing.adapt_affine(affine, n_dim)¶
Adapt input / output dimensions of spatial affine for n_dims
Adapts a spatial (4, 4) affine that is being applied to an image with fewer than 3 spatial dimensions, or more than 3 dimensions. If there are more than three dimensions, assume an identity transformation for these dimensions.
- Parameters:
- affinearray-like
affine transform. Usually shape (4, 4). For what follows
N, M = affine.shape
- n_dimsint
Number of dimensions of underlying array, and therefore number of input dimensions for affine.
- Returns:
- adaptedshape (M, n_dims+1) array
Affine array adapted to number of input dimensions. Columns of the affine corresponding to missing input dimensions have been dropped, columns corresponding to extra input dimensions have an extra identity column added
conform¶
- nibabel.processing.conform(from_img, out_shape=(256, 256, 256), voxel_size=(1.0, 1.0, 1.0), order=3, cval=0.0, orientation='RAS', out_class=None)¶
Resample image to
out_shape
with voxels of sizevoxel_size
.Using the default arguments, this function is meant to replicate most parts of FreeSurfer’s
mri_convert --conform
command. Specifically, this function:Resamples data to
output_shape
Resamples voxel sizes to
voxel_size
Reorients to RAS (
mri_convert --conform
reorients to LIA)
Unlike
mri_convert --conform
, this command does not:Transform data to range [0, 255]
Cast to unsigned eight-bit integer
- Parameters:
- from_imgobject
Object having attributes
dataobj
,affine
,header
andshape
. If out_class is not None,img.__class__
should be able to construct an image from data, affine and header.- out_shapesequence, optional
The shape of the output volume. Default is (256, 256, 256).
- voxel_sizesequence, optional
The size in millimeters of the voxels in the resampled output. Default is 1mm isotropic.
- orderint, optional
The order of the spline interpolation, default is 3. The order has to be in the range 0-5 (see
scipy.ndimage.affine_transform
)- cvalscalar, optional
Value used for points outside the boundaries of the input if
mode='constant'
. Default is 0.0 (seescipy.ndimage.affine_transform
)- orientationstr, optional
Orientation of output image. Default is “RAS”.
- out_classNone or SpatialImage class, optional
Class of output image. If None, use
from_img.__class__
.
- Returns:
- out_imgobject
Image of instance specified by out_class, containing data output from resampling from_img into axes aligned to the output space of
from_img.affine
fwhm2sigma¶
- nibabel.processing.fwhm2sigma(fwhm)¶
Convert a FWHM value to sigma in a Gaussian kernel.
- Parameters:
- fwhmarray-like
FWHM value or values
- Returns:
- sigmaarray or float
sigma values corresponding to fwhm values
Examples
>>> sigma = fwhm2sigma(6) >>> sigmae = fwhm2sigma([6, 7, 8]) >>> sigma == sigmae[0] True
resample_from_to¶
- nibabel.processing.resample_from_to(from_img, to_vox_map, order=3, mode='constant', cval=0.0, out_class=<class 'nibabel.nifti1.Nifti1Image'>)¶
Resample image from_img to mapped voxel space to_vox_map
Resample using N-d spline interpolation.
- Parameters:
- from_imgobject
Object having attributes
dataobj
,affine
,header
andshape
. If out_class is not None,img.__class__
should be able to construct an image from data, affine and header.- to_vox_mapimage object or length 2 sequence
If object, has attributes
shape
giving input voxel shape, andaffine
giving mapping of input voxels to output space. If length 2 sequence, elements are (shape, affine) with same meaning as above. The affine is a (4, 4) array-like.- orderint, optional
The order of the spline interpolation, default is 3. The order has to be in the range 0-5 (see
scipy.ndimage.affine_transform
)- modestr, optional
Points outside the boundaries of the input are filled according to the given mode (‘constant’, ‘nearest’, ‘reflect’ or ‘wrap’). Default is ‘constant’ (see
scipy.ndimage.affine_transform
)- cvalscalar, optional
Value used for points outside the boundaries of the input if
mode='constant'
. Default is 0.0 (seescipy.ndimage.affine_transform
)- out_classNone or SpatialImage class, optional
Class of output image. If None, use
from_img.__class__
.
- Returns:
- out_imgobject
Image of instance specified by out_class, containing data output from resampling from_img into axes aligned to the output space of
from_img.affine
resample_to_output¶
- nibabel.processing.resample_to_output(in_img, voxel_sizes=None, order=3, mode='constant', cval=0.0, out_class=<class 'nibabel.nifti1.Nifti1Image'>)¶
Resample image in_img to output voxel axes (world space)
- Parameters:
- in_imgobject
Object having attributes
dataobj
,affine
,header
. If out_class is not None,img.__class__
should be able to construct an image from data, affine and header.- voxel_sizesNone or sequence
Gives the diagonal entries of
out_img.affine` (except the trailing 1 for the homogeneous coordinates) (``out_img.affine == np.diag(voxel_sizes + [1])
). If None, return identity out_img.affine. If scalar, interpret as vector[voxel_sizes] * len(in_img.shape)
.- orderint, optional
The order of the spline interpolation, default is 3. The order has to be in the range 0-5 (see
scipy.ndimage.affine_transform
).- modestr, optional
Points outside the boundaries of the input are filled according to the given mode (‘constant’, ‘nearest’, ‘reflect’ or ‘wrap’). Default is ‘constant’ (see
scipy.ndimage.affine_transform
).- cvalscalar, optional
Value used for points outside the boundaries of the input if
mode='constant'
. Default is 0.0 (seescipy.ndimage.affine_transform
).- out_classNone or SpatialImage class, optional
Class of output image. If None, use
in_img.__class__
.
- Returns:
- out_imgobject
Image of instance specified by out_class, containing data output from resampling in_img into axes aligned to the output space of
in_img.affine
sigma2fwhm¶
- nibabel.processing.sigma2fwhm(sigma)¶
Convert a sigma in a Gaussian kernel to a FWHM value
- Parameters:
- sigmaarray-like
sigma value or values
- Returns:
- fwhmarray or float
fwhm values corresponding to sigma values
Examples
>>> fwhm = sigma2fwhm(3) >>> fwhms = sigma2fwhm([3, 4, 5]) >>> fwhm == fwhms[0] True
smooth_image¶
- nibabel.processing.smooth_image(img, fwhm, mode='nearest', cval=0.0, out_class=<class 'nibabel.nifti1.Nifti1Image'>)¶
Smooth image img along voxel axes by FWHM fwhm millimeters
- Parameters:
- imgobject
Object having attributes
dataobj
,affine
,header
andshape
. If out_class is not None,img.__class__
should be able to construct an image from data, affine and header.- fwhmscalar or length 3 sequence
FWHM in mm over which to smooth. The smoothing applies to the voxel axes, not to the output axes, but is in millimeters. The function adjusts the FWHM to voxels using the voxel sizes calculated from the affine. A scalar implies the same smoothing across the spatial dimensions of the image, but 0 smoothing over any further dimensions such as time. A vector should be the same length as the number of image dimensions.
- modestr, optional
Points outside the boundaries of the input are filled according to the given mode (‘constant’, ‘nearest’, ‘reflect’ or ‘wrap’). Default is ‘nearest’. This is different from the default for
scipy.ndimage.affine_transform
, which is ‘constant’. ‘nearest’ might be a better choice when smoothing to the edge of an image where there is still strong brain signal, otherwise this signal will get blurred towards zero.- cvalscalar, optional
Value used for points outside the boundaries of the input if
mode='constant'
. Default is 0.0 (seescipy.ndimage.affine_transform
).- out_classNone or SpatialImage class, optional
Class of output image. If None, use
img.__class__
.
- Returns:
- smoothed_imgobject
Image of instance specified by out_class, containing data output from smoothing img data by given FWHM kernel.