private ResultEntry GetResultEntry(IModelService modelService, FingerprintConfiguration configuration, KeyValuePair <IModelReference, ResultEntryAccumulator> pair, double queryLength) { var track = modelService.ReadTrackByReference(pair.Key); var coverage = queryResultCoverageCalculator.GetCoverage( pair.Value.Matches, queryLength, configuration); double confidence = confidenceCalculator.CalculateConfidence( coverage.SourceMatchStartsAt, coverage.SourceMatchLength, queryLength, coverage.OriginMatchStartsAt, track.Length); return(new ResultEntry( track, coverage.SourceMatchStartsAt, coverage.SourceMatchLength, coverage.OriginMatchStartsAt, GetTrackStartsAt(pair.Value.BestMatch), confidence, pair.Value.HammingSimilaritySum, queryLength, pair.Value.BestMatch)); }
private ResultEntry GetResultEntry(FingerprintConfiguration configuration, TrackData track, ResultEntryAccumulator acc, double queryLength) { var coverage = queryResultCoverageCalculator.GetCoverage( acc.Matches, queryLength, configuration); double confidence = confidenceCalculator.CalculateConfidence( coverage.SourceMatchStartsAt, coverage.SourceMatchLength, queryLength, coverage.OriginMatchStartsAt, track.Length); return(new ResultEntry( track, coverage.SourceMatchStartsAt, coverage.SourceMatchLength, coverage.OriginMatchStartsAt, GetTrackStartsAt(acc.BestMatch), confidence, acc.HammingSimilaritySum, queryLength, acc.BestMatch)); }