Medical Imaging Interaction Toolkit  2025.12.02
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 {
25  {
26  public:
28  itkFactorylessNewMacro(Self);
29  itkCloneMacro(Self);
30  itkSetMacro(DomainSigma, float);
31  itkSetMacro(RangeSigma, float);
32  itkSetMacro(AutoKernel, bool);
33  itkSetMacro(KernelRadius, unsigned int);
34 
35  itkGetMacro(DomainSigma, float);
36  itkGetMacro(RangeSigma, float);
37  itkGetMacro(AutoKernel, bool);
38  itkGetMacro(KernelRadius, unsigned int);
39 
40  protected:
48  ~BilateralFilter() override;
53  void GenerateOutputInformation() override;
58  void GenerateData() override;
59 
63  template <typename TPixel, unsigned int VImageDimension>
64  void ItkImageProcessing(const itk::Image<TPixel, VImageDimension> *itkImage);
65 
66  float m_DomainSigma;
67  float m_RangeSigma;
68  bool m_AutoKernel; // true: kernel size is calculated from DomainSigma. See ITK Doc; false: set by m_KernelRadius
69  unsigned int m_KernelRadius; // use in combination with m_AutoKernel = true
70  };
71 } // END mitk namespace
72 #endif
#define MITKIMAGEDENOISING_EXPORT
bool m_AutoKernel
Sigma of the range mask kernel. See ITK docu.
mitkClassMacro(BilateralFilter, ImageToImageFilter)
~BilateralFilter() override
standard destructor
BilateralFilter()
standard constructor
float m_RangeSigma
Sigma of the gaussian kernel. See ITK docu.
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 generating Images (instances of class Image) as output.
Superclass of all classes having one or more Images as input and generating Images as output.
Find image slices visible on a given plane.