VTK  9.3.0
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
31#ifndef vtkImageAccumulate_h
32#define vtkImageAccumulate_h
33
34#include "vtkImageAlgorithm.h"
35#include "vtkImagingStatisticsModule.h" // For export macro
36
37VTK_ABI_NAMESPACE_BEGIN
39
40class VTKIMAGINGSTATISTICS_EXPORT vtkImageAccumulate : public vtkImageAlgorithm
41{
42public:
45 void PrintSelf(ostream& os, vtkIndent indent) override;
46
48
57 vtkSetVector3Macro(ComponentSpacing, double);
58 vtkGetVector3Macro(ComponentSpacing, double);
60
62
71 vtkSetVector3Macro(ComponentOrigin, double);
72 vtkGetVector3Macro(ComponentOrigin, double);
74
76
84 void SetComponentExtent(int extent[6]);
85 void SetComponentExtent(int minX, int maxX, int minY, int maxY, int minZ, int maxZ);
86 void GetComponentExtent(int extent[6]);
87 int* GetComponentExtent() VTK_SIZEHINT(6) { return this->ComponentExtent; }
89
91
100
102
105 vtkSetClampMacro(ReverseStencil, vtkTypeBool, 0, 1);
106 vtkBooleanMacro(ReverseStencil, vtkTypeBool);
107 vtkGetMacro(ReverseStencil, vtkTypeBool);
109
111
116 vtkGetVector3Macro(Min, double);
117 vtkGetVector3Macro(Max, double);
118 vtkGetVector3Macro(Mean, double);
119 vtkGetVector3Macro(StandardDeviation, double);
120 vtkGetMacro(VoxelCount, vtkIdType);
122
124
127 vtkSetClampMacro(IgnoreZero, vtkTypeBool, 0, 1);
128 vtkGetMacro(IgnoreZero, vtkTypeBool);
129 vtkBooleanMacro(IgnoreZero, vtkTypeBool);
131
132protected:
135
136 double ComponentSpacing[3];
137 double ComponentOrigin[3];
138 int ComponentExtent[6];
139
143 vtkInformationVector* outputVector) override;
144
146 double Min[3];
147 double Max[3];
148 double Mean[3];
149 double StandardDeviation[3];
151
153
154 int FillInputPortInformation(int port, vtkInformation* info) override;
155
156private:
157 vtkImageAccumulate(const vtkImageAccumulate&) = delete;
158 void operator=(const vtkImageAccumulate&) = delete;
159};
160
161VTK_ABI_NAMESPACE_END
162#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:29
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(...)