Overview¶
Drivers¶
The drivers
subpackage’s purpose is to provide relatively high-level
‘drivers’ for interfacing with lab equipment. Currently it (fully or partially)
supports:
- Cameras
- PCO SDK(tested on PCO.Edge)
- PCO Pixelfly
- Photometrics PVCAM
- Thorlabs TSI
- Thorlabs UC480 / iDS uEye
- DAQs
- NI-DAQmx
- Function Generators
- Tektronix AFG3000 series
- Lasers
- Toptica FemtoFErb 1560
- Lock-in Amplifiers
- SRS SR850
- Motion Control
- Thorlabs Kinesis (FilterFlipper/TDC001/K10CR1 currently supported)
- Attocube ECC100 Controller
- Multimeters
- HP 34401A
- Optical Power Meters
- Newport 1830-C
- Thorlabs PM100x series
- Oscilloscopes
- Tektronix TDS300 and MSO/DPO4000 series (and probably others)
- Spectrometers
- Bristol 721 spectrum analyzer
- Thorlabs CCSxxx series
- Wavemeters
- Burleigh WA-1000/1500
It should be pretty easy to write drivers for other VISA-compatible devices via PyVISA. Driver submissions are greatly appreciated!
Plotting¶
The plotting
module provides or aims to provide
- Unit-aware plotting functions as a drop-in replacement for pyplot
- Easy slider-plots
Fitting¶
The fitting
module is a good place for curating ‘standard’ fitting tools
for common cases like
- Triple-lorentzian cavity scans
- Ringdown traces (exponential decay)
It should also provide optional unit-awareness.
Tools¶
The tools
module is used for full-fledged scripts and programs that may
make use of all of the other modules above. A good example would be a script
that pulls a trace from the scope, auto-fits a ringdown curve, and saves both
the raw data and fit parameters to files in a well-organized directory
structure.