一个跨平台、紧凑的gui应用程序,用于液浸式内窥镜的光学畸变校准。

endocal的Python项目详细描述


endocal是一个跨平台、紧凑的gui应用程序,用于液体浸没的光学畸变校准 内窥镜。它使用OpenCV摄像机校准模块。

内分泌学是由Dzhoshkun I.Shakir作为{A2}的一部分在 ^位于Centre for Medical Image Computing中的{a3} University College London (UCL)

功能

  • 用于内窥镜光学畸变校准的轻巧、紧凑的图形用户界面应用程序
  • 用于生成用于校准目标制造的ASCII DXF files的命令行应用程序(从Daniil I.Nikitichev开发的Matlab脚本翻译而来)

详细的变更日志可以在GitHub上找到。

系统要求

  • Python
  • pip
  • OpenCV(与Python支持一起安装)
  • 对于实时校准:视频源supported by OpenCV(请参阅相关的opencv教程 到视频IO)
  • PyYAML
  • NumPy
  • 到目前为止,endocal已经在以下操作系统上进行了测试:
    • ubuntu 16.04.3 LTS 64位
    • ubuntu 14.04.3 LTS 64位
    • 基本操作系统freya 0.3.2 64位
    • 马科斯塞拉10.12.6
    • 苹果操作系统El Capitan 10.11.3
    • Windows 10 Professional 64位

安装

安装内膜

pip install endocal

测试您的安装

  • 通过运行endocal-test启动测试应用程序。
  • This screenshot向您展示了启动应用程序时的期望。
  • 要执行光学失真校准,请按照应用程序窗口顶部红色显示的说明进行操作。
  • 在获取校准数据时,检测到的校准模式斑点将通过一个虚拟覆盖强调为 在this acquisition-mode screenshot中。
  • 每次校准的所有数据都将保存在根目录中一个具有可读时间戳、唯一命名的文件夹中。 在启动应用程序的文件夹中创建了名为tmp-sample_002的文件夹。 例如,tmp-sample_002/2018-02-08-11-03-19-AHDHO用于2018年2月8日上午11:03运行的校准。 保存的数据包括:
    • 一个名为calibration.ymlYAML文件,带有计算的校准参数
    • 用于校准的帧保存为索引图像文件,例如frame_009.jpg
  • 执行校准后,应用程序将自动向 应用程序窗口右侧,如this undistortion-mode screenshot

卸载内膜

pip uninstall endocal

用法

校准

endocal --help显示所需输入参数的详细信息。下面提供了一些示例:

  • 使用保存为/data/offline文件夹中索引图像文件的所有帧进行脱机校准:
endocal --pattern-specs 31131 --output-folder ./calibration-results --input /data/offline/frame_%03d.jpg
  • 使用由帧捕获器提供的内窥镜实时视频流进行实时校准(假设 帧抓取器是mounted作为/dev/video0):
endocal --input 0 --pattern-specs 31131 --output-folder ./calibration-results
  • 使用整个内窥镜视频帧的700 x 700子帧(其全尺寸为1920 x 1080):
endocal --input 0 --pattern-specs 31131 --output-folder ./calibration-results --roi 620200700700

ascii dxf文件生成

dxf --help显示所需输入参数的详细信息。

例如,生成一个直径为1 mm的非对称圆网格,用激光蚀刻 光束宽度为45 μm(微米)的刀具:

dxf --laser-beam-width 45 --diameter 1 --output-file output.dxf

这里网格被保存到文件output.dxf,相应的(椭圆)图例保存到output-legend.dxf(图例 文件名总是从主DXF文件名推断)。

故障排除

请检查these hints以防您遇到任何内分泌问题。

致谢

这项工作是通过一项创新的健康工程来支持的。通过Wellcome Trust [wt101957],Engineering and Physical Sciences Research Council (EPSRC)[ns/a000027/1]和 National Institute for Health Research生物医学研究中心UCLH/UCL高影响力计划。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Java中从本地文件系统导入文件   spring boot如何在Java SpringBoot项目中集成Olingo(Odata)   java查找连续数组中缺少的第k个元素(超过时间限制)   java为什么在mySql中插入1/2行时会得到2/4行   java不能在静态上下文中使用它   File Observer方法的java My onEvent()部分不起作用   java Netty NioSocketChannel在多线程写入时收到中断消息   java将文件夹与父文件夹一起复制   java我的TictaToe代码出了什么问题?如何检查已采取的措施?   java Swing JTable更新   java如何将cordinates查找为int   如何使用selenium和java在firefox中打开新的空选项卡   java Gradle构建输出Jar未运行   java没有GET/WEBINF/jsp/login的映射。jsp