Skip to main content
`Ctrl`+`K`

# RickerWavelet1DKernel

class astropy.convolution.RickerWavelet1DKernel(width, **kwargs)

  Bases: `Kernel1D`

  1D Ricker wavelet filter kernel (sometimes known as a “Mexican Hat” kernel).

  The Ricker wavelet, 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 multiscale 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. / (sqrt(2 * pi) * width ** 3). The normalization is the same as for `scipy.ndimage.gaussian_laplace`, except for a minus sign.

  Note

  See astropy/astropy#9445 for discussions related to renaming of this kernel.

  Parameters:
    width number

      Width of the filter kernel, defined as the standard deviation of the Gaussian function from which it is derived.

    x_size `python:int`, optional

      Size in x direction of the kernel array. Default = ⌊8*width +1⌋.

    mode{‘center’, ‘linear_interp’, ‘oversample’, ‘integrate’}, 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 linearly interpolating 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

  `Box1DKernel`, `Gaussian1DKernel`, `Trapezoid1DKernel`

  Examples

  Kernel response:

  >     import matplotlib.pyplot as plt
  >     from astropy.convolution import RickerWavelet1DKernel
  >     ricker_1d_kernel = RickerWavelet1DKernel(10)
  >     plt.plot(ricker_1d_kernel, drawstyle='steps')
  >     plt.xlabel('x [pixels]')
  >     plt.ylabel('value')
  >     plt.show()

  > (`png`, `svg`, `pdf`)