高斯2d#
- class astropy.modeling.functional_models.Gaussian2D(amplitude=1, x_mean=0, y_mean=0, x_stddev=None, y_stddev=None, theta=None, cov_matrix=None, **kwargs)[源代码]#
-
二维高斯模型。
- 参数:
- amplitude :
float
或Quantity
。Python :浮点或数量。 高斯的振幅(峰值)。
- x_mean :
float
或Quantity
。Python :浮点或数量。 高斯平均值。
- y_mean :
float
或Quantity
。Python :浮点或数量。 高斯平均值。
- x_stddev :
float
或Quantity
或者什么都不做。Python :浮点型或数量型或无。 以θ旋转前高斯在x轴上的标准偏差。如果协方差矩阵 (
cov_matrix
)提供。如果没有cov_matrix
给出,None
表示默认值(1)。- y_stddev :
float
或Quantity
或者什么都不做。Python :浮点型或数量型或无。 在θ旋转之前高斯在y轴上的标准偏差。如果协方差矩阵 (
cov_matrix
)提供。如果没有cov_matrix
给出,None
表示默认值(1)。- theta :
float
或Quantity
,可选。Python:浮点型或数量型,可选。 以角度量表示的旋转角度 (
Quantity
或Angle
)或以弧度为单位的值(浮点数)。旋转角度逆时针增加。一定是None
如果协方差矩阵 (cov_matrix
)提供。如果没有cov_matrix
给出了,None
表示默认值(0)。- cov_matrix :
ndarray
,可选ndarray,可选 一个2x2协方差矩阵。如果指定,则重写
x_stddev
,y_stddev
和theta
默认值。
- amplitude :
- 其他参数:
- fixed :
dict
,可选Python:Dict,可选 字典
{{parameter_name: boolean}}
在拟合过程中不能改变的参数。True表示参数保持不变。或者fixed
可以使用参数的属性。- tied :
dict
,可选Python:Dict,可选 字典
{{parameter_name: callable}}
链接到其他参数的参数。字典值是提供链接关系的可调用项。或者tied
可以使用参数的属性。- bounds :
dict
,可选Python:Dict,可选 字典
{{parameter_name: value}}
参数的上下界。键是参数名。值是一个长度为2的列表或元组,为参数提供所需的范围。或者min
和max
可以使用参数的属性。- eqcons :
list
,可选Python:列表,可选 长度函数列表
n
这样的话eqcons[j](x0,*args) == 0.0
在一个成功优化的问题中。- ineqcons :
list
,可选Python:列表,可选 长度函数列表
n
这样的话ieqcons[j](x0,*args) >= 0.0
是一个成功优化的问题。
- fixed :
参见
笔记
全部输入或不输入
x, y
,[x,y]_mean
和[x,y]_stddev
必须一致地使用兼容的单位或作为无单位数字提供。模型公式:
\[f(x,y)=A e^{-A\左(x-x{0}\右)^{2}-b\左(x-x{0}\右)\]使用以下定义:
\[a=\左(\frac{\cos^{2}{\left(\theta\right)}{2\sigma{x}^{2}}+\]- 如果使用
cov_matrix
,模型形式为: - \[f(x, y) = A e^{-0.5 \left( \vec{x} - \vec{x}_{0}\right)^{T} \Sigma^{-1} \left(\vec{x} - \vec{x}_{0} \right)}\]
在哪里? \(\vec{{x}} = [x, y]\) , \(\vec{{x}}_{{0}} = [x_{{0}}, y_{{0}}]\) 和 \(\Sigma\) 是协方差矩阵:
\[\Sigma=\左(\begin{array}{ccc}\]\(\rho\) 两者之间的相关性
x
和y
,应介于-1和+1之间。正相关对应于theta
在0到90度的范围内。负相关对应于theta
在0到-90度的范围内。见 [1] 更多关于二维高斯函数的细节。
工具书类
属性摘要
此属性用于指示evaluate方法所需的单元或单元集,并返回将输入映射到单元(或
None
如果接受任何单位)。描述此类型模型的参数的名称。
高斯全宽为X的半最大值。
高斯全宽在Y的半最大值处。
方法总结
evaluate
(x, y, amplitude, x_mean, y_mean, ...)二维高斯函数。
fit_deriv
(x, y, amplitude, x_mean, y_mean, ...)二维高斯函数对参数的导数。
属性文档
- amplitude = Parameter('amplitude', value=1.0)#
- input_units#
- param_names = ('amplitude', 'x_mean', 'y_mean', 'x_stddev', 'y_stddev', 'theta')#
描述此类型模型的参数的名称。
此元组中的参数与初始化特定类型的模型时应传入的顺序相同。某些类型的模型,如多项式模型,根据模型的某些其他属性(如阶数)有不同数量的参数。
定义自定义模型类时,此属性的值由
Parameter
在类中定义的body属性。
- theta = Parameter('theta', value=0.0)#
- x_fwhm#
高斯全宽为X的半最大值。
- x_mean = Parameter('x_mean', value=0.0)#
- x_stddev = Parameter('x_stddev', value=1.0)#
- y_fwhm#
高斯全宽在Y的半最大值处。
- y_mean = Parameter('y_mean', value=0.0)#
- y_stddev = Parameter('y_stddev', value=1.0)#
方法文件