]> Creatis software - gdcm.git/blobdiff - src/gdcmFileHelper.cxx
Fix Comments
[gdcm.git] / src / gdcmFileHelper.cxx
index 1ec952328eea41e0c55b42ad2f289504537420da..c12ae7b9e7a1a76fb17a230277430f44f00330f6 100644 (file)
@@ -4,8 +4,8 @@
   Module:    $RCSfile: gdcmFileHelper.cxx,v $
   Language:  C++
 
-  Date:      $Date: 2007/10/17 10:03:59 $
-  Version:   $Revision: 1.133 $
+  Date:      $Date: 2007/10/25 07:52:59 $
+  Version:   $Revision: 1.136 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
 #include "gdcmDocEntryArchive.h"
 #include "gdcmDictSet.h"
 #include "gdcmOrientation.h"
+
+
+
+#include <algorithm>  // for transform?
+
 #if defined(__BORLANDC__)
-   #include <mem.h> // for memset
+   #include <mem.h>   // for memset
+   #include <ctype.h> //for toupper
+   #include <math.h>
 #endif 
 
 #include <fstream>
@@ -1504,17 +1510,26 @@ void FileHelper::CheckMandatoryElements()
 
    // --------------------- For DataSet ---------------------
 
-   /// \todo check that 0018|0015 [CS] [Body Part Examined] value is UPPER CASE
-   ///      (avoid dciodvfy to complain!)
-   
+   // check whether 0018|0015 [CS] [Body Part Examined] value is UPPER CASE
+   //      (avoid dciodvfy to complain!)
+   DataEntry *e_0018_0015 = FileInternal->GetDataEntry(0x0018, 0x0015);  
+   if ( e_0018_0015)
+   {
+      std::string bodyPartExamined = e_0018_0015->GetString();
+      std::transform(bodyPartExamined.begin(), bodyPartExamined.end(), bodyPartExamined.begin(), 
+                    (int(*)(int)) toupper);
+      CopyMandatoryEntry(0x0018,0x0015,bodyPartExamined,"CS");       
+   }
 
    if ( ContentType != USER_OWN_IMAGE) // when it's not a user made image
    { 
    // If 'SOP Class UID' and 'SOP Instance UID' exist ('true DICOM' image)
    // we create the 'Source Image Sequence' SeqEntry
    // to hold informations about the Source Image
-  
+      // 'SOP Instance UID' 
       DataEntry *e_0008_0016 = FileInternal->GetDataEntry(0x0008, 0x0016);
+      //
       DataEntry *e_0008_0018 = FileInternal->GetDataEntry(0x0008, 0x0018);
       if ( e_0008_0016 && e_0008_0018)
       {
@@ -1530,7 +1545,7 @@ void FileHelper::CheckMandatoryElements()
          e_0008_1150->Delete();
       
          // create 'Referenced SOP Instance UID' from 'SOP Instance UID'
-         DataEntry *e_0008_0018 = FileInternal->GetDataEntry(0x0008, 0x0018);
+        // DataEntry *e_0008_0018 = FileInternal->GetDataEntry(0x0008, 0x0018);
          
          DataEntry *e_0008_1155 = DataEntry::New(0x0008, 0x1155, "UI"); 
          e_0008_1155->SetString( e_0008_0018->GetString());