医学图像处理 小知识

以前我在处理医学图像数据时,往往都是处理nii 的数据。我要需要对图像进行切片时。直接读出矩阵时就可以了。最近有一批新的数据是dcm 类型的。由于dcm数据的独特性。每一个文件基本就是一个切片。因此我就直接进行读取了。我使用了

label_path = 'H:\\CTdata3\headCTA\\DICOM'
slices = [pydicom.dcmread(label_path + '\\' + s) for s in os.listdir(label_path)]

然后我就开始继续进行其他操作。最后发现读取出来的数据原来的切片的数据的顺序完全不一样了。

我打开文件夹一看发现

医学图像处理 小知识_第1张图片

文件夹里面的数据都是这样。发现直接遍历是很难按顺序读出来。最后发现数据再上面的代码中加一段就可以了。

slices.sort(key = lambda x: int(x.InstanceNumber))

这样整个文件都可以按照顺序读出来了。

在这里读出来之后也许你还想保存下来,把这些重新编号排序。可以这么操作

for i in range(736):
         s=image[i]
         s.save_as("H:\\CTdata3\\labeldcm\\IM"+str(i))

这样你就可以按顺序保存成 dcom 数据了

你可能感兴趣的:(图像处理)