VTK  9.3.1
vtkHighestDensityRegionsStatistics.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
3 
30 #ifndef vtkHighestDensityRegionsStatistics_h
31 #define vtkHighestDensityRegionsStatistics_h
32 
33 #include "vtkFiltersStatisticsModule.h" // For export macro
34 #include "vtkStatisticsAlgorithm.h"
35 
36 VTK_ABI_NAMESPACE_BEGIN
38 class vtkVariant;
39 
40 class VTKFILTERSSTATISTICS_EXPORT vtkHighestDensityRegionsStatistics : public vtkStatisticsAlgorithm
41 {
42 public:
44  void PrintSelf(ostream& os, vtkIndent indent) override;
46 
51 
55  void SetSigma(double sigma);
56 
60  void SetSigmaMatrix(double s11, double s12, double s21, double s22);
61 
69  double ComputeHDR(vtkDataArray* inObservations, vtkDataArray* outDensity);
70 
78  double ComputeHDR(vtkDataArray* inObs, vtkDataArray* inPOI, vtkDataArray* outDensity);
79 
80 protected:
83 
87  void Learn(vtkTable*, vtkTable*, vtkMultiBlockDataSet*) override;
88 
92  void Derive(vtkMultiBlockDataSet*) override;
93 
98 
103 
108 
110 
114  double SmoothHC1[2];
115  double SmoothHC2[2];
116  double InvSigmaC1[2];
117  double InvSigmaC2[2];
118  double Determinant;
120 
125 
126 private:
133  double ComputeSmoothGaussianKernel(int dimension, double khx, double khy);
134 
136  void operator=(const vtkHighestDensityRegionsStatistics&) = delete;
137 };
138 
139 VTK_ABI_NAMESPACE_END
140 #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:315
A type representing the union of many types.
Definition: vtkVariant.h:52
Base class for statistics algorithms.
a simple class to control print indentation
Definition: vtkIndent.h:28
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:44
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:58
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:54
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.