This python package provides built-in classes to interface diverse laboratory instruments, including:
- waveform generators: Rigol DG 1022Z (
RigolDG1022Z
) - oscilloscopes: B&K Precision 2555 (
BK2555
), Rigol DS 1054Z (RigolDS1054Z
) - micro-manipulators: Sutter Instruments MP-285A (
SutterMP285A
) - infrared cameras: FLIR cameras (
Camera
) - acquisition systems: NI DAQmx for pulse triggers
To interface VISA instruments (i.e., waveforms generators and oscilloscopes), you will need to:
- Download and install IVI Compliance Package 21.0 When installing, opt to include .NET Adapters and COM adapters as well (these are not selected by default)
- Download and install the NI-VISA Package Manager. Through the NI package manager, also install the NI-VISA driver. You can also download the driver directly from this link and install it on its own if you prefer.
To interface Rigol instruments specifically, you may also need to download and install the associated Rigol driver
To interface FLIR cameras, you will need to download and install the FlyCapture SDK
You will also need to install Python
(for compliance with FlyCapture SDK, use Python 3.6
), preferably as part of an environment manager such as Anaconda.
This package can be directly installed from PyPI:
pip install instrulink
However, if you wish to edit the code base, you can also clone this repo and install it locally as an editable package:
git clone https://github.com/tjjlemaire/instrulink.git
cd instrulink
pip install -e .
Instruments can be easily connected to via generic grab_camera
, grab_generator
, grab_oscilloscope
and grab_manipulator
functions. By default, these functions will automatically detect the first available instrument connected to the PC. Optionally, you can also provide an instrument key
to connect to a specific model type (e.g. grab_osciloscope(key='bk')
to specifically connect to a B&K Precision oscilloscope).
Example scripts are located in the /scripts
subfolder.
This package is written and maintained by Theo Lemaire.