discretize_model#
- astropy.convolution.discretize_model(model, x_range, y_range=None, mode='center', factor=10)[源代码]#
评估像素网格上的分析模型函数。
- 参数:
- model :
Model或者是可召唤的。模型或可调用。 需要离散化的分析模型函数。可调用对象不是
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'。否则就被忽略了。
- model :
- 返回:
- 数组 :
numpy.ndarraynumpy.ndarray 离散化的模型数组。
- 数组 :
实例
在本例中,我们定义了一个
Gaussian1D已标准化的模型,因此其总和为1.0。然后,我们使用'center','linear_interp',以及'oversample'(带factor=10)模式。(
Source code,png,svg,pdf)