Example #1
0
        /// <summary>
        /// Selects charge correlating group based on composite score
        /// </summary>
        /// <param name="result"></param>
        /// <returns></returns>
        private ChromPeakIqTarget TargetSelector(TopDownIqResult result)
        {
            double bestScore        = 0;
            var    bestScoringGroup = new ChargeCorrelationItem();
            var    corrData         = result.ChargeCorrelationData.CorrelationData;

            foreach (var group in corrData)
            {
                double groupScore = 0;
                var    entries    = group.PeakCorrelationData;
                foreach (var entry in entries)
                {
                    groupScore += (entry.Value.RSquaredValsMedian.HasValue) ? entry.Value.RSquaredValsMedian.Value : 0;
                    groupScore += (1 - entry.Key.GetResult().FitScore);
                }

                if (groupScore > bestScore)
                {
                    bestScore        = groupScore;
                    bestScoringGroup = group;
                }
            }

            bestScoringGroup.SelectedTargetGrouping = true;
            result.SelectedCorrelationGroup         = bestScoringGroup;
            foreach (var entry in bestScoringGroup.PeakCorrelationData)
            {
                UpdateSelection(entry.Key);
            }

            return(bestScoringGroup.ReferenceTarget);
        }
Example #2
0
 public TopDownIqResult(IqTarget target)
     : base(target)
 {
     ChargeCorrelationData    = new ChargeCorrelationData();
     SelectedCorrelationGroup = new ChargeCorrelationItem();
 }