add std::string Orientation::GetOrientation ( File *f ) method, that
computes the Patient Orientation relative to the image plane
from the 'Image Orientation (Patient)' :
The first entry is the direction of the rows, given by the
direction of the last pixel in the first row from the first
pixel in that row.
The second entry is the direction of the columns, given by
the direction of the last pixel in the first column from the
first pixel in that column.
Anatomical direction is designated by the capital
letters: A (anterior), P (posterior), R (right),L (left),
H (head), F (foot).
Refinements in the orientation descriptions are designated
by one or two additional letters in each value.
Addsome comments about Patient Position :
> // HFS = Head First-Supine, where increasing (positive axis direction) :
> // X -> to the direction pointed to by the patient's oustretched left arm
> // Y -> to the anterior-to-posterior direction in the patient's body
> // Z -> to the feet-to-head direction in the patient's body
>
> // HFP = Head First-Prone, where increasing (positive axis direction) :
> // X -> to the direction pointed to by the patient's oustretched left arm
> // Y -> to the anterior-to-posterior direction in the patient's body
> // Z -> to the feet-to-head direction in the patient's body
>
> // FFS = Feet First-Supine, where increasing (positive axis direction) :
> // X -> to the direction pointed to by the patient's oustretched left arm
> // Y -> to the anterior-to-posterion direction in the patient's body
> // Z -> to the feet-to-head direction in the patient's body
>
> // FFP = Feet First-Prone, where increasing (positive axis direction) :
> // X -> to the direction pointed to by the patient's oustretched left arm
> // Y -> to the posterior-to-anterior direction in the patient's body
> // Z -> to the feet-to-head direction in the patient's body
>
> // HFDR = Head First-Decubitus Right
> // HFDL = Head First-Decubitus Left
> // FFDR = Feet First-Decubitus Right
> // FFDL = Feet First-Decubitus Left
>
> // we can also find
>
> // SEMIERECT
> // SUPINE
>
* Add the methods gdcm::Dict:AddDict(std::string fullPathPrivateDictionaryFileName)
and
gdcm::Dict::RemoveDict(std::string fullPathPrivateDictionaryFileName)
to allow user to choose the 'Private Dictionary' he wants to work with.
One can dream about a better API;
This one allow right now anybody to see very easyly if the use of a given private dicom dictionary is of any help or not.
* PrintFile has now a new command line argument manager option :
dict=fullPathNamePricateDictionaryFile
to allow user to see with no extra coding what differences makes the use or not of a private Dicom Dictionary.
e.g. : use it as follow
PrintFile filein=myGEdicomFile.dcm dict=/user/userName/gdcm/Dicts/GEMS-Advance.dic
Add the command line argument manager option
dict=fullPathNamePricateDictionaryFile
to allow user to see with no extra coding what differences makes the use or not
of a private Dicom Dictionary.
e.g.
Add the methods Dict:AddDict(fullPathPrivateDictionaryFileName)
and Dict::RemoveDict(fullPathPrivateDictionaryFileName)
to allow user to choose the 'Private Dictionary' he wants to work with.
One can dream about a better API;
This one allow right now anybody to see very easyly
if the use of a given private dicom dictionary is of any help or not.