VTK  9.1.0
vtkImageOpenClose3D.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageOpenClose3D.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
52 #ifndef vtkImageOpenClose3D_h
53 #define vtkImageOpenClose3D_h
54 
55 #include "vtkImageAlgorithm.h"
56 #include "vtkImagingMorphologicalModule.h" // For export macro
57 
59 
60 class VTKIMAGINGMORPHOLOGICAL_EXPORT vtkImageOpenClose3D : public vtkImageAlgorithm
61 {
62 public:
64 
69  void PrintSelf(ostream& os, vtkIndent indent) override;
71 
76  vtkMTimeType GetMTime() override;
77 
79 
82  void DebugOn() override;
83  void DebugOff() override;
85 
89  void Modified() override;
90 
91  // Forward Source messages to filter1
92 
96  void SetKernelSize(int size0, int size1, int size2);
97 
99 
103  void SetOpenValue(double value);
104  double GetOpenValue();
106 
108 
112  void SetCloseValue(double value);
113  double GetCloseValue();
115 
117 
120  vtkGetObjectMacro(Filter0, vtkImageDilateErode3D);
121  vtkGetObjectMacro(Filter1, vtkImageDilateErode3D);
123 
129 
134  vtkInformationVector* outInfoVec, int requestFromOutputPort, vtkMTimeType* mtime) override;
135 
136 protected:
139 
142 
144 
145 private:
146  vtkImageOpenClose3D(const vtkImageOpenClose3D&) = delete;
147  void operator=(const vtkImageOpenClose3D&) = delete;
148 };
149 
150 #endif
Detect and break reference loops.
Generic algorithm superclass for image algs.
Dilates one value and erodes another.
Will perform opening or closing.
vtkMTimeType GetMTime() override
This method considers the sub filters MTimes when computing this objects modified time.
vtkImageDilateErode3D * Filter0
void PrintSelf(ostream &os, vtkIndent indent) override
Default open value is 0, and default close value is 255.
void DebugOff() override
Turn debugging output on.
void ReportReferences(vtkGarbageCollector *) override
void SetOpenValue(double value)
Determines the value that will opened.
void DebugOn() override
Turn debugging output on.
void SetCloseValue(double value)
Determines the value that will closed.
int ComputePipelineMTime(vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, vtkMTimeType *mtime) override
Override to send the request to internal pipeline.
static vtkImageOpenClose3D * New()
Default open value is 0, and default close value is 255.
~vtkImageOpenClose3D() override
double GetOpenValue()
Determines the value that will opened.
void SetKernelSize(int size0, int size1, int size2)
Selects the size of gaps or objects removed.
double GetCloseValue()
Determines the value that will closed.
vtkTypeBool ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
see vtkAlgorithm for details
void Modified() override
Pass modified message to sub filters.
vtkImageDilateErode3D * Filter1
a simple class to control print indentation
Definition: vtkIndent.h:113
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
@ value
Definition: vtkX3D.h:226
int vtkTypeBool
Definition: vtkABI.h:69
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287