VTK  9.3.20240328
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 
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
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:154
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.
static vtkHighestDensityRegionsStatistics * New()
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.
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:108
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:168
A type representing the union of many types.
Definition: vtkVariant.h:162
int vtkIdType
Definition: vtkType.h:315