Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitkBilateralFilter.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 #ifndef mitkBilateralFilter_h
13 #define mitkBilateralFilter_h
14 
16 
17 // MITK
18 #include <mitkImageToImageFilter.h>
19 #include <itkImage.h>
20 #include <mitkImage.h>
21 
22 namespace mitk
23 {
44  {
45  public:
47  itkFactorylessNewMacro(Self);
48  itkCloneMacro(Self);
49 
57  itkSetMacro(DomainSigma, float);
58 
66  itkSetMacro(RangeSigma, float);
67 
75  itkSetMacro(AutoKernel, bool);
76 
83  itkSetMacro(KernelRadius, unsigned int);
84 
86  itkGetMacro(DomainSigma, float);
88  itkGetMacro(RangeSigma, float);
90  itkGetMacro(AutoKernel, bool);
92  itkGetMacro(KernelRadius, unsigned int);
93 
94  protected:
102  ~BilateralFilter() override;
107  void GenerateOutputInformation() override;
112  void GenerateData() override;
113 
117  template <typename TPixel, unsigned int VImageDimension>
118  void ItkImageProcessing(const itk::Image<TPixel, VImageDimension> *itkImage);
119 
121  float m_RangeSigma;
123  unsigned int m_KernelRadius;
124  };
125 } // END mitk namespace
126 #endif
#define MITKIMAGEDENOISING_EXPORT
Edge-preserving smoothing filter using bilateral filtering.
bool m_AutoKernel
If true, kernel size is computed from DomainSigma; if false, m_KernelRadius is used.
mitkClassMacro(BilateralFilter, ImageToImageFilter)
~BilateralFilter() override
standard destructor
BilateralFilter()
standard constructor
float m_DomainSigma
Sigma of the spatial domain Gaussian kernel.
float m_RangeSigma
Sigma of the range (intensity) Gaussian kernel.
unsigned int m_KernelRadius
Manual kernel radius, used when m_AutoKernel is false.
void ItkImageProcessing(const itk::Image< TPixel, VImageDimension > *itkImage)
Internal templated method calling the ITK bilteral filter. Here the actual filtering is performed.
void GenerateData() override
Method generating the output of this filter. Called in the updated process of the pipeline....
void GenerateOutputInformation() override
Method generating the output information of this filter (e.g. image dimension, image type,...
Superclass of all classes having one or more Images as input and generating Images as output.
Find image slices visible on a given plane.