BIC-MNI / minc-tools

Basic minc-tools from former minc repository
Other
29 stars 25 forks source link

dcm2mnc not using private Philips dicom tags for scaling #89

Open jpcoutu opened 5 years ago

jpcoutu commented 5 years ago

It seems that dcm2mnc does not make use of the private Philips dicom tags (2005,100D) (SI) and (2005,100E) (SS) for scaling the stored pixel data. Currently it seems to only use the public scaling tags (0028,1052) (RI) and (0028,1053) (RS), to output the 'display value' (DV) scaled from the stored pixel value (PV):

DV = PV ⋅ RS + RI

As described in this paper, for Philips, to obtain the true floating-point value, one needs to do instead:

FP = DV / (RS ⋅ SS) = (PV +RI / RS) / SS = (PV − SI) / SS

This is what is currently done in dcm2niix here. Chris Rorden also added an option to output the DV instead of FP, but expresses his dislike about this option here.

I noticed that dcm2mnc currently will use the (2005,140a) as an alternative rescale slope when (0028,1053) (RS) is 1; I am not sure where this fits in. Note that using the FP only matters in quantitative applications.

jpcoutu commented 3 years ago

By the way, this is fixed by: https://github.com/BIC-MNI/minc-tools/pull/113