101 #ifndef __vtkKMeansStatistics_h
102 #define __vtkKMeansStatistics_h
104 #include "vtkFiltersStatisticsModule.h"
107 class vtkIdTypeArray;
109 class vtkDoubleArray;
111 class vtkMultiBlockDataSet;
117 virtual void PrintSelf( ostream& os, vtkIndent indent );
129 vtkSetMacro(DefaultNumberOfClusters,
int);
130 vtkGetMacro(DefaultNumberOfClusters,
int);
135 vtkSetStringMacro(KValuesArrayName);
136 vtkGetStringMacro(KValuesArrayName);
142 vtkSetMacro( MaxNumIterations,
int );
143 vtkGetMacro( MaxNumIterations,
int );
149 vtkSetMacro( Tolerance,
double );
150 vtkGetMacro( Tolerance,
double );
157 vtkMultiBlockDataSet* ) {
return; };
164 const char* parameter,
int index, vtkVariant value );
174 virtual void Learn( vtkTable*,
176 vtkMultiBlockDataSet* );
180 virtual void Derive( vtkMultiBlockDataSet* );
184 virtual void Assess( vtkTable*,
185 vtkMultiBlockDataSet*,
192 vtkMultiBlockDataSet*,
193 vtkTable* ) {
return; };
200 vtkDataObject* inMeta,
201 vtkStringArray* rowNames,
202 AssessFunctor*& dfunc );
209 virtual void UpdateClusterCenters( vtkTable* newClusterElements,
210 vtkTable* curClusterElements,
211 vtkIdTypeArray* numMembershipChanges,
212 vtkIdTypeArray* numElementsInCluster,
213 vtkDoubleArray* error,
214 vtkIdTypeArray* startRunID,
215 vtkIdTypeArray* endRunID,
216 vtkIntArray *computeRun );
222 virtual vtkIdType GetTotalNumberOfObservations( vtkIdType numObservations );
229 int InitializeDataAndClusterCenters(vtkTable* inParameters,
231 vtkTable* dataElements,
232 vtkIdTypeArray* numberOfClusters,
233 vtkTable* curClusterElements,
234 vtkTable* newClusterElements,
235 vtkIdTypeArray* startRunID,
236 vtkIdTypeArray* endRunID);
243 virtual void CreateInitialClusterCenters(vtkIdType numToAllocate,
244 vtkIdTypeArray* numberOfClusters,
246 vtkTable* curClusterElements,
247 vtkTable* newClusterElements);
virtual void Test(vtkTable *, vtkMultiBlockDataSet *, vtkTable *)
virtual void Assess(vtkTable *, vtkMultiBlockDataSet *, vtkTable *)=0
void PrintSelf(ostream &os, vtkIndent indent)
vtkKMeansDistanceFunctor * DistanceFunctor
int DefaultNumberOfClusters
virtual void Aggregate(vtkDataObjectCollection *, vtkMultiBlockDataSet *)
Base class for statistics algorithms.
A class for KMeans clustering.
virtual void Learn(vtkTable *, vtkTable *, vtkMultiBlockDataSet *)=0
virtual void Derive(vtkMultiBlockDataSet *)=0
virtual bool SetParameter(const char *parameter, int index, vtkVariant value)
virtual void SelectAssessFunctor(vtkTable *outData, vtkDataObject *inMeta, vtkStringArray *rowNames, AssessFunctor *&dfunc)=0
measure distance from k-means cluster centers