VTK
vtkPairwiseExtractHistogram2D.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkPairwiseExtractHistogram2D.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 2009 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-------------------------------------------------------------------------*/
45#ifndef vtkPairwiseExtractHistogram2D_h
46#define vtkPairwiseExtractHistogram2D_h
47
48#include "vtkFiltersImagingModule.h" // For export macro
50#include "vtkSmartPointer.h" //needed for smart pointer ivars
51class vtkCollection;
53class vtkImageData;
54class vtkIdTypeArray;
56
57class VTKFILTERSIMAGING_EXPORT vtkPairwiseExtractHistogram2D : public vtkStatisticsAlgorithm
58{
59public:
62 void PrintSelf(ostream& os, vtkIndent indent);
63
65
68 vtkSetVector2Macro(NumberOfBins,int);
69 vtkGetVector2Macro(NumberOfBins,int);
71
73
78 vtkSetMacro(CustomColumnRangeIndex,int);
79 void SetCustomColumnRangeByIndex(double,double);
81
83
88 void SetCustomColumnRange(int col, double range[2]);
89 void SetCustomColumnRange(int col, double rmin, double rmax);
91
93
96 vtkSetMacro(ScalarType,int);
98 {this->SetScalarType(VTK_UNSIGNED_INT);};
100 {this->SetScalarType(VTK_UNSIGNED_LONG);};
102 {this->SetScalarType(VTK_UNSIGNED_SHORT);};
104 {this->SetScalarType(VTK_UNSIGNED_CHAR);};
105 vtkGetMacro(ScalarType,int);
107
111 double GetMaximumBinCount(int idx);
112
117
122 int GetBinRange(int idx, vtkIdType binX, vtkIdType binY, double range[4]);
123
128 int GetBinRange(int idx, vtkIdType bin, double range[4]);
129
134 void GetBinWidth(int idx, double bw[2]);
135
140 double* GetHistogramExtents(int idx);
141
146
151
153 {
154 HISTOGRAM_IMAGE=3
155 };
156
161
162protected:
165
166 int NumberOfBins[2];
169
172 class Internals;
173 Internals* Implementation;
174
179 virtual void Learn( vtkTable* inData,
180 vtkTable* inParameters,
181 vtkMultiBlockDataSet* outMeta );
182
186 virtual void Derive( vtkMultiBlockDataSet* ) {}
187
191 virtual void Assess( vtkTable*,
193 vtkTable* ) {}
194
198 virtual void Test( vtkTable*,
200 vtkTable* ) { return; };
201
205 virtual void SelectAssessFunctor( vtkTable* vtkNotUsed(outData),
206 vtkDataObject* vtkNotUsed(inMeta),
207 vtkStringArray* vtkNotUsed(rowNames),
208 AssessFunctor*& vtkNotUsed(dfunc) ) {}
209
214
216
218private:
220 void operator=(const vtkPairwiseExtractHistogram2D&) VTK_DELETE_FUNCTION;
221};
222
223#endif
create and manipulate unsorted lists of objects
Definition: vtkCollection.h:52
maintain an unordered list of data objects
general representation of visualization data
Definition: vtkDataObject.h:65
compute a 2D histogram between two columns of an input vtkTable.
dynamic, self-adjusting array of vtkIdType
topologically and geometrically regular array of data
Definition: vtkImageData.h:46
a simple class to control print indentation
Definition: vtkIndent.h:40
Store vtkAlgorithm input/output information.
Composite dataset that organizes datasets into blocks.
compute a 2D histogram between all adjacent columns of an input vtkTable.
double * GetHistogramExtents(int idx)
Get the histogram extents currently in use, either computed or set by the user for the idx'th histogr...
void SetCustomColumnRange(int col, double range[2])
More standard way to set the custom range for a particular column.
void SetCustomColumnRangeByIndex(double, double)
virtual void Learn(vtkTable *inData, vtkTable *inParameters, vtkMultiBlockDataSet *outMeta)
Execute the calculations required by the Learn option.
int GetBinRange(int idx, vtkIdType binX, vtkIdType binY, double range[4])
Compute the range of the bin located at position (binX,binY) in the 2D histogram at idx.
int GetBinRange(int idx, vtkIdType bin, double range[4])
Get the range of the of the bin located at 1D position index bin in the 2D histogram array at idx.
virtual vtkExtractHistogram2D * NewHistogramFilter()
Generate a new histogram filter.
vtkImageData * GetOutputHistogramImage(int idx)
Get the vtkImageData output of the idx'th histogram filter.
vtkExtractHistogram2D * GetHistogramFilter(int idx)
Get a pointer to the idx'th histogram filter.
virtual void SelectAssessFunctor(vtkTable *vtkNotUsed(outData), vtkDataObject *vtkNotUsed(inMeta), vtkStringArray *vtkNotUsed(rowNames), AssessFunctor *&vtkNotUsed(dfunc))
Provide the appropriate assessment functor.
void GetBinWidth(int idx, double bw[2])
Get the width of all of the bins.
virtual void Derive(vtkMultiBlockDataSet *)
Execute the calculations required by the Derive option.
vtkSmartPointer< vtkIdTypeArray > OutputOutlierIds
virtual void Test(vtkTable *, vtkMultiBlockDataSet *, vtkTable *)
Execute the calculations required by the Test option.
void SetCustomColumnRange(int col, double rmin, double rmax)
static vtkPairwiseExtractHistogram2D * New()
virtual int FillOutputPortInformation(int port, vtkInformation *info)
Fill the output port information objects for this algorithm.
double GetMaximumBinCount()
Get the maximum bin count over all histograms.
vtkSmartPointer< vtkCollection > HistogramFilters
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual void Aggregate(vtkDataObjectCollection *, vtkMultiBlockDataSet *)
Given a collection of models, calculate aggregate model.
virtual void Assess(vtkTable *, vtkMultiBlockDataSet *, vtkTable *)
Execute the assess option.
double GetMaximumBinCount(int idx)
Get the maximum bin count for a single histogram.
A base class for a functor that assesses data.
Base class for statistics algorithms.
a vtkAbstractArray subclass for strings
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:69
record modification and/or execution time
Definition: vtkTimeStamp.h:36
@ info
Definition: vtkX3D.h:376
@ port
Definition: vtkX3D.h:447
@ range
Definition: vtkX3D.h:238
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
int vtkIdType
Definition: vtkType.h:287
#define VTK_UNSIGNED_INT
Definition: vtkType.h:55
#define VTK_UNSIGNED_CHAR
Definition: vtkType.h:51
#define VTK_UNSIGNED_SHORT
Definition: vtkType.h:53
#define VTK_UNSIGNED_LONG
Definition: vtkType.h:57