{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/medformer-a-multi-granularity-patching","title":"Medformer: A Multi-Granularity Patching Transformer for Medical Time-Series Classification","arxiv_id":"2405.19363","date":"2024-05-24","proceeding":null,"authors":["Yihe Wang","Nan Huang","Taida Li","Yujun Yan","Xiang Zhang"],"abstract":"Medical time series (MedTS) data, such as Electroencephalography (EEG) and Electrocardiography (ECG), play a crucial role in healthcare, such as diagnosing brain and heart diseases. Existing methods for MedTS classification primarily rely on handcrafted biomarkers extraction and CNN-based models, with limited exploration of transformer-based models. In this paper, we introduce Medformer, a multi-granularity patching transformer tailored specifically for MedTS classification. Our method incorporates three novel mechanisms to leverage the unique characteristics of MedTS: cross-channel patching to leverage inter-channel correlations, multi-granularity embedding for capturing features at different scales, and two-stage (intra- and inter-granularity) multi-granularity self-attention for learning features and correlations within and among granularities. We conduct extensive experiments on five public datasets under both subject-dependent and challenging subject-independent setups. Results demonstrate Medformer's superiority over 10 baselines, achieving top averaged ranking across five datasets on all six evaluation metrics. These findings underscore the significant impact of our method on healthcare applications, such as diagnosing Myocardial Infarction, Alzheimer's, and Parkinson's disease. We release the source code at https://github.com/DL4mHealth/Medformer.","url_abs":"https://arxiv.org/abs/2405.19363v2","url_pdf":"https://arxiv.org/pdf/2405.19363v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"medformer-a-multi-granularity-patching","repo_url":"https://github.com/dl4mhealth/medformer","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"medformer-a-multi-granularity-patching","repo_url":"https://github.com/dl4mhealth/medts_evaluation","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"gone","observed_at":"2026-09-17","how":"tree_404+repo_404"}}],"tasks":[{"task_slug":"eeg-1","task_name":"EEG"},{"task_slug":"electrocardiography-ecg","task_name":"Electrocardiography (ECG)"},{"task_slug":"time-series-1","task_name":"Time Series"},{"task_slug":"time-series-classification","task_name":"Time Series Classification"}],"methods":[{"method_slug":"patching","method_name":"Patching"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2405.19363","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.19363"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/dl4mhealth/medformer","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/dl4mhealth/medts_evaluation","reach":{"status":"gone","observed_at":"2026-09-17","how":"tree_404+repo_404"}}],"summary":{"ran":2,"ran_honours":1,"ran_draft_wrong":1,"ran_fixture":2,"unverified":2},"by_repo_kind":{"official":{"samples":8,"ran":6,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"2af0df7394e58e06","entry":"conv1d_fft","repo":"dl4mhealth/medformer","repo_kind":"official","path":"layers/ETSformer_EncDec.py","file_url":"https://github.com/dl4mhealth/medformer/blob/HEAD/layers/ETSformer_EncDec.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2af0df7394e58e06"}},{"code_sha256_prefix":"cf4ccd3b192a77f6","entry":"get_augmentation","repo":"dl4mhealth/medformer","repo_kind":"official","path":"layers/Augmentation.py","file_url":"https://github.com/dl4mhealth/medformer/blob/HEAD/layers/Augmentation.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cf4ccd3b192a77f6"}},{"code_sha256_prefix":"592ea8b254b006db","entry":"get_frequency_modes","repo":"dl4mhealth/medformer","repo_kind":"official","path":"layers/FourierCorrelation.py","file_url":"https://github.com/dl4mhealth/medformer/blob/HEAD/layers/FourierCorrelation.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"592ea8b254b006db"}},{"code_sha256_prefix":"f32036738135c8a8","entry":"get_phi_psi","repo":"dl4mhealth/medformer","repo_kind":"official","path":"layers/MultiWaveletCorrelation.py","file_url":"https://github.com/dl4mhealth/medformer/blob/HEAD/layers/MultiWaveletCorrelation.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f32036738135c8a8"}},{"code_sha256_prefix":"4ef26472da51e3aa","entry":"legendreDer","repo":"dl4mhealth/medformer","repo_kind":"official","path":"layers/MultiWaveletCorrelation.py","file_url":"https://github.com/dl4mhealth/medformer/blob/HEAD/layers/MultiWaveletCorrelation.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4ef26472da51e3aa"}},{"code_sha256_prefix":"a54c8c5c47c6a8b8","entry":"phi_","repo":"dl4mhealth/medformer","repo_kind":"official","path":"layers/MultiWaveletCorrelation.py","file_url":"https://github.com/dl4mhealth/medformer/blob/HEAD/layers/MultiWaveletCorrelation.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a54c8c5c47c6a8b8"}},{"code_sha256_prefix":"fd61ceb881a058a2","entry":"get_mask","repo":"dl4mhealth/medformer","repo_kind":"official","path":"layers/Pyraformer_EncDec.py","file_url":"https://github.com/dl4mhealth/medformer/blob/HEAD/layers/Pyraformer_EncDec.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fd61ceb881a058a2"}},{"code_sha256_prefix":"05bdfb126191dbb0","entry":"refer_points","repo":"dl4mhealth/medformer","repo_kind":"official","path":"layers/Pyraformer_EncDec.py","file_url":"https://github.com/dl4mhealth/medformer/blob/HEAD/layers/Pyraformer_EncDec.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"05bdfb126191dbb0"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}