]> Creatis software - gdcm.git/blobdiff - Testing/VTKTestRead.cxx
Add some more info in News
[gdcm.git] / Testing / VTKTestRead.cxx
index b4ba7ea1e4093b6a1cc40c5417b9154e14cd296e..3ac95d26baa75af4500a29efed29d679cfb5625f 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: VTKTestRead.cxx,v $
   Language:  C++
-  Date:      $Date: 2005/01/19 13:50:11 $
-  Version:   $Revision: 1.3 $
+  Date:      $Date: 2005/01/25 15:45:49 $
+  Version:   $Revision: 1.8 $
                                                                                 
   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,7 @@
      PURPOSE.  See the above copyright notices for more information.
                                                                                 
 =========================================================================*/
-#include "gdcmFile.h"
+#include "gdcmFileHelper.h"
 #include "vtkGdcmReader.h"
 #include "vtkImageViewer.h"
 #include "vtkImageData.h"
@@ -25,6 +25,8 @@
 #include "vtkImageAppendComponents.h"
 #include "vtkImageShiftScale.h"
 
+#include "vtkPNGWriter.h"
+
 #include <iostream>
 
 //Generated file:
@@ -36,8 +38,7 @@
 
 int VTKReadTest(vtkTesting *t,vtkImageViewer *viewer,
                 std::string const & filename, 
-                std::string const & referenceFileName,
-                bool show )
+                std::string const & referenceFileName)
 {
    int retVal = 0;  //by default this is an error
 
@@ -52,7 +53,7 @@ int VTKReadTest(vtkTesting *t,vtkImageViewer *viewer,
    // Instead of directly reading the dicom let's write it down to another file
    // do a scope to be sure everything gets cleanup
    {
-      gdcm::File file( filename );
+      gdcm::FileHelper file( filename );
       file.GetImageData();
       file.SetWriteModeToRaw();
       file.WriteDcmExplVR( "TestWrite.dcm" );
@@ -64,6 +65,8 @@ int VTKReadTest(vtkTesting *t,vtkImageViewer *viewer,
    reader->SetFileName( "TestWrite.dcm" );
    reader->Update();
 
+   double range[2];
+   reader->GetOutput()->GetScalarRange(range);
    int dim[3];
    reader->GetOutput()->GetDimensions( dim );
 
@@ -72,7 +75,6 @@ int VTKReadTest(vtkTesting *t,vtkImageViewer *viewer,
    {
       viewer->SetInput ( reader->GetOutput() );
 
-      vtkFloatingPointType *range = reader->GetOutput()->GetScalarRange();
       viewer->SetColorWindow (range[1] - range[0]);
       viewer->SetColorLevel (0.5 * (range[1] + range[0]));
 
@@ -125,13 +127,11 @@ int VTKReadTest(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);
@@ -209,7 +209,7 @@ int VTKTestRead(int argc, char *argv[])
    }
    else
    {
-      ret = VTKReadTest(t,viewer,argv[1+show],argv[2+show],show);
+      ret = VTKReadTest(t,viewer,argv[1+show],argv[2+show]);
       t->Delete();
       if( viewer )
          viewer->Delete();
@@ -235,7 +235,7 @@ int VTKTestRead(int argc, char *argv[])
       pngfile.insert( 0, "Baseline/");
       //std::cerr << "PNG file: " << pngfile << std::endl;
 
-      ret += VTKReadTest(t,viewer,filename,pngfile,show);
+      ret += VTKReadTest(t,viewer,filename,pngfile);
    }
    t->Delete();
    if( viewer )