DWI序列图像包含高低b值的DICOM图像,经常需要将高低b值DICOM图像分开以便后续计算。
一般来讲DWI图像DICOM TAG里面的b值读取按以下规则:https://www.na-mic.org/wiki/NAMIC_Wiki:DTI:DICOM_for_DWI_and_DTI
即按机器厂家区分:
Philips: b_value (0018,9087) ----- 0 1000 (这也是DICOM标准推荐的tag)
SIEMENS: b_value (0019,100C) ----- 0 1000
GE: b_value (0043,1039) ----- 0\8\0\0(表示b value=0) 1000\8\0\0 (表示b value=1000)
但GE的机器有时候会存在这个情况(由radiant读取的dicom tag):
这个表示 0\8\0\0 也就是b value=0
这个表示 1000\8\0\0 也就是b value=1000
但在python里面用simpleITK可以正确读取为 0\8\0\0 或 1000\8\0\0
reader = sitk.ImageFileReader()
reader.SetFileName(dwi_file_path)
reader.LoadPrivateTagsOn()
reader.ReadImageInformation()
b_value = reader.GetMetaData('0043|1039')
print(b_value)