]> Creatis software - clitk.git/blobdiff - filters/clitkSplitImageGenericFilter.h
support additional types
[clitk.git] / filters / clitkSplitImageGenericFilter.h
index 8df8a28687f077587183f66f102f97d58ce801ac..359464cb31cabf33651c01c6bc7b46949d1850b3 100644 (file)
@@ -34,7 +34,8 @@
 namespace clitk {
   
   //--------------------------------------------------------------------
-  class SplitImageGenericFilter : public clitk::ImageToImageGenericFilter {
+  class SplitImageGenericFilter: 
+    public clitk::ImageToImageGenericFilter<SplitImageGenericFilter> {
   
   public:
        
@@ -42,8 +43,7 @@ namespace clitk {
     SplitImageGenericFilter ();
 
     // Types
-    typedef SplitImageGenericFilter  Self;
-    typedef ImageToImageGenericFilter     Superclass;
+    typedef SplitImageGenericFilter       Self;
     typedef itk::SmartPointer<Self>       Pointer;
     typedef itk::SmartPointer<const Self> ConstPointer;
 
@@ -54,16 +54,15 @@ namespace clitk {
     void SetSplitDimension (int dim) { mSplitDimension = dim; }
     void SetVerbose (const bool v) { m_Verbose = v; }
 
-    // Update
-    void Update ();
+   //--------------------------------------------------------------------
+    // Main function called each time the filter is updated
+    template<class InputImageType>  
+    void UpdateWithInputImageType();
 
   protected:  
+    template<unsigned int Dim> void InitializeImageType();
     int  mSplitDimension;
     bool m_Verbose;
-    //--------------------------------------------------------------------
-    template<unsigned int Dim> void UpdateWithDim(std::string PixelType, int Components);
-    template<unsigned int Dim, class PixelType> void UpdateWithDimAndPixelType();
-    //--------------------------------------------------------------------
 
   }; // end class SplitImageGenericFilter
 //--------------------------------------------------------------------