create_scattered_data_interpolatorT_create_scattered_data_interpolatorCreateScatteredDataInterpolatorCreateScatteredDataInterpolatorcreate_scattered_data_interpolator创建散乱数据插值器(算子)
名称
create_scattered_data_interpolatorT_create_scattered_data_interpolatorCreateScatteredDataInterpolatorCreateScatteredDataInterpolatorcreate_scattered_data_interpolator — 为散乱数据的插值创建插值器。
签名
void CreateScatteredDataInterpolator(const HTuple& Method, const HTuple& Rows, const HTuple& Columns, const HTuple& Values, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ScatteredDataInterpolatorHandle)
void HScatteredDataInterpolator::HScatteredDataInterpolator(const HString& Method, const HTuple& Rows, const HTuple& Columns, const HTuple& Values, const HTuple& GenParamName, const HTuple& GenParamValue)
void HScatteredDataInterpolator::HScatteredDataInterpolator(const char* Method, const HTuple& Rows, const HTuple& Columns, const HTuple& Values, const HTuple& GenParamName, const HTuple& GenParamValue)
void HScatteredDataInterpolator::HScatteredDataInterpolator(const wchar_t* Method, const HTuple& Rows, const HTuple& Columns, const HTuple& Values, const HTuple& GenParamName, const HTuple& GenParamValue)
(
Windows only)
void HScatteredDataInterpolator::CreateScatteredDataInterpolator(const HString& Method, const HTuple& Rows, const HTuple& Columns, const HTuple& Values, const HTuple& GenParamName, const HTuple& GenParamValue)
void HScatteredDataInterpolator::CreateScatteredDataInterpolator(const char* Method, const HTuple& Rows, const HTuple& Columns, const HTuple& Values, const HTuple& GenParamName, const HTuple& GenParamValue)
void HScatteredDataInterpolator::CreateScatteredDataInterpolator(const wchar_t* Method, const HTuple& Rows, const HTuple& Columns, const HTuple& Values, const HTuple& GenParamName, const HTuple& GenParamValue)
(
Windows only)
static void HOperatorSet.CreateScatteredDataInterpolator(HTuple method, HTuple rows, HTuple columns, HTuple values, HTuple genParamName, HTuple genParamValue, out HTuple scatteredDataInterpolatorHandle)
public HScatteredDataInterpolator(string method, HTuple rows, HTuple columns, HTuple values, HTuple genParamName, HTuple genParamValue)
void HScatteredDataInterpolator.CreateScatteredDataInterpolator(string method, HTuple rows, HTuple columns, HTuple values, HTuple genParamName, HTuple genParamValue)
def create_scattered_data_interpolator(method: str, rows: Sequence[Union[float, int]], columns: Sequence[Union[float, int]], values: Sequence[Union[float, int]], gen_param_name: Sequence[str], gen_param_value: Sequence[Union[str, int, float]]) -> HHandle
描述
create_scattered_data_interpolatorcreate_scattered_data_interpolatorCreateScatteredDataInterpolatorCreateScatteredDataInterpolatorCreateScatteredDataInterpolatorcreate_scattered_data_interpolator 用于创建插值器
ScatteredDataInterpolatorHandleScatteredDataInterpolatorHandleScatteredDataInterpolatorHandleScatteredDataInterpolatorHandlescatteredDataInterpolatorHandlescattered_data_interpolator_handle,用于对分散数据进行插值,这些数据以 RowsRowsRowsRowsrowsrows 和 ColumnsColumnsColumnsColumnscolumnscolumns 形式给定,并附有相应的测量 ValuesValuesValuesValuesvaluesvalues。通过 MethodMethodMethodMethodmethodmethod 参数指定应用于
interpolate_scattered_datainterpolate_scattered_dataInterpolateScatteredDataInterpolateScatteredDataInterpolateScatteredDatainterpolate_scattered_data 插值的算法。目前仅支持
'thin_plate_splines'"thin_plate_splines""thin_plate_splines""thin_plate_splines""thin_plate_splines""thin_plate_splines"。该方法采用全局插值,这意味着所有点都会被纳入插值计算,无论它们相距多远。远点的权重与 成正比,其中 r 定义了两点之间的距离。与 interpolate_scattered_data_imageinterpolate_scattered_data_imageInterpolateScatteredDataImageInterpolateScatteredDataImageInterpolateScatteredDataImageinterpolate_scattered_data_image 相比,
create_scattered_data_interpolatorcreate_scattered_data_interpolatorCreateScatteredDataInterpolatorCreateScatteredDataInterpolatorCreateScatteredDataInterpolatorcreate_scattered_data_interpolator 还支持 RowsRowsRowsRowsrowsrows 和 ColumnsColumnsColumnsColumnscolumnscolumns 的亚像素坐标。创建完成后,需调用 interpolate_scattered_datainterpolate_scattered_dataInterpolateScatteredDataInterpolateScatteredDataInterpolateScatteredDatainterpolate_scattered_data 来对未知值进行插值。通过将插值器的创建(create_scattered_data_interpolatorcreate_scattered_data_interpolatorCreateScatteredDataInterpolatorCreateScatteredDataInterpolatorCreateScatteredDataInterpolatorcreate_scattered_data_interpolator)与评估(interpolate_scattered_datainterpolate_scattered_dataInterpolateScatteredDataInterpolateScatteredDataInterpolateScatteredDatainterpolate_scattered_data)分离,后续步骤中对不同数据点进行插值的效率得以提升,因为插值器只需创建一次。
可通过 GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name 和 GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value 调整以下参数:
- 'alpha'"alpha""alpha""alpha""alpha""alpha":
-
参数 'alpha'"alpha""alpha""alpha""alpha""alpha" 是一个平滑因子。当 'alpha'"alpha""alpha""alpha""alpha""alpha" = 0 时,通过
RowsRowsRowsRowsrowsrows、ColumnsColumnsColumnsColumnscolumnscolumns 和 ValuesValuesValuesValuesvaluesvalues
传递的所有点均进行精确插值。随着 'alpha'"alpha""alpha""alpha""alpha""alpha" 增大,插值会平滑这些点,使得所有插值点都位于同一平面上。
默认值: 0
限制: 'alpha'"alpha""alpha""alpha""alpha""alpha" >= 0
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
此算子返回一个句柄。请注意,即使该句柄被用作特定算子的输入参数,这些算子仍可能改变此句柄类型的实例状态。
参数
MethodMethodMethodMethodmethodmethod (输入控制) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
插值方法。
默认值:
'thin_plate_splines'
"thin_plate_splines"
"thin_plate_splines"
"thin_plate_splines"
"thin_plate_splines"
"thin_plate_splines"
建议值:
'thin_plate_splines'"thin_plate_splines""thin_plate_splines""thin_plate_splines""thin_plate_splines""thin_plate_splines"
RowsRowsRowsRowsrowsrows (输入控制) point.y-array → HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
用于插值的点的行坐标。
ColumnsColumnsColumnsColumnscolumnscolumns (输入控制) point.x-array → HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
用于插值的点的列坐标。
ValuesValuesValuesValuesvaluesvalues (输入控制) number-array → HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
用于插值的点的值。
GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (输入控制) attribute.name-array → HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)
可调整的泛型参数的名称。
默认值:
[]
建议值:
'alpha'"alpha""alpha""alpha""alpha""alpha"
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (输入控制) attribute.value-array → HTupleSequence[Union[str, int, float]]HTupleHtuple (real / string / integer) (double / string / int / long) (double / HString / Hlong) (double / char* / Hlong)
可调整的泛型参数的值。
默认值:
[]
建议值:
0, 1.0, 10.0, 100.0
ScatteredDataInterpolatorHandleScatteredDataInterpolatorHandleScatteredDataInterpolatorHandleScatteredDataInterpolatorHandlescatteredDataInterpolatorHandlescattered_data_interpolator_handle (输出控制) scattered_data_interpolator → HScatteredDataInterpolator, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
散乱数据插值器的句柄。
结果
如果参数有效,算子
create_scattered_data_interpolatorcreate_scattered_data_interpolatorCreateScatteredDataInterpolatorCreateScatteredDataInterpolatorCreateScatteredDataInterpolatorcreate_scattered_data_interpolator 返回值 2 (H_MSG_TRUE)。如有必要,则抛出异常。
可能的后继
interpolate_scattered_datainterpolate_scattered_dataInterpolateScatteredDataInterpolateScatteredDataInterpolateScatteredDatainterpolate_scattered_data
模块
基础