Overview
cam_iface ("camera interface") is a C API that provides a camera and OS independent image acquisition framework.
There is also a Python wrapper (pycamiface) of the cam_iface libraries.
Backend status
A number of backends are supported.
Backend | linux i386 | linux x86_64 | win32 (XP) | Mac OS X |
works | works | newest library version supports Windows, but untested with cam_iface | triggering options disabled | |
works | works | NA | NA | |
works |
NA | works | NA | |
NA | NA | rudiments present | NA | |
NA | NA | rudiments present, frequent BSOD | NA | |
not started | supported by driver? | not started | supported by driver? | |
NA | NA | supported by driver? | basic functionality works |
Installing
A.0 Building cam_iface C library on Windows
Open a "Visual Studio Command Prompt" and type:
cd C:\Blah\blah\cam_iface scons
A.1 Building cam_iface C library on linux
cd /home/somebody/blah/blah/cam_iface scons
Backend notes
camwire
The camwire backend is deprecated and will be replaced by the dc1394 (v2) backend ASAP.
prosilica_gige
Prosilica's PvAPI provides a mechanism to get timestamps from the camera. For synchronizing with activities in the real world, it is nice to get a real world time. Therefore, the default timestamps available with the cam_iface wrapper are the host computer's clock value at the time the image was acquired. Note that this is typically several milliseconds after the beginning of exposure. This behavior can be changed by altering the CIPROSIL_TIME_HOST preprocessor define.
Here is an example of setting attributes on the camera using Prosilica's command line tools:
$ export CAM_IP=192.168.1.63 $ CamAttr -i $CAM_IP -s StreamBytesPerSecond 123963084 $ CamAttr -i $CAM_IP -s PacketSize 1500
License
cam_iface is licensed under the BSD license. See the LICENSE.txt file for the full description.
