8.1   Basic Types of Parameters

HALCON distinguishes two kinds of data: control data (numbers, strings, or handles) and iconic data (images, regions, etc.) By further distinguishing input from output parameters, we get four different kinds of parameters. These four kinds always appear in the same order in the HDevelop parameter list. In the reference manual operator signatures are visualized in the following way:

  operator (iconic input : iconic output : control input : control output)

Iconic input objects are always passed first, followed by the iconic output objects. The iconic data is followed by the control data, and again, the input parameters succeed the output parameters.

Any of the four types of parameters may be empty. For example, the signature of read_image reads

  read_image ( : Image : FileName : )

The operator read_image has one output parameter for iconic objects Image and one input control parameter FileName. The parameter types are reflected when entering operators in the operator window. The actual operator call displayed in the HDevelop program window is:

  read_image (Image, 'Name')

The parameters are separated by commas. Input control parameters can either be variables, constants or expressions. An expression is evaluated before it is passed to a parameter that receives the result of the evaluation. Iconic parameters must be variables. Control output parameters must be variables, too, as they store the results of an operator evaluation.