X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Testing%2FTestMakeDicomDir.cxx;h=0aa1ecc91b126aeecf313d12bb64841d06bcf97e;hb=953a565e5b6e7364c9c2130658ef464cfe07ba8d;hp=f73b0e49ad2c795537d38235de4ead2aee633c9e;hpb=b19adc9e0168b80e420811c89a93dc114493033c;p=gdcm.git diff --git a/Testing/TestMakeDicomDir.cxx b/Testing/TestMakeDicomDir.cxx index f73b0e49..0aa1ecc9 100644 --- a/Testing/TestMakeDicomDir.cxx +++ b/Testing/TestMakeDicomDir.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: TestMakeDicomDir.cxx,v $ Language: C++ - Date: $Date: 2005/02/02 10:41:10 $ - Version: $Revision: 1.1 $ + Date: $Date: 2005/10/25 14:52:31 $ + Version: $Revision: 1.10 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -47,7 +47,7 @@ void EndMethod(void *endMethod) int TestMakeDicomDir(int argc, char *argv[]) { -// gdcm::Debug::DebugOn(); + //gdcm::Debug::DebugOn(); std::string dirName; if (argc > 1) @@ -58,11 +58,19 @@ int TestMakeDicomDir(int argc, char *argv[]) { dirName = GDCM_DATA_ROOT; } + + gdcm::DicomDir *dcmdir; - // we ask for Directory parsing - gdcm::DicomDir *dcmdir = new gdcm::DicomDir(dirName, true); + // new style (user is allowed no to load Sequences an/or Shadow Groups) + dcmdir = gdcm::DicomDir::New( ); + + // dcmdir->SetLoadMode(gdcm::LD_NOSEQ | gdcm::LD_NOSHADOW); + // some images have a wrong length for element 0x0000 of private groups + dcmdir->SetLoadMode(gdcm::LD_NOSEQ); + dcmdir->SetDirectoryName(dirName); + dcmdir->Load( ); - dcmdir->SetStartMethod(StartMethod, (void *) NULL); + dcmdir->SetStartMethod(StartMethod); dcmdir->SetEndMethod(EndMethod); if ( !dcmdir->GetFirstPatient() ) @@ -70,23 +78,26 @@ int TestMakeDicomDir(int argc, char *argv[]) std::cout << "makeDicomDir: no patient found. Exiting." << std::endl; - delete dcmdir; + dcmdir->Delete(); return 1; } // Create the corresponding DicomDir - dcmdir->WriteDicomDir("NewDICOMDIR"); - delete dcmdir; + dcmdir->Write("NewDICOMDIR"); + dcmdir->Delete(); // Read from disc the just written DicomDir - gdcm::DicomDir *newDicomDir = new gdcm::DicomDir("NewDICOMDIR"); + gdcm::DicomDir *newDicomDir = gdcm::DicomDir::New(); + newDicomDir->SetFileName("NewDICOMDIR"); + newDicomDir->Load(); + if( !newDicomDir->IsReadable() ) { std::cout<<" Written DicomDir 'NewDICOMDIR'" <<" is not readable"<Delete(); return 1; } @@ -96,12 +107,11 @@ int TestMakeDicomDir(int argc, char *argv[]) <<" has no patient"<Delete(); return(1); } std::cout<Delete(); return 0; }