X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Example%2FMakeDicomDir.cxx;h=2fc7051e17dea5693e1f34db09c39649bce0e4df;hb=548629d72ad2d560c5684e66d34aa9f3e4e50927;hp=bb97ae6b2a66609fcaaf2e15a40d0174c430e892;hpb=6b51b22366f878e1050c75a6ebb755bd2ff365c7;p=gdcm.git diff --git a/Example/MakeDicomDir.cxx b/Example/MakeDicomDir.cxx index bb97ae6b..2fc7051e 100644 --- a/Example/MakeDicomDir.cxx +++ b/Example/MakeDicomDir.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: MakeDicomDir.cxx,v $ Language: C++ - Date: $Date: 2005/10/25 14:52:26 $ - Version: $Revision: 1.16 $ + Date: $Date: 2006/01/26 15:52:42 $ + Version: $Revision: 1.20 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -24,24 +24,12 @@ #include -// --- -void StartMethod(void *toto) { - (void)toto; - std::cout<<"Start parsing"<ArgMgrGetString("dirName",(char *)"."); + const char *dirName; + dirName = am->ArgMgrGetString("dirName","."); + const char *name; + name = am->ArgMgrGetString("name","DICOMDIR"); + int loadMode = gdcm::LD_ALL; if ( am->ArgMgrDefined("noshadowseq") ) - loadMode |= gdcm::LD_NOSHADOWSEQ; + loadMode |= gdcm::LD_NOSHADOWSEQ; else { if ( am->ArgMgrDefined("noshadow") ) @@ -86,7 +80,9 @@ int main(int argc, char *argv[]) if (am->ArgMgrDefined("debug")) gdcm::Debug::DebugOn(); - + + int check = am->ArgMgrDefined("check"); + // if unused Param we give up if ( am->ArgMgrPrintUnusedLabels() ) { @@ -94,7 +90,7 @@ int main(int argc, char *argv[]) delete am; return 0; } - + delete am; // we don't need Argument Manager any longer // ----- Begin Processing ----- @@ -105,14 +101,14 @@ int main(int argc, char *argv[]) dcmdir = gdcm::DicomDir::New( ); - dcmdir->SetStartMethod(StartMethod); - dcmdir->SetEndMethod(EndMethod); - dcmdir->SetLoadMode(loadMode); dcmdir->SetDirectoryName(dirName); //dcmdir->SetParseDir(true); dcmdir->Load(); + if ( gdcm::Debug::GetDebugFlag() ) + std::cout << "======================= End Parsing Directory" << std::endl; + // ----- Check the result if ( !dcmdir->GetFirstPatient() ) @@ -125,35 +121,44 @@ int main(int argc, char *argv[]) // ----- Create the corresponding DicomDir - dcmdir->Write("NewDICOMDIR"); + dcmdir->Write(name); dcmdir->Delete(); - - // Read from disc the just written DicomDir - gdcm::DicomDir *newDicomDir = gdcm::DicomDir::New(); - newDicomDir->SetFileName( "NewDICOMDIR" ); - newDicomDir->Load(); - if( !newDicomDir->IsReadable() ) + + if (check) { - std::cout<<" Written DicomDir 'NewDICOMDIR'" - <<" is not readable"<Delete(); - return 1; - } - - if( !newDicomDir->GetFirstPatient() ) - { - std::cout<<" Written DicomDir 'NewDICOMDIR'" - <<" has no patient"<Delete(); - return(1); + // Read from disc the just written DicomDir + + gdcm::DicomDir *newDicomDir = gdcm::DicomDir::New(); + newDicomDir->SetFileName( name ); + newDicomDir->Load(); + if ( gdcm::Debug::GetDebugFlag() ) + std::cout << "======================= End Parsing DICOMDIR" + << std::endl; + if( !newDicomDir->IsReadable() ) + { + std::cout<<" Written DicomDir [" << name << "] " + <<" is not readable"<Delete(); + return 1; + } + + if( !newDicomDir->GetFirstPatient() ) + { + std::cout <<" Written DicomDir [" << name << "] " + <<" has no patient"<Delete(); + return(1); + } + std::cout<Delete(); } - - std::cout<Delete(); return 0; }