Back to Adaptive Vision Studio website

You are here: Start » Filter Reference » GenICam » GenICam_GetStreamingStatistics

GenICam_GetStreamingStatistics


Retrieves basic statistics of video streaming out of GenICam device.

Name Type Description
inAddress GenAddress GenTL Provider module and device identifying address
outReceivedFrames Integer Number of received valid frames that were put into the input queue.
outLostFrames Integer Number of all frames that the device should have sent but were not retrieved by the application.
outDroppedFrames Integer Number of received valid frames that were lost because of input queue overflow.
outDamagedFrames Integer Number of frames that were partially received but were discarded because of data damage.
outCurrentQueueSize Integer Number of frames currently held in the input queue.

Description

This filter is intended for retrieving the video streaming statistics and diagnosing video streaming problems related to video device connected through GenTL compliant interface. It is usually used beside other GenICam filters, especially GenICam_GrabImage or GenICam_GrabImage_WithTimeout performing actual video streaming, and only for diagnostic purpose.

Device address (inAddress port) is a structure of information defining unique device and its GenTL provider module in the system. It is recommended to use the GenTL Device Manager (click the "..." button in Filter Properties) to select the appropriate device, connected to the local system, whose identification information will be used.

Device address consists of the following fields:

  • VendorName - Vendor name of the GenTL provider module, which will be used to communicate with the device.
  • TLType - Identification code of interface transport technology type (for example "GEV", "IIDC", "UVC", "USB3", "PCI", "Custom"). The exact code depends on the GenTL provider module.
  • DeviceID - Unique ID of the device in the selected interface technology of the used provider module. The format of this field must be always an exact ID string and depends on the used GenTL provider module.

This filter will interpret the value of inAddress port only during the first iteration of its parent Task, when the connection to the device is established. During the next iterations the filter will use previously established connection and subsequent changes in the device address will be ignored.

This filter is based on the information retrieved from the GenTL provider library. When used GenTL provider library does not implements properly all required counters the statistics from this filter may be incomplete or inaccurate.

On every execution this filter will return the following statistics on its outputs:

  • outReceivedFrames - Number of all frames that were internally received from the device without any errors, and that were put into the image input queue. Those frames are intended for processing by the application through GenICam_GrabImage and equivalent filters. It is possible that not all of those frames were processed by the application.
  • outLostFrames - Estimated number of all frames that should have been generated by the device (based on frames counter) but were not, for any reason, processed by the application through the GenICam_GrabImage or equivalent filter. This statistic is based on the frame ID counter provided by the GenTL library. When the GenTL provider does not supports the frame ID information this statistic is ineffective. This counter includes dropped frames, damaged frames, and other frames that were fully lost (not received even partially).
  • outDroppedFrames - Number of frames that were internally received from the device without any errors, and that were put into the image input queue, but were not consumed by the application on time using the GenICam_GrabImage or equivalent filter and was discarded because of the input queue overflow. Large values of this statistic and its constant continuous growth means that the application is not keeping up with processing frames generated by the device and may indicate application performance issues or too large camera framerate. Occasional short growths of this statistic may indicate periodic performance problems in the application and (when loosing of frames is not acceptable) may indicate the need to increase capacity of the input queue.
  • outDamagedFrames - Number of all frames that were internally received from the device but were incomplete (some data were lost on transport layer) or were otherwise damaged (some data was corrupted or not recognized), and was discarded without putting them into the images input queue. Large values of this statistic may indicate transport layer problems.
  • outCurrentQueueSize - Number of valid frames that at the time of this filter execution was stored in the frames input queue and waiting for retrieving through the GenICam_GrabImage or equivalent filter. This value can be changing rapidly due too the race condition between filter execution time and internal receiving of new frames from the device.

For general information about working with Gen TL devices, please refer to the following article.

Complexity Level

This filter is available on Expert Complexity Level.

Disabled in Lite Edition

This filter is disabled in Lite Edition. It is available only in full, Adaptive Vision Studio Professional version.

See Also

  • GenICam_GrabImage – Captures an image stream from a camera using a GenICam GenTL provider library.
  • GenICam_GrabImage_WithTimeout – Captures an image stream from a camera using a GenICam GenTL provider library; returns Nil if no frame comes in the specified time.
  • Application Notes - set of documents about connecting devices or establishing communication with Adaptive Vision Studio.