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.
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
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
All Picam Parameters accessible through PicamCamera.params
are instances of one of these classes.
IntegerParameter
LargeIntegerParameter
FloatingPointParameter
BooleanParameter
EnumerationParameter
ModulationsParameter
RoisParameter
PulseParameter
Parameter
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.