The following figure lists the API commands and shows the relationship between functional group of commands.


Two tables below list the API functions by functional group and alphabetically.  Designers should consult the referenced topics for detailed descriptions of the API functions.



Grouped By Function


Detect Cameras
PxLGetNumberCameras()
Get the number of Firewire, USB or IP cameras currently connected to the bus. Will only detect IP cameras that have a valid IP address.
PxLGetNumberCamerasEx()
Get the number of cameras connected to the computer, including IP cameras that do not have a valid IP address.


Initialize a Camera
PxLInitialize()
Initialize a camera and return the camera handle.
PxLInitializeEx()
Updated Initialize function. New applications should use this. 


Camera Identification
PxLGetCameraInfo()
Get Information about the specified camera.
PxLGetCameraInfoEx()
Get version information about the Pixelink hardware and firmware.
PxLGetCameraXML()
Retrieve the XML file used by a camera.
PxLSetCameraName()
Set a name for the specified camera.
PxLSetCameraIPAddress()
Set the IP address of a specified IP camera.


Camera Features
Enumerate Features
PxLGetCameraFeatures()
Get the list of the features supported by the specified camera.
Get/Set Features on Camera
PxLGetFeature()
Get the current value of the specified feature.
PxLSetFeature()
Set the value of the specified feature.
Load/Save Settings in the Camera's Non-Volatile Memory
PxLLoadSettings()
Load settings from non-volatile memory on the camera.
PxLSaveSettings()
Save the current settings to non-volatile memory on the camera.


Action Commands
PxLGetActions()
Get a specific camera, checking if there are outstanding scheduled action commands – and if there are, when these actions will mature (and acted upon).
PxLSetActions()
Trigger a specific action in the camera.


Video Stream
PxLGetStreamState()
Return information about the video stream coming from the camera. .
PxLSetStreamState()
Set the current state of the video stream to be stopped, started and paused .
PxLSetFrameBufferPolicy()
Return information about the video stream coming from the camera. .


Callbacks
PxLSetCallback()
Specify a callback function to modify the video data in the preview window or as it is translated into an end-user format.
PxLSetEventCallback()
Set callback that is called by the API whenever the specified event occurs in the specified camera.


Preview
PxLSetPreviewSettings()
Set the preview window settings for the specified camera
PxLSetPreviewState()
Set the current state of the preview window to playing, stopped, or paused.
PxLSetPreviewStateEx()
Set the current state of the preview window similar to PxLSetPreviewState, but with callback that is called when certain windows-based operations are performed. New applications should use this. 
PxLResetPreviewWindow()
Reset the size of the preview window to the size of the streaming video (thereby optimizing display performance).


Image Capture
Image Data Acquisition
PxLGetClip()Get a video clip and save it as a Pixelink data stream (.pds) intermediate file.
PxLGetEncodedClip()Get an encoded (compressed) video clip and save it to a file.
PxLGetNextFrame()Get the next image frame from the camera and put it in an image buffer.
PxLGetNextCompressedFrame()Get the next compressed image frame from the camera and put it in an image buffer.
PxLGetCurrentTimeStamp()
Get the current value of the camera’s ‘clock’ that it uses to timestamp images.
Translation to an End-User Format
PxLDecompressFrame()
Convert a compressed frame of image data to a decompressed frame.
PxLFormatClip()
Convert a Pixelink data stream (.pds) file to a video file (.avi).
PxLFormatClipEx()
Convert either an uncompressed Pixelink data stream (.pds) file, or a H264 compressed data stream, into a video file (.avi)
PxLFormatImage()
Convert a raw frame residing in an image buffer to an image file (.bmp, .tif, .psd, .jpg).


Error Reporting
PxLGetErrorReport()
Returns details about the last error that occurred.


Uninitialize a Camera
PxLUninitialize()
Uninitialize the specified camera.


Descriptor Control
PxLCreateDescriptor()
Create a descriptor for the specified camera.
PxLUpdateDescriptor()
Set the update mode for the specified descriptor.
PxLRemoveDescriptor()
Remove the descriptor form the specified camera.


Navitar lens Controller
PxLGetNumberControllers()
Get the number of controllers connected to the computer, including some of their information.
PxLAssignController()
Assign a specific controller to a camera. Features implemented by this controller are then controlled via the camera identifier. 
PxLUnassignController()
Unassign a specified controller from a camera. 


