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 Package Manager. Through the NI package manager, also install the NI-VISA Driver.
To interface Rigol instruments specifically, you will 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 3.6
(for compliance with FlyCapture SDK), 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 amend the package code, 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.