This page is a reference documentation. It only explains the function signature, and not how to use it. Please refer to the user guide for the big picture.

8.7.1. nilearn.masking.compute_epi_mask

nilearn.masking.compute_epi_mask(epi_img, lower_cutoff=0.2, upper_cutoff=0.85, connected=True, opening=2, exclude_zeros=False, ensure_finite=True, target_affine=None, target_shape=None, memory=None, verbose=0)[source]

Compute a brain mask from fMRI data in 3D or 4D numpy.ndarray.

This is based on an heuristic proposed by T.Nichols: find the least dense point of the histogram, between fractions lower_cutoff and upper_cutoff of the total image histogram.


In case of failure, it is usually advisable to increase lower_cutoff.

epi_imgNiimg-like object

See EPI image, used to compute the mask. 3D and 4D images are accepted.


If a 3D image is given, we suggest to use the mean image.

lower_cutofffloat, optional

Lower fraction of the histogram to be discarded. Default=0.2.

upper_cutofffloat, optional

Upper fraction of the histogram to be discarded. Default=0.85.

connectedbool, optional

If connected is True, only the largest connect component is kept. Default=True.

openingbool or int, optional

This parameter determines whether a morphological opening is performed, to keep only large structures. This step is useful to remove parts of the skull that might have been included. opening can be:


Turning off opening (opening=False) will also prevent any smoothing applied to the image during the mask computation.



If ensure_finite is True, the non-finite values (NaNs and infs) found in the images will be replaced by zeros Default=True.

exclude_zerosbool, optional

Consider zeros as missing values for the computation of the threshold. This option is useful if the images have been resliced with a large padding of zeros. Default=False.

target_affinenumpy.ndarray, optional.

If specified, the image is resampled corresponding to this new affine. target_affine can be a 3x3 or a 4x4 matrix. Default=None.


This parameter is passed to nilearn.image.resample_img.

target_shapetuple or list, optional.

If specified, the image will be resized to match this new shape. len(target_shape) must be equal to 3.


If target_shape is specified, a target_affine of shape (4, 4) must also be given.



This parameter is passed to nilearn.image.resample_img.

memoryinstance of joblib.Memory or str

Used to cache the masking process. By default, no caching is done. If a str is given, it is the path to the caching directory.

verboseint, optional

Verbosity level (0 means no message). Default=0.


The brain mask (3D image).