VTK
vtkHighestDensityRegionsStatistics.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: Visualization Toolkit
4 Module: vtkHighestDensityRegionsStatistics.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 
42 #ifndef vtkHighestDensityRegionsStatistics_h
43 #define vtkHighestDensityRegionsStatistics_h
44 
45 #include "vtkFiltersStatisticsModule.h" // For export macro
46 #include "vtkStatisticsAlgorithm.h"
47 
49 class vtkVariant;
50 
51 class VTKFILTERSSTATISTICS_EXPORT vtkHighestDensityRegionsStatistics :
53 {
54 public:
56  void PrintSelf( ostream& os, vtkIndent indent ) override;
58 
63  vtkMultiBlockDataSet*) override { return; }
64 
68  void SetSigma(double sigma);
69 
73  void SetSigmaMatrix(double s11, double s12, double s21, double s22);
74 
82  double ComputeHDR(vtkDataArray *inObservations, vtkDataArray *outDensity);
83 
91  double ComputeHDR(vtkDataArray *inObs, vtkDataArray* inPOI,
92  vtkDataArray *outDensity);
93 
94 protected:
97 
101  void Learn(vtkTable*,
102  vtkTable*,
103  vtkMultiBlockDataSet*) override;
104 
108  void Derive(vtkMultiBlockDataSet*) override;
109 
115  vtkTable*) override { return; }
116 
120  void Test(vtkTable*,
122  vtkTable*) override { return; }
123 
128  vtkDataObject*,
130  AssessFunctor*&) override { return; }
131 
133 
137  double SmoothHC1[2];
138  double SmoothHC2[2];
139  double InvSigmaC1[2];
140  double InvSigmaC2[2];
141  double Determinant;
143 
148 
149 private :
156  double ComputeSmoothGaussianKernel(int dimension, double khx, double khy);
157 
158 private:
160  void operator = (const vtkHighestDensityRegionsStatistics&) = delete;
161 };
162 
163 #endif
A base class for a functor that assesses data.
double Determinant
Store the smooth matrix parameter H.
vtkIdType NumberOfRequestedColumnsPair
Store the number of requested columns pair computed by learn method.
void Assess(vtkTable *, vtkMultiBlockDataSet *, vtkTable *) override
Execute the calculations required by the Assess option.
static vtkTableAlgorithm * New()
maintain an unordered list of data objects
a vtkAbstractArray subclass for strings
int vtkIdType
Definition: vtkType.h:347
A atomic type representing the union of many types.
Definition: vtkVariant.h:71
Base class for statistics algorithms.
a simple class to control print indentation
Definition: vtkIndent.h:39
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:54
virtual void Learn(vtkTable *, vtkTable *, vtkMultiBlockDataSet *)=0
Execute the calculations required by the Learn option, given some input Data.
void Aggregate(vtkDataObjectCollection *, vtkMultiBlockDataSet *) override
Given a collection of models, calculate aggregate model.
void Test(vtkTable *, vtkMultiBlockDataSet *, vtkTable *) override
Execute the calculations required by the Test option.
virtual void Derive(vtkMultiBlockDataSet *)=0
Execute the calculations required by the Derive option.
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:68
Composite dataset that organizes datasets into blocks.
void SelectAssessFunctor(vtkTable *, vtkDataObject *, vtkStringArray *, AssessFunctor *&) override
Provide the appropriate assessment functor.
Compute a random vector of density f from input observations points.
general representation of visualization data
Definition: vtkDataObject.h:64
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.