DWI和DTI的DICOM

https://na-mic.org/wiki/NAMIC_Wiki:DTI:DICOM_for_DWI_and_DTI

NAMIC Wiki:DTI:DWI和DTI的DICOM

主页 <NAMIC Wiki:DTI:DWI和DTI的DICOM

此页面应作为可以维护有关DICOM和DWI / DTI数据的信息的位置。随着时间的推移,这些信息可以作为自动化解决方案的一部分,用于从DICOM系列中学习所有必要的DWI相关信息。这里有 DICOM的工具集合。

由于DICOM对DWI信息的支持是特定于供应商的和/或不符合此处的信息,因此Nrrd格式提供了一种在知道 DWI特定信息后记录的方法。

内容

[ 隐藏 ]

DWI的DICOM

在DICOM中使用的推荐标签如下:

0018 9075 CS 1扩散方向性 0018 9076 SQ 1扩散梯度方向序列 0018 9087 FD 1扩散b值 0018 9089 FD 3扩散梯度方向 0018 9117 SQ 1 MR扩散序列 0018 9147 CS 1扩散各向异性类型

这些在补编49中定义。特别参见第94和95页的C.8.12.5.9“MR扩散宏”一节。

标签也在http://medical.nema.org/dicom/2004/04_06PU.PDF(参见第28-29页)以及某些工作组会议记录中引用(参见第155-156页)。

与NRRD格式相关的两个兴趣点:

  • “扩散梯度方向”的定义意味着测量框架正是身份变换。
  • 当已知时,似乎没有记录完整B矩阵的方法。这不是任何NAMIC数据集的问题,但可能出现在小孔成像中。

私营供应商:GE

