Point Grey Research Knowledge Base

Article 220 - Embedding frame-specific data into the first N pixels of an image.

Issue:
Embedding frame-specific data into the first N pixels of an image.

Solution:

Some PGR Imaging Products allow users to embed frame-specific information into the first several pixels of the image by writing the FRAME_INFO register 12F8h. For an exact list of cameras that support this feature, consult the PGR IEEE-1394 Digital Camera Register Reference, which can be downloaded here.

The FRAME_INFO register allows the user to control the types of frame-specific information that is embedded into the first several pixels of the image. For example, the latest PGR Flea firmware allows the following types of information to be embedded:

  • 1394 Cycle Time
  • Gain
  • Shutter
  • Brightness
  • Exposure
  • White Balance
  • Frame Counter
  • Strobe Pattern Counter
  • GPIO Pin State

The first byte of embedded image data starts at pixel 0,0 (column 0, row 0) and continues in the first row of the image data i.e. (1,0), (2,0), etc. Users using color cameras that do Bayer color processing on the PC must extract the value from the non-color processed image in order for the data to be valid.

Each piece of information takes up 1 quadlet (4 bytes) of the image. When the camera is operating in Y8 (8bits/pixel) mode, this is therefore 4 pixels worth of data. The types of information that can be embedded (e.g. image timestamp, camera shutter and gain settings, etc.) vary between models.

Insertion of each quadlet is controlled by a bit in this register. Because it is a bit field, setting bit 31 to ‘1’ turns on the Timestamp, bit 30 controls Gain, etc. For black and white cameras, white balance is still included, but no valid data is provided.

In the Flea example above, a write of 800001FFh to this register would turn on all possible options. Therefore, the first 9 quadlets (36 bytes) of image data would contain camera information, in the following format:

FlyCaptureImage image;
image.pData[0] = first byte of Timestamp data
image.pData[4] = first byte of Gain data
image.pData[24] = first byte of Frame Counter data

If you just turned on Shutter (0x12F8 = 0x80000004), then the first 4 bytes of the image would contain Shutter information for that image. Similarly, if you just turned on Brightness, the first 4 bytes would contain Brightness information.

Related Articles:
1.) Imaging Products timestamping and different timestamp mechanisms.
2.) Setting a GPIO pin to output a strobe signal pulse pattern.


Article ID:
220
Published:
8/26/2005 10:28:23 AM
Last Modified:
11/13/2008 1:24:12 PM
Keywords:
FRAME_INFO, embed, embedded, image pixels, GPIO state
Issue Type:
Normal Use

Copyright © 2004 Point Grey Research Inc.