Hi all,
Sorry I’ve not responded to this thread so far, I’ve had other issues to deal with.
First off, this is an issue we’ve faced fairly routinely in my lab of late (mostly to deal with historical data), and it’s a trivial matter to scale each sequence so as to match the b=0 signal across separate series. Something like this ought to do the trick (although this is from memory, it might need amending):
scale=$(dwiextract -bzero dwi1.mif - | mrmath - -axis 3 - | mrstats - -mask brain_mask.mif -output median)
mrcalc dwi1.mif 1000 $scale -div -mult dwi1_scaled.mif
For each input series, following by mrcat
as suggested previously:
mrcat -axis 3 dwi1_scaled.mif dwi2_scaled.mif ... dwi_corrected.mif
Sometimes that’s all you can do… And as mentioned above, it’s OK as long as the echo times match, but maybe not so cool if they don’t (although I have to admit, we’ve had to do that for some of our data too… ).
Sure, look for RescaleSlope
and RescaleIntercept
in the dcminfo -a dicom_file
output. Otherwise, just look at the output of mrinfo DICOM_folder/
, the ‘Intensity scaling’ entry is lifted directly out of the DICOM headers.