失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > CT图像的三维表面重建

CT图像的三维表面重建

时间:2020-08-09 18:02:19

相关推荐

CT图像的三维表面重建

对于医学图像的处理,ITK是一个具有丰富资源的库,专门对医学图像进行分割和配准,里面有丰富的函数。ITK可以直接读取单张的CT图像或者是序列的CT图像,最近新版本的VTK也可以实现这一功能,但对于CT头文件的读取,VTK显然没有ITK可以获得更加全面的信息。在安装ITK时一直出现无法解析的外部符号这个问题,这应该是有的lib库找不到的原因,但我把cmake编译出的所有lib都加到附加依赖项中还是存在这样的问题,最后在同学的帮助下,再加入snmpapi.lib、rpcrt4.lib、wsock32.lib即可成功使用。ITK的一个最大的缺点是它不提供可视化的功能,所以必需与具备可视化的工具结合使用,VTK就是这个理想的工具。看到有的文章也使用openGL,这里选用VTK是因为ITK中有一个已经写好的函数ImageToVTKImageFilter可以实现ITK到VTK的转化。在使用VTK的时候也出现了问题,必须要在程序的最开头加入#define vtkRenderingCore_AUTOINIT 4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL,vtkRenderingOpenGL)和#define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL)这两句话才能正确执行(从网上找到的解决方案)。这里要注意ITK和VTK的坐标原点不同,一个在左上角,一个在左下角,所以相当于图像有个翻转的过程。但这里好像只限于对图像(2D、3D)的转换,三维模型什么的好像不可以。

之前说过,ITK可以直接读取序列CT图像得到一个体数据,对这个体数据,可以直接应用MC面绘制的方法提取出你想要的等值面,前提是你要指定一个值,值的选取对最后提取出的表面有很大影响。由于CT图像一般较复杂,各个部分的划分不是很清晰,所以在等值面提取前进行图像的分割是很有必要的。ITK中图像的分割可以针对2D或者3D,但针对3D的情况一直跑不通,总提示说没有要处理的数据,不知道是什么原因。并且感觉对3D的图像进行分割结果也不会太好,所以目前考虑的是对每层2D的CT图像进行分割,提取出轮廓,再应用MC算法提取表面,这时的设定值就可以是你做分割时指定的值。在应用MC算法时,我选择读入的还是序列CT图像,也就是说要把分割好的图像保存成CT文件的格式,之所以选择这样做,是因为读入序列CT时可以自动读入层厚,我们就不需要自己设定了。

对单层CT图像进行分割的方法有很多,我选择的是区域增长法。但现在存在一个关键的问题,只能对每一层图像分别进行分割,对每一层都要重新设置参数什么的,才能得到较好的分割结果,没有一种对整个序列进行分割的比较好的方法,考虑是不是可以应用CT序列图像两层间的图像变化不太大这一点,用上一层图像分割后的结果来指定下一层图像的分割参数,还在探索中......

这是我第一次写博客,希望记录自己的科研工作,当以后回过头看时,这将是一份美好的回忆,也希望看到自己的能力不断增强,加油~

如果觉得《CT图像的三维表面重建》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。