PyFibreBundle -用于光纤束成像的python包

为了实现2022年的目标,我们有了PyFibreBundle的第一个稳定版本,现在可以下载了。这是一个Python包,用于处理纤维成像束,特别是内窥镜显微镜,但它也可能对内窥镜和其他应用程序有用(如果是,请告诉我)。

设置包的最简单方法是

PIP安装pyfibrebundle

或者你可以下载一切,包括从github (https://github.com/MikeHughes开云体育app客服Kent/PyFibreBundle).即使你通过pip安装,我建议从github获取示例和测试,因为这可能是最简单的开始方式。示例中使用的示例图像文件位于“test/data”文件夹中,因此即使不想运行测试,也应下载“test”。详细的文档在readthedocs (https://pyfibrebundle.readthedocs.io)

该软件包是作为我实验室在内窥镜显微镜方面工作的一部分开发的,因此其功能是针对这一应用程序和我的研究兴趣的。核心功能是获取原始图像,裁剪到捆绑和删除核心图案,以及做背景减法和平场(正常化)。下面是美国空军分辨率目标的一个例子:

经过纤维束的美国空军目标图像,显示核心图案,三角形线性插值去除核心后的图像相同。放大两幅图像的某一区域,可以看到经过处理后的原始突出的核心图案。

您还可以进行其他一些简单的处理,比如空间过滤。有功能定位所有的核心,以及识别纤维束作为一个整体。PyBundle类简化了使用这些低级函数的过程。看到的文档所有的细节。

一段时间以来,我一直在研究的一件事是使用移位版本的图像来提高分辨率(参见这篇论文例如)。SuperRes类允许您使用三角形线性插值来注册和组合图像。这是一个结合了8张美国空军目标图像的例子:

两张USAF分辨率目标通过光纤束的图像,显示单幅图像和由8张移位图像创建的超分辨率图像。在第7组上有一个缩放,显示线模式的可见性提高。

该软件包背后的想法是,它既可以用于离线开发工作,也可以为我们各种纤维束显微系统的gui提供动力。它取代了Matlab(用于脱机)和Labview(用于gui)的组合,出于各种原因,我想摆脱它们。因此,这个包必须是多功能的(实现我们实验中可能想做的一切)和快速的(用于实时成像)。它只是在管理这一点,与我们之前的GUI (Labview + NI Vision + c++ /OpenCV制作的dll)在核心移除和马赛克方面具有竞争力,在一些平庸的硬件(英特尔酷睿i5笔记本电脑)上实现了> 100 fps。

这是我第一次尝试发布一个完整的文档化的、pip可安装的python包,所以欢迎所有的反馈和评论。也请给它一个github星!后续版本可能包括PyHoloscope (已经在Github上,预发布)以及我们的python系统,用于创建成像系统gui (Kent-CAS)。开云体育app客服(尽管让后者对第三方有用需要做很多工作,所以我想知道是否有兴趣)。