HALCON Reference Manual 10.0.2
Table of Contents / Matching / Correlation-Based ClassesClassesClasses | | | Operators

determine_ncc_model_paramsT_determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParams (Operator)

Name

determine_ncc_model_paramsT_determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParams — Determine the parameters of an NCC model.

Signature

determine_ncc_model_params(Template : : NumLevels, AngleStart, AngleExtent, Metric, Parameters : ParameterName, ParameterValue)

Herror T_determine_ncc_model_params(const Hobject Template, const Htuple NumLevels, const Htuple AngleStart, const Htuple AngleExtent, const Htuple Metric, const Htuple Parameters, Htuple* ParameterName, Htuple* ParameterValue)

Herror determine_ncc_model_params(Hobject Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& Metric, const HTuple& Parameters, HTuple* ParameterName, HTuple* ParameterValue)

HTuple HNCCModel::DetermineNccModelParams(const HImage& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& Metric, const HTuple& Parameters, HTuple* ParameterValue)

void HOperatorSetX.DetermineNccModelParams(
[in] IHUntypedObjectX* Template, [in] VARIANT NumLevels, [in] VARIANT AngleStart, [in] VARIANT AngleExtent, [in] VARIANT Metric, [in] VARIANT Parameters, [out] VARIANT* ParameterName, [out] VARIANT* ParameterValue)

VARIANT HNCCModelX.DetermineNccModelParams(
[in] IHImageX* Template, [in] VARIANT NumLevels, [in] double AngleStart, [in] double AngleExtent, [in] BSTR Metric, [in] VARIANT Parameters, [out] VARIANT* ParameterValue)

static void HOperatorSet.DetermineNccModelParams(HObject template, HTuple numLevels, HTuple angleStart, HTuple angleExtent, HTuple metric, HTuple parameters, out HTuple parameterName, out HTuple parameterValue)

static HTuple HNCCModel.DetermineNccModelParams(HImage template, HTuple numLevels, double angleStart, double angleExtent, string metric, HTuple parameters, out HTuple parameterValue)

static HTuple HNCCModel.DetermineNccModelParams(HImage template, int numLevels, double angleStart, double angleExtent, string metric, string parameters, out HTuple parameterValue)

Description

determine_ncc_model_paramsdetermine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParams determines certain parameters of an NCC model automatically from the model image TemplateTemplateTemplateTemplatetemplate. The parameters to be determined can be specified with ParametersParametersParametersParametersparameters. determine_ncc_model_paramsdetermine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParams can be used to determine the same parameters that are determined automatically when the respective parameter in create_ncc_modelcreate_ncc_modelcreate_ncc_modelCreateNccModelCreateNccModel is set to 'auto'"auto""auto""auto""auto": the number of pyramid levels (ParametersParametersParametersParametersparameters = 'num_levels'"num_levels""num_levels""num_levels""num_levels") and/or the angle step length (ParametersParametersParametersParametersparameters = 'angle_step'"angle_step""angle_step""angle_step""angle_step"). By passing a tuple of the above values in ParametersParametersParametersParametersparameters, an arbitrary combination of these parameters can be determined. If all of the above parameters should be determined, the value 'all'"all""all""all""all" can be passed.

determine_ncc_model_paramsdetermine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParams is mainly useful to determine the above parameters before creating the model, e.g., in an interactive system, which makes suggestions for these parameters to the user, but enables the user to modify the suggested values.

The automatically determined parameters are returned as a name-value pair in ParameterNameParameterNameParameterNameParameterNameparameterName and ParameterValueParameterValueParameterValueParameterValueparameterValue. The parameter names in ParameterNameParameterNameParameterNameParameterNameparameterName are identical to the names in ParametersParametersParametersParametersparameters, where, of course, the value 'all'"all""all""all""all" is replaced by the actual parameter names.

The input parameters (NumLevelsNumLevelsNumLevelsNumLevelsnumLevels, AngleStartAngleStartAngleStartAngleStartangleStart, AngleExtentAngleExtentAngleExtentAngleExtentangleExtent, and MetricMetricMetricMetricmetric) have the same meaning as in create_ncc_modelcreate_ncc_modelcreate_ncc_modelCreateNccModelCreateNccModel. The description of these parameters can be looked up with this operator. These parameters are used by determine_ncc_model_paramsdetermine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParams to calculate the parameters to be determined in the same manner as in create_ncc_modelcreate_ncc_modelcreate_ncc_modelCreateNccModelCreateNccModel.