Not for General Use
PxLCameraRead()
Read the specified number of bytes from the advanced address space of the camera.
PxCameraWrite()
Write the specified number of bytes to the advanced address space of the camera.
PxLDebug()
This function supports configuration commands to the camera or Pixelink API. 
PxLPrivateCmd()
Send configuration commands to the camera or Pixelink API.


Grouped Alphabetically


API Function Name
Description
PxLAssignController()
Initialize a specific controller, and assign it to a specific camera.
PxLCameraRead()
Read the specified number of bytes from the advanced address space of the camera.
PxCameraWrite()
Write the specified number of bytes to the advanced address space of the camera.
PxLCreateDescriptor()
Create a descriptor for the specified camera.
PxLDecompressFrame()
Convert a compressed frame of image data to a decompressed frame.
PxLDebug()
This function supports configuration commands to the camera or Pixelink API. 
PxLFormatClip()
Convert a Pixelink data stream (.pds) file to a video file (.avi).
PxLFormatClipEx()
Convert either an uncompressed Pixelink data stream (.pds) file, or a H264 compressed data stream, into a video file (.avi)
PxLFormatImage()
Convert a raw frame residing in an image buffer to an image file (.bmp, .tif, .psd, .jpg).
PxLGetActions()
Check if there are outstanding scheduled action commands.
PxLGetCameraFeatures()
Get the list of the features supported by the specified camera.
PxLGetCameraInfo()
Get information about the specified camera.
PxLGetCameraInfoEx()
Returns version information about the Pixelink hardware and firmware.    
PxLGetCameraXML()
Retrieve the XML file used by a camera.
PxLGetClip()
Get a video clip and save it as a Pixelink data stream (.pds) intermediate file.
PxLGetCurrentTimeStamp()
Returns the current value of the camera’s ‘clock’ that it uses to timestamp images.
PxLGetEncodedClip()
Saves an encoded (compressed) video clip to a file.
PxLGetErrorReport()
Returns details about the last error that occurred.
PxLGetFeature()
Get the current value of the specified feature.
PxLGetNextFrame()
Get the next image frame from the camera and put it in an image buffer.
PxLGetNextCompressedFrame()Get the next compressed image frame from the camera and put it in an image buffer.
PxLGetNumberCameras()
Get the number of cameras currently connected to the bus.
PxLGetNumberCamerasEx()
Get the number of cameras connected to the computer, including IP cameras that do not have a valid IP address.
PxLGetNumberControllers()
Get the number of controllers connected to the computer.
PxLGetStreamState()
Return information about the video stream coming from the camera. .
PxLInitialize()
Initialize a camera and return the camera handle.
PxLInitializeEx()
Initialize a camera in its entirety and obtain the camera handle for subsequent API function calls.
PxLLoadSettings()
Load settings from non-volatile memory on the camera.
PxLPrivateCmd()
Send configuration commands to the camera or Pixelink API.
PxLRemoveDescriptor()
Remove the descriptor from the specified camera.
PxLResetPreviewWindow()
Reset the size of the preview window to the size of the streaming video (thereby optimizing display performance).
PxLSaveSettings()
Save the current settings to non-volatile memory on the camera.
PxLSetActions()
Trigger a specific action in the camera.
PxLSetCallback()
Specify a callback function to modify the video data in the preview window or as it is translated into an end-user format.
PxLSetCameraIPAddress()
Set the IP address of a specified IP camera.
PxLSetCameraName()
Set a name for the specified camera.
PxLSetEventCallback()
Set callback that is called whenever the specified event occurs in the specified camera.
PxLSetFeature()
Set the value of the specified feature.
PxLSetFrameBufferPolicy()
Return information about the video stream coming from the camera. .
PxLSetPreviewSettings()
Set the preview window settings for the specified camera.
PxLSetPreviewState()
Set the current state of the preview window to playing, stopped, or paused.
PxLSetPreviewStateEx()
Similar to PxLSetPreviewState, but accommodates a callback function, called when certain windows based operations are performed to the preview window.
PxLSetStreamState()
Set the current state of the video stream to stopped, started or paused.
PxLUnassignController()
Releases a particular controller, allowing it to be assigned to another camera.
PxLUninitialize()
Uninitialize the specified camera.
PxLUpdateDescriptor()
Set the update mode for the specified descriptor.