[Insight-users] Origin and direction in itk::GDCMImageIO

Mathieu Malaterre mathieu.malaterre at kitware.com
Wed Mar 1 14:00:42 EST 2006


Frank Miller wrote:
> Greetings,
> 
> I recently started to play with Dicom images with oblique orientation 
> and I just noticed that the origin that is stored in itk::Image is 
> different then the "Image Position (Patient)" tag in the Dicom header. I 
> thought this was a bug at first but when I dug around in the 
> itkGDCMImageIO class I discovered that this was done intentionally. 
> Quoting itkGDCMImageIO.cxx
> 
>   // DICOM specifies its origin in LPS coordinate, regardless of how
>   // the data is acquired. itk's origin must be in the same
>   // coordinate system as the data. This code transforms the DICOM
>   // origin into the itk origin. The itk origin is computed by
>   // multiplying the inverse(transpose) of the direction cosine times
>   // the dicom origin.
> 
> Can someone explain to me why the origin is mapped in this way?  What is 
> the difference between the "LPS coordinate system" and the "coordinate 
> system of the data?"
> 
> Also, Im a newcomer to Dicom and especially to the spatial orientation 
> of medical images.  Can someone can suggest a good reference?  I have 
> taken a look at http://medical.nema.org/dicom/2004.html but those 
> documents read like tax code. 

Actually that's the easy part, when private vendor actually respect the 
specs :-P

> I cant find where it describes what "Image 
> Position (Patient)" and "Image Position (Patient)" actually mean. Most 
> of my understanding comes from the notes in 

Go to PS 3.3. And look at C.7.6.2.1
http://medical.nema.org/dicom/2004/04_03PU3.PDF

As a side note the current mechanism might change. Because the Image 
Orientation (Patient) seems to be applied on the Origin whereas it 
should not.


HTH
Mathieu


More information about the Insight-users mailing list