]> Creatis software - gdcm.git/blobdiff - Testing/TestReadWriteJPEGReadCompare.cxx
Fix mistypings
[gdcm.git] / Testing / TestReadWriteJPEGReadCompare.cxx
index 511b84bfef5b10901bfd90a77f139a1d7063a2df..76bce692911a721bc5289b7414733bfd3cfe7ca1 100755 (executable)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: TestReadWriteJPEGReadCompare.cxx,v $
   Language:  C++
-  Date:      $Date: 2007/09/05 09:55:01 $
-  Version:   $Revision: 1.10 $
+  Date:      $Date: 2008/04/10 12:15:34 $
+  Version:   $Revision: 1.15 $
 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -22,6 +22,8 @@
 #include "gdcmGlobal.h"
 #include "gdcmTS.h"
 
+#include <stdlib.h>
+
 //Generated file:
 #include "gdcmDataImages.h"
 
@@ -95,7 +97,7 @@ static int CompareInternalJPEG(std::string const &filename, std::string const &o
       file->Delete();
       filehelper->Delete();
       fileout->Delete();
-      return 0;   
+      return 0;
    }
    
    GDCM_NAME_SPACE::FileHelper *reread = GDCM_NAME_SPACE::FileHelper::New( fileout );
@@ -149,15 +151,22 @@ static int CompareInternalJPEG(std::string const &filename, std::string const &o
    }
 
    // Test the data content
-   unsigned int j      = 0;
+  // unsigned int j      = 0;
    unsigned int nbDiff = 0;
-   if (memcmp(imageData, imageDataWritten, dataSizeFixed) !=0)
+   unsigned int lengthToCompare = file->GetXSize()*file->GetYSize()*file->GetZSize()
+                                  *file->GetPixelSize()*file->GetSamplesPerPixel();
+   // just to see !
+   if ( lengthToCompare!=dataSizeFixed)
+      std::cout << "lengthToCompare : " << lengthToCompare << " not= dataSizeFixed : " << dataSizeFixed << std::endl;
+  
+   if (memcmp(imageData, imageDataWritten, lengthToCompare) !=0)
    {
       std::string PixelType = filehelper->GetFile()->GetPixelType();
       std::string ts        = filehelper->GetFile()->GetTransferSyntax();
 
        for(int i1=0; i1<dataSizeFixed; i1++)
-         if (abs ((int)imageData[i1]-(int)imageDataWritten[i1]) > 2) {
+         if (abs ((int)imageData[i1]-(int)imageDataWritten[i1]) > 0) {
             nbDiff++;
            // break; // at debug time, keep line commented out; (uncommenting will save CPU time)
          }
@@ -177,17 +186,17 @@ static int CompareInternalJPEG(std::string const &filename, std::string const &o
                     << " bytes differing (pos : original - written) :"
                     << std::endl;
 
-          for(int i=0, j=0; i<dataSizeFixed && j<MAX_NUMBER_OF_DIFFERENCE; i++)
+          for(unsigned int i=0, j2=0; i<dataSizeFixed && j2<MAX_NUMBER_OF_DIFFERENCE; i++)
           {
              if (abs ((int)imageData[i]-(int)imageDataWritten[i]) > 2)
              {
-                if (j<MAX_NUMBER_OF_DIFFERENCE)
+                if (j2<MAX_NUMBER_OF_DIFFERENCE)
                    std::cout << std::dec << "(" << i << " : "
                      << std::hex
                      << (int)(imageData[i]) << " - "
                      << (int)(imageDataWritten[i]) << ") "
                      << std::dec;
-                ++j;
+                ++j2;
               }
           }
           std::cout << std::endl;
@@ -218,7 +227,7 @@ static int CompareInternalJPEG(std::string const &filename, std::string const &o
                     << " bytes differing (pos : original - written) :"
                     << std::endl;
 
-          for(int i=0, j=0; i<dataSizeFixed && j<MAX_NUMBER_OF_DIFFERENCE; i++)
+          for(unsigned int i=0, j1=0; i<dataSizeFixed && j1<MAX_NUMBER_OF_DIFFERENCE; i++)
           {
              if (imageData[i] != imageDataWritten[i])
              {
@@ -226,7 +235,7 @@ static int CompareInternalJPEG(std::string const &filename, std::string const &o
                          << std::hex << (int)(imageData[i]) << " - "
                          << std::hex << (int)(imageDataWritten[i]) << ") "
                          << std::dec;
-                ++j;
+                ++j1;
               }
           }
           std::cout << std::endl;