{"id":29216976,"url":"https://github.com/randjelaa/qrs-complex-detector","last_synced_at":"2026-04-18T15:37:02.936Z","repository":{"id":302314680,"uuid":"1012004857","full_name":"randjelaa/qrs-complex-detector","owner":"randjelaa","description":"This project implements a QRS complex detector for ECG signals using digital signal processing techniques, including bandpass filtering, derivative filtering, and the Hilbert transform. It processes real ECG data to accurately identify heartbeats and evaluates detection performance with standard metrics.","archived":false,"fork":false,"pushed_at":"2025-07-01T17:04:45.000Z","size":13748,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-01T18:20:00.162Z","etag":null,"topics":["jupyter-notebook","python","scipy","signal-processing"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/randjelaa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-01T16:55:47.000Z","updated_at":"2025-07-01T17:04:49.000Z","dependencies_parsed_at":"2025-07-01T18:30:01.493Z","dependency_job_id":null,"html_url":"https://github.com/randjelaa/qrs-complex-detector","commit_stats":null,"previous_names":["randjelaa/qrs-complex-detector"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/randjelaa/qrs-complex-detector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/randjelaa%2Fqrs-complex-detector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/randjelaa%2Fqrs-complex-detector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/randjelaa%2Fqrs-complex-detector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/randjelaa%2Fqrs-complex-detector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/randjelaa","download_url":"https://codeload.github.com/randjelaa/qrs-complex-detector/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/randjelaa%2Fqrs-complex-detector/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31974946,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"online","status_checked_at":"2026-04-18T02:00:07.018Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jupyter-notebook","python","scipy","signal-processing"],"created_at":"2025-07-03T02:00:34.434Z","updated_at":"2026-04-18T15:37:02.921Z","avatar_url":"https://github.com/randjelaa.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QRS Complex Detection in ECG Signals Using Hilbert Transform\n\nThis project implements an algorithm for detecting QRS complexes in ECG signals by applying Hilbert transform-based preprocessing and adaptive decision rules. The solution is developed in Python within a Jupyter Notebook, utilizing signal processing techniques to accurately identify heartbeats from ECG recordings sourced from the MIT-BIH Arrhythmia Database.\n\n---\n\n## About\n\nElectrocardiogram (ECG) signals represent the electrical activity of the heart, where the QRS complex is a key waveform indicating ventricular contraction. Accurate detection of QRS complexes is fundamental for cardiac health analysis.\n\nThis project covers:\n\n* Reading and visualizing ECG signals with QRS annotations\n* Designing and implementing digital bandpass and derivative filters\n* Constructing an approximate digital Hilbert transform filter\n* Applying preprocessing steps including filtering and Hilbert transform\n* Detecting QRS complex candidates using peak detection and thresholding\n* Classifying candidates as true QRS complexes or noise\n* Evaluating detection performance with sensitivity and precision metrics\n* Visualizing results and analyzing detection accuracy\n\nThe notebook combines theoretical background, signal processing implementation, and experimental validation on real ECG data.\n\n---\n\n## Features\n\n* Load ECG data and annotations from `.npz` files\n* Plot ECG signals with marked QRS complexes\n* Design and analyze digital filters (bandpass, derivative, Hilbert)\n* Implement Hilbert transform filtering and peak detection\n* Adaptive thresholding for candidate selection\n* Performance evaluation with true positive, false positive, and false negative counts\n* Visual and quantitative analysis of detector behavior\n\n---\n\n## Technologies Used\n\n* Python 3.x\n* Jupyter Notebook\n* NumPy, SciPy (signal processing)\n* Matplotlib (plotting)\n\n---\n\n## Usage\n\nOpen the Jupyter Notebook and run all cells sequentially. Modify parameters for filters and detection thresholds to observe effects on performance.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frandjelaa%2Fqrs-complex-detector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frandjelaa%2Fqrs-complex-detector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frandjelaa%2Fqrs-complex-detector/lists"}