Operator ImageAnalyzer

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.

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

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

I/O Properties

Property Value
Operator Type O
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] 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

Parameters

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.

Examples of Use

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

  • 'Image Dimension Test'

    Example - The image dimension is measured and can be used to analyze the design flow.

  • 'Image Timing Generator'

    Example - While image timing is provided by a generator the designs data flow can be analyzed.