CSMSL.Spectral.ISpectrumTimeExtension.GetClosetsPeakChromatogram C# (CSharp) Method

GetClosetsPeakChromatogram() public static method

public static GetClosetsPeakChromatogram ( this spectra, DoubleRange range ) : Chromatogram
spectra this
range DoubleRange
return Chromatogram
        public static Chromatogram GetClosetsPeakChromatogram(this IEnumerable<ISpectrumTime> spectra, DoubleRange range)
        {
            if (range == null)
            {
                throw new ArgumentException("A range must be declared for a m/z range chromatogram");
            }

            List<double> times = new List<double>();
            List<double> intensities = new List<double>();

            foreach (ISpectrumTime spectrum in spectra)
            {
                times.Add(spectrum.Time);
                var peak = spectrum.GetClosestPeak(range);
                intensities.Add((peak != null) ? peak.Intensity : 0);
            }

            return new MassRangeChromatogram(times.ToArray(), intensities.ToArray(), range);
        }