[Insight-users] Image Orientation - what to flip and where

Luis Ibanez luis.ibanez at kitware.com
Thu Mar 18 13:08:43 EDT 2010


Hi Kornel,



                           Welcome to ITK !



1) For a description of the coordinates system used
    in ITK please look at:
http://www.cmake.org/Wiki/Proposals:Orientation#DICOM_LPS_Orientation_-_Lower_Limb_Graphical_Example

    and, yes, it is right handed.

    The diagrams in this page show how the
     LPS (Left, Posterior, Superior) coordinate
     system is aligned with the body.


2)  ITK reads the direction cosines from DICOM
     files and carry them along in the DirectionType
     matrix.


3)  Image position is relative to an arbitrary coordinate
      system in the scanner.


4) The differences between how a neurosugeon
    and a radiologist look at the images is mostly a
    matter of Visualization, not a matter of modification
    of coordinate systems.


5) Yes, it is a big responsibility for developers of
    medical image applications to make sure that
    the orientation of the body is presented correctly
    to the clinician.


    You may want to avoid rediscovering the wheel,
    and instead of writing your code from scratch,
    you may want to use:

           a) Slicer (www.slicer.org)   or
           b) IGSTK (www.igstk.org)

    Both of these software platforms have put great
    care on making sure that the orientation, spacing
    and origin of medical images are managed
    correctly.


6)  Should you decide to re-implement this code
     on your own, I would recommend you to use
     a data-centered paradigm. This will reduce
     the chances of getting wrong the information
     about orientation and/or location of the image
     data.



    Regards,


           Luis


--------------------------------------------------------------------------
On Mon, Mar 8, 2010 at 6:36 AM, Kornel <kornel.k at plusnet.pl> wrote:
> Hi,
>
>  I'm quite new to ITK and DICOM, and I'd like to make sure I understand
> things right - they seem quite important.
>
> * Is it true, that while using DICOM files, every image I'm dealing with
> comes in a right-hand coordinate system?
>
> * I've learned that the X values grow to the left hand side of the patient,
> z goes from toes to head, and y grows to the posterior of the patient. Or
> does that depend on the C.7.6.1.1.1 Patient Orientation? I do not think I
> understand this concept of Patient Orientation, maybe since I do not have
> any DICOM which would include such a tag.
>
> * Now there is a Image Orientation tag in every (?) DICOM file which
> contains the direction cosines of the first row and column of the image. It
> is a string a\b\c\d\e\f. This means, that the image I'm dealing with is
> translated with respect to the patient by a matrix [a b c; d e f; 0 0 0]. So
> when I have a Image Orientation equal to 1\0\0\0\1\0 that means I do not
> have to rotate/translate anything, since cos(0) = 1.
>
> * Image Position is the position of the centre of the first voxel, in mm
> (?). Seems easy. It is negative, at least in the case of the DIOCMs I'm
> dealing with, but I think that's nothing unusual. What I do not understand
> is what is it relative to? Is this to make sure that I have consecutive
> slices in the right position? Could it happen, that SliceA Image Postion is
> equal to 10\10\z while SliceB being the next in the sequence has been
> shifted and its position is e.g. 11\10\(z + Slice Thickness)? That would be
> quite a mess to worry about.
>
> * What is Slice Location? How is it related to the previously mentioned
> data? I'm pretty sure it is :)
>
> * Browsing through the archive I've seen this link:
> http://www.itk.org/Wiki/Proposals:Orientation#DICOM_LPS_Orientation_-_Lower_Limb_Graphical_Example
> Do I understand that right, that the nuerosurgeon and radiologists always
> have a different perspective? The radiologists sees the right-hand side of
> the patient on the left, while the neurosurgeon on the right.         If so,
> it is reflected in the Image Orientation tag, isn't it?         That's quite
> a responsibility for both the physician and developer, as far as I know
> there's enough of symmetry in the human body to cause confusion.
>
> * Last but not least, I'm transferring data from an itk Image to an unsigned
> char array, to display that using OpenGL (for now I'm using just a
> IntensityWindowingImageFilter). Now, the image appeared upside down. Image
> Orientation is 1\0\0\0\1\0. Is this upside down issue due to the fact, that
> in my OpenGL app the y values are growing from bottom to top while in the
> DICOM file it's the other way round? I'm using temporary glPixelZoom(1, -1)
> to 'fix it', but I'd like to make sure it's right. I've been looking at the
> QtImageViewer example (from InsightApplications/Auxiliary) but that didn't
> clarify much.
>
> Thanks for any hints, it's quite confusing at first glance, all this
> positions, orientations, etc, and I think it might be desirable to
> understand them 100% right.
>
> Regards,
>  Kornel
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.html
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-users
>
>


More information about the Insight-users mailing list