Closed mr-jaemin closed 2 years ago
Output from dcmdump * | egrep '0043,1039|0018,9087|0043,107f'
:
01_Ax_DWI_ALL_b1000: Regular DWI
(0018,9087) FD 1000 # 8, 1 DiffusionBValue
(0043,1039) IS [1000\8\0\0] # 10, 4 SlopInteger6ToSlopInteger9
03_Ax_DWI_DTI_b1k
(0018,9087) FD 1000 # 8, 1 DiffusionBValue
(0043,1039) IS [1000\8\0\0] # 10, 4 SlopInteger6ToSlopInteger9
04_Ax_DWI_DTI_b10k
(0018,9087) FD 10000 # 8, 1 DiffusionBValue
(0043,1039) IS [10000\8\0\0] # 12, 4 SlopInteger6ToSlopInteger9
05_Ax_DWI_ALL_b1k_Syn_b2kb3k
(0018,9087) FD 1000 # 8, 1 DiffusionBValue
(0043,1039) IS [1000\8\0\0] # 10, 4 SlopInteger6ToSlopInteger9
500_DW_Synthetic__Ax_DWI_ALL_b1k_Syn_b2kb3k: Synthetic DWI
(0018,9087) FD 2000 # 8, 1 DiffusionBValue
(0043,1039) IS [1000002000\8\0\0] # 16, 4 SlopInteger6ToSlopInteger9
(0043,107f) DS [1000000000] # 10, 1 EDWIScaleFactor
Thanks, the pull request is merged.
GE reports b-value in both Private tag
(0043,1039)
and Public tag(0018,9087)
Multi b-values DWI and synthetic b-value DWI have always
BIAS_FOR_BVALUE
of 1000000000 added to b-value in the private tag(0043,1039)
, not in the public tag(0018,9087)
. TheBIAS_FOR_BVALUE
is stored in the private tag(0043,107F)
Note that DTI doesn't have any bias value for b-value.
Because of this bias value, dcm2niix includes the following operation under set_bValGE():
bVal = (bVal % 10000);
which handles b-value with/without bias value correctly up to b-value=9999. However, b-value >= 10k caused an issue: ex) 10000 (DICOM) --> 0 (bval), 11000 (DICOM) --> 1000 (bval)Now, user starts to collect very high b-value data with GE 7T or UHP or MAGNUS system (ex. b=30k).
I would propose to update the code to:
bVal = (bVal % 1000000000);
Alternately, the
BIAS_FOR_BVALUE
can be extracted from the private tag(0043,107F)
. This is for a future reference.I will share sample datasets with/without the bias value: 01_Ax_DWI_ALL_b1000 03_Ax_DWI_DTI_b1k 04_Ax_DWI_DTI_b10k 05_Ax_DWI_ALL_b1k_Syn_b2kb3k 500_DW_Synthetic__Ax_DWI_ALL_b1k_Syn_b2kb3k --> Bias valued added to b-value.
Also, I can submit Pull request if easier for you.