Medical Imaging Interaction Toolkit  2016.11.0
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,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 #ifndef __mitkBilateralFilter_h
17 #define __mitkBilateralFilter_h
18 
20 
21 // MITK
22 #include "mitkImageToImageFilter.h"
23 #include <itkImage.h>
24 #include <mitkImage.h>
25 
26 namespace mitk
27 {
29  {
30  public:
32  itkFactorylessNewMacro(Self) itkCloneMacro(Self)
33 
34  itkSetMacro(DomainSigma, float);
35  itkSetMacro(RangeSigma, float);
36  itkSetMacro(AutoKernel, bool);
37  itkSetMacro(KernelRadius, unsigned int);
38 
39  itkGetMacro(DomainSigma, float);
40  itkGetMacro(RangeSigma, float);
41  itkGetMacro(AutoKernel, bool);
42  itkGetMacro(KernelRadius, unsigned int);
43 
44  protected:
52  ~BilateralFilter();
57  virtual void GenerateOutputInformation() override;
62  virtual void GenerateData() override;
63 
67  template <typename TPixel, unsigned int VImageDimension>
68  void ItkImageProcessing(const itk::Image<TPixel, VImageDimension> *itkImage);
69 
70  float m_DomainSigma;
71  float m_RangeSigma;
72  bool m_AutoKernel; // true: kernel size is calculated from DomainSigma. See ITK Doc; false: set by m_KernelRadius
73  unsigned int m_KernelRadius; // use in combination with m_AutoKernel = true
74  };
75 } // END mitk namespace
76 #endif
Superclass of all classes generating some kind of mitk::BaseData.
#define MITKIMAGEDENOISING_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
float m_RangeSigma
Sigma of the gaussian kernel. See ITK docu.
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:44
Superclass of all classes having one or more Images as input and generating Images as output...
bool m_AutoKernel
Sigma of the range mask kernel. See ITK docu.