Operator SplitImage

This operator splits the input image horizontally into a number of smaller images. The image height of the smaller images is specified by parameter ImageHeight. For example, setting ImageHeight to 512 and using input images of 1024 lines, the operator will split the input image into two new smaller images with the image height of 512.

If the height of an input image is not divisible by the ImageHeight parameter value, the input image will be split into images of the specified height as far as possible. The remaining lines will generate an output image of smaller height. For example, if an input image of height 1024 is split into chunks of height 400, the operator will output two images of height 400 and and one image of height 224. If the input image height is less than parameter ImageHeight, the operator will not split the input image.

[Important] Increased Frame Rate

Note that the operator increases the frame rate by keeping the original bandwidth.

SplitImage can be used to perform a 1D to 2D conversion. The conversion is automatically performed if a link using the image protocol VALT_LINE1D is connected to the operator's input. For example, the 1D input of a line scan camera can be split into images of a specified height, effectively creating a 2D output stream. Example:

When changing the ImageHeight value dynamically while acquisition is running, the operator guarantees image integrity. The operator keeps the old ImageHeight value until the output frame is finished. After the completion of the current output frame the operator will start using the new ImageHeight value for further splitting.

The operator supports variable line length for all ImageHeight values, for example ImageHeight = 2:

The end of each line is marked by a Eol (End of Line) flag, so that there are no undefined data in the output images.

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
Color Format any as I
Color Flavor any as I
Max. Img Width any as I
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].

Parameters

ImageHeight
Type dynamic read/write parameter
Default 1
Range [1, Maximum Output Image Height]

Maximum number of lines in the output image.

Examples of Use

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