Hi Mark, and thanks for the clarification.
My impression from the Nifti specification was that when the
qform_code and sform_code are both zero, the file is treated as if it
had an sform matrix of
( pixdim[1] 0 0 )
( 0 pixdim[2] 0 )
( 0 0 pixdim[3] )
which would mean that the data ordering corresponds to the Nifti
default of RAS. Is this in fact not the case then, and instead the
default orientation reverts to LAS in these circumstances for
backwards compatibility?
Jon
On 29 Nov 2007, at 23:34, Mark Jenkinson wrote:
> Hi,
>
> This stuff is all quite confusing I'm afraid, but I think I know
> what is going on.
> If you look at the full output of fslhd, you should see that the
> qform_name is
> Unknown and the qform_code is 0 (the former is a worded description
> of the
> latter). This indicates that this nifti file *does not contain*
> orientation information
> (assuming your sform_name is Unknown as well). Hence the fslhd
> program
> guesses the x_orient based on a default qform, which isn't useful
> I'm afraid.
> The alternative output with fslhd -x only shows you the sform and
> qform when
> they contain useful information - so maybe you'll find that better.
>
> In general it is dangerous to use nifti files without any
> orientation information or
> to use Analyze (as it has no intrinsic, standard orientation
> information in it).
> Internally to most fsl tools, such orientation-less files will be
> treated as radiological
> where it matters (e.g. in flirt) and things should work fine.
> However, to be safer
> it is best to encode the information in nifti file if you are sure
> which way around the
> axes are. You can change the nifti information with fslorient.
> Note that you need
> to set either the sform or qform code to a non-zero value first, as
> otherwise it will
> ignore all attempts to include orientation information. You can
> check if you have
> things correct by using FSLView which will label your axes based on
> this info.
>
> I hope this helps make things clearer.
> All the best,
> Mark
>
>
>
> On 29 Nov 2007, at 21:05, Jon Clayden wrote:
>
>> Dear all,
>>
>> I'm confused about FSL's conventions for dealing with Analyze
>> files. It says on the FSL site at <http://www.fmrib.ox.ac.uk/fsl/fsl/formats.html
>> > that Analyze files are treated as being in radiological
>> convention, i.e. LAS. However, if I convert an Analyze file to
>> Nifti using fslchfiletype I get a header indicating that the file
>> is *RAS*, as shown below. Moreover, the image data is unchanged,
>> rather than being flipped left-to-right as seems to be the case
>> with the header.
>>
>> Can anyone shed any light on why this is?
>>
>> Cheers,
>> Jon
>>
>>
>> $ ls basic*
>> basic.hdr.gz basic.img.gz
>> $ fslhd basic | grep -a file_type
>> file_type ANALYZE-7.5
>> $ cp basic.hdr.gz basic2.hdr.gz
>> $ cp basic.img.gz basic2.img.gz
>> $ ls basic*
>> basic.hdr.gz basic.img.gz basic2.hdr.gz basic2.img.gz
>> $ fslchfiletype NIFTI_PAIR_GZ basic2
>> $ fslhd basic2 | grep xorient
>> qform_xorient Left-to-Right
>> sform_xorient Unknown
>> $ diff basic.img.gz basic2.img.gz
>> $
|