]> Creatis software - gdcm.git/commitdiff
EMH: *Add PrintAllDocument, dog slow right now
authormalaterre <malaterre>
Fri, 25 Jun 2004 03:06:37 +0000 (03:06 +0000)
committermalaterre <malaterre>
Fri, 25 Jun 2004 03:06:37 +0000 (03:06 +0000)
*Moved PrintDocument as example instead
* vtkGdcmReader was free'ing instead of delete[]'ing
* 3'tabulify ShowDicom / PrintAllDocument
* Minor comments for -W -Wall compilation

Example/CMakeLists.txt
Example/PrintDocument.cxx [new file with mode: 0644]
Testing/CMakeLists.txt
src/gdcmElementSet.cxx
src/gdcmSQItem.cxx
vtk/vtkGdcmReader.cxx

index 59525c6752887ebb792f1cdd9e48e07cd7aa76e5..0111b05aa8c51903593a0f41552b93d7d71959e3 100644 (file)
@@ -10,3 +10,6 @@ INCLUDE_DIRECTORIES(
 
 ADD_EXECUTABLE(WriteDicom WriteDicom.cxx)
 TARGET_LINK_LIBRARIES(WriteDicom gdcm)
+
+ADD_EXECUTABLE(PrintDocument PrintDocument.cxx)
+TARGET_LINK_LIBRARIES(PrintDocument gdcm)
diff --git a/Example/PrintDocument.cxx b/Example/PrintDocument.cxx
new file mode 100644 (file)
index 0000000..d031496
--- /dev/null
@@ -0,0 +1,104 @@
+#include <iostream>
+
+#include "gdcmException.h"
+#include "gdcmCommon.h"
+
+#include "gdcmDictEntry.h"
+#include "gdcmDict.h"
+#include "gdcmDictSet.h"
+#include "gdcmHeader.h"
+#include "gdcmUtil.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" 
+
+int main(int argc, char* argv[])
+{
+//   gdcmFile *e2;
+   gdcmHeader *e1;
+   bool dropPriv = false;
+   bool showSeq  = true; 
+   bool niou     = false;  
+   std::string fileName;   
+
+   if (argc == 1) {
+      std::cout << argv[0] <<
+      " fileName" << std::endl <<
+      "    [nopriv]  if you don't want to print Shadow groups"  << std::endl <<
+      "    [noseq]   if you don't want to 'go inside' the SQ's" << std::endl <<
+      "    [new]     if you want a 'SeQuence indented' printing"<< std::endl;
+   }   
+
+   if (argc > 1) {
+      fileName=argv[1];
+   } else {
+      fileName += GDCM_DATA_ROOT;
+      fileName += "/test.acr";
+   }
+   
+   for (int j=0;j<argc;j++) {
+      if (strcmp(argv[j],"nopriv")==0)
+         dropPriv=true;
+      else if (strcmp(argv[j],"noseq")==0)
+         showSeq=false;
+      else if (strcmp(argv[j],"new")==0)
+         niou = true;   
+   }
+   
+   //e2 = new gdcmFile(fileName.c_str(),false, showSeq, dropPriv);
+   //e1 = e2->GetHeader();
+    
+   e1= new gdcmHeader 
+       (fileName.c_str(),
+       false, showSeq,
+       dropPriv);
+       
+//   if (argc > 2) {
+//      int level = atoi(argv[2]);   
+//      e1->SetPrintLevel(level);
+//   }
+
+e1->SetPrintLevel(2);
+
+   //if (! niou) 
+   //   e1->Print();   
+   //else if (showSeq)
+   //   e1->PrintNiceSQ();
+   //else
+   //   e1->PrintNoSQ();
+   
+  e1->Print();
+      
+  std::cout << "\n\n" << std::endl;      
+  std::string transferSyntaxName = e1->GetTransfertSyntaxName();
+  std::cout << " TransferSyntaxName= [" << transferSyntaxName << "]" << std::endl;
+   
+   if (  transferSyntaxName != "Implicit VR - Little Endian"
+      && transferSyntaxName != "Explicit VR - Little Endian"     
+      && transferSyntaxName != "Deflated Explicit VR - Little Endian"      
+      && transferSyntaxName != "Explicit VR - Big Endian"
+      && transferSyntaxName != "Uncompressed ACR-NEMA"     )
+  {
+       std::cout << std::endl << "==========================================="
+                  << std::endl; 
+        //e2->ParsePixelData();
+       std::cout << std::endl << "==========================================="
+                  << std::endl; 
+   }         
+   
+   if(e1->IsReadable())
+      std::cout <<std::endl<<fileName<<" is Readable"<<std::endl;
+   else
+      std::cout <<std::endl<<fileName<<" is NOT Readable"<<std::endl;
+   std::cout<<std::flush;
+   delete e1;
+
+   return 0;
+   
+}
index 39574bd023eaec48e79f040a2e6d82fdca0e107b..03a2335f75b39e691a68f4c4cd3baa0a811ba0ab 100644 (file)
@@ -19,7 +19,7 @@ SET(TEST_SOURCES
 IF (GDCM_DATA_ROOT)
   SET(TEST_SOURCES ${TEST_SOURCES}     
     #PrintHeader.cxx       #require test.acr
-    PrintDocument.cxx     #require test.acr
+    PrintAllDocument.cxx     #require test.acr
     PrintDicomDir.cxx
     TestFindTags.cxx
     TestChangeHeader.cxx
index 50e40f35769cc1c58b3c615d0a75f3b5daf06832..18af6a70ac952a6dfe3980caadb950ab63ad0815 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmElementSet.cxx,v $
   Language:  C++
-  Date:      $Date: 2004/06/23 13:02:36 $
-  Version:   $Revision: 1.13 $
+  Date:      $Date: 2004/06/25 03:06:38 $
+  Version:   $Revision: 1.14 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -69,7 +69,10 @@ void gdcmElementSet::Print(std::ostream & os)
       Entry->Print(os);   
       bool PrintEndLine = true;
       if ( gdcmSeqEntry* SeqEntry = dynamic_cast<gdcmSeqEntry*>(Entry) )
+      {
+         (void)SeqEntry;  //not used
          PrintEndLine = false;
+      }
       if (PrintEndLine)
          os << std::endl;
    } 
index 417093d03ce42351cf21bda9114e74fc4fe569ce..6be77d727a24901a2cf3537649ee26bd74fbff26 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmSQItem.cxx,v $
   Language:  C++
-  Date:      $Date: 2004/06/24 18:03:14 $
-  Version:   $Revision: 1.17 $
+  Date:      $Date: 2004/06/25 03:06:38 $
+  Version:   $Revision: 1.18 $
   
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -76,7 +76,10 @@ gdcmSQItem::~gdcmSQItem()
       Entry->SetPrintLevel(2);
       Entry->Print(os);   
       if ( gdcmSeqEntry* SeqEntry = dynamic_cast<gdcmSeqEntry*>(Entry) )
+      {
+         (void)SeqEntry;  //not used
          PrintEndLine = false;
+      }
       if (PrintEndLine)
          os << std::endl;
    } 
index e07a5a407ac56c7fce2398044b020c6b47ef1979..11d9f68076f835e9ec4a2a770822ae1ffe973d20 100644 (file)
@@ -58,7 +58,7 @@
 #include <vtkPointData.h>
 #include <vtkLookupTable.h>
 
-vtkCxxRevisionMacro(vtkGdcmReader, "$Revision: 1.45 $");
+vtkCxxRevisionMacro(vtkGdcmReader, "$Revision: 1.46 $");
 vtkStandardNewMacro(vtkGdcmReader);
 
 //-----------------------------------------------------------------------------
@@ -688,7 +688,7 @@ size_t vtkGdcmReader::LoadImageInMemory(
 //   fclose(f2); 
    
    //GetImageData allocate a (void*)malloc, remove it:
-   free(pSource);
+   delete[] pSource;
    return size;
 }