class astropy.modeling.functional_models.AiryDisk2D(amplitude=1, x_0=0, y_0=0, radius=1, **kwargs)[source]

Bases: astropy.modeling.Fittable2DModel

Two dimensional Airy disk model.


Amplitude of the Airy function.


x position of the maximum of the Airy function.


y position of the maximum of the Airy function.


The radius of the Airy disk (radius of the first zero).

Other Parameters
fixeda dict, optional

A dictionary {parameter_name: boolean} of parameters to not be varied during fitting. True means the parameter is held fixed. Alternatively the fixed property of a parameter may be used.

tieddict, optional

A dictionary {parameter_name: callable} of parameters which are linked to some other parameter. The dictionary values are callables providing the linking relationship. Alternatively the tied property of a parameter may be used.

boundsdict, optional

A dictionary {parameter_name: value} of lower and upper bounds of parameters. Keys are parameter names. Values are a list or a tuple of length 2 giving the desired range for the parameter. Alternatively, the min and max properties of a parameter may be used.

eqconslist, optional

A list of functions of length n such that eqcons[j](x0,*args) == 0.0 in a successfully optimized problem.

ineqconslist, optional

A list of functions of length n such that ieqcons[j](x0,*args) >= 0.0 is a successfully optimized problem.


Model formula:

\[f(r) = A \left[\frac{2 J_1(\frac{\pi r}{R/R_z})}{\frac{\pi r}{R/R_z}}\right]^2\]

Where \(J_1\) is the first order Bessel function of the first kind, \(r\) is radial distance from the maximum of the Airy function (\(r = \sqrt{(x - x_0)^2 + (y - y_0)^2}\)), \(R\) is the input radius parameter, and \(R_z = 1.2196698912665045\)).

For an optical system, the radius of the first zero represents the limiting angular resolution and is approximately 1.22 * lambda / D, where lambda is the wavelength of the light and D is the diameter of the aperture.

See [1] for more details about the Airy disk.



Attributes Summary



This property is used to indicate what units or sets of units the evaluate method expects, and returns a dictionary mapping inputs to units (or None if any units are accepted).





Methods Summary

evaluate(x, y, amplitude, x_0, y_0, radius)

Two dimensional Airy model function

Attributes Documentation

amplitude = Parameter('amplitude', value=1.0)
param_names = ('amplitude', 'x_0', 'y_0', 'radius')
radius = Parameter('radius', value=1.0)
x_0 = Parameter('x_0', value=0.0)
y_0 = Parameter('y_0', value=0.0)

Methods Documentation

classmethod evaluate(x, y, amplitude, x_0, y_0, radius)[source]

Two dimensional Airy model function