[Dcmlib] Re: Orientation / Position
Mathieu Malaterre
mathieu.malaterre at kitware.com
Sat Oct 1 17:52:40 CEST 2005
Thanks so much !
$ cvs ci -m"DOC: Adding comment by JPR, for non-medical user (=me)"
gdcmOrientation.h
Checking in gdcmOrientation.h;
/cvs/public/gdcm/src/gdcmOrientation.h,v <-- gdcmOrientation.h
new revision: 1.8; previous revision: 1.7
done
Jean-Pierre ROUX wrote:
> At 14:43 -0400 30/09/05, Mathieu Malaterre wrote:
>
>> Mathieu Malaterre wrote:
>
>
> PatientPosition (0x0010,0x5100) tells us the way the patient was
> introduced in the imager
> HFS : Head First Supine
> FFS : Feet First Supine
> HFP : Head First Prone
> FFP : Feet First Prone
>
> This is simple to imagine what it means.
> ( HFP and FFP are not very common values, since the position must be
> pretty unconfortable for the Patient -the patient is lying on his belly;
> but, if he has handcuffs there is no other way ...-
> --> Theralys guys, I think your algorithms dont'y deal with that case ...)
>
>
> ImageOrientationPatient (0x0020,0x0037) gives 6 cosines (2 for each plane)
>
> Patient Orientation (as found in the optional 0x0020,0x0020, or computed by
> std::string Orientation::GetOrientation ( File *f ), according to David
> Clunnie's algorithm) tells us about the direction of X and Y axes.
>
> The values can be
> A/P anterior/posterior
> L/R left/right
> H/F head/feet
>
> It sounds like "values within a 'Patient referential".
>
> Imagine the patient, in "HFS" position.
> Sagital images are requested.
> All the cosines will be -1, 0, or +1;
> "Patient Orientation" (deduced) will be "A/F".
> Positive X axis is oriented 'towards patient's nose
> Positive Y axis is oriented 'towards patient's feet
> OK ?
>
> Imagine now that patient has a stiffneck and his head is *turned* 30
> degrees towards the left.
> Sagital images are requested.
> One of the cosines will be almost 0.5
>
> Deduced "Patient Orientation" will be "AL\F"
> (main X axis orientation is towards patient's nose, and a little bit
> towards the left)
> but the image is *perfectly* sagital !
>
> Imagine the patient's stiffneck causes head to be *bended* 30 degrees
> towards the left AND *turned* left.
> Sagital images are requested...
>
> You'll probabely have 3 letters for X axis and Y axis, and the image
> remains *perfectly* sagital !
>
> The values are given within the 'imager referential', better than within
> the 'Patient Referential' ...
>
>
> Well ...
> We have to think a lot more, to be able to supply user friendly tools to
> allow people to do *easyly* something clever.
>
> (I think I will ask Medical doctor to put me in the MRI and make images
> in all the positions/orientations/incidences, straightneck and
> stiffneck, etyc.
> We'll have a tremendous data set !)
>
> JP
>
>
>
>
>
>
>>>> --> Sorry : actually they use PatientPosition (0x0010,0x5100)
>>>> assumed to be equal to "HF" or "FF".
>>>>
>>>> In *all* the images I have, it "HFS " or "FFS " (S for supine -the
>>>> guy is lying on his back- , You can also have P, for Prone).
>>>>
>>>> Moreover, on MR, you can have *any* value -1< <+1 for the cosines :
>>>>
>>>> ImageOrientationPatient (0x0020,0x0037)= [
>>>> -0.002378\0.999985\0.004852\0.030516\0.004923\-0.999522]
>>>>
>>>> an other image shows me :
>>>>
>>>> ImageOrientationPatient (0x0020,0x0037)=
>>>> [0.569486\0.822001\0.000000\-0.000000\0.000000\-1.000000 ]
>>>>
>>>> JP
>>>>
>>>>
>>>>> and the suppose the only values for cosines inside "Image
>>>>> Orientation (Patient)" (0020,0037) are -1, 0, +1 !
>>>>>
>>>>> Have a look at :
>>>>> http://www.dclunie.com/medical-image-faq/html/part2.html#DICOMOrientation
>>>>>
>>>>>
>>>>> It *computes* the "Patient Orientation" from "Image Orientation
>>>>> (Patient)" ...
>>>>>
>>>>> gdcm uses David Clunie's code in the method :
>>>>> std::string Orientation::GetOrientation ( File *f )
>>>
>>>
>>>
>>> I have to say I am clueless. How exactly does this thing works. For
>>> instance, SIEMENS_Sonata-16-MONO2-Value_Multiplicity.dcm
>>>
>>> I get:
>>> V 0018|5100 [CS] [Patient Position] [HFS ]
>>>
>>>
>>> but gdcm returns:
>>> Orientation [LHP\PF]
>>>
>>> What does LHP stand for ? How about PF ?
>
>
> Jean-Pierre ROUX
> CREATIS - CNRS UMR 5515, INSERM U 630
> Laboratoire de Radiologie Experimentale
> Hopital Cardiologique
> 28 Avenue du Doyen LEPINE
> B.P. Lyon-Montchat
> 69394 Lyon Cedex 03
>
> Tel : (+33) 04 72 35 74 12
> Fax : (+33) 04 72 68 49 16
> URL : http://www.creatis.univ-lyon1.fr
> e-mail : jpr at creatis.univ-lyon1.fr
>
More information about the Dcmlib
mailing list