VTK  9.3.1
vtkImageOpenClose3D.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
24 #ifndef vtkImageOpenClose3D_h
25 #define vtkImageOpenClose3D_h
26 
27 #include "vtkImageAlgorithm.h"
28 #include "vtkImagingMorphologicalModule.h" // For export macro
29 
30 VTK_ABI_NAMESPACE_BEGIN
32 
33 class VTKIMAGINGMORPHOLOGICAL_EXPORT vtkImageOpenClose3D : public vtkImageAlgorithm
34 {
35 public:
37 
40  static vtkImageOpenClose3D* New();
42  void PrintSelf(ostream& os, vtkIndent indent) override;
44 
49  vtkMTimeType GetMTime() override;
50 
52 
55  void DebugOn() override;
56  void DebugOff() override;
58 
62  void Modified() override;
63 
64  // Forward Source messages to filter1
65 
69  void SetKernelSize(int size0, int size1, int size2);
70 
72 
76  void SetOpenValue(double value);
77  double GetOpenValue();
79 
81 
85  void SetCloseValue(double value);
86  double GetCloseValue();
88 
90 
93  vtkGetObjectMacro(Filter0, vtkImageDilateErode3D);
94  vtkGetObjectMacro(Filter1, vtkImageDilateErode3D);
96 
102 
106  int ComputePipelineMTime(vtkInformation* request, vtkInformationVector** inInfoVec,
107  vtkInformationVector* outInfoVec, int requestFromOutputPort, vtkMTimeType* mtime) override;
108 
109 protected:
111  ~vtkImageOpenClose3D() override;
112 
115 
116  void ReportReferences(vtkGarbageCollector*) override;
117 
118 private:
119  vtkImageOpenClose3D(const vtkImageOpenClose3D&) = delete;
120  void operator=(const vtkImageOpenClose3D&) = delete;
121 };
122 
123 VTK_ABI_NAMESPACE_END
124 #endif
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270
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:64
Will perform opening or closing.
a simple class to control print indentation
Definition: vtkIndent.h:28
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.