| I've noted that the pixel values for ECAT7 files are not reported
corrected by
| both the Display function and the global normalization procedures.
This could depend on what units are being worked with. The spm_vol_ecat7.m
routine in SPM99 uses a single scalefactor from the image subheader, and
multiplies the voxels in the range -32768...32767 by this scalefactor. It
may
be the case that your normal conversion to Analyze format incorporates data
from other fields in the headers. Are the relative intensities of different
images the same for SPM as they are when you do your normal ECAT7->Analyze
conversion.
The different header fields used by SPM can be seen if you type:
fname = spm_get(1,'*.v');
V = spm_vol(fname);
V.mh % Main header
V.sh % Subheader
| For example, a PET image with a pixel value of 10037 is reported by
Display as
| 0.00998402. Display also reports that the Pixel intesity is based on the
| equation Y = 6.1486 e-008 * x. However that can't be right, because the
ECAT7
| files use 16 bit signed integers to represent individual pixel values,
with the
| max pixel value scaled to 32767. Using the above formula yields
| Y = 6.1486 * 0.000335 * 32767 = 0.0020 * 32767 = 67.4
|
| This is way off, since for this particular image, the max value is
actually
| 21525.
Your units seem to use a scalefactor of 0.6569 (21525/32767), whereas
spm_vol_ecat7
uses a scalefactor of 6.1486e-8. According to spm_vol_ecat7, the maximum
value
in the image should be 6.1486e-8 * 32767 = 0.0020 (I'm not sure where the
0.000335
came from). There must be something else that accounts for the factor of
1.0684e+07 discrepancy.
| So I don't understand why SPM99 is showing such a low number when reading
ECAT7
| files.
|
| I think that a critical factor is being left out. A more accurate formula
would
| be Y = 0.6 * x where x is the 16 bit signed integer pixel value.
What factors do you use in the conversion from ECAT7 to Analyze format? Is
there
anything else in the headers that you think we should include? The extra
factors
can be incorporated by modifying spm_vol_ecat7.m at around line 67
(replacing
sh.SCALE_FACTOR with something more appropriate).
| In addition, this scaling error seems to be present even after spatial
| normalization, and the global values for a scan are equally (and aburdly
low).
Spatial normalisation, coregistration and realignment all retain the
original image
scalefactors.
I hope there is something here that explains the discrepancy.
All the best,
-John
|