VTK  9.2.5
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 =========================================================================*/
101 #ifndef vtkExtractVOI_h
102 #define vtkExtractVOI_h
103 
104 #include "vtkImageAlgorithm.h"
105 #include "vtkImagingCoreModule.h" // For export macro
106 
107 // Forward Declarations
109 
110 class VTKIMAGINGCORE_EXPORT vtkExtractVOI : public vtkImageAlgorithm
111 {
112 public:
114  void PrintSelf(ostream& os, vtkIndent indent) override;
115 
119  static vtkExtractVOI* New();
120 
122 
127  vtkSetVector6Macro(VOI, int);
128  vtkGetVectorMacro(VOI, int, 6);
130 
132 
138  vtkSetVector3Macro(SampleRate, int);
139  vtkGetVectorMacro(SampleRate, int, 3);
141 
143 
151  vtkSetMacro(IncludeBoundary, vtkTypeBool);
152  vtkGetMacro(IncludeBoundary, vtkTypeBool);
153  vtkBooleanMacro(IncludeBoundary, vtkTypeBool);
155 
156 protected:
158  ~vtkExtractVOI() override;
159 
162  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
163  vtkInformationVector* outputVector) override;
164 
171  bool RequestDataImpl(vtkInformationVector** inputVector, vtkInformationVector* outputVector);
172 
173  int VOI[6];
174  int SampleRate[3];
176 
178 
179 private:
180  vtkExtractVOI(const vtkExtractVOI&) = delete;
181  void operator=(const vtkExtractVOI&) = delete;
182 };
183 
184 #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:119
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
int vtkTypeBool
Definition: vtkABI.h:69