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.


nilearn.signal.butterworth(signals, sampling_rate, low_pass=None, high_pass=None, order=5, padtype='odd', padlen=None, copy=False)[source]#

Apply a low-pass, high-pass or band-pass Butterworth filter.

Apply a filter to remove signal below the low frequency and above the high frequency.

signalsnumpy.ndarray (1D sequence or n_samples x n_sources)

Signals to be filtered. A signal is assumed to be a column of signals.


Number of samples per second (sample frequency, in Hertz).

low_passfloat or None, default=None

Low cutoff frequency in Hertz. If specified, signals above this frequency will be filtered out. If None, no low-pass filtering will be performed.

high_passfloat, default=None

High cutoff frequency in Hertz. If specified, signals below this frequency will be filtered out.

orderint, default=5

Order of the Butterworth filter. When filtering signals, the filter has a decay to avoid ringing. Increasing the order sharpens this decay. Be aware that very high orders can lead to numerical instability.

padtype{“odd”, “even”, “constant”, None}, optional

Type of padding to use for the Butterworth filter. For more information about this, see scipy.signal.filtfilt.

padlenint or None, optional

The size of the padding to add to the beginning and end of signals. If None, the default value from scipy.signal.filtfilt will be used.

copybool, optional

If False, signals is modified inplace, and memory consumption is lower than for copy=True, though computation time is higher.


Signals filtered according to the given parameters.