VTK
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 
37 #include "vtkImagingMorphologicalModule.h" // For export macro
38 #include "vtkImageAlgorithm.h"
39 
41 
42 class VTKIMAGINGMORPHOLOGICAL_EXPORT vtkImageOpenClose3D : public vtkImageAlgorithm
43 {
44 public:
46 
49  static vtkImageOpenClose3D *New();
51  void PrintSelf(ostream& os, vtkIndent indent) override;
53 
58  vtkMTimeType GetMTime() override;
59 
61 
64  void DebugOn() override;
65  void DebugOff() override;
67 
71  void Modified() override;
72 
73  // Forward Source messages to filter1
74 
78  void SetKernelSize(int size0, int size1, int size2);
79 
81 
85  void SetOpenValue(double value);
86  double GetOpenValue();
88 
90 
94  void SetCloseValue(double value);
95  double GetCloseValue();
97 
99 
102  vtkGetObjectMacro(Filter0, vtkImageDilateErode3D);
103  vtkGetObjectMacro(Filter1, vtkImageDilateErode3D);
105 
111  vtkInformationVector*) override;
112 
116  int
118  vtkInformationVector** inInfoVec,
119  vtkInformationVector* outInfoVec,
120  int requestFromOutputPort,
121  vtkMTimeType* mtime) override;
122 
123 protected:
125  ~vtkImageOpenClose3D() override;
126 
129 
130  void ReportReferences(vtkGarbageCollector*) override;
131 private:
132  vtkImageOpenClose3D(const vtkImageOpenClose3D&) = delete;
133  void operator=(const vtkImageOpenClose3D&) = delete;
134 };
135 
136 #endif
137 
138 
139 
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:302
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
Will perform opening or closing.
a simple class to control print indentation
Definition: vtkIndent.h:33
int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Process a request from the executive.
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.
vtkImageDilateErode3D * Filter0
Dilates one value and erodes another.
virtual void DebugOn()
Turn debugging output on.