public void DBScanWorker(object sender, DoWorkEventArgs e) { StatusController.WorkerStatus(true); foreach (var filename in this.DataController.Files) { var inflectionPoint = KDisCurveCalculator .ReadInflectionPointList(this.EmbeddingModel.GetInflectionPointName(filename)) .First(); this.DBScanForFileWithInflectionPoint(filename, inflectionPoint); } StatusController.WorkerStatus(false); }
private List <InflectionPoint> CalcInflectionPointForFile(string filename, bool save = true) { this.EmbeddingModel.ReadModel(this.EmbeddingModel.GetModelName(filename)); var id = 0; var kDisCurveCalculator = new KDisCurveCalculator { Data = this.DataController.UseData <KeyFeature>(filename) .Select(data => data.ToVectorPoint(this.EmbeddingModel, id++)).ToList() }; kDisCurveCalculator.Calculate(); if (save) { kDisCurveCalculator.SaveInflectionPointList(this.EmbeddingModel.GetInflectionPointName(filename)); kDisCurveCalculator.SaveNearestNeighborList(@"E:\EventExtractionExam\Debug\kds.txt"); //kDisCurveCalculator.GetKDisCurveFigure().SaveImage(@"E:\EventExtractionExam\Debug\figure.png", ImageFormat.Png); } return(kDisCurveCalculator.InflectionPointList); }