@@ -33,12 +33,27 @@ def get_source(self, meta: DcmMetaExtension):
33
33
34
34
# Define some common source attributes
35
35
SRCS = {
36
- "AcquisitionDateTime" : SrcAttr (("FrameReferenceDateTime" , "FrameAcquisitionDateTime" , "AcquisitionDateTime" )),
37
- "MosaicRefAcqTimes" : SrcAttr (("CsaImage.MosaicRefAcqTimes" , "SIEMENS_MR_HEADER.MosaicRefAcqTimes" )),
36
+ "AcquisitionDateTime" : SrcAttr (
37
+ ("FrameReferenceDateTime" , "FrameAcquisitionDateTime" , "AcquisitionDateTime" )
38
+ ),
39
+ "MosaicRefAcqTimes" : SrcAttr (
40
+ ("CsaImage.MosaicRefAcqTimes" , "SIEMENS_MR_HEADER.MosaicRefAcqTimes" )
41
+ ),
38
42
"FlipAngle" : SrcAttr ("FlipAngle" , ureg .degrees ),
39
43
"RepetitionTime" : SrcAttr ("RepetitionTime" , ureg .milliseconds ),
40
44
"EchoTime" : SrcAttr (("EffectiveEchoTime" , "EchoTime" ), ureg .milliseconds ),
41
45
"InversionTime" : SrcAttr (("InversionTime" , "InversionTimes" ), ureg .milliseconds ),
46
+ "DiffusionBValue" : SrcAttr (
47
+ (
48
+ "DiffusionBValue" ,
49
+ "SIEMENS_MR_HEADER.0XC" ,
50
+ "SIEMENS_MR_HEADER.B_value" ,
51
+ "CsaImage.B_value" ,
52
+ "GEMS_PARM_01.0X39" ,
53
+ "PHILIPS_IMAGING_DD_001.0X3" ,
54
+ ),
55
+ ureg .seconds / ureg .mm ** 2 ,
56
+ ),
42
57
}
43
58
44
59
@@ -69,6 +84,7 @@ def convert_single_source(self, src: SrcAttr, val):
69
84
SndAttr ("RepetitionTime" , ureg .seconds , "TR" ),
70
85
SndAttr ("EchoTime" , ureg .seconds , "TE" ),
71
86
SndAttr ("InversionTime" , ureg .seconds , "TI" ),
87
+ SndAttr ("DiffusionBValue" , ureg .seconds / ureg .mm ** 2 , "b-value" ),
72
88
]
73
89
SND_ATTR_MAP = {x .name : x for x in SND_ATTRS }
74
90
@@ -243,6 +259,7 @@ def get_acq_ts(meta: DcmMetaExtension):
243
259
"RepetitionTime" ,
244
260
"EchoTime" ,
245
261
"InversionTime" ,
262
+ "DiffusionBValue" ,
246
263
],
247
264
lambda meta : meta .get_values ("Modality" ) == "MR"
248
265
)
0 commit comments