Hi Boogie,
The definition of cal_min and cal_max are documented in the nifti1.h header ( see http://nifti.nimh.nih.gov/nifti-1/documentation/nifti1fields/nifti1fields_pages/cal_maxmin.html or the source files distributed with FSL )
"The cal_min and cal_max fields (if nonzero) are used for mapping (possibly
scaled) dataset values to display colors:"
They are neither guaranteed nor intended to be the same as the minimum and maximum voxel values in an image, and using them as such will result in difficulties. Setting them to non-zero values signals to a program like fslview that you wish to see the data scaled to a particular range.
The -range option is available in the FSL 4.1.6 version of fslmaths.
The robust range as used in tools like fslmaths and fslstats ( http://www.fmrib.ox.ac.uk/fsl/avwutils/index.html ) is roughly the same as the 2% and 98% percentiles.
Many Regards
Matthew
> Hi Matthew,
> thanks for this clarification. In the meantime I also found when I multiply such data with 1.0 and then re-apply
> fslinfo it gives me the correct max voxel intensity.
>
> Nevertheless why are these things not documented somewhere?
> If I want to normalize images, I rely on the proper answer of fslinfo (which is a
> problem as I realize now).
> I also did not find any reference to "fslmaths -range" ?
>
> Does the "ROBUST RANGE" reference for "fslmaths -thrp"
> imply the same handling of image intensities?
>
> What is the logical reason behind those weighted estimates of
> intensity values (except for setting the viewer intensity window to a more
> user friendly range).
>
> Those things make a hell of a day when you are starring at your code and can't
> figure out what is going wrong.
>
> Thanks again,
> Boogie
>
|