VTK  9.3.0
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
39 #ifndef vtkExtractVOI_h
40 #define vtkExtractVOI_h
41 
42 #include "vtkImageAlgorithm.h"
43 #include "vtkImagingCoreModule.h" // For export macro
44 
45 // Forward Declarations
46 VTK_ABI_NAMESPACE_BEGIN
48 
49 class VTKIMAGINGCORE_EXPORT vtkExtractVOI : public vtkImageAlgorithm
50 {
51 public:
53  void PrintSelf(ostream& os, vtkIndent indent) override;
54 
58  static vtkExtractVOI* New();
59 
61 
66  vtkSetVector6Macro(VOI, int);
67  vtkGetVectorMacro(VOI, int, 6);
69 
71 
77  vtkSetVector3Macro(SampleRate, int);
78  vtkGetVectorMacro(SampleRate, int, 3);
80 
82 
90  vtkSetMacro(IncludeBoundary, vtkTypeBool);
91  vtkGetMacro(IncludeBoundary, vtkTypeBool);
92  vtkBooleanMacro(IncludeBoundary, vtkTypeBool);
94 
95 protected:
97  ~vtkExtractVOI() override;
98 
101  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
102  vtkInformationVector* outputVector) override;
103 
110  bool RequestDataImpl(vtkInformationVector** inputVector, vtkInformationVector* outputVector);
111 
112  int VOI[6];
113  int SampleRate[3];
115 
117 
118 private:
119  vtkExtractVOI(const vtkExtractVOI&) = delete;
120  void operator=(const vtkExtractVOI&) = delete;
121 };
122 
123 VTK_ABI_NAMESPACE_END
124 #endif
helper for extracting/sub-sampling structured datasets.
select piece (e.g., volume of interest) and/or subsample structured points dataset
Definition: vtkExtractVOI.h:50
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:38
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
int vtkTypeBool
Definition: vtkABI.h:64