跳至主要内容
先进成像设备的设计与制造商
2026年10月9日 星期五

文章

阿尔特龙流程图中的分支:同时进行保存、平均和显示

拉赫尼

假设实验室里有一个样品要在相机下放置数小时。您希望在显示器上看到平滑、低噪声的图像,保存全部原始数据以供日后分析,另外每隔几秒拍一张快照用于报告。这是对同一台相机的三项需求。在阿尔特龙中,可以通过为流程图建立分支来实现。

在阿尔特龙流程图编辑器中将数据路径拆分为多个分支
在阿尔特龙流程图编辑器中将数据路径拆分为多个分支

分支是什么意思?

每个阿尔特龙流程图都由用连线相连的节点组成。相机位于链的开头,之后是处理节点,存储和显示节点位于末端。一个节点的输出不必只连到一个节点。您可以从一个节点的输出引出多条连线,每条连线形成一个独立的分支。

分支不会复制数据,只是共享数据。因此,添加显示或保存分支不会占用额外内存。

分支点应该放在哪里?

这是最重要的决定。每个分支接收的正是在分支点流过的数据。几条简单规则:

  • 用于分析的数据保存分支,应在黑电平、暗场和白场校正等物理传感器校正之后分出,但必须位于伽马等外观调整之前。
  • 仅为视觉效果而做的平滑和锐化,应放在显示分支中,以确保保存的数据不受影响。
  • 如果您自己的程序需要从路径中间获取数据,请在该位置连接一个 Data Holder 节点。该节点不会改变数据,只是为外部代码保留一份副本。

示例:同时进行保存、平均和显示

在 Tools › Flow Graph Editor 中搭建如下结构:

  1. 首先放置相机,然后是基本校正,例如使用 Correction 节点进行暗场和白场校正。
  2. 从最后一个校正的输出引出第一条连线,接到原始数据保存节点。该分支完整保存所有数据。
  3. 将第二条连线接到使用 Continuous Average 阶段的 Smoothing 节点,并将其输出送入一个显示器。该分支显示平滑的平均图像。
  4. 将第三条连线直接连到另一个显示器,以便同时查看未经平均的实时数据。
  5. 保存流程图,并在主程序中按 Recreate All。在处理链重建之前,更改不会生效。

每隔几秒才保存一次的分支

要定期拍摄快照,请在分支开头放置一个 ImagingInterval 节点,并在其后连接保存节点。它有三种模式:

  • Every T seconds: 每 T 秒通过一帧或一行。默认为 5 秒。此模式适用于延时录制。
  • Every N items: 每 N 帧或 N 行中通过一个。例如,在检测中每十个工件抽取一个样本。
  • Max rate (per second): 每秒最多通过这么多个,且均匀分布。此模式用于减轻处理和显示负担。

请务必检查 Apply to saving too 选项。如果勾选,该节点之后的保存节点只记录通过的样本,从而得到延时录制。如果未勾选,抽稀只会减轻该节点之后的处理和显示负担,保存节点会忽略其输出。此时,当同一相机上的保存节点正在录制时,该节点会让所有数据通过,以免录制内容有任何丢失。

阿尔特龙的默认流程图中还有一个名为 Default_AreaScan_Color_Usb3+ImagingIntervalForDataSaving 的现成示例,您可以以它为起点。

常见错误

  • 将伽马或锐化放在保存分支点之前,然后疑惑为什么保存的数据与测量结果不符。
  • 修改流程图后忘记执行 Recreate All。
  • 显示分支负载过重,拖慢整条处理链。请查看 Performance 选项卡,找出占用 CPU 份额最大的节点,并在其前面放置一个 Max rate 模式的 ImagingInterval。

一个好习惯

在长时间录制之前,先让流程图运行几分钟,并在 Internal Info 选项卡中比较各节点的输入和输出数据速率。如果某个节点的输出突然低于其输入,而这并非您的本意,那么数据正是在该节点中丢失的。

有关处理流水线的更一般性说明,请参阅 维基百科(英文).

我们已将有关流程图和录制的常见问题汇总在 常见问题中。如果您的流程图需要特殊结构,请通过 联系页面 联系我们,我们将一起设计。

我们的设备用户

曾使用我们产品的机构、高校、工业单位与企业

  • Hedayat Hooshmand Nozhan Sepehr