00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __freSubtractImageFilterController_h
00023 #define __freSubtractImageFilterController_h
00024
00025 #include "freBinaryFunctorImageFilterControllerBase.h"
00026
00027 #include "itkSubtractImageFilter.h"
00028
00029 namespace FREE
00030 {
00031
00041 freControllerIDMacro(SubtractImageFilterControllerBase, "SubtractImageFilterBase");
00042 template <class TInputImage>
00043 class SubtractImageFilterControllerBase : public BinaryFunctorImageFilterControllerBase< itk::SubtractImageFilter<TInputImage, TInputImage, TInputImage> >
00044 {
00045 public:
00046 typedef itk::SubtractImageFilter<TInputImage, TInputImage, TInputImage> ComponentType;
00047 typedef BinaryFunctorImageFilterControllerBase<ComponentType> Superclass;
00048 typedef SubtractImageFilterControllerBase<TInputImage> Self;
00049
00050 typedef typename ComponentType::Pointer ComponentPointer;
00051 typedef typename Superclass::GenericComponentType GenericComponentType;
00052 typedef typename Superclass::GenericComponentPointer GenericComponentPointer;
00053 typedef typename Superclass::GenericMediaPointer GenericMediaPointer;
00054
00055 itkTypeMacro(SubtractImageFilterControllerBase, BinaryFunctorImageFilterControllerBase);
00056
00057 protected:
00058 SubtractImageFilterControllerBase()
00059 {
00060
00061 this->UpdateControllerID(ControllerID::SubtractImageFilterControllerBase);
00062 this->m_Description = "Basis for itk::SubtractImageFilter";
00063 };
00064 };
00065
00071 freControllerIDMacro(Subtract2DImageFilterController, "Subtract 2D Image Filter");
00072 class Subtract2DImageFilterController : public SubtractImageFilterControllerBase< ImageTypes<2>::InternalImageType >
00073 {
00074 public:
00075 typedef SubtractImageFilterControllerBase< ImageTypes<2>::InternalImageType > Superclass;
00076 typedef Subtract2DImageFilterController Self;
00077
00078 typedef Superclass::ComponentType ComponentType;
00079 typedef ComponentType::Pointer ComponentPointer;
00080 typedef Superclass::GenericComponentType GenericComponentType;
00081 typedef Superclass::GenericComponentPointer GenericComponentPointer;
00082 typedef Superclass::GenericMediaPointer GenericMediaPointer;
00083
00084 itkTypeMacro(Subtract2DImageFilterController, SubtractImageFilterControllerBase);
00085
00086 Subtract2DImageFilterController();
00087 };
00088
00094 freControllerIDMacro(Subtract3DImageFilterController, "Subtract 3D Image Filter");
00095 class Subtract3DImageFilterController : public SubtractImageFilterControllerBase< ImageTypes<3>::InternalImageType >
00096 {
00097 public:
00098 typedef SubtractImageFilterControllerBase< ImageTypes<3>::InternalImageType > Superclass;
00099 typedef Subtract3DImageFilterController Self;
00100
00101 typedef Superclass::ComponentType ComponentType;
00102 typedef ComponentType::Pointer ComponentPointer;
00103 typedef Superclass::GenericComponentType GenericComponentType;
00104 typedef Superclass::GenericComponentPointer GenericComponentPointer;
00105 typedef Superclass::GenericMediaPointer GenericMediaPointer;
00106
00107 itkTypeMacro(Subtract3DImageFilterController, SubtractImageFilterControllerBase);
00108
00109 Subtract3DImageFilterController();
00110 };
00111
00112 }
00113
00114 #endif