SimpleITK 和pydicom, 读取dicom序列
import os
import pydicom
import sys
import SimpleITK as sitk
def read_dcm_by_instancenum():
"""按照序列num 读取dicom序列"""
series_dir = "/media/tx-deepocean/Data/DICOMS/demos/mra/CT437287/1.2.392.200036.9125.2.138612190166.20230531000172/1.2.826.0.1.3680043.10.498.2628487157865322590071382151070583474"
reader = sitk.ImageSeriesReader()
names = reader.GetGDCMSeriesFileNames(series_dir)
print(names)
dic = {}
for name in names:
ds = pydicom.read_file(name, stop_before_pixels=False, force=True)
instancenum = int(ds.InstanceNumber)
dic[instancenum] = ds
images = []
numbers = list(dic.keys())
numbers.sort(reverse=True)
for num in numbers:
images.append(dic[num])
return images