Program: gdcm
Module: $RCSfile: TestPrintAllDocument.cxx,v $
Language: C++
- Date: $Date: 2005/07/21 04:51:26 $
- Version: $Revision: 1.5 $
+ Date: $Date: 2006/04/07 10:58:51 $
+ Version: $Revision: 1.13 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#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 <fstream>
#include <iostream>
#include <iomanip> // for std::ios::left, ...
//Generated file:
#include "gdcmDataImages.h"
-int TestPrintAllDocument(int, char *[])
+int TestPrintAllDocument(int argc, char *argv[])
{
//std::ostringstream s;
int i = 0;
std::string pixelType, photomInterp;
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::File *f= gdcm::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; j<nbSpaces; j++)
std::cout << " ";
- pixelType = e1->GetPixelType();
+ 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 << " Smpl.P.Pix.=" << f->GetSamplesPerPixel()
+ << " Plan.Config.=" << f->GetPlanarConfiguration();
+
+ photomInterp = f->GetEntryString(0x0028,0x0004);
std::cout << " Photom.Interp.=" << photomInterp;
for (j=0; j<l-photomInterp.length(); j++)
std::cout << " ";
- std::cout << " TransferSyntaxName= [" << e1->GetTransferSyntaxName() << "]" ;
- 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::GDCM_UNFOUND )
+ {
+ gdcm::Orientation *o = gdcm::Orientation::New();
+
+ gdcm::OrientationType orient = o->GetOrientationType( f );
+ std::cout << " ---------------------- Orientation " << orient
+ << std::endl;
+ o->Delete();
+ }
+
+ if( f->IsReadable() )
{
std::cout <<filename << " is Readable"
<< std::endl << std::endl;
{
std::cout << filename << " is NOT Readable"
<< std::endl << std::endl;
- delete e1;
+ f->Delete();
return 1;
}
-
- delete e1;
+ f->Delete();
+
+ if (argc ==2)
+ break; // user asked to check a single file.
+
i++;
}
return 0;