X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Testing%2FTestPrintAllDocument.cxx;h=23d5e817bc20dd66275112377a71364bd90a65b0;hb=4552d4ee18f3234af4e037e77abf0622c2702004;hp=1ef573842d12efe475b28ee2392ad6bacf7d5363;hpb=27c37e95b55fb51d7f8de13bebac4f299d487c17;p=gdcm.git diff --git a/Testing/TestPrintAllDocument.cxx b/Testing/TestPrintAllDocument.cxx index 1ef57384..23d5e817 100644 --- a/Testing/TestPrintAllDocument.cxx +++ b/Testing/TestPrintAllDocument.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: TestPrintAllDocument.cxx,v $ Language: C++ - Date: $Date: 2005/07/05 18:47:38 $ - Version: $Revision: 1.4 $ + Date: $Date: 2008/09/15 15:49:21 $ + Version: $Revision: 1.18 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -24,15 +24,13 @@ #include "gdcmFile.h" #include "gdcmUtil.h" #include "gdcmCommon.h" -#include "gdcmBinEntry.h" #include "gdcmDocEntry.h" #include "gdcmDocEntrySet.h" #include "gdcmDocument.h" #include "gdcmElementSet.h" #include "gdcmSeqEntry.h" #include "gdcmSQItem.h" -#include "gdcmValEntry.h" - +#include "gdcmOrientation.h" #include #include #include // for std::ios::left, ... @@ -40,56 +38,93 @@ //Generated file: #include "gdcmDataImages.h" -int TestPrintAllDocument(int, char *[]) +int TestPrintAllDocument(int argc, char *argv[]) { //std::ostringstream s; int i = 0; int swapC; unsigned int j; std::string pixelType, photomInterp; - int l; + unsigned int l; l = strlen("PALETTE COLOR "); + + //GDCM_NAME_SPACE::Debug::DebugOn(); + while( gdcmDataImages[i] != 0 ) { - std::string filename = GDCM_DATA_ROOT; - filename += "/"; //doh! - filename += gdcmDataImages[i]; + std::string filename; + if (argc ==2) + { + filename = argv[1]; + } + else + { + filename = GDCM_DATA_ROOT; + filename += "/"; //doh! + filename += gdcmDataImages[i]; + } + + std::cout << " ----------------------------------------------" + << "Begin with " << filename << std::endl; - gdcm::File *e1= new gdcm::File( filename ); - e1->SetPrintLevel(2); - e1->Print(); - // just to be able to grep the display result, for some usefull info - + GDCM_NAME_SPACE::File *f= GDCM_NAME_SPACE::File::New( ); + f->SetFileName( filename ); + f->Load(); + + f->SetPrintLevel(2); + f->Print(); + //s.setf(std::ios::left); //s << std::setw(60-filename.length()) << " "; //std::cout << s.str() << gdcmDataImages[i]; std::cout << gdcmDataImages[i]; - for (j=0; j<60-strlen(gdcmDataImages[i]); j++) + + unsigned int nbSpaces; + if (strlen(gdcmDataImages[i]) <= 60) + nbSpaces = 60-strlen(gdcmDataImages[i]); + else + nbSpaces = 0; + for (j=0; jGetPixelType(); + pixelType = f->GetPixelType(); std::cout << " pixelType=" << pixelType; if ( pixelType == "8U" || pixelType == "8S" ) std::cout << " "; - std::cout << " Smpl.P.Pix.=" << e1->GetSamplesPerPixel() - << " Plan.Config.=" << e1->GetPlanarConfiguration(); - photomInterp = e1->GetEntryValue(0x0028,0x0004); - - std::cout << " Photom.Interp.=" << photomInterp; - for (j=0; j photomInterp.length()) + for (j=0; jGetTransferSyntaxName() << "]" ; - swapC = e1->GetSwapCode(); + std::cout << " TransferSyntaxName= [" << f->GetTransferSyntaxName() << "]" ; + + swapC = f->GetSwapCode(); if ( swapC != 1234 ) - std::cout << " SwapCode = " << e1->GetSwapCode(); - if ( e1->CheckIfEntryExist(0x0088,0x0200) ) + std::cout << " SwapCode = " << f->GetSwapCode(); + if ( f->CheckIfEntryExist(0x0088,0x0200) ) std::cout << " Icon Image Sequence"; - std::cout << std::endl; - - if( e1->IsReadable() ) + std::cout << std::endl; + + std::string strImageOrientationPatient = + f->GetEntryString(0x0020,0x0037); + if ( strImageOrientationPatient != GDCM_NAME_SPACE::GDCM_UNFOUND ) + { + GDCM_NAME_SPACE::Orientation *o = GDCM_NAME_SPACE::Orientation::New(); + + GDCM_NAME_SPACE::OrientationType orient = o->GetOrientationType( f ); + std::cout << " ---------------------- Orientation " << orient + << std::endl; + o->Delete(); + } + + if( f->IsReadable() ) { std::cout <Delete(); return 1; } - - delete e1; + f->Delete(); + + if (argc ==2) + break; // user asked to check a single file. + i++; } return 0;