nabu.misc.fourier_filters
source module nabu.misc.fourier_filters
Fourier filters.
Functions
-
get_lowpass_filter — Computes a low pass filter using the erfc function.
-
get_highpass_filter — Computes a high pass filter using the erfc function.
-
get_bandpass_filter — Computes a band pass filter using the erfc function.
source get_lowpass_filter(img_shape, cutoff_par=None, use_rfft=False, data_type=np.float64)
Computes a low pass filter using the erfc function.
Parameters
-
img_shape : tuple — Shape of the image
-
cutoff_par : float or sequence of two floats — Position of the cut off in pixels, if a sequence is given the second float expresses the width of the transition region which is given as a fraction of the cutoff frequency. When only one float is given for this argument a gaussian is applied whose sigma is the parameter. When a sequence of two numbers is given then the filter is 1 ( no filtering) till the cutoff frequency while a smooth erfc transition to zero is done
-
use_rfft : boolean, optional — Creates a filter to be used with the result of a rfft type of Fourier transform. Defaults to False.
-
data_type :
numpy.<span class="mkapi-tooltip" title="numpy._core.dtype">dtype</span>, optional — Specifies the data type of the computed filter. It defaults tonumpy.float64
Raises
-
ValueError — In case of malformed cutoff_par
Returns
-
numpy.array_like — The computed filter
source get_highpass_filter(img_shape, cutoff_par=None, use_rfft=False, data_type=np.float64)
Computes a high pass filter using the erfc function.
Parameters
-
img_shape : tuple — Shape of the image
-
cutoff_par : float or sequence of two floats — Position of the cut off in pixels, if a sequence is given the second float expresses the width of the transition region which is given as a fraction of the cutoff frequency. When only one float is given for this argument a gaussian is applied whose sigma is the parameter, and the result is subtracted from 1 to obtain the high pass filter When a sequence of two numbers is given then the filter is 1 ( no filtering) above the cutoff frequency and then a smooth transition to zero is done for smaller frequency
-
use_rfft : boolean, optional — Creates a filter to be used with the result of a rfft type of Fourier transform. Defaults to False.
-
data_type :
numpy.<span class="mkapi-tooltip" title="numpy._core.dtype">dtype</span>, optional — Specifies the data type of the computed filter. It defaults tonumpy.float64
Raises
-
ValueError — In case of malformed cutoff_par
Returns
-
numpy.array_like — The computed filter
source get_bandpass_filter(img_shape, cutoff_lowpass=None, cutoff_highpass=None, use_rfft=False, data_type=np.float64)
Computes a band pass filter using the erfc function.
The cutoff structures should be formed as follows:
-
tuple of two floats: the first indicates the cutoff frequency, the second determines the width of the transition region, as fraction of the cutoff frequency.
-
one float -> it represents the sigma of a gaussian which acts as a filter or anti-filter (1 - filter).
Parameters
-
img_shape : tuple — Shape of the image
-
cutoff_lowpass : float or sequence of two floats — Cutoff parameters for the low-pass filter
-
cutoff_highpass : float or sequence of two floats — Cutoff parameters for the high-pass filter
-
use_rfft : boolean, optional — Creates a filter to be used with the result of a rfft type of Fourier transform. Defaults to False.
-
data_type :
numpy.<span class="mkapi-tooltip" title="numpy._core.dtype">dtype</span>, optional — Specifies the data type of the computed filter. It defaults tonumpy.float64
Raises
-
ValueError — In case of malformed cutoff_par
Returns
-
numpy.array_like — The computed filter