class photutils.psf.IntegratedGaussianPRF(sigma=1, x_0=0, y_0=0, flux=1, **kwargs)[source]

Bases: Fittable2DModel

Circular Gaussian model integrated over pixels.

Because it is integrated, this model is considered a PRF, not a PSF (see Terminology for more about the terminology used here.)

This model is a Gaussian integrated over an area of 1 (in units of the model input coordinates, e.g., 1 pixel). This is in contrast to the apparently similar astropy.modeling.functional_models.Gaussian2D, which is the value of a 2D Gaussian at the input coordinates, with no integration. So this model is equivalent to assuming the PSF is Gaussian at a sub-pixel level.


Width of the Gaussian PSF.

fluxfloat, optional

Total integrated flux over the entire PSF.

x_0float, optional

Position of the peak in x direction.

y_0float, optional

Position of the peak in y direction.


This model is evaluated according to the following formula:

\[f(x, y) = \frac{F}{4} \left[ {\rm erf} \left(\frac{x - x_0 + 0.5} {\sqrt{2} \sigma} \right) - {\rm erf} \left(\frac{x - x_0 - 0.5} {\sqrt{2} \sigma} \right) \right] \left[ {\rm erf} \left(\frac{y - y_0 + 0.5} {\sqrt{2} \sigma} \right) - {\rm erf} \left(\frac{y - y_0 - 0.5} {\sqrt{2} \sigma} \right) \right]\]

where erf denotes the error function and F the total integrated flux.

Attributes Summary



Names of the parameters that describe models of this type.




Methods Summary

evaluate(x, y, flux, x_0, y_0, sigma)

Model function Gaussian PSF model.

Attributes Documentation

flux = Parameter('flux', value=1.0)
param_names = ('flux', 'x_0', 'y_0', 'sigma')

Names of the parameters that describe models of this type.

The parameters in this tuple are in the same order they should be passed in when initializing a model of a specific type. Some types of models, such as polynomial models, have a different number of parameters depending on some other property of the model, such as the degree.

When defining a custom model class the value of this attribute is automatically set by the Parameter attributes defined in the class body.

sigma = Parameter('sigma', value=1.0, fixed=True)
x_0 = Parameter('x_0', value=0.0)
y_0 = Parameter('y_0', value=0.0)

Methods Documentation

evaluate(x, y, flux, x_0, y_0, sigma)[source]

Model function Gaussian PSF model.