ImageEventEx

SDK Version Compatibility Language Date First Posted Primary Library Calls Link
1.8.0.1 Visual C++ 2006/10/04 flycaptureInitializeNotify()
flycaptureSetTrigger()
flycaptureLockNextEvent()
FlyCaptureImageEvent
flycaptureWaitForImageEvent()
flycaptureSaveImage()
ImageEventEx
2.0.3.12 Visual C++ 2009/10/29 StartCapture()
WaitForBufferEvent()
GetFormat7Info()
ValidateFormat7Settings()
SetFormat7Configuration()
SetConfiguration()
SetUserBuffers()
GetVideoModeAndFrameRateInfo()
SetVideoModeAndFrameRate()
ImageEventEx

Description

This example illustrates how users can implement partial image event notification. This is a mechanism that provides the user with access to image data as it arrives in the PC's memory - before the entire image is available.

This functionality is achieved by having the user associate a series of events at various locations throughout the image. The events are then signalled as the matching portion of the image arrives. This allows the user to start processing the data immediately without having to wait for image transmission to complete.

This capability is particularly useful in applications requiring extremely low latency. One example is in applications involving moving the camera, stopping only to take pictures. In this case, setting the earliest event possible is a good method for indicating the end of integration and that it is safe to move the camera without affecting the capture.

This functionality is also available with Custom Image mode; however, there are some additional things to watch out for when using this mode. Event notifications must be set on packet boundaries so you have to compute the total image size, including padding, when deciding where to set event sizes. There will be at most one padded packet transmitted, so simply taking the ceiling of the computed image size divided by the packet size gives you the number of packets transmitted per image:

numOfPackets = ceiling(( rows * cols * bytesPerPixel)/bytesPerPacket)

If the camera has already been started with the chosen bytes per packet, this value can be queried from the format 7 registers. See the entry for PACKET_PER_FRAME_INQ (0x048) in the Point Grey Digital Camera Register Reference.

Note:

Depending on your operating system, in order for this example to work on your PC, you may have to install a hotfix from Microsoft.

Please read the following knowledge base article on our website for more information.

http://www.ptgrey.com/support/kb/details.asp?id=153


Return to List of Examples