2017-01-16 53 views
0

如何从预置操作文件中获取间距值。我尝试了他,但它并不完全正确。我必须保存一个DICOM文件。使用VTK DICOM文件导出间隔

vtkSmartPointer<vtkImageData> OutData = images[currentImageIndex]; 
    meta->SetAttributeValue(DC::PixelSpacing, OutData->GetSpacing (double x, double y, double z); 
+0

也许你应该接受或评论MrPedru22的回答?这就是说“谢谢”的方式 –

回答

1

您可以通过OutData->GetOutput()->GetSpacing()获得间距。如果你想保存DICOM文件,这可能是一个办法(蟒蛇):

#Read DICOM 
reader = vtk.vtkDICOMImageReader() 
reader.SetFileName("sample.dcm") 
reader.Update() 

spacing = reader.GetOutput().GetSpacing() 

newimage = vtk.vtkImageData() 
newimage.SetSpacing(spacing) 

writer = vtk.vtkXMLImageDataWriter() 
writer.SetFileName("sample.vti") 
writer.SetInput(newimage) 
writer.Write() 

这实际上保存到.vti文件,因为在VTK没有类保存DICOM文件。但你可以用其他库来做到这一点,比如gdcm2vtk