Slicer 5.8
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
vtkITKImageThresholdCalculator.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Copyright Brigham and Women's Hospital (BWH) All Rights Reserved.
4
5 See COPYRIGHT.txt
6 or http://www.slicer.org/copyright/copyright.txt for details.
7
8 Program: vtkITK
9 Module: $HeadURL$
10 Date: $Date$
11 Version: $Revision$
12
13==========================================================================*/
14
15#ifndef __vtkITKImageThresholdCalculator_h
16#define __vtkITKImageThresholdCalculator_h
17
18#include "vtkImageAlgorithm.h"
19#include "vtkImageData.h"
20#include "vtkObjectFactory.h"
21#include "vtkMatrix4x4.h"
22
23#include "vtkITK.h"
24#include "itkImageIOBase.h"
25
26class vtkStringArray;
27
28class VTK_ITK_EXPORT vtkITKImageThresholdCalculator : public vtkImageAlgorithm
29{
30public:
32 vtkTypeMacro(vtkITKImageThresholdCalculator,vtkImageAlgorithm);
33 void PrintSelf(ostream& os, vtkIndent indent) override;
34
35 vtkGetMacro(Threshold, double);
36
37 enum
38 {
51 NUMBER_OF_METHODS // this must be the last
52 };
53
55
61 vtkSetClampMacro(Method, int, 0, NUMBER_OF_METHODS-1);
62 vtkGetMacro(Method, int);
63 void SetMethodToHuang() { this->SetMethod(METHOD_HUANG); }
64 void SetMethodToIntermodes() { this->SetMethod(METHOD_INTERMODES); }
65 void SetMethodToIsoData() { this->SetMethod(METHOD_ISO_DATA); }
66 void SetMethodToKittlerIllingworth() { this->SetMethod(METHOD_KITTLER_ILLINGWORTH); }
67 void SetMethodToLi() { this->SetMethod(METHOD_LI); }
68 void SetMethodToMaximumEntropy() { this->SetMethod(METHOD_MAXIMUM_ENTROPY); }
69 void SetMethodToMoments() { this->SetMethod(METHOD_MOMENTS); }
70 void SetMethodToOtsu() { this->SetMethod(METHOD_OTSU); }
71 void SetMethodToRenyiEntropy() { this->SetMethod(METHOD_RENYI_ENTROPY); }
72 void SetMethodToShanbhag() { this->SetMethod(METHOD_SHANBHAG); }
73 void SetMethodToTriangle() { this->SetMethod(METHOD_TRIANGLE); }
74 void SetMethodToYen() { this->SetMethod(METHOD_YEN); }
75 static const char *GetMethodAsString(int method);
77
80 using vtkAlgorithm::Update;
82 void Update() override;
83
84protected:
87
88 int Method;
89 double Threshold;
90
91private:
93 void operator=(const vtkITKImageThresholdCalculator&) = delete;
94};
95
96//vtkStandardNewMacro(vtkITKImageThresholdCalculator);
97
98#endif
static vtkITKImageThresholdCalculator * New()
static const char * GetMethodAsString(int method)
~vtkITKImageThresholdCalculator() override
void Update() override
The main interface which triggers the writer to start.
void PrintSelf(ostream &os, vtkIndent indent) override