]> Creatis software - gdcm.git/commitdiff
Fix strange names
authorjpr <jpr>
Fri, 22 Apr 2011 14:39:41 +0000 (14:39 +0000)
committerjpr <jpr>
Fri, 22 Apr 2011 14:39:41 +0000 (14:39 +0000)
Example/SplitIntoDirectories.cxx
Example/SplitIntoXCoherentDirectories.cxx
Example/SplitIntoXCoherentDirectoriesIgnoreSerieUID.cxx

index b644f3d332f4ba01a94a77224d2665ff3ecda134..31c4aab46bbde700adbeb318658780f52879a948 100755 (executable)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: SplitIntoDirectories.cxx,v $
   Language:  C++
-  Date:      $Date: 2011/04/22 13:50:09 $
-  Version:   $Revision: 1.9 $
+  Date:      $Date: 2011/04/22 14:39:41 $
+  Version:   $Revision: 1.10 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -352,8 +352,9 @@ int main(int argc, char *argv[])
       ///this is a trick to build up a lexicographical compliant name :
       ///     eg : fich001.ima vs fich100.ima as opposed to fich1.ima vs fich100.ima
       std::string name = GDCM_NAME_SPACE::Util::GetName( *it );
-      if (verbose)
-         std::cout << "name :[" << name << "]\n";
+
+     // if (verbose)
+     //    std::cout << "name :[" << name << "]\n";
 
       if (hasSkel)
       {
index e8c45cd1517b7f5655de20c64c01de6231b6f6c2..8223ca0296e47cc13edf759a2c6c66706e58246f 100755 (executable)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: SplitIntoXCoherentDirectories.cxx,v $
   Language:  C++
-  Date:      $Date: 2011/04/20 14:06:50 $
-  Version:   $Revision: 1.6 $
+  Date:      $Date: 2011/04/22 14:39:41 $
+  Version:   $Revision: 1.7 $
  
   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();
@@ -358,6 +359,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 +385,7 @@ int main(int argc, char *argv[])
                }
                else if (copy)
                {
-                   systemCommand   = "cp \"" + fileName + "\" " + filenameout + "\"";
+                   systemCommand   = "cp \"" + fileName + "\" \"" + filenameout + "\"";
                    system( systemCommand.c_str());
                }
                if (verbose)
index d6ceea02b4446a3ffcaa3a9d1bb25de434ae68f2..02845defbfc73f53ae88792dcb41ccb041aec75a 100755 (executable)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: SplitIntoXCoherentDirectoriesIgnoreSerieUID.cxx,v $
   Language:  C++
-  Date:      $Date: 2011/04/20 14:06:50 $
-  Version:   $Revision: 1.4 $
+  Date:      $Date: 2011/04/22 14:39:41 $
+  Version:   $Revision: 1.5 $
  
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -30,13 +30,13 @@ int main(int argc, char *argv[])
    START_USAGE(usage)
    "\n SplitIntoCoherentFileSetIgnoreSerieUID :\n                             ",
    "Shows the various 'XCoherent' Filesets within a directory                 ",
-   "Optionaly copis the images in a Directories tree                          ",
+   "Optionaly copies the images in a Directories tree                          ",
    "usage: SplitIntoCoherentFileSetIgnoreSerieUID{dirin=inputDirectoryName}   ",
    "                           dirout=outputDirectoryName                     ",
    "                       { tag=group-elem | pos | ori } [sort]              ",
    "                       [{ write | copy }]                                 ",
    "                       [ { [noshadowseq] | [noshadow][noseq] } ] [debug]  ",
-   "  [studyUID = ]                                                           ",
+   "                       [studyUID = ]                                                           ",
    "       dirin : user wants to analyze *all* the files                      ",
    "                            within the directory                          ",
    "       write : user wants to create directories                           ",
@@ -143,13 +143,14 @@ int main(int argc, char *argv[])
 
    GDCM_NAME_SPACE::SerieHelper *s;  
    s = GDCM_NAME_SPACE::SerieHelper::New();
-   
+
    GDCM_NAME_SPACE::File *f;
    
    GDCM_NAME_SPACE::DirList dirlist(dirName, true); // recursive exploration
    GDCM_NAME_SPACE::DirListType fileNames = dirlist.GetFilenames();
-
    GDCM_NAME_SPACE::FileList *l = new GDCM_NAME_SPACE::FileList;
+
+   std::string replaceChar("_");
 // Loop on all the gdcm-readable files
    for (GDCM_NAME_SPACE::DirListType::iterator it = fileNames.begin();
                                     it != fileNames.end();
@@ -165,7 +166,6 @@ int main(int argc, char *argv[])
       l->push_back(f);
    }
 
-
 /* ===========================================================================================*/
    std::string systemCommand;
    std::string filenameout;
@@ -288,7 +288,7 @@ int main(int argc, char *argv[])
          {
             xCoherentName = (*i).first;
             if (verbose)
-               std::cout << "xCoherentName = " << xCoherentName << std::endl;
+               std::cout << "==========================================xCoherentName = " << xCoherentName << std::endl;
              GDCM_NAME_SPACE::Util::ReplaceSpecChar(xCoherentName, rep);
              // --- for write
              if (write)
@@ -336,8 +336,17 @@ int main(int argc, char *argv[])
                controlCount ++;
                fileName = (*it2)->GetFileName();
                std::cout << "    " << fileName << std::endl;
-    
-               // --- 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; 
+                  //systemCommand   = "cp \"" + fileName + " \"" + filenameout;
+                  //system( systemCommand.c_str());
+              // --- for write
                if (write)
                {  
                   fh = GDCM_NAME_SPACE::FileHelper::New( (*it2) );
@@ -347,11 +356,6 @@ int main(int argc, char *argv[])
                   uint8_t *imageData = fh->GetImageDataRaw();// somewhat important : Loads the Pixels in memory !
                   if (!imageData)
                      std::cout << "fail to read [" << (*it2)->GetFileName() << std::endl;
-                  lastFilename =  GDCM_NAME_SPACE::Util::GetName( fileName );
-                  filenameout = xCoherentWriteDir  + GDCM_NAME_SPACE::GDCM_FILESEPARATOR+ lastFilename; 
-                  //systemCommand   = "cp \"" + fileName + " \"" + filenameout;
-                  //system( systemCommand.c_str());
-
                   fh->SetWriteTypeToDcmExplVR();
                   fh->SetContentType(GDCM_NAME_SPACE::UNMODIFIED_PIXELS_IMAGE);
                   if (!fh->Write(filenameout))
@@ -362,9 +366,9 @@ int main(int argc, char *argv[])
                   if (verbose)
                      std::cout << "3 " << systemCommand << std::endl;
                   fh->Delete();
-                }
+           }
                // --- end for write
-            } 
+            }
             std::cout << std::endl;
          }
       }