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
40#ifndef vtkImageAccumulate_h
41#define vtkImageAccumulate_h
42
43#include "vtkImageAlgorithm.h"
44#include "vtkImagingStatisticsModule.h" // For export macro
45
46VTK_ABI_NAMESPACE_BEGIN
48
49class VTKIMAGINGSTATISTICS_EXPORT vtkImageAccumulate : public vtkImageAlgorithm
50{
51public:
54 void PrintSelf(ostream& os, vtkIndent indent) override;
55
57
66 vtkSetVector3Macro(ComponentSpacing, double);
67 vtkGetVector3Macro(ComponentSpacing, double);
69
71
80 vtkSetVector3Macro(ComponentOrigin, double);
81 vtkGetVector3Macro(ComponentOrigin, double);
83
85
93 void SetComponentExtent(int extent[6]);
94 void SetComponentExtent(int minX, int maxX, int minY, int maxY, int minZ, int maxZ);
95 void GetComponentExtent(int extent[6]);
96 int* GetComponentExtent() VTK_SIZEHINT(6) { return this->ComponentExtent; }
98
100
109
111
114 vtkSetClampMacro(ReverseStencil, vtkTypeBool, 0, 1);
115 vtkBooleanMacro(ReverseStencil, vtkTypeBool);
116 vtkGetMacro(ReverseStencil, vtkTypeBool);
118
120
125 vtkGetVector3Macro(Min, double);
126 vtkGetVector3Macro(Max, double);
127 vtkGetVector3Macro(Mean, double);
128 vtkGetVector3Macro(StandardDeviation, double);
129 vtkGetMacro(VoxelCount, vtkIdType);
131
133
136 vtkSetClampMacro(IgnoreZero, vtkTypeBool, 0, 1);
137 vtkGetMacro(IgnoreZero, vtkTypeBool);
138 vtkBooleanMacro(IgnoreZero, vtkTypeBool);
140
141protected:
144
145 double ComponentSpacing[3];
146 double ComponentOrigin[3];
147 int ComponentExtent[6];
148
152 vtkInformationVector* outputVector) override;
153
155 double Min[3];
156 double Max[3];
157 double Mean[3];
158 double StandardDeviation[3];
160
162
163 int FillInputPortInformation(int port, vtkInformation* info) override;
164
165private:
166 vtkImageAccumulate(const vtkImageAccumulate&) = delete;
167 void operator=(const vtkImageAccumulate&) = delete;
168};
169
170VTK_ABI_NAMESPACE_END
171#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:38
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(...)