洛伦兹2D#

class astropy.modeling.functional_models.Lorentz2D(amplitude=1, x_0=0, y_0=0, fwhm=1, **kwargs)[源代码]#

基类:Fittable2DModel

二维洛伦兹模型。

参数:
amplitude : floatQuantityPython :浮点或数量。

峰值。

x_0 : floatQuantityPython :浮点或数量。

x中峰值的位置。

y_0 : floatQuantity .Python :浮点或数量。

y中峰值的位置。

fwhm : floatQuantityPython :浮点或数量。

半高宽(FWHM)。

笔记

x , y , x_0 , y_0 ,而且 fwhm 输入必须具有兼容的单位或无单位数字。

模型公式:

\[f(x, y) = \frac{A \gamma^{2}}{\gamma^{2} + \left(x - x_{0}\right)^2 + \left(y - y_{0}\right)^{2}}\]

哪里 \(\gamma\) 是半高半宽(HWHM),即FWHM的一半。

线下面积 Lorentz2D 轮廓是无限的,因此该模型轮廓无法被标准化为和为1。

实例

import numpy as np
import matplotlib.pyplot as plt

from astropy.modeling.models import Lorentz2D

plt.figure()
model = Lorentz2D(x_0=12, y_0=12, fwhm=3)
yy, xx = np.mgrid[:25, :25]
data = model(xx, yy)

plt.imshow(data)
plt.show()

(png, svg, pdf)

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

属性摘要

amplitude 

fwhm 

input_units 

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

param_names 

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

x_0 

y_0 

方法总结

evaluate(x, y, amplitude, x_0, y_0, fwhm)

二维洛伦兹模型函数。

fit_deriv(x, y, amplitude, x_0, y_0, fwhm)

二维洛伦兹模型相对于参数的求导。

属性文档

amplitude = Parameter('amplitude', value=1.0)#
fwhm = Parameter('fwhm', value=1.0)#
input_units#
param_names = ('amplitude', 'x_0', 'y_0', 'fwhm')#

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

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

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

x_0 = Parameter('x_0', value=0.0)#
y_0 = Parameter('y_0', value=0.0)#

方法文件

static evaluate(x, y, amplitude, x_0, y_0, fwhm)[源代码]#

二维洛伦兹模型函数。

static fit_deriv(x, y, amplitude, x_0, y_0, fwhm)[源代码]#

二维洛伦兹模型相对于参数的求导。