CT三维重建及三维可视化资料:opengl+VTK+PCL点云库

自己做过边缘轮廓三维重建方面的工作,今天看到一篇CT三维重建的介绍性质的文章挺感兴趣的,附录一下:

CT三维重建主要有六种基本后处理方法

 

  • 多层面重建(MPR)

  • 最大密度投影(MIP)

  • 表面阴影遮盖(SSD)

  • 容积漫游技术(VRT)

  • 曲面重建(CPR)

  • 虚拟内镜技术(VE)

多层面重建(MPR)


多层面重建是最基本的“三维”重建成像方法,是二维的图像序列,和我们最熟悉的轴位图像是一个“家族”的。

MPR适用于任一平面的结构成像,以任意角度观察正常组织器官或病变,可以显示腔性结构的横截面以观察腔隙的狭窄程度、评价血管受侵情况、真实地反映器官间的位置关系等。

最大密度投影(MIP)


最大密度投影是将一定厚度(即CT层厚)中最大CT值的体素投影到背景平面上,以显示所有或部分的强化密度高的血管和/或器官,简单原理和图像是酱紫的:

由于这种方法显示的是一定层厚图像中CT值最高的体素,所以变化层厚会对图像产生影响:


层厚5mm 层厚15mm

肿么样,是不是觉得层厚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软件方面的知识,现在搜集了一下这方面的资料:

  • -------------opengl学习------------

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.

 

  • ------------ITK与VTK学习-----------

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#

  • 17
    点赞
  • 148
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: vtk8.0.0编译好的是一个用于可视化图像处理的开源软件。这个是基于C++语言开发的,可以在各种操作系统和各种编译器上使用。在这种情况下,我们假设您是在Windows操作系统上使用Qt 5.9、Visual Studio 2015和PCL 1.8.1来编译和使用vtk8.0.0。 首先,您需要确保您安装了Qt 5.9,这是一个跨平台的应用程序和UI开发框架。您可以从Qt的官方网站上下载并安装最新版本的Qt 5.9。 接下来,您需要安装Visual Studio 2015,这是一个强大的集成开发环境(IDE),用于编写和调试C++代码。您可以从微软官方网站上下载并安装Visual Studio 2015。 然后,您需要安装PCL 1.8.1,这是一个用于点云处理的开源。您可以从PCL的官方网站上下载并安装最新版本的PCL 1.8.1。 最后,您需要将vtk8.0.0与Qt 5.9、Visual Studio 2015和PCL 1.8.1集成在一起。首先,在Visual Studio 2015的项目设置中添加vtk8.0.0的头文件路径和文件路径。然后,在您的项目代码中包含vtk的头文件,并链接vtk文件。 在编译和构建您的项目时,您需要确保选择正确的编译配置,以便使用Qt 5.9、Visual Studio 2015和PCL 1.8.1进行构建。 以上是使用vtk8.0.0的一般步骤。根据您的具体项目需求,您可能需要进一步的配置和调整。希望这些信息对您有所帮助! ### 回答2: vtk8.0.0编译好的适用于Qt5.9,VS2015,PCL1.8.1和VTK8.0版本。 首先,vtk8.0.0编译好的是指已经经过编译,并可用于开发的文件。该文件中包含了VTK(Visualization Toolkit,可视化工具包)的功能和特性,可以用于构建和展示3D图像可视化数据等。 Qt5.9是一个跨平台应用程序开发框架,可以用于创建图形界面和进行应用程序开发。vtk8.0.0编译好的与Qt5.9兼容,因此可以在Qt应用程序中使用该实现丰富的3D可视化功能。 VS2015是一个开发环境,适用于Windows操作系统。vtk8.0.0编译好的是基于VS2015编译的,所以可以在该环境下使用该进行开发。 PCL1.8.1是点云(Point Cloud Library)的一个版本。vtk8.0.0编译好的PCL1.8.1兼容,可以使用该来处理和可视化点云数据。 综上所述,vtk8.0.0编译好的适用于Qt5.9,VS2015,PCL1.8.1和VTK8.0版本,可以在这些环境中使用vtk编译好的开发和展示3D可视化功能。 ### 回答3: vtk8.0.0 编译好的是基于以下工具和版本编译的:qt5.9、vs2015、pcl1.8.1以及vtk8.0。 vtk8.0.0是Visualization Toolkit的一个版本,它是一个开源的跨平台的3D图像处理和可视化。它提供了丰富的功能和工具,用于处理和分析3D数据,并通过高质量的图形输出显示结果。 编译使用的Qt版本为5.9。Qt是一个跨平台的应用程序开发框架,它提供了一套易于使用的工具和类,用于开发图形用户界面应用程序。Qt 5.9的使用可以为vtk8.0.0提供更强的功能和更好的用户体验。 在编译过程中,使用了VS2015作为集成开发环境(IDE)。VS2015是由微软开发的一个功能强大的集成开发环境,用于开发Windows平台上的应用程序。它提供了丰富的开发工具和调试功能,可以方便地进行代码编写和调试。 此外,编译还使用了pcl1.8.1。PCL(Point Cloud Library)是一个开源的用于点云处理的,它提供了一系列的算法和工具,用于处理和分析点云数据。PCL 1.8.1提供了vtk8.0.0所需的点云处理功能和支持。 综上所述,vtk8.0.0编译好的是基于qt5.9、vs2015、pcl1.8.1和vtk8.0的。使用这些工具和,可以轻松地进行3D图像处理和可视化开发,并获得高质量的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值