12 this.wrappedDispatcher = wrappedDispatcher;
16 new System.InvalidOperationException(
17 "WrapperStopCondition must be given a dispatcher, which does not use stop condition."
25 this.wrappedDispatcher.Dispose();
35 public virtual string name => this.wrappedDispatcher.name;
39 this.wrappedDispatcher.clusteringRTsAndBuffers;
44 this.wrappedDispatcher.UpdateClusterCenters(
45 clusteringTextures: clusteringTextures,
52 this.wrappedDispatcher.AttributeClustersKM(clusteringTextures: clusteringTextures);
59 return this.wrappedDispatcher.GetVariance();
67 public static readonly IObjectPool<RunUntilConvergesResult>
pool =
98 this.wrappedDispatcher.SingleIteration(clusteringTextures);
107 this.wrappedDispatcher.clusteringRTsAndBuffers.GetClusterCenters();
130 clusterCenters = newClusterCenters;
132 this.wrappedDispatcher.SingleIteration(clusteringTextures);
135 this.wrappedDispatcher.clusteringRTsAndBuffers.GetClusterCenters();
146 clusterCenters: newClusterCenters
override bool usesStopCondition
Call Dispose after using.
Call Allocate before using and Dispose after using.
const float varianceChangeThreshold
static readonly IObjectPool< RunUntilConvergesResult > pool
ClusterCenters clusterCenters
static RunUntilConvergesResult Get(ClusterCenters clusterCenters, bool converged)
virtual void RunClustering(ClusteringTextures clusteringTextures)
WrapperStopCondition(ASimpleDispatcer wrappedDispatcher)
ClusteringRTsAndBuffers clusteringRTsAndBuffers
void UpdateClusterCenters(ClusteringTextures clusteringTextures, bool rejectOld)
void AttributeClustersKM(ClusteringTextures clusteringTextures)
float? GetVariance()
Computes variance for the current cluster centers. Depending on this.useFullResTexRef uses either wor...
RunUntilConvergesResult RunUntilConverges(ClusteringTextures clusteringTextures)
DispatcherParameters abstractParameters
bool doRandomizeEmptyClusters
Call Dispose after using.
Call Dispose after using.