harmonica.filters.gaussian_highpass_kernel

harmonica.filters.gaussian_highpass_kernel#

harmonica.filters.gaussian_highpass_kernel(fft_grid, wavelength)[source]#

Filter for Gaussian high-pass in frequency domain

Return a xarray.DataArray with the values of a Gaussian high-pass filter the frequency domain. The filter is built upon the frequency coordinates of the passed fft_grid and is defined as follows:

\[g(\mathbf{k}) = 1 - e^{ - \frac{1}{2} \left( \frac{|\mathbf{k}|}{k_c} \right)^2 }\]

where \(\mathbf{k}\) is the wavenumber vector (\(\mathbf{k} = 2\pi \mathbf{f}\) where \(\mathbf{f}\) is the frequency vector) and \(k_c\) is the cutoff wavenumber: \(k_c = \frac{2\pi}{\lambda_c}\), where \(\lambda_c\) is the cutoff wavelength.

Parameters:
fft_gridxarray.DataArray

Array with the Fourier transform of the original grid. Its dimensions should be in the following order: freq_northing, freq_easting. Use xrft.xrft.fft and xrft.xrft.ifft functions to compute the Fourier Transform and its inverse, respectively.

wavelengthfloat

The cutoff wavelength for the high-pass filter. Its units should be the inverse units of the coordinates in fft_grid.

Returns:
da_filterxarray.DataArray

Array with the kernel for the Gaussian high-pass filter in frequency domain.

References

[Geosoft1999]