public TemplateClusteringLeaderFollower(
     ITemplateCentroidCalculator <DomainType, ICentroidDistance <DomainType> > centroid_calculator_template,
     double critical_distance)
 {
     this.centroid_calculator_template = centroid_calculator_template;
     this.critical_distance            = critical_distance;
 }
 public TemplateClusteringKMeans(
     ITemplateCentroidCalculator <DomainType, ICentroidDistance <DomainType> > centroid_calculator_template,
     int cluster_count,
     int max_iteration_count)
 {
     this.centroid_calculator_template = centroid_calculator_template;
     desired_cluster_count             = cluster_count;
     d_max_iteration_count             = max_iteration_count;
 }
 public TemplateClusteringKMeans(
     ITemplateCentroidCalculator <DomainType, ICentroidDistance <DomainType> > centroid_calculator_template,
     int cluster_count)
     : this(centroid_calculator_template, cluster_count, int.MaxValue)
 {
 }