Maroquine,
(1) This may not help explain your unexpected normalization results, but
with SPM5 in your MATLAB path, the attached should convert any input file
readable by SPM into float 32. The example I use is:
f1 = 'T1.nii';
f2 = 'T1f32.nii';
f1tof2_float32(f1, f2);
Note: if f2 already exists, it will be overwritten. SPM5 can read and
display 64-bit NIFTI. Both FSL and MRIcro also handle this format.
However, at least early on, MRIcron could not.
(2) To get results identical to an earlier analysis, you may need to start
from scratch with the original input files in a different directory. If you
re-run in the same location, SPM may take into account existing results
files of the same name as the new output before overwrite, leading to an
unexpected outcome. Also, various SPM functions may have previously
modified the data headers at different points in your preprocessing.
Kathy Pearson
UAB Psychology
-----Original Message-----
From: SPM (Statistical Parametric Mapping) [mailto:[log in to unmask]] On
Behalf Of Maroquine Aziz
Sent: Friday, October 17, 2008 12:47 PM
To: [log in to unmask]
Subject: [SPM] Output file FLOAT64
Hi Everyone,
I have recently encountered a bizarre problem when using SPM 5
normalization,
and was hoping someone has some feedback. When I use it, I get blank
images, that are FLOAT 64 eventhough the default gui datatype is set to INT
16. This did not happen before using the same file a week ago the output of
the SPM5 normalization used to give FLOAT 32 and I had no problem viewing
the image.
Can someone advise of a way to change the datatype,
other than the gui?
Thank you
function f1tof2_float32(f1, f2)
if ~exist('f1', 'var')
f1 = 'T1.nii';
end
if ~exist('f2', 'var')
f2 = 'T1f32.nii';
end
if exist(f2, 'file')
delete(f2);
end
v1 = spm_vol(f1);
vol = spm_read_vols(v1);
v2 = v1;
v2.fname = f2;
v2.dt = [spm_type('float32') spm_platform('bigend')];
spm_write_vol(v2, vol);
|