53 this.parameters = parameters;
56 public override string name =>
"KHM";
87 "do_random_sample_empty_clusters",
void AttributeClustersKHM(ClusteringTextures clusteringTextures, float p)
ClusteringRTsAndBuffers clusteringRTsAndBuffers
bool doRandomizeEmptyClusters
void UpdateClusterCenters(ClusteringTextures clusteringTextures, bool rejectOld)
readonly ComputeShader computeShader
Call Allocate before using and Dispose after using.
static Parameters Default()
Default value of Parameters.p is 2.5, which we experimentally confirmed to be optimal for our dataset...
void KHMiteration(ClusteringTextures textures)
First attributes pixels to clusters. Then updates cluster centers. In order to use the resulting clus...
override DispatcherParameters abstractParameters
override void SingleIteration(ClusteringTextures textures)
override bool doesReadback
DispatcherKHMp(ComputeShader computeShader, int numIterations, bool doRandomizeEmptyClusters, bool useFullResTexRef, Parameters parameters, ClusteringRTsAndBuffers clusteringRTsAndBuffers)
override void RunClustering(ClusteringTextures clusteringTextures)
Each iteration first attributes pixels to clusters, then updates cluster centers. In order to use the...
Call Dispose after using.