VTK  9.1.0
vtkHighestDensityRegionsStatistics.h
Go to the documentation of this file.
1/*=========================================================================
2
3Program: Visualization Toolkit
4Module: vtkHighestDensityRegionsStatistics.h
5
6Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7All rights reserved.
8See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10This software is distributed WITHOUT ANY WARRANTY; without even
11the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
15
39#ifndef vtkHighestDensityRegionsStatistics_h
40#define vtkHighestDensityRegionsStatistics_h
41
42#include "vtkFiltersStatisticsModule.h" // For export macro
44
46class vtkVariant;
47
48class VTKFILTERSSTATISTICS_EXPORT vtkHighestDensityRegionsStatistics : public vtkStatisticsAlgorithm
49{
50public:
52 void PrintSelf(ostream& os, vtkIndent indent) override;
54
59
63 void SetSigma(double sigma);
64
68 void SetSigmaMatrix(double s11, double s12, double s21, double s22);
69
77 double ComputeHDR(vtkDataArray* inObservations, vtkDataArray* outDensity);
78
86 double ComputeHDR(vtkDataArray* inObs, vtkDataArray* inPOI, vtkDataArray* outDensity);
87
88protected:
91
96
101
105 void Assess(vtkTable*, vtkMultiBlockDataSet*, vtkTable*) override { return; }
106
110 void Test(vtkTable*, vtkMultiBlockDataSet*, vtkTable*) override { return; }
111
116 {
117 return;
118 }
119
121
125 double SmoothHC1[2];
126 double SmoothHC2[2];
127 double InvSigmaC1[2];
128 double InvSigmaC2[2];
131
136
137private:
144 double ComputeSmoothGaussianKernel(int dimension, double khx, double khy);
145
146private:
148 void operator=(const vtkHighestDensityRegionsStatistics&) = delete;
149};
150
151#endif
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:159
maintain an unordered list of data objects
general representation of visualization data
Compute a random vector of density f from input observations points.
void Learn(vtkTable *, vtkTable *, vtkMultiBlockDataSet *) override
Execute the calculations required by the Learn option.
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.
double Determinant
Store the smooth matrix parameter H.
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.
static vtkHighestDensityRegionsStatistics * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
double ComputeHDR(vtkDataArray *inObservations, vtkDataArray *outDensity)
Fill outDensity with density vector that is computed from inObservations values.
void SetSigmaMatrix(double s11, double s12, double s21, double s22)
Set the gaussian kernel matrix.
double ComputeHDR(vtkDataArray *inObs, vtkDataArray *inPOI, vtkDataArray *outDensity)
Fill outDensity with density vector defined by inPOI and computed from the inObs values.
void Derive(vtkMultiBlockDataSet *) override
Execute the calculations required by the Derive option.
void SetSigma(double sigma)
Set the width of the gaussian kernel.
void SelectAssessFunctor(vtkTable *, vtkDataObject *, vtkStringArray *, AssessFunctor *&) override
Provide the appropriate assessment functor.
a simple class to control print indentation
Definition: vtkIndent.h:113
Composite dataset that organizes datasets into blocks.
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:172
A atomic type representing the union of many types.
Definition: vtkVariant.h:145
int vtkIdType
Definition: vtkType.h:332