query_aop_info
— Abfragen von Indizierungs-Informationen über HALCONs automatische
Operator-Parallelisierung.
query_aop_info( : : OperatorName, IndexName, IndexValue : Name, Value)
HALCON unterstützt einen Mechanismus, um das Verhalten der automatischen
Parallelisierung von Operatoren (AOP) an Mehrprozessorarchitekturen
anzupassen und Operatoren zu beschleunigen.
Dazu können für jeden Operator, der sich auf Tupel-, Kanal- oder
Domain-Ebene parallelisieren lässt, mit Hilfe von
optimize_aop
Abhängigkeiten des Laufzeitverhaltens von der
Hardware und Eingabeparametern ermittelt werden und durch die Operatoren
get_aop_info
und set_aop_info
teilweise gelesen oder
verändert werden. Um diese operatorspezifischen Informationen
adressieren zu können, sind die Daten in einer 3-stufigen Hierarchie
indizierbar, die sich mit query_aop_info
abfragen
lässt. Die drei Indizierungsstufen setzen sich durch den
Operatornamen, den ikonischen Bildtyp und optional einen
Parameterstring zusammen, der einen speziellen Modus oder Methode des
Operators spezifiziert.
Übergibt man in OperatorName
einen leeren String '' ,
werden die Parameter IndexName
und IndexValue
ignoriert und alle Operatornamen in Value
zurückgegeben, für
die AOP-Optimierungsdaten vorhanden sind. Name
enthält für
jeden Operatornamen die entsprechende Indexkennung
'operator' . Wird ein einzelner Operatorname mit
OperatorName
spezifiziert und ein leerer String ''
den Parametern IndexName
und IndexValue
übergeben,
werden alle ikonischen Typen erfragt, für die der Operator Informationen
vorhält. Value
enthält den ikonischen Typ in Form eines
Strings, Name
die Indexkennung
'iconic_type' . Schließlich können die Parameterkennungen
für einen ikonischen Typ eines Operators erfragt werden, wenn
OperatorName
den Operatornamen, IndexName
die
Kennung 'iconic_type' und IndexValue
den bestimmten
ikonischen Typ enthält. Name
enthält dann die
Parameterkennung, Value
den entsprechenden Parameterwert des
Operators, der eine spezielle Methode beschreibt Das Format des Strings der
Parameterkennung setzt sich aus dem String 'parameter'
zusammen, gefolgt von einem Doppelpunkt-Trennzeichen ':' und
einer Zahl, die die Parameterposition unter den
Eingabe-Kontrollparameter des Operators beschreibt (beginnend bei
1). Falls der Operator keinen Methode-Parameter unterstützt oder keine
parameterspezifischen Informationen für den Operator mit
optimize_aop
ermittelt wurden, wird der String
'parameter:0' für Name
zurückgegeben, während
Value
einen leeren String enthält. Falls jedoch keine
AOP-Informationen für die spezifizierte Kennung vorliegen, enthält
Name
einen leeren String.
OperatorName
(input_control) string →
(string / integer)
Operator für AOP-Information.
Defaultwert: ''
IndexName
(input_control) string(-array) →
(string / integer)
Indizierungsname.
Defaultwert: ''
Wertevorschläge: '' , 'iconic_type'
IndexValue
(input_control) string(-array) →
(string / integer)
Adressierungswert.
Parameteranzahl: IndexName == IndexValue
Defaultwert: ''
Wertevorschläge: '' , 'byte' , 'int1' , 'int2' , 'uint2' , 'int4' , 'int8' , 'direction' , 'cyclic' , 'vector_field' , 'complex' , 'region' , 'xld' , 'xld_cont' , 'xld_poly'
Name
(output_control) string-array →
(string)
Nächster Indizierungsname.
Value
(output_control) string-array →
(string)
Zugehöriger Addressierungswert.
Sind die Parameterwerte korrekt, dann liefert read_aop_knowledge
den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Foundation