Program: gdcm
Module: $RCSfile: TestSerieHelper.cxx,v $
Language: C++
- Date: $Date: 2005/02/03 10:00:06 $
- Version: $Revision: 1.2 $
+ Date: $Date: 2007/06/21 14:59:06 $
+ Version: $Revision: 1.11 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#include "gdcmDebug.h"
#include <iostream>
-typedef std::list<gdcm::File* > GdcmFileList;
-
int TestSerieHelper(int argc, char *argv[])
{
- gdcm::SerieHelper *s;
+ GDCM_NAME_SPACE::SerieHelper *s;
std::string dirName;
if (argc > 1)
//if (argc > 2)
// gdcm::Debug::DebugOn();
+
std::cout << "Dir Name :[" << dirName << "]" << std::endl;
- s = new gdcm::SerieHelper();
- s->SetDirectory(dirName, true); // true : recursive exploration
- std::cout << " -------------------------------------------Finish parsing :["
+ s = GDCM_NAME_SPACE::SerieHelper::New();
+ s->SetLoadMode(GDCM_NAME_SPACE::LD_ALL); // Load everything for each File
+ //s->AddRestriction(tagKey, valueToCheck); // Keep only files where
+ // restriction is true
+ s->SetDirectory(dirName, true); // true : recursive exploration
+ std::cout << " ---------------------------------------- Finish parsing :["
<< dirName << "]" << std::endl;
s->Print();
- std::cout << " -----------------------------------------Finish printing (1)"
+ std::cout << " ---------------------------------------- Finish printing (1)"
<< std::endl;
int nbFiles;
- // For all the Coherent Files lists of the gdcm::Serie
- GdcmFileList *l = s->GetFirstCoherentFileList();
+ // For all the SingleSerieUID filesets of the gdcm::Serie
+ GDCM_NAME_SPACE::FileList *l = s->GetFirstSingleSerieUIDFileSet();
while (l)
{
nbFiles = l->size() ;
if ( l->size() > 3 ) // Why not ? Just an example, for testing
{
std::cout << "Sort list : " << nbFiles << " long" << std::endl;
- s->OrderGdcmFileList(l); // sort the list
+ s->OrderFileList(l); // sort the list
}
- l = s->GetNextCoherentFileList();
+ l = s->GetNextSingleSerieUIDFileSet();
}
- std::cout << " ----------------------------------------------Finish sorting"
+ std::cout << " -------------------------------------------- Finish sorting"
<< std::endl;
- s->Print(); // Prints all the Coherent Files lists (sorted or not)
- std::cout << " ---------------------------------------------Finish printing"
+ s->Print(); // Prints all the SingleSerieUID filesets (sorted or not)
+ std::cout << " -------------------------------------------- Finish printing"
<< std::endl;
- delete s;
+
+ // Only for the first SingleSerieUID fileset
+ // ( Why not ? Just an example, for testing )
+ // Display all the file names
+
+ std::string fileName;
+ l = s->GetFirstSingleSerieUIDFileSet();
+ for (std::vector<GDCM_NAME_SPACE::File* >::iterator it = l->begin();
+ it != l->end();
+ ++it)
+ {
+ fileName = (*it)->GetFileName();
+ std::cout << fileName << std::endl;
+ // Remark : vtkGdcmReader users can use this loop to AddFileName(fileName)
+ // in the right order
+ }
+
+
+ s->Delete();
return 0;
}