ClassesClassesClassesClasses | | | | Operators

set_aop_infoset_aop_infoSetAopInfoset_aop_infoSetAopInfoSetAopInfo (Operator)

Name

set_aop_infoset_aop_infoSetAopInfoset_aop_infoSetAopInfoSetAopInfo — Sets AOP information for operators.

Signature

set_aop_info( : : OperatorName, IndexName, IndexValue, InfoName, InfoValue : )

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)

Herror set_aop_info(const HTuple& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const HTuple& InfoName, const HTuple& InfoValue)

void SetAopInfo(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)

void HOperatorSetX.SetAopInfo(
[in] VARIANT OperatorName, [in] VARIANT IndexName, [in] VARIANT IndexValue, [in] VARIANT InfoName, [in] VARIANT InfoValue)

void HSystemX.SetAopInfo(
[in] VARIANT OperatorName, [in] VARIANT IndexName, [in] VARIANT IndexValue, [in] BSTR InfoName, [in] VARIANT InfoValue)

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

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_aopoptimize_aopOptimizeAopoptimize_aopOptimizeAopOptimizeAop and can also be partly read by the operator set_aop_infoset_aop_infoSetAopInfoset_aop_infoSetAopInfoSetAopInfo.

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_infoQueryAopInfoquery_aop_infoQueryAopInfoQueryAopInfo. The three hierarchy stages are indexed by the operator name, passed in OperatorNameOperatorNameOperatorNameOperatorNameOperatorNameoperatorName, 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 IndexNameIndexNameIndexNameIndexNameIndexNameindexName and IndexValueIndexValueIndexValueIndexValueIndexValueindexValue. IndexNameIndexNameIndexNameIndexNameIndexNameindexName holds the dimension identifier whereas IndexValueIndexValueIndexValueIndexValueIndexValueindexValue addresses the index as retured in query_aop_infoquery_aop_infoQueryAopInfoquery_aop_infoQueryAopInfoQueryAopInfo. 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 OperatorNameOperatorNameOperatorNameOperatorNameOperatorNameoperatorName, the tuple ['iconic_type','iconic_type']["iconic_type","iconic_type"]["iconic_type","iconic_type"]["iconic_type","iconic_type"]["iconic_type","iconic_type"]["iconic_type","iconic_type"] to IndexNameIndexNameIndexNameIndexNameIndexNameindexName, and the tuple ['byte','uint2']["byte","uint2"]["byte","uint2"]["byte","uint2"]["byte","uint2"]["byte","uint2"] to IndexValueIndexValueIndexValueIndexValueIndexValueindexValue addresses all operators processing byte or uint2 images.

set_aop_infoset_aop_infoSetAopInfoset_aop_infoSetAopInfoSetAopInfo sets the specific information parts of an operator's AOP knowledge passed in InfoValueInfoValueInfoValueInfoValueInfoValueinfoValue. The scope of information is specified by InfoNameInfoNameInfoNameInfoNameInfoNameinfoName and supports the following:

'max_threads'"max_threads""max_threads""max_threads""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""split_level""split_level""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_tuple""split_tuple""split_tuple""split_tuple", 'split_channel'"split_channel""split_channel""split_channel""split_channel""split_channel", 'split_domain'"split_domain""split_domain""split_domain""split_domain""split_domain", and 'split_partial'"split_partial""split_partial""split_partial""split_partial""split_partial".

Attention

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

Parallelization

Parameters

OperatorNameOperatorNameOperatorNameOperatorNameOperatorNameoperatorName (input_control)  string(-array) HTupleHTupleHTupleVARIANTHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong) (BSTR / Hlong) (char* / Hlong)

Operator to set information to

Default value: '' "" "" "" "" ""

IndexNameIndexNameIndexNameIndexNameIndexNameindexName (input_control)  string(-array) HTupleHTupleHTupleVARIANTHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong) (BSTR / Hlong) (char* / Hlong)

Further specific index

Default value: '' "" "" "" "" ""

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

IndexValueIndexValueIndexValueIndexValueIndexValueindexValue (input_control)  string(-array) HTupleHTupleHTupleVARIANTHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong) (BSTR / Hlong) (char* / Hlong)

Further specific address

Number of elements: IndexName == IndexValue

Default value: '' "" "" "" "" ""

Suggested values: 'byte'"byte""byte""byte""byte""byte", ['uint2','']["uint2",""]["uint2",""]["uint2",""]["uint2",""]["uint2",""]

InfoNameInfoNameInfoNameInfoNameInfoNameinfoName (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Scope of information

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

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

InfoValueInfoValueInfoValueInfoValueInfoValueinfoValue (input_control)  integer(-array) HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

AOP information value

Result

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

Module

Foundation


ClassesClassesClassesClasses | | | | Operators