1. 用SimpleITK读取dicom序列:importSimpleITKassitkimportnumpyasnpimg_path='F:\\dataset\\pancreas\\Output\\thick\\original\\1'mask_path='F:\\dataset\\pancreas\\Output\\thick\\groundtruth\\1'reader=sitk.ImageSeriesReader()img_names=reader.GetGDCMSeriesFileNames(img_path)reader.SetFileNames(img_names)image=reader.Execute()image_array=sitk.GetArrayFromImage(image)#z,y,xreader=sitk.ImageSeriesReader()mask_names=reader.GetGDCMSeriesFileNames(mask_path)reader.SetFileNames(mask_names)mask=reader.Execute()mask_array=sitk.GetArrayFromImage(mask)#z,y,x
2. 用dicom读取单张dicom图像并显示:importdicomimportpylabds=dicom.read_file("F:\\dataset\\pancreas\\Output\\thick\\groundtruth\\1\\FILE0001_seg.dcm")pixel_bytes=ds.PixelData##CT值组成了一个矩阵pix=ds.pixel_array##读取显示图片pylab.imshow(ds.pixel_array,cmap=pylab.cm.bone)pylab.show()
如果要对dicom图像中的像素值进行修改,继续执行以下代码:##修改图片中的元素,不能直接使用data_array,需要转换成PixelDataforn,valinenumerate(ds.pixel_array.flat):#example:zeroanything
3. 此外,用pydicom也可读取dicom图像
pydicom读取头文件_python读取dicom图像(SimpleITK和dicom包实现)_愿十四亿神州尽舜尧-CSDN博客_python读取dicom...