00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkSimpleFuzzyConnectednessScalarImageFilter_h
00018 #define __itkSimpleFuzzyConnectednessScalarImageFilter_h
00019
00020 #include "itkImage.h"
00021 #include "itkImageToImageFilter.h"
00022 #include "itkSimpleFuzzyConnectednessImageFilterBase.h"
00023
00024 #include <queue>
00025
00026 namespace itk{
00027
00072 template <class TInputImage, class TOutputImage>
00073 class SimpleFuzzyConnectednessScalarImageFilter:
00074 public SimpleFuzzyConnectednessImageFilterBase<TInputImage,TOutputImage>
00075 {
00076 public:
00078 typedef SimpleFuzzyConnectednessScalarImageFilter Self;
00079 typedef SimpleFuzzyConnectednessImageFilterBase<TInputImage,TOutputImage>
00080 Superclass;
00081 typedef SmartPointer <Self> Pointer;
00082 typedef SmartPointer<const Self> ConstPointer;
00083
00085 itkNewMacro(Self);
00086
00088 itkTypeMacro(SimpleFuzzyConnectednessScalarImageFilter,
00089 SimpleFuzzyConnectednessImageFilterBase);
00090
00092 typedef typename Superclass::IndexType IndexType;
00093 typedef typename Superclass::SizeType SizeType;
00094 typedef typename Superclass::PixelType PixelType;
00095
00098 itkSetMacro(Diff_Mean, double);
00099
00102 itkGetMacro(Diff_Mean, double);
00103
00106 itkSetMacro(Diff_Variance, double);
00107
00110 itkGetMacro(Diff_Variance, double);
00111
00114 itkSetMacro(Mean, double);
00115
00118 itkGetMacro(Mean, double);
00119
00122 itkSetMacro(Variance, double);
00123
00126 itkGetMacro(Variance, double);
00127
00129 void SetParameters(const double inmean,const double invar,
00130 const double indifmean,const double indifvar,const double inweight);
00131
00132 protected:
00133 SimpleFuzzyConnectednessScalarImageFilter();
00134 ~SimpleFuzzyConnectednessScalarImageFilter();
00135
00136 double m_Mean;
00137 double m_Variance;
00138 double m_Diff_Mean;
00139 double m_Diff_Variance;
00140
00141 virtual double FuzzyAffinity(const PixelType f1, const PixelType f2);
00142
00143 private:
00144 SimpleFuzzyConnectednessScalarImageFilter(const Self&);
00145 void operator=(const Self&);
00146
00147 };
00148
00149
00150 }
00151
00152 #ifndef ITK_MANUAL_INSTANTIATION
00153 #include "itkSimpleFuzzyConnectednessScalarImageFilter.txx"
00154 #endif
00155
00156 #endif