{
 "id": "epf50egrwg",
 "slug": "peak-detection-signal-processing",
 "title": "Peak detection (signal processing)",
 "updated": "2026-10-15",
 "topic_path": [
  {
   "id": "technology",
   "label": "Technology and the built world",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology"
  },
  {
   "id": "technology.computing",
   "label": "Computing and digital systems",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing"
  },
  {
   "id": "technology.computing.ai",
   "label": "Artificial intelligence and data",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai"
  },
  {
   "id": "technology.computing.ai.algorithms",
   "label": "Algorithms and computational methods",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai.algorithms"
  },
  {
   "id": "technology.computing.ai.numerical_string_geometry",
   "label": "Numerical, string, and geometric algorithms",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai.numerical_string_geometry"
  },
  {
   "id": "technology.computing.ai.numerical_string_geometry.numerical_analysis_methods",
   "label": "Numerical methods and approximation",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai.numerical_string_geometry.numerical_analysis_methods"
  }
 ],
 "geo": [
  {
   "id": "geo.nongeo.t1946.technology.computing.ai.numerical_string_geometry.numerical_analysis_methods",
   "label": "Non-geographic · 1946 to 2000: Numerical methods and approximation",
   "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.technology.computing.ai.numerical_string_geometry.numerical_analysis_methods",
   "path": [
    {
     "id": "geo.nongeo",
     "label": "Non-geographic",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo"
    },
    {
     "id": "geo.nongeo.t1946",
     "label": "Non-geographic · 1946 to 2000",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946"
    },
    {
     "id": "geo.nongeo.t1946.technology",
     "label": "Technology and the built world",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.technology"
    },
    {
     "id": "geo.nongeo.t1946.technology.computing",
     "label": "Computing and digital systems",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.technology.computing"
    },
    {
     "id": "geo.nongeo.t1946.technology.computing.ai",
     "label": "Artificial intelligence and data",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.technology.computing.ai"
    },
    {
     "id": "geo.nongeo.t1946.technology.computing.ai.algorithms",
     "label": "Algorithms and computational methods",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.technology.computing.ai.algorithms"
    },
    {
     "id": "geo.nongeo.t1946.technology.computing.ai.numerical_string_geometry",
     "label": "Numerical, string, and geometric algorithms",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.technology.computing.ai.numerical_string_geometry"
    },
    {
     "id": "geo.nongeo.t1946.technology.computing.ai.numerical_string_geometry.numerical_analysis_methods",
     "label": "Numerical methods and approximation",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t1946.technology.computing.ai.numerical_string_geometry.numerical_analysis_methods"
    }
   ]
  }
 ],
 "excerpt": "Peak detection is the computational identification of local maxima in measured signals, estimating each peak's position, height, width, and significance; it is standard in processing mass spectra and chromatograms.",
 "snippet": "Peak detection is the computational identification of local maxima in measured signals, estimating each peak's position, height, width, and significance; it is standard in processing mass spectra and chromatograms.",
 "node": "technology.computing.ai.numerical_string_geometry.numerical_analysis_methods",
 "markdown": "# Peak detection (signal processing)\n\nPeak detection is the computational identification of local maxima in a measured signal, together with estimation of each peak's position, height, width, area, or statistical significance. It is a standard step in processing mass spectra, chromatograms, and other one-dimensional instrumental signals. A detector's output is typically an index or coordinate per peak plus derived properties: SciPy's find_peaks can return peak heights, prominences with their left and right bases, widths at a chosen relative height, and plateau sizes.<sup>[1](https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.find_peaks.html)</sup> Published comparisons decompose the task into three consecutive parts, smoothing, baseline correction, and peak finding.<sup>[2](https://link.springer.com/article/10.1186/1471-2105-10-4)</sup> Statistical detectors go further and replace binary threshold decisions with probabilities that can be propagated into later preprocessing steps.<sup>[3](https://pubs.acs.org/doi/abs/10.1021/acs.analchem.5b01521)</sup>\n\n| Key fact | Detail | Source |\n|---|---|---|\n| Outputs | Peak index plus height, prominence, width, and plateau size (SciPy find_peaks) | [1](https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.find_peaks.html) |\n| Pipeline | Smoothing, baseline correction, peak finding | [2](https://link.springer.com/article/10.1186/1471-2105-10-4) |\n| Best in a five-algorithm MALDI comparison | CWT gave the best average performance | [2](https://link.springer.com/article/10.1186/1471-2105-10-4) |\n| Sensitivity–FDR tradeoff | At 5% false discovery rate, half of true peaks were missed | [2](https://link.springer.com/article/10.1186/1471-2105-10-4) |\n| GSD matched filter | 94% of simulated peaks detected with zero false positives at S/N = 10 | [4](https://analyticalsciencejournals.onlinelibrary.wiley.com/doi/10.1002/jssc.200900395) |\n| CWT on MALDI-TOF | 97% of reference peaks found, two false positives | [5](https://centaur.reading.ac.uk/18352/1/peakpicking_-_latest.pdf) |\n| Library status | find_peaks added in SciPy 1.1.0; MassSpecWavelet at Bioconductor version 1.78.2 | [1](https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.find_peaks.html), [6](https://bioconductor.posit.co/packages/release/bioc/html/MassSpecWavelet.html) |\n\n## How it works\n\nfind_peaks defines a peak as any sample whose two direct neighbors have smaller amplitude; for flat peaks, the index of the middle sample is returned.<sup>[1](https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.find_peaks.html)</sup> Simple neighbor comparison alone is inadequate on real data. Choosing maxima of a record, even after smoothing, is unreliable because the maxima of smaller peaks shift distinctly toward larger neighbors, and filtering, whether ordinary or via equivalent least-squares analysis, makes measurements area-sensitive to some degree.<sup>[4](https://www.jstage.jst.go.jp/article/jpe1952/16/Special/16_Special_155/_pdf)</sup> Prominence, the vertical distance between a peak and its lowest contour line, measures how much a peak stands out from the surrounding baseline.<sup>[1](https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.find_peaks.html)</sup> Many pipelines add a signal-to-noise test: centWave computes \\( \\mathrm{SNR} = (I_{\\max} - BL)/NL \\) from a local baseline \\( BL \\) and noise level \\( NL \\) and discards features below a threshold.<sup>[5](https://link.springer.com/article/10.1186/1471-2105-9-504)</sup> Probabilistic detectors instead output a probability per candidate, so uncertainty carries into later preprocessing rather than being collapsed by a threshold.<sup>[3](https://pubs.acs.org/doi/abs/10.1021/acs.analchem.5b01521)</sup>\n\n## How it is done\n\n**A typical workflow** follows the smoothing, baseline correction, peak finding decomposition.<sup>[2](https://link.springer.com/article/10.1186/1471-2105-10-4)</sup> Smoothing is often a Savitzky-Golay filter, a generalized moving average that least-squares fits a small set of consecutive points to a polynomial and takes the central point of the fit as output.<sup>[2](https://link.springer.com/article/10.1186/1471-2105-10-4)</sup> After baseline handling, candidates are found as local maxima and filtered by property conditions; find_peaks evaluates conditions in the order plateau_size, height, threshold, distance, prominence, width, which is usually the fastest order because earlier, cheaper tests reduce the peaks evaluated later.<sup>[1](https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.find_peaks.html)</sup> Domain tools tune the same filters: hplc-py normalizes a chromatogram to [0, 1] before applying a prominence filter such as 0.01, chosen according to peak size, overlap, and noise.<sup>[6](https://cremerlab.github.io/hplc-py/methodology/peak_detection.html)</sup> TidyMS removes peaks with prominence below three times the estimated noise, or in regions where \\( |x_{k} - b_{k}| < e_{k} \\) marks baseline.<sup>[7](https://tidyms.readthedocs.io/en/latest/generated/tidyms.peaks.html)</sup> Finally, widths are measured at the evaluation height \\( h_{\\mathrm{eval}} = h_{\\mathrm{Peak}} - P \\cdot R \\), where \\( P \\) is prominence and \\( R \\) the relative height, by default 0.5.<sup>[1](https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.find_peaks.html)</sup>\n\n## Origin\n\nThe earliest widely used ingredients are smoothing and differentiation tools. Abraham Savitzky and [Marcel J. E. Golay](https://www.edgepedia.org/marcel-j-e-golay) published a least-squares procedure in Analytical Chemistry in 1964 in which uniformly spaced data are convolved with precomputed sets of integers and normalizing factors, illustrated on spectroscopic data with FORTRAN subroutines.<sup>[8](https://doi.org/10.1021/ac60214a047)</sup> For peak search itself, M.A. Mariscotti published a method in Nuclear Instruments and Methods in 1967 that reads an entire spectrum, locates peaks, and determines amplitudes, centroids, and widths by least-squares fitting, handling doublets automatically.<sup>[9](https://doi.org/10.1016/0029-554x%2867%2990058-4)</sup><sup> • </sup><sup>[10](https://www.sciencedirect.com/science/article/abs/pii/0029554X67900584)</sup> B. R. F. Kendall published a resolving-power multiplier for mass spectrometers in Review of Scientific Instruments in 1962,<sup>[11](https://doi.org/10.1063/1.1717657)</sup> and A. J. C. Wilson analyzed least-squares parabola peak location and its bias in British Journal of Applied Physics in 1965.<sup>[12](https://doi.org/10.1088/0508-3443/16/5/309)</sup> The matched filter came from communication theory: the optimum filter has transfer function \\( F(f) \\propto S^{*}(f)/S_{n}(f) \\), equivalent in the time domain to cross correlation with the expected peak shape when noise density is flat, drawing on texts such as Wainstein and Zubakov (1962) and Lee (1960).<sup>[4](https://www.jstage.jst.go.jp/article/jpe1952/16/Special/16_Special_155/_pdf)</sup> The CWT-based peak detector was published by Pan Du, Warren A. Kibbe, and Simon M. Lin in [Bioinformatics](https://www.edgepedia.org/bioinformatics) in 2006.<sup>[13](https://doi.org/10.1093/bioinformatics/btl355)</sup>\n\n## Variants\n\n**Threshold detectors** compare intensity against a cutoff; cataloged variants include n-Sigma (spectral mean plus n times the standard deviation), the mean of local maxima, the valley between multi-modal intensity distributions, signal-to-noise estimated from data between isotopic peaks, and a root-mean-square threshold.<sup>[14](https://irep.ntu.ac.uk/id/eprint/29324/1/6668_Kilgour.pdf)</sup> [Derivative](https://www.edgepedia.org/derivative) methods use smoothed derivatives: the second-derivative method based on Mariscotti's 1967 paper underlies gamma-ray analysis software including HYPERMET-PC, K0_IAEA, GENIE 2000, and GammaVision because it can find overlapping peaks.<sup>[10](https://www.sciencedirect.com/science/article/abs/pii/0029554X67900584)</sup> [Matched filtering](https://www.edgepedia.org/matched-filtering) correlates the signal with an expected peak shape; one LC/MS implementation applies a Gaussian, box-car, or Savitzky-Golay template in both elution-time and m/z dimensions and scores candidates with \\( S_{c} = (S/N)^{G} \\), where \\( G = 0.67n \\) is the gain for n data points per chromatographic peak.<sup>[15](https://pmc.ncbi.nlm.nih.gov/articles/PMC2766790/)</sup> Wavelet methods convolve with scaled wavelets and link maxima across scales into ridge lines: SciPy's find_peaks_cwt uses a ricker wavelet with default min_snr of 1 and noise taken from the 10th percentile of the ridge-line data.<sup>[16](https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.find%5Fpeaks%5Fcwt.html)</sup> MassSpecWavelet uses the Mexican Hat wavelet.<sup>[17](https://analyticalsciencejournals.onlinelibrary.wiley.com/doi/10.1002/elps.200800096)</sup> Ridger uses a wavelet proportional to the first derivative of a Gaussian and pairs CWT maxima with minima, which distinguishes peaks from one-sided slopes, something the symmetric Mexican Hat cannot do.<sup>[17](https://analyticalsciencejournals.onlinelibrary.wiley.com/doi/10.1002/elps.200800096)</sup> MSPD thresholds ridges, valleys, and zero-crossings in wavelet space.<sup>[18](https://pubs.rsc.org/en/content/getauthorversionpdf/C5AN01816A)</sup> WISPD adds Median-based Otsu image segmentation and a stair-scanning ridge search.<sup>[19](https://doi.org/10.1016/j.ijms.2021.116601)</sup> centWave combines density-based regions of interest in m/z with a Mexican Hat CWT and optional Gauss fitting in the chromatographic domain.<sup>[5](https://link.springer.com/article/10.1186/1471-2105-9-504)</sup> Bayesian detectors output probabilities,<sup>[3](https://pubs.acs.org/doi/abs/10.1021/acs.analchem.5b01521)</sup> and the lookahead-based peakdetect method rejects noise-induced fluctuations without requiring smoothing.<sup>[20](https://erdogant.github.io/findpeaks/pages/html/Peakdetect.html)</sup>\n\n## Applications\n\nIn LC/MS, centWave is used for LC-QTOF, LC-Orbitrap, CE-MS, and GC-MS data,<sup>[5](https://link.springer.com/article/10.1186/1471-2105-9-504)</sup> and XCMS pairs peak detection with nonlinear peak alignment.<sup>[21](https://doi.org/10.1021/ac051437y)</sup> In GC-MS metabolomics, WiPP optimizes centWave and matchedFilter parameters by unsupervised grid search and merges their outputs.<sup>[22](https://mdpi-res.com/d_attachment/metabolites/metabolites-09-00171/article_deploy/metabolites-09-00171-v2.pdf?version=1566527652)</sup> Gamma-ray spectrometry relies on the second-derivative method,<sup>[10](https://www.sciencedirect.com/science/article/abs/pii/0029554X67900584)</sup> and capillary electrophoresis on microfluidic chips uses Ridger.<sup>[17](https://analyticalsciencejournals.onlinelibrary.wiley.com/doi/10.1002/elps.200800096)</sup> Platform frameworks embed these choices: MZmine 2 provides a modular framework for processing, visualizing, and analyzing mass spectrometry-based molecular profile data.<sup>[23](https://doi.org/10.1186/1471-2105-11-395)</sup> An interlaboratory new-peak-detection study across 28 laboratories using NISTmAb RM 8671 found within-laboratory retention-time repeatability SDs below 0.25 min but between-laboratory reproducibility SDs of 1.4–2.0 min, motivating a community retention-time window of ±0.65 min.<sup>[24](http://pubs.acs.org/doi/abs/10.1021/jasms.0c00415)</sup>\n\n## Limitations and alternatives\n\n**Baseline drift** biases detection strongly if not removed; chemical, ionization, and electronic noise produce a decreasing background curve in MALDI data.<sup>[2](https://link.springer.com/article/10.1186/1471-2105-10-4)</sup> Noise-induced false positives dominate at high sensitivity: in GC-MS data, filtered low-quality peaks averaged 90% of matchedFilter's and 80% of centWave's total detections,<sup>[22](https://mdpi-res.com/d_attachment/metabolites/metabolites-09-00171/article_deploy/metabolites-09-00171-v2.pdf?version=1566527652)</sup> and 58% of false positives in the interlaboratory study were low-abundance species.<sup>[24](http://pubs.acs.org/doi/abs/10.1021/jasms.0c00415)</sup> Template methods fail when peaks deviate from the assumed shape, for example Gaussian peaks made asymmetric by laser energy.<sup>[25](https://centaur.reading.ac.uk/18352/1/peakpicking_-_latest.pdf)</sup> A matched filter with a fixed model peak width fails when widths vary,<sup>[5](https://link.springer.com/article/10.1186/1471-2105-9-504)</sup> and CWT tends to miss thin peaks surrounded by higher ones.<sup>[25](https://centaur.reading.ac.uk/18352/1/peakpicking_-_latest.pdf)</sup> Excessive smoothing, or misassigning co-eluted peak sections as baseline, alters peak areas.<sup>[26](https://www.chromatographyonline.com/view/resolving-separation-issues-with-computational-methods-part-2-why-is-peak-integration-still-an-issue-)</sup>\n\nFor overlapping peaks, the local-maxima strategy splits at the saddle point with a vertical line, while deconvolution fits distribution functions such as a Gaussian or modified Pearson VII and integrates them individually; Pearson VII fitting agreed with the known sample composition.<sup>[26](https://www.chromatographyonline.com/view/resolving-separation-issues-with-computational-methods-part-2-why-is-peak-integration-still-an-issue-)</sup> A bi-[Gaussian mixture model](https://www.edgepedia.org/gaussian-mixture-model) with EM-like fitting and BIC selection showed success rates mostly above 90% for asymmetric, weakly overlapping peaks, with area errors mostly under 15%.<sup>[27](https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-11-559)</sup> hplc-py groups peaks whose lowest contour lines overlap into windows and fits them as one unit;<sup>[6](https://cremerlab.github.io/hplc-py/methodology/peak_detection.html)</sup> TidyMS splits overlapping peaks at the minimum value between them.<sup>[7](https://tidyms.readthedocs.io/en/latest/generated/tidyms.peaks.html)</sup> The GSD filter illustrates the resolution tradeoff: its default width ratio \\( w_{f}/n_{i} = 2.2 \\) maximizes S/N, while 0.5 detects peaks down to \\( R_{s} = 0.6 \\) at high S/N at the cost of robustness and low-S/N sensitivity.<sup>[28](https://analyticalsciencejournals.onlinelibrary.wiley.com/doi/10.1002/jssc.200900395)</sup>\n\n**Machine learning.** Deep-learning peak pickers include PeakBot for chromatographic peak picking,<sup>[29](https://doi.org/10.1093/bioinformatics/btac344)</sup> the semisupervised PeakDetective for untargeted metabolomics,<sup>[30](https://doi.org/10.1021/acs.analchem.3c00764)</sup> MZmine 3,<sup>[31](https://doi.org/10.1038/s41587-023-01690-2)</sup> a CNN for reversed-phase LC peak detection,<sup>[32](https://doi.org/10.1016/j.chroma.2022.463005)</sup> and deep-learning approaches to peak evaluation and integration in chromatography.<sup>[33](https://doi.org/10.1016/j.talanta.2019.05.053)</sup><sup> • </sup><sup>[34](https://doi.org/10.1002/bit.28406)</sup> In targeted proteomics, Skyline uses the mProphet scoring model, while automRm and DeepMRM apply machine-learning models.<sup>[35](https://pmc.ncbi.nlm.nih.gov/articles/PMC12966724/)</sup> Work since late 2023 includes MsTargetPeaker, which frames peak picking as sequential decisions solved by a reinforcement-learning agent guiding [Monte Carlo tree search](https://www.edgepedia.org/monte-carlo-tree-search).<sup>[35](https://pmc.ncbi.nlm.nih.gov/articles/PMC12966724/)</sup>\n\n## References\n\n1. [find_peaks, SciPy v1.18.0 Manual](https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.find_peaks.html)\n2. [Comparison of public peak detection algorithms for MALDI mass spectrometry data analysis (BMC Bioinformatics 2009)](https://link.springer.com/article/10.1186/1471-2105-10-4)\n3. [Probabilistic Model for Untargeted Peak Detection in LC–MS Using Bayesian Statistics (Analytical Chemistry)](https://pubs.acs.org/doi/abs/10.1021/acs.analchem.5b01521)\n4. [The Digital Recording of Mass Spectra (J. Phys. Soc. Japan supplement, scanned)](https://www.jstage.jst.go.jp/article/jpe1952/16/Special/16_Special_155/_pdf)\n5. [Highly sensitive feature detection for high resolution LC/MS (centWave, BMC Bioinformatics 2008)](https://link.springer.com/article/10.1186/1471-2105-9-504)\n6. [Step 2: Detecting Peaks, hplc-py 0.2.1 documentation](https://cremerlab.github.io/hplc-py/methodology/peak_detection.html)\n7. [tidyms.peaks, TidyMS documentation](https://tidyms.readthedocs.io/en/latest/generated/tidyms.peaks.html)\n8. [Abraham. Savitzky, M. J. E. Golay (1964). Smoothing and Differentiation of Data by Simplified Least Squares Procedures.. Analytical Chemistry.](https://doi.org/10.1021/ac60214a047)\n9. [A method for automatic identification of peaks in the presence of background and its application to spectrum analysis (Nuclear Instruments and Methods, 1967)](https://doi.org/10.1016/0029-554x%2867%2990058-4)\n10. [A method for automatic identification of peaks in the presence of background and its application to spectrum analysis (Mariscotti, 1967)](https://www.sciencedirect.com/science/article/abs/pii/0029554X67900584)\n11. [B. R. F. Kendall (1962). Resolving-Power Multiplier for Mass Spectrometers. Review of Scientific Instruments.](https://doi.org/10.1063/1.1717657)\n12. [A J C Wilson (1965). The location of peaks. British Journal of Applied Physics.](https://doi.org/10.1088/0508-3443/16/5/309)\n13. [Pan Du, Warren A. Kibbe, Simon M. Lin (2006). Improved peak detection in mass spectrum by incorporating continuous wavelet transform-based pattern matching. Bioinformatics.](https://doi.org/10.1093/bioinformatics/btl355)\n14. [Autopiquer - a Robust and Reliable Peak Detection Algorithm for Mass Spectrometry](https://irep.ntu.ac.uk/id/eprint/29324/1/6668_Kilgour.pdf)\n15. [Review of Peak Detection Algorithms in Liquid-Chromatography-Mass Spectrometry](https://pmc.ncbi.nlm.nih.gov/articles/PMC2766790/)\n16. [find_peaks_cwt, SciPy v1.18.0 Manual](https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.find%5Fpeaks%5Fcwt.html)\n17. [A continuous wavelet transform algorithm for peak detection (Ridger, Electrophoresis)](https://analyticalsciencejournals.onlinelibrary.wiley.com/doi/10.1002/elps.200800096)\n18. [Multi-scale peak detection (MSPD) in analytical signals (Analyst, RSC, accepted manuscript)](https://pubs.rsc.org/en/content/getauthorversionpdf/C5AN01816A)\n19. [Fulong Deng and colleagues (2021). An improved peak detection algorithm in mass spectra combining wavelet transform and image segmentation. International Journal of Mass Spectrometry.](https://doi.org/10.1016/j.ijms.2021.116601)\n20. [Peakdetect, findpeaks documentation](https://erdogant.github.io/findpeaks/pages/html/Peakdetect.html)\n21. [Colin A. Smith and colleagues (2006). XCMS: Processing Mass Spectrometry Data for Metabolite Profiling Using Nonlinear Peak Alignment, Matching, and Identification. Analytical Chemistry.](https://doi.org/10.1021/ac051437y)\n22. [WiPP: workflow for improved peak picking (GC-MS metabolomics, Metabolites)](https://mdpi-res.com/d_attachment/metabolites/metabolites-09-00171/article_deploy/metabolites-09-00171-v2.pdf?version=1566527652)\n23. [Tomáš Pluskal and colleagues (2010). MZmine 2: Modular framework for processing, visualizing, and analyzing mass spectrometry-based molecular profile data. BMC Bioinformatics.](https://doi.org/10.1186/1471-2105-11-395)\n24. [New Peak Detection Performance Metrics from the MAM Consortium Interlaboratory Study (J. Am. Soc. Mass Spectrom.)](http://pubs.acs.org/doi/abs/10.1021/jasms.0c00415)\n25. [Evaluation of peak-picking algorithms for protein mass spectrometry (University of Reading repository)](https://centaur.reading.ac.uk/18352/1/peakpicking_-_latest.pdf)\n26. [Resolving Separation Issues with Computational Methods, Part 2: Why is Peak Integration Still an Issue? (LCGC Chromatography Online)](https://www.chromatographyonline.com/view/resolving-separation-issues-with-computational-methods-part-2-why-is-peak-integration-still-an-issue-)\n27. [Quantification and deconvolution of asymmetric LC-MS peaks using the bi-Gaussian mixture model and statistical model selection (BMC Bioinformatics)](https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-11-559)\n28. [An automatic peak finding method for LC-MS data using Gaussian second derivative filtering (J. Sep. Science)](https://analyticalsciencejournals.onlinelibrary.wiley.com/doi/10.1002/jssc.200900395)\n29. [Christoph Bueschl and colleagues (2022). PeakBot: machine-learning-based chromatographic peak picking. Bioinformatics.](https://doi.org/10.1093/bioinformatics/btac344)\n30. [Ethan Stancliffe, Gary J. Patti (2023). PeakDetective: A Semisupervised Deep Learning-Based Approach for Peak Curation in Untargeted Metabolomics. Analytical Chemistry.](https://doi.org/10.1021/acs.analchem.3c00764)\n31. [Robin Schmid and colleagues (2023). Integrative analysis of multimodal mass spectrometry data in MZmine 3. Nature Biotechnology.](https://doi.org/10.1038/s41587-023-01690-2)\n32. [Alexander Kensert and colleagues (2022). Convolutional neural network for automated peak detection in reversed-phase liquid chromatography. Journal of Chromatography A.](https://doi.org/10.1016/j.chroma.2022.463005)\n33. [Anne Bech Risum, Rasmus Bro (2019). Using deep learning to evaluate peaks in chromatographic data. Talanta.](https://doi.org/10.1016/j.talanta.2019.05.053)\n34. [Abhijeet Satwekar and colleagues (2023). Digital by design approach to develop a universal deep learning AI architecture for automatic chromatographic peak integration. Biotechnology and Bioengineering.](https://doi.org/10.1002/bit.28406)\n35. [MsTargetPeaker: A Quality-Aware Deep Reinforcement Learning Approach for Peak Identification in Targeted Proteomics](https://pmc.ncbi.nlm.nih.gov/articles/PMC12966724/)\n\n---\n*Topic: Encyclopedia › Technology and the built world › Computing and digital systems › Artificial intelligence and data › Algorithms and computational methods › Numerical, string, and geometric algorithms › Numerical methods and approximation*\n\n*Initially written Sep 29, 2026 · Edited: Oct 15, 2026*\n\n*Copyright 2026 EdgeChat AI, a subsidiary of Biostate AI.*\n\nLicense: Edgepedia Community License 1.0, https://www.edgepedia.org/edgepedia/license\n",
 "same_as": [],
 "url": "https://www.edgepedia.org/peak-detection-signal-processing",
 "markdown_url": "https://www.edgepedia.org/peak-detection-signal-processing.md",
 "license": {
  "name": "Edgepedia Community License 1.0",
  "url": "https://www.edgepedia.org/edgepedia/license",
  "summary": "Free with credit, commercial use included. AI training is open to everyone. For other uses, organizations over USD 100M in revenue or 100M monthly users license separately.",
  "spdx": "LicenseRef-Edgepedia-Community-1.0"
 },
 "credit": "\"Peak detection (signal processing)\", Edgepedia (EdgeChat), https://www.edgepedia.org/peak-detection-signal-processing. Edgepedia Community License 1.0.",
 "credit_md": "\"[Peak detection (signal processing)](https://www.edgepedia.org/peak-detection-signal-processing)\", Edgepedia (EdgeChat), [https://www.edgepedia.org/peak-detection-signal-processing](https://www.edgepedia.org/peak-detection-signal-processing). [Edgepedia Community License 1.0](https://www.edgepedia.org/edgepedia/license).",
 "credit_html": "\"<a href=\"https://www.edgepedia.org/peak-detection-signal-processing\">Peak detection (signal processing)</a>\", Edgepedia (EdgeChat), <a href=\"https://www.edgepedia.org/peak-detection-signal-processing\">https://www.edgepedia.org/peak-detection-signal-processing</a>. <a href=\"https://www.edgepedia.org/edgepedia/license\">Edgepedia Community License 1.0</a>.",
 "speakable": "Peak detection is the computational identification of local maxima in measured signals, estimating each peak's position, height, width, and significance; it is standard in processing mass spectra and chromatograms."
}
