Sersic2D系列

class astropy.modeling.functional_models.Sersic2D(amplitude=1, r_eff=1, n=4, x_0=0, y_0=0, ellip=0, theta=0, **kwargs)[源代码]

基类:astropy.modeling.core.Fittable2DModel

二维Sersic表面亮度分布图。

参数
amplitude浮动

ru eff下的表面亮度。

r_eff浮动

有效(半光)半径

n浮动

Sersic指数。

x_0可选浮动

中心的x位置。

y_0可选浮动

中心的y位置。

ellip可选浮动

椭圆度。

theta可选浮动

以弧度表示的旋转角度,从正x轴逆时针旋转。

其他参数
fixed口述,可选

字典 {{parameter_name: boolean}} 在拟合过程中不能改变的参数。True表示参数保持不变。或者 fixed 可以使用参数的属性。

tied可选的

字典 {{parameter_name: callable}} 链接到其他参数的参数。字典值是提供链接关系的可调用项。或者 tied 可以使用参数的属性。

bounds可选的

字典 {{parameter_name: value}} 参数的上下界。键是参数名。值是一个长度为2的列表或元组,为参数提供所需的范围。或者 minmax 可以使用参数的属性。

eqcons可选列表

长度函数列表 n 这样的话 eqcons[j](x0,*args) == 0.0 在一个成功优化的问题中。

ineqcons可选列表

长度函数列表 n 这样的话 ieqcons[j](x0,*args) >= 0.0 是一个成功优化的问题。

笔记

模型公式:

\[i(x,y)=i(R)=i_e\exp\Left\{-b_n\Left [\left(\frac{{r}}{{r_{{e}}}}\right)^{{(1/n)}}-1\right] \右\}\]

常数 \(b_n\) 定义为 \(r_e\) 包含总光度的一半,可以用数值求解。

\[\伽马(2n)=2 \伽马(2n,bĩn)\]

工具书类

1

http://ned.ipac.caltech.edu/level5/March05/Graham/Graham2.html

实例

import numpy as np
from astropy.modeling.models import Sersic2D
import matplotlib.pyplot as plt

x,y = np.meshgrid(np.arange(100), np.arange(100))

mod = Sersic2D(amplitude = 1, r_eff = 25, n=4, x_0=50, y_0=50,
               ellip=.5, theta=-1)
img = mod(x, y)
log_img = np.log10(img)

plt.figure()
plt.imshow(log_img, origin='lower', interpolation='nearest',
           vmin=-1, vmax=2)
plt.xlabel('x')
plt.ylabel('y')
cbar = plt.colorbar()
cbar.set_label('Log Brightness', rotation=270, labelpad=25)
cbar.set_ticks([-1, 0, 1, 2], update_ticks=True)
plt.show()

(png _, svgpdf

../_images/astropy-modeling-functional_models-Sersic2D-1.png

属性摘要

amplitude 

ellip 

input_units 

此属性用于指示evaluate方法所需的单元或单元集,并返回将输入映射到单元(或 None 如果接受任何单位)。

n 

param_names 

描述此类型模型的参数的名称。

r_eff 

theta 

x_0 

y_0 

方法总结

evaluate (X、Y、振幅、r、n、x0、...)

二维Sersic剖面函数。

属性文档

amplitude = Parameter('amplitude', value=1.0)
ellip = Parameter('ellip', value=0.0)
input_units
n = Parameter('n', value=4.0)
param_names = ('amplitude', 'r_eff', 'n', 'x_0', 'y_0', 'ellip', 'theta')

描述此类型模型的参数的名称。

此元组中的参数与初始化特定类型的模型时应传入的顺序相同。某些类型的模型,如多项式模型,根据模型的某些其他属性(如阶数)有不同数量的参数。

定义自定义模型类时,此属性的值由 Parameter 在类中定义的body属性。

r_eff = Parameter('r_eff', value=1.0)
theta = Parameter('theta', value=0.0)
x_0 = Parameter('x_0', value=0.0)
y_0 = Parameter('y_0', value=0.0)

方法文件

classmethod evaluate(x, y, amplitude, r_eff, n, x_0, y_0, ellip, theta)[源代码]

二维Sersic剖面函数。