我有800张BMP格式的图像,我想将它们转换为DICOM。我已经开始这样了,但是由于某种原因它没有起作用。

我在VTK方面的经验有限:

file_in = 'C:/programfile/image.bmp'
file_out = 'test1.dcm'
vtkGDCMImageReader()

最佳答案

这是在python中:

r = vtkBMPReader()
r.SetFileName( 'test1.bmp' )

w = vtkGDCMImageWriter()
w.SetInput( r.GetOutput() )
w.SetFileName( 'test1.dcm' )
w.Write()


如果您的输入BMP使用查找表,则可以简单地传递它:

r = vtkBMPReader()
r.SetFileName( 'test1.bmp' )
r.Allow8BitBMPOn()
r.Update()
r.GetOutput().GetPointData().GetScalars().SetLookupTable( r.GetLookupTable() )

w = vtkGDCMImageWriter()
w.SetInput( r.GetOutput() )
w.SetFileName( 'test1.dcm' )
w.SetImageFormat( VTK_LOOKUP_TABLE );
w.Write()


与之相反(DICOM-> BMP):

r = vtkGDCMImageReader()
r.SetFileName( 'test1.dcm' )

w = vtkBMPWriter()
w.SetInput( r.GetOutput() )
w.SetFileName( 'test1.bmp' )
w.Write()


当然,您可以从命令行执行,只需使用gdcm2vtk即可:

$ gdcm2vtk input.bmp output.dcm


要么

$ gdcm2vtk --palette-color input.bmp output.dcm

09-10 04:43
查看更多