1 /*=========================================================================
4 Module: $RCSfile: TestLoadAllDocumentsNoPrivNoSeq.cxx,v $
6 Date: $Date: 2005/09/22 14:42:37 $
7 Version: $Revision: 1.2 $
9 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
10 l'Image). All rights reserved. See Doc/License.txt or
11 http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notices for more information.
17 =========================================================================*/
19 // TODO : check what's *actually* usefull
21 #include "gdcmDictEntry.h"
23 #include "gdcmDictSet.h"
26 #include "gdcmCommon.h"
27 #include "gdcmBinEntry.h"
28 #include "gdcmDocEntry.h"
29 #include "gdcmDocEntrySet.h"
30 #include "gdcmDocument.h"
31 #include "gdcmElementSet.h"
32 #include "gdcmSeqEntry.h"
33 #include "gdcmSQItem.h"
34 #include "gdcmValEntry.h"
35 #include "gdcmOrientation.h"
38 #include <iomanip> // for std::ios::left, ...
41 #include "gdcmDataImages.h"
43 int TestLoadAllDocumentsNoPrivNoSeq(int, char *[])
45 //std::ostringstream s;
49 std::string pixelType, photomInterp;
51 //l = strlen("PALETTE COLOR ");
52 while( gdcmDataImages[i] != 0 )
54 std::string filename = GDCM_DATA_ROOT;
55 filename += "/"; //doh!
56 filename += gdcmDataImages[i];
58 gdcm::File *f= new gdcm::File( );
59 f->SetFileName( filename );
60 // just to improve coverage
61 f->SetLoadMode (gdcm::LD_NOSEQ|gdcm::LD_NOSHADOW);
67 // just to be able to grep the display result, for some usefull info
69 //s.setf(std::ios::left);
70 //s << std::setw(60-filename.length()) << " ";
71 //std::cout << s.str() << gdcmDataImages[i];
73 std::cout << gdcmDataImages[i];
75 unsigned int nbSpaces;
76 if (strlen(gdcmDataImages[i]) <= 60)
77 nbSpaces = 60-strlen(gdcmDataImages[i]);
80 for (j=0; j<nbSpaces; j++)
83 pixelType = f->GetPixelType();
84 std::cout << " pixelType=" << pixelType;
85 if ( pixelType == "8U" || pixelType == "8S" )
87 std::cout << " Smpl.P.Pix.=" << f->GetSamplesPerPixel()
88 << " Plan.Config.=" << f->GetPlanarConfiguration();
90 photomInterp = f->GetEntryValue(0x0028,0x0004);
91 std::cout << " Photom.Interp.=" << photomInterp;
92 for (j=0; j<l-photomInterp.length(); j++)
95 std::cout << " TransferSyntaxName= [" << f->GetTransferSyntaxName() << "]" ;
97 swapC = f->GetSwapCode();
99 std::cout << " SwapCode = " << f->GetSwapCode();
100 if ( f->CheckIfEntryExist(0x0088,0x0200) )
101 std::cout << " Icon Image Sequence";
103 std::cout << std::endl;
105 std::string strImageOrientationPatient =
106 f->GetEntryValue(0x0020,0x0037);
107 if ( strImageOrientationPatient != gdcm::GDCM_UNFOUND )
110 double orient = o.TypeOrientation( f );
111 std::cout << " ---------------------- Orientation " << orient
115 if( f->IsReadable() )
117 std::cout <<filename << " is Readable"
118 << std::endl << std::endl;
122 std::cout << filename << " is NOT Readable"
123 << std::endl << std::endl;