public IClusterDataSource CreateClusterDataSource(ClusterDataSourceSettings clusterDataSourceSettings) { var size = new IntSize(this.Adapter.DepthStreamWidth, this.Adapter.DepthStreamHeight); var clusterFactory = new KMeansClusterFactory(clusterDataSourceSettings, size); var filter = new ImageFrameDepthPointFilter(size, clusterDataSourceSettings.MinimumDepthThreshold, clusterDataSourceSettings.MaximumDepthThreshold, clusterDataSourceSettings.LowerBorder); return new SDKClusterDataSource(this.Adapter, clusterFactory, filter); }
public void Setup() { var settings = new ClusterDataSourceSettings(); settings.LowerBorder = 0; settings.MinimalPointsForClustering = 1; settings.MinimalPointsForValidCluster = 1; settings.PointModulo = 1; settings.MergeMaximumClusterCenterDistances = 1; settings.MergeMaximumClusterCenterDistances2D = 1; settings.MergeMinimumDistanceToCluster = 1; this.size = new IntSize(20, 10); this.factory = new KMeansClusterFactory(settings, this.size); }