VTK  9.0.2
vtkImageShrink3D.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageShrink3D.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 =========================================================================*/
23 #ifndef vtkImageShrink3D_h
24 #define vtkImageShrink3D_h
25 
26 #include "vtkImagingCoreModule.h" // For export macro
28 
29 class VTKIMAGINGCORE_EXPORT vtkImageShrink3D : public vtkThreadedImageAlgorithm
30 {
31 public:
32  static vtkImageShrink3D* New();
34  void PrintSelf(ostream& os, vtkIndent indent) override;
35 
37 
40  vtkSetVector3Macro(ShrinkFactors, int);
41  vtkGetVector3Macro(ShrinkFactors, int);
43 
45 
48  vtkSetVector3Macro(Shift, int);
49  vtkGetVector3Macro(Shift, int);
51 
53 
61  vtkTypeBool GetAveraging() { return this->GetMean(); }
62  vtkBooleanMacro(Averaging, vtkTypeBool);
64 
66  vtkGetMacro(Mean, vtkTypeBool);
67  vtkBooleanMacro(Mean, vtkTypeBool);
68 
70  vtkGetMacro(Minimum, vtkTypeBool);
71  vtkBooleanMacro(Minimum, vtkTypeBool);
72 
74  vtkGetMacro(Maximum, vtkTypeBool);
75  vtkBooleanMacro(Maximum, vtkTypeBool);
76 
78  vtkGetMacro(Median, vtkTypeBool);
79  vtkBooleanMacro(Median, vtkTypeBool);
80 
81 protected:
83  ~vtkImageShrink3D() override {}
84 
85  int ShrinkFactors[3];
86  int Shift[3];
87  int Mean;
91 
94 
96  vtkInformationVector* outputVector, vtkImageData*** inData, vtkImageData** outData, int ext[6],
97  int id) override;
98 
99  void InternalRequestUpdateExtent(int* inExt, int* outExt);
100 
101 private:
102  vtkImageShrink3D(const vtkImageShrink3D&) = delete;
103  void operator=(const vtkImageShrink3D&) = delete;
104 };
105 
106 #endif
topologically and geometrically regular array of data
Definition: vtkImageData.h:42
Subsamples an image.
vtkTypeBool Minimum
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkTypeBool Maximum
void SetAveraging(vtkTypeBool)
Choose Mean, Minimum, Maximum, Median or sub sampling.
void SetMean(vtkTypeBool)
vtkTypeBool Median
static vtkImageShrink3D * New()
void SetMinimum(vtkTypeBool)
vtkTypeBool GetAveraging()
void ThreadedRequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int ext[6], int id) override
If the subclass does not define an Execute method, then the task will be broken up,...
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to collect information from their inputs and set information f...
void SetMedian(vtkTypeBool)
~vtkImageShrink3D() override
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to translate the update extent requests from each output port ...
void SetMaximum(vtkTypeBool)
void InternalRequestUpdateExtent(int *inExt, int *outExt)
a simple class to control print indentation
Definition: vtkIndent.h:34
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Generic filter that has one input.
int vtkTypeBool
Definition: vtkABI.h:69