]> Creatis software - gdcm.git/blobdiff - Testing/TestReadWriteReadCompare.cxx
note on stl header .
[gdcm.git] / Testing / TestReadWriteReadCompare.cxx
index ed14c08a0d9c53575e80e8033ab2b1b4744bb348..d3eb11b507c454289cb017e33571ad48acb4a954 100644 (file)
@@ -39,7 +39,7 @@ int TestReadWriteReadCompare(int argc, char* argv[])
 
       //////////////// Step 1 (see above description):
 
-      gdcmHeader *header = new gdcmHeader( filename, false );
+      gdcmHeader *header = new gdcmHeader( filename );
       if( !header->IsReadable() )
       {
          std::cerr << "Test::TestReadWriteReadCompare: Image not gdcm compatible:"
@@ -53,12 +53,15 @@ int TestReadWriteReadCompare(int argc, char* argv[])
 
       gdcmFile*  file = new gdcmFile( header );
       int dataSize    = file->GetImageDataSize();
-      void* imageData = file->GetImageData(); //EXTREMELY IMPORTANT
+      uint8_t* imageData = file->GetImageData(); //EXTREMELY IMPORTANT
+             // Sure, it is : It's up to the user to decide if he wants to
+             // GetImageData or if he wants to GetImageDataRaw
+             // (even if we do it by setting a flag, he will have to decide) 
 
       /// \todo Following line commented out because gdcmFile::SetImageData() is
       /// brain dead: it sets ImageDataSize to its argument and PixelRead to a.
-      /// Later on, when writing gdcmFile::WriteBase() and because PixelRead == 1
-      /// we call
+      /// Later on, when writing gdcmFile::WriteBase() 
+      /// and because PixelRead == 1 we call
       ///    PixelElement->SetLength( ImageDataSizeRaw );
       /// where we use ImageDataSizeRAW instead of ImageDataSize !
       /// But when the original image made the transformation LUT -> RGB, 
@@ -68,13 +71,17 @@ int TestReadWriteReadCompare(int argc, char* argv[])
       /// images 8BitsUncompressedColor.dcm, OT-PAL-8-face.dcm and 
       /// US-PAL-8-10x-echo.dcm...
       /// In conclusion fix gdcmFile, and then uncomment the following line.
-      /// file->SetImageData(imageData, dataSize);
+      
+      // --> I did. ctest doesn't break. But ... is it enought to say it's OK ?
+      
+      file->SetImageData(imageData, dataSize);
+      
       file->WriteDcmExplVR( "TestReadWriteReadCompare.dcm" );
       std::cout << "2...";
     
       //////////////// Step 3:
 
-      gdcmFile* reread = new gdcmFile( "TestReadWriteReadCompare.dcm", false );
+      gdcmFile* reread = new gdcmFile( "TestReadWriteReadCompare.dcm" );
       if( !reread->GetHeader()->IsReadable() )
       {
         std::cerr << "Test::TestReadWriteReadCompare: Could not reread image "