]> Creatis software - gdcm.git/blobdiff - Example/PhilipsToBrucker2.cxx
Black outing the burnt-in number of some MRI images
[gdcm.git] / Example / PhilipsToBrucker2.cxx
index 496c385124bc5349606ff652356af639bb2e7ccd..0fded6d025489e81fc5a74f73822d9d516e9bc82 100755 (executable)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: PhilipsToBrucker2.cxx,v $
   Language:  C++
-  Date:      $Date: 2006/01/31 15:28:54 $
-  Version:   $Revision: 1.13 $
+  Date:      $Date: 2006/03/17 14:36:37 $
+  Version:   $Revision: 1.20 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -50,9 +50,9 @@ int main(int argc, char *argv[])
    " - orders the gdcm-readable found Files according to their                ",
    "           (0x0010, 0x0010) Patient's Name                                ",
    "           (0x0020, 0x000e) Series Instance UID                           ",
-   "           (0x0020, 0x0032) Image Position (Patient)                      ",
+   "           (0x0020, 0x0032)PhilipsToBrucker2. Image Position (Patient)    ",
    "           (0x0018, 0x1060) Trigger Time                                  ",
-   "           (0x0018, 0x1312) In-plane Phase Encoding Direction             ",
+   "           (0x0018, 0x1312) In-pl)ane Phase Encoding Direction             ",
    " - fills a single level (*) Directory with *all* the files,               ",
    "           converted into a Brucker-like Dicom, InTags compliant          ",
    "   (*) actually : creates as many directories as Patients                 ",
@@ -237,7 +237,7 @@ int main(int argc, char *argv[])
              << std::endl;     
    std::string uniqueSeriesIdentifier;
  
-   for (gdcm::DirListType::iterator it = fileNames.begin();  
+   for (gdcm::DirListType::iterator it) = fileNames.begin();  
                                     it != fileNames.end();
                                   ++it)
    {
@@ -341,16 +341,15 @@ int main(int argc, char *argv[])
             tokens[3] = newName;
             tokensForFileName.clear();    
          }
-         else 
+         else
             tokens[3] = name;
  
  
          userFileIdentifier = tokens[0] + token + tokens[1] + token + tokens[2] + token 
                     + tokens[3] + token + tokens[4] + token;
       }   
-       std::cout << "                           [" <<
-              userFileIdentifier  << "]" << std::endl;
+      if (verbose) 
+         std::cout << "[" << userFileIdentifier  << "]" << std::endl;
                
       // storing in a map ensures automatic sorting !      
       sf[userFileIdentifier] = f;
@@ -391,7 +390,7 @@ int main(int argc, char *argv[])
        
       fullFilename =  currentFile->GetFileName();
       lastFilename =  gdcm::Util::GetName( fullFilename ); 
-      std::cout << "Try to write [" <<lastFilename << "]" << std::endl;
+      std::cout << "Rewrite [" <<lastFilename << "]" << std::endl;
      
       tokens.clear();
       gdcm::Util::Tokenize (it2->first, tokens, token);
@@ -551,20 +550,26 @@ int main(int argc, char *argv[])
       if (currentFile->IsVRCoherent(0x0021) == 1 )
          stringVR = "  ";
       else
-        stringVR = "IS";  
+        stringVR = "IS";
+  
       currentFile->InsertEntryString(strChSliceIndex, 0x0021, 0x1020, stringVR);
       currentFile->InsertEntryString(chFrameIndex, 0x0021, 0x1040, stringVR); 
-           
-      if (flag == 0)
-      {       
-         flag = 1;
-      }
-      else
-      {
+      
+      if (taggrid)
          frameIndex++;
-         flag = 0;
-      }
-                    
+      else     
+      {     
+         if (flag == 0)
+         {       
+            flag = 1;
+         }
+         else
+         {
+            frameIndex++;
+            flag = 0;
+         }
+      } 
+                 
       if (split)
       
          //fullWriteFilename = currentPhaseEncodingDirectionWriteDir + gdcm::GDCM_FILESEPARATOR 
@@ -586,6 +591,12 @@ int main(int argc, char *argv[])
       fh = gdcm::FileHelper::New(currentFile);     
       fh->GetImageDataRaw(); // Don't convert (Gray Pixels + LUT) into (RGB pixels) ?!?
       fh->SetWriteTypeToDcmExplVR();
+      // We didn't modify pixels -> keep unchanged the following :
+      // 'Media Storage SOP Class UID' (0x0002,0x0002)
+      // 'SOP Class UID'               (0x0008,0x0016)
+      // 'Image Type'                  (0x0008,0x0008)
+      // 'Conversion Type'             (0x0008,0x0064)
+      fh->SetContentType(gdcm::UNMODIFIED_PIXELS_IMAGE);
       if (!fh->Write(fullWriteFilename))
       {
          std::cout << "Fail to write :[" << fullWriteFilename << "]"