Skip to main content
`Ctrl`+`K`

# Box2DKernel

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

  Bases: `Kernel2D`

  2D Box filter kernel.

  The Box filter or running mean is a smoothing filter. It is not isotropic and can produce artifacts when applied repeatedly to the same data.

  The generated kernel is normalized so that it integrates to 1.

  By default the Box kernel uses the `linear_interp` discretization mode, which allows non-shifting, even-sized kernels. This is achieved by weighting the edge pixels with 1/2.

  Parameters:
    width number

      Width of the filter kernel.

    mode{‘linear_interp’, ‘center’, ‘oversample’, ‘integrate’}, optional
      One of the following discretization modes:
        - ‘linear_interp’ (default)

            Discretize model by performing a bilinear interpolation between the values at the corners of the bin.

        - ‘center’

            Discretize model by taking the value at the center 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`, `Tophat2DKernel`, `RickerWavelet2DKernel`, `Ring2DKernel`
  `TrapezoidDisk2DKernel`, `AiryDisk2DKernel`, `Moffat2DKernel`

  Examples

  Kernel response:

  >     import matplotlib.pyplot as plt
  >     from astropy.convolution import Box2DKernel
  >     box_2D_kernel = Box2DKernel(9)
  >     plt.imshow(box_2D_kernel, interpolation='none', origin='lower',
  >                vmin=0.0, vmax=0.015)
  >     plt.xlim(-1, 9)
  >     plt.ylim(-1, 9)
  >     plt.xlabel('x [pixels]')
  >     plt.ylabel('y [pixels]')
  >     plt.colorbar()
  >     plt.show()

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