高斯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)[源代码]

基类:astropy.modeling.core.Fittable2DModel

二维高斯模型。

参数
振幅 :浮动或 Quantity浮动或

高斯的振幅(峰值)。

x_mean :浮动或 Quantity浮动或

高斯平均值。

y_mean :浮动或 Quantity浮动或

高斯平均值。

x_stddev :浮动或 Quantity 或者什么都没有。浮动或

以θ旋转前高斯在x轴上的标准偏差。如果协方差矩阵 (cov_matrix )提供。如果没有 cov_matrix 给出, None 表示默认值(1)。

y_stddev :浮动或 Quantity 或者什么都没有。浮动或

在θ旋转之前高斯在y轴上的标准偏差。如果协方差矩阵 (cov_matrix )提供。如果没有 cov_matrix 给出, None 表示默认值(1)。

西塔 :浮动或 Quantity ,可选。浮动或

旋转角度(以弧度表示的值)。旋转角度逆时针增加。如果协方差矩阵为None,则必须为None (cov_matrix )。如果没有 cov_matrix 给出了, None 表示默认值(0)。

cov_matrixndarray,可选

一个2x2协方差矩阵。如果指定,则重写 x_stddevy_stddevtheta 默认值。

其他参数
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 是一个成功优化的问题。

笔记

全部输入或不输入 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\左(\vec{x}-\vec{x}}{0}\right)^{T}\Sigma^{-1}\左(\vec{x}-\vec{x}}\vec{0}\right)}\]

在哪里? \(\vec{{x}} = [x, y]\)\(\vec{{x}}_{{0}} = [x_{{0}}, y_{{0}}]\)\(\Sigma\) 是协方差矩阵:

\[\Sigma=\左(\begin{array}{ccc}\]

\(\rho\) 两者之间的相关性 xy ,应介于-1和+1之间。正相关对应于 theta 在0到90度的范围内。负相关对应于 theta 在0到-90度的范围内。

[1] 更多关于二维高斯函数的细节。

工具书类

1

https://en.wikipedia.org/wiki/Gaussian_function

属性摘要

amplitude 

input_units 

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

param_names 

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

theta 

x_fwhm 

高斯全宽为X的半最大值。

x_mean 

x_stddev 

y_fwhm 

高斯全宽在Y的半最大值处。

y_mean 

y_stddev 

方法总结

evaluate \(x,y,振幅,x u平均,y u平均,…)

二维高斯函数

fit_deriv \(x,y,振幅,x u平均,y u平均,…)

二维高斯函数对参数的导数

属性文档

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)

方法文件

static evaluate(x, y, amplitude, x_mean, y_mean, x_stddev, y_stddev, theta)[源代码]

二维高斯函数

static fit_deriv(x, y, amplitude, x_mean, y_mean, x_stddev, y_stddev, theta)[源代码]

二维高斯函数对参数的导数