Impact Acquire SDK GUI Applications
Image Analysis

General Usage

ImpactControlCenter comes with various controls that allow to perform some basic analysis of the images captured or imported from hard disk. Among these are elements to display various histograms and line profiles as well as information about images or properties over time.

Some of the analysis plots allow to switch between Graphical and Numerical display. On the numerical display a right-click on the data will allow to copy the full numerical data grid into the clipboard.

Analysis AOIs

ImpactControlCenter - Current pixel data

Whenever an analysis plot offers a user selectable AOI, the currently defined AOI will be displayed on top of the image when the corresponding analysis plot is selected and the Full AOI Mode option for that plot is switched off. The AOI then can either be selected by using the AOI related spin buttons within the analysis tabs control area or by using the mouse within the image display area. When using the mouse:

  • left-click anywhere within the AOI and hold down the mouse button to move the AOI
  • move on any of the edges or corners of the AOI and press the left mouse button on any of the small squares displayed on top of the bounding box to change the size of the AOI
  • left-click anywhere outside the AOI and hold down the mouse button to draw a completely new AOI

Synchronize AOIs

The AOIs for the individual analysis tabs can be configured independently from all the other tabs and all settings will be stored across sessions. When closing ImpactControlCenter and restarting it later the last configuration will be restored. Sometimes however it might be useful to use the same AOI for ALL analysis tabs. This can be configured by enabling the "Synchronize AOIs" option:

ImpactControlCenter - Current pixel data

Other Drawing/Display Options

Some of the analysis plots will provide additional controls to configure the way the resulting data will be displayed.:

  • "Full AOI Mode": Instead of using the configured AOI to calculate analysis data the full image will be processed. The current AOI settings however will be preserved and can be reactivated by switching this option back to off.
  • "Process Bayer Parity": When raw Bayer images are captured this option can be used to either treat this image as a single channel gray-scale image or treat it as a 4 channel (red, green, green, blue) image resulting in either one large data set or 4 smaller ones. The latter option might e.g. be useful to see differences in the 2 green components or can be used for white balancing an image by adjusting parameters until all 4 data sets are almost equal.
  • "Plot Differences": Will display the delta between the current and the previous value instead of the value itself
  • "Scale Automatically": Will automatically adjust the Y-axis of a plot to map the lowest value of the current value set to the intersection with the X-axis and the highest value to the upper limit of the plot. Enabling this option will constantly change the scale of the Y-axis
  • "Draw Start(%)": Will define the start of the range of data to display relative to the full data available. E.g. if a histogram contains 256 entries and this value is set to 50, then only the upper half of the histogram will displayed. This value combined with "Draw Window(%)" will allow to zoom in on a certain range of the result data.
  • "Draw Window(%)": Will define the range of data to display from the full data available. E.g. if a histogram contains 256 entries and this value is set to 50 while "Draw Start(\%)" remains 0 then only the lower half of the histogram will displayed. This value combined with "Draw Start(%)" will allow to zoom in on a certain range of the result data.
  • "Draw Step Width": Will allow to define how many data points will be drawn. 0 will draw 256, 1 will draw every data point which e.g. for 16-bit data might be slow and other values draw a subset from the available data points and might result in rounding effects so e.g. might hide missing codes. Use this option carefully!
  • "Update Interval": Allows to balance CPU usage versus update speed for the selected control. E.g. a value of 3 will only calculate and display updated data every third image or AOI movement.
  • "History Depth": This is e.g. supported by the Intensity Plot and defines the number of result data sets kept in memory. E.g. a value of 5 will result in this and the last 4 analysis results being kept and displayed. This result data sets will be generated either

    • by consecutive images being fed into the analysis plot
    • by modifying the AOI on the current image (e.g. by dragging it around)
    Note
    Not every option listed here will be available for every analysis control!

Copy Grid Data To The Clipboard

Since ImpactControlCenter version 1.11.0 it is possible to copy analysis data to the clipboard. The data will be copied in CSV style thus can be pasted directly into tools like Open Office™ or Microsoft® Office™.

To do this

  • right-click on the specific analysis grid when in numerical display mode and
  • select "Copy grid to clipboard" from the pop up menu.
ImpactControlCenter - Copying grid data to the clipboard

From within this context menu also a printf style format string can be specified for the data grid in order to e.g. view the data e.g. in hexadecimal format.

Pixel Histogram

The pixel histogram control does provide a way to visualize the intensity distribution of the individual color channels of an image:

ImpactControlCenter - Pixel Histogram

In this example as the AOI contains a lot of green pixels, less red pixels and even less blue pixels of different medium intensities the resulting histogram has peaks within the middle of the histogram where the green peaks are the highest, followed by red and then blue.

The displayed analysis results in the graphical view will be scaled automatically to accommodate the most frequent value. At the top additional information about each color channel will be displayed. From left to right the 3 values per channel are

  • the mean/average value
  • the most frequent value count
  • the most frequent value
See also
Other Drawing/Display Options

Horizontal/Vertical Line Profile

The horizontal and vertical line profile plots provide a way to visualize course of the intensity either in a horizontal or in a vertical direction:

ImpactControlCenter - Line Profile

In this example (horizontal line profile) each test image bar within the AOI results in a flat line of a certain intensity within the middle of the intensity range. Whenever a new intensity bar starts there is a sudden jump in intensity found as well in the profile.

Typically the AOI dimension in the other direction will be 1 but also any other value is possible. In that case the average value of the included range will be calculated.

Note
The profile lines can also be used to conveniently adjust the focus by looking at an edge and then try to adjust the lens in a way this edge has its maximum gradient.
See also
Other Drawing/Display Options

