Hardware
The labscript suite supports a range of commercial and open-source hardware, and is modular by design. Adding support for new devices involves writing Python functions for a well-defined set of primitives to program instructions, and transition between buffered I/O and manual states. See the documentation for more details on adding new devices.
The following devices have been implemented in the suite:†
- AlazarTech PCI Express Digitizers (e.g. ATS9462; PR #ʙʙ41)
- LightCrafter DMD Digital Micro-mirror Device (PR #ʙʙ43)
- MOGLabs Agile RF Synthesizers (ARF/XRF)
- National Instruments Data Acquisition (DAQmx) devices:
- cDAQ-9184 CompactDAQ Chassis
- PCI 6251 Multifunction I/O Device
- PCI 6533/6534 High-Speed Digital Pattern I/O
- PCI-6713 Analog Output Device
- PCI-6733 Analog Output Device
- PCI-DIO-32HS High-Speed Digital I/O
- PCIe-6363 Multifunction I/O Device
- PCIe-6738 Analog Output Device
- PXI-6733 PXI Analog Output Module
- PXIe-6361 PXI Multifunction I/O Module
- PXIe-6535 PXI Digital I/O Module
- PXIe-6738 PXI Analog Output Module
- USB-6008 Multifunction I/O Device
- USB-6229 Multifunction I/O Device
- USB-6343 Multifunction I/O Device
- Quicksyn FSW-0010 Microwave Synthesizer (formerly PhaseMatrix)
Note: labscript-devices 2.5.0 (June 2019) can now auto-generate a labscript device class for any NI-DAQmx device! (PR #ʙʙ56)
- NovaTech DDS9m 170MHz Four Channel Direct Digital Synthesized Signal Generator (see blog post)
- OpalKelly XEM3001 FPGA Boards used by the Cicero control system (PR #ʙʙ50)
- PineBlaster Open-source Digital Pattern Generator
- SpinCore Programmable Pulse Generators and Direct Digital Synthesis
- PulseBlasterDDS-II-300-AWG
- PulseBlasterESR-PRO
- PulseBlasterESR-CompactPCI
- PulseBlaster e.g. SP2 Model: PB24-100-32k
- PulseBlasterUSB
- Tektronix oscilloscopes (PR #ʙʙ61)
- Zaber Motion Controllers, e.g. linear translation stages (PR #ʙʙ85)
Supported Cameras
The following cameras are implemented by sub-classing labscript_devices.Camera, a Python-based camera server which can be controlled directly from blacs.
- FLIR cameras (e.g. FlyCapture 2, Flea3) using the free PyCapture2 API (PR #ʙʙ71) or Spinnaker SDK (PR #42)
- Andor cameras (PR #ʙʙ80)
- Basler pylon (PRs #ʙʙ69 and #ʙʙ74).
- Any camera compatible with National Instruments IMAQdx (PRs #ʙʙ70, #ʙʙ72, #ʙʙ73, #ʙʙ77, #ʙʙ79, #ʙʙ83).
- This includes most cameras compliant with the GigE Vision interface standard, such as Allied Vision cameras.
The image acquisition program BIAS is no longer actively developed. Nevertheless, any Andor camera should work with BIAS as well as most GigE cameras (possibly with slight modification as seen in the implementation of the Photonfocus). Cameras explicitly tested with BIAS are:
- Andor iKon-M and Neo sCMOS.
- Allied Vision Mako, Manta, and Prosillica series.
- Photonfocus MV1-D1312(I).
The Monash labs where the labscript suite was initially developed have used an Adnaco PCI/PCIe fiber expansion system, which allows devices to be located close to the experiment independently from the control PC (which can reside, for example, in a different room) without introducing ground loops.
† We do not endorse the use of any particular hardware.