]> Creatis software - gdcm.git/blobdiff - vtk/vtkGdcmReader.h
ENH: Adding Group Length
[gdcm.git] / vtk / vtkGdcmReader.h
index fd30e58bba9f028cbcd421076f9275ad61003eee..a84f3b7bf1e5a703eb47a1b773d2f9f41c663b72 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: vtkGdcmReader.h,v $
   Language:  C++
-  Date:      $Date: 2005/07/17 04:34:20 $
-  Version:   $Revision: 1.23 $
+  Date:      $Date: 2005/08/22 12:43:11 $
+  Version:   $Revision: 1.27 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -27,6 +27,8 @@
 #include <string>
 #include <vector>
 
+typedef void (*VOID_FUNCTION_PUINT8_PFILE_POINTER)(uint8_t *, gdcm::File *);
+
 //-----------------------------------------------------------------------------
 class vtkLookupTable;
 
@@ -41,10 +43,21 @@ public:
    virtual void RemoveAllFileName(void);
    virtual void AddFileName(const char *name);
    virtual void SetFileName(const char *name);
+
+   //BTX
    void SetCoherentFileList( std::vector<gdcm::File* > *cfl) {
-                                                      CoherentFileList = cfl; };    
-   void SetCheckFileCoherenceLight();
-   
+                                                      CoherentFileList = cfl; }    
+   //ETX
+
+   vtkSetMacro(AllowLightChecking, int);
+   vtkGetMacro(AllowLightChecking, int);
+   vtkBooleanMacro(AllowLightChecking, int);
+
+   //BTX
+   void SetUserFunction (VOID_FUNCTION_PUINT8_PFILE_POINTER userFunc )
+                        { UserFunction = userFunc; } 
+   //ETX
+  
    // Description:
    // If this flag is set and the DICOM reader encounters a dicom file with 
    // lookup table the data will be kept as unsigned chars and a lookuptable 
@@ -63,7 +76,9 @@ public:
  *        of *each* Shadow Group. The parser will fail if the size is wrong !
  * @param   mode Load mode to be used    
  */
-   void SetLoadMode (int mode) { LoadMode = mode; }
+   vtkSetMacro(LoadMode, int);
+   vtkGetMacro(LoadMode, int);
+   vtkBooleanMacro(LoadMode, int);
 
 protected:
    vtkGdcmReader();
@@ -98,7 +113,8 @@ private:
    vtkLookupTable *LookupTable;
    vtkTimeStamp fileTime;
    int AllowLookupTable;
-   bool LightChecking;
+
+   int AllowLightChecking;
 
    //BTX
    // Number of columns of the image/volume to be loaded
@@ -131,10 +147,13 @@ private:
    /// \brief Bit string integer (each one considered as a boolean)
    ///        Bit 0 : Skip Sequences,    if possible
    ///        Bit 1 : Skip Shadow Groups if possible
-  ///         Bit 2 : Skip Sequences inside a Shadow Group, if possible
+   ///        Bit 2 : Skip Sequences inside a Shadow Group, if possible
    ///        Probabely (?), some more to add
    int LoadMode;
 
+   /// Pointer to a user suplied function to allow modification of pixel order
+   VOID_FUNCTION_PUINT8_PFILE_POINTER UserFunction;
+
 };
 
 //-----------------------------------------------------------------------------