Spatial Noise Histogram

The spatial noise histogram calculates and evaluates the statistical difference between two neighboring pixels in vertical and horizontal direction. I.e. it shows the sensor's spatial background pattern like the sensitivity shifts of each pixel. An ideal sensor or camera has a spatial noise of zero, a real sensor will not. analog gain for example will result in additional noise. However, you have to keep in mind the temporal noise as well.

ImpactControlCenter - Spatial noise histogram

For the information displayed in the upper region of the graphical view read: Channel::Direction (Mean/average difference, most frequent value count/ value, Standard deviation)

Example: For a single channel(Mono) image the output of 'C0Hor(3.43, 5086/ 0, 9.25), C0Ver(3.26, 4840/ 0, 7.30) will indicate that the mean difference between pixels in horizontal direction is 3.43, the most frequent difference is 0 and this difference is present 5086 times in the current AOI. The standard deviation in horizontal direction is 9.25. The C0Ver value list contains the same data but in vertical direction.

See also
Other Drawing/Display Options

Temporal Noise Histogram

The temporal noise histogram shows the changes of a pixel from image to image. This method is more stable because it is relatively independent from the image content. By subtracting two images, the actual structure is eliminated, leaving the change of a pixel from image to image, that is, the noise assuming the sudden, massive changes in scene or lighting conditions can be neglected. When capturing images for this kind of analysis all parameters should stay constant, all automatic mechanisms(AGC, AEC, AWB, ...) have to be turned off and the image should not have underexposed or saturated areas. However, there are no picture signals without temporal noise. Light is a natural signal and the noise always increases with the signal strength. If the noise only follows the natural limits, then the camera is good. Only if additional noise is added the camera or the sensor isn't working perfectly.

ImpactControlCenter - Temporal noise histogram

For the information displayed in the upper region of the graphical view read: Channel (Mean difference, most frequent value count/ value, Standard deviation)

Example: For a single channel(Mono) image the output of 'C0(3.43, 5086/ 0, 9.25) will indicate that the mean difference between pixels in 2 consecutive images is 3.43, the most frequent difference is 0 and this difference is present 5086 times in the current AOI. The standard deviation between pixels in these 2 images is 9.25. Please note the impact of the 'Update Interval' in this plot: It can be used to define a gap between 2 images to compare. E.g. if the update interval is set to 2, the differences between image 1 and 3, 3 and 5, 5 and 7 etc. will be calculated. In order to get the difference between 2 consecutive images the update interval must be set to 1!

See also
Other Drawing/Display Options

Intensity Plot

This plot can be used to display either the average intensity or the most frequent value of pixel data within a certain AOI over time:

ImpactControlCenter - Intensity Plot

There will be history depth entries, meaning the calculated data of the last history depth images or AOI movements will be stored and displayed. So assuming the color bar from the above image moves to the right a little with each new image right now this results in an ever increasing average green intensity since darker parts move out of the AOI while lighter ones enter it from the left. The red and blue components are 0 obviously since only the green color bar is within the AOI.

See also
Other Drawing/Display Options

Vector Scope

This plot will display the color distribution within a user selectable AOI within the analyzed image. Each color that is present in the AOI will result in a single dot in the resulting plot, so colors appearing only in a single pixel will be as prominent as a color occupying 99% of the AOI. This can be useful to check saturation, missing codes, fine tune the color fidelity and various other things:

ImpactControlCenter - Vector Scope

In the center of the plot all pixels with similar intensities for all 3 color components of a pixel will end up. The farer out a pixel the more prominent 1 or 2 intensities of a 3 channel image are relative to the third component. So an RGB value of 255/0/0 will end up in the little red square of the plot, a value of 0/255/255 will end up in the little cyan square and so on.

See also
Other Drawing/Display Options

Info Plot

The info plot allows to select a certain property which is part of the meta data / chunk data of each image and plot the value of this feature over time to see changes in this value.

ImpactControlCenter - Info Plot

Useful things that can be done with this plot are:

  • seeing gain/exposure changes over time (e.g.)
  • seeing sudden jumps in the FrameID (e.g. because of transmission problems or device frame buffer overflows)(In this case it might be helpful to enable the "Plot Differences" option)
  • checking the precision of IEEE1588 timestamps or timestamp that are in sync. with the host system in general by using the "Timestamp As Time" display (This will assume the timestamp of the device to be a real-world time thus will only display correct times if that is the case. Otherwise ignore this display)
  • checking since when and for how long the current acquisition is running
  • checking when the last buffer has been received from the currently selected device
Note
Most features might require that chunk data is switched on for the device data transfer. For more information about enabling/disabling meta data or about the Chunk Data format please refer to the corresponding chapter in the product manual!
See also
Other Drawing/Display Options

Feature Versus Time Plot

This control allows to display changes of an arbitrary property of time:

ImpactControlCenter - Feature Versus Time Plot

To use this plot

  • "right-click" on the desired feature in The Property Grid
  • select "Plot in Feature Vs. Time Plot"
  • make sure the plot is enabled
  • select a suitable history depth and update interval

Useful things that can be done with this feature include:

  • check how the device temperature changes over time
  • see how the exposure time or gain changes when a device performs AEC or AGC
  • check how the properties "Statistics → ImageProcTime_s" or "Statistics → FormatConvertTime_s" change over time with changing AOIs or processing algorithms
Note
  • Only a single feature can currently be displayed in this plot. As soon as another one is selected the new feature will be plotted instead.
  • Only integer or floating point properties can be attached to this control.
See also
Other Drawing/Display Options