]> Creatis software - gdcm.git/blobdiff - Example/WriteRead.cxx
Fix mistypings
[gdcm.git] / Example / WriteRead.cxx
index 8ff10006dfe3329750b7aa98122224d073e81747..c08e791b864f86ccaa5e14fc55d7fa74ed42994a 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: WriteRead.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/02/02 10:06:32 $
-  Version:   $Revision: 1.13 $
+  Date:      $Date: 2007/05/23 14:18:05 $
+  Version:   $Revision: 1.16 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -24,73 +24,94 @@ int main(int argc, char *argv[])
 {  
    std::string fileNameToWrite;
 
-   gdcm::File *e1;
-   gdcm::File *e2;
-   gdcm::FileHelper *f1;
-   gdcm::FileHelper *f2;
+   GDCM_NAME_SPACE::File *e1;
+   GDCM_NAME_SPACE::File *e2;
+   GDCM_NAME_SPACE::FileHelper *f1;
+   GDCM_NAME_SPACE::FileHelper *f2;
    uint8_t* imageData, *imageData2;
    int dataSize, dataSize2;
      
    if( argc < 2 )
-    {
-    std::cerr << "Usage " << argv[0] << " image.dcm" << std::endl;
-    return 1;
-    }
+   {
+      std::cerr << "Usage " << argv[0] << " image.dcm" << std::endl;
+      return 1;
+   }
 
    std::string fileName = argv[1];
 
 // --------------------- we read the input image
 
    std::cout << argv[1] << std::endl;
-
-   e1 = new gdcm::File( fileName );
-   if (!e1->IsReadable()) {
-       std::cerr << "Sorry, " << fileName <<"  not a Readable DICOM / ACR File"
-                 <<std::endl;
-       return 0;
+   e1 = GDCM_NAME_SPACE::File::New( );
+   e1->SetFileName( fileName );
+   e1->Load();
+   if (!e1->IsReadable()) 
+   {
+      std::cerr << "Sorry, " << fileName <<"  not a Readable DICOM / ACR File"
+                <<std::endl;
+      e1->Delete();
+      return 1;
    }
    
-   f1 = new gdcm::FileHelper(e1);
+   f1 = GDCM_NAME_SPACE::FileHelper::New(e1);
    imageData= f1->GetImageData();
    dataSize = f1->GetImageDataSize();
 
 // --------------------- we write it as an Explicit VR DICOM file
 
-      fileNameToWrite = "temp.XDCM";
-      std::cout << "WriteDCM Explicit VR" << std::endl;
-      f1->WriteDcmExplVR(fileNameToWrite);
+   fileNameToWrite = "temp.XDCM";
+   std::cout << "WriteDCM Explicit VR" << std::endl;
+   f1->WriteDcmExplVR(fileNameToWrite);
 
 // --------------------- we read the written image
-      
-   e2 = new gdcm::File( fileNameToWrite );
-   if (!e2->IsReadable()) {
-       std::cerr << "Sorry, " << fileNameToWrite << " not a Readable DICOM / ACR File"  
-                 <<std::endl;
-       return 0;
+   e2 = GDCM_NAME_SPACE::File::New( );
+   e2->SetFileName( fileNameToWrite );
+   e2->Load();
+   if (!e2->IsReadable()) 
+   {
+      std::cerr << "Sorry, " << fileNameToWrite << " not a Readable DICOM / ACR File"  
+               <<std::endl;
+      e1->Delete();
+      e2->Delete();
+      f1->Delete();
+      return 1;
    }
-   f2 = new gdcm::FileHelper(e2);
+   f2 = GDCM_NAME_SPACE::FileHelper::New(e2);
    imageData2= f2->GetImageData();
    dataSize2 = f2->GetImageDataSize();
 
 // --------------------- we compare the pixel areas
 
-  if (dataSize != dataSize2) {
-     std::cout << " ----------------------------------------- " 
-          << "Bad shot! Lengthes are different : " 
-          << dataSize << " # " << dataSize2
-          << " for file : " << fileName << std::endl;
+   if (dataSize != dataSize2) 
+   {
+      std::cout << " ----------------------------------------- " 
+                << "Bad shot! Lengthes are different : " 
+                << dataSize << " # " << dataSize2
+                << " for file : " << fileName << std::endl;
 
-     return 0;
-  }
-  if (int res=memcmp(imageData,imageData2,dataSize) !=0) {
-     std::cout << " ----------------------------------------- " 
-          << "Bad shot! Pixels are different : " 
-          << " for file : " << fileName << std::endl;
-     std::cout << "memcmp(imageData,imageData2,dataSize) = " << res << std::endl;
-     return 1;
-  }
+      e1->Delete();
+      e2->Delete();
+      f1->Delete();
+      f2->Delete();
+      return 1;
+   }
+   if (int res=memcmp(imageData,imageData2,dataSize) !=0) 
+   {
+      std::cout << " ----------------------------------------- " 
+                << "Bad shot! Pixels are different : " 
+                << " for file : " << fileName << std::endl;
+      std::cout << "memcmp(imageData,imageData2,dataSize) = " << res << std::endl;
+      e1->Delete();
+      e2->Delete();
+      f1->Delete();
+      f2->Delete();
+      return 1;
+   }
   
-  //If we reach here everything is fine, return 0 then:
-  return 0;
+   e1->Delete();
+   e2->Delete();
+   f1->Delete();
+   f2->Delete();
+   return 0;
 }