]> Creatis software - gdcm.git/blobdiff - src/gdcmFile.cxx
Meta Elements group length (follows previous commit)
[gdcm.git] / src / gdcmFile.cxx
index f79b64e7c8618eb8cc8f574c93ef064f13daf54e..8a11ae809b4ea8faa92ef44c35938dce8db43e51 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmFile.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/07/30 18:17:08 $
-  Version:   $Revision: 1.264 $
+  Date:      $Date: 2005/09/07 08:55:23 $
+  Version:   $Revision: 1.268 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
 //  in the images.
 //
 // Remember also :
-// Patient Position (0018,5100) values : HFP   = Head First-Prone
-//                                       HFS   = Head First-Supine
-//                                       HFDR  = Head First-Decubitus Right
-//                                       HFDL = Head First-Decubitus Left
-//                                       FFDR = Feet First-Decubitus Right
-//                                       FFDL = Feet First-Decubitus Left
-//                                       FFP  = Feet First-Prone
-//                                       FFS  = Feet First-Supine
-//                    can also find      SEMIERECT
-//                                       SUPINE
+// Patient Position (0018,5100) values :
+
+//  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
+
 // CS 2 Patient Orientation (0020 0020)
-//               When the coordinates of the image 
-//               are always present, this field is almost never used.
-//               Better we don't tust it too much ...
-//               Found Values are :      L\P
-//                                       L\FP
-//                                       P\F
-//                                       L\F
-//                                       P\FR
-//                                       R\F
+//    When the coordinates of the image 
+//    are always present, this field is almost never used.
+//    Better we don't trust it too much ...
+//    Found Values are :
+//     L\P
+//     L\FP
+//     P\F
+//     L\F
+//     P\FR
+//     R\F
 //
 // (0020|0037) [Image Orientation (Patient)] [1\0\0\0\1\0 ]
 
-                                      
+               
 // ---------------------------------------------------------------
 //
 #include "gdcmFile.h"
@@ -76,7 +99,7 @@
 #include "gdcmJPEGFragmentsInfo.h"
 
 #include <vector>
-#include <stdio.h> //sscanf
+#include <stdio.h>  //sscanf
 #include <stdlib.h> // for atoi
 
 namespace gdcm 
@@ -1289,7 +1312,7 @@ void File::AddAnonymizeElement (uint16_t group, uint16_t elem,
    el.Group = group;
    el.Elem  = elem;
    el.Value = value;
-   AnonymizeList.push_back(el); 
+   UserAnonymizeList.push_back(el); 
 }
 
 /**
@@ -1305,8 +1328,8 @@ void File::AnonymizeNoLoad()
    uint32_t lgth;
    uint32_t valLgth = 0;
    std::string *spaces;
-   for (ListElements::iterator it = AnonymizeList.begin();  
-                               it != AnonymizeList.end();
+   for (ListElements::iterator it = UserAnonymizeList.begin();  
+                               it != UserAnonymizeList.end();
                              ++it)
    { 
       d = GetDocEntry( (*it).Group, (*it).Elem);
@@ -1314,11 +1337,11 @@ void File::AnonymizeNoLoad()
       if ( d == NULL)
          continue;
 
-         if ( dynamic_cast<SeqEntry *>(d) )
-         {
-            gdcmWarningMacro( "You cannot 'Anonymize a SeqEntry ");
-            continue;
-         }
+      if ( dynamic_cast<SeqEntry *>(d) )
+      {
+         gdcmWarningMacro( "You cannot 'Anonymize' a SeqEntry ");
+         continue;
+      }
 
       offset = d->GetOffset();
       lgth =   d->GetLength();
@@ -1344,7 +1367,7 @@ void File::AnonymizeNoLoad()
 bool File::AnonymizeFile()
 {
    // If Anonymisation list is empty, let's perform some basic anonymization
-   if ( AnonymizeList.begin() == AnonymizeList.end() )
+   if ( UserAnonymizeList.begin() == UserAnonymizeList.end() )
    {
       // If exist, replace by spaces
       SetValEntry ("  ",0x0010, 0x2154); // Telephone   
@@ -1362,15 +1385,15 @@ bool File::AnonymizeFile()
          }
          else
          {
-            SetValEntry("anonymised", 0x0010, 0x0010);
+            SetValEntry("anonymized", 0x0010, 0x0010);
          }
       }
    }
    else
    {
       gdcm::DocEntry *d;
-      for (ListElements::iterator it = AnonymizeList.begin();  
-                                  it != AnonymizeList.end();
+      for (ListElements::iterator it = UserAnonymizeList.begin();  
+                                  it != UserAnonymizeList.end();
                                 ++it)
       {  
          d = GetDocEntry( (*it).Group, (*it).Elem);
@@ -1472,7 +1495,7 @@ bool File::Write(std::string fileName, FileType writetype)
    if ( e0000 )
    {
       std::ostringstream sLen;
-      sLen << ComputeGroup0002Length(writetype);
+      sLen << ComputeGroup0002Length( );
       e0000->SetValue(sLen.str());
    }