2017-01-16 15 views
0

どのようにして先にファイルからスペーシング値を取得できますか?私は彼を試してみるが、正確には動かない。 DICOMファイルを保存する必要があります。DICOMファイルのエクスポートVTKを使用したスペース分割

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() 

DICOMファイルを保存するためにVTKにはクラスが存在しないので、これは実際には、ファイルを.vtiし保存します。しかし、他のライブラリでこれを行うことができます。gdcm2vtk

関連する問題