VTK  9.3.20240420
vtkImageAccumulate.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
90#ifndef vtkImageAccumulate_h
91#define vtkImageAccumulate_h
92
93#include "vtkImageAlgorithm.h"
94#include "vtkImagingStatisticsModule.h" // For export macro
95
96VTK_ABI_NAMESPACE_BEGIN
98
99class VTKIMAGINGSTATISTICS_EXPORT vtkImageAccumulate : public vtkImageAlgorithm
100{
101public:
104 void PrintSelf(ostream& os, vtkIndent indent) override;
105
107
116 vtkSetVector3Macro(ComponentSpacing, double);
117 vtkGetVector3Macro(ComponentSpacing, double);
119
121
130 vtkSetVector3Macro(ComponentOrigin, double);
131 vtkGetVector3Macro(ComponentOrigin, double);
133
135
143 void SetComponentExtent(int extent[6]);
144 void SetComponentExtent(int minX, int maxX, int minY, int maxY, int minZ, int maxZ);
145 void GetComponentExtent(int extent[6]);
146 int* GetComponentExtent() VTK_SIZEHINT(6) { return this->ComponentExtent; }
148
150
159
161
164 vtkSetClampMacro(ReverseStencil, vtkTypeBool, 0, 1);
165 vtkBooleanMacro(ReverseStencil, vtkTypeBool);
166 vtkGetMacro(ReverseStencil, vtkTypeBool);
168
170
175 vtkGetVector3Macro(Min, double);
176 vtkGetVector3Macro(Max, double);
177 vtkGetVector3Macro(Mean, double);
178 vtkGetVector3Macro(StandardDeviation, double);
179 vtkGetMacro(VoxelCount, vtkIdType);
181
183
186 vtkSetClampMacro(IgnoreZero, vtkTypeBool, 0, 1);
187 vtkGetMacro(IgnoreZero, vtkTypeBool);
188 vtkBooleanMacro(IgnoreZero, vtkTypeBool);
190
191protected:
194
195 double ComponentSpacing[3];
196 double ComponentOrigin[3];
197 int ComponentExtent[6];
198
202 vtkInformationVector* outputVector) override;
203
205 double Min[3];
206 double Max[3];
207 double Mean[3];
208 double StandardDeviation[3];
210
212
213 int FillInputPortInformation(int port, vtkInformation* info) override;
214
215private:
216 vtkImageAccumulate(const vtkImageAccumulate&) = delete;
217 void operator=(const vtkImageAccumulate&) = delete;
218};
219
220VTK_ABI_NAMESPACE_END
221#endif
Generalized histograms up to 3 dimensions.
void SetStencilData(vtkImageStencilData *stencil)
Use a stencil to specify which voxels to accumulate.
~vtkImageAccumulate() override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void GetComponentExtent(int extent[6])
Set/Get - The component extent sets the number/extent of the bins.
vtkImageStencilData * GetStencil()
Use a stencil to specify which voxels to accumulate.
void SetComponentExtent(int minX, int maxX, int minY, int maxY, int minZ, int maxZ)
Set/Get - The component extent sets the number/extent of the bins.
static vtkImageAccumulate * New()
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to translate the update extent requests from each output port ...
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called in response to a REQUEST_DATA request from the executive.
int * GetComponentExtent()
Set/Get - The component extent sets the number/extent of the bins.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to collect information from their inputs and set information f...
void SetComponentExtent(int extent[6])
Set/Get - The component extent sets the number/extent of the bins.
Generic algorithm superclass for image algs.
efficient description of an image stencil
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
int vtkIdType
Definition vtkType.h:315
#define VTK_SIZEHINT(...)