]> Creatis software - gdcm.git/blobdiff - vtk/vtkGdcmReader.cxx
ENH: Add a new flag to vtkGdcmReader: AllowLookupTable, user can now select if he...
[gdcm.git] / vtk / vtkGdcmReader.cxx
index 7708dee3a60966b772290817960c13f26b1fe332..ea4545a02a57c104cbe938be545d633b254083be 100644 (file)
@@ -63,6 +63,7 @@
 vtkGdcmReader::vtkGdcmReader()
 {
    this->LookupTable = NULL;
+   this->AllowLookupTable = 0;
 }
 
 vtkGdcmReader::~vtkGdcmReader()
@@ -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;
    }
 
@@ -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();