VMTK
vtkvmtkLevelSetSigmoidFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: VMTK
4 Module: $RCSfile: vtkvmtkLevelSetSigmoidFilter.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  This software is distributed WITHOUT ANY WARRANTY; without even
15  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16  PURPOSE. See the above copyright notices for more information.
17 
18 =========================================================================*/
28 #ifndef __vtkvmtkLevelSetSigmoidFilter_h
29 #define __vtkvmtkLevelSetSigmoidFilter_h
30 
31 #include "vtkSimpleImageToImageFilter.h"
32 #include "vtkImageData.h"
33 #include "vtkvmtkWin32Header.h"
34 
35 class VTK_VMTK_MISC_EXPORT vtkvmtkLevelSetSigmoidFilter : public vtkSimpleImageToImageFilter
36 {
37  public:
38  vtkTypeMacro(vtkvmtkLevelSetSigmoidFilter,vtkSimpleImageToImageFilter);
39  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
40 
41  static vtkvmtkLevelSetSigmoidFilter *New();
42 
43  vtkSetObjectMacro(LevelSetsImage,vtkImageData);
44  vtkGetObjectMacro(LevelSetsImage,vtkImageData);
45 
46  // Get/Set sigma value of the sigmoid function. Sigma determines the width of the sigmoid function. The value is given in pixel units.
47  vtkSetMacro(Sigma,double);
48  vtkGetMacro(Sigma,double);
49 
51 
53  vtkSetMacro(ScaleValue,double);
54  vtkGetMacro(ScaleValue,double);
56 
58 
62  vtkSetMacro(ComputeScaleValueFromInput,int);
63  vtkGetMacro(ComputeScaleValueFromInput,int);
64  vtkBooleanMacro(ComputeScaleValueFromInput,int);
66 
67  protected:
70 
71  virtual void SimpleExecute(vtkImageData* input, vtkImageData* output) VTK_OVERRIDE;
72 
73  vtkImageData *LevelSetsImage;
74 
75  double Sigma;
76  double ScaleValue;
78 
79  private:
81  void operator=(const vtkvmtkLevelSetSigmoidFilter&); // Not implemented.
82 };
83 
84 #endif
Apply a sigmoid function to every voxel of an image.