{"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/arxiv-2601-05212","title":"FlowLet: Conditional 3D Brain MRI Synthesis using Wavelet Flow Matching","arxiv_id":"2601.05212","date":"2026-01-08","proceeding":null,"authors":["Danilo Danese","Angela Lombardi","Matteo Attimonelli","Giuseppe Fasano","Tommaso Di Noia"],"abstract":"Brain Magnetic Resonance Imaging (MRI) plays a central role in studying neurological development, aging, and diseases. One key application is Brain Age Prediction (BAP), which estimates an individual's biological brain age from MRI data. Effective BAP models require large, diverse, and age-balanced datasets, whereas existing 3D MRI datasets are demographically skewed, limiting fairness and generalizability. Acquiring new data is costly and ethically constrained, motivating generative data augmentation. Current generative methods are often based on latent diffusion models, which operate in learned low dimensional latent spaces to address the memory demands of volumetric MRI data. However, these methods are typically slow at inference, may introduce artifacts due to latent compression, and are rarely conditioned on age, thereby affecting the BAP performance. In this work, we propose FlowLet, a conditional generative framework that synthesizes age-conditioned 3D MRIs by leveraging flow matching within an invertible 3D wavelet domain, helping to avoid reconstruction artifacts and reducing computational demands. Experiments show that FlowLet generates high-fidelity volumes with few sampling steps. Training BAP models with data generated by FlowLet improves performance for underrepresented age groups, and region-based analysis confirms preservation of anatomical structures.","url_abs":"https://arxiv.org/abs/2601.05212","url_pdf":"https://arxiv.org/pdf/2601.05212","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2601.05212","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2601.05212"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/sisinflab/FlowLet","reach":null}],"summary":{"ran":3,"ran_draft_wrong":3,"unverified":7},"by_repo_kind":{"found_in_text":{"samples":13,"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":"9221a7ceaef441e6","entry":"Downsample","repo":"sisinflab/FlowLet","repo_kind":"found_in_text","path":"flowlet/models/flow_matching.py","file_url":"https://github.com/sisinflab/FlowLet/blob/HEAD/flowlet/models/flow_matching.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9221a7ceaef441e6"}},{"code_sha256_prefix":"f3206ead0d38d5ea","entry":"MultiLabelEmbedding","repo":"sisinflab/FlowLet","repo_kind":"found_in_text","path":"flowlet/models/flow_matching.py","file_url":"https://github.com/sisinflab/FlowLet/blob/HEAD/flowlet/models/flow_matching.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f3206ead0d38d5ea"}},{"code_sha256_prefix":"20e3683a9a6d548d","entry":"Upsample","repo":"sisinflab/FlowLet","repo_kind":"found_in_text","path":"flowlet/models/flow_matching.py","file_url":"https://github.com/sisinflab/FlowLet/blob/HEAD/flowlet/models/flow_matching.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"20e3683a9a6d548d"}},{"code_sha256_prefix":"755cbe5d70752c6a","entry":"get_logger","repo":"sisinflab/FlowLet","repo_kind":"found_in_text","path":"flowlet/models/flow_matching.py","file_url":"https://github.com/sisinflab/FlowLet/blob/HEAD/flowlet/models/flow_matching.py","link_basis":"first_harvest_node","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":"755cbe5d70752c6a"}},{"code_sha256_prefix":"a984df37d9a6cbb1","entry":"get_norm_layer","repo":"sisinflab/FlowLet","repo_kind":"found_in_text","path":"flowlet/models/flow_matching.py","file_url":"https://github.com/sisinflab/FlowLet/blob/HEAD/flowlet/models/flow_matching.py","link_basis":"first_harvest_node","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":"a984df37d9a6cbb1"}},{"code_sha256_prefix":"bbdb77ef35f27398","entry":"zero_module","repo":"sisinflab/FlowLet","repo_kind":"found_in_text","path":"flowlet/models/flow_matching.py","file_url":"https://github.com/sisinflab/FlowLet/blob/HEAD/flowlet/models/flow_matching.py","link_basis":"first_harvest_node","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":"bbdb77ef35f27398"}},{"code_sha256_prefix":"4b9d8ee393ddff31","entry":"ConditionalUNet","repo":"sisinflab/FlowLet","repo_kind":"found_in_text","path":"flowlet/models/flow_matching.py","file_url":"https://github.com/sisinflab/FlowLet/blob/HEAD/flowlet/models/flow_matching.py","link_basis":"first_harvest_node","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":"4b9d8ee393ddff31"}},{"code_sha256_prefix":"637bbaa78a7462ac","entry":"DWTFunction_3D","repo":"sisinflab/FlowLet","repo_kind":"found_in_text","path":"flowlet/models/flow_matching.py","file_url":"https://github.com/sisinflab/FlowLet/blob/HEAD/flowlet/models/flow_matching.py","link_basis":"first_harvest_node","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":"637bbaa78a7462ac"}},{"code_sha256_prefix":"7cbb99ff59ceb5a9","entry":"DWT_3D","repo":"sisinflab/FlowLet","repo_kind":"found_in_text","path":"flowlet/models/flow_matching.py","file_url":"https://github.com/sisinflab/FlowLet/blob/HEAD/flowlet/models/flow_matching.py","link_basis":"first_harvest_node","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":"7cbb99ff59ceb5a9"}},{"code_sha256_prefix":"397fcf71020a3dce","entry":"IDWT_3D","repo":"sisinflab/FlowLet","repo_kind":"found_in_text","path":"flowlet/models/flow_matching.py","file_url":"https://github.com/sisinflab/FlowLet/blob/HEAD/flowlet/models/flow_matching.py","link_basis":"first_harvest_node","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":"397fcf71020a3dce"}},{"code_sha256_prefix":"852f32d42fb92e4a","entry":"ResBlock","repo":"sisinflab/FlowLet","repo_kind":"found_in_text","path":"flowlet/models/flow_matching.py","file_url":"https://github.com/sisinflab/FlowLet/blob/HEAD/flowlet/models/flow_matching.py","link_basis":"first_harvest_node","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":"852f32d42fb92e4a"}},{"code_sha256_prefix":"e39ebf675cef9863","entry":"TimestepEmbedSequential","repo":"sisinflab/FlowLet","repo_kind":"found_in_text","path":"flowlet/models/flow_matching.py","file_url":"https://github.com/sisinflab/FlowLet/blob/HEAD/flowlet/models/flow_matching.py","link_basis":"first_harvest_node","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":"e39ebf675cef9863"}},{"code_sha256_prefix":"e549a5d76cfc387c","entry":"WaveletFlowMatching","repo":"sisinflab/FlowLet","repo_kind":"found_in_text","path":"flowlet/models/flow_matching.py","file_url":"https://github.com/sisinflab/FlowLet/blob/HEAD/flowlet/models/flow_matching.py","link_basis":"first_harvest_node","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":"e549a5d76cfc387c"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.CV","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}