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
00073 template <class TInputImage, class TOutputImage>
00074 class ITK_EXPORT SimpleFuzzyConnectednessScalarImageFilter:
00075 public SimpleFuzzyConnectednessImageFilterBase<TInputImage,TOutputImage>
00076 {
00077 public:
00079 typedef SimpleFuzzyConnectednessScalarImageFilter Self;
00080 typedef SimpleFuzzyConnectednessImageFilterBase<TInputImage,TOutputImage>
00081 Superclass;
00082 typedef SmartPointer <Self> Pointer;
00083 typedef SmartPointer<const Self> ConstPointer;
00084
00086 itkNewMacro(Self);
00087
00089 itkTypeMacro(SimpleFuzzyConnectednessScalarImageFilter,
00090 SimpleFuzzyConnectednessImageFilterBase);
00091
00093 typedef typename Superclass::IndexType IndexType;
00094 typedef typename Superclass::SizeType SizeType;
00095 typedef typename Superclass::PixelType PixelType;
00096
00099 itkSetMacro(Diff_Mean, double);
00100
00103 itkGetMacro(Diff_Mean, double);
00104
00107 itkSetMacro(Diff_Variance, double);
00108
00111 itkGetMacro(Diff_Variance, double);
00112
00115 itkSetMacro(Mean, double);
00116
00119 itkGetMacro(Mean, double);
00120
00123 itkSetMacro(Variance, double);
00124
00127 itkGetMacro(Variance, double);
00128
00130 void SetParameters(const double inmean,const double invar,
00131 const double indifmean,const double indifvar,const double inweight);
00132
00133 protected:
00134 SimpleFuzzyConnectednessScalarImageFilter();
00135 ~SimpleFuzzyConnectednessScalarImageFilter();
00136 virtual void PrintSelf(std::ostream& os, Indent indent) const;
00137
00138 double m_Mean;
00139 double m_Variance;
00140 double m_Diff_Mean;
00141 double m_Diff_Variance;
00142
00143 virtual double FuzzyAffinity(const PixelType f1, const PixelType f2);
00144
00145 private:
00146 SimpleFuzzyConnectednessScalarImageFilter(const Self&);
00147 void operator=(const Self&);
00148
00149 };
00150
00151
00152 }
00153
00154 #ifndef ITK_MANUAL_INSTANTIATION
00155 #include "itkSimpleFuzzyConnectednessScalarImageFilter.txx"
00156 #endif
00157
00158 #endif