]> Creatis software - gdcm.git/blobdiff - vtk/vtkGdcmReader.h
*FIX: Change GetLUTRGBA to return unsigned char instead of void, nicer for python...
[gdcm.git] / vtk / vtkGdcmReader.h
index 490d3b1b048675573725f9ae5a1d0346f37a97e6..0b218dc19049de6a902498f615c9e19d132f990e 100644 (file)
@@ -1,13 +1,15 @@
-// $Header: /cvs/public/gdcm/vtk/vtkGdcmReader.h,v 1.7 2003/07/04 17:12:43 regrain Exp $
+// $Header: /cvs/public/gdcm/vtk/vtkGdcmReader.h,v 1.12 2003/11/12 14:06:36 malaterre Exp $
 
 #ifndef __vtkGdcmReader_h
 #define __vtkGdcmReader_h
 
+#include <vtkImageReader.h>
 #include <list>
 #include <string>
-#include "vtkImageReader.h"
 
-class VTK_EXPORT vtkGdcmReader : public vtkImageReader
+class vtkLookupTable;
+//VTK_IO_EXPORT
+class  vtkGdcmReader : public vtkImageReader
 {
 public:
   static vtkGdcmReader *New() {return new vtkGdcmReader;};
@@ -17,6 +19,7 @@ public:
   void RemoveAllFileName(void);
   void AddFileName(const char* name);
   void SetFileName(const char *name);
+  vtkGetObjectMacro(LookupTable,vtkLookupTable);
 
 protected:
   vtkGdcmReader();
@@ -27,6 +30,10 @@ protected:
   int CheckFileCoherence();
 
 private:
+  void RemoveAllInternalFileName(void);
+  void AddInternalFileName(const char* name);
+  vtkLookupTable *LookupTable;
+
   //BTX
   // Number of columns of the image/volume to be loaded
   int NumColumns;
@@ -34,6 +41,8 @@ private:
   int NumLines;
   // Total number of planes (or images) of the stack to be build.
   int TotalNumberOfPlanes;
+  // Number of scalar components of the image to be loaded (1=monochrome 3=rgb)
+  int NumComponents;
   // Type of the image[s]: 8/16/32 bits, signed/unsigned:
   std::string ImageType;
   // Pixel size (in number of bytes):
@@ -42,6 +51,14 @@ private:
   // or volume. The order in the list shall be the order of the images.
   std::list<std::string> FileNameList;
 
+  // List of filenames created in ExecuteInformation and used in
+  // ExecuteData.
+  // If FileNameList isn't empty, InternalFileNameList is a copy of
+  //    FileNameList
+  // Otherwise, InternalFileNameList correspond to the list of 
+  //    files patterned
+  std::list<std::string> InternalFileNameList;
+
   size_t LoadImageInMemory(std::string FileName, unsigned char * Dest,
                            const unsigned long UpdateProgressTarget,
                            unsigned long & UpdateProgressCount);