Setting FIFO Properties
Set FIFO properties by first obtaining a handle to a properties object using the ccAcqFifo::properties() method, and then calling the setter for that property. For example:
fifo->properties().cameraPort(0);
fifo->properties().exposure(20e-3);
fifo->properties().contrastBrightness(0.5, 0.5);
The first line selects the frame grabber port where the camera is connected that will be used to acquire images. Port numbers are numbered sequentially starting with 0.
The second line sets the camera exposure time to 20 msec.
The third line sets the frame grabber contrast and brightness. This controls how light values are mapped to pixel values as the image passes through the frame grabber.
Each property class defines pairs of member functions that let you set or get its values. Some properties, such as the trigger property, define additional member functions that let you specify finer aspects of the property.
The table below provides a description of each of the acquisition FIFO property classes.
Some properties apply to FIFOs for all frame grabbers, while others apply only to specific frame grabbers. The table below shows a matrix of properties and frame grabbers. The dots in the matrix indicate that the property is supported by that frame grabber hardware.
Although this table shows properties supported by frame grabbers, some cameras used with a given frame grabber might not support every specified property.
|
|
8500 |
8600 |
GigE Vision |
Imaging Device |
|
cc8BitInputLutProp |
• |
• |
|
|
|
ccCameraPortProp |
• |
• |
|
|
|
ccCompleteCallbackProp |
• |
• |
• |
• |
|
ccContrastBrightnessProp |
• |
|
• |
• |
|
ccCustomProp |
|
|
• |
• |
|
ccEncoderProp |
|
• |
|
|
|
ccExposureProp |
• |
• |
• |
• |
|
ccGigEVisionTransportProp |
|
|
• |
|
|
ccMovePartCallbackProp |
• |
• |
• |
• |
|
ccOverrunCallbackProp |
• |
|
|
|
|
ccPelRootPoolProp |
• |
• |
|
|
|
ccRoiProp |
• |
• |
• |
• |
|
ccSampleProp |
• |
|
|
|
|
ccStrobeDelayProp |
• |
• |
|
|
|
ccStrobeProp |
• |
• |
|
|
|
ccTimeoutProp1 |
• |
• |
• |
• |
|
• |
• |
|
|
|
|
ccTriggerProp |
• |
• |
• |
• |
ccTimeoutProp is deprecated and is maintained for backward compatibility only.
Only the following methods of ccTriggerFilterProp are supported: triggerDelay() on 8500 and 8600 boards and ignoreMissedTrigger() on 8600 boards.
You can also test a FIFO to see if it supports a particular property, as discussed in Testing for Properties.
If you need to change property settings during the course of your application, be sure to read Changing Properties During Acquisition.
To make working with properties easier, CVL provides the ccAcqProps class, which inherits from all other FIFO property classes. This allows you to set or get any FIFO property by accessing a single object. The figure below shows the properties class hierarchy.
Class diagram of acquisition FIFO property classes
The properties() member function for ccStdGreyAcqFifo, ccStdRGB16AcqFifo, and ccStdRGB32AcqFifo returns a ccAcqProps object that enables you to work conveniently with properties that apply to acquired images.