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 =========================================================================*/
36 #ifndef vtkImageOpenClose3D_h
37 #define vtkImageOpenClose3D_h
38 
39 
40 #include "vtkImagingMorphologicalModule.h" // For export macro
41 #include "vtkImageAlgorithm.h"
42 
44 
45 class VTKIMAGINGMORPHOLOGICAL_EXPORT vtkImageOpenClose3D : public vtkImageAlgorithm
46 {
47 public:
49 
52  static vtkImageOpenClose3D *New();
54  void PrintSelf(ostream& os, vtkIndent indent) override;
56 
61  vtkMTimeType GetMTime() override;
62 
64 
67  void DebugOn() override;
68  void DebugOff() override;
70 
74  void Modified() override;
75 
76  // Forward Source messages to filter1
77 
81  void SetKernelSize(int size0, int size1, int size2);
82 
84 
88  void SetOpenValue(double value);
89  double GetOpenValue();
91 
93 
97  void SetCloseValue(double value);
98  double GetCloseValue();
100 
102 
105  vtkGetObjectMacro(Filter0, vtkImageDilateErode3D);
106  vtkGetObjectMacro(Filter1, vtkImageDilateErode3D);
108 
114  vtkInformationVector*) override;
115 
119  int
121  vtkInformationVector** inInfoVec,
122  vtkInformationVector* outInfoVec,
123  int requestFromOutputPort,
124  vtkMTimeType* mtime) override;
125 
126 protected:
128  ~vtkImageOpenClose3D() override;
129 
132 
133  void ReportReferences(vtkGarbageCollector*) override;
134 private:
135  vtkImageOpenClose3D(const vtkImageOpenClose3D&) = delete;
136  void operator=(const vtkImageOpenClose3D&) = delete;
137 };
138 
139 #endif
140 
141 
142 
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:39
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.