]> Creatis software - gdcm.git/blobdiff - Example/SplitIntoXCoherentDirectories.cxx
re indent
[gdcm.git] / Example / SplitIntoXCoherentDirectories.cxx
index 32829478b1c3734edd9035bd883f429fddcb88e8..17c4c8d50cfa693fb246419cfc0cc1c1bdbbf976 100755 (executable)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: SplitIntoXCoherentDirectories.cxx,v $
   Language:  C++
-  Date:      $Date: 2011/03/29 07:35:58 $
-  Version:   $Revision: 1.5 $
+  Date:      $Date: 2011/08/25 14:37:05 $
+  Version:   $Revision: 1.8 $
  
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -28,7 +28,7 @@ int main(int argc, char *argv[])
 {
 
    START_USAGE(usage)
-   "\n exXCoherentFileSet :\n                                                 ",
+   "\n SplitIntoXCoherentDirectories :\n                                      ",
    "Shows the various 'XCoherent' Filesets within a directory                 ",
    "Optionaly copies the images in a Directories tree                         ",
    "usage: exXCoherentFileSet {dirin=inputDirectoryName}                      ",
@@ -147,6 +147,7 @@ int main(int argc, char *argv[])
    GDCM_NAME_SPACE::SerieHelper *s;  
    s = GDCM_NAME_SPACE::SerieHelper::New();
 
+   GDCM_NAME_SPACE::File *f;
    s->SetLoadMode(GDCM_NAME_SPACE::LD_ALL); // Load everything for each File
    s->SetDirectory(dirName, true);          // true : recursive exploration
    
@@ -154,7 +155,7 @@ int main(int argc, char *argv[])
    GDCM_NAME_SPACE::DirListType fileNames = dirlist.GetFilenames();
    GDCM_NAME_SPACE::FileList *l = new GDCM_NAME_SPACE::FileList;
 
-   GDCM_NAME_SPACE::File *f;
+   std::string replaceChar("_");
 // Loop on all the gdcm-readable files
    for (GDCM_NAME_SPACE::DirListType::iterator it = fileNames.begin();
                                     it != fileNames.end();
@@ -188,7 +189,7 @@ int main(int argc, char *argv[])
       if ( ! GDCM_NAME_SPACE::DirList::IsDirectory(dirNameout) )    // dirout not found
       {
          std::string strDirNameout(dirNameout);          // to please gcc 4
-         systemCommand = "mkdir " +strDirNameout;        // create it!
+         systemCommand = "mkdir \"" +strDirNameout + "\"";        // create it!
          if (verbose)
             std::cout << systemCommand << std::endl;
          system (systemCommand.c_str());
@@ -261,7 +262,6 @@ int main(int argc, char *argv[])
           // Just not to make too many modif in the code
           //serieUID = "SingleSerie"; // s->GetCurrentSerieUIDFileSetUID();
           serieUID = s->GetCurrentSerieUIDFileSetUID();
-
           GDCM_NAME_SPACE::Util::ReplaceSpecChar(serieUID, rep);
 
           // --- for write
@@ -277,7 +277,7 @@ int main(int argc, char *argv[])
                 std::cout << "[" << currentSerieWriteDir<< "]" << std::endl;
             // if ( ! GDCM_NAME_SPACE::DirList::IsDirectory(currentSerieWriteDir) )
              {     
-                systemCommand   = "mkdir " + currentSerieWriteDir;
+                systemCommand   = "mkdir \"" + currentSerieWriteDir + "\"";
                 system( systemCommand.c_str());
                 if (verbose)
                    std::cout <<  "1 " <<systemCommand << std::endl;
@@ -313,23 +313,23 @@ int main(int argc, char *argv[])
              GDCM_NAME_SPACE::Util::ReplaceSpecChar(xCoherentName, rep);
              // --- for write
              if (write || copy)
-             { 
+             {
                 xCoherentWriteDir = currentSerieWriteDir + GDCM_NAME_SPACE::GDCM_FILESEPARATOR+ xCoherentName;
                // if ( ! GDCM_NAME_SPACE::DirList::IsDirectory(xCoherentWriteDir) )
                 {      
-                   systemCommand   = "mkdir " + xCoherentWriteDir;
+                   systemCommand   = "mkdir \"" + xCoherentWriteDir + "\"";
                    system( systemCommand.c_str());
                    if (verbose)
                       std::cout << "2 " << systemCommand << std::endl;       
                 }
             } 
             // --- end for write
-    
-            if (ori) 
+
+            if (ori)
                std::cout << "Orientation : ";
-            else if (pos) 
+            else if (pos)
                std::cout << "Position : ";
-            else if (groupelem != 0)    
+            else if (groupelem != 0)
                std::cout << "Tag (" << std::hex << groupelem[0]
                          << "|" << groupelem[1] << ") value : ";
             std::cout << "[" << (*i).first << "]" << std::endl;
@@ -358,6 +358,11 @@ int main(int argc, char *argv[])
                fileName = (*it2)->GetFileName();
                // --- for write
                lastFilename =  GDCM_NAME_SPACE::Util::GetName( fileName );
+
+               // If you want to create file names of your own, here is the place!
+               // Just replace 'lastFilename' by anything that's better for you.
+               GDCM_NAME_SPACE:: Util::ReplaceSpecChar(lastFilename, replaceChar);
+
                filenameout = xCoherentWriteDir  + GDCM_NAME_SPACE::GDCM_FILESEPARATOR+ lastFilename; 
                if (write)
                {  
@@ -379,7 +384,7 @@ int main(int argc, char *argv[])
                }
                else if (copy)
                {
-                   systemCommand   = "cp " + fileName + " " + filenameout;
+                   systemCommand   = "cp \"" + fileName + "\" \"" + filenameout + "\"";
                    system( systemCommand.c_str());
                }
                if (verbose)