VTK  9.2.6
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 =========================================================================*/
36 #ifndef vtkImageOpenClose3D_h
37 #define vtkImageOpenClose3D_h
38 
39 #include "vtkImageAlgorithm.h"
40 #include "vtkImagingMorphologicalModule.h" // For export macro
41 
43 
44 class VTKIMAGINGMORPHOLOGICAL_EXPORT vtkImageOpenClose3D : public vtkImageAlgorithm
45 {
46 public:
48 
51  static vtkImageOpenClose3D* New();
53  void PrintSelf(ostream& os, vtkIndent indent) override;
55 
60  vtkMTimeType GetMTime() override;
61 
63 
66  void DebugOn() override;
67  void DebugOff() override;
69 
73  void Modified() override;
74 
75  // Forward Source messages to filter1
76 
80  void SetKernelSize(int size0, int size1, int size2);
81 
83 
87  void SetOpenValue(double value);
88  double GetOpenValue();
90 
92 
96  void SetCloseValue(double value);
97  double GetCloseValue();
99 
101 
104  vtkGetObjectMacro(Filter0, vtkImageDilateErode3D);
105  vtkGetObjectMacro(Filter1, vtkImageDilateErode3D);
107 
113 
117  int ComputePipelineMTime(vtkInformation* request, vtkInformationVector** inInfoVec,
118  vtkInformationVector* outInfoVec, int requestFromOutputPort, vtkMTimeType* mtime) override;
119 
120 protected:
122  ~vtkImageOpenClose3D() override;
123 
126 
127  void ReportReferences(vtkGarbageCollector*) override;
128 
129 private:
130  vtkImageOpenClose3D(const vtkImageOpenClose3D&) = delete;
131  void operator=(const vtkImageOpenClose3D&) = delete;
132 };
133 
134 #endif
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287
void ReportReferences(vtkGarbageCollector *) override
virtual int ComputePipelineMTime(vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, vtkMTimeType *mtime)
A special version of ProcessRequest meant specifically for the pipeline modified time request...
virtual void DebugOff()
Turn debugging output off.
Detect and break reference loops.
vtkImageDilateErode3D * Filter1
int vtkTypeBool
Definition: vtkABI.h:69
Will perform opening or closing.
a simple class to control print indentation
Definition: vtkIndent.h:39
virtual vtkMTimeType GetMTime()
Return this object's modified time.
virtual void Modified()
Update the modification time for this object.
Generic algorithm superclass for image algs.
Store zero or more vtkInformation instances.
static vtkAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkTypeBool ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Process a request from the executive.
vtkImageDilateErode3D * Filter0
Dilates one value and erodes another.
virtual void DebugOn()
Turn debugging output on.