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

libdc1394 v2

works

works

newest library version supports Windows, but untested with cam_iface

triggering options disabled

camwire/libdc1394 v1

works

works

NA

NA

Prosilica GigE Vision

works

NA

works

NA

ImperX GigE

NA

NA

rudiments present

NA

Basler BCAM 1.8

NA

NA

rudiments present, frequent BSOD

NA

Basler Pylon

not started

supported by driver?

not started

supported by driver?

QuickTime SequenceGrabber

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.