Operator CutLine

The operator CutLine dynamically cuts lines of an input image into a number of shorter lines. Cutting is done controlled by the input Cut which is synchronous to input I. Cutting is done at the granularity of the line length given by parallelism P. Therefore no dummy pixels are generated. When a pixel value at input Cut is 1 the corresponding pixel from input I is still contained in output of the current line. The line is terminated after the next possible pixel position so the granularity condition is met. The operator supports two cutting modes which are set by the parameter Mode.

If Mode is set to Split (default) the incoming lines are split into several pieces. Whenever a pixel of the current line at input Cut has the value 1 the ongoing output line is terminated at the granularity given by P and a new line is started with the beginning of the next incoming pixels. Any value of 1 in the last P Pixels of a line has no effect.

If Mode is set to Truncate the incoming line is cut to a single line which may be shorter than the incoming line. Whenever a pixel of the current line at input Cut has the value 1 the ongoing output line is terminated at the granularity given by P. No further pixels are forwarded to the output O until the end of the current line.

Note that the operator might generate output images with multiple line lengths. Not all VisualApplets operators can process images using varying line lengths.

The CutLine operator can also be used to perform a 0D to 1D conversion. Connect a link using the image protocol VALT_PIXEL0D to perform the conversion. For this use case the parameter Mode is disabled as the only supported operation mode is splitting the 0D data stream into lines.

I/O Properties

Property Value
Operator Type M
Input Links I, data input
Cut, control input
Output Link O, data output

Supported Link Format

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


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].


The output image protocol is the same as the input image protocol if VALT_IMAGE2D or VALT_LINE1D is used. If VALT_PIXEL0D image protocol is used at the input, the operator performs a conversion to the VALT_LINE1D image protocol.


The output maximum image width has to be less or equal than the input maximum image width.


The output maximum image height has to be grater or equal than the input image height.


Type static read/write parameter
Default Split
Range {Split,Truncate}

Operation mode.

Examples of Use

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