面向对象的安道尔emccd相机接口
andor的Python项目详细描述
面向对象的、用于andor相机(sdk2)的高级接口,用cython编写。
注意
这不是一个独立的司机。必须安装和或专用驱动程序。 安装脚本希望在^{tt2}中找到libandor.so。$ (驱动程序的默认安装目录)。
andor在其sdk上提供了一个名为atcmd的低级,cTypes包装器。 如果可用,它将作为和或.u sdk导入。
本文档应与或的软件开发工具包手册一起阅读。
生成扩展名:
$ python2.7 setup_extension.py build_ext --inplace
警告
此模块不是线程安全的。如果acqmode.wait阻止 后台线程,另一个函数调用来自主线程, 主线程也会阻塞
用法
摄像头通过顶级类和或控制:
>>> from andor2 import Andor >>> cam = Andor()
和或实例只是其他对象的容器 它控制着相机的各个方面:
- 信息:相机信息和可用功能
- 温度:冷却器控制
- 快门控制
- 电子倍增增益控制
- 探测器:CCD控制,包括:
- vss:垂直移动速度
- hss:水平移动速度
- 模数转换器
- 输出放大器
- 前置放大器:前置放大器控制
- 读取模式:选择CCD读取模式(全帧、垂直装箱、磁道等)
- 获取<;acqmode>;:控制获取模式(单次拍摄、视频、累积、动态)
示例
>>> 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