X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Testing%2FTestReadWriteReadCompare.cxx;h=ac868dcdc254e529f576cf3c843fa9578f3f99fc;hb=7a59bd7a91b4ffcd4b24a8d18badbfc5adc3631b;hp=ed14c08a0d9c53575e80e8033ab2b1b4744bb348;hpb=220ad8c527f2b2edf1ba19af8897aca8f4a49cf7;p=gdcm.git diff --git a/Testing/TestReadWriteReadCompare.cxx b/Testing/TestReadWriteReadCompare.cxx index ed14c08a..ac868dcd 100644 --- a/Testing/TestReadWriteReadCompare.cxx +++ b/Testing/TestReadWriteReadCompare.cxx @@ -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:" @@ -54,11 +54,14 @@ int TestReadWriteReadCompare(int argc, char* argv[]) gdcmFile* file = new gdcmFile( header ); int dataSize = file->GetImageDataSize(); void* 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 "