]> Creatis software - clitk.git/blobdiff - common/clitkImageToImageGenericFilter.h
- essai pour compiler plus vite
[clitk.git] / common / clitkImageToImageGenericFilter.h
index eb244b8e5bdf724060a3ef2ba64c25f2a6ede9e9..a27ce67292f68e168760760cc519b00f55eb48c2 100644 (file)
@@ -3,8 +3,8 @@
   Program:   clitk
   Module:    $RCSfile: clitkImageToImageGenericFilter.h,v $
   Language:  C++
-  Date:      $Date: 2010/02/09 14:40:55 $
-  Version:   $Revision: 1.7 $
+  Date:      $Date: 2010/03/02 12:20:50 $
+  Version:   $Revision: 1.8 $
   Author :   Joel Schaerer <joel.schaerer@creatis.insa-lyon.fr>
              David Sarrut <david.sarrut@creatis.insa-lyon.fr>
 
 #define CLITKIMAGETOIMAGEGENERICFILTER_H
 
 // clitk include
-#include "clitkCommon.h"
-#include "clitkImageCommon.h"
-#include "clitkCommonGenericFilter.h"
-#include <itkImage.h>
-
-// vv include
-#include <vvImage.h>
-#include <vvFromITK.h>
-#include <vvToITK.h>
-#include <list>
-#include <set>
+#include "clitkImageToImageGenericFilterBase.h"
 
 namespace clitk {
   
-  //--------------------------------------------------------------------
-  class ImageToImageGenericFilterBase: public itk::Object {
-    
-  public: 
-    // constructor - destructor
-    ImageToImageGenericFilterBase(std::string filterName);
-    virtual ~ImageToImageGenericFilterBase() {}
-
-    // Types
-    typedef ImageToImageGenericFilterBase Self;
-    typedef Object                        Superclass;
-    typedef itk::SmartPointer<Self>       Pointer;
-    typedef itk::SmartPointer<const Self> ConstPointer;
-
-    // Filters information
-    const std::string & GetFilterName() { return mFilterName; }
-    void SetFilterName(std::string & n) { mFilterName = n; }
-
-    // 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);
-    void SetInputFilenames(const std::vector<std::string> & filenames);
-    void SetOutputFilename(const std::string & filename);
-    void AddOutputFilename(const std::string & filename);
-    void SetOutputFilenames(const std::vector<std::string> & filenames);
-    std::string GetOutputFilename();
-    void SetIOVerbose(bool b) { mIOVerbose = b; }
-
-    // VVImage IO
-    void SetInputVVImage (vvImage::Pointer input);
-    void SetInputVVImages (std::vector<vvImage::Pointer> input);
-    void AddInputVVImage (vvImage::Pointer input);
-    vvImage::Pointer GetOutputVVImage ();
-    std::vector<vvImage::Pointer> GetOutputVVImages ();
-
-    // Information on available image types
-    void PrintAvailableImageTypes();
-    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;
-
-  protected:  
-    /// Call this function to dispatch an output towards the correct sink
-    template<class ImageType> 
-    void SetNextOutput(typename ImageType::Pointer output);
-
-    /// Call this function to get the nth itk input image, regardless of input source
-    template<class ImageType> 
-    typename ImageType::Pointer GetInput(unsigned int n);
-
-    std::vector<std::string> mInputFilenames;
-    std::list<std::string> mOutputFilenames;
-
-    bool mIOVerbose;
-    unsigned int mDim;
-    std::string mPixelTypeName;
-    unsigned int mNbOfComponents;
-    std::string mFilterName;
-
-    std::vector<vvImage::Pointer> mInputVVImages;
-    std::vector<vvImage::Pointer> mOutputVVImages;
-
-    void ImageTypeError();
-    void SetImageTypeError();
-    bool mFailOnImageTypeError;
-
-  }; // end class clitk::ImageToImageGenericFilter
-
-
-  //--------------------------------------------------------------------
+//--------------------------------------------------------------------
   template<class FilterType>
   class ImageToImageGenericFilter: public ImageToImageGenericFilterBase {
     
@@ -145,13 +58,7 @@ namespace clitk {
     
   }; // 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"
+#include "clitkImageToImageGenericFilter.txx"  
 
 } // end namespace