我对Pyscience 中描述的图像进行降噪,如下所示:
import SimpleITK as sitk
image=sitk.ReadImage("myimage.dcm")
imgSmooth = sitk.CurvatureFlow(image1=image,
timeStep=0.00125,
numberOfIterations=100)
Run Code Online (Sandbox Code Playgroud)
我正在尝试将其保存为 dicom 文件:
sitk.WriteImage(imgSmooth, 'denoised.dcm')
Run Code Online (Sandbox Code Playgroud)
但我有以下错误:
RuntimeError: Exception thrown in SimpleITK WriteImage: ..\..\..\..\..\ITK\Modules\IO\GDCM\src\itkGDCMImageIO.cxx:1035:
itk::ERROR: GDCMImageIO(000000000F268380): A Floating point buffer was passed but the stored pixel type was not specified.This is currently not supported
Run Code Online (Sandbox Code Playgroud)
我一般不能使用 SimpleITK 保存为 dicom 文件?如何将降噪后的图像保存为 dicom 文件?
小智 6
我认为您需要将 float 转换为 int(或 uint)。
castFilter = sitk.CastImageFilter()
castFilter.SetOutputPixelType(sitk.sitkInt16)
# Convert floating type image (imgSmooth) to int type (imgFiltered)
imgFiltered = castFilter.Execute(imgSmooth)
sitk.WriteImage(imgFiltered, 'denoised.dcm')
Run Code Online (Sandbox Code Playgroud)