X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Testing%2FTestPrintAllDocument.cxx;h=5b8db1d62cacd719bbe5f11cdbde9ecaa78567e6;hb=1de7de1607a97c20218451b8d8269c1e0ea132b2;hp=7325f9c35e98384dab432e5eff23674f82875875;hpb=577f36c1b267196a8bdaf33be0ce9a7322af2e88;p=gdcm.git diff --git a/Testing/TestPrintAllDocument.cxx b/Testing/TestPrintAllDocument.cxx index 7325f9c3..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/07/21 04:51:26 $ - Version: $Revision: 1.5 $ + 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,59 +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( ); - e1->SetFileName( filename ); - e1->Load(); + GDCM_NAME_SPACE::File *f= GDCM_NAME_SPACE::File::New( ); + f->SetFileName( filename ); + f->Load(); - e1->SetPrintLevel(2); - e1->Print(); - // just to be able to grep the display result, for some usefull info - + 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;