I worked through this issue after sending the e-mail last night, and have
determined the problem and solution.
As you say, spm_vol_ecat7.m only uses a single scale factor (SCALE_FACTOR)
from
the ECAT subheader. This works fine if and only if the images are
uncalibrated.
If the images are expressed in specific calibration units (e.g. Bq/cc), then
one
needs to incorporate a second factor found in the main header
(mh.ECAT_CALIBRATION_FACTOR). The product of Scale_Factor and
ECAT_CALIBRATION_FACTOR then gives the proper units.
The reason that only a single factor is necessary when the images are
composed
of uncalibrated data units that that the ECAT_CALIBRATION_FACTOR is set to
1.0.
We do both FDG and O-15 studies, and our scanner is configured to produced
images in calibrated units. So I have modified spm_vol_ecat7.m to take the
ECAT_CALIBRATION_FACTOR into account when calculating pinfo:
%pinfo = [sh.SCALE_FACTOR ; 0 ; 512*llist(i,2)];
%Modification to take Calibration Factor into account
pinfo = [sh.SCALE_FACTOR * mh.ECAT_CALIBRATION_FACTOR ; 0 ;
512*llist(i,2)];
I would like to recommend that this modification be incorporated into the
standard spm_vol_ecat7.m distribution, since it will avoid problems when
people
have images in calibrated units, and will make no difference when the images
are
not in calibrated units (since ECAT_CALIBRATION_FACTOR = 1.0).
By the way, I had initially misread the SPM Scale_Factor. I though 'e-008'
represent natural log to the -8 power (or even natural log to the -0.008
power),
instead of base 10 log to the -8 power (i.e., 0.00000006). That was the
basis
of the discrepency in our calculations.
sg
|