VTK  9.1.0
vtkExtractVOI.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkExtractVOI.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 =========================================================================*/
98 #ifndef vtkExtractVOI_h
99 #define vtkExtractVOI_h
100 
101 #include "vtkImageAlgorithm.h"
102 #include "vtkImagingCoreModule.h" // For export macro
103 
104 // Forward Declarations
106 
107 class VTKIMAGINGCORE_EXPORT vtkExtractVOI : public vtkImageAlgorithm
108 {
109 public:
111  void PrintSelf(ostream& os, vtkIndent indent) override;
112 
116  static vtkExtractVOI* New();
117 
119 
124  vtkSetVector6Macro(VOI, int);
125  vtkGetVectorMacro(VOI, int, 6);
127 
129 
135  vtkSetVector3Macro(SampleRate, int);
136  vtkGetVectorMacro(SampleRate, int, 3);
138 
140 
148  vtkSetMacro(IncludeBoundary, vtkTypeBool);
149  vtkGetMacro(IncludeBoundary, vtkTypeBool);
150  vtkBooleanMacro(IncludeBoundary, vtkTypeBool);
152 
153 protected:
155  ~vtkExtractVOI() override;
156 
159  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
160  vtkInformationVector* outputVector) override;
161 
168  bool RequestDataImpl(vtkInformationVector** inputVector, vtkInformationVector* outputVector);
169 
170  int VOI[6];
171  int SampleRate[3];
173 
175 
176 private:
177  vtkExtractVOI(const vtkExtractVOI&) = delete;
178  void operator=(const vtkExtractVOI&) = delete;
179 };
180 
181 #endif
helper for extracting/sub-sampling structured datasets.
select piece (e.g., volume of interest) and/or subsample structured points dataset
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to translate the update extent requests from each output port ...
vtkExtractStructuredGridHelper * Internal
bool RequestDataImpl(vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Implementation for RequestData using a specified VOI.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to collect information from their inputs and set information f...
~vtkExtractVOI() override
static vtkExtractVOI * New()
Construct object to extract all of the input data.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called in response to a REQUEST_DATA request from the executive.
vtkTypeBool IncludeBoundary
Generic algorithm superclass for image algs.
a simple class to control print indentation
Definition: vtkIndent.h:113
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
int vtkTypeBool
Definition: vtkABI.h:69