]> Creatis software - gdcm.git/blob - Example/PrintHeader.cxx
* src/gdcmDocument.cxx ftell() return properly stored in a long (i.e.
[gdcm.git] / Example / PrintHeader.cxx
1 #include <iostream>
2 #include "gdcm.h"
3
4 int main(int argc, char* argv[])
5
6    std::string fileName;   
7
8    if (argc == 1)
9    {
10       std::cout << argv[0] << " fileName" << std::endl;
11    }
12
13    if (argc > 1)
14    {
15       fileName=argv[1];
16    }
17    else
18    {
19       fileName += GDCM_DATA_ROOT;
20       fileName += "/test.acr";
21    }
22    
23    gdcm::File *e2 = new gdcm::File( fileName.c_str() );
24    gdcm::Header *e1 = e2->GetHeader();  
25         
26    if (argc > 2) {
27       int level = atoi(argv[2]);   
28       e1->SetPrintLevel(level);
29    }
30
31   e1->Print();   
32       
33   std::cout << "\n\n" << std::endl; 
34   
35   if ( e1->GetEntryByNumber(0x0002,0x0010) == GDCM_NOTLOADED ) {
36      std::cout << "Transfert Syntax not loaded. " << std::endl
37                << "Better you increase MAX_SIZE_LOAD_ELEMENT_VALUE"
38                << std::endl;
39      return 0;
40   }
41       
42   std::string transferSyntaxName = e1->GetTransfertSyntaxName();
43   std::cout << " TransferSyntaxName= [" << transferSyntaxName << "]" << std::endl;
44    
45    if (  transferSyntaxName != "Implicit VR - Little Endian"
46       && transferSyntaxName != "Explicit VR - Little Endian"     
47       && transferSyntaxName != "Deflated Explicit VR - Little Endian"      
48       && transferSyntaxName != "Explicit VR - Big Endian"
49       && transferSyntaxName != "Uncompressed ACR-NEMA" )
50   {
51   std::cout << std::endl << "==========================================="
52                   << std::endl; 
53         e2->GetPixelConverter()->Print();
54   std::cout << std::endl << "==========================================="
55                   << std::endl; 
56   }
57    
58    if(e1->IsReadable())
59       std::cout <<std::endl<<fileName<<" is Readable"<<std::endl;
60    else
61       std::cout <<std::endl<<fileName<<" is NOT Readable"<<std::endl;
62    std::cout<<std::flush;
63    delete e1;
64
65    return 0;
66    
67 }