Fast and Robust Diffusion Posterior Sampling for MR Image Reconstruction Using the Preconditioned Unadjusted Langevin Algorithm.
The 6 matches · 4 of them tie a paragraph to a whole file, not to given lines: weak matches, whose lines are not tinted
- [1] § Methods › Numerical Experiments ↔ sup_figure_04_noise_dps_stepsize/run.sh, the whole file · a weak match · score 0.72 · retrospectively undersampled, foreground mask, coil compressed, coil sensitivities, whitened, training
- [2] § Methods › Numerical Experiments ↔ figure_03_diffusion/run.sh, the whole file · a weak match · score 0.72 · retrospectively undersampled, foreground mask, coil compressed, coil sensitivities, whitened, training
- [3] § Methods › Data Processing and Network Training ↔ figure_03_diffusion/run.sh, the whole file · a weak match · score 0.55 · foreground mask, coil sensitivities, whitened, training, sigma, compressed
- [4] § Methods › Data Processing and Network Training ↔ sup_figure_04_noise_dps_stepsize/run.sh, the whole file · a weak match · score 0.54 · foreground mask, coil sensitivities, whitened, training, sigma, compressed
- [5] § Methods › Numerical Experiments ↔ figure_04_noise/run.sh, lines 44–96 · score 0.52 · foreground mask, coil sensitivities, FFT, Wavelet, slice, PSNR
- [6] § Methods › Numerical Experiments ↔ sup_figure_05_cc_uncertainty_dps/run.sh, lines 45–112 · score 0.52 · foreground mask, coil sensitivities, FFT, Wavelet, slice, PSNR
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
Shell · 84 lines · 2.3 KB · no license · 2 matches
- #!/bin/bash
- #Copyright 2025. TU Graz. Institute of Biomedical Imaging.
- #Author: Tina Holliber
- set -eu
- SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )
- cd $SCRIPT_DIR
- WORKDIR=$(mktemp -d 2>/dev/null || mktemp -d -t 'mytmpdir')
- trap 'rm -rf "$WORKDIR"' EXIT
- cd "$WORKDIR" || exit
- WGH="${WGH:-$SCRIPT_DIR/../01_data/12_trained_weights/wgh}"
- if [ ! -f ${WGH}.hdr ]; then
- echo "ERROR: Weights file $WGH does not exist."
- exit 1
- fi
- DATA=$SCRIPT_DIR/../01_data/02_t2/ksp
- # Remove frequency oversampling
- bart fft -i -u 1 $DATA c
- bart resize -c 0 320 c c2
- bart fft -u 1 c2 ksp
- bart resize 0 1 c2 c2
- bart transpose 0 1 c2 noise
- # Noise whitening
- bart whiten ksp noise ksp
- # Retrospective undersampling patterns
- bart ones 2 1 16 - | bart resize -c 1 320 - ac
- bart upat -Y320 -y4 -Z1 - | bart saxpy 1 - ac - | bart threshold -B 0.5 - - | bart repmat 0 320 - pat_reg4
- bart upat -Y320 -y12 -Z1 - | bart saxpy 1 - ac - | bart threshold -B 0.5 - - | bart repmat 0 320 - pat_reg12
- bart join 10 pat_reg4 pat_reg12 pat
- bart scale 1 pat $SCRIPT_DIR/pat
- # Coil Compression
- bart cc -p12 ksp ksp
- LOOP="-l$(bart bitmask 10) -r ksp"
- # Coil Sensitivity Estimation
- bart $LOOP ncalib -M0.001 -i14 --cgiter=10 ksp col imgs
- bart rss 8 col nrm
- # Image Scaling
- bart fft -i -u 3 imgs imgs
- bart $LOOP estscaling -p0.99 -x320:320:1 imgs scl
- bart fmac scl col col
- # Foreground Masking
- bart $LOOP ecalib -r16 -A -m1 ksp - | bart rss 8 - msk
- bart fmac col msk col
- bart fmac nrm msk nrm
- # add noise
- bart noise -n8 ksp kspn
- bart scale 0.333 kspn kspn
- bart scale 0.333 col coln
- bart join 5 ksp kspn ksp
- bart join 5 col coln col
- bart slice 5 0 ksp ksp_full
- bart fmac pat ksp ksp
- export BART_DEBUG_LEVEL=4
- bart pics -w1 -r0.000001 -l1 -i100 -e -g ksp_full col imgfull
- bart fmac imgfull nrm $SCRIPT_DIR/ref
- # Sampling
- LOOP="-l$(bart bitmask 5 10) -e $(bart show -d 5 ksp):$(bart show -d 10 ksp) --random-dims=0"
- for step in 0.01 0.05 0.1 0.2 0.3 0.4 0.5; do
- BART_DEBUG_LEVEL=4 bart $LOOP sample -p --sigma max=10.,min=0.01 -S10 --gamma=$step -K0 -N240 -g --posterior k=ksp,s=col,dps --mask=msk --cunet w=$WGH sample_dps1_$step > sample_dps_$step.log 2>&1
- bart fmac sample_dps1_$step nrm sample_dps1_$step
- done
- bart join 9 sample_dps1_0.01 sample_dps1_0.05 sample_dps1_0.1 sample_dps1_0.2 sample_dps1_0.3 sample_dps1_0.4 sample_dps1_0.5 $SCRIPT_DIR/sample_dps
run.sh at commit 08b6948, no license · at the source
Overview
- Institute of Biomedical Imaging Graz University of Technology Graz Austria
- Department of Radiology Boston Children's Hospital, Harvard Medical School Boston USA
- Chandra Family Department of Electrical Engineering University of Texas at Austin Austin USA
- Department of Diagnostic Medicine, Dell Medical School University of Texas at Austin Austin USA
- BioTechMed‐Graz Graz Austria
Abstract
Purpose: The Unadjusted Langevin Algorithm (ULA) in combination with diffusion models can generate high quality MRI reconstructions with uncertainty estimation from highly undersampled k‐space data. However, sampling methods such as diffusion posterior sampling (DPS) or likelihood annealing suffer from long reconstruction times and the need for parameter tuning. The purpose of this work is to develop a robust sampling algorithm with fast convergence.
Theory and Methods: In the reverse diffusion process used for sampling the posterior, the exact likelihood is multiplied with the diffused prior at all noise scales. To overcome the issue of slow convergence, preconditioning is used. The method is trained on fastMRI data and tested on retrospectively undersampled brain data of a healthy volunteer.
Results: For posterior sampling in Cartesian and non‐Cartesian accelerated MRI the new approach outperforms annealed sampling and DPS in terms of reconstruction speed and sample quality.
Conclusion: The proposed exact likelihood with preconditioning enables rapid and reliable posterior sampling across various MRI reconstruction tasks without the need for parameter tuning.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repository
Its files are read in the Code ↔ Paper reader above, with 6 matches between paragraphs and lines of code.
gitlab.tugraz.at/ibi/mrirecon/papers/dps-pula
08b6948239e96dbd5867e2ac9b7cd8a9a79a7112, 23 March 2026Availability: 1 check, the latest on 28 September 2026: the link answers
- 28 September 2026: the link answers
37 files
- 00_scripts/
replace.sh , Shell, 21 lines - 00_scripts/
runtime.sh , Shell, 10 lines - 01_data/
01_t1/ , Shell, 40 linesrun.sh - 01_data/
02_t2/ , Shell, 40 linesrun.sh - 01_data/
03_radial/ , Shell, 47 linesrun.sh - 01_data/
11_train_data/ , Python, 37 linesconvert_fastMRI.py - 01_data/
11_train_data/ , Shell, 47 linesprep.sh - 01_data/
11_train_data/ , Shell, 56 linesrun.sh - 01_data/
12_trained_weights/ , Shell, 28 linesrun.sh - 02_train_fastMRI/
train_cunet.sh , Shell, 33 lines - figure_01_analytic/
2D_analytical.py , Python, 155 lines - figure_01_analytic/
2D_sampling.py , Python, 179 lines - figure_01_analytic/
pdf_score_func.py , Python, 151 lines - figure_01_analytic/
run.sh , Shell, 18 lines - figure_01_analytic/
sampling_algo.py , Python, 77 lines - figure_02_comparison/
fig.sh , Shell, 101 lines - figure_02_comparison/
run.sh , Shell, 119 lines - figure_03_diffusion/
fig.sh , Shell, 25 lines - figure_03_diffusion/
run.sh , Shell, 66 lines, 2 matches - figure_04_noise/
fig.sh , Shell, 87 lines - figure_04_noise/
run.sh , Shell, 140 lines, 1 match - figure_05_noncart/
fig.sh , Shell, 42 lines - figure_05_noncart/
run.sh , Shell, 111 lines - run_all.sh, Shell, 22 lines
- run_supporting.sh, Shell, 25 lines
- sup_figure_01_comparison
_dps/ , Shell, 62 linesfig.sh - sup_figure_01_comparison
_dps/ , Shell, 106 linesrun.sh - sup_figure_02_cg/
fig.py , Python, 93 lines - sup_figure_02_cg/
fig.sh , Shell, 62 lines - sup_figure_02_cg/
run.sh , Shell, 94 lines - sup_figure_04_noise_dps_
stepsize/ , Shell, 36 linesfig.sh - sup_figure_04_noise_dps_
stepsize/ , Shell, 84 lines, 2 matchesrun.sh - sup_figure_05_cc_uncerta
inty_dps/ , Shell, 74 linesfig.sh - sup_figure_05_cc_uncerta
inty_dps/ , Shell, 112 lines, 1 matchrun.sh - sup_figure_06_noncart_dp
s/ , Shell, 24 linesfig.sh - sup_figure_06_noncart_dp
s/ , Shell, 100 linesrun.sh - README.md, Text, 49 lines
The paper's code and data availability statement is in the Data section.
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 36 scripts, each with its path and the digest of its content;
- 6 matches between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
Datasets cited
- zenodo:17739731, at Zenodo; found in “Data Availability Statement”
Data Availability Statement
In the spirit of reproducible research, the code to reproduce the results of this paper is available at https://
Reproduced under the paper's license (CC BY), from the paper cited above.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 2, 28 September 2026
- Publisher: n/a → Wiley
Version 1, 28 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 4 authors, 5 keywords, 9 MeSH terms, 2 funders, 19 references.
Cite
This paper
Blumenthal, M., Holliber, T., Tamir, J. I., & Uecker, M. (2026). Fast and Robust Diffusion Posterior Sampling for MR Image Reconstruction Using the Preconditioned Unadjusted Langevin Algorithm. Magnetic resonance in medicine, 96(3), 1323-1332. https://
BibTeX
@article{blumenthal2026f
author = {Blumenthal, Moritz and Holliber, Tina and Tamir, Jonathan I. and Uecker, Martin},
title = {{Fast and Robust Diffusion Posterior Sampling for MR Image Reconstruction Using the Preconditioned Unadjusted Langevin Algorithm}},
journal = {Magnetic resonance in medicine},
year = {2026},
month = may,
volume = {96},
number = {3},
pages = {1323--1332},
publisher = {Wiley},
issn = {0740-3194},
doi = {10.1002/
url = {https://
pmid = {42108406},
pmcid = {PMC13327450}
}
RIS
TY - JOUR
AU - Blumenthal, Moritz
AU - Holliber, Tina
AU - Tamir, Jonathan I.
AU - Uecker, Martin
TI - Fast and Robust Diffusion Posterior Sampling for MR Image Reconstruction Using the Preconditioned Unadjusted Langevin Algorithm
T2 - Magnetic resonance in medicine
J2 - Magn Reson Med
PY - 2026
DA - 2026/
VL - 96
IS - 3
SP - 1323
EP - 1332
SN - 0740-3194
PB - Wiley
DO - 10.1002/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1002/
"type": "article-journal",
"title": "Fast and Robust Diffusion Posterior Sampling for MR Image Reconstruction Using the Preconditioned Unadjusted Langevin Algorithm",
"container-title": "Magnetic resonance in medicine",
"author": [
{
"family": "Blumenthal",
"given": "Moritz"
},
{
"family": "Holliber",
"given": "Tina"
},
{
"family": "Tamir",
"given": "Jonathan I."
},
{
"family": "Uecker",
"given": "Martin"
}
],
"container-title-short":
"volume": "96",
"issue": "3",
"page": "1323-1332",
"DOI": "10.1002/
"PMID": "42108406",
"PMCID": "PMC13327450",
"ISSN": "0740-3194",
"publisher": "Wiley",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
5,
10
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.1002/mrm.70333 [code]
- Phase-Pole-Free Images and Smooth Coil Sensitivity Maps by Regularized Nonlinear Inversion.Journal: Magnetic resonance in medicineIn common: Matplotlib, NumPy, structural MRI / diffusion, 3 references, 2 authors
- [2] doi:10.1002/mrm.70496 [code]
- A Deep Nonlinear Subspace Modeling and Reconstruction for Diffusion-Weighted Imaging Using Denoising Auto-Encoder.Journal: Magnetic resonance in medicineIn common: Numba, h5py, Matplotlib, 1 other tool, methods / tools, structural MRI / diffusion
- [3] doi:10.7554/elife.110588 [code]
- Opening the black box toward a modular approach to spike sorting.Journal: eLifeIn common: Numba, h5py, Matplotlib, 1 other tool, methods / tools
- [4] doi:10.1093/bioinformatics/btag540 [code]
- Deciphering spatial heterogeneity by multimodal spatial transcriptomics modelling with SpatialModal.Journal: Bioinformatics (Oxford, England)In common: Numba, h5py, Matplotlib, 1 other tool, methods / tools
- [5] doi:10.1038/s41592-026-03057-2 [code]
- CREsted: modeling genomic and synthetic cell-type-specific enhancers across tissues and species.Journal: Nature methodsIn common: Numba, h5py, Matplotlib, 1 other tool, methods / tools
- [6] doi:10.1002/advs.77003 [code]
- SemanticST: A Scalable Multi-Contextual Graph Learning Framework for Uncovering Spatial Niches and Robust Multi-Sample Integration in Spatial Transcriptomics.Journal: Advanced science (Weinheim, Baden-Wurttemberg, Germany)In common: Numba, h5py, Matplotlib, 1 other tool, methods / tools
- [7] doi:10.1038/s41598-026-57519-w [code]
- Automated segmentation of neurons and spinal cord structures in immunofluorescence images using SpineDL.Journal: Scientific reportsIn common: Numba, h5py, Matplotlib, 1 other tool, methods / tools
- [8] doi:10.1093/bib/bbag331 [code]
- SPOmiAlign: a modality-agnostic computational framework for multimodal spatial omics alignment enabled by a feature matching foundation model.Journal: Briefings in bioinformaticsIn common: Numba, h5py, Matplotlib, 1 other tool, methods / tools
- [9] doi:10.1038/s41467-026-75959-w [code]
- Charting higher-order models of brain function beyond pairwise interactions.Journal: Nature communicationsIn common: Numba, h5py, Matplotlib, 1 other tool
- [10] doi:10.1073/pnas.2533168123 [code]
- Dendritic morphology and synaptic nonlinearities enhance functional complexity in human cortical neurons.Journal: Proceedings of the National Academy of Sciences of the United States of AmericaIn common: Numba, h5py, Matplotlib, 1 other tool
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 1 repository of the authors' code, each at its verified commit and with its license, 36 scripts, and 6 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:c2b46c4fc267efa6…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[.
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
