18 #ifndef __itkBilateralImageFilter_h
19 #define __itkBilateralImageFilter_h
74 template<
class TInputImage,
class TOutputImage >
108 itkStaticConstMacro(ImageDimension,
unsigned int,
109 TOutputImage::ImageDimension);
135 itkGetConstMacro(DomainSigma,
const ArrayType);
136 itkSetMacro(DomainMu,
double);
137 itkGetConstReferenceMacro(DomainMu,
double);
138 itkSetMacro(RangeSigma,
double);
139 itkGetConstMacro(RangeSigma,
double);
140 itkGetConstMacro(FilterDimensionality,
unsigned int);
141 itkSetMacro(FilterDimensionality,
unsigned int);
146 void SetDomainSigma(
const double v)
148 m_DomainSigma.Fill(v);
156 itkBooleanMacro(AutomaticKernelSize);
157 itkGetConstMacro(AutomaticKernelSize,
bool);
158 itkSetMacro(AutomaticKernelSize,
bool);
165 itkSetMacro(Radius, SizeType);
166 itkGetConstReferenceMacro(Radius, SizeType);
171 itkSetMacro(NumberOfRangeGaussianSamples,
unsigned long);
172 itkGetConstMacro(NumberOfRangeGaussianSamples,
unsigned long);
175 #ifdef ITK_USE_CONCEPT_CHECKING
191 void PrintSelf(std::ostream & os,
Indent indent)
const;
194 void BeforeThreadedGenerateData();
198 void ThreadedGenerateData(
const OutputImageRegionType & outputRegionForThread,
207 virtual void GenerateInputRequestedRegion()
212 void operator=(const Self &);
228 unsigned int m_FilterDimensionality;
233 bool m_AutomaticKernelSize;
236 unsigned long m_NumberOfRangeGaussianSamples;
237 double m_DynamicRange;
238 double m_DynamicRangeUsed;
239 std::vector<
double > m_RangeGaussianTable;
243 #ifndef ITK_MANUAL_INSTANTIATION
244 #include "itkBilateralImageFilter.hxx"