2017-01-16 91 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