Class
Accessible
Camera.Information.GetImageInfo
Syntax
uEye.Information.GetImageInfo(int s32MemId, out uEye.Types.ImageInfo imageInfo)
Description
Provides additional information on the images you take. The method returns a timestamp indicating the time of image capture, and the states of the camera I/Os at that point in time. To get information on the last image that was taken, call GetImageInfo() directly after receiving the uEye.Camera.EventFrame event.
Using with GigE and USB 3 uEye cameras
TimestampTick returns the camera timestamp, which indicates the time of image capture with an accuracy of 0.1 μs. The time of image capture is defined as:
•The time when a (hardware or software) trigger event is received by the camera in trigger mode. The delay between the receipt of the trigger signal and the start of exposure depends on the sensor.
•The time when the sensor starts to output image data in freerun mode. A rolling shutter sensors starts to output image data after exposure of the first row. With a global shutter sensor, image data is output after exposure of all rows.
TimestampSystem returns a timestamp with a resolution of 1 ms. The timestamp is synchronized with the PC's system time, and resynchronized every 60 seconds. This may cause minor time shifts in the value passed in TimestampSystem (average time about 3 ms).
To determine the exact interval between two image captures, it is therefore recommended to read out the camera timestamp.
Using with USB 2 uEye cameras, USB 3 uEye CP Rev. 1 and USB 3 uEye LE cameras (from version 4.82 on)
The timestamp returns the time when image data transfer to the PC was completed. The TimestampSystem returns the timestamp (with a resolution of 1 ms) synchronized with the PC system time.
For the normal trigger mode (without overlapping trigger), the following formula can be used to calculate approximately the time stamp for the start of image acquisition:
u64TimestampDevice -= static_cast<uint64_t>((frametime_inc * static_cast<double>(aoi.s32Height) * 10000000.0) + (exposure * 10000.0));
Image buffers that are part of a sequence need to be locked using Lock(). This is important to ensure correct assignment between image data and image information. Otherwise, it may happen that an image buffer is filled with new image data. In this case, the image information will not match the image data any more. |
Parameter
s32MemId |
Image memory ID |
imageInfo |