VTK
vtkExtractHistogram2D.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkExtractHistogram2D.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 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright 2011 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
47 #ifndef vtkExtractHistogram2D_h
48 #define vtkExtractHistogram2D_h
49 
50 #include "vtkFiltersImagingModule.h" // For export macro
51 #include "vtkStatisticsAlgorithm.h"
52 
53 class vtkImageData;
54 class vtkIdTypeArray;
56 
58 {
59 public:
62  void PrintSelf(ostream& os, vtkIndent indent);
63 
64 //BTX
66  {
67  HISTOGRAM_IMAGE=3
68  };
69 //ETX
70 
72 
73  vtkSetVector2Macro(NumberOfBins,int);
74  vtkGetVector2Macro(NumberOfBins,int);
76 
78 
80  vtkSetVector2Macro(ComponentsToProcess,int);
81  vtkGetVector2Macro(ComponentsToProcess,int);
83 
85 
88  vtkSetVector4Macro(CustomHistogramExtents,double);
89  vtkGetVector4Macro(CustomHistogramExtents,double);
91 
93 
95  vtkSetMacro(UseCustomHistogramExtents,int);
96  vtkGetMacro(UseCustomHistogramExtents,int);
97  vtkBooleanMacro(UseCustomHistogramExtents,int);
99 
101 
104  vtkSetMacro(ScalarType,int);
106  {this->SetScalarType(VTK_UNSIGNED_INT);};
108  {this->SetScalarType(VTK_UNSIGNED_LONG);};
110  {this->SetScalarType(VTK_UNSIGNED_SHORT);};
112  {this->SetScalarType(VTK_UNSIGNED_CHAR);};
114  {this->SetScalarType(VTK_FLOAT);};
116  {this->SetScalarType(VTK_DOUBLE);};
117  vtkGetMacro(ScalarType,int);
119 
121 
123  vtkGetMacro(MaximumBinCount,double);
125 
128  int GetBinRange(vtkIdType binX, vtkIdType binY, double range[4]);
129 
132  int GetBinRange(vtkIdType bin, double range[4]);
133 
136  void GetBinWidth(double bw[2]);
137 
141 
145 
146  vtkSetMacro(SwapColumns,int);
147  vtkGetMacro(SwapColumns,int);
148  vtkBooleanMacro(SwapColumns,int);
149 
151 
152  virtual void SetRowMask(vtkDataArray*);
155 
158 
159 protected:
162 
164  int NumberOfBins[2];
165  double HistogramExtents[4];
166  double CustomHistogramExtents[4];
168  int ComponentsToProcess[2];
172 
173  virtual int ComputeBinExtents(vtkDataArray* col1, vtkDataArray* col2);
174 
176 
178  virtual void Learn( vtkTable* inData,
179  vtkTable* inParameters,
180  vtkMultiBlockDataSet* inMeta );
182 
184  virtual void Derive( vtkMultiBlockDataSet* ) {}
185 
187 
188  virtual void Test( vtkTable*,
190  vtkTable* ) { return; };
192 
194 
195  virtual void Assess( vtkTable*,
197  vtkTable* ) { return; };
199 
201 
202  virtual void SelectAssessFunctor( vtkTable* vtkNotUsed(outData),
203  vtkDataObject* vtkNotUsed(inMeta),
204  vtkStringArray* vtkNotUsed(rowNames),
205  AssessFunctor*& vtkNotUsed(dfunc) ) {}
207 
209 
211 
213  virtual int RequestInformation (vtkInformation *request,
214  vtkInformationVector **inputVector,
215  vtkInformationVector *outputVector);
217 
219 
221 private:
222  vtkExtractHistogram2D(const vtkExtractHistogram2D&); // Not implemented
223  void operator=(const vtkExtractHistogram2D&); // Not implemented
224 };
226 
227 #endif
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkStatisticsAlgorithm.h
vtkSetVector2Macro
#define vtkSetVector2Macro(name, type)
Definition: vtkSetGet.h:254
vtkExtractHistogram2D::Derive
virtual void Derive(vtkMultiBlockDataSet *)
Definition: vtkExtractHistogram2D.h:184
vtkFiltersImagingModule.h
vtkGetVector2Macro
#define vtkGetVector2Macro(name, type)
Definition: vtkSetGet.h:270
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkDataObjectCollection
maintain an unordered list of data objects
Definition: vtkDataObjectCollection.h:34
VTK_UNSIGNED_INT
#define VTK_UNSIGNED_INT
Definition: vtkType.h:32
vtkExtractHistogram2D::Test
virtual void Test(vtkTable *, vtkMultiBlockDataSet *, vtkTable *)
Definition: vtkExtractHistogram2D.h:188
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkTable
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:68
VTK_UNSIGNED_SHORT
#define VTK_UNSIGNED_SHORT
Definition: vtkType.h:30
vtkExtractHistogram2D::SetRowMask
virtual void SetRowMask(vtkDataArray *)
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkExtractHistogram2D::FillOutputPortInformation
virtual int FillOutputPortInformation(int port, vtkInformation *info)
vtkExtractHistogram2D::Learn
virtual void Learn(vtkTable *inData, vtkTable *inParameters, vtkMultiBlockDataSet *inMeta)
vtkExtractHistogram2D::UseCustomHistogramExtents
int UseCustomHistogramExtents
Definition: vtkExtractHistogram2D.h:167
vtkStatisticsAlgorithm::AssessFunctor
Definition: vtkStatisticsAlgorithm.h:173
vtkDataArray
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:55
vtkgl::range
GLenum GLint * range
Definition: vtkgl.h:14180
vtkMultiBlockDataSet
Composite dataset that organizes datasets into blocks.
Definition: vtkMultiBlockDataSet.h:51
vtkExtractHistogram2D::SetScalarTypeToUnsignedInt
void SetScalarTypeToUnsignedInt()
Definition: vtkExtractHistogram2D.h:105
vtkExtractHistogram2D::Assess
virtual void Assess(vtkTable *, vtkMultiBlockDataSet *, vtkTable *)
Definition: vtkExtractHistogram2D.h:195
vtkExtractHistogram2D::GetOutputHistogramImage
vtkImageData * GetOutputHistogramImage()
vtkExtractHistogram2D::vtkExtractHistogram2D
vtkExtractHistogram2D()
VTKFILTERSIMAGING_EXPORT
#define VTKFILTERSIMAGING_EXPORT
Definition: vtkFiltersImagingModule.h:15
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkExtractHistogram2D::SetScalarTypeToUnsignedChar
void SetScalarTypeToUnsignedChar()
Definition: vtkExtractHistogram2D.h:111
vtkNotUsed
#define vtkNotUsed(x)
Definition: vtkSetGet.h:557
vtkExtractHistogram2D::SetScalarTypeToUnsignedShort
void SetScalarTypeToUnsignedShort()
Definition: vtkExtractHistogram2D.h:109
vtkExtractHistogram2D
compute a 2D histogram between two columns of an input vtkTable.
Definition: vtkExtractHistogram2D.h:58
vtkExtractHistogram2D::OutputIndices
OutputIndices
Definition: vtkExtractHistogram2D.h:66
vtkExtractHistogram2D::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkExtractHistogram2D::GetBinRange
int GetBinRange(vtkIdType binX, vtkIdType binY, double range[4])
vtkExtractHistogram2D::GetInputArrays
int GetInputArrays(vtkDataArray *&col1, vtkDataArray *&col2)
VTK_FLOAT
#define VTK_FLOAT
Definition: vtkType.h:35
VTK_DOUBLE
#define VTK_DOUBLE
Definition: vtkType.h:36
VTK_UNSIGNED_CHAR
#define VTK_UNSIGNED_CHAR
Definition: vtkType.h:28
vtkExtractHistogram2D::GetBinRange
int GetBinRange(vtkIdType bin, double range[4])
vtkExtractHistogram2D::SetScalarTypeToDouble
void SetScalarTypeToDouble()
Definition: vtkExtractHistogram2D.h:115
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkExtractHistogram2D::RequestInformation
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
VTK_UNSIGNED_LONG
#define VTK_UNSIGNED_LONG
Definition: vtkType.h:34
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkSetVector4Macro
#define vtkSetVector4Macro(name, type)
Definition: vtkSetGet.h:322
vtkExtractHistogram2D::GetBinWidth
void GetBinWidth(double bw[2])
vtkIdTypeArray
dynamic, self-adjusting array of vtkIdType
Definition: vtkIdTypeArray.h:49
vtkExtractHistogram2D::GetHistogramExtents
double * GetHistogramExtents()
vtkExtractHistogram2D::SwapColumns
int SwapColumns
Definition: vtkExtractHistogram2D.h:163
vtkExtractHistogram2D::SetScalarTypeToUnsignedLong
void SetScalarTypeToUnsignedLong()
Definition: vtkExtractHistogram2D.h:107
vtkExtractHistogram2D::ScalarType
int ScalarType
Definition: vtkExtractHistogram2D.h:170
vtkExtractHistogram2D::~vtkExtractHistogram2D
~vtkExtractHistogram2D()
vtkStringArray
a vtkAbstractArray subclass for strings
Definition: vtkStringArray.h:45
vtkExtractHistogram2D::RowMask
vtkDataArray * RowMask
Definition: vtkExtractHistogram2D.h:171
vtkStatisticsAlgorithm
Base class for statistics algorithms.
Definition: vtkStatisticsAlgorithm.h:76
vtkExtractHistogram2D::SetScalarTypeToFloat
void SetScalarTypeToFloat()
Definition: vtkExtractHistogram2D.h:113
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:65
vtkGetVector4Macro
#define vtkGetVector4Macro(name, type)
Definition: vtkSetGet.h:341
vtkExtractHistogram2D::MaximumBinCount
double MaximumBinCount
Definition: vtkExtractHistogram2D.h:169
vtkExtractHistogram2D::New
static vtkExtractHistogram2D * New()
vtkExtractHistogram2D::ComputeBinExtents
virtual int ComputeBinExtents(vtkDataArray *col1, vtkDataArray *col2)
vtkExtractHistogram2D::SelectAssessFunctor
virtual void SelectAssessFunctor(vtkTable *vtkNotUsed(outData), vtkDataObject *vtkNotUsed(inMeta), vtkStringArray *vtkNotUsed(rowNames), AssessFunctor *&vtkNotUsed(dfunc))
Definition: vtkExtractHistogram2D.h:202
vtkExtractHistogram2D::Aggregate
virtual void Aggregate(vtkDataObjectCollection *, vtkMultiBlockDataSet *)
Definition: vtkExtractHistogram2D.h:157