+
+ //--------------------------------------------------------------------
+ template<class FilterType>
+ class ImageToImageGenericFilter: public ImageToImageGenericFilterBase {
+
+ public:
+
+ typedef ImageToImageGenericFilter<FilterType> Self;
+
+ // constructor - destructor
+ ImageToImageGenericFilter(std::string filterName);
+
+ // 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;
+
+ }; // 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>();
+
+
+#include "clitkImageToImageGenericFilter.txx"
+