Operator Reference

get_aop_infoT_get_aop_infoGetAopInfoGetAopInfoget_aop_info (Operator)

get_aop_infoT_get_aop_infoGetAopInfoGetAopInfoget_aop_info — Return AOP information for operators.

Signature

Herror T_get_aop_info(const Htuple OperatorName, const Htuple IndexName, const Htuple IndexValue, const Htuple InfoName, Htuple* InfoValue)

void GetAopInfo(const HTuple& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const HTuple& InfoName, HTuple* InfoValue)

static HTuple HSystem::GetAopInfo(const HTuple& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const HString& InfoName)

static HString HSystem::GetAopInfo(const HString& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const HString& InfoName)

static HString HSystem::GetAopInfo(const char* OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const char* InfoName)

static HString HSystem::GetAopInfo(const wchar_t* OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const wchar_t* InfoName)   ( Windows only)

static void HOperatorSet.GetAopInfo(HTuple operatorName, HTuple indexName, HTuple indexValue, HTuple infoName, out HTuple infoValue)

static HTuple HSystem.GetAopInfo(HTuple operatorName, HTuple indexName, HTuple indexValue, string infoName)

static string HSystem.GetAopInfo(string operatorName, HTuple indexName, HTuple indexValue, string infoName)

def get_aop_info(operator_name: Union[str, int], index_name: Sequence[str], index_value: Sequence[str], info_name: str) -> Sequence[str]

def get_aop_info_s(operator_name: Union[str, int], index_name: Sequence[str], index_value: Sequence[str], info_name: str) -> str

Description

HALCON supports a mechanism to optimize the behavior of automatic operator parallelization (AOP) for a given hardware of a machine. The information for this optimization can be determined by the operator optimize_aopoptimize_aopOptimizeAopOptimizeAopoptimize_aop and can also be partly modified by the operator set_aop_infoset_aop_infoSetAopInfoSetAopInfoset_aop_info.

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_infoQueryAopInfoQueryAopInfoquery_aop_info. The three hierarchy stages are indexed by the operator name, passed in OperatorNameOperatorNameOperatorNameoperatorNameoperator_name, the iconic type, and a parameter string value denoting a special mode or method supported by the indexed operator. The latter two indices are passed by IndexNameIndexNameIndexNameindexNameindex_name and IndexValueIndexValueIndexValueindexValueindex_value. IndexNameIndexNameIndexNameindexNameindex_name holds the dimension identifier whereas IndexValueIndexValueIndexValueindexValueindex_value holds the index value as returned in query_aop_infoquery_aop_infoQueryAopInfoQueryAopInfoquery_aop_info.

get_aop_infoget_aop_infoGetAopInfoGetAopInfoget_aop_info returns the specific information parts of an operator's AOP knowledge in InfoValueInfoValueInfoValueinfoValueinfo_value if exactly one index per stage was set. The scope of information is specified by InfoNameInfoNameInfoNameinfoNameinfo_name and supports following values:

'max_threads'"max_threads""max_threads""max_threads""max_threads"

returns the maximum allowed thread number. If no optimization data is stored, InfoValueInfoValueInfoValueinfoValueinfo_value contains -1. In case the specified operator does not support automatic parallelization, 1 is returned.

'split_level'"split_level""split_level""split_level""split_level"

returns all allowed data split levels of the automatic parallelization for this operator, the specified iconic type and parameter value. Possible levels are 'split_tuple'"split_tuple""split_tuple""split_tuple""split_tuple", 'split_channel'"split_channel""split_channel""split_channel""split_channel", 'split_domain'"split_domain""split_domain""split_domain""split_domain", and 'split_partial'"split_partial""split_partial""split_partial""split_partial". If no split level is supported or every level was switched off for the indexed operator an empty string ''"""""""" is returned. Use get_operator_infoget_operator_infoGetOperatorInfoGetOperatorInfoget_operator_info to query all split levels generally supported by an operator.

'model'"model""model""model""model"

returns the stored model type. Possible values are 'threshold'"threshold""threshold""threshold""threshold", 'linear'"linear""linear""linear""linear", and 'mlp'"mlp""mlp""mlp""mlp" (see also the description of operator optimize_aopoptimize_aopOptimizeAopOptimizeAopoptimize_aop). If no optimization data is stored, an empty string is returned.

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

OperatorNameOperatorNameOperatorNameoperatorNameoperator_name (input_control)  string HTupleUnion[str, int]HTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)

Operator to get information for

Suggested values: 'mean_image'"mean_image""mean_image""mean_image""mean_image", 'opening_circle'"opening_circle""opening_circle""opening_circle""opening_circle", 'find_shape_model'"find_shape_model""find_shape_model""find_shape_model""find_shape_model"

IndexNameIndexNameIndexNameindexNameindex_name (input_control)  string-array HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Further index stages

Default: ['iconic_type','parameter:0'] ["iconic_type","parameter:0"] ["iconic_type","parameter:0"] ["iconic_type","parameter:0"] ["iconic_type","parameter:0"]

IndexValueIndexValueIndexValueindexValueindex_value (input_control)  string-array HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Further index values

Number of elements: IndexName == IndexValue

Default: ['byte',''] ["byte",""] ["byte",""] ["byte",""] ["byte",""]

InfoNameInfoNameInfoNameinfoNameinfo_name (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Scope of information

Default: 'max_threads' "max_threads" "max_threads" "max_threads" "max_threads"

Suggested values: 'max_threads'"max_threads""max_threads""max_threads""max_threads", 'split_level'"split_level""split_level""split_level""split_level", 'model'"model""model""model""model"

InfoValueInfoValueInfoValueinfoValueinfo_value (output_control)  string(-array) HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Value of information

Result

get_aop_infoget_aop_infoGetAopInfoGetAopInfoget_aop_info returns 2 ( H_MSG_TRUE) if all parameters are correct. If necessary, an exception is raised.

Module

Foundation