VTK  9.0.2
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 =========================================================================*/
33 #ifndef vtkImageOpenClose3D_h
34 #define vtkImageOpenClose3D_h
35 
36 #include "vtkImageAlgorithm.h"
37 #include "vtkImagingMorphologicalModule.h" // For export macro
38 
40 
41 class VTKIMAGINGMORPHOLOGICAL_EXPORT vtkImageOpenClose3D : public vtkImageAlgorithm
42 {
43 public:
45 
50  void PrintSelf(ostream& os, vtkIndent indent) override;
52 
57  vtkMTimeType GetMTime() override;
58 
60 
63  void DebugOn() override;
64  void DebugOff() override;
66 
70  void Modified() override;
71 
72  // Forward Source messages to filter1
73 
77  void SetKernelSize(int size0, int size1, int size2);
78 
80 
84  void SetOpenValue(double value);
85  double GetOpenValue();
87 
89 
93  void SetCloseValue(double value);
94  double GetCloseValue();
96 
98 
101  vtkGetObjectMacro(Filter0, vtkImageDilateErode3D);
102  vtkGetObjectMacro(Filter1, vtkImageDilateErode3D);
104 
110 
115  vtkInformationVector* outInfoVec, int requestFromOutputPort, vtkMTimeType* mtime) override;
116 
117 protected:
120 
123 
125 
126 private:
127  vtkImageOpenClose3D(const vtkImageOpenClose3D&) = delete;
128  void operator=(const vtkImageOpenClose3D&) = delete;
129 };
130 
131 #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
Methods invoked by print to print information about the object including superclasses.
void DebugOff() override
Turn debugging output off.
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
void SetKernelSize(int size0, int size1, int size2)
Selects the size of gaps or objects removed.
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:34
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:293