Operator SignalGate

Operator Library: Signal

The operator gates the image stream between the input I and the output O. The gate is controlled by the signal input link Gate. If the gate is closed, the input data is discarded. If the gate is open, pixels are forwarded to the output. However, the operator ensures that the integrity of lines or frames is not destroyed i.e. always full lines or frames are transfered and will not be cut. If the operator is used with the input image protocol VALT_LINE1D, the operator will assemble the lines within one open gate period into a frame. Thus it combines lines and converts an infinite line stream for example of a line scan camera into frames. The operator is often used as image trigger for line scan cameras.

In the following figure an example of the operator's behavior is shown. As you can see, lines are fed into the operator. Each line is terminated with an end of line control signal which is embedded in the image link stream. The gate is open for a duration of three lines. At the output the first three lines are present while the fourth and fifth are discarded. Moreover, after the last line before the gate is closed, an end of frame marker is added to the image data stream. To summarize, in the example, the operator assembled the first three lines into a frame. Data is discarded during the closed periods.

If the gate opens while a line is currently processed, the line will not be used. Moreover, if the gate closes while a line is currently processed, the line will be fully transfered to the output. This ensures the integrity of lines. The following waveform shows these cases.

A shortly closed gate will cause the generation of an end of frame. The next two waveforms show short periods of open or closed gates.

Keep in mind, a line will be used if the gate is open at the same time as the first pixel of a line is present at the input link. An end of frame is generated after a line if the respective line is not discarded and falling edge of the gate input was present after the first line pixel.

Instead of a VALT_LINE1D line data stream, the operator can be used with a VALT_IMAGE2D image data stream at input I. In this case, the operator will forward the full input frame if the gate is open simultaneously to the first pixel of the image as can be seen in the following.

The reset input can be used to reset the operator i.e. to cut a line, and restart.

[Note] Simplified Waveforms

The waveform illustrations are simplified to show the exact operator's behavior. The real implementation delays the end of line and end of frame output.

[Warning] Operator Violates Max.Image Height

If the gate is constantly open, the operator will generate an image of a large height. If this height exceeds the Max. Image Height link property set for the output link, the VisualApplets rules are violated. You should either cut exceeding images using operator SplitImage or delete exceeding lines (RemoveLine, SelectROI).

This operator is excluded from the VisualApplets functional simulation.

I/O Properties

Property Value
Operator Type P
Input Links I, image data input
Gate, signal input
Reset, signal input
Output Link O, image data output

Synchronous and Asynchronous Inputs

  • All signal inputs may be sourced by the same or different M-type operators through an arbitrary network of O-type operators. If they are sourced by the same M-type source, they will be automatically synchronized.
  • Input link I is asynchronous to the signal inputs.

Supported Link Format

Link Parameter Input Link I Input Link Gate Input Link Reset Output Link O
Bit Width [1, 64]1 1 1 as I
Arithmetic {unsigned, signed} unsigned unsigned as I
Parallelism any 1 1 as I
Kernel Columns any 1 1 as I
Kernel Rows any 1 1 as I
Color Format any VAF_GRAY VAF_GRAY as I
Color Flavor any FL_NONE FL_NONE as I
Max. Img Width any any any as I
Max. Img Height any any any any if input VALT_IMAGE1D, else as I


The range of the input bit width is [1, 64] for unsigned values. For signed inputs, the range is [2, 64]. For unsigned color inputs [3, 63] and for signed color inputs [6, 63].



Examples of Use

The use of operator SignalGate is shown in the following examples: