VTK  9.3.20240425
vtkPKMeansStatistics.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright 2011 Sandia Corporation
3// SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
17#ifndef vtkPKMeansStatistics_h
18#define vtkPKMeansStatistics_h
19
20#include "vtkFiltersParallelStatisticsModule.h" // For export macro
21#include "vtkKMeansStatistics.h"
22
23VTK_ABI_NAMESPACE_BEGIN
25class vtkCommunicator;
26
27class VTKFILTERSPARALLELSTATISTICS_EXPORT vtkPKMeansStatistics : public vtkKMeansStatistics
28{
29public:
32 void PrintSelf(ostream& os, vtkIndent indent) override;
33
35
40 vtkGetObjectMacro(Controller, vtkMultiProcessController);
42
46 void UpdateClusterCenters(vtkTable* newClusterElements, vtkTable* curClusterElements,
47 vtkIdTypeArray* numMembershipChanges, vtkIdTypeArray* numElementsInCluster,
48 vtkDoubleArray* error, vtkIdTypeArray* startRunID, vtkIdTypeArray* endRunID,
49 vtkIntArray* computeRun) override;
50
55
59 void CreateInitialClusterCenters(vtkIdType numToAllocate, vtkIdTypeArray* numberOfClusters,
60 vtkTable* inData, vtkTable* curClusterElements, vtkTable* newClusterElements) override;
61
62protected:
65
67
68private:
70 void operator=(const vtkPKMeansStatistics&) = delete;
71};
72
73VTK_ABI_NAMESPACE_END
74#endif
Used to send/receive messages in a multiprocess environment.
dynamic, self-adjusting array of double
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Definition vtkIndent.h:108
dynamic, self-adjusting array of int
A class for KMeans clustering.
Multiprocessing communication superclass.
vtkIdType GetTotalNumberOfObservations(vtkIdType numObservations) override
Subroutine to get the total number of data objects.
void UpdateClusterCenters(vtkTable *newClusterElements, vtkTable *curClusterElements, vtkIdTypeArray *numMembershipChanges, vtkIdTypeArray *numElementsInCluster, vtkDoubleArray *error, vtkIdTypeArray *startRunID, vtkIdTypeArray *endRunID, vtkIntArray *computeRun) override
Subroutine to update new cluster centers from the old centers.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void CreateInitialClusterCenters(vtkIdType numToAllocate, vtkIdTypeArray *numberOfClusters, vtkTable *inData, vtkTable *curClusterElements, vtkTable *newClusterElements) override
Subroutine to initialize cluster centerss if not provided by the user.
~vtkPKMeansStatistics() override
vtkMultiProcessController * Controller
static vtkPKMeansStatistics * New()
virtual void SetController(vtkMultiProcessController *)
Get/Set the multiprocess controller.
A table, which contains similar-typed columns of data.
Definition vtkTable.h:168
int vtkIdType
Definition vtkType.h:315