1 /*=========================================================================
4 Module: $RCSfile: TestSerieHelper.cxx,v $
6 Date: $Date: 2008/09/15 15:49:21 $
7 Version: $Revision: 1.13 $
9 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
10 l'Image). All rights reserved. See Doc/License.txt or
11 http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notices for more information.
17 =========================================================================*/
18 #include "gdcmSerieHelper.h"
20 #include "gdcmDebug.h"
23 int TestSerieHelper(int argc, char *argv[])
25 GDCM_NAME_SPACE::SerieHelper *s;
32 dirName = GDCM_DATA_ROOT;
36 // GDCM_NAME_SPACE::Debug::DebugOn();
39 std::cout << "-------------- Dir Name :[" << dirName << "]" << std::endl;
41 s = GDCM_NAME_SPACE::SerieHelper::New();
42 s->SetLoadMode(GDCM_NAME_SPACE::LD_ALL); // Load everything for each File
43 //s->AddRestriction(tagKey, valueToCheck); // Keep only files where
44 // restriction is true
45 s->SetDirectory(dirName, true); // true : recursive exploration
46 std::cout << " ---------------------------------------- Finish parsing :["
47 << dirName << "]" << std::endl;
50 std::cout << " ---------------------------------------- Finish printing (1)"
54 // For all the SingleSerieUID filesets of the GDCM_NAME_SPACE::Serie
55 GDCM_NAME_SPACE::FileList *l = s->GetFirstSingleSerieUIDFileSet();
59 if ( l->size() > 3 ) // Why not ? Just an example, for testing
61 std::cout << "Sort list : " << nbFiles << " long" << std::endl;
62 s->OrderFileList(l); // sort the list
64 l = s->GetNextSingleSerieUIDFileSet();
66 std::cout << " -------------------------------------------- Finish sorting"
68 s->Print(); // Prints all the SingleSerieUID filesets (sorted or not)
69 std::cout << " -------------------------------------------- Finish printing"
73 // Only for the first SingleSerieUID fileset
74 // ( Why not ? Just an example, for testing )
75 // Display all the file names
78 l = s->GetFirstSingleSerieUIDFileSet();
79 for (std::vector<GDCM_NAME_SPACE::File* >::iterator it = l->begin();
83 fileName = (*it)->GetFileName();
84 std::cout << fileName << std::endl;
85 // Remark : vtkGdcmReader users can use this loop to AddFileName(fileName)