From 4552d4ee18f3234af4e037e77abf0622c2702004 Mon Sep 17 00:00:00 2001 From: jpr Date: Wed, 20 Apr 2011 14:06:50 +0000 Subject: [PATCH] Allow strange file names --- Example/SplitIntoDirectories.cxx | 16 +++++++++------- Example/SplitIntoXCoherentDirectories.cxx | 12 ++++++------ ...litIntoXCoherentDirectoriesIgnoreSerieUID.cxx | 12 ++++++------ 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/Example/SplitIntoDirectories.cxx b/Example/SplitIntoDirectories.cxx index 4632f69a..dc7b5db6 100755 --- a/Example/SplitIntoDirectories.cxx +++ b/Example/SplitIntoDirectories.cxx @@ -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; diff --git a/Example/SplitIntoXCoherentDirectories.cxx b/Example/SplitIntoXCoherentDirectories.cxx index 32829478..e8c45cd1 100755 --- a/Example/SplitIntoXCoherentDirectories.cxx +++ b/Example/SplitIntoXCoherentDirectories.cxx @@ -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 " <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(); -- 2.45.0