对于GE扫描仪,Signa Excite 12.0及更高版本,以下标签保留用于扩散加权图像:

  • (0019,10e0):#DTI扩散方向(10.0及以上版本)
  • (0019,10df):#DTI扩散方向(9.0及以下版本)
  • (0019,10d9):连接的SAT {#DTI Diffusion Dir。,9.0及以下版本}
  • (0021,105A):扩散方向
  • (0043,1039):Slop_int_6 … slop_int_9 :(在GEMS_PARM_01块中)
    • 6:b_value
    • 7:私人影像选项2
    • 8:ihtagging
    • 9:ihtagspc

该信息可在http://www.gehealthcare.com/usen/interoperability/dicom/docs/5162373r1.pdf中找到

不幸的是,达特茅斯DWI数据(来自GE Signa扫描仪)不符合这一点(它们也不使用标称标准的0x0018标签),运行时可以看出:

dcdump S4.100 | &grep \(0x0019,0x10

包括:

(0x0019,0x10d9)DS级联SAT VR = <DS> VL = <0x0008> <0.000000> (0x0019,0x10df)DS用户数据VR = <DS> VL = <0x0008> <0.000000> (0x0019,0x10e0)DS用户数据VR = <DS> VL = <0x0008> <0.000000>

所以应该存储#梯度方向的所有标签都存储值0!此外,还有:

(0x0021,0x105a)SL整数斜率VR = <SL> VL = <0x0004> [0x00000000]

所以扩散方向的假设表示也是空的。达特茅斯数据具有以下描述扫描仪和软件版本的标签:

(0008,1090)LO [GENESIS_SIGNA] (0018,1020)LO [09]

在GE DWI图像(软件版本12.0)

(0008,1090)LO [SIGNA EXCITE] (0018,1020)LO [12 \ LX \ MR软件版本:12.0_M4_0520.a]

扩散方向存储在以下标记下:

(0019,10bb)DS [0.430617] (0019,10bc)DS [-0.804161] (0019,10bd)DS [-0.420008]

这些方向是在图像(而不是扫描仪孔)的参考框架。解释取决于相位编码方向(0018,1312)。如果0018,1312是“COL”而不是0019,10bb是指图像列(i),则0019,10bc指的是图像行(j),而0019,10bd指的是切片(k)。如果0018,1312是“ROW”而不是0019,10bb指的是图像行(j),则0019,10bc指的是图像列(i),而0019,10bd指的是切片(k)。有两个注意事项:首先,假设您的切片以空间递增的顺序堆叠(从头到脚进行轴向采集),无论它们保存到磁盘的顺序如何(根据用户计划扫描的方式而有所不同)。其次,您需要调整这些方向的极性以匹配用于拟合的软件的期望。

私人供应商:西门子

西门子DICOM一致性声明可在以下网址获得

http://www.medical.siemens.com/siemens/en_INT/rg_marcom_FBAs/files/brochures/DICOM/mr/dcs_trio.pdf

未指定扩散相关标签。

David Tuch表示(2005年12月21日电子邮件):

未提供扩散梯度信息和坐标系 在DICOM hdr中用于MGH扩散序列。

标签0029,1010 可以包括所有必要的信息

如果您已安装spm(和Matlab),则以下spm-File将提取渐变信息:

P = spm_get(Inf,’*’,‘Selct some files’) HDR = spm_dicom_headers(P) HDR {1} .CSAImageHeaderInfo(22).item(1).VAL HDR {1} .CSAImageHeaderInfo(22).item(2).VAL HDR {1} .CSAImageHeaderInfo(22).item(3).VAL

查找“spm_dicom_headers.m”(谷歌或硬盘),此spm文件向您展示如何解码标签数据。

如果你有spm_dicom_headers.m,很容易编写一个C或C ++程序来做同样的事情。

致谢:Jan Klein <klein AT mevis DOT de>

更新

就最新的MR扫描仪软件(2006)版本而言,提供了访问以下Diffusion属性的解决方案:

0019; 000A; SIEMENS MR HEADER; NumberOfImagesInMosaic; 1; US; 1 0019; 000B; SIEMENS MR HEADER; SliceMeasurementDuration; 1; DS; 1 0019; 000C; SI​​EMENS MR HEADER; B_value; 1; IS; 1 0019; 000D; SIEMENS MR HEADER; DiffusionDirectionality; 1; CS; 1 0019; 000E; SIEMENS MR HEADER; DiffusionGradientDirection; 1; FD; 3 0019; 000F; SIEMENS MR HEADER; GradientMode; 1; SH; 1 0019; 0027; SIEMENS MR HEADER; B_matrix; 1; FD; 6 0019; 0028; SIEMENS MR HEADER; BandwidthPerPixelPhaseEncode; 1; FD; 1

这并不能解决旧数据集的问题,遗憾的是,没有简单的方法来访问那里的扩散信息,因为它实际上只存储在西门子阴影部分。

2010年9月更新

通过电子邮件,Matthew Brett报告了以下信息和链接,这些信息和链接在他的许可下发布。

…如果你这样做: P = spm_get(Inf,’*’,‘Selct some files’) HDR = spm_dicom_headers(P) HDR {1} .CSAImageHeaderInfo(22).item(1).VAL HDR {1} .CSAImageHeaderInfo(22).item(2).VAL HDR {1} .CSAImageHeaderInfo(22).item(3).VAL 来自http://www.na-mic.org/Wiki/index.php/NAMIC_Wiki:DTI:DICOM_for_DWI_and_DTI#Private_vendor:_Siemens - 然后由于某些原因,得到的类似q的向量可能相当远 我现在记不住了,但我相信盖伊调查过。 在SPM中,hdr {1} .CSAImageHeaderInfo是西门子的SPM读数 私人标题。我们读到这个: http://github.com/matthew-brett/nibabel/blob/master/nibabel/nicom/csareader.py 在’读’功能。 SPM调用hdr {1} .CSAImageHeaderInfo(22)具有标签 ‘DiffusionGradientDirection’,看起来像q-vector。 然而,它可能相当遥远,特别是通常相当遥远 远离单位矢量。 Guy通过使用正确指定的’B_matrix’从中恢复 相同私有标题的字段。我认为这是: HDR {1} .CSAImageHeaderInfo(78) 在SPM中,并且被安排为(基于0的矩阵索引到B矩阵中) (0,0),(0,1),(0,2),(1,1),(1,2),(2,2) 其中B矩阵是对称的。请参阅“get_b_matrix” http://github.com/matthew-brett/nibabel/blob/master/nibabel/nicom/csareader.py 我们(这显然是可选的)旋转到体素方向(相反 比DICOM方向)。 我们(这也是可选的)(信贷Ian Nimmo-Smith)解决了 使用Niethammer和C-Fs的最近正半正定矩阵 张量算法 - 参见’nearest_pos_semi_def’: http://github.com/matthew-brett/nibabel/blob/master/nibabel/nicom/dwiparams.py 最后,我们从得到的B中提取q的最佳估计 矩阵,使用特征值分解 - 参见dwiparams中的’B2q’ - 这是Guy算法的主要部分,以及Ian NS代码。 但我想你在问 - 我可以把它放在NAMIC页面上吗? 我希望Guy或Ian或Eleftherios会跳进去告诉我 我错了或进一步解释…

此错误可能相关也可能不相关(现已修复):http//www.na-mic.org/Bug/view.php?id = 978

参考

尤其是:

私人供应商:飞利浦

飞利浦使用以下标签进行扩散加权图像

  • (2001,1003):B_value;
  • (2001,1004):扩散方向。

完整的DICOM一致性声明

  • 的Intera
  • 的Achieva
  • 全景
  • GYROSCAN
  • Infinion / Eclipse

可在此处http://www.medical.philips.com/main/company/connectivity/mri/

私人供应商:东芝

Toshiba Titan 3T(控制台软件V2.30 * R005)使用标准DICOM属性作为b值:

  • (0018,9087):扩散b值(对于具有非零b值的实例)。

注意:对于b值为零的实例,缺少此属性。

可以在私有标记中找到渐变,如下所示:

  • (0029,1001):私人序列
  • >(0029,1090):私有字节数据

当字节数据反转并且交换nybble-pair时,这将成为DICOM序列对象(具有6个项目)。第5项包含许多标准DICOM属性,包括:

  • >>(0018,9087):扩散b值(与上述相符)
  • >>(0018,9089):扩散梯度方向。这是扩散方向,对于零实例的b值将是[0,0,0]。

字节数据调整的示例代码:

private static byte [] adjustToshibaBytes(byte [] input){ int len = input.length; byte [] output = new byte [len]; for(int i = 0; i <len; i ++) { output [i] =(byte)((input [len - i - 1]&0x0F)+(input [len - i - 1]&0xF0)); } 返回输出; }

DICOM用于估计扩散张量

DICOM目前没有规范来支持Tensor。只补充:

Supp 63 Parts 3,4,5,6,16,17 Multi-dimensional Interchange Object

然后讨论(D. Clunie引用):

实际上,即使有人试图在DICOM中标准化编码 对于整个扩散张量,毫无疑问是相当可观的 关于是否将其作为“图像”的6(或9)个平面进行辩论,因为 在每个空间位置(“像素”)或者如此存在这样的矩阵 拟议的Sup 63对象的一个​​特例; 前者会保留 面向图像的工具和软件更快乐,后者需要 实施新机制并通过更一般的方式进行导航 结构体。

http://dapoxetine-cheapestpricepriligy.com/ - 达泊西汀<a href=" http://order-onlinedoxycycline.net/ ">订购强力霉素</a> http://furosemide-lasixonline.net/

相关链接

2010项目周:用于DTI分析的NAMIC工具

DicomToNrrdForDTI备注

Randy的DTI收购说明