Object-oriented interface for Andor EMCCD cameras
Project description
Object-oriented, high-level interface for Andor cameras (SDK2), written in Cython.
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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.