X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Testing%2FVTKTestWrite.cxx;h=c3d989ee6fd3db966ca604727f9b9d5b7131d275;hb=2519871e71241f7e248d22b023eeb3bb5c314257;hp=c6aac0eea393e20be1ba380d767dad553c2671ff;hpb=ba91c71660a3989f80dc58803244f5fca47850e5;p=gdcm.git diff --git a/Testing/VTKTestWrite.cxx b/Testing/VTKTestWrite.cxx index c6aac0ee..c3d989ee 100644 --- a/Testing/VTKTestWrite.cxx +++ b/Testing/VTKTestWrite.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: VTKTestWrite.cxx,v $ Language: C++ - Date: $Date: 2005/01/19 10:49:47 $ - Version: $Revision: 1.2 $ + Date: $Date: 2005/02/09 15:31:15 $ + Version: $Revision: 1.9 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -15,7 +15,6 @@ PURPOSE. See the above copyright notices for more information. =========================================================================*/ -#include "gdcmFile.h" #include "vtkGdcmReader.h" #include "vtkGdcmWriter.h" #include "vtkImageViewer.h" @@ -36,9 +35,8 @@ #endif int VTKWriteTest(vtkTesting *t,vtkImageViewer *viewer, - std::string const & filename, - std::string const & referenceFileName, - bool show ) + std::string const &filename, + std::string const &referenceFileName) { int retVal = 0; //by default this is an error @@ -69,15 +67,16 @@ int VTKWriteTest(vtkTesting *t,vtkImageViewer *viewer, reader->SetFileName( "TestWrite.dcm" ); reader->Update(); + double range[2]; + reader->GetOutput()->GetScalarRange(range); int dim[3]; reader->GetOutput()->GetDimensions( dim ); // Show - if( show ) + if( viewer ) { viewer->SetInput ( reader->GetOutput() ); - vtkFloatingPointType *range = reader->GetOutput()->GetScalarRange(); viewer->SetColorWindow (range[1] - range[0]); viewer->SetColorLevel (0.5 * (range[1] + range[0])); @@ -114,6 +113,7 @@ int VTKWriteTest(vtkTesting *t,vtkImageViewer *viewer, clip->SetInput(image); clip->SetOutputWholeExtent(ext[0],ext[1],ext[2],ext[3], ext[4]+dim[2] / 2,ext[4]+dim[2] / 2); + clip->ClipDataOn(); vtkImageTranslateExtent *translat=vtkImageTranslateExtent::New(); translat->SetInput(clip->GetOutput()); translat->SetTranslation(0,0,-ext[4]-dim[2] / 2); @@ -130,12 +130,11 @@ int VTKWriteTest(vtkTesting *t,vtkImageViewer *viewer, // Set an unsigned char image // Shift/Scale the image image->Update(); - double *rng=image->GetScalarRange(); vtkImageShiftScale *iss=vtkImageShiftScale::New(); iss->SetInput(image); iss->SetOutputScalarTypeToUnsignedChar(); - iss->SetShift(-rng[0]); - iss->SetScale(255.0/(rng[1]-rng[0])); + iss->SetShift(-range[0]); + iss->SetScale(255.0/(range[1]-range[0])); iss->ClampOverflowOn(); image->UnRegister(NULL); @@ -197,7 +196,7 @@ int VTKTestWrite(int argc, char *argv[]) } int ret = 0; - vtkTesting* t = vtkTesting::New(); + vtkTesting *t = vtkTesting::New(); vtkImageViewer *viewer; if( show ) viewer = vtkImageViewer::New(); @@ -212,9 +211,10 @@ int VTKTestWrite(int argc, char *argv[]) } else { - ret = VTKWriteTest(t,viewer,argv[1+show],argv[2+show],show); + ret = VTKWriteTest(t,viewer,argv[1+show],argv[2+show]); t->Delete(); - viewer->Delete(); + if( viewer ) + viewer->Delete(); return ret; } @@ -237,10 +237,10 @@ int VTKTestWrite(int argc, char *argv[]) pngfile.insert( 0, "Baseline/"); //std::cerr << "PNG file: " << pngfile << std::endl; - ret += VTKWriteTest(t,viewer,filename,pngfile,show); + ret += VTKWriteTest(t,viewer,filename,pngfile); } t->Delete(); - if(viewer) + if( viewer ) viewer->Delete(); return ret;