Skip to content

get_aop_infoGetAopInfoGetAopInfoget_aop_infoT_get_aop_infoπŸ”—

Short descriptionπŸ”—

get_aop_infoGetAopInfoGetAopInfoget_aop_infoT_get_aop_info β€” Return AOP information for operators.

SignatureπŸ”—

get_aop_info( string OperatorName, string IndexName, string IndexValue, string InfoName, out string InfoValue )void GetAopInfo( const HTuple& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const HTuple& InfoName, HTuple* InfoValue )static void HOperatorSet.GetAopInfo( HTuple operatorName, HTuple indexName, HTuple indexValue, HTuple infoName, out HTuple infoValue )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 ) -> strHerror T_get_aop_info( 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 HTuple HSystem.GetAopInfo( HTuple operatorName, HTuple indexName, HTuple indexValue, string infoName )

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

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_aopOptimizeAop and can also be partly modified by the operator set_aop_infoSetAopInfo.

To address specific AOP information, the operator’s optimization data is indexed within a 3-ary hierarchy that can be obtained by query_aop_infoQueryAopInfo. The three hierarchy stages are indexed by the operator name, passed in OperatorNameoperatorNameoperator_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 IndexNameindexNameindex_name and IndexValueindexValueindex_value. IndexNameindexNameindex_name holds the dimension identifier whereas IndexValueindexValueindex_value holds the index value as returned in query_aop_infoQueryAopInfo.

get_aop_infoGetAopInfo returns the specific information parts of an operator’s AOP knowledge in InfoValueinfoValueinfo_value if exactly one index per stage was set. The scope of information is specified by InfoNameinfoNameinfo_name and supports following values:

  • 'max_threads'"max_threads" returns the maximum allowed thread number. If no optimization data is stored, InfoValueinfoValueinfo_value contains -1-1. In case the specified operator does not support automatic parallelization, 11 is returned.

  • '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_channel'"split_channel", 'split_domain'"split_domain", and '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_infoGetOperatorInfo to query all split levels generally supported by an operator.

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

Execution informationπŸ”—

Execution information
  • Multithreading type: exclusive (runs in parallel only with independent operators).

  • Multithreading scope: global (may be called from any thread).

ParametersπŸ”—

OperatorNameoperatorNameoperator_name (input_control) string β†’ (string / integer)HTuple (HString / Hlong)HTuple (string / int / long)Union[str, int]Htuple (char* / Hlong)

Operator to get information for

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

IndexNameindexNameindex_name (input_control) string-array β†’ (string)HTuple (HString)HTuple (string)Sequence[str]Htuple (char*)

Further index stages

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

IndexValueindexValueindex_value (input_control) string-array β†’ (string)HTuple (HString)HTuple (string)Sequence[str]Htuple (char*)

Further index values

Number of elements: IndexName == IndexValue
Default: ['byte', '']["byte", ""]

InfoNameinfoNameinfo_name (input_control) string β†’ (string)HTuple (HString)HTuple (string)strHtuple (char*)

Scope of information

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

InfoValueinfoValueinfo_value (output_control) string(-array) β†’ (string)HTuple (HString)HTuple (string)Sequence[str]Htuple (char*)

Value of information

ResultπŸ”—

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

ModuleπŸ”—

Foundation