pip install camera_driver_python
Note - PyTorch is not included as a requirement and is assumed to be installed. Vendor specific camera libraries need to be installed separately.
-
Spinnaker - requires both system install of the
Spinnaker SDK
and also the python wheel providingPySpin
-
IDS peak - requires system install plus python library which can be installed with
pip install ids_peak
capture_images --config config_examples/blackfly_12p.yaml
See camera_driver/scripts/capture_images.py
for usage details of the complete pipleine.
The library is broken into three main parts:
- A set of abstractions for a specific camera vendor (
Manager
,Camera
andBuffer
) each of which have an implementation for a specific camera vendor, and implement a common interface for which to access, manipulate and capture frames asychronously.
Each vendor library (of which there are two driver.peak
and driver.spinnaker
currently), provides implementations for the following interfaces (specified by a set of abstract classes in driver.interface
)
- A
Manager
class, which provides an interface to find and initialise cameras from a specific vendor. - A
Camera
class provides an interface to control a particular camera, set it's settings and capture frames asynchronously. - A
Buffer
class provides image data in a consistent way, a numpy interface provides the raw data which can then be processed as required, but must be copied beforeBuffer.release
is called.
-
Camera agnostic utilities for dealing with groups of cameras
camera_group.CameraSet
, for setting common settings, andcamera_group.SyncHandler
for grouping frames which are collected asynchronously from multiple triggered cameras, but need grouping together. -
A specific image processing
pipeline
for capturing and processing 12 bit HDR images. This utilizestaichi_image
and torch for image processing, and is accesed through the high level interfacepipeline.CameraPipeline
for taking images, synchronizing them and processing them.