questions
questions > RE: Voxel values 500 times higher with dcm2niix
Oct 26, 2016 03:10 PM | Chris Rorden
RE: Voxel values 500 times higher with dcm2niix
Hi-
Thanks for the example. This demonstrates that the recent version is correctly scaling the image intensity use=ing the formula provided by Philips. For most MR modalities (T1, T2, T2*) the image brightness is relative, and there is no need for precise scaling. However, this can be important for some other modalities (ASL, DWI). Therefore, recent versions of my software preserve this information.
When you run recent versions of my software with your sample you will see this:
Philips Precise RS:RI:SS = 4.73675:0:0.0106491 (see PMC3998685)
And if you view the DICOM header with a tool like Osirix you can see the values:
0040,9224 RealWorldValueIntercept 0
0040,9225 RealWorldValueSlope 4.736752136752137
2005,100E ScaleSlope 0.01064914
If you open a PAR/REC header you will see the Phiips description of these values
//# === PIXEL VALUES =============================================================
//# PV = pixel value in REC file, FP = floating point value, DV = displayed value on console
//# RS = rescale slope, RI = rescale intercept, SS = scale slope
//# DV = PV * RS + RI FP = DV / (RS * SS)
So to convert your pixel values to floating point values you need to multiply them by 93.9043. That explains why the NIFTI header now reports a rescale slope of 93.9043.
Thanks for the example. This demonstrates that the recent version is correctly scaling the image intensity use=ing the formula provided by Philips. For most MR modalities (T1, T2, T2*) the image brightness is relative, and there is no need for precise scaling. However, this can be important for some other modalities (ASL, DWI). Therefore, recent versions of my software preserve this information.
When you run recent versions of my software with your sample you will see this:
Philips Precise RS:RI:SS = 4.73675:0:0.0106491 (see PMC3998685)
And if you view the DICOM header with a tool like Osirix you can see the values:
0040,9224 RealWorldValueIntercept 0
0040,9225 RealWorldValueSlope 4.736752136752137
2005,100E ScaleSlope 0.01064914
If you open a PAR/REC header you will see the Phiips description of these values
//# === PIXEL VALUES =============================================================
//# PV = pixel value in REC file, FP = floating point value, DV = displayed value on console
//# RS = rescale slope, RI = rescale intercept, SS = scale slope
//# DV = PV * RS + RI FP = DV / (RS * SS)
So to convert your pixel values to floating point values you need to multiply them by 93.9043. That explains why the NIFTI header now reports a rescale slope of 93.9043.
Threaded View
Title | Author | Date |
---|---|---|
Pascal Pas | Oct 23, 2016 | |
Chris Rorden | Feb 19, 2017 | |
Chris Rorden | Oct 26, 2016 | |
Felix Navarro Guirado | Feb 9, 2017 | |
Chris Rorden | Feb 9, 2017 | |
Felix Navarro Guirado | Feb 10, 2017 | |
Pascal Pas | Oct 26, 2016 | |
Chris Rorden | Oct 25, 2016 | |
Pascal Pas | Oct 25, 2016 | |