Sersic1D¶
-
class
astropy.modeling.functional_models.
Sersic1D
[source] [edit on github]¶ Bases:
astropy.modeling.Fittable1DModel
One dimensional Sersic surface brightness profile.
Parameters: amplitude : float
Central surface brightness, within r_eff.
r_eff : float
Effective (half-light) radius
n : float
Sersic Index.
Other Parameters: fixed : a dict
A dictionary
{parameter_name: boolean}
of parameters to not be varied during fitting. True means the parameter is held fixed. Alternatively thefixed
property of a parameter may be used.tied : dict
A dictionary
{parameter_name: callable}
of parameters which are linked to some other parameter. The dictionary values are callables providing the linking relationship. Alternatively thetied
property of a parameter may be used.bounds : dict
eqcons : list
A list of functions of length
n
such thateqcons[j](x0,*args) == 0.0
in a successfully optimized problem.ineqcons : list
A list of functions of length
n
such thatieqcons[j](x0,*args) >= 0.0
is a successfully optimized problem.See also
Notes
Model formula:
\[I(r)=I_e exp\left[-b_n\left(\frac{r}{r_{e}}\right)^{(1/n)}-1\right]\]The constant \(b_n\) is defined such that \(r_e\) contains half the total luminosity, and can be solved for numerically.
\[\Gamma(2n) = 2\gamma (b_n,2n)\]References
[R7] http://ned.ipac.caltech.edu/level5/March05/Graham/Graham2.html Examples
import numpy as np from astropy.modeling.models import Sersic1D import matplotlib.pyplot as plt plt.figure() plt.subplot(111, xscale='log', yscale='log') s1 = Sersic1D(amplitude=1, r_eff=5) r=np.arange(0, 100, .01) for n in range(1, 10): s1.n = n plt.plot(r, s1(r), color=str(float(n) / 15)) plt.axis([1e-1, 30, 1e-2, 1e3]) plt.xlabel('log Radius') plt.ylabel('log Surface Brightness') plt.text(.25, 1.5, 'n=1') plt.text(.25, 300, 'n=10') plt.xticks([]) plt.yticks([]) plt.show()
(Source code, png, hires.png, pdf)
Attributes Summary
amplitude
n
param_names
r_eff
Methods Summary
evaluate
(r, amplitude, r_eff, n)One dimensional Sersic profile function. Attributes Documentation
-
amplitude
¶
-
n
¶
-
param_names
= ('amplitude', 'r_eff', 'n')¶
-
r_eff
¶
Methods Documentation
-
classmethod
evaluate
(r, amplitude, r_eff, n)[source] [edit on github]¶ One dimensional Sersic profile function.
-