VMTK
vtkvmtkOtsuMultipleThresholdsImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: VMTK
4 Module: $RCSfile: vtkvmtkOtsuMultipleThresholdsImageFilter.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 __vtkvmtkOtsuMultipleThresholdsImageFilter_h
34 #define __vtkvmtkOtsuMultipleThresholdsImageFilter_h
35 
36 #include "vtkSimpleImageToImageFilter.h"
37 #include "vtkvmtkWin32Header.h"
38 
39 class vtkFloatArray;
40 
41 class VTK_VMTK_SEGMENTATION_EXPORT vtkvmtkOtsuMultipleThresholdsImageFilter : public vtkSimpleImageToImageFilter
42 {
43  public:
45  vtkTypeMacro(vtkvmtkOtsuMultipleThresholdsImageFilter, vtkSimpleImageToImageFilter);
46 
47  vtkGetMacro(NumberOfHistogramBins,int);
48  vtkSetMacro(NumberOfHistogramBins,int);
49 
50  vtkGetMacro(NumberOfThresholds,int);
51  vtkSetMacro(NumberOfThresholds,int);
52 
53  vtkGetMacro(LabelOffset,int);
54  vtkSetMacro(LabelOffset,int);
55 
56  vtkGetObjectMacro(Thresholds,vtkFloatArray);
57 
58 protected:
61 
62  virtual void SimpleExecute(vtkImageData* input, vtkImageData* output) VTK_OVERRIDE;
63  virtual int RequestInformation(vtkInformation * vtkNotUsed(request), vtkInformationVector **inputVector, vtkInformationVector *outputVector) VTK_OVERRIDE;
64 
65 private:
67  void operator=(const vtkvmtkOtsuMultipleThresholdsImageFilter&); // Not implemented.
68 
69  int NumberOfHistogramBins;
70  int NumberOfThresholds;
71  int LabelOffset;
72  vtkFloatArray* Thresholds;
73 };
74 
75 #endif
76 
Wrapper class around itk::OtsuMultipleThresholdsImageFilter.