#include <vtkPointData.h>
#include <vtkLookupTable.h>
+vtkCxxRevisionMacro(vtkGdcmReader, "$Revision: 1.46 $");
+vtkStandardNewMacro(vtkGdcmReader);
+
//-----------------------------------------------------------------------------
// Constructor / Destructor
vtkGdcmReader::vtkGdcmReader()
{
this->LookupTable = NULL;
+ this->AllowLookupTable = 0;
}
vtkGdcmReader::~vtkGdcmReader()
{
// The memory size for a full stack of images of course depends
// on the number of planes and the size of each image:
- size_t StackNumPixels = this->NumColumns * this->NumLines
- * this->TotalNumberOfPlanes * this->NumComponents;
- size_t stack_size = StackNumPixels * this->PixelSize;
+ //size_t StackNumPixels = this->NumColumns * this->NumLines
+ // * this->TotalNumberOfPlanes * this->NumComponents;
+ //size_t stack_size = StackNumPixels * this->PixelSize; //not used
// Allocate pixel data space itself.
// Variables for the UpdateProgress. We shall use 50 steps to signify
fclose(fp);
// Stage 1.2: check for Gdcm parsability
- gdcmHeaderHelper GdcmHeader(FileName->c_str(), false, true);
+ gdcmHeader GdcmHeader(FileName->c_str(), false, true);
// true : for enableSequences
if (!GdcmHeader.IsReadable())
{
this->ImageType = type;
this->PixelSize = GdcmHeader.GetPixelSize();
- if( GdcmHeader.HasLUT() && false )
+ if( GdcmHeader.HasLUT() && this->AllowLookupTable )
{
+ // I could raise an error is AllowLookupTable is on and HasLUT() off
this->NumComponents = GdcmHeader.GetNumberOfScalarComponentsRaw();
}
else
unsigned char * Source;
- if( GdcmFile.GetHeader()->HasLUT() && false )
+ if( GdcmFile.GetHeader()->HasLUT() && this->AllowLookupTable )
{
size = GdcmFile.GetImageDataSizeRaw();
Source = (unsigned char*) GdcmFile.GetImageDataRaw();
// fclose(f2);
//GetImageData allocate a (void*)malloc, remove it:
- free(pSource);
+ delete[] pSource;
return size;
}