LabVIEW扫描成像或同步模拟电压生成和数据采集

2023-11-20

大量测量技术涉及探头扫描,同时测量物理量。 例如,所有扫描成像方法都是这种情况。 因此,数据采集需要高采集率,以及探头控制和测量之间的精确同步。 GPScan.VI 程序是用于控制 National Instruments 高速数据采集板的通用 LabVIEW 程序,允许设计扫描成像系统。 模拟输出电压用于驱动二维扫描设备,同时模拟电压的采集和 TTL 脉冲计数并行运行。 像素驻留时间低至微秒的百万像素图像的采集可以忽略不计。

介绍
大量的显微镜技术,包括原子力显微镜、电子显微镜、共聚焦和非线性光学显微镜,都依赖于扫描方案。在这种操作模式下,探针(尖端、电子束、光斑等)在物体上扫描,同时测量物理量,随后可以构建该物体的数字图像。从技术上讲,因为这种采集方案是顺序的,因此本质上很慢,它需要高采集率,以及探头控制和测量之间的准确同步。这种控制和采集设备在市场上已经有一段时间了,并在许多商业扫描成像系统中运行。此外,过去已经描述了用于研究仪器的此类设备的几种实施方式。然而,建议的解决方案是完整的软件,通常非常具体,对于新手程序员来说可能看起来很复杂,因为针对多功能性进行了优化,或者可能基于现已过时的设备和/或驱动程序。 因此,使此类软件适应现有的实验台对许多研究实验室来说仍然是一个挑战。

在本文中,我描述了 GPScan.VI 程序,该程序允许为此目的配置和使用美国国家仪器 (NI) 多功能采集板。 我专注于以全面的方式提供必要构建块的技术细节,并详细说明设备配置、触发和采集率等关键问题。 该程序内置于模块化块中,因此初始化、测量和释放设备等基本任务可以轻松适应任何用户需求。

需求
GPScan.VI 程序是在LabVIEW 中使用DAQmx 函数编写的,并利用了NI 多合一高速多功能采集板的特性。 它需要存在两个模拟输出 (AO) 通道,用于高速(高达每秒几百万个样本)和设备无关的二维扫描控制,因为大多数扫描设备(压电扫描仪、 电流镜等)可以由模拟电压驱动。 数据采集可能涉及多个模拟输入 (AI) 通道和/或并行计算器。AI 通道适用于大多数输出电压的探测器和传感器,而计数器可以利用提供 TTL 脉冲的特定探测器,例如单光子计数模块。

子程序
与同步扫描和图像采集相对应的任务首先使用 Init.VI 程序进行配置,如图 1 所示,其中设置了图像的总点数以及像素驻留时间。 AO(2 个通道)和 AI(用户定义的通道数)任务被配置为分别以适当的像素速率传送和测量电压系列。计数器采集是使用所谓的脉冲持续时间模式以迂回的方式执行的:这种测量模式最初是在 NI-DAQmx 中设计的,用于根据参考时钟的滴答数测量未知脉冲的持续时间;在这里,未知脉冲由一个计数器(称为像素时钟)生成的已知脉冲序列代替,而采样时钟由来自检测器的 TTL 脉冲代替。这样,返回的“脉冲持续时间”值实际上就是在每个像素坐标处测得的 TTL 脉冲数。最后,为了保证完美同步,AI、像素时钟生成和计数器任务被配置为在AO启动触发端的上升数字沿信号开始。

整个帧的扫描是根据 Scan.VI 程序执行的,如图 2 所示。首先,计数器采集、像素时钟生成和 AI 采集已准备就绪,这意味着它们正在等待触发信号。然后,基于扫描参数(每个维度的像素数、扫描幅度)和电压因子(将电压值与所需的扫描幅度相关联),通过 RasterScanXY .VI计算对应于 2D 光栅扫描的 AO 系列的值(见图 A.6)并写在设备上。准备就绪后,AO 生成以及触发的数据采集开始。然后,在可用时,将完整的 AI 和计数器测量系列传输到计算机。迭代图像采集是通过一个 while 循环来执行的。在这种情况下,仅当自上次迭代以来扫描幅度发生变化时,AO 系列才会更新到板上。请注意,虽然这不会出现在程序中,但数据传输涉及内部缓冲区并且是双向的,因此 AO 生成和数据获取在时间上部分重叠。最后,如图 3 所示的 Close.VI 清除所有任务,并释放任务保留的所有设备资源。

主程序
如图 4 所示的 GPMain.VI 程序是完整扫描和采集程序的基本示例,在两个 AI 通道和两个计数通道的情况下,它说明了如何操作数据系列,以便它们可以显示为数字图片。

