discretize_model#

astropy.convolution.discretize_model(model, x_range, y_range=None, mode='center', factor=10)[源代码]#

评估像素网格上的分析模型函数。

参数:
modelModel 或者是可召唤的。模型或可调用。

需要离散化的分析模型函数。可调用对象不是 Model 使用将实例转换为模型 custom_model

x_range二元语义

评估模型的x个像素值的上下限。上限是非包含的。一个 x_range(0, 3) 意味着模型将在x像素0、1和2处求值。上下限之间的差值必须是整数,这样才能很好地定义输出数组大小。

y_range :2元组或 None ,可选2元组或

评估模型的y像素值的上下限。上限是非包含的。一个 y_range(0, 3) 意味着模型将以0、1和2的y像素进行求值。上下限之间的差值必须是整数,这样才能很好地定义输出数组大小。 y_range 仅对二维模型是必需的。

mode{‘CENTER’,‘LINEAR_INTERP’,‘OVERSAME’,‘INTEGRATE’},可选
以下模式之一:
  • 'center' (默认)

    通过取像素箱中心的值来离散化模型。

  • 'linear_interp'

    通过在像素箱的边(1D)或角(2D)处的值之间进行线性内插来离散模型。对于2D模型,内插是双线性的。

  • 'oversample'

    通过取过采样栅格上的像素箱中的模型值的平均值来离散模型。使用 factor 关键字来设置整数过采样系数。

  • 'integrate'

    通过使用在像素柱上集成模型来离散模型 scipy.integrate.quad 。此模式在亚像素尺度上保留模型积分,但速度非常慢。

factor : int ,可选PYTHON:int,可选

在以下情况下使用的整数过采样系数 mode='oversample' 。否则就被忽略了。

返回:
数组numpy.ndarraynumpy.ndarray

离散化的模型数组。

实例

在本例中,我们定义了一个 Gaussian1D 已标准化的模型,因此其总和为1.0。然后,我们使用 'center''linear_interp' ,以及 'oversample' (带 factor=10 )模式。

(Source code, png, svg, pdf)

../_images/astropy-convolution-discretize_model-1.png