protoclass.extraction.gabor_filter_3d

protoclass.extraction.gabor_filter_3d(frequency, alpha=0, gamma=0, bandwidth=1, sigma_x=None, sigma_y=None, sigma_z=None, n_stds=3, scale_x=None, scale_y=None, scale_z=None)[source]

Return complex 3D Gabor filter kernel.

Gabor kernel is a Gaussian kernel modulated by a complex harmonic function. Harmonic function consists of an imaginary sine function and a real cosine function. Spatial frequency is inversely proportional to the wavelength of the harmonic and to the standard deviation of a Gaussian kernel. The bandwidth is also inversely proportional to the standard deviation.

Parameters:

frequency : float

Spatial frequency of the harmonic function. Specified in pixels.

alpha, gamma : float, optional

Orientation in radians of the x-y, and z axis.

bandwidth : float, optional

The bandwidth captured by the filter. For fixed bandwidth, sigma_x and sigma_y will decrease with increasing frequency. This value is ignored if sigma_x and sigma_y are set by the user.

sigma_x, sigma_y, sigma_z : float, optional

Standard deviation in x-, y-, and z-directions. These directions apply to the kernel before rotation. If alpha = pi/2, then the kernel is rotated 90 degrees so that sigma_x controls the vertical direction.

scale_x, scale_y, scale_z : float, optional

In case of using bandwidth but with a wish of different scale for the sigma

n_stds : scalar, optional

The linear size of the kernel is n_stds (3 by default) standard deviations

Returns:

g : complex array

Complex filter kernel.