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.

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.

Submodules

alliedvision

Hardware control for AlliedVision cameras via the Vimba-X vmbpy interface.

basler

(Untested) Hardware control for Basler cameras via the pypylon interface.

camera

Abstract camera functionality.

flir

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

imagingsource

(Untested) Hardware control for The Imaging Source cameras via tisgrabber.

instrumental

Light wrapper for the instrumental-lib package.

mindvision

(Untested) Hardware control for MindVision cameras via mvsdk.

mmcore

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

pylablib

Light wrapper for the pylablib package.

simulated

Simulated camera to image the simulated SLM.

template

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

thorlabs

Hardware control for Thorlabs cameras via TLCameraSDK.

webcam

Wraps OpenCV's cv2 VideoCapture class, which supports many webcams and videostreams.

xenics

Hardware control for Xenics camera via the Xeneth interface.