如何使用程序
GPScan.VI 程序的前面板如图 5 所示。左框架包含扫描设置,包括像素持续时间、扫描范围和电压因子,允许调整扫描物理单元和控制电压之间的比例 . 顶部面板用于设置两个 AO 通道,以及用于触发每帧扫描的端子。 中间框对应两个计数器通道,只有在激活前面板按钮“使用计数器”时才考虑其参数。 同样,当“使用模拟输入”打开时,底部框架处理 AI 获取和显示。

GPScan.VI的框图如图4所示,对应两个AI通道和两个计数器通道的情况。 通过选择GPScan.VI输出的二维模拟数据阵列的第一行(即索引0)提取第一个AI通道,第二个AI通道对应索引1的行,以此类推。 提取计数器通道数据 以同样的方式从 2D 计数数据数组。因此,通过删除或复制所需的图表,使用适当的索引号,可以轻松地调整 AI 和/或计数器通道的数量。

采样率
程序 GPScan.VI 通常可以操作像素停留时间低至微秒的百万像素图像的采集,其最终值由更新规范决定,对应于相对较快的图像采集 (1 fps),扫描次数减少场定义 (15×15 µm2),例如,提供足够的信噪比和快速响应以实现高效的聚焦优化。

实际上,采集速度很大程度上取决于扫描设备。 标准检流镜通常具有低惯性,因此它们通常可以在光栅扫描模式下运行,驻留时间低至数十微秒 [16],可能存在延迟,这可能会导致重建图像的人为偏移和回扫伪影 。 除非专为速度而设计,否则压电扫描台在毫秒范围内工作。

另一个限制速度的因素是所需的信噪比。 在使用光子计数模块时,这个问题可能很关键。 由于它们的特定设计,这些设备通常限于每秒几百万次计数的计数率,即每微秒几次计数。 在这些条件下,像素驻留时间低于 10 µs 的扫描在信噪比方面是红色的。

最后,当应用程序需要高帧率时,一个合理的问题是将 (i) 扫描参数从计算机传输到电路板,(ii) 将测量信号传输到计算机所需的时间。 这个时间,我称之为“I/O 数据传输时间”,除了测量本身的持续时间外,还必须被视为不可压缩的额外延迟。 它是在连接到 3 GHz-CPU 笔记本电脑(USB2 端口)的 NI-USB-6353 设备上针对各种扫描条件进行测量的,典型值在表中给出。 1. 可以预见,该 I/O 传输时间主要取决于要传输的数据量,即像素总数,而与像素驻留时间无关。 值得注意的是,与测量时间相比,它通常仍然很小,即使 AO 系列从一帧更新到下一帧。

在涉及大量像素的通常成像条件下,可以合理地认为 I/O 数据传输时间与测量本身相比可以忽略不计。

总之,GPScan.VI 可以作为核心程序来开发使用多功能设备的高速光栅扫描系统,并且可以适用于任何其他任意扫描方案。 甚至说,它可以用于需要高速同步信号生成和采集的各种仪器。

详情参阅 - 亚图跨际

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LabVIEW扫描成像或同步模拟电压生成和数据采集 的相关文章

