Last updated:
0 purchases
andor 1.14
Object-oriented, high-level interface for Andor cameras (SDK2), written in Cython.
Note
This is not a stand-alone driver. Andor’s proprietary drivers must be installed.
The setup script expects to find libandor.so in /usr/local/lib/
(the driver’s default installation directory).
Andor provides a low-level, ctypes wrapper on their SDK, called atcmd.
If available, it will be imported as Andor._sdk.
This documentation should be read along Andor’s Software Development Kit manual.
To build the extension:
$ python2.7 setup_extension.py build_ext --inplace
Warning
This module is not thread-safe. If AcqMode.wait is blocking a
background thread, and another function call is made from the main thread,
the main thread will block too.
Usage
The camera is controlled via the top-level class Andor:
>>> from andor2 import Andor
>>> cam = Andor()
The Andor instance is just a container for other objects
that control various aspect of the camera:
Info : camera information and available features
Temperature : cooler control
Shutter : shutter control
EM: electron-multiplying gain control
Detector: CCD control, including:
VSS: vertical shift speed
HSS: horizontal shift speed
ADC: analog-to-digital converter
OutputAmp: the output amplifier
PreAmp: pre-amplifier control
ReadMode: select the CCD read-out mode (full frame, vertical binning, tracks, etc.)
Acquire <AcqMode>: control the acquisition mode (single shot, video, accumulate, kinetic)
Examples
>>> from andor2 import Andor
>>> cam = Andor()
>>> cam.Temperature.setpoint = -74 # start cooling
>>> cam.Temperature.cooler = True
>>> cam.Detector.OutputAmp(1) # use conventional CCD amplifier instead of electron multiplying
>>> cam.PreAmp(2) # set pre-amplifier gain to 4.9
>>> cam.exposure = 10 # set exposure time to 10 ms
>>> cam.ReadMode.SingleTrack(590,5) # set readout mode: single track, 5 pixels wide, centered at 590 pixels
>>> cam.Acquire.Video() # set acquisition mode to video (continuous)
>>> data = cam.Acquire.Newest(10) # collect latest 10 images as numpy array
>>> cam.Acquire.stop()
>>> cam.Acquire.Kinetic(10, 0.1, 5, 0.01) # set up kinetic sequence of 10 images every 100ms
# with each image being an accumulation of 5 images
# taken 10ms apart
>>> cam.Acquire.start() # start acquiring
>>> cam.Acquire.wait() # block until acquisition terminates
>>> data = cam.Acquire.GetAcquiredData() # collect all data
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.