VMTK
vtkvmtkObjectnessMeasureImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: VMTK
4 Module: $RCSfile: vtkvmtkObjectnessMeasureImageFilter.h,v $
5 Language: C++
6 
7  Copyright (c) Luca Antiga, David Steinman. All rights reserved.
8  See LICENSE file for details.
9 
10  Portions of this code are covered under the VTK copyright.
11  See VTKCopyright.txt or http://www.kitware.com/VTKCopyright.htm
12  for details.
13 
14  Portions of this code are covered under the ITK copyright.
15  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm
16  for details.
17 
18  This software is distributed WITHOUT ANY WARRANTY; without even
19  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
20  PURPOSE. See the above copyright notices for more information.
21 
22 =========================================================================*/
23 
33 #ifndef __vtkvmtkObjectnessMeasureImageFilter_h
34 #define __vtkvmtkObjectnessMeasureImageFilter_h
35 
36 #include "vtkSimpleImageToImageFilter.h"
37 #include "vtkvmtkWin32Header.h"
38 
39 #include "vtkImageData.h"
40 
41 class VTK_VMTK_SEGMENTATION_EXPORT vtkvmtkObjectnessMeasureImageFilter : public vtkSimpleImageToImageFilter
42 {
43  public:
45  vtkTypeMacro(vtkvmtkObjectnessMeasureImageFilter, vtkSimpleImageToImageFilter);
46 
47  vtkGetMacro(SigmaMin,double);
48  vtkSetMacro(SigmaMin,double);
49 
50  vtkGetMacro(SigmaMax,double);
51  vtkSetMacro(SigmaMax,double);
52 
53  vtkGetMacro(NumberOfSigmaSteps,int);
54  vtkSetMacro(NumberOfSigmaSteps,int);
55 
56  vtkGetMacro(SigmaStepMethod,int);
57  vtkSetMacro(SigmaStepMethod,int);
58 
60  {
61  this->SetSigmaStepMethod(EQUISPACED);
62  }
63 
65  {
66  this->SetSigmaStepMethod(LOGARITHMIC);
67  }
68 
69  enum
70  {
72  LOGARITHMIC
73  };
74 
75  vtkGetMacro(UseScaledObjectness,int);
76  vtkSetMacro(UseScaledObjectness,int);
77 
78  vtkGetMacro(Alpha,double);
79  vtkSetMacro(Alpha,double);
80 
81  vtkGetMacro(Beta,double);
82  vtkSetMacro(Beta,double);
83 
84  vtkGetMacro(Gamma,double);
85  vtkSetMacro(Gamma,double);
86 
87  vtkGetMacro(ObjectDimension,int);
88  vtkSetMacro(ObjectDimension,int);
89 
90  vtkGetObjectMacro(ScalesOutput,vtkImageData);
91 
92 protected:
95 
96  virtual void SimpleExecute(vtkImageData* input, vtkImageData* output) VTK_OVERRIDE;
97 
98 private:
100  void operator=(const vtkvmtkObjectnessMeasureImageFilter&); // Not implemented.
101 
102  double SigmaMin;
103  double SigmaMax;
104  int NumberOfSigmaSteps;
105  int SigmaStepMethod;
106  int UseScaledObjectness;
107  double Alpha;
108  double Beta;
109  double Gamma;
110  int ObjectDimension;
111  vtkImageData* ScalesOutput;
112 };
113 
114 #endif
115 
Wrapper class around itk::ObjectnessMeasureImageFilter.