]> Creatis software - clitk.git/blobdiff - common/clitkImageToImageGenericFilterBase.h
create clitkDD.h to avoid the heavy dependency on clitkCommon.h only for DD
[clitk.git] / common / clitkImageToImageGenericFilterBase.h
index 601a752fc55f56021e2803e6dfcf8987a727ba4a..86cd77a7d1adfd0310535811c3cf30f8653070a5 100644 (file)
   - BSD        See included LICENSE.txt file
   - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
 ======================================================================-====*/
+
 #ifndef CLITKIMAGETOIMAGEGENERICFILTERBASE_H
 #define CLITKIMAGETOIMAGEGENERICFILTERBASE_H
+
+// clitk 
 #include "clitkCommon.h"
 #include "clitkImageCommon.h"
 #include "clitkCommonGenericFilter.h"
+#include "clitkFilterBase.h"
 
-// itk include
+// itk 
 #include <itkImage.h>
 
-// vv include
+// vv 
 #include "vvImage.h"
 #include "vvFromITK.h"
 #include "vvToITK.h"
@@ -48,12 +52,16 @@ namespace clitk {
     // Filters information
     const std::string & GetFilterName();
     void SetFilterName(std::string & n);
+    
+    // Error management
+    // itkSetMacro(LastError, std::string);
+    // itkGetConstMacro(LastError, std::string);
+    // bool HasError() { return (GetLastError() != ""); }
 
     // Generic IO
     /// Returns the dimension and pixel type of the *first* input
     void GetInputImageDimensionAndPixelType(unsigned int& dim, std::string& pixeltype,
                                             unsigned int & components);
-
     // File IO
     void SetInputFilename(const std::string & filename);
     void AddInputFilename(const std::string & filename);
@@ -82,8 +90,18 @@ namespace clitk {
     // Main function to call for using the filter. 
     virtual bool Update() = 0;
 
+    // Get the associated filter
+    FilterBase * GetFilterBase() { return m_FilterBase; }
+    
+    // Indicate that the filter must stop as soon as possible (if threaded)
+    // void MustStop();
+    void DeleteLastOutputImage();
+    // itkSetMacro(StopOnError, bool);
+    // itkGetConstMacro(StopOnError, bool);
+    // itkBooleanMacro(StopOnError);    
+
   protected:  
-    bool mReadOnDisk;
+    bool m_ReadOnDisk;
     /// Call this function to dispatch an output towards the correct sink
     template<class ImageType> 
     void SetNextOutput(typename ImageType::Pointer output);
@@ -92,21 +110,26 @@ namespace clitk {
     template<class ImageType> 
     typename ImageType::Pointer GetInput(unsigned int n);
 
-    std::vector<std::string> mInputFilenames;
-    std::list<std::string> mOutputFilenames;
+    std::vector<std::string> m_InputFilenames;
+    std::list<std::string> m_OutputFilenames;
 
-    bool mIOVerbose;
-    unsigned int mDim;
-    std::string mPixelTypeName;
-    unsigned int mNbOfComponents;
-    std::string mFilterName;
+    bool m_IOVerbose;
+    unsigned int m_Dim;
+    std::string m_PixelTypeName;
+    unsigned int m_NbOfComponents;
+    std::string m_FilterName;
 
-    std::vector<vvImage::Pointer> mInputVVImages;
-    std::vector<vvImage::Pointer> mOutputVVImages;
+    std::vector<vvImage::Pointer> m_InputVVImages;
+    std::vector<vvImage::Pointer> m_OutputVVImages;
 
     void ImageTypeError();
     void SetImageTypeError();
-    bool mFailOnImageTypeError;
+    bool m_FailOnImageTypeError;
+    
+    // std::string m_LastError;
+    void SetFilterBase(FilterBase * f) { m_FilterBase = f; }
+    FilterBase * m_FilterBase;
+    // bool m_StopOnError;
 
   }; // end class clitk::ImageToImageGenericFilter