Note that in determine_ncc_model_paramsdetermine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParams the input parameter NumLevelsNumLevelsNumLevelsNumLevelsnumLevels can also be determined automatically. If this parameter should not be determined automatically, i.e., the name is not passed in ParametersParametersParametersParametersparameters, the parameter must contain a valid value and must not be set to 'auto'"auto""auto""auto""auto". In contrast, if the maximum number of pyramid levels is to be determined automatically, i.e., ParametersParametersParametersParametersparameters contains the value 'num_levels'"num_levels""num_levels""num_levels""num_levels", you can let HALCON determine a suitable value and at the same time specify an upper boundary:

If the maximum number of pyramid levels should be specified in advance, the input parameter NumLevelsNumLevelsNumLevelsNumLevelsnumLevels can be set to the particular value. If in this case ParametersParametersParametersParametersparameters contains the value 'num_levels'"num_levels""num_levels""num_levels""num_levels", the computed number of pyramid levels is at most NumLevelsNumLevelsNumLevelsNumLevelsnumLevels. If NumLevelsNumLevelsNumLevelsNumLevelsnumLevels is set to 'auto'"auto""auto""auto""auto" or 0, the number of pyramid levels is determined without restrictions as large as possible.

Attention

In some cases, the parameters that are returned by determine_ncc_model_paramsdetermine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParams slightly differ from the parameters that are used in create_ncc_modelcreate_ncc_modelcreate_ncc_modelCreateNccModelCreateNccModel. The latter can be queried using get_ncc_model_paramsget_ncc_model_paramsget_ncc_model_paramsGetNccModelParamsGetNccModelParams after applying create_ncc_modelcreate_ncc_modelcreate_ncc_modelCreateNccModelCreateNccModel

Parallelization

Parameters

TemplateTemplateTemplateTemplatetemplate (input_object)  singlechannelimage objectHImageHImageHImageXHobject (byte / uint2)

Input image whose domain will be used to create the model.

NumLevelsNumLevelsNumLevelsNumLevelsnumLevels (input_control)  integer HTupleHTupleVARIANTHtuple (integer / string) (int / long / string) (Hlong / char*) (Hlong / BSTR) (Hlong / char*)

Maximum number of pyramid levels.

Default value: 'auto' "auto" "auto" "auto" "auto"

List of values: 'auto'"auto""auto""auto""auto", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

AngleStartAngleStartAngleStartAngleStartangleStart (input_control)  angle.rad HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Smallest rotation of the model.

Default value: -0.39

Suggested values: -3.14, -1.57, -0.79, -0.39, -0.20, 0.0

AngleExtentAngleExtentAngleExtentAngleExtentangleExtent (input_control)  angle.rad HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Extent of the rotation angles.

Default value: 0.79

Suggested values: 6.29, 3.14, 1.57, 0.79, 0.39

Restriction: AngleExtent >= 0

MetricMetricMetricMetricmetric (input_control)  string HTupleHTupleVARIANTHtuple (string) (string) (char*) (BSTR) (char*)

Match metric.

Default value: 'use_polarity' "use_polarity" "use_polarity" "use_polarity" "use_polarity"

List of values: 'use_polarity'"use_polarity""use_polarity""use_polarity""use_polarity", 'ignore_global_polarity'"ignore_global_polarity""ignore_global_polarity""ignore_global_polarity""ignore_global_polarity"

ParametersParametersParametersParametersparameters (input_control)  string(-array) HTupleHTupleVARIANTHtuple (string) (string) (char*) (BSTR) (char*)

Parameters to be determined automatically.

Default value: 'all' "all" "all" "all" "all"

List of values: 'all'"all""all""all""all", 'num_levels'"num_levels""num_levels""num_levels""num_levels", 'angle_step'"angle_step""angle_step""angle_step""angle_step"

ParameterNameParameterNameParameterNameParameterNameparameterName (output_control)  string-array HTupleHTupleVARIANTHtuple (string) (string) (char*) (BSTR) (char*)

Name of the automatically determined parameter.

ParameterValueParameterValueParameterValueParameterValueparameterValue (output_control)  number-array HTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong)

Value of the automatically determined parameter.

Result

If the parameters are valid, the operator determine_ncc_model_paramsdetermine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParams returns the value 2 (H_MSG_TRUE).

Possible Successors

create_ncc_modelcreate_ncc_modelcreate_ncc_modelCreateNccModelCreateNccModel

See also

find_ncc_modelfind_ncc_modelfind_ncc_modelFindNccModelFindNccModel

Module

Matching


Table of Contents / Matching / Correlation-Based ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH