Skip to content

set_aop_infoSetAopInfoSetAopInfoset_aop_infoset_aop_infoπŸ”—

Short descriptionπŸ”—

set_aop_infoSetAopInfoSetAopInfoset_aop_infoset_aop_info β€” Set AOP information for operators.

SignatureπŸ”—

set_aop_info( string OperatorName, string IndexName, string IndexValue, string InfoName, integer InfoValue )void SetAopInfo( const HTuple& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const HTuple& InfoName, const HTuple& InfoValue )static void HOperatorSet.SetAopInfo( HTuple operatorName, HTuple indexName, HTuple indexValue, HTuple infoName, HTuple infoValue )def set_aop_info( operator_name: MaybeSequence[Union[str, int]], index_name: MaybeSequence[Union[str, int]], index_value: MaybeSequence[Union[str, int]], info_name: str, info_value: MaybeSequence[int] ) -> None

Herror set_aop_info( const char* OperatorName, const char* IndexName, const char* IndexValue, const char* InfoName, const Hlong InfoValue )

Herror T_set_aop_info( const Htuple OperatorName, const Htuple IndexName, const Htuple IndexValue, const Htuple InfoName, const Htuple InfoValue )

static void HSystem::SetAopInfo( const HTuple& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const HString& InfoName, const HTuple& InfoValue )

static void HSystem::SetAopInfo( const HString& OperatorName, const HString& IndexName, const HString& IndexValue, const HString& InfoName, Hlong InfoValue )

static void HSystem::SetAopInfo( const char* OperatorName, const char* IndexName, const char* IndexValue, const char* InfoName, Hlong InfoValue )

static void HSystem::SetAopInfo( const wchar_t* OperatorName, const wchar_t* IndexName, const wchar_t* IndexValue, const wchar_t* InfoName, Hlong InfoValue ) (Windows only)

static void HSystem.SetAopInfo( HTuple operatorName, HTuple indexName, HTuple indexValue, string infoName, HTuple infoValue )

static void HSystem.SetAopInfo( string operatorName, string indexName, string indexValue, string infoName, int infoValue )

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_aopOptimizeAop and can also be partly read 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 addresses the index as returned in query_aop_infoQueryAopInfo. It is also possible to address multiple indices on the same stage to set a specific information value to multiple knowledge sets. Omitting an index name or passing an empty string as index value addresses this stage in all. E.g., passing ''"" to OperatorNameoperatorNameoperator_name, the tuple ['iconic_type', 'iconic_type']["iconic_type", "iconic_type"] to IndexNameindexNameindex_name, and the tuple ['byte', 'uint2']["byte", "uint2"] to IndexValueindexValueindex_value addresses all operators processing byte or uint2 images.

set_aop_infoSetAopInfo sets the specific information parts of an operator’s AOP knowledge passed in InfoValueinfoValueinfo_value. The scope of information is specified by InfoNameinfoNameinfo_name and supports the following:

  • 'max_threads'"max_threads" sets the maximum allowed thread number this operator is allowed to run with the specified iconic type and parameter value.

  • 'split_level'"split_level" sets the 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".

AttentionπŸ”—

set_aop_infoSetAopInfo modifies the AOP system knowledge. These modifications will also be stored by write_aop_knowledgeWriteAopKnowledge. It is advisable to have a backup knowledge file before modifying the system knowledge.

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(-array) β†’ (string / integer)HTuple (HString / Hlong)HTuple (string / int / long)MaybeSequence[Union[str, int]]Htuple (char* / Hlong)

Operator to set information to

Default: ''""

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

Further specific index

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

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

Further specific address

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

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

Scope of information

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

InfoValueinfoValueinfo_value (input_control) integer(-array) β†’ (integer)HTuple (Hlong)HTuple (int / long)MaybeSequence[int]Htuple (Hlong)

AOP information value

ResultπŸ”—

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

ModuleπŸ”—

Foundation