use of edu.ucsf.rbvi.clusterMaker2.internal.algorithms.numeric.PrimitiveSummarizer in project clusterMaker2 by RBVI.
the class RunHopachPAM method kcluster.
@Override
public int kcluster(int nClusters, int nIterations, CyMatrix matrix, DistanceMetric metric, int[] clusterId) {
monitor.setProgress(0);
Summarizer summarizer;
PrimitiveSummarizer psummarizer;
switch(summaryMethod) {
case MEDIAN:
summarizer = new MedianSummarizer();
psummarizer = new PrimitiveMedianSummarizer();
break;
case MEAN:
default:
summarizer = new MeanSummarizer();
psummarizer = new PrimitiveMeanSummarizer();
break;
}
HopachablePAM partitioner = new HopachablePAM(network, matrix, metric);
partitioner.setParameters(K, L, splitCost, summarizer);
HopachPAM hopachPam = new HopachPAM(partitioner);
hopachPam.setParameters(maxLevel, minCostReduction, forceInitSplit, psummarizer);
Clusters c = hopachPam.run();
// copy results into clusterId
for (int i = 0; i < c.size(); ++i) {
clusterId[i] = c.getClusterIndex(i);
}
return c.getNumberOfClusters();
}
Aggregations