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