Hi Julie,
> After using SPM5 to analyze my fMRI data in the old analyze format,
> I am attempting the final step- switch to Nifti format. However, I
> have encountered problems during the first step of pre-processing.
> Some of the MATLAB 7.0 error output is
[...]
> Warning: QFORM0 representation has been rounded.
As Volkmar says, this is just a warning, and probably not an important
one. In case you want to know more...
NIfTI headers can store two different voxel-world mappings, the
"sform" is a general 12 degree-of-freedom affine transformation,
identically equivalent to the 4-by-4 homogeneous matrix SPM keeps in
the vol.mat field of volume structures (SPM requires that the 4th row
of the matrix is [0 0 0 1], as this is required for a pure affine
transformation; a more general homogeneous matrix could allow for
example mapping of parallel lines to become converging).
The "qform" representation is different, it's actually just a 9 DoF
transformation, with a rotation parametrised by a quaternion, an
origin, and voxel dimensions. This means that if V.mat ends up as a
transformation with more than 9 DoF the qform representation can't
store the mapping correctly.
The problem can arise on reading and re-writing NIfTI volumes, which
is something of an SPM quirk... because there is just one vol.mat
field (for historical reasons). If you read a valid NIfTI with
different qform and sform mappings, the former being a valid 9 DoF
transform and the latter being a more general 12 DoF one, then vol.mat
keeps just the 12 DoF one, and when re-writing the image, this must be
rounded to 9 DoF for the qform.
It's probably nothing to worry about, but...
> I used dcm2nii.exe to convert my .par/.rec files to single .nii
> files. I have installed the newest SPM5 upgrade.
... I don't know anything about .par/.rec, but DICOM files only (to
the best of my knowledge) encode 9 DoF voxel-world mappings (they
store direction cosines in a field called something like
ImageOrientationPatient, which can be used to create a 3x3 rotation
matrix, but nothing is stored which allows skewing of the axes). In
other words, I would not expect dcm2nii to produce NIfTI volumes with
12 DoF voxel-world mappings.
For this reason, it might be worth checking one of the matrices that
you end up with. Just do something like:
fnm = spm_select(1, 'image', 'pick example');
vol = spm_vol(fnm);
mat = vol.mat
prm = spm_imatrix(mat)
skews = prm(10:12)
where prm is a 12 element vector of the parameters, the last three of
which would normally be zero, if they aren't close to zero then check
that image looks okay when spm displays it, and maybe check with
either/both the authors of dcm2nii (to see if it should handle skews)
or your MR technicians (to see if the .par/.rec is expected to encode
skews for your acquisition)
Sorry for such a long email! Best,
Ged.
|