Operator Library: Synchronization
The operator CutImage dynamically cuts the input image into a number of smaller images. Cutting is controlled by the input Cut, which is synchronous to input I. The operator supports two cutting modes which are set by the parameter Mode:
-
If Mode is set to Split (default), the incoming image is split into several pieces. Whenever any of the pixels of the current line at input Cut has the value 1, the ongoing output image is terminated at the end of that line and a new image is started with the beginning of the next incoming line. Any value of 1 in the last line of an image at input Cut has no effect.
-
If Mode is set to Truncate the incoming image is cut to a single image which may have less lines than the incoming image. Whenever any of the pixels of the current line at input Cut has the value 1, the ongoing output image is terminated at the end of that line. No further image data is forwarded to the output O until the end of the current image.
Increased Frame Rate | |
---|---|
In mode Split, the operator may increase the frame rate by keeping the original bandwidth. In mode Truncate, the operator doesn't change the frame rate but may reduce the mean bandwidth. |
You can use the operator CutImage to convert a 1D image into a 2D image. The conversion is automatically performed, if a link using the image protocol VALT_LINE1D is connected to the operator's input. In this case the operator is always in Split mode and the parameter Mode is disabled. For example, the 1D input of a line scan camera can be split into images of varying height depending on the control input, effectively creating a 2D output stream.
The operator supports images with variable line length.
Property | Value |
---|---|
Operator Type | P |
Input Links | I, data input Cut, control input |
Output Link | O, data output |
Mode | |
---|---|
Type | static read/write parameter |
Default | Split |
Range | {Split,Truncate} |
Operation mode.
|
The use of operator CutImage is shown in the following examples:
-
'Functional Example for Specific Operators of Library Synchronization: Dynamic Append and Cut'
Examples - Demonstration of how to use the operator