VTK用VtkDICOMImageReader读取DCM文件绘制时图像的厚度(Z轴厚度)不对怎么办?
我用vtkImageReader读取一系列DCM文件(例如35张连续DCM文件)。每张Dcm文件的厚度(Slice Thickness)都不一样,有的是3mm,有的是8mm。发现绘制出来的体数据的厚度是272,也就是34*8。而不是所有Dcm图像各自的厚度相加(正确的厚度应该是147)。我只读取第一张和最后一张Dcm文件,绘制出来的厚度就是正确的(147),但中间很多信息都是丢失的,体数据肯定不准确。
后来又加入部分其他的Dcm文件,发现厚度又变大了。经过一系列试验,发现,VtkDicomImageReader在处理一系列连续的Dcm文件时,是取倒数第二张的厚度作为所有Dcm文件的默认厚度,然后乘以总文件数减1,即上例中的34*8。这样的计算方法明显是不对的。现在问了,怎么才能让绘制出来的Volume的厚度(volume->GetMaxZBound())是正确的厚度(即所有Dcm文件各自厚度加起来)?
注:
我用体绘制,绘制出来的volume厚度是272,用面绘的actor的厚度也是272。所以觉得应该还是reader的问题,跟绘制方法没有关系。