写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友。
入门
本教程演示了如何在vmtk中打开数据集,导航到3D体积并设置图像以进行进一步处理。
原始链接:http://www.vmtk.org/documentation/getting-started.html
读取和显示图像
第一步是读取图像并将其显示在屏幕上。vmtkimagereader能够读取DICOM目录。另外,它将基于图像体积相对于患者的方向正确地重新定向图像体积。((可以禁用此功能))
vmtkimagereader -ifile dicom_directory_path/first_dicom_file_in_the_series.dcm --pipe vmtkimageviewer
其中dicom_directory_path是可在其中找到DICOM图像(* .dcm或任何扩展名)的路径。
关于文件名的注释
如果文件的目录路径(或文件名本身)中包含空格字符,则必须将文件的完整路径括在“引号”中,以便正确读取文件。这对于Windows用户来说尤其重要,因为Windows用户的用户名中可能有空格!示例:如果我们有dicom文件,您想查看位于的文件C:\Users\Your Name\Documents\foo.dcm,则相应的脚本为:
vmtkimagereader -ifile "C:\Users\Your Name\Documents\foo.dcm" --pipe vmtkimageviewer
图像格式转换
假设您要以vti格式(图像的VTK XML格式编写图像卷-很方便,因为它是内部gzip格式的):
vmtkimagereader -ifile first_dicom_file_in_the_series.dcm --pipe vmtkimagewriter -ofile image_volume.vti
其中image_volume.vti是输出文件名。
或者,也许您希望将8位png图像放入下一张纸中:
vmtkimagereader -ifile first_dicom_file_in_the_series.dcm --pipe vmtkimagewriter -f png -ofile image_file_prefix
如果图像体积由多个切片组成,则单个切片将在名为image_file_prefix0001.png,image_file_prefix0002.png,image_file_prefix0003.png等的单独png文件中输出。对于8位格式,图像级别将自动缩放为0 -255。您可以使用vmtkimagewriter的-windowlevel选项进行调整。(8位图像的使用应仅限于显示目的,例如演示或出版物中使用的图像。不应对它们进行任何处理,因为重要的信息和细节会因缩放比例而丢失。)
档案格式
感兴趣体积(VOI)提取
通常,医学图像包含不感兴趣的结构。要从数据集中提取感兴趣的体积(VOI),可以通过以下方式在DICOM读取器和写入器之间通过管道传递vmtkimagevoiselector实例:
vmtkimagereader -ifile dicom_directory_path/first_file_in_dicom_series.dcm --pipe
vmtkimagevoiselector -ofile image_volume_voi.vti
(这一次,我选择在vmtkimagevoiselector中使用内置写入器,而不是通过管道传递到vmtkimagewriter。没有真正的区别。)
此时,图像体积将被区域选择立方体(小部件)剪切,新体积将显示在渲染窗口中。现在,您可以:1)按q退出,在这种情况下,结果将通过管道传输到vmtkimagewriter实例,或者2)再次按i并定义另一个VOI继续。如果您确定不想定义另一个VOI,但已经按i激活了区域选择工具,请再按一次i从渲染窗口中删除选择小部件。现在按q将退出而不进行裁剪。
使用Marching Cubes进行表面提取
考虑具有图像卷image_volume_voi.vti的示例。
根据血管图像创建表面模型的最快,最简单的方法是使用Marching Cubes对图像进行轮廓处理:
vmtkmarchingcubes -ifile image_volume_voi.vti -l 300.0 -ofile mc_surface.vtp --pipe vmtksurfaceviewer
其中-l 300.0是图像中要构建表面的级别。(使用轮廓线构建CFD模型并不总是一个好主意。血管壁的位置取决于您选择的水平,单个水平可能不代表整个图像上血液和壁之间的界面。请继续阅读了解如何克服这些问题。)表面查看器将向您显示最终的表面。
要与图像体积一起查看表面,请执行以下操作:
vmtkimagereader -ifile image_volume_voi.vti --pipe
vmtkmarchingcubes -l 300.0 -ofile mc_surface.vtp --pipe
vmtkrenderer --pipe vmtkimageviewer --pipe vmtksurfaceviewer
如果需要以Tecplot格式输出,例如:
vmtkimagereader -ifile image_volume_voi.vti --pipe
vmtkmarchingcubes -l 300.0 -ofile mc_surface.tec --pipe
vmtkrenderer --pipe vmtkimageviewer --pipe vmtksurfaceviewer
注意:如果您不清楚PypeS语法,请阅读Basic PypeS教程
以上是自己通过网络查找及自身实践整理所得,大家有更好的建议,可以留言交流!
转载或者引用本文内容请注明来源及原作者