astro py:docs

- Index
- Modules

### Navigation

- next »
- « previous |
- Astropy v1.1.1 »
- Models and Fitting (`astropy.modeling`) »
- Sersic1D

# Sersic1D

class `astropy.modeling.functional_models.``Sersic1D`

  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 the `fixed` 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 the `tied` property of a parameter may be used.

  bounds : dict

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

  eqcons : list

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

  ineqcons : list

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

  See also

  `Gaussian1D`, `Moffat1D`, `Lorentz1D`

  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)

    One dimensional Sersic profile function.