CT重建
1 python重建库1.1 scikit-image库(平行束)1.2 ODL库(数据格式奇怪,失败。)2 MATLAB重建库2.1 iradon重建平行束2.2 ifanbeam重建扇束2.3 其他重建(我还没看)3 python的CIL库1 python重建库
1.1 scikit-image库(平行束)
一开始在用scikit-image来处理CT重建,但是这个里面的iradon是处理平行束重建的,在扇束或者锥束形成的弦图重建上极具误导性,像我这种半路进来的人根本没细看CT的扇束成像和平行束成像有这么大的差别,就在这个坑里狠狠摸爬滚打一番,浪费了大量宝贵的时间。在scikit-image里面可能也有扇束处理,但是我还没有仔细去寻找和研究,此处后续再更。
scikit-image的github地址
1.2 ODL库(数据格式奇怪,失败。)
conda install -c odlgroup odl
在此后我努力寻找其他的处理方式,但是目前网上基本上都没有提供python可用的方式,直到有一天师兄遇见了一个库并告知我,于是我又钻进去研究了一番,但是这个库的使用更加奇怪了,导致我研究了两三天,从源码阅读到整个数据格式都很熟稔之后,发现我的数据格式很难转换成这个样子,他的输入竟然是六维的,具体我不过多解释了,毕竟我也是半吊子,自行去查阅就行,没有耐心的,可以直接进入下面的CIL。
ODL的github地址
2 MATLAB重建库
在上述两个Python库的尝试都失败了之后就被迫转入MATLAB了,其实,哎,一眼难尽。一直在用MATLAB处理,matlab自带的重建函数就很容易查找和使用了,虽然有些参数我不理解,实际上和他解释的也是大相径庭,但是摸索一下还是很容易找到规律的,主要是我的整个框架都是在python中做的,所以就不想再迁移去MATLAB了,同时我本人也不喜欢用MATLAB。
2.1 iradon重建平行束
help iradon自己阅读文档。
2.2 ifanbeam重建扇束
平行束到扇束是需要一个数据重排的,具体重排函数我忘了,直接matlab里面help ifanbeam就都有了。
使用matlab的可以自主搜索。iradon可以处理平行束重建,ifanbeam可以处理扇束重建。
2.3 其他重建(我还没看)
至于其他重建相关可以看看MIRT
3 python的CIL库
参考论文:《Core Imaging Library - Part I: aversatile Python framework for tomographic imaging》
本文介绍了核心成像库(CIL),这是一个通用的开源Python库,用于处理和重建具有挑战性的层析成像数据。CIL是由层摄影成像(CCPi)网络协同计算项目开发的,可以从CIL库的下载地址获得,并附带文档、安装说明和大量演示。
CIL模块结构和内容概述如下图:
目前已有许多用于层析图像处理的软件库,如TomoPy[5]、ASTRA[6]、TIGRE[7]、Savu[8]、AIR Tools II[9]和CASToR[10]。类似地,有许多MATLAB和Python工具箱用于指定和解决与成像相关的优化问题,包括FOM[11]、GlobalBioIm[12]、ODL[13]、ProxImaL[14]和TFOCS[15]。CIL的目标是在一个易于使用、高度模块化和可配置的Python库中结合层析成像和优化软件这两个领域的最佳技术。特别强调的是在即插即用结构中实现各种正则化重建方法,在这种结构中可以很容易地选择和组合不同的数据保真度、正则化器、约束和算法。其目的是,用户将能够使用现有的重建方法,或自己的原型,处理噪声,不完整,非标准和多通道层析数据集,传统的FBP类型方法和专有软件不能产生满意的结果。除了重建,CIL还提供装载、预处理、可视化和导出数据的工具,用于后续分析和可视化探索。CIL轻松地与其他库连接,进一步组合和扩展功能;我们描述了ASTRA[6]、TIGRE[7]和ccpi规范化(CCPi-RGL)工具包[16]的CIL插件,以及使用CIL实现PET和MRI重建的协同图像重建框架(SIRF)[17]的互操作性。
其他细节看论文或者官网。
如果觉得《python框架下的CT成像重建后处理(CIL库)》对你有帮助,请点赞、收藏,并留下你的观点哦!