Home > C: Programming > Function Descriptions > History back  Previous chapter  Next chapter  Print  

is_GetImageInfo

uEye Camera Manual Version 3.80

is_GetImageInfo

Windows_Logo

Linux_Logo

USB 2.0

GigE

USB 2.0

GigE

Syntax

INT is_GetImageInfo (HIDS hCam,
INT nImageBufferID,
UEYEIMAGEINFO* pImageInfo,
INT nImageInfoSize)

Search

Description

is_GetImageInfo() provides additional information on the images you take. The function 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 is_GetImageInfo directly after receiving the IS_FRAME event.

 

Using the function with GigE uEye cameras

The UEYEIMAGEINFO structure returns the camera timestamp u64TimestampDevice, which indicates the time of image capture with an accuracy of 100 ns. 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. For the delays of the individual sensors, please see the Camera and Sensor Data chapter.
The time when the sensor starts to output image data in freerun mode (see also How To Proceed: Image Capture). 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.

The UEYETIME structure 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 UEYETIME.
To determine the exact interval between two image captures, it is therefore recommended to read out the camera timestamp u64TimestampDevice.

 

Using the function with USB uEye cameras

The u64TimestampDevice timestamp returns the time when image data transfer to the PC was completed.

The UEYETIME structure returns the timestamp (with a resolution of 1 ms) synchronized with the PC system time.

Achtung

Image buffers that are part of a sequence need to be locked using is_LockSeqBuf(). 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.

Input Parameters

hCam

Camera handle

nImageBufferID

ID of the image buffer for which information is requested

pImageInfo

Pointer to a UEYEIMAGEINFO type structure to which the information will be written

nImageInfoSize

Size of the structure

Contents of the UEYEIMAGEINFO Structure

DWORD

dwFlags

Internal status flags (currently not used)

unsigned long long

u64TimestampDevice

Internal timestamp of image capture

UEYETIME

TimestampSystem

Structure with timestamp information in PC system time format, see UEYETIME below

DWORD

dwIoStatus

With GigE uEye cameras: Returns the states of the digital I/Os at the time of image capture:

Digital input (trigger): Pending signal
GPIO as input: Pending signal
GPIO as output: Set level

GPIOs (programmable I/Os) are only available on GigE uEye HE cameras.

With all other cameras, dwIoStatus is empty. See dwIOStatus below.

unsigned long long

u64FrameNumber

Internal image number

DWORD

dwImageBuffers

Number of image buffers existing in the camera

DWORD

dwImageBuffersInUse

Number of image buffers in use in the camera

Status Flags in UEYEIMAGEINFO::dwIoStatus

Bit combination

State of digital input

State of  GPIO 1

State of  GPIO 2

000

0

0

0

001

0

0

1

010

0

1

0

011

0

1

1

100

1

0

0

101

1

0

1

110

1

1

0

111

1

1

1

Contents of the UEYEIMAGEINFO::UEYETIME Structure

WORD

wYear

Timestamp year

WORD

wMonth

Timestamp month

WORD

wDay

Timestamp day

WORD

wHour

Timestamp hour

WORD

wMinute

Timestamp minute

WORD

wSecond

Timestamp second

WORD

wMilliseconds

Timestamp millisecond

WORD

wReserved[2]

Reserved

Return Values

IS_SUCCESS

Function executed successfully

IS_NO_SUCCESS

General error message

IS_INVALID_PARAMETER

One of the parameters passed is invalid. This may happen when:

more memory is allocated than the UEYEIMAGEINFO structure needs
nImageBufferID <= 0
pImageInfo == NULL
nImageInfoSize <= 0

Related Functions

is_GetCaptureErrorInfo()
is_LockSeqBuf()
is_UnlockSeqBuf()
is_SetImageMem()
is_SetIO()
is_SetIOMask()

Code Sample


UEYEIMAGEINFO ImageInfo;

// Read out camera timestamp

INT nRet = is_GetImageInfo( m_hCam,
m_lMemoryId, &ImageInfo, sizeof(ImageInfo));

if (nRet == IS_SUCCESS)

{

unsigned long long u64TimestampDevice;

 u64TimestampDevice = ImageInfo.u64TimestampDevice;        

 

CString Str; // Read out timestamp in system time

Str.Format("%02d.%02d.%04d, %02d:%02d:%02d:%03d",
ImageInfo.TimestampSystem.wDay,
ImageInfo.TimestampSystem.wMonth,
ImageInfo.TimestampSystem.wYear,
ImageInfo.TimestampSystem.wHour,
ImageInfo.TimestampSystem.wMinute,
ImageInfo.TimestampSystem.wSecond,
ImageInfo.TimestampSystem.wMilliseconds);

 

 DWORD dwTotalBuffers = ImageInfo.dwImageBuffers;

DWORD dwUsedBuffers = ImageInfo.dwImageBuffersInUse;

}

Sample Program

uEyeTimestamp (C++)

Suggestion for improvement? Send us your short Feedback on this chapter. Thank you very much!


© 2010 IDS Imaging Development Systems GmbH
http://www.ids-imaging.com