]> Creatis software - gdcm.git/blobdiff - vtk/vtkGdcmReader.h
Fix mistypings
[gdcm.git] / vtk / vtkGdcmReader.h
index 3bc8e2a013be09e30728878ed29ba22a0043e0d4..da612c0f11af71b6a53795208f4ad99e8916e564 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: vtkGdcmReader.h,v $
   Language:  C++
-  Date:      $Date: 2006/03/29 11:23:43 $
-  Version:   $Revision: 1.31 $
+  Date:      $Date: 2011/09/20 16:09:05 $
+  Version:   $Revision: 1.41 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -14,8 +14,7 @@
      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
      PURPOSE.  See the above copyright notices for more information.
                                                                                 
-=========================================================================*/
-                                                                                
+==========================================================================*/
 #ifndef __vtkGdcmReader_h
 #define __vtkGdcmReader_h
 
@@ -27,7 +26,7 @@
 #include <string>
 #include <vector>
 
-typedef void (*VOID_FUNCTION_PUINT8_PFILE_POINTER)(uint8_t *, gdcm::File *);
+typedef void (*VOID_FUNCTION_PUINT8_PFILE_POINTER)(uint8_t *, GDCM_NAME_SPACE::File *);
 
 //-----------------------------------------------------------------------------
 class vtkLookupTable;
@@ -45,27 +44,45 @@ public:
    virtual void SetFileName(const char *name);
 
    //BTX
-   void SetCoherentFileList( std::vector<gdcm::File* > *cfl) {
-                                                      CoherentFileList = cfl; }    
+   void SetCoherentFileList( std::vector<GDCM_NAME_SPACE::File* > *cfl) {
+                             CoherentFileList = cfl; }
    //ETX
 
-   vtkSetMacro(AllowLightChecking, bool);
-   vtkGetMacro(AllowLightChecking, bool);
-   vtkBooleanMacro(AllowLightChecking, bool);
+   //vtkSetMacro(AllowLightChecking, bool);
+   //vtkGetMacro(AllowLightChecking, bool);
+   //vtkBooleanMacro(AllowLightChecking, bool);
 
    //BTX
+
+   /// \todo fix possible problems around VTK pipelining
+
    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 
-   // will be exported and accessible through GetLookupTable() 
+   // will be exported and accessible through GetLookupTable()
+
    vtkSetMacro(AllowLookupTable, bool);
    vtkGetMacro(AllowLookupTable, bool);
    vtkBooleanMacro(AllowLookupTable, bool);
 
+   vtkSetMacro(KeepOverlays, bool);
+   vtkGetMacro(KeepOverlays, bool);
+   vtkBooleanMacro(KeepOverlays, bool);
+
+//  Implementation note: when FileLowerLeft (gdcm2) is set to on, the image is not flipped
+// upside down as VTK would expect, use this option only if you know what you are doing.   
+  // vtkSetMacro(FileLowerLeft, bool);
+  // vtkGetMacro(FileLowerLeft, bool);
+  // vtkBooleanMacro(FileLowerLeft, bool);
+
+  vtkSetMacro(FlipY, bool);
+  vtkGetMacro(FlipY, bool);
+  vtkBooleanMacro(FlipY, bool);
+
    vtkGetObjectMacro(LookupTable, vtkLookupTable);
 
 // FIXME : HOW to doxygen a VTK macro?
@@ -76,11 +93,20 @@ public:
  *        WARNING : before using NO_SHADOW, be sure *all* your files
  *        contain accurate values in the 0x0000 element (if any) 
  *        of *each* Shadow Group. The parser will fail if the size is wrong !
- * @param   mode Load mode to be used    
+ * @param   mode Load mode to be used
  */
    vtkSetMacro(LoadMode, int);
    vtkGetMacro(LoadMode, int);
    vtkBooleanMacro(LoadMode, int);
+/*
+ * \ brief drop images with duplicate position  
+ *         and therefore calculate ZSpacing for the whole file set
+ * @param   mode user wants to drop images with duplicate position
+ */
+   vtkSetMacro(DropDuplicatePositions, bool);
+   vtkGetMacro(DropDuplicatePositions, bool);
+   vtkBooleanMacro(DropDuplicatePositions, bool);
 
 protected:
    vtkGdcmReader();
@@ -94,8 +120,8 @@ protected:
    virtual void LoadFileInformation();
    virtual void UpdateFileInformation();
    //BTX
-   virtual void GetFileInformation(gdcm::File *file);
-   virtual bool TestFileInformation(gdcm::File *file);
+   virtual void GetFileInformation(GDCM_NAME_SPACE::File *file);
+   virtual bool TestFileInformation(GDCM_NAME_SPACE::File *file);
    //ETX
 
 private:
@@ -110,14 +136,14 @@ private:
                           const unsigned long updateProgressTarget,
                           unsigned long &updateProgressCount);*/
 
-   void LoadImageInMemory(gdcm::File *f, unsigned char *dest,
+   void LoadImageInMemory(GDCM_NAME_SPACE::File *f, unsigned char *dest,
                           const unsigned long updateProgressTarget,
                           unsigned long &updateProgressCount);
    //ETX
 
 // Variables
    //BTX
-   typedef std::vector<gdcm::File *> gdcmFileList;
+   typedef std::vector<GDCM_NAME_SPACE::File *> gdcmFileList;
    //ETX
 
    vtkLookupTable *LookupTable;
@@ -156,7 +182,7 @@ private:
    std::list<std::string> InternalFileNameList;
    gdcmFileList InternalFileList;
    //bool Execution;  // For VTK5.0
-  
+
    //ETX
 
    /// \brief Bit string integer (each one considered as a boolean)
@@ -165,6 +191,13 @@ private:
    ///        Bit 2 : Skip Sequences inside a Shadow Group, if possible
    ///        Probabely (?), some more to add
    int LoadMode;
+    
+   bool DropDuplicatePositions;
+   
+   bool KeepOverlays;
+   
+  // bool FileLowerLeft;
+   bool FlipY;
 
    /// Pointer to a user suplied function to allow modification of pixel order
    VOID_FUNCTION_PUINT8_PFILE_POINTER UserFunction;
@@ -173,4 +206,3 @@ private:
 
 //-----------------------------------------------------------------------------
 #endif
-