自己做过边缘轮廓三维重建方面的工作,今天看到一篇CT三维重建的介绍性质的文章挺感兴趣的,附录一下:
CT三维重建主要有六种基本后处理方法
多层面重建(MPR)
最大密度投影(MIP)
表面阴影遮盖(SSD)
容积漫游技术(VRT)
曲面重建(CPR)
虚拟内镜技术(VE)
多层面重建(MPR)
多层面重建是最基本的“三维”重建成像方法,是二维的图像序列,和我们最熟悉的轴位图像是一个“家族”的。
MPR适用于任一平面的结构成像,以任意角度观察正常组织器官或病变,可以显示腔性结构的横截面以观察腔隙的狭窄程度、评价血管受侵情况、真实地反映器官间的位置关系等。
最大密度投影(MIP)
最大密度投影是将一定厚度(即CT层厚)中最大CT值的体素投影到背景平面上,以显示所有或部分的强化密度高的血管和/或器官,简单原理和图像是酱紫的:
由于这种方法显示的是一定层厚图像中CT值最高的体素,所以变化层厚会对图像产生影响:
肿么样,是不是觉得层厚5mm的MIP图像上门脉有狭窄,而层厚15mm的MIP图像上门脉是正常的?
由于MIP常用来显示血管的走行(问我为啥常用来显示血管?因为增强CT上血管比周围组织器官亮啊~),所以层厚的选择很重要,既不能太薄(血管的部分管腔可能在层厚以外),又不能太厚(周围组织器官有干扰),这是很考验放射科大夫的技术和临床经验的。
下面给大家比较下MPR和MIP的图像:
可以看到,MIP图像中的血管连续性更好。
MIP这种技术有个双胞胎——最小密度投影(minIP),和MIP正好相反,反映的是一定层厚图像中CT值最低的体素,所以常用来显示胆道、气道等组织结构。
表面阴影遮盖(SSD)
表面阴影遮盖是将操作者的眼睛作为假设光源方向,投射到CT值在设定阈值以上的体素上则不再透过继续成像,仅呈现所有表面体素的集合立体图形,适用于显示CT值与其他结构相差较大的组织结构成像……(天地良心,我说的真是中文,如果觉得理解不了,继续看下文……)说得接地气些,SSD图像就像是黑白的塑形图像,所以临床上主要用于显示骨骼病变或是结肠CT重建:
容积漫游技术(VRT)
这种三维成像功能非常强大,形态及色彩逼真,绝对是CT三维重建中的“高富帅”,可以对动静脉血管、软组织及骨结构等进行立体塑形成像,也可以显示支气管树、结肠及内耳等结构,对于复杂结构的成像有一定优势。
VRT图像直观生动,深受广大医生的喜爱,称得上是辅助诊断、显示病变的大杀器,但是我们要注意一点:VRT图像的伪彩设置很重要,不恰当的伪彩设置会将血管外层像素过滤掉,显示的血管狭窄的程度会比真实情况严重。
曲面重建技术(CPR)
这种重建技术是在一个维度上选择特定的曲线路径,将该路径上得所有体素在同一平面上进行显示,可以一次评价曲度较大的结构如脾动脉、胰管、冠状动脉等管状结构的全长情况:
胰管
CPR可以观察管腔结构的腔壁病变(如斑块、狭窄等),也可以观察管状结构与周围结构的位置关系,但CPR所显示的不是正常的解剖结构和关系(它是把管状结构拉直了看),同时需要多个角度曲面重建以完整评价病变。
虚拟内镜技术(VE)
这种CT重建图像可以模拟各种内镜检查的效果,它是假设视线位于索要观察的管“腔”内,通过设定一系列的参数范围,即可看到管“腔”内的结构:
当然,在CT领域三维可视化方法还有应用比较广的Marching Cube算法,参见:http://paulbourke.net/geometry/polygonise/,博客文章等。
opengl和VTK软件方面的知识,现在搜集了一下这方面的资料:
1.http://nehe.gamedev.net/
知名的OpenGL教程, 此教程最大的特点是提供了针对不同平台、不同编译器、不同语言的各种版本。你不用考虑自己用的是Linux/Windows、VC/BC、C++/Java/C#/VB,甚至D语言,你都能找到对应的版本。除了这些教程,在Nehe Productions你还能下载到各种很cool的Demo,相当多的一部分都提供源代码。http://nehe.gamedev.net/data/downloads/download.asp?letter=0-9
2.http://www.ultimategameprogramming.com/
有100个免费的OpenGL教程,内容涉及很多八叉树、BSP、Cg、GLSL、各种纹理映射技术等,还有OpenAL、Ray Tracing的教程。该网站还推出了一本教你制作游戏引擎的书《Ultimate Game Programming with DirectX》,暂时还没有中文翻译版。
3.http://www.lighthouse3d.com/opengl/
有针对View Frustum、GLSL、Math、Billboarding、Picking、Terrain、Display Lists、GLUT各专题的教程。其中关于GLUT、Terrain部分讲解都非常详细。一般的教程网站都是通过一段代码展示OpenGL的某种渲染效果,如果没有图形学背景很难理解其原理,该网站对所列每项技术的来龙去脉,相关算法都有比较详细的说明,会让你理解更加深刻。
4. http://www.videotutorialsrock.com/
OpenGL视频教程,是全英文的,看视频教程还有一个好处就是不经意间能学到作者编程时的一些细小技巧。
5. https://learnopengl.com/
对应中文opengl学习网站:
https://bullteacher.com/category/zh_learnopengl_com
从入门指南到高阶,比较适合新手。
6. http://blog.csdn.net/column/details/13062.html
CSDN的专栏,讲述opengl3.3.
VTK 是开放源码的自由软件系统,应用于图像处理、计算机图形学和科学计算可视化,国内外被广泛用于各行各业。VTK的主页:https://www.vtk.org/ 。找到的教程:
1. http://blog.csdn.net/wishchin/article/details/12996693
3. http://blog.csdn.net/shenziheng1/article/category/6114053/5
4. 视频:Study_VTK_Together, https://pan.baidu.com/s/1pMJdt9p 密码:awum
推荐的VTK学习资源
1、《VTK User's Guide》这本书主要介绍VTK类库的应用,由Kitware公司出版。
2、《The Visualization Toolkit: An Object-Oriented Approach To 3D Graphic》是《VTK User's Guide》配套的教科书,深入讲解了许多可视化算法、数据结构等。
3、《Source》是KitWare公司按季度发行的刊物,里面涵盖了KitWare公司的所有开源项目。在线访问地址为http://www.kitware.com/media/thesource.html
4、Insight Journal(http://insight-journal.org/)是学习VTK非常有参考价值的网站。用户可以通过这个网站向VTK社区贡献自己的代码,也能下载别人上传的代码。
ITK和OpenCV是一类库,而VTK和OpenGL类似。区别是ITK更偏重于医学图像处理,而OpenCV偏重于通用图像处理。如果做医学图像处理的话,首选ITK;VTK也是更偏重医学图像处理的应用。
官网:https://itk.org/
ITK学习网站:
http://www.insight-journal.org/
http://blog.csdn.net/www_doling_net
https://blog.csdn.net/shenziheng1/article/category/6114053/5
VS下安装ITK,VTK:http://blog.csdn.net/lj695242104/article/details/24271141
交大医学图像处理视频教程
参考:
https://blog.csdn.net/wae42675/article/details/71922529
https://blog.csdn.net/clheang/article/details/44220843
https://blog.csdn.net/yu253/article/details/78412307
http://blog.csdn.net/zhuangxiaobin/article/details/52863276
http://blog.csdn.net/webzhuce/article/details/52004621
http://www.360doc.com/content/15/1107/17/8224347_511466699.shtml#