随机推荐

  • spring security oauth2 动态切换角色或者岗位,更新redis缓存

    1 切换角色或者岗位后更新缓存token 获取token 并更新token 特别要注意token中的内容 accessToken getAdditionalInformation put SecurityConstants DETAILS
  • 使用ShellJS提升你的开发效率(一)

    Shelljs Unix shell commands for Node js Shelljs是Node js下的脚本语言解析器 具有丰富且强大的底层操作 Windows Linux OS X 权限 Shelljs本质就是基于node的一层
  • Kernel died(code: 1). AttributeError: type object ‘IOLoop‘ has no attribute “initialized“ 问题解决方法

    问题描述 在jupyter运行某一项目时 安装好了所有的依赖包 但无法运行 会弹出Kernel died code 1 AttributeError type object IOLoop has no attribute initializ
  • 根目录磁盘不足的解决方法

    报错 解决方法 1 关闭虚拟机 2 打开设置选项卡 3 点击硬盘 gt 扩展 输入你想设置的硬盘大小 3 在虚拟机中输入下方命令扩展分区 fdisk dev sda 输入命令如下图 注 这里提示设备或资源忙是正常的 并不是报错 需要稍等两分
  • No implementation found for void tv.danmaku.ijk.media.player.IjkMediaPlayer.native_profileEnd()

    2020 02 10 10 16 16 364 32284 32284 com zhuicha aitv E art No implementation found for void tv danmaku ijk media player
  • grep正则表达式后面的单引号和双引号的区别?

    单引号 是全引用 被单引号括起的内容不管是常量还是变量者不会发生替换 双引号 是部分引用 被双引号括起的内容常量还是常量 变量则会发生替换 替换成变量内容 一般常量用单引号 括起 如果含有变量则用双引号 括起 单引号与双引号的最大不同在于双
  • Linux_CentOS_6.5添加iptables记录(规则)

    1 关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放 下面是命令实现 iptables P INPUT DROP iptables P FORWARD DROP iptables P OUTPUT DROP 再用命令
  • Less的语法及使用方法

    Less的语法及使用方法 1 变量 2 混合 3 嵌套 4 运算 5 函数 6 作用域 7 注释 8 导入 9 映射 1 变量 我们可以先看看别的里面创建变量和Less里面创建变量有什么不同 在JavaScript里面创建变量有两种方式 一
  • 你知道研发的文档有多少种吗?

    这篇继续讲文档能力 文档能力是研发人员必备技能 有时候涉及到的文字沟通 比如邮件沟通等 都需要文档加以辅助说明 那么这时就需要好好设计文档的内容了 有些同学文档内容写的很随意 一眼看上去不知道在讲什么 这时就要用到文档的结构了 你设计的结构
  • android recovery 系统代码分析【精】

    转自 http blog csdn net andyhuabing article details 9226569 http blog csdn net andyhuabing article details 9248713 最近做Reco
  • 超级详细Tcpdump 的用法

    1 抓取回环网口的包 tcpdump i lo 2 防止包截断 tcpdump s0 3 以数字显示主机及端口 tcpdump n 第一种是关于类型的关键字 主要包括host net port 例如 host 210 27 48 2 指明
  • 小车测速模块使用介绍

    测速模块 产品特点 1 使用进口槽型光耦传感器 槽宽度5mm 2 有输出状态指示灯 输出高电平灯灭 输出低电平灯亮 3 有遮挡 输出高电平 无遮挡 输出低电平 4 比较器输出 信号干净 波形好 驱动能力强 超过15mA 5 工作电压3 3V
  • Elasticsearch之映射(mapping)。

    索引中每个文档都有一个类型 type 每个类型拥有自己的映射 mapping 或者模式定义 schema definition 一个映射定义了字段类型 每个字段的数据类型 以及字段被Elasticsearch处理的方式 映射还用于设置关联到
  • 基数排序代码实现

    详情请看排序总结 传送门 https blog csdn net m0 52711790 article details 121914543 基数排序的知识点我就不贴出来 相信都能搜到对应概念解释 下面就直接上代码 代码解释其实也很清晰了
  • Python之tkinter图形界面设计学习二

    图形用户界面 简称GUI 是指采用图形方式显示的计算机操作用户界面 与计算机的命令行界面相比 图形界面对于用户的操作显得更加直观和简便 一 tkinter模块 tkinter是Python的内置GUI模块 使用tkinter可以快速地创建G
  • H5查看pdf文件(pdfh5)

    我用的是 pdfh5 来查看的H5中的pdf文件 使用 pdfh5 插件来打开 pdf文件 下面是两种使用方法 方法一 二都可以 但是我在使用方法二时有卡顿现象 可能是因为未开启懒加载 方法二中的 on 可以打印出来错误信息 使用方法 1
  • java实现图片文字识别的两种方法

    一 使用tesseract ocr 1 https github com tesseract ocr tesseract wiki上下载安装包安装和简体中文训练文件 window64位安装包 tesseract ocr w64 setup
  • debian查看ip地址命令_设备调试、维护最实用网络命令

    ping命令 ping是个使用频率极高的实用程序 主要用于确定网络的连通性 这对确定网络是否正确连接 以及网络连接的状况十分有用 简单的说 ping就是一个测试程序 如果ping运行正确 大体上就可以排除网络访问层 网卡 Modem的输入输
  • 期货ctp基础知识(合约,开仓,平仓,做多,做空,保证金,手续费)

    期货ctp教程地址 期货ctp教程 合约 期货买卖的是合约 股票买卖的是股票 做多和做空 2 1 做多 你就是买入看涨 所以买这个动作对应的指令就是 买开仓 当你赚了或者止损的时候 就要把合约卖掉 对应的指令就是 卖平仓 2 2 做空 你先
  • LabVIEW扫描成像或同步模拟电压生成和数据采集

    大量测量技术涉及探头扫描 同时测量物理量 例如 所有扫描成像方法都是这种情况 因此 数据采集需要高采集率 以及探头控制和测量之间的精确同步 GPScan VI 程序是用于控制 National Instruments 高速数据采集板的通用