slmsuite.hardware.cameras

The sensor arrays used to measure results. Computer vision hardware is connected to python by a myriad of SDKs, often provided by hardware vendors. However, these SDKs likewise have a myriad of function names and hardware-specific quirks. Thus, cameras in slmsuite are integrated as subclasses of the abstract class Camera, which requires subclasses to implement a number of methods relevant for SLM feedback (see below). These subclasses are effectively wrappers for the given SDK, but also include quality-of-life features such as image transformations (flips, rotates) and useful common methods. A number of SDKs are supported, including:

Tip

While the superclass Camera only requires a small number of features to be implemented as class functions, any further control of a camera interface can be accessed by using the given SDK object directly (usually the attribute cam of the subclass) or writing additional functions into the subclass.

slmsuite.hardware.cameras.alliedvision

Hardware control for AlliedVision cameras via the vimba interface.

slmsuite.hardware.cameras.camera

Abstract camera functionality.

slmsuite.hardware.cameras.flir

(NotImplemented) Hardware control for FLIR cameras via the PySpin interface to the Spinnaker SDK.

slmsuite.hardware.cameras.mmcore

(NotImplemented) Hardware control for Micro-Manager cameras via the pymmcore interface.

slmsuite.hardware.cameras.template

Template for writing a subclass for camera hardware control in slmsuite.

slmsuite.hardware.cameras.thorlabs

Hardware control for Thorlabs cameras via TLCameraSDK.

slmsuite.hardware.cameras.xenics

Hardware control for Xenics camera via the Xeneth interface.