query_aop_infoT_query_aop_infoQueryAopInfoQueryAopInfoquery_aop_info (Operator)
Name
query_aop_infoT_query_aop_infoQueryAopInfoQueryAopInfoquery_aop_info
— Query indexing structure of AOP information for operators.
Signature
void QueryAopInfo(const HTuple& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, HTuple* Name, HTuple* Value)
static HTuple HSystem::QueryAopInfo(const HTuple& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, HTuple* Value)
static HTuple HSystem::QueryAopInfo(const HString& OperatorName, const HString& IndexName, const HString& IndexValue, HTuple* Value)
static HTuple HSystem::QueryAopInfo(const char* OperatorName, const char* IndexName, const char* IndexValue, HTuple* Value)
static HTuple HSystem::QueryAopInfo(const wchar_t* OperatorName, const wchar_t* IndexName, const wchar_t* IndexValue, HTuple* Value)
(Windows only)
static void HOperatorSet.QueryAopInfo(HTuple operatorName, HTuple indexName, HTuple indexValue, out HTuple name, out HTuple value)
static HTuple HSystem.QueryAopInfo(HTuple operatorName, HTuple indexName, HTuple indexValue, out HTuple value)
static HTuple HSystem.QueryAopInfo(string operatorName, string indexName, string indexValue, out HTuple value)
def query_aop_info(operator_name: Union[str, int], index_name: MaybeSequence[Union[str, int]], index_value: MaybeSequence[Union[str, int]]) -> Tuple[Sequence[str], Sequence[str]]
Description
HALCON supports a mechanism to adapt the behavior of automatic
parallelization of image processing operators (AOP) to the machine's
hardware capability. The
information for this adaption can be obtained by the operator
optimize_aopoptimize_aopOptimizeAopOptimizeAopOptimizeAopoptimize_aop
and can be partly read and modified by the operators
get_aop_infoget_aop_infoGetAopInfoGetAopInfoGetAopInfoget_aop_info
and set_aop_infoset_aop_infoSetAopInfoSetAopInfoSetAopInfoset_aop_info
, respectively. To address
specific AOP information the operator's optimization data is indexed within
a 3-ary hierarchy that can be obtained by query_aop_infoquery_aop_infoQueryAopInfoQueryAopInfoQueryAopInfoquery_aop_info
. The
three hierarchy stages are indexed by the operator name, the iconic type,
and a parameter string value denoting a special mode or method supported by
the operator.
If an empty string ''"""""""""" is passed to OperatorNameOperatorNameOperatorNameOperatorNameoperatorNameoperator_name
,
the parameters IndexNameIndexNameIndexNameIndexNameindexNameindex_name
and IndexValueIndexValueIndexValueIndexValueindexValueindex_value
are ignored and
all operator names in ValueValueValueValuevaluevalue
are returned, for which optimization
data is stored.
NameNameNameNamenamename
contains the index identifier 'operator'"operator""operator""operator""operator""operator" as many
times as operator names are returned. Specifying a single operator
name in OperatorNameOperatorNameOperatorNameOperatorNameoperatorNameoperator_name
and passing an empty string ''"""""""""" to the
parameters
IndexNameIndexNameIndexNameIndexNameindexNameindex_name
and IndexValueIndexValueIndexValueIndexValueindexValueindex_value
queries all iconic types
the operator holds optimization data for. ValueValueValueValuevaluevalue
contains the type
strings, NameNameNameNamenamename
the index identifier 'iconic_type'"iconic_type""iconic_type""iconic_type""iconic_type""iconic_type",
respectively. Finally, when specifying a certain
operator in OperatorNameOperatorNameOperatorNameOperatorNameoperatorNameoperator_name
and a specific iconic type by passing the
dimension identifier 'iconic_type'"iconic_type""iconic_type""iconic_type""iconic_type""iconic_type" to IndexNameIndexNameIndexNameIndexNameindexNameindex_name
and
the specific iconic type to IndexValueIndexValueIndexValueIndexValueindexValueindex_value
, NameNameNameNamenamename
contains
the parameter index identifier ValueValueValueValuevaluevalue
holds the parameter string
values supported by the operator. The format of the parameter identifier
string is compound containing the string 'parameter'"parameter""parameter""parameter""parameter""parameter", followed by
a colon separator ':'":"":"":"":"":" and a digit, denoting the
parameter index (starting with 1). If the operator does not
support any mode parameter or the operator's parameter values were not
varied during optimization process of optimize_aopoptimize_aopOptimizeAopOptimizeAopOptimizeAopoptimize_aop
the string
'parameter:0'"parameter:0""parameter:0""parameter:0""parameter:0""parameter:0" is returned for NameNameNameNamenamename
and ValueValueValueValuevaluevalue
contains an empty string. In case no AOP information is stored for the
specified index, NameNameNameNamenamename
returns an empty string.
Execution Information
- Multithreading type: exclusive (runs in parallel only with independent operators).
- Multithreading scope: local (may only be called from the same thread in which the window, model, or tool instance was created).
- Processed without parallelization.
Parameters
OperatorNameOperatorNameOperatorNameOperatorNameoperatorNameoperator_name
(input_control) string →
HTupleUnion[str, int]HTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)
Operator to get information for
Default value:
''
""
""
""
""
""
IndexNameIndexNameIndexNameIndexNameindexNameindex_name
(input_control) string(-array) →
HTupleMaybeSequence[Union[str, int]]HTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)
Further specific index
Default value:
''
""
""
""
""
""
Suggested values: ''"""""""""", 'iconic_type'"iconic_type""iconic_type""iconic_type""iconic_type""iconic_type"
IndexValueIndexValueIndexValueIndexValueindexValueindex_value
(input_control) string(-array) →
HTupleMaybeSequence[Union[str, int]]HTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)
Further specific address
Number of elements: IndexName == IndexValue
Default value:
''
""
""
""
""
""
Suggested values: ''"""""""""", 'byte'"byte""byte""byte""byte""byte", 'int1'"int1""int1""int1""int1""int1", 'int2'"int2""int2""int2""int2""int2", 'uint2'"uint2""uint2""uint2""uint2""uint2", 'int4'"int4""int4""int4""int4""int4", 'int8'"int8""int8""int8""int8""int8", 'direction'"direction""direction""direction""direction""direction", 'cyclic'"cyclic""cyclic""cyclic""cyclic""cyclic", 'vector_field'"vector_field""vector_field""vector_field""vector_field""vector_field", 'complex'"complex""complex""complex""complex""complex", 'region'"region""region""region""region""region", 'xld'"xld""xld""xld""xld""xld", 'xld_cont'"xld_cont""xld_cont""xld_cont""xld_cont""xld_cont", 'xld_poly'"xld_poly""xld_poly""xld_poly""xld_poly""xld_poly"
NameNameNameNamenamename
(output_control) string-array →
HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Name of next index stage
ValueValueValueValuevaluevalue
(output_control) string-array →
HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Values of next index stage
Result
query_aop_infoquery_aop_infoQueryAopInfoQueryAopInfoQueryAopInfoquery_aop_info
returns TRUE if all parameters are correct.
If necessary, an exception is raised.
Module
Foundation