随着当前 1.6.0 版本的发布,Heliotis AlgoLibrary(“heliAlgos”)得到了进一步扩展和技术增强。
该库提供了用于干涉式 3D 测量数据评估、校准和质量分析的核心算法,并可直接集成到现有应用程序中。其中许多功能也在我们的内部参考和生产工具中使用,并作为稳定、经过测试的模块供用户使用。
鉴于 heliAlgos 迄今为止经常被低估或使用不足,我们希望借此新版本发布的机会,简要介绍该库并总结其主要新功能。
什么是 heliAlgos?
AlgoLibrary 扩展了 heliInspect SDK,提供了现成的 3D 处理算法,涵盖了更复杂、针对 Heliotis 设备特定的任务。许多方法超越了各种视觉框架中的传统算法,因为它们融入了对 Heliotis 特定数据的知识。
无需开发自己的基础算法,可以直接使用现有实现,例如:
- 焦点和系统分析
- 相位处理和相位展开
- 符合 ISO 标准的粗糙度和表面参数
- 数据清理
- 校准和拼接
集成直接在代码层面进行。可用的封装包括:
- C / C++
- CLR (C#, LabVIEW)
- Python
- Rust (新增)
- Halcon
- AuroraVision
因此,这些算法可以直接集成到现有流程中。
1.6.0 版本中的新功能
当前版本带来了多项技术改进,尤其是在集成和鲁棒性方面。
Rust 绑定
现在提供了原生的 Rust 绑定。
这使得 AlgoLibrary 可以直接集成到现代、内存安全的 Rust 应用程序中,无需额外的 C/FFI 封装。
这尤其有助于在以下方面使用:
- 高性能后端服务
- 嵌入式/边缘应用
- 使用 Rust 的新视觉堆栈
增强的 Python 支持
Python 现在正式支持 3.8 至 3.14 版本。
重新设计的 Halcon 接口
Halcon 接口已根据常见的 HALCON 约定进行了调整。
可选参数现在通过以下方式设置:
- GenParamName
- GenParamValue
设置。
这确保了:
- 更一致的运算符签名
- 更好的可读性
- 更简单的可扩展性
拼接改进
拼接模块已根据用户反馈进行了扩展。
新增功能包括:
- 最小振幅标准
- 有效像素的最小数量
这些额外的质量指标提高了以下情况下的鲁棒性:
- 弱信号
- 边缘区域
- 异质表面
特别是在大面积或马赛克式扫描中,这会带来更稳定的拼接结果。
实验性:改进的包络面提取
在“实验性”组中,引入了一种新的包络面提取模式。
目标:
- 更高的精度
- 更好的鲁棒性
- 更稳定的表面重建
该模式特别适用于结合基于相位和振动校正的方法,以实现更精确和一致的 3D 重建。
heliAlgo 库的核心技术功能
除了新功能外,该库还继续提供经过验证的典型 3D 评估功能。
系统分析和焦点确定
- 振幅图像上的 MTF 计算
- 自动确定最佳焦平面
- 区域 MTF 分析,用于检测光学系统中的倾斜
适用于系统检查、调整和在线监控。
带振幅支持的相位展开
- 质量引导路径展开
- 相位和振幅信息的组合利用
- 在台阶和材料过渡处获得更鲁棒的结果
即使在复杂的地形下也能实现稳定的重建。
符合 ISO 标准的粗糙度和表面参数
根据以下标准实施:
- ISO 16610(滤波器)
- ISO 21920(轮廓)
- ISO 25178(面积)
无需额外软件即可直接计算粗糙度和结构特征值。
数据准备和校准
- 离群值去除
- 多项式形式去除
- 表面法线校正
- 横向失真校正
- 拼接
- I/Q 偏移校正
这些功能减少了系统误差并提高了可重复性。
总结
通过 1.6.0 版本,Heliotis AlgoLibrary 在功能和集成方面都得到了进一步改进。
对于开发人员而言,这意味着:
- 更少的自定义实现
- 更快的集成
- 鲁棒、经过测试的算法
- 生产一致的性能指标
- 直接在 C++、C#、Python、Rust 或 Halcon 中使用
如果您尚未开始使用 heliAlgos,那么值得关注当前版本——许多典型的评估步骤都可以通过它立即简化或完全替代。