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 =========================================================================*/
39 #ifndef vtkExtractVOI_h
40 #define vtkExtractVOI_h
41 
42 #include "vtkImageAlgorithm.h"
43 #include "vtkImagingCoreModule.h" // For export macro
44 
45 // Forward Declarations
47 
48 class VTKIMAGINGCORE_EXPORT vtkExtractVOI : public vtkImageAlgorithm
49 {
50 public:
52  void PrintSelf(ostream& os, vtkIndent indent) override;
53 
57  static vtkExtractVOI* New();
58 
60 
65  vtkSetVector6Macro(VOI, int);
66  vtkGetVectorMacro(VOI, int, 6);
68 
70 
76  vtkSetVector3Macro(SampleRate, int);
77  vtkGetVectorMacro(SampleRate, int, 3);
79 
81 
89  vtkSetMacro(IncludeBoundary, vtkTypeBool);
90  vtkGetMacro(IncludeBoundary, vtkTypeBool);
91  vtkBooleanMacro(IncludeBoundary, vtkTypeBool);
93 
94 protected:
96  ~vtkExtractVOI() override;
97 
100  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
101  vtkInformationVector* outputVector) override;
102 
109  bool RequestDataImpl(vtkInformationVector** inputVector, vtkInformationVector* outputVector);
110 
111  int VOI[6];
112  int SampleRate[3];
114 
116 
117 private:
118  vtkExtractVOI(const vtkExtractVOI&) = delete;
119  void operator=(const vtkExtractVOI&) = delete;
120 };
121 
122 #endif
helper for extracting/sub-sampling structured datasets.
select piece (e.g., volume of interest) and/or subsample structured points dataset
Definition: vtkExtractVOI.h:49
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:34
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
int vtkTypeBool
Definition: vtkABI.h:69