private static FileRetentionTimeAlignments CalculateFileRetentionTimeAlignments( string dataFileName, ResultNameMap <IDictionary <Target, double> > libraryRetentionTimes, IProgressMonitor progressMonitor) { var targetTimes = libraryRetentionTimes.Find(dataFileName); if (targetTimes == null) { return(null); } var alignments = new List <RetentionTimeAlignment>(); foreach (var entry in libraryRetentionTimes) { if (dataFileName == entry.Key) { continue; } var alignedFile = AlignedRetentionTimes.AlignLibraryRetentionTimes(targetTimes, entry.Value, REFINEMENT_THRESHHOLD, RegressionMethodRT.linear, new CustomCancellationToken(CancellationToken.None, () => progressMonitor.IsCanceled)); if (alignedFile == null || alignedFile.RegressionRefinedStatistics == null || !RetentionTimeRegression.IsAboveThreshold(alignedFile.RegressionRefinedStatistics.R, REFINEMENT_THRESHHOLD)) { continue; } var regressionLine = alignedFile.RegressionRefined.Conversion as RegressionLineElement; if (regressionLine != null) { alignments.Add(new RetentionTimeAlignment(entry.Key, regressionLine)); } } return(new FileRetentionTimeAlignments(dataFileName, alignments)); }
public bool IsRefined() { // If refinement has been performed, or it doesn't need to be. if (_regressionRefined != null) { return(true); } if (_statisticsAll == null) { return(false); } return(RetentionTimeRegression.IsAboveThreshold(_statisticsAll.R, _threshold)); }