LabVIEW 驱动 Andor 相机:从 SDK 到出图

科研级 EMCCD 与 sCMOS 相机本身不难接,难的是把它塞进自己的实验时序里。本文拆一条完整链路:从 Andor SDK 的 DLL 接口,到 LabVIEW 里从初始化到出图的每一步。

显微镜接口上的科研级制冷相机,LabVIEW 界面呈现曝光时间、EM 增益与实时图像直方图

01 这类相机为什么不好控

在单光子成像、活细胞荧光显微、天文观测这类场景里,Andor 的 EMCCD(iXon 系列)和 sCMOS(Zyla、Sona、Marana 等)是常见选择------它们能在极弱光下拿到可用图像。

但买回来不等于用起来 。这类相机厂商都配了自己的采集软件(如 Solis、iQ),点点鼠标就能拍。问题在于:科研要的从来不是"拍一张照片",而是把相机嵌进一整套实验流程------曝光的同时位移台要走到位、光源要按序列开关、温度要记录、图像要按编号落盘。

自带软件做不到这些。你必须自己写程序去驱动它。

而这类相机的可控参数比普通工业相机多得多:曝光时间、EM 增益、制冷温度、读出模式、触发模式、binning 方式......每一个都影响最终图像的质量。控不住这些,数据就不可比。

02 接口:Andor SDK 是那座桥

Andor 把这些能力封装成一套 SDK,核心是一个动态链接库。LabVIEW 要做的,是通过调用库函数节点去调这个 DLL。

选 SDK 之前先分清代次,这一步错了后面全白搭:

  • SDK2 对应 CCD 与 ICCD 系列,包括 iXon 这类 EMCCD,库文件是 `atmcd32d.dll`(64 位系统下是 `atmcd64d.dll`);
  • SDK3 对应 sCMOS 系列,用的是另一套 DLL,与 SDK2 不通用。

好消息是 Andor 官方就支持 LabVIEW------SDK 安装包里直接带 LabVIEW 示例 VI,装完就能跑。SDK 附带的 `ATMCD32D.BAS` 文件里,就是为 LabVIEW 准备的函数原型声明。

有一条必须对齐:位数。LabVIEW 的位数、DLL 的位数、操作系统的位数要一致。官方示例 VI 在不同 SDK 版本里对 LabVIEW 版本的要求也不同,早期版本要求 32 位环境。这个坑不提前确认,会在"调用库函数节点"那一步直接报错。

03 一条完整的控制链路

这套流程是有固定顺序的,每一步都依赖上一步的结果:

第一步,`Initialize`。 初始化相机。注意:这一步相机会自动校准片内的 A/D 转换器,要花几秒钟。第一次跑的人常以为程序卡死了。

第二步,配置工作模式。 至少四个函数要设:`SetTriggerMode`(0 表示内触发)、`SetGateMode`(3 表示门常开)、`SetReadMode`(4 表示图像模式)、`SetAcquisitionMode`(1 表示单次扫描)。

第三步,设置采集参数。 `SetExposureTime` 设曝光时间;`SetEMGainMode` 设 EM 增益,取值范围 0 到 300。这两个参数直接决定图像的亮度和噪声,是实验中最常调整的两个。

第四步,`GetDetector`。 读回相机的水平与垂直像素尺寸。必须先读,才知道后面要开多大的数组------这是新手最容易漏的一步。

第五步,`SetImage`。 配置 binning 方式和起始位置,并分配图像数组。

第六步,`StartAcquisition` 与 `GetAcquiredData`。 启动采集并把数据搬进预分配的数组。要连续采,就把这两个函数套在循环里。

第七步,`ShutDown`。 释放内存、关闭相机。程序异常退出时如果没走到这一步,下次相机可能连不上。

04 几个容易踩的坑

EM 增益不是越高越好。 增益拉满能看见更弱的信号,但也会把噪声一起放大。EMCCD 的价值恰恰在于低增益下就能拿到高信噪比,盲目拉高反而毁数据。

制冷要等温度稳定。 SDK 提供 CCD 温度控制与快门操作函数。制冷没到设定值就开拍,暗电流会把弱信号淹没。

读出模式要按实验选。 SDK 支持多种读出模式------Full Vertical Binning、Single-Track、Multi-Track、Random-Track、Image、Cropped。要光谱就选 binning 类,要成像就选 Image,要高速就裁 ROI。选错模式,速度和信噪比都会不对。

别同时开厂商软件。 Solis、iQ 这类软件和你的 LabVIEW 程序不能同时运行,会抢相机。调试时反复切换,记得先把一边彻底关掉。

瓶颈常常不在相机。 大面阵、高帧率下,真正拖后腿的往往是数据传输和落盘速度。这时候要考虑的是怎么把数据流高效写下去,而不是换相机。

05 这类设备上,LabVIEW 的价值在哪

一台相机只是实验台上的一个环节。真正难的是把它和位移台、光源、数据采集卡、串口设备放进同一个时序------谁先动、谁后动、什么时候触发、数据怎么对齐。

LabVIEW 在这类项目上的优势很直接:

  • 厂商 SDK 普遍支持 LabVIEW,从相机到位移台到数据采集卡,能用同一套开发环境串起来;
  • 图形化编程让实验人员自己改参数,调个曝光、换个触发方式不用每次找人改代码;
  • 实时与 FPGA 模块能把硬时序部分下沉,保证微秒级的确定性。

我们专注 LabVIEW 软件开发与测试测量系统集成,从硬件选型、方案设计到现场交付调试,提供一站式服务。手上有 Andor 或其他科研相机、仪器需要接入自己的实验流程,欢迎在评论区留言;身边朋友有类似项目,也欢迎帮忙引荐。

相关推荐
LabVIEW开发1 小时前
TDS2024 示波器 + LabVIEW 波形怎么抓?
labview·labview知识·labview功能·labview程序
LabVIEW开发4 小时前
HP3458A 一次采 90 点的命令与驱动
labview知识
高升说6 小时前
避障相机与激光雷达的硬件融合:时基、外参、算力与布局的工程实现
人工智能·数码相机
LabVIEW开发16 小时前
Beckhoff EK1100:接 LabVIEW 的坑
labview·labview知识·labview功能·labview程序
hahaha601621 小时前
自动白平衡 & 手动白平衡
数码相机
LabVIEW开发1 天前
LabVIEW + FlexRIO:3 个月搭出质谱分析系统
人工智能·labview·labview知识·labview功能·labview程序
钒星物联网1 天前
林区没信号,红外相机怎么把照片实时送出来?
数码相机·数据传输·卫星通信·红外相机·自组网·宽带卫星
特创数字科技1 天前
【uni-app x】告别系统相机限制!三端通用自定义相机组件:任意布局、静默拍照、录像、水印叠加、连拍回图一次搞定
前端·数码相机·uni-app
Jmyd01232 天前
手持激光三维扫描仪技术解析:三角测量数据链路、材质适配矩阵与点云处理流程
数码相机·矩阵·材质·三维数字化