Download HALCON Extension Package Programmer`s Manual

Transcript
CHAPTER 2. OPERATOR DESCRIPTION (’DEF’-FILES)
24
Note that the slot method may contain any combination of the strings ‘split tuple’,
‘split channel’, and ‘split domain’, because an operator may be parallelized by using any
combination of those three methods. However, if ‘none’ is specified with the slot method,
no other string should be specified with it in order to keep the description consistent.
If no slot method is filled in with an operator, it is assumed that the operator is not suitable
for being automatically parallelized (“pessimistic” assumption).
domain split: an unsigned integer value ;
This subslot of parallelization must (only) be set for operators that are suitable for
being parallelized by splitting the domain of iconic input objects (i.e. slot method contains
‘split domain’). For such operators the value of domain split assigns, whether the input
domain may be split disjunctively (value ‘0’) or not. In the latter case the domain is split
into several overlapping stripes (note, that the splitting of domain regions is always
done row-wise).
If the domain is split disjunctively, the value (> 0) of domain split assigns the index ([1..n]) of that input control parameter which determines the extent of the overlapping regions (in number of pixels) by its content. For example, for the operator
eliminate min max the extent of the overlapping regions depends on the height of the
filter mask. Therefore, the content of the second input control parameter (compare the
operator’s description in the Reference Manuals) directly determines the extent of the
overlapping regions. Thus, the slot domain split is set to ‘2’ for eliminate min max.
The example below shows the whole parallelization slot for eliminate min max.
parallelization
process_exclusively:
process_locally:
process_mutual:
method:
domain_split:
false;
false;
false;
split_tuple, split_channel, split_domain;
2;
If method contains ‘split domain’, the slot domain split must be filled in. In all other
cases, the slot should be omitted!
Though, we recommend to specify the whole slot parallelization, it is also possible to
completely leave it out in an operator’s description. In this case, it is assumed that the operator
is reentrant, i.e. it is not processed under (complete or mutual) exclusion, and that it must be
processed “locally”. The latter also means that no parallelization is used when processing the
operator. This assumption corresponds exactly to those which are used in the case of missing
single subslots (see descriptions above).
2.2.13
complexity
The slot complexity describes the complexity of the operation in terms of number of points
along a contour, the area of an image region etc.
complexity.english
Let $F$ be the area of the input region. Then the runtime
complexity is $O(F)$.;
HALCON Extension Package Interface / 2000-11-16