VMTK
vtkvmtkVesselnessMeasureImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: VMTK
4 Module: $RCSfile: vtkvmtkVesselnessMeasureImageFilter.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 __vtkvmtkVesselnessMeasureImageFilter_h
34 #define __vtkvmtkVesselnessMeasureImageFilter_h
35 
36 #include "vtkSimpleImageToImageFilter.h"
37 #include "vtkvmtkWin32Header.h"
38 
39 #include "vtkImageData.h"
40 
41 class VTK_VMTK_SEGMENTATION_EXPORT vtkvmtkVesselnessMeasureImageFilter : public vtkSimpleImageToImageFilter
42 {
43  public:
45  vtkTypeMacro(vtkvmtkVesselnessMeasureImageFilter, 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(UseScaledVesselness,int);
76  vtkSetMacro(UseScaledVesselness,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  vtkGetObjectMacro(ScalesOutput,vtkImageData);
88 
89 protected:
92 
93  virtual void SimpleExecute(vtkImageData* input, vtkImageData* output) VTK_OVERRIDE;
94 
95 private:
97  void operator=(const vtkvmtkVesselnessMeasureImageFilter&); // Not implemented.
98 
99  double SigmaMin;
100  double SigmaMax;
101  int NumberOfSigmaSteps;
102  int SigmaStepMethod;
103  int UseScaledVesselness;
104  double Alpha;
105  double Beta;
106  double Gamma;
107  vtkImageData* ScalesOutput;
108 };
109 
110 #endif
111 
Wrapper class around itk::VesselnessMeasureImageFilter.