The rich feature set of Pixelink cameras is enabled by software.  There are many features and many ways to control them.  This article provides information for camera owners and programmers who want to understand the controls of their camera or who want to develop imaging applications.  


Use PxLGetCameraFeatures to query the features supported by your camera model. You can also use our camera software to check supported features; These features will be controllable in Pixelink Capture. 


And the Features article provides a list of the camera features that can be accessed through the Pixelink API. 


Controlling a Pixelink camera can be performed in a number of ways such as:




  • Using third-party supplied drivers and software developed using the associated API.


In general, the driver and the API must be compatible, which typically means from the same vendor.  For example, Pixelink cameras can be controlled in the LabVIEW environment using Pixelink supplied drivers and a set of LabVIEW VI wrappers developed around the Pixelink API.  Alternatively, it is possible to control FireWire cameras using the National Instruments IMAQ for IEEE1394 IIDC driver and the LabVIEW IMAQ image library.


It is also common to use the Pixelink driver and API in diverse applications by developing a dll wrapper around the Pixelink API that is compatible with the target programming environment.


Note that the Pixelink API is part of our Software Development Kit (SDK) and is sold separately.  You will need to purchase the SDK to develop software with the API.


Regardless of the software method used, the feature definitions are common and have similar properties. 


Parameters 


At its simplest, each feature has one or more parameters which determine the settings of the feature.  Each parameter has a type (integer, float, string etc...) and an associated unit (degrees, pixels, etc...) and a list of restrictions, if any. The parameters are defined as follows:

  • a name


  • a unit of measure


  • a type (relative or absolute)


  • a minimum value;


  • a maximum value;


  • a default; and


  • a step size.


You can find more information on the structure/content of a camera feature in the Camera Features article.


Feature Flags


The features also have feature flags which provide information and determine how the feature is controlled.  The feature flags define the following behaviours:

  • Presence - whether the feature is supported by that camera.


  • Read Only - whether the feature is controllable or for information purposes only.


  • Auto – whether the feature can be controlled automatically by the camera.  eg. Auto-exposure can maintain the correct exposure during changing illumination;


  • Manual – whether the feature can be controlled manually by a command sent to the camera. eg. the exposure is set to 10 ms;


  • One-time Auto – whether the feature can be controlled automatically for a short period and then returned to manual mode. eg. the exposure is set automatically for the current illumination settings and then fixed at that value;


  • Off – whether the feature can be disabled;


  • Change in Descriptors (CiD) – whether the feature settings can change between frames with descriptors;


For FireWire cameras, features that are not covered in the IIDC specification can be controlled via Advanced Control and Status Registers.