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(RangeSigma,
double);
137 itkGetConstMacro(RangeSigma,
double);
138 itkGetConstMacro(FilterDimensionality,
unsigned int);
139 itkSetMacro(FilterDimensionality,
unsigned int);
144 void SetDomainSigma(
const double v)
146 m_DomainSigma.Fill(v);
154 itkBooleanMacro(AutomaticKernelSize);
155 itkGetConstMacro(AutomaticKernelSize,
bool);
156 itkSetMacro(AutomaticKernelSize,
bool);
163 itkSetMacro(Radius, SizeType);
164 itkGetConstReferenceMacro(Radius, SizeType);
169 itkSetMacro(NumberOfRangeGaussianSamples,
unsigned long);
170 itkGetConstMacro(NumberOfRangeGaussianSamples,
unsigned long);
173 #ifdef ITK_USE_CONCEPT_CHECKING
187 m_AutomaticKernelSize =
true;
188 m_DomainSigma.Fill(4.0);
190 m_FilterDimensionality = ImageDimension;
191 m_NumberOfRangeGaussianSamples = 100;
192 m_DynamicRange = 0.0;
193 m_DynamicRangeUsed = 0.0;
201 void PrintSelf(std::ostream & os,
Indent indent)
const;
204 void BeforeThreadedGenerateData();
208 void ThreadedGenerateData(
const OutputImageRegionType & outputRegionForThread,
217 virtual void GenerateInputRequestedRegion()
222 void operator=(const Self &);
238 unsigned int m_FilterDimensionality;
243 bool m_AutomaticKernelSize;
246 unsigned long m_NumberOfRangeGaussianSamples;
247 double m_DynamicRange;
248 double m_DynamicRangeUsed;
249 std::vector<
double > m_RangeGaussianTable;
253 #ifndef ITK_MANUAL_INSTANTIATION
254 #include "itkBilateralImageFilter.hxx"