Program: gdcm
Module: $RCSfile: VTKTestRead.cxx,v $
Language: C++
- Date: $Date: 2005/01/19 13:50:11 $
- Version: $Revision: 1.3 $
+ Date: $Date: 2005/02/02 10:05:26 $
+ 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
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
-#include "gdcmFile.h"
+#include "gdcmFileHelper.h"
#include "vtkGdcmReader.h"
#include "vtkImageViewer.h"
#include "vtkImageData.h"
#include "vtkImageAppendComponents.h"
#include "vtkImageShiftScale.h"
+#include "vtkPNGWriter.h"
+
#include <iostream>
//Generated file:
#endif
int VTKReadTest(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
// 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" );
reader->SetFileName( "TestWrite.dcm" );
reader->Update();
+ double range[2];
+ reader->GetOutput()->GetScalarRange(range);
int dim[3];
reader->GetOutput()->GetDimensions( dim );
{
viewer->SetInput ( reader->GetOutput() );
- vtkFloatingPointType *range = reader->GetOutput()->GetScalarRange();
viewer->SetColorWindow (range[1] - range[0]);
viewer->SetColorLevel (0.5 * (range[1] + range[0]));
// 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);
}
int ret = 0;
- vtkTesting* t = vtkTesting::New();
+ vtkTesting *t = vtkTesting::New();
vtkImageViewer *viewer;
if( show )
viewer = vtkImageViewer::New();
}
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();
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 )