X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Testing%2FTestPrintAllDocument.cxx;h=5b8db1d62cacd719bbe5f11cdbde9ecaa78567e6;hb=1e66f7398c38a3d71b480e0297e29636ea6e1c1b;hp=fb2b178f1f82be1ab04c8b66792bf1e6b380463a;hpb=8adea4f1eb28ca3e16edc2e9af126ca5bf9b722d;p=gdcm.git diff --git a/Testing/TestPrintAllDocument.cxx b/Testing/TestPrintAllDocument.cxx index fb2b178f..5b8db1d6 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/06/08 04:01:41 $ - Version: $Revision: 1.3 $ + Date: $Date: 2007/06/22 11:01:58 $ + Version: $Revision: 1.17 $ 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::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]; - unsigned int j; - 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(); - if (swapC != 1234) - std::cout << " SwapCode = " << e1->GetSwapCode(); - if ( e1->CheckIfEntryExist(0x0088,0x0200) ) + std::cout << " TransferSyntaxName= [" << f->GetTransferSyntaxName() << "]" ; + + swapC = f->GetSwapCode(); + if ( swapC != 1234 ) + 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;