determine_ncc_model_paramsT_determine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParams (Operator)
Name
determine_ncc_model_paramsT_determine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParams
— Determine the parameters of an NCC model.
Signature
void DetermineNccModelParams(const HObject& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& Metric, const HTuple& Parameters, HTuple* ParameterName, HTuple* ParameterValue)
static HTuple HNCCModel::DetermineNccModelParams(const HImage& Template, const HTuple& NumLevels, double AngleStart, double AngleExtent, const HString& Metric, const HTuple& Parameters, HTuple* ParameterValue)
static HTuple HNCCModel::DetermineNccModelParams(const HImage& Template, Hlong NumLevels, double AngleStart, double AngleExtent, const HString& Metric, const HString& Parameters, HTuple* ParameterValue)
static HTuple HNCCModel::DetermineNccModelParams(const HImage& Template, Hlong NumLevels, double AngleStart, double AngleExtent, const char* Metric, const char* Parameters, HTuple* ParameterValue)
static HTuple HNCCModel::DetermineNccModelParams(const HImage& Template, Hlong NumLevels, double AngleStart, double AngleExtent, const wchar_t* Metric, const wchar_t* Parameters, HTuple* ParameterValue)
(Windows only)
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_paramsDetermineNccModelParamsDetermineNccModelParamsDetermineNccModelParams
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_paramsDetermineNccModelParamsDetermineNccModelParamsDetermineNccModelParams
can
be used to determine the same parameters that are determined
automatically when the respective parameter in
create_ncc_modelcreate_ncc_modelCreateNccModelCreateNccModelCreateNccModel
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_paramsDetermineNccModelParamsDetermineNccModelParamsDetermineNccModelParams
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_modelCreateNccModelCreateNccModelCreateNccModel
. The description of these parameters
can be looked up with this operator. These parameters are used
by determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParamsDetermineNccModelParams
to calculate the parameters
to be determined in the same manner as in create_ncc_modelcreate_ncc_modelCreateNccModelCreateNccModelCreateNccModel
.
Note that in determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParamsDetermineNccModelParams
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.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Parameters
TemplateTemplateTemplateTemplatetemplate
(input_object) singlechannelimage →
objectHImageHImageHobject (byte / uint2)
Input image whose domain will be used to create
the model.
NumLevelsNumLevelsNumLevelsNumLevelsnumLevels
(input_control) integer →
HTupleHTupleHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)
Maximum number of pyramid levels.
Default value:
'auto'
"auto"
"auto"
"auto"
"auto"
List of values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'auto'"auto""auto""auto""auto"
AngleStartAngleStartAngleStartAngleStartangleStart
(input_control) angle.rad →
HTupleHTupleHtuple (real) (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 →
HTupleHTupleHtuple (real) (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 →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Match metric.
Default value:
'use_polarity'
"use_polarity"
"use_polarity"
"use_polarity"
"use_polarity"
List of values: 'ignore_global_polarity'"ignore_global_polarity""ignore_global_polarity""ignore_global_polarity""ignore_global_polarity", 'use_polarity'"use_polarity""use_polarity""use_polarity""use_polarity"
ParametersParametersParametersParametersparameters
(input_control) string(-array) →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Parameters to be determined automatically.
Default value:
'all'
"all"
"all"
"all"
"all"
List of values: 'all'"all""all""all""all", 'angle_step'"angle_step""angle_step""angle_step""angle_step", 'num_levels'"num_levels""num_levels""num_levels""num_levels"
ParameterNameParameterNameParameterNameParameterNameparameterName
(output_control) string-array →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Name of the automatically determined parameter.
ParameterValueParameterValueParameterValueParameterValueparameterValue
(output_control) number-array →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Value of the automatically determined parameter.
Result
If the parameters are valid, the operator
determine_ncc_model_paramsdetermine_ncc_model_paramsDetermineNccModelParamsDetermineNccModelParamsDetermineNccModelParams
returns the value 2 (H_MSG_TRUE).
Possible Successors
create_ncc_modelcreate_ncc_modelCreateNccModelCreateNccModelCreateNccModel
See also
find_ncc_modelfind_ncc_modelFindNccModelFindNccModelFindNccModel
Module
Matching