X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vtk%2FvtkGdcmReader.cxx;h=7c5148940616674529bd2cb2c12cb211de2be77d;hb=684da0b8b7bd204d3c57f382763ba9c01a16fc1a;hp=7708dee3a60966b772290817960c13f26b1fe332;hpb=c04f72b2466db911700aaea2d14426de678e9b94;p=gdcm.git diff --git a/vtk/vtkGdcmReader.cxx b/vtk/vtkGdcmReader.cxx index 7708dee3..7c514894 100644 --- a/vtk/vtkGdcmReader.cxx +++ b/vtk/vtkGdcmReader.cxx @@ -63,6 +63,7 @@ vtkGdcmReader::vtkGdcmReader() { this->LookupTable = NULL; + this->AllowLookupTable = 0; } vtkGdcmReader::~vtkGdcmReader() @@ -260,9 +261,9 @@ void vtkGdcmReader::ExecuteData(vtkDataObject *output) { // 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 @@ -329,16 +330,16 @@ void vtkGdcmReader::BuildFileListFromPattern() return; } - if ((! this->FileNameList.empty()) && this->FilePattern ) + if ((! this->FileNameList.empty()) && this->FilePrefix ) { - vtkErrorMacro("Both AddFileName and SetFilePattern schemes were used"); + vtkErrorMacro("Both AddFileName and SetFilePrefix schemes were used"); vtkErrorMacro("No images loaded ! "); return; } - if (this->FileName && this->FilePattern) + if (this->FileName && this->FilePrefix) { - vtkErrorMacro("Both SetFileName and SetFilePattern schemes were used"); + vtkErrorMacro("Both SetFileName and SetFilePrefix schemes were used"); vtkErrorMacro("No images loaded ! "); return; } @@ -350,10 +351,10 @@ void vtkGdcmReader::BuildFileListFromPattern() return; } - if (!this->FileName && !this->FilePattern) + if (!this->FileName && !this->FilePrefix) { vtkErrorMacro("FileNames are not set. Either use AddFileName() or"); - vtkErrorMacro("specify a FileName or FilePattern."); + vtkErrorMacro("specify a FileName or FilePrefix."); return; } @@ -440,7 +441,7 @@ int vtkGdcmReader::CheckFileCoherence() 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()) { @@ -529,8 +530,9 @@ int vtkGdcmReader::CheckFileCoherence() this->ImageType = type; this->PixelSize = GdcmHeader.GetPixelSize(); - if( GdcmHeader.HasLUT() ) + if( GdcmHeader.HasLUT() && this->AllowLookupTable ) { + // I could raise an error is AllowLookupTable is on and HasLUT() off this->NumComponents = GdcmHeader.GetNumberOfScalarComponentsRaw(); } else @@ -624,7 +626,7 @@ size_t vtkGdcmReader::LoadImageInMemory( unsigned char * Source; - if( GdcmFile.GetHeader()->HasLUT() ) + if( GdcmFile.GetHeader()->HasLUT() && this->AllowLookupTable ) { size = GdcmFile.GetImageDataSizeRaw(); Source = (unsigned char*) GdcmFile.GetImageDataRaw();