使用VTK导出DICOM文件间距

使用VTK导出DICOM文件间距,vtk,dicom,spacing,Vtk,Dicom,Spacing,如何从allready oppend文件中获取间距值。我试过他的,但不完全有效。我必须保存一个DICOM文件 vtkSmartPointer<vtkImageData> OutData = images[currentImageIndex]; meta->SetAttributeValue(DC::PixelSpacing, OutData->GetSpacing (double x, double y, double z); vtkSmartPointe

如何从allready oppend文件中获取间距值。我试过他的,但不完全有效。我必须保存一个DICOM文件

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

您可以使用
OutData->GetOutput()->getspating()
获取间距。如果您想保存DICOM文件,这可能是一种方法(python):


这实际上会保存到.vti文件中,因为VTK中没有保存dicom文件的类。但您可以使用其他库来执行此操作,例如

也许您应该接受或评论MrPedru22的答案?这是表示“谢谢”的方式
#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()