Hi,
> Thanks, again, John, for continuing in your efforts to helping me solve
> this. I have replies interspersed below, but most important, I think are
> these responses from spm_orientations. They confirm that something must be
> wrong - but I'm not sure what, although I have a theory...
Your theory may be a good one.
>
> >> spm_defaults
> >> spm_orientations
>
> LAI Left-handed ... bold3_7.img
> RAI Right-handed ... rbold3_7.img
> LPI Right-handed ... wrbold3_14.img
> LPI Right-handed ... swrbold3_16.img
>
> The odd bit is that the LAI raw data images are called Left-handed and the
> RAI, realigned images are called Right-handed.
LAI is left handed and RAI is right-handed (I checked with my left hand, by
pointing my thumb L->r, my index finger A->p and my middle finger I->s. I
look a bit silly doing it though).
> Is this because they run
> Inferior to Superior? Images that are flipped top to bottom would appear
> to an on-looker to be reversed left-right from each other. See the
> response below about negative voxels for more info about this.
Your w*.img files should be written in the orientation specified by
defaults.analyze.flip, so that behaviour is as expected. We just need to
worry about why your r*.img files appear to have flipped.
At any point, did the value for flip change in the defaults file?
Alternatively, did you do any processing not via the buttons on the user
interface? Another possibility is an intermittent glitch in Matlab whereby
global variables are not properly loaded.
A possible reason is that the value of flip changed since doing the
realignment. Was flip==1 when you did the realignment (maybe the defaults
file wasn't loaded, or was changed since then)? This could explain the
discrepancy, although you would have needed to have reoriented the images
afterwards.
In SPM2, images that have .mat files have their handedness represented by the
.mat file. When you realign images that have no .mat files to begin with,
then the handedness is read from the defaults. The .mat files that are
created are written with that handedness. .mat files are only written when
the necessary information is not available from the .hdr files, so after
realignment (estimation), the first image often does not have one.
When images are resliced, they take the orientation of the first image. If
the first image has no .mat file, then the resliced r*.img images will not
have one (unless the origin field in the first image's .hdr is [0 0 0]).
If the flip is then changed at this point, then the images (original ones)
with .mat files will retain their original orientations, whereas the
(resliced) images without .mat files will have their orientations changed.
In order for the data to be considered as LAI or RAI (rather than LPI or RPI),
then the data must have had .mat files introduced at a later point - or some
of the voxel sizes were negative to begin with.
>
> Million-dollar question:
> And, ultimately, if my normalized images are indeed LPI, right handed, and
> defaults.analyze.flip is set to 0, then does that mean my results on the
> glass brain should show right on the right and left on the left? This is
> the question that started this all...
Unfortunately, I can't say what the orientations of your normalised images
really are. I can only say what orientation SPM thinks they are in. If the
flip variable changes or remains unloaded at any point in the processing,
then the real orientations could be anything. This is why I repeat many
times on the list that the flip variable should be fixed and never changed -
ever.
> > The best way to check is to look for any negative voxel sizes.
>
> Hmmm...if I am anywhere on the brain, then all voxel sizes are positive.
> However, if I am on the very outskirts of the display, then:
> RAS corner: x, -y, z
> LAS corner: -x, y, z
> LPS corner: all positive
> RPS corner: all positive
> The same pattern holds for RAI, LAI, LPI, and RPI.
If you use the Display button, you will see the voxel sizes in the lower right
panel. These shouldn't change with position.
I'm not sure how you are refining the RAS, LAS, LPS and RPS corners. Could
you check the position in voxels with the reported position in mm?
>
> >> Also, before normalization, spm_orientations runs without warning
> >> messages, after normalization, it returns an answer preceded by
> >> "Warning, can't get default Analyze orientation, assuming flipped".
Spatially normalised images don't usually have .mat files. SPM2 only checks
the flip variable for images without .mat files.
> >
> > When you start spm, it runs spm_defaults.m , which loads the default
> > settings, which are stored in the global variable called 'defaults'. If
> > you run spm_orientations without first running spm_defaults, then the
> > routines can not find defaults.analyze.flip . If this can not be found,
> > then you get the warning message, which means exactly what it says. The
> > routines are assuming that your data are stored left-handed (i.e.
> > defaults.analyze.flip=1) - which may not be the correct orientation for
> > you.
>
> O.K. if I run spm_defaults.m in matlab, and then use spm_orientations, I
> don't the the warning message, the responses for spm_orientations are the
> same whether I run the spm_defaults.m first or not.
This really surprises me because you should get different results for the
spatially normalised images.
> >> Prior to normalization, looking at my input files in display gives
> >> results that DO MATCH spm_orientations output.
> >> Left handed (LAS)
> >
> > Something is wrong. LAS indicates right-handed storage.
>
> yes, weird, see the first part of the this message. maybe related to the
> negative voxel values in the far corners of my images?
None of those images were LAS.
>
> >> After normalization, however, using display
> >> x increases as I move from Left to Right (L)
> >> y increases as I move from Posterior to Anterior (P)
> >> z increases as I move from Superior to Inferior (S)
> >> spm_orientations returns Right handed, LPI instead of LPS.
> >>
> >> How can this be?
> >
> > I can't actually think of any reason at all why SPM would reverse the
> > direction of the slices when displaying an image. I would expect the
> > storage of spatially normalised images to be LPI.
>
> mea culpa. they do match.
> I only get that warning message if I run spm_orientations before loading
> spm_defaults.m and when I am checking normalized data. I don't get it if I
> check unnormalized data (regardless of whether spm_defaults.m has been
> loaded). During normalization I get the following warning, I hadn't
> noticed it before, and am not sure if it is a problem:
>
> Warning: Ignoring hdr.hist.orient field of
> "/home/juliana/dissertation/controls/phono4_newcontrol/3danat/006/3danat6_1
>.hdr".
This one isn't a problem.
> Warning: Assuming a scalefactor of 1 for
> "/home/juliana/dissertation/controls/phono4_newcontrol/3danat/006/3danat6_1
>.img".
This one shouldn't be a problem - unless different volumes are scaled
differently.
I hope we are getting closer.
Bye for now,
-John
|