]> Creatis software - clitk.git/blobdiff - common/clitkImageToImageGenericFilter.h
Synergy projections file format
[clitk.git] / common / clitkImageToImageGenericFilter.h
index 64ac2396869e1ed462b1bbe5c63fe2d9651ddafa..eb244b8e5bdf724060a3ef2ba64c25f2a6ede9e9 100644 (file)
@@ -3,8 +3,8 @@
   Program:   clitk
   Module:    $RCSfile: clitkImageToImageGenericFilter.h,v $
   Language:  C++
-  Date:      $Date: 2010/02/08 15:45:17 $
-  Version:   $Revision: 1.5 $
+  Date:      $Date: 2010/02/09 14:40:55 $
+  Version:   $Revision: 1.7 $
   Author :   Joel Schaerer <joel.schaerer@creatis.insa-lyon.fr>
              David Sarrut <david.sarrut@creatis.insa-lyon.fr>
 
@@ -85,16 +85,14 @@ namespace clitk {
 
     // Information on available image types
     void PrintAvailableImageTypes();
-    std::string GetAvailableImageTypes();
-    bool CheckDimension(unsigned int d);
-    bool CheckPixelType(std::string pt);
+    virtual std::string GetAvailableImageTypes() = 0;
+
+    virtual bool CheckImageType(unsigned int dim,unsigned int ncomp, std::string pixeltype) = 0;
+    virtual bool CheckImageType() = 0;
 
     // Main function to call for using the filter. 
     virtual bool Update() = 0;
 
-    // Use internally only (TO PUT PROTECTED !!!)
-    void AddImageType(unsigned int d, std::string p);
-
   protected:  
     /// Call this function to dispatch an output towards the correct sink
     template<class ImageType> 
@@ -116,11 +114,6 @@ namespace clitk {
     std::vector<vvImage::Pointer> mInputVVImages;
     std::vector<vvImage::Pointer> mOutputVVImages;
 
-    std::set<std::string> mListOfAllowedPixelTypes;
-    std::set<unsigned int> mListOfAllowedDimensions;
-    bool CheckImageType();
-    bool CheckDimension();
-    bool CheckPixelType();
     void ImageTypeError();
     void SetImageTypeError();
     bool mFailOnImageTypeError;
@@ -138,22 +131,24 @@ namespace clitk {
 
     // constructor - destructor
     ImageToImageGenericFilter(std::string filterName);
-    virtual ~ImageToImageGenericFilter() { delete mImageTypesManager; }
 
     // Main function to call for using the filter. 
     virtual bool Update();
+    virtual bool CheckImageType(unsigned int dim,unsigned int ncomp, std::string pixeltype);
+    virtual bool CheckImageType();
+    virtual std::string GetAvailableImageTypes();
 
   protected:
     // Object that will manage the list of templatized function for
     // each image type.
-    ImageTypesManager<FilterType> mImageTypesManager;
+    ImageTypesManager<FilterType> mImageTypesManager;
     
   }; // end class clitk::ImageToImageGenericFilter
 
   // #define ADD_IMAGE_DIMENSION(DIM) Initialize<DIM>();
 
-#define ADD_VEC_IMAGE_TYPE(DIM, COMP, PT) this->mImageTypesManager->template AddNewDimensionAndPixelType<DIM,COMP, PT>();
-#define ADD_IMAGE_TYPE(DIM, PT) this->mImageTypesManager->template AddNewDimensionAndPixelType<DIM, PT>();
+#define ADD_VEC_IMAGE_TYPE(DIM, COMP, PT) this->mImageTypesManager.template AddNewDimensionAndPixelType<DIM,COMP, PT>();
+#define ADD_IMAGE_TYPE(DIM, PT) this->mImageTypesManager.template AddNewDimensionAndPixelType<DIM, PT>();
 
 
 #include "clitkImageToImageGenericFilter.txx"