]> Creatis software - gdcm.git/commitdiff
* src/gdcmFile.cxx : now delete the PixelConvert instance.
authorregrain <regrain>
Mon, 15 Nov 2004 15:29:03 +0000 (15:29 +0000)
committerregrain <regrain>
Mon, 15 Nov 2004 15:29:03 +0000 (15:29 +0000)
  * In examples and tests : change the type of image data variables from void*
    to uint8_t*. Remmove all delete on image data variables
  -- BeNours

ChangeLog
Example/TestReadWriteReadCompare.cxx
Example/TestWriteSimple.cxx
Example/Write.cxx
Example/WriteRead.cxx
Testing/TestAllReadCompareDicom.cxx
Testing/TestChangeHeader.cxx
Testing/TestReadWriteReadCompare.cxx
src/gdcmFile.cxx
vtk/vtkGdcmReader.cxx

index 3f929ffda1ec90a9cc9bbfeabef1296802575c37..ed477178a92c8cdf08ef52fdafc445c23407720f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-11-15 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+  * src/gdcmFile.cxx : now delete the PixelConvert instance.
+  * In examples and tests : change the type of image data variables from void*
+    to uint8_t*. Remmove all delete on image data variables
+
 2004-11-10 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
   * src/gdcmDocument.cxx : Set the file pointer TP to 0 in the constructors.
     Verify the file pointer value before open the file, and if it's not null,
index cf4840347f6c993db99e8b8a54b06f624ec90be3..9ef3f67a17892b2e83b115410a7f294160f006c1 100644 (file)
@@ -95,7 +95,7 @@ int main(int argc, char* argv[])
       std::cout << "3...";
       // For the next step:
       int    dataSizeWritten = reread->GetImageDataSize();
-      void* imageDataWritten = reread->GetImageData();
+      uint8_t* imageDataWritten = reread->GetImageData();
 
       //////////////// Step 4:
  
@@ -104,8 +104,6 @@ int main(int argc, char* argv[])
          std::cout << std::endl
             << "        Pixel areas lengths differ: "
             << dataSize << " # " << dataSizeWritten << std::endl;
-         delete (char*)imageData;
-         delete (char*)imageDataWritten;
          delete header;
          delete file;
          delete reread;
@@ -117,8 +115,6 @@ int main(int argc, char* argv[])
          (void)res;
          std::cout << std::endl
             << "        Pixel differ (as expanded in memory)." << std::endl;
-         delete (char*)imageData;
-         delete (char*)imageDataWritten;
          delete header;
          delete file;
          delete reread;
@@ -127,8 +123,6 @@ int main(int argc, char* argv[])
       std::cout << "4...OK." << std::endl ;
 
       //////////////// Clean up:
-      delete (char*)imageData;
-      delete (char*)imageDataWritten;
       delete header;
       delete file;
       delete reread;
index 0c03379cdca49e303c9f935e82eb8683490ace17..87aeeea0b2ec95604d4f4d5b934c48bf7498a61c 100644 (file)
@@ -18,7 +18,7 @@ int main(int argc, char* argv[])
 
   // If the following call is important, then the API sucks. Why is it
   // required to allocate PixelData when we are not using it !?
-  void* PixelData = f2->GetImageData(); //EXTREMELY IMPORTANT
+  uint8_t* PixelData = f2->GetImageData(); //EXTREMELY IMPORTANT
   //Otherwise ReadPixel == -1 -> the dicom writing fails completely
   
   int dataSize    = f2->GetImageDataSize();
@@ -30,7 +30,6 @@ int main(int argc, char* argv[])
 
   f2->WriteDcmExplVR( output );
   
-  delete[] imageData;
   delete f1;
   delete f2;
   //delete PixelData; //Does GetImageData return the same pointer ?
index 51352fe637b81df238105dcff4250601d06dd9d5..13a9739d6a199067b235b26554b9da025ec5ac07 100644 (file)
@@ -11,7 +11,7 @@ int main(int argc, char* argv[])
    gdcm::File  * f1;
 
    //gdcmDocument * d;  //not used
-   void* imageData;
+   uint8_t* imageData;
    int dataSize;
 
    if (argc < 3) {
index 54f9140a21da5c07ef7b2c0d9812cf242e4ad9fc..ac57e18f0c9078c49d5197d4f2b5e5ef67848a99 100644 (file)
@@ -10,7 +10,7 @@ int main(int argc, char* argv[])
    gdcm::Header* e1, *e2;
    gdcm::File  * f1, *f2;
 
-   void* imageData, *imageData2;
+   uint8_t* imageData, *imageData2;
    int dataSize, dataSize2;
      
    if( argc < 2 )
index a4690f19df2c36bbe72a803f303bf56ed545141d..21aba424208705a08ec24e223ab2096adaa9f1b2 100644 (file)
@@ -27,16 +27,13 @@ int InternalTest(std::string const & filename,
       if (! testFILE )
       {
       ////// Step 3a:
-
-         int testedDataSize    = tested->GetImageDataSize();
-         (void)testedDataSize;
-         void* testedImageData = tested->GetImageData(); // Kludge
+         uint8_t* testedImageData = tested->GetImageData(); // Kludge
          tested->WriteDcmExplVR( referenceFileName );
          std::cerr << "      Creating reference baseline file :" << std::endl
                    << "      " << referenceFileName 
                    << std::endl;
          delete tested;
-         delete (char*)testedImageData;
+         //delete (char*)testedImageData;
          return 0;
       }
       else
@@ -60,10 +57,10 @@ int InternalTest(std::string const & filename,
       ////// Step 3b:
 
       int testedDataSize    = tested->GetImageDataSize();
-      void* testedImageData = tested->GetImageData();
+      uint8_t* testedImageData = tested->GetImageData();
     
       int    referenceDataSize = reference->GetImageDataSize();
-      void* referenceImageData = reference->GetImageData();
+      uint8_t* referenceImageData = reference->GetImageData();
 
       if (testedDataSize != referenceDataSize)
       {
@@ -72,8 +69,6 @@ int InternalTest(std::string const & filename,
                    << std::endl;
          delete tested;
          delete reference;
-         delete (char*)testedImageData;
-         delete (char*)referenceImageData;
          return 1;
       }
 
@@ -85,17 +80,14 @@ int InternalTest(std::string const & filename,
                    << std::endl;
          delete tested;
          delete reference;
-         delete (char*)testedImageData;
-         delete (char*)referenceImageData;
          return 1;
       }
-      std::cout << "      Passed." << std::endl ;
+      std::cout << "      Passed..." << std::endl;
 
       //////////////// Clean up:
       delete tested;
       delete reference;
-      delete (char*)testedImageData;
-      delete (char*)referenceImageData;
+      std::cout << "      Passed clean up." << std::endl ;
       
       return 0;
 }
@@ -173,23 +165,7 @@ int TestAllReadCompareDicom(int argc, char* argv[])
          testDIR->close();
       }
 
-/*      FILE* testFILE = fopen( baseLineDir.c_str(), "r" );
-      if (!testFILE )
-      {
-         std::cerr << "   The reference baseline directory " << std::endl
-                   << "      "
-                   << baseLineDir << std::endl
-                   << "   couldn't be opened."
-                   << std::endl;
-         return 1;
-      }
-      else
-      {
-         fclose( testFILE );
-      }*/
-
       ////// Step 1 (see above description):
-
       std::string filename = GDCM_DATA_ROOT;
       filename += "/";
       filename += gdcmDataImages[i];
index bfae6f1a2715215fa5de2029657343d3a16091ef..4c7f0ffadc15104874caa070b373196b67ff263b 100644 (file)
@@ -61,7 +61,7 @@ int TestChangeHeader(int argc, char* argv[])
 
    int dataSize = f2->GetImageDataSize();
    printf ("dataSize %d\n",dataSize);
-   void* imageData= f2->GetImageData();
+   uint8_t* imageData= f2->GetImageData();
 
 // TODO : Why don't we merge theese 2 functions ?
 
index 66115b8e2d0feb80c1e38043c3f7319dc29fa95c..6d53cda116f23901ea1096871ae9f139e9d41e03 100644 (file)
@@ -65,7 +65,7 @@ int CompareInternal(std::string const & filename, std::string const & output)
    std::cout << "3...";
    // For the next step:
    int    dataSizeWritten = reread->GetImageDataSize();
-   void* imageDataWritten = reread->GetImageData();
+   uint8_t* imageDataWritten = reread->GetImageData();
 
    //////////////// Step 4:
 
@@ -74,8 +74,6 @@ int CompareInternal(std::string const & filename, std::string const & output)
       std::cout << std::endl
          << "        Pixel areas lengths differ: "
          << dataSize << " # " << dataSizeWritten << std::endl;
-      delete[] (char*)imageData;
-      delete[] (char*)imageDataWritten;
       delete header;
       delete file;
       delete reread;
@@ -87,8 +85,6 @@ int CompareInternal(std::string const & filename, std::string const & output)
       (void)res;
       std::cout << std::endl
          << "        Pixel differ (as expanded in memory)." << std::endl;
-      delete[] (char*)imageData;
-      delete[] (char*)imageDataWritten;
       delete header;
       delete file;
       delete reread;
@@ -97,8 +93,6 @@ int CompareInternal(std::string const & filename, std::string const & output)
    std::cout << "4...OK." << std::endl ;
 
    //////////////// Clean up:
-   delete[] (char*)imageData;
-   delete[] (char*)imageDataWritten;
    delete header;
    delete file;
    delete reread;
index 955e0989b60e93ab2a41a5869d248ef7c3af5b7f..2faa65533b97252e4ae16041817351300ac834e9 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmFile.cxx,v $
   Language:  C++
-  Date:      $Date: 2004/11/10 18:27:23 $
-  Version:   $Revision: 1.153 $
+  Date:      $Date: 2004/11/15 15:29:04 $
+  Version:   $Revision: 1.154 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -108,7 +108,7 @@ File::~File()
    DeleteInitialValues();
    if( PixelConverter )
    {
-      //delete PixelConverter;
+      delete PixelConverter;
    }
 
 }
index 60f038133515f425eb5533af06f917dd343093c3..64a369f1d83b7e96f0ca16f900c5852e034d80b1 100644 (file)
@@ -58,7 +58,7 @@
 #include <vtkPointData.h>
 #include <vtkLookupTable.h>
 
-vtkCxxRevisionMacro(vtkGdcmReader, "$Revision: 1.52 $");
+vtkCxxRevisionMacro(vtkGdcmReader, "$Revision: 1.53 $");
 vtkStandardNewMacro(vtkGdcmReader);
 
 //-----------------------------------------------------------------------------
@@ -690,7 +690,11 @@ size_t vtkGdcmReader::LoadImageInMemory(
 //   fclose(f2); 
    
    //GetImageData allocate a (void*)malloc, remove it:
-   delete[] pSource;
+
+   // CLEANME
+   // Now, the delete on values keep from GetImageData is useless (made in
+   // the PixelConvert class)
+   //delete[] pSource;
    return size;
 }