前言

  • 具体内容参见《VTK图形图像开发进阶》第4章.

Reader与Writer

  • 主要介绍vtkImageData,vtkPloyData,vtkRectilinearGrid等数据类型的Reader/Writer类。

    vtkImageData类型

  • vtkImageData类型的数据是按照规则排列在矩形方格中的点和单元集合。

  • vtkImageData类型的Reader/Writer类如下:
    vtkImageData类型的Reader/Writer类

  • 读取RAW格式数据时,该类型图像没有文件信息,因此读取此类图像时,需要指定图像的各个维度大小、字节顺序、存储像素值等信息。

  • .mha与.mhd:这两个格式差不多,只不过MHA格式图像把图像信息头与实际的像素值等信息写入了同一个文件,而MHD的图像信息头与实际像素值分别存在两个文件(即*.mhd和*.raw/*.zraw,zraw表示有压缩)

  • *.mhd图像格式信息:

    ObjectType = Image
    NDims = 3 //表示该图像的维数;
    BinaryData = True
    BinaryDataByteOrderMSB = False
    CompressedData = True
    CompressedDataSize = 1961160
    TransformMatrix = 1 0 0 0 1 0 0 0 1
    Offset = 0 0 0
    CenterOfRotation = 0 0 0
    AnatomicalOrientation = RAI
    ElementSpacing = 1 1 1 //像素间的间隔
    DimSize = 256 256 41 //图像各维的大小;
    ElementType = MET_UCHAR //存储图像像素值所用的类型
    ElementDataFile = img-41.zraw //存储像素数据的文件位置
  • 读取单个图像:如果无法确定所读取的图像时什么格式,可以用类vtkImageReader2Factory来读取导入的文件。

    • 有图像显示的例子。
  • 读取序列图像文件:Reader类有提供SetFileNames()来设置斗个图像文件名,利用该方法可以实现序列图像的读取。

vtkPolyData类型

推荐阅读: