]> Creatis software - gdcm.git/commitdiff
Allow strange file names
authorjpr <jpr>
Wed, 20 Apr 2011 14:06:50 +0000 (14:06 +0000)
committerjpr <jpr>
Wed, 20 Apr 2011 14:06:50 +0000 (14:06 +0000)
Example/SplitIntoDirectories.cxx
Example/SplitIntoXCoherentDirectories.cxx
Example/SplitIntoXCoherentDirectoriesIgnoreSerieUID.cxx

index 4632f69ad407157e436147a3a024a7334b646984..dc7b5db61979c2a6e7a2556c3fb544960f01f0b2 100755 (executable)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: SplitIntoDirectories.cxx,v $
   Language:  C++
-  Date:      $Date: 2011/04/20 11:14:48 $
-  Version:   $Revision: 1.6 $
+  Date:      $Date: 2011/04/20 14:06:50 $
+  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
@@ -354,8 +354,8 @@ 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 );
-
-      std::cout << "name :[" << name << "]\n";
+      if (verbose)
+         std::cout << "name :[" << name << "]\n";
 
       if (hasSkel)
       {
@@ -435,11 +435,11 @@ int main(int argc, char *argv[])
       GDCM_NAME_SPACE::Util::Tokenize (it2->first, tokens, token);
       
       currentPatientName            = tokens[IND_PatientName];
-      currentStudyInstanceUID       = tokens[IND_StudyInstanceUID];      
+      currentStudyInstanceUID       = tokens[IND_StudyInstanceUID];     
       currentSerieInstanceUID       = tokens[IND_SerieInstanceUID];
       currentSerieDescription       = tokens[IND_SerieDescription];
       currentSerieNumber            = tokens[IND_SerieNumber];
-             
+
       if (previousPatientName != currentPatientName)
       {  
          previousPatientName = currentPatientName;
@@ -487,7 +487,9 @@ int main(int argc, char *argv[])
          if (seriedescr) // more human readable!
             currentSerieWriteDir  = currentStudyWriteDir + GDCM_NAME_SPACE::GDCM_FILESEPARATOR
                                   + currentSerieDescription + "_" + currentSerieNumber
-                                  + "_" + currentSerieInstanceUID;
+                                  /*+ "_" + currentSerieInstanceUID */
+                                  ;
+
          else
             currentSerieWriteDir  = currentStudyWriteDir + GDCM_NAME_SPACE::GDCM_FILESEPARATOR
                                   + currentSerieInstanceUID;         
index 32829478b1c3734edd9035bd883f429fddcb88e8..e8c45cd1517b7f5655de20c64c01de6231b6f6c2 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/04/20 14:06:50 $
+  Version:   $Revision: 1.6 $
  
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -188,7 +188,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());
@@ -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;
@@ -317,7 +317,7 @@ int main(int argc, char *argv[])
                 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;       
@@ -379,7 +379,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 992b53c0c3158967f88a83afd859e2c260f4cadd..d6ceea02b4446a3ffcaa3a9d1bb25de434ae68f2 100755 (executable)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: SplitIntoXCoherentDirectoriesIgnoreSerieUID.cxx,v $
   Language:  C++
-  Date:      $Date: 2011/03/29 07:35:58 $
-  Version:   $Revision: 1.3 $
+  Date:      $Date: 2011/04/20 14:06:50 $
+  Version:   $Revision: 1.4 $
  
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -176,7 +176,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());
@@ -256,7 +256,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;
@@ -296,7 +296,7 @@ int main(int argc, char *argv[])
                 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;       
@@ -349,7 +349,7 @@ int main(int argc, char *argv[])
                      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;
+                  //systemCommand   = "cp \"" + fileName + " \"" + filenameout;
                   //system( systemCommand.c_str());
 
                   fh->SetWriteTypeToDcmExplVR();