Operator Library: Debugging
Operator ImageAnalyzer analyzes image properties without touching the image data.
The operator analyzes individual images. For analyzing image sequences, use operator ImageStatistics.
Availability | |
---|---|
To use the ImageAnalyzer operator, you need either an Expert license, a Debugging Module license, or the VisualApplets 4 license. |
Operator ImageAnalyzer provides
- data about the last frame (values for the complete frame), and
- intermediate values for the current frame (the frame that is currently streamed).
Operator ImageAnalyzer analyzes frames in area scan applications (2D). You can also use it for analyzing data in line scan applications (1D).
The operator offers dynamic read parameters you can use to retrieve data about
- image dimension (width x height) and image size (pixel),
- the deviation of line lengths within a frame,
- time gaps between lines,
- the blocking state of the operator input (blocked/not blocked).
In addition, the operator offers some parameters to control the operator itself.
When an internal counter overflows, a corresponding overflow bit is set in the OverflowMask parameter and the counter halts.
Runtime Testing | |
---|---|
This operator is designed for testing and analyzing your design during runtime: You need to build (synthesize) the design, load it onto the target hardware, and start actual image processing, before you can use the operator for debugging. The operator is not intended for design simulation within VisualApplets. |
Link Parameter | Input Link I | Output Link O |
---|---|---|
Bit Width | [1, 64] | 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} | as I |
Color Format | any | as I |
Color Flavor | any | as I |
Max. Img Width | any | as I |
Max. Img Height | any | as I |
ClearMode | |
---|---|
Type | dynamic write parameter |
Default | ClearWithProcessStart |
Range | {NoClearing, ClearWithProcessStart, ClearWithProcessReset, SendClearPulse} |
Operator Control: This parameter defines the reset behavior for all read parameters. NoClearing: Values of all read parameters are held. ProcessEnable and ProcessReset have no influcence on these values. ClearWithProcessStart: Values of all read parameters are only cleared with rising edge of ProcessEnable. ClearWithProcessReset: Values of all read parameters are only cleared with rising edge of ProcessReset. SendClearPulse: On-demand clearing of all read parameter values. |
FrameCountWidth | |
---|---|
Type | static write parameter |
Default | 24 |
Range | [4, 63] |
Operator Control: Sets the bit width of parameter FrameCounter. |
GapCountWidth | |
---|---|
Type | static write parameter |
Default | 20 |
Range | [4, 63] |
Operator Control: Sets the bit width of the line gap counters (FrameMinLineGap, FrameMaxLineGap, CurrLineGap). |
FrameCount | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, (2^FrameCountWidth) -1] |
General Information: Counts all images which are terminated with an EndOfFrame. |
FramePixelCount | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, (2^ (ImageWidthBitwidth+ImageHeightBitwidth+4))-1] |
Last Frame: Size of the last completed frame in pixels. |
FrameHeight | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, (2^(ImageHeightBitwidth+4))-1] |
Last Frame: Height of the last completed frame in pixels. |
FrameMinWidth | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, (2^(ImageWidthBitwidth+4))-1] |
Last Frame: Minimal width encountered in last completed frame (in pixels). |
FrameMaxWidth | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, (2^(ImageWidthBitwidth+4))-1] |
Last Frame: Maximal width encountered in last completed frame (in pixels). |
FrameMinLineGap | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, (2^GapCountWidth)-1] |
Last Frame: Minimal line gap encountered in last completed frame. In the example displayed in the figure below, FrameMinLineGap = 3. |
FrameMaxLineGap | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, (2^(ImageWidthBitwidth+ImageHeightBitwidth+4))-1] |
Last Frame: Maximal line gap encountered in last completed frame. In the example displayed in the figure below, FrameMaxLineGap = 4. |
CurrPixelCount | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, (2^(ImageWidthBitwidth+ImageHeightBitwidth+4))-1] |
Current Frame: Pixel count in the frame that is currently active and under inspection. |
CurrXPos | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, (2^(ImageWidthBitwidth+4))-1] |
Current Frame: Current horizontal position in the frame that is currently active and under inspection. |
CurrYPos | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, (2^(ImageHeightBitwidth+4))-1] |
Current Frame: Current vertical position in the frame that is currently active and under inspection. |
CurrMinWidth | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, (2^(ImageWidthBitwidth+4))-1] |
Current Frame: Minimal width detected in the frame that is currently active and under inspection. |
CurrMaxWidth | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, (2^(ImageWidthBitwidth+4))-1] |
Current Frame: Maximal width detected in the frame that is currently active and under inspection. |
CurrLineGap | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, (2^GapCountWidth)-1] |
Current Frame: Gap between current line and preceding line (in frame that is currently active and under inspection). |
CurrBlocked | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, 1] |
General Information: If set to one: Value 1 informs that the input link is currently blocked by the output link. |
OverflowMask | |
---|---|
Type | dynamic read parameter |
Default | 0 |
Range | [0, 31] |
Operator Control: Bit-encoded overflow signaling. A set bit indicates an overflow in the following counters:
[0] = FrameCount [1] = PixelCount [2] = xPos [3] = yPos [4] = LineGapCount. |
The use of operator ImageAnalyzer is shown in the following examples:
-
Example - The image dimension is measured and can be used to analyze the design flow.
-
Example - While image timing is provided by a generator the designs data flow can be analyzed.