Hi,
Sorry - I just followed on from Ged's interpretation that you'd
gone via analyze.
Based on the header info in the original email it looks like
the nifti qform is just wrong. It seems highly unlikely to me.
I notice that the SPM Analyze has an origin set, which
clearly isn't consistent with the nifti, and I tend to trust the
Analyze in this case because it gives both "positive and
negative values" for the coordinates (i.e. zero, the origin,
is somewhere inside the image, not on someone else's screen!)
I definitely think that FSLView's interpretation is consistent
with what's in the nifti and that the nifti is at fault. You can
see all the features in the qform, with respect to origin
locations (large values in the fourth column stop anything
getting to zero) and coupling between Y and Z (with the
off-diagonal terms at 2,3 and 3,2).
So, check with LONI I guess.
All the best,
Mark
On 28 Nov 2006, at 00:27, Neil Killeen wrote:
>>
>
> Mark, Ged
>
>> Date: Mon, 27 Nov 2006 22:22:59 +0000
>> From: Mark Jenkinson <[log in to unmask]>
>> Subject: Re: FSLVIEW / nifti / analyze orientation
>>
>> Hi Neil,
>>
>> As Ged says, the main thing is if the labels in FSLView are correct.
>> If these are right then that's the main thing. The definitions of
>> "radiological" and "neurological" get very confusing, especially
>> when talking about viewing images that are not in the standard
>> alignment (as the avg152 is). What we really mean by these
>> terms is that the sform or qform matrices have negative or
>> positive determinants, respectively (as stated in the FAQ).
>>
>> When talking about viewing images, FSLView makes a few
>> very specific choices. What it does is display the avg152
>> images in the standard radiological convention. However,
>> if the orientation of the scanning is different from this then it
>> will display the images in such a way that they *could* be
>> *rotated* to match the avg152 image. This is a 3D rotation,
>> with no reflection, and so can mean that it displays the right of
>> the brain on the right side of the screen if, for example, the
>> anterior-posterior direction was opposite to the avg152 images.
>> Note that although it is talking about a potential rotation to
>> match the avg152 image, FSLView will only show the image
>> in its acquired orientation (with the bottom view being the
>> slice plane) - but it will swap the x-direction if that is necessary
>> to make the image capable of being rotated to match the
>> avg152.
>>
>
> ok - will digest this information...
>
>> Also, as Ged says, please try to avoid using Analyze images
>> as an intermediate at any stage as they do not keep information
>> about orientation, and so things can go very wrong here.
>> Conversion directly from dicom to nifti can be achieved by
>> various tools, such as mri_convert (part of freesurfer).
>> It sounds like there is something odd happening in your
>> existing conversion pipeline.
>
> i'm not sure why both of you think I used analyze as an intermediary !
> I did this:
>
> dicom -> analyze (SPM2)
> dicom -> nifti (LONI debabeler)
>
>>
>> The coordinates are definitely wrong in the nifti images, as
>> it should cover negative and positive values. This must be a
>> problem with your conversion pipeline and I would again
>> recommend going directly from dicom to nifti.
>
> i don't follow what you mean by 'positive and negative values' ?
>
> i though the nifti coordinates were certainly wrong because it
> a) there is a Y axis pixel coordinate flip c.f. analyze and
> b) there are offsets c.f. analyze and
> b) it appears to couple the Y and Z axes - at least FSLVIEW when
> it interprets the header appears to make this coupling.
>
> So at this point I would first like to establish whether fslview
> is correctly interpreting the nifti header. If it is, then it seems
> that the header is surely wrong and I will have to discuss
> with the LONI people. Can you comment on this by admiring
> the nifti header from the original post ?
>
> I Don't think we have mri_convert installed at this stage; will
> have to track it
> down to make an independent dicom->nifti conversion - can send
> you dicom file if you like to have a go :-)
>
>
>>
>> Hope this helps.
>> All the best,
>> Mark
>>
>>
>
>
> regards
> Neil
>
>>
>> On 27 Nov 2006, at 02:09, Neil Killeen wrote:
>>
>>> Hi all
>>>
>>> an old friend; orientation.
>>>
>>> The FAQ says
>>>
>>> "FSLVIEW always displays images "radiologically". Hence, any
>>> "neurologically" ordered nifti image will be flipped in the (voxel)
>>> x-axis when it is displayed in FSLVIEW. FSLVIEW also now labels the
>>> axes (e.g. L, R, P, A, I, S - Left, Right, Posterior, Anterior,
>>> Inferior, Superior). In the case of oblique acquisitions it chooses
>>> the "closest" axis label."
>>>
>>> I have a DICOM image which I have converted to Analyze (with SPM2)
>>> and NIFTI (with
>>> the LONI debabeler). The Analyze image is in RADIOLOGICAL order
>>> and the
>>> NIFTI in NEUROLOGICAL order. Viz:
>>>
>>>
>>> % avworient -getorient 0001.nii
>>> NEUROLOGICAL
>>> % avworient -getorient 0001-spm2.hdr
>>> RADIOLOGICAL
>>>
>>> and I have attached the headers (from avwhd)
>>>
>>>
>>> Display
>>> -----------
>>>
>>> Now when I display these images, the analyze one displays
>>> as I expect with R on the left of the screen, P on the bottom, S
>>> on the top.
>>>
>>> However, the NIFTI image is oriented rather strangely with R to
>>> the right of the screen, P to the top and S to the top (ok). In
>>> light of the above
>>> quote, I expected FSLVIEW to display the image in the same
>>> orientation
>>> as the analyze image (or at least with respect to R and L; I tried
>>> to attach
>>> screen shots but the message was rejected as too large)
>>>
>>> The labels in both cases are correct in the sense that R is next to
>>> the right side of the brain
>>> (I know which side of the brain is right for this person).
>>>
>>>
>>> Can you comment ?
>>>
>>>
>>>
>>> Header
>>> -----------
>>>
>>> I am also a bit puzzled by the coordinates. This is probably not
>>> your group's bother, as the conversions
>>> are done by SPM and LONI, but I am using FSLVIEW to measure the
>>> coordinates.
>>>
>>>
>>> For the analyze image we have
>>>
>>> Right to Left: x pixel coordinate increasing 0->63
>>> and x physical coordinate decreasing 111.56->-95.16 (dx=206.72)
>>> Posterior to Anterior: y pixel coordinate increasing 0->63 and y
>>> physical coordinate increasing -95.16->111.56 (dy=206.72)
>>> Inferior to Superior: z pixel coordinate increasing 0->28 and z
>>> physical coordinate increasing -30->110 (dz=140)
>>>
>>>
>>> For the nifti image we have
>>>
>>> Right to Left: x pixel coordinate increasing 0->63
>>> and x physical coordinate decreasing 638.14->431.42 (dx=206.72)
>>> Posterior to Anterior: y pixel coordinate decreasing 63->0 and y
>>> physical coordinate increasing 434.02->640.35 (dy=206.33, z=14)
>>> Inferior to Superior: z pixel coordinate increasing 0->28 and
>>> z physical coordinate increasing 5.09->144.83 (dz=139.74,y=31)
>>>
>>>
>>> So what we see here is that :
>>> - Right to Left is consistent from Analyze to Nifti
>>> - Posterior to Anterior is pixel coordinate flipped from Analyze
>>> to Nifti
>>> - Inferior to Superior is consistent from Analyze to Nifti
>>>
>>> But
>>> - Physical coordinates are offset between analyze and nifti
>>> - The nifti coordinates show that the Y and the Z axes are
>>> coupled (i.e. z changes if I change y and vice versa).
>>> I didn't expect this and if Y is coupled to Z, I would expect
>>> X to be coupled also (it's not).
>>>
>>>
>>> If you have any thoughts in this I would be interested. I will also
>>> contact the LONI folks.
>>>
>>>
>>> regards
>>> Neil
>>>
>>>
>>> <0001-analyze-spm2-hdr.txt>
>>> <0001-nii-debabler-hdr.txt>
>>>
>>
|