Operator AppendLine

Operator Library: Synchronization

The operator AppendLine concatenates image lines from the input image at the link I into a larger line in the output image at the link O. The number of lines merged into a new line is defined by the parameter AppendNumber. For example, when AppendNumber is set to 2, the operator will concatenate 2 successive lines from the input image into a new larger line in the output image. When the input image height is not divisible by the AppendNumber parameter value, the last line in the output image will be shorter and will contain the remaining last lines of the input image concatenated together.

Note that the operator does not change the frame rate nor does it change the bandwidth.

The output link image protocol of the operator can also be set to VALT_PIXEL0D, i.e. the operator appends all incoming lines into a line of unlimited width. Thus, the operator can be used to convert a 2D image stream or 1D line stream into a 0D pixel stream.

By changing the AppendNumber value dynamically while acquisition is running, the operator guarantees line integrity. The operator keeps the old AppendNumber value until the output line is finished. After the completion of the current output line, the operator will start using the new AppendNumber value for further merging.

[Warning] Prevent Exceeding the Maximum Image Dimensions

By using this operator, it is possible to exceed the maximum image width and height defined in the output link. Therefore, always ensure that the concatenated input lines do not exceed the parameterized maximum image width of the output link. Also make sure that the parameterized maximum image height of the output link is large enough. Subsequent operators may not work correctly, if the image width or height exceeds the limits specified by the link properties.

For example, 3 input lines of width 1024 are concatenated. The output image width will be 3072. This width has to be specified in the output link to ensure a correct functionality of the VisualApplets operators.

I/O Properties

Property Value
Operator Type P
Input Link I, data input
Output Link O, data output

Supported Link Format

Link Parameter Input Link I Output Link O
Bit Width [1, 64]1 as I
Arithmetic {unsigned, signed} as I
Parallelism any as I
Kernel Columns any as I
Kernel Rows any as I
Img Protocol {VALT_IMAGE2D, VALT_LINE1D} {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D}
Color Format any as I
Color Flavor any as I
Max. Img Width any any2
Max. Img Height any any

1

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

2

The maximum image width has to be greater than or equal to parameter AppendNumber times the input image width.

Parameters

AppendNumber
Type dynamic read/write parameter
Default 1
Range Input IMAGE2D: [1, Input Maximum Image Height]; Input LINE1D: [1, Output Maximum Image Width / Parallelism]

The number of input lines which are concatenated into a single output line.

This parameter can only be changed, if the output link image protocol is not set to VALT_PIXEL0D.

LinesToSimulate
Type static read/write parameter
Default 1
Range [1, 2^32 - 1]

The number of lines in the simulated 1D output stream.

This parameter can only be used during simulation, if the input image protocol is set to VALT_IMAGE2D and the output protocol is set to VALT_IMAGE1D.

Exactly one output image is generated. Remaining input lines are discarded.

PixelsToSimulate
Type static read/write parameter
Default 1
Range [1, 2^32 - 1]

The number of input pixels in the simulated 0D output stream.

This parameter can only be used during simulation, if the input image protocol is set to VALT_IMAGE2D or VALT_IMAGE1D and the output protocol is set to VALT_IMAGE0D.

Exactly one output image is generated. Remaining input pixels are discarded.

Examples of Use

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