]> Creatis software - gdcm.git/blobdiff - Example/WriteDicom.cxx
BUG: Remove demangle code this was seg faulting on some linux gcc 3.3.2 machine
[gdcm.git] / Example / WriteDicom.cxx
index 0323863929a26acc7fb3311dbfbf68635f71ce1d..3f8658aab52cef3f2ca32b855b8398f471273100 100644 (file)
@@ -1,29 +1,26 @@
-#include "gdcmHeader.h"
-#include "gdcmFile.h"
+#include "gdcm.h"
 
 // Writting of a DICOM file based on a correct dicom header
 // and data pixel of another image
 
 int main(int argc, char* argv[])
 {
-
   if (argc < 3) 
     {
     std::cerr << "Usage :" << std::endl << argv[0] << 
       " HeaderFileName DataFileName" << std::endl;
-    return 0;  
+    return 0;
     }
 
   const char *first = argv[1];
-  gdcmFile *f1 = new gdcmFile( first );
-       
+  gdcm::File *f1 = new gdcm::File( first );
+
   const char *second = argv[2];
-  gdcmFile *f2 = new gdcmFile( second );
-       
-       // f1->PrintPubElVal();
-       
+  gdcm::File *f2 = new gdcm::File( second );
+
   // We assume that DICOM fields of second file actually exists :
-       
+
   std::string nbFrames = f2->GetHeader()->GetEntryByNumber(0x0028, 0x0008);
   if(nbFrames != "gdcm::Unfound") {
       f1->GetHeader()->ReplaceOrCreateByNumber( nbFrames, 0x0028, 0x0008);
@@ -35,33 +32,31 @@ int main(int argc, char* argv[])
     f2->GetHeader()->GetEntryByNumber(0x0028, 0x0011), 0x0028, 0x0011); // nbCol
 
   // Some other tags should be updated:
-       
-       // TODO : add a default value
+
+  // TODO : add a default value
   // TODO : a function which take as input a list of tuple (gr, el)
   //        and that does the job
 
   int dataSize    = f2->GetImageDataSize();
-  void *imageData = f2->GetImageData();
+  uint8_t* imageData = f2->GetImageData();
 
   std::cout << "dataSize :" << dataSize << std::endl;
-                       
+
   // TODO : Shouldn't we merge those two functions ?
   f1->SetImageData( imageData, dataSize);
   f1->GetHeader()->SetImageDataSize( dataSize );
-       
-  f1->GetHeader()->PrintEntry();
-       
+
+  f1->GetHeader()->Print();
+
   std::string s0  = f2->GetHeader()->GetEntryByNumber(0x7fe0, 0x0000);
   std::string s10 = f2->GetHeader()->GetEntryByNumber(0x7fe0, 0x0010);
 
   std::cout << "lgr 7fe0, 0000 " << s0  << std::endl;
-  std::cout << "lgr 7fe0, 0010 " << s10 << std::endl;  
+  std::cout << "lgr 7fe0, 0010 " << s10 << std::endl;
 
   std::cout << "WriteDCM" << std::endl;
 
   f1->WriteDcmExplVR("WriteDicom.dcm");
-  //f1->WriteDcmImplVR(resultat);
-  //f1->WriteAcr(resultat);
 
   return 0;
 }