MexicanHat2DKernel¶
-
class
astropy.convolution.
MexicanHat2DKernel
(width, **kwargs)[source] [edit on github]¶ Bases:
astropy.convolution.Kernel2D
2D Mexican hat filter kernel.
The Mexican Hat, or inverted Gaussian-Laplace filter, is a bandpass filter. It smooths the data and removes slowly varying or constant structures (e.g. Background). It is useful for peak or multi-scale detection.
This kernel is derived from a normalized Gaussian function, by computing the second derivative. This results in an amplitude at the kernels center of 1. / (pi * width ** 4). The normalization is the same as for
scipy.ndimage.gaussian_laplace
, except for a minus sign.Parameters: - width : number
Width of the filter kernel, defined as the standard deviation of the Gaussian function from which it is derived.
- x_size : odd int, optional
Size in x direction of the kernel array. Default = 8 * width.
- y_size : odd int, optional
Size in y direction of the kernel array. Default = 8 * width.
- mode : str, optional
- One of the following discretization modes:
- ‘center’ (default)
- Discretize model by taking the value at the center of the bin.
- ‘linear_interp’
- Discretize model by performing a bilinear interpolation between the values at the corners of the bin.
- ‘oversample’
- Discretize model by taking the average on an oversampled grid.
- ‘integrate’
- Discretize model by integrating the model over the bin.
- factor : number, optional
Factor of oversampling. Default factor = 10.
See also
Gaussian2DKernel
,Box2DKernel
,Tophat2DKernel
,Ring2DKernel
,TrapezoidDisk2DKernel
,AiryDisk2DKernel
,Moffat2DKernel
Examples
Kernel response:
import matplotlib.pyplot as plt from astropy.convolution import MexicanHat2DKernel mexicanhat_2D_kernel = MexicanHat2DKernel(10) plt.imshow(mexicanhat_2D_kernel, interpolation='none', origin='lower') plt.xlabel('x [pixels]') plt.ylabel('y [pixels]') plt.colorbar() plt.show()
()