Skip to content

Latest commit

 

History

History
121 lines (78 loc) · 3.12 KB

cameras-picam.rst

File metadata and controls

121 lines (78 loc) · 3.12 KB

Picam Cameras

Installation

This module requires the Picam SDK and the NiceLib package. Tested to work on Windows and Linux.

On Linux, you must set the GENICAM_ROOT_V2_4 environment variable to the path to genicam (probably /opt/pleora/ebus_sdk/x86_64/lib/genicam) and ensure that Picam's lockfile directory exists (the Picam SDK installer isn't good about doing this).

On Windows, the DLLs Picam.dll, Picc.dll, Pida.dll, and Pidi.dll must be copied to a directory on the system path. Note that the DLLs found first on the system path must match the version of the headers installed with the Picam SDK.

Module Reference

In addition to the documented methods, instances of :pyPicamCamera have a params attribute which contains the camera's Picam parameters. Each parameter implements get_value(), set_value(), can_set(), and get_default() methods that call the underlying Picam SDK functions. For example,

>>> cam.params.ShutterTimingMode.get_value() # => gives ShutterTimingMode.AlwaysOpen >>> cam.params.ShutterTimingMode.set_value(PicamEnums.ShutterTimingMode.AlwaysClosed) >>> cam.params.ShutterTimingMode.get_value() # verify the change

PicamCamera

instrumental.drivers.cameras.picam.PicamEnums

PicamError

Picam Data Types

These data types are returned by the API and are not meant to be created directly by users. They provide a wrapped interface to Picam's data types and automatically handle memory cleanup.

PicamCameraID

PicamPulse

PicamRois

PicamRoi

PicamModulations

PicamModulation

Parameter Types

All Picam Parameters accessible through PicamCamera.params are instances of one of these classes.

IntegerParameter

LargeIntegerParameter

FloatingPointParameter

BooleanParameter

EnumerationParameter

ModulationsParameter

RoisParameter

PulseParameter

Parameter

Low Level Interface

The NicePicamLib class provides a more direct wrapping of the Picam SDK's C interface---what the NiceLib package calls a "Mid-level" interface. See the NiceLib documentation for more information on how to use this kind of interface.