{"url":"/sota/photoplethysmography-ppg-heart-rate","task":{"name":"Photoplethysmography (PPG) heart rate estimation","url":"/task/photoplethysmography-ppg-heart-rate","note":null},"dataset":{"name":"MIMIC PERform Testing Dataset","url":"/dataset/mimic-perform-testing-dataset"},"category":"Medical","categories":["Medical"],"category_note":null,"description":"Estimating heart rate from the photoplethysmogram (PPG) signal","description_from":"task","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","rank":"the archive's row order at snapshot; not re-ranked","rows_end_at":"2025-07-28","rows_withheld_as_spam":0,"metric_values":"the archive's strings, untouched"},"metrics":["MAPE"],"metric_direction":{"note":"inferred from the metric name only (the archive records no direction); null = not inferred, chart draws points only","by_metric":{"MAPE":null}},"counts":{"rows":15,"rows_with_code":15,"rows_with_paper_page":15,"rows_dated":15,"rows_using_additional_data":0},"rows":[{"rank_in_archive_order":1,"model":"MSPTD: MultiScale Peak & Trough Detection","metrics":{"MAPE":"2.4"},"uses_additional_data":false,"paper_date":"2022-07-19","paper":"/paper/detecting-beats-in-the-photoplethysmogram","paper_url":"https://doi.org/10.1088/1361-6579/ac826d","paper_title":"Detecting beats in the photoplethysmogram: benchmarking open-source algorithms","code":"https://github.com/peterhcharlton/ppg-beats","n_code_links":1,"syntology":null},{"rank_in_archive_order":2,"model":"AMPD: Automatic Multiscale Peak Detection","metrics":{"MAPE":"2.9"},"uses_additional_data":false,"paper_date":"2022-07-19","paper":"/paper/detecting-beats-in-the-photoplethysmogram","paper_url":"https://doi.org/10.1088/1361-6579/ac826d","paper_title":"Detecting beats in the photoplethysmogram: benchmarking open-source algorithms","code":"https://github.com/peterhcharlton/ppg-beats","n_code_links":1,"syntology":null},{"rank_in_archive_order":3,"model":"ABD:  Automatic Beat Detection","metrics":{"MAPE":"3.3"},"uses_additional_data":false,"paper_date":"2022-07-19","paper":"/paper/detecting-beats-in-the-photoplethysmogram","paper_url":"https://doi.org/10.1088/1361-6579/ac826d","paper_title":"Detecting beats in the photoplethysmogram: benchmarking open-source algorithms","code":"https://github.com/peterhcharlton/ppg-beats","n_code_links":1,"syntology":null},{"rank_in_archive_order":4,"model":"Pulses","metrics":{"MAPE":"3.3"},"uses_additional_data":false,"paper_date":"2022-07-19","paper":"/paper/detecting-beats-in-the-photoplethysmogram","paper_url":"https://doi.org/10.1088/1361-6579/ac826d","paper_title":"Detecting beats in the photoplethysmogram: benchmarking open-source algorithms","code":"https://github.com/peterhcharlton/ppg-beats","n_code_links":1,"syntology":null},{"rank_in_archive_order":5,"model":"qppg: Adapted Onset Detector","metrics":{"MAPE":"3.5"},"uses_additional_data":false,"paper_date":"2022-07-19","paper":"/paper/detecting-beats-in-the-photoplethysmogram","paper_url":"https://doi.org/10.1088/1361-6579/ac826d","paper_title":"Detecting beats in the photoplethysmogram: benchmarking open-source algorithms","code":"https://github.com/peterhcharlton/ppg-beats","n_code_links":1,"syntology":null},{"rank_in_archive_order":6,"model":"SPAR: Symmetric Projection Attractor Reconstruction","metrics":{"MAPE":"4.6"},"uses_additional_data":false,"paper_date":"2022-07-19","paper":"/paper/detecting-beats-in-the-photoplethysmogram","paper_url":"https://doi.org/10.1088/1361-6579/ac826d","paper_title":"Detecting beats in the photoplethysmogram: benchmarking open-source algorithms","code":"https://github.com/peterhcharlton/ppg-beats","n_code_links":1,"syntology":null},{"rank_in_archive_order":7,"model":"HeartPy","metrics":{"MAPE":"4.9"},"uses_additional_data":false,"paper_date":"2022-07-19","paper":"/paper/detecting-beats-in-the-photoplethysmogram","paper_url":"https://doi.org/10.1088/1361-6579/ac826d","paper_title":"Detecting beats in the photoplethysmogram: benchmarking open-source algorithms","code":"https://github.com/peterhcharlton/ppg-beats","n_code_links":1,"syntology":null},{"rank_in_archive_order":8,"model":"IMS: Incremental Merge Segmentation","metrics":{"MAPE":"7.7"},"uses_additional_data":false,"paper_date":"2022-07-19","paper":"/paper/detecting-beats-in-the-photoplethysmogram","paper_url":"https://doi.org/10.1088/1361-6579/ac826d","paper_title":"Detecting beats in the photoplethysmogram: benchmarking open-source algorithms","code":"https://github.com/peterhcharlton/ppg-beats","n_code_links":1,"syntology":null},{"rank_in_archive_order":9,"model":"PDA: Peak Detection Algorithm","metrics":{"MAPE":"7.8"},"uses_additional_data":false,"paper_date":"2022-07-19","paper":"/paper/detecting-beats-in-the-photoplethysmogram","paper_url":"https://doi.org/10.1088/1361-6579/ac826d","paper_title":"Detecting beats in the photoplethysmogram: benchmarking open-source algorithms","code":"https://github.com/peterhcharlton/ppg-beats","n_code_links":1,"syntology":null},{"rank_in_archive_order":10,"model":"ERMA: EventRelated Moving Averages","metrics":{"MAPE":"7.9"},"uses_additional_data":false,"paper_date":"2022-07-19","paper":"/paper/detecting-beats-in-the-photoplethysmogram","paper_url":"https://doi.org/10.1088/1361-6579/ac826d","paper_title":"Detecting beats in the photoplethysmogram: benchmarking open-source algorithms","code":"https://github.com/peterhcharlton/ppg-beats","n_code_links":1,"syntology":null},{"rank_in_archive_order":11,"model":"PWD: Pulse Wave\nDelineator","metrics":{"MAPE":"8.4"},"uses_additional_data":false,"paper_date":"2022-07-19","paper":"/paper/detecting-beats-in-the-photoplethysmogram","paper_url":"https://doi.org/10.1088/1361-6579/ac826d","paper_title":"Detecting beats in the photoplethysmogram: benchmarking open-source algorithms","code":"https://github.com/peterhcharlton/ppg-beats","n_code_links":1,"syntology":null},{"rank_in_archive_order":12,"model":"COppg: Percentile Peak Detector","metrics":{"MAPE":"9.6"},"uses_additional_data":false,"paper_date":"2022-07-19","paper":"/paper/detecting-beats-in-the-photoplethysmogram","paper_url":"https://doi.org/10.1088/1361-6579/ac826d","paper_title":"Detecting beats in the photoplethysmogram: benchmarking open-source algorithms","code":"https://github.com/peterhcharlton/ppg-beats","n_code_links":1,"syntology":null},{"rank_in_archive_order":13,"model":"WFD: Wavelet Foot Delineation","metrics":{"MAPE":"17.5"},"uses_additional_data":false,"paper_date":"2022-07-19","paper":"/paper/detecting-beats-in-the-photoplethysmogram","paper_url":"https://doi.org/10.1088/1361-6579/ac826d","paper_title":"Detecting beats in the photoplethysmogram: benchmarking open-source algorithms","code":"https://github.com/peterhcharlton/ppg-beats","n_code_links":1,"syntology":null},{"rank_in_archive_order":14,"model":"ATM: Adaptive Threshold Method","metrics":{"MAPE":"38.5"},"uses_additional_data":false,"paper_date":"2022-07-19","paper":"/paper/detecting-beats-in-the-photoplethysmogram","paper_url":"https://doi.org/10.1088/1361-6579/ac826d","paper_title":"Detecting beats in the photoplethysmogram: benchmarking open-source algorithms","code":"https://github.com/peterhcharlton/ppg-beats","n_code_links":1,"syntology":null},{"rank_in_archive_order":15,"model":"SWT: Stationary Wavelet Transform","metrics":{"MAPE":"51.0"},"uses_additional_data":false,"paper_date":"2022-07-19","paper":"/paper/detecting-beats-in-the-photoplethysmogram","paper_url":"https://doi.org/10.1088/1361-6579/ac826d","paper_title":"Detecting beats in the photoplethysmogram: benchmarking open-source algorithms","code":"https://github.com/peterhcharlton/ppg-beats","n_code_links":1,"syntology":null}],"since_archive":{"claim":"Results that newer papers report for their own method, placed here by Syntology. A model pointed at the cell in the paper's own table; the number was read from that cell and checked against this leaderboard's metric, dataset, split and scale; an independent check that saw this leaderboard's other rows and every other leaderboard on the same dataset accepted it. Not reviewed by the paper's authors or by the archive's editors, and not ranked against the archive rows.","extraction_file_present":true,"measurement":{"test_papers":883,"papers_with_output":881,"judged_true":108,"judged":110,"wilson95_lower":0.9361,"measured_on":"2026-09-24","frozen_commit":"0e3de0df94"},"measurement_note":"blind adjudication of accepted entries on a held-out split of archive papers, rules frozen before the test","coverage":{"sentence":"Syntology has checked 6,795 of the 9,581 papers on this site that are newer than the archive; results from the others appear after they are checked.","complete":false,"papers_newer_than_archive":9581,"papers_checked":6795,"papers_extracted_not_yet_verified":0,"boards_without_verdict":2,"papers_not_yet_extracted":2785},"order":"newest first by month (arXiv date, else the arXiv-id month), then arXiv id descending","columns":[],"entries":[]},"syntology":{"read_at":"2026-09-24T18:15:14+00:00","claim":"Per row: N of M harvested code samples from that row's paper executed on a synthesized fixture; the other M-N are unverified. Not a reproduction of the row's number; not a correctness claim. n_pointer_only_licence counts samples the site points at rather than redistributes (a licence axis, independent of ran/unverified).","rows_with_graph_line":0,"rows_with_any_sample_ran":0,"distinct_papers_with_graph_line":0,"distinct_papers_with_any_sample_ran":0,"samples_over_distinct_papers":{"n_ran":0,"n_unverified":0,"n_samples":0,"n_pointer_only_licence":0,"note":"each paper (arXiv id) counted once, however many rows it is behind; this is the page-level figure"},"samples_row_weighted":{"n_ran":0,"n_unverified":0,"n_samples":0,"n_pointer_only_licence":0,"note":"row-weighted: a paper behind several rows is counted once per row; inflated relative to samples_over_distinct_papers by design, kept for readers summing the per-row syntology blocks"}}}