public void CalculateSummaryData() { if (isPopulatedFromResultsFile) { return; } TotalIntensitySum = Transitions.Sum(x => x.IntensitySum); if (TotalIntensitySum.Equals(0)) { // Avoid divide by zero return; } PassesIntensity = TotalIntensitySum >= IntensityThreshold; foreach (var transition in Transitions) { transition.CalculateStats(TotalIntensitySum, EdgeNETThresholdMinutes); } var maxIntTrans = Transitions.OrderByDescending(x => x.MaxIntensity).First(); MaxIntensity = maxIntTrans.MaxIntensity; MaxIntensityNet = maxIntTrans.MaxIntensityNET; PassesNET = maxIntTrans.PassesNET; var minTimePeak = Transitions.OrderBy(x => x.MaxIntensityTime).First(); var maxTimePeak = Transitions.OrderBy(x => x.MaxIntensityTime).Last(); PassesElutionConcurrence = maxTimePeak.MaxIntensityTime - minTimePeak.MaxIntensityTime <= ElutionConcurrenceThresholdMinutes; PassesSignalToNoiseHeuristic = Transitions.All(x => x.MaxIntensityVsMedian >= SignalToNoiseHeuristicThreshold); PassesAllThresholds = PassesIntensity && PassesNET && PassesElutionConcurrence && PassesSignalToNoiseHeuristic; MedianIntensity = maxIntTrans.MedianIntensity; IntensityRatioMaxVsMedian = maxIntTrans.MaxIntensityVsMedian; if (double.IsInfinity(IntensityRatioMaxVsMedian) || IntensityRatioMaxVsMedian > MaxIntensity) { //System.Console.WriteLine("InfinityEncountered!: {0} MaxInt: {1} Median {2}"); IntensityRatioMaxVsMedian = MaxIntensity; } }