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.

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

パラメーター

ClearMode
タイプ dynamic write parameter
Default ClearWithProcessStart
範囲 {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
タイプ static write parameter
Default 24
範囲 [4, 63]

Operator Control:

Sets the bit width of parameter FrameCounter.

GapCountWidth
タイプ static write parameter
Default 20
範囲 [4, 63]

Operator Control:

Sets the bit width of the line gap counters (FrameMinLineGap, FrameMaxLineGap, CurrLineGap).

FrameCount
タイプ dynamic read parameter
Default 0
範囲 [0, (2^FrameCountWidth) -1]

General Information:

Counts all images which are terminated with an EndOfFrame.

FramePixelCount
タイプ dynamic read parameter
Default 0
範囲 [0, (2^ (ImageWidthBitwidth+ImageHeightBitwidth+4))-1]

Last Frame:

Size of the last completed frame in pixels.

FrameHeight
タイプ dynamic read parameter
Default 0
範囲 [0, (2^(ImageHeightBitwidth+4))-1]

Last Frame:

Height of the last completed frame in pixels.

FrameMinWidth
タイプ dynamic read parameter
Default 0
範囲 [0, (2^(ImageWidthBitwidth+4))-1]

Last Frame:

Minimal width encountered in last completed frame (in pixels).

FrameMaxWidth
タイプ dynamic read parameter
Default 0
範囲 [0, (2^(ImageWidthBitwidth+4))-1]

Last Frame:

Maximal width encountered in last completed frame (in pixels).

FrameMinLineGap
タイプ dynamic read parameter
Default 0
範囲 [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
タイプ dynamic read parameter
Default 0
範囲 [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
タイプ dynamic read parameter
Default 0
範囲 [0, (2^(ImageWidthBitwidth+ImageHeightBitwidth+4))-1]

Current Frame:

Pixel count in the frame that is currently active and under inspection.

CurrXPos
タイプ dynamic read parameter
Default 0
範囲 [0, (2^(ImageWidthBitwidth+4))-1]

Current Frame:

Current horizontal position in the frame that is currently active and under inspection.

CurrYPos
タイプ dynamic read parameter
Default 0
範囲 [0, (2^(ImageHeightBitwidth+4))-1]

Current Frame:

Current vertical position in the frame that is currently active and under inspection.

CurrMinWidth
タイプ dynamic read parameter
Default 0
範囲 [0, (2^(ImageWidthBitwidth+4))-1]

Current Frame:

Minimal width detected in the frame that is currently active and under inspection.

CurrMaxWidth
タイプ dynamic read parameter
Default 0
範囲 [0, (2^(ImageWidthBitwidth+4))-1]

Current Frame:

Maximal width detected in the frame that is currently active and under inspection.

CurrLineGap
タイプ dynamic read parameter
Default 0
範囲 [0, (2^GapCountWidth)-1]

Current Frame:

Gap between current line and preceding line (in frame that is currently active and under inspection).

CurrBlocked
タイプ dynamic read parameter
Default 0
範囲 [0, 1]

General Information:

If set to one: Value 1 informs that the input link is currently blocked by the output link.

OverflowMask
タイプ dynamic read parameter
Default 0
範囲 [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.