VTK  9.3.20240418
vtkExtractVOI.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
89 #ifndef vtkExtractVOI_h
90 #define vtkExtractVOI_h
91 
92 #include "vtkImageAlgorithm.h"
93 #include "vtkImagingCoreModule.h" // For export macro
94 
95 // Forward Declarations
96 VTK_ABI_NAMESPACE_BEGIN
98 
99 class VTKIMAGINGCORE_EXPORT vtkExtractVOI : public vtkImageAlgorithm
100 {
101 public:
103  void PrintSelf(ostream& os, vtkIndent indent) override;
104 
108  static vtkExtractVOI* New();
109 
111 
116  vtkSetVector6Macro(VOI, int);
117  vtkGetVectorMacro(VOI, int, 6);
119 
121 
127  vtkSetVector3Macro(SampleRate, int);
128  vtkGetVectorMacro(SampleRate, int, 3);
130 
132 
140  vtkSetMacro(IncludeBoundary, vtkTypeBool);
141  vtkGetMacro(IncludeBoundary, vtkTypeBool);
142  vtkBooleanMacro(IncludeBoundary, vtkTypeBool);
144 
145 protected:
147  ~vtkExtractVOI() override;
148 
151  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
152  vtkInformationVector* outputVector) override;
153 
160  bool RequestDataImpl(vtkInformationVector** inputVector, vtkInformationVector* outputVector);
161 
162  int VOI[6];
163  int SampleRate[3];
165 
167 
168 private:
169  vtkExtractVOI(const vtkExtractVOI&) = delete;
170  void operator=(const vtkExtractVOI&) = delete;
171 };
172 
173 VTK_ABI_NAMESPACE_END
174 #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:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
int vtkTypeBool
Definition: vtkABI.h:64