MSc thesis · DTU · 2026 · Sole-authored

pDAPS

A diffusion-prior sampler for accelerated MRI.

pDAPS uses a preconditioned solve for observed k-space and a diffusion prior for the missing frequencies. It produces multiple reconstructions so uncertainty can be estimated from their spread.

1.5–2×lower mode-mass error than the next-best sampler at κ ≥ 100
≈ ½DAPS wall-clock at equal NFE
0inner-step divergences on the brain benchmark
An accelerated MRI inverse problem: a fully sampled knee image is undersampled into an aliased measurement, then reconstructed by posterior sampling.
Accelerated MRI measures only part of k-space. Posterior sampling returns a distribution of reconstructions consistent with those measurements.
01 / Setup

Incomplete measurements

For multi-coil MRI, the forward operator is \(A=PFS\): coil sensitivities \(S\), Fourier transform \(F\), and an undersampling mask \(P\). The observation model is \(y=Ax+\varepsilon\).

The target is the posterior \(p(x\mid y)\), not only a point estimate. Its samples should agree on measured k-space while varying where the acquisition leaves the image underdetermined.

forward model
\[ A=PFS,\qquad y=Ax+\varepsilon \]

\(A^HA\) inherits the mask, coil geometry, and a wide spectrum of curvature.

Bayesian target
\[ p(x\mid y)\propto p(y\mid x)\,p(x) \]

The likelihood constrains observed directions; the diffusion model supplies the image prior.

02 / Algorithm

pDAPS update

At noise level \(\sigma_t\), the denoiser produces an anchor \(\hat{x}_0\). Data correction is a regularized least-squares problem around that anchor.

inner objective
\[ \mathcal{L}_t(x_0) =\frac{1}{2}\lVert Ax_0-y\rVert_2^2 +\frac{\nu_t}{2}\lVert x_0-\hat{x}_0\rVert_2^2, \qquad \nu_t=\frac{\beta_y^2}{\sigma_t^2} \]

The first term enforces the measurement; the second controls how far the correction may move from the current prior estimate.

regularized normal operator
\[ B_t=A^HA+\nu_t I \]

This is the curvature that makes an isotropic inner Langevin chain stiff.

deterministic correction
\[ x_0^\star=B_t^{-1}(A^Hy+\nu_t\hat{x}_0) \]

The inverse is never formed. A truncated conjugate-gradient solve evaluates its action.

1

Denoise

Integrate a short probability-flow path from \(x_t\) to obtain a fresh clean-image anchor \(\hat{x}_0\).

2

Data correction

Solve \(B_tx_0=A^Hy+\nu_t\hat{x}_0\) with 30 truncated CG iterations.

3

Re-noise

Draw \(z\) and set \(x_{t'}=x_0+\sigma_{t'}z\). This outer step carries the sampler's stochasticity.

Conditioning

First-order inner Langevin updates require \(\mathcal{O}(\kappa(B_t))\) iterations in the standard quadratic analysis. CG reduces the dependence to \(\mathcal{O}(\sqrt{\kappa(B_t)})\).

Temperature

The implemented inner correction is deterministic. Injecting inner noise degraded validation performance; independent posterior samples instead come from initialization and repeated outer re-noising.

measured / unmeasured split
\[ x_w =\Pi_{\parallel}x_{\mathrm{solve}} +\Pi_{\perp}\!\left(w\hat{x}_0+(1-w)x_{\mathrm{prev}}\right), \qquad Ax_{w_1}=Ax_{w_2} \]

For an exact null projector, \(A\Pi_\perp=0\), so changing \(w\) moves only the underdetermined component. In multi-coil MRI the Fourier-mask split is approximate because sensitivity maps mix frequencies; this equality is therefore an organizing model, not an exact implementation guarantee.

Conceptual comparison of DPS, pULA, DAPS, and pDAPS trajectories. pDAPS combines a preconditioned inner correction with a decoupled outer trajectory.
pDAPS is the decoupled, preconditioned case in this comparison.
03 / Evaluation

A sampler needs more than PSNR

SSIM, PSNR, and HFEN score the posterior mean against a reference. They do not detect whether repeated runs return meaningful alternatives or the same point estimate.

relative cross-seed spread
\[ D= \frac{\langle \operatorname{std}_{\mathrm{seed}}\rangle} {\langle \bar{x}\rangle} \]

\(D\to0\) indicates collapse, but a large \(D\) is useful only while samples remain data-consistent.

calibration
\[ z_{\mathrm{rms}} =\sqrt{\frac{1}{|\mathcal I|} \sum_{i\in\mathcal I} \left(\frac{\bar{x}_i-|x_i^\star|} {\operatorname{std}_{\mathrm{seed},i}}\right)^2} \]

\(z_{\mathrm{rms}}\approx1\) is calibrated; values above one mean the cross-seed spread is too small for the observed error.

Validation
16 slices · 3 seeds
Test
48 slices · 8 seeds
Fidelity
SSIM ↑ · PSNR ↑ · HFEN ↓
Sampling
\(D\) as spread descriptor · \(z_{\mathrm{rms}}\to1\)
04 / Synthetic test

64-D posterior

A four-mode Gaussian-mixture posterior was tested while the condition number of the forward operator increased. Every method was tuned independently. Lower mode-mass error is better.

κ ≥ 100

pDAPS had lower mode-mass error than pULA at all three settings.

Samplerκ=10301003001000
DPS1.411.441.441.441.39
DAPS0.851.151.261.311.29
pULA0.000.130.510.640.65
pDAPS0.010.150.300.500.35
05 / MRI test

fastMRI knee and brain

DPS, DAPS, pULA, and pDAPS were evaluated on knee and brain slices at 4× and 8× acceleration. pDAPS was reported at \(w=0.5\) and \(w=1.0\), exposing the null-fill operating point rather than hiding it in one aggregate rank.

2anatomies
4× / 8×acceleration
w = 0.5 / 1.0reported operating points

Observed

  • Sharper reconstructions than pULA.
  • No inner-step divergence on the brain experiments.
  • Cross-sample spread concentrated in weakly measured regions.
  • About half the DAPS runtime at equal NFE.

Limitations

  • Not best on every distortion or calibration metric.
  • Less diverse and less calibrated than pULA.
  • Raw spread underestimated reconstruction error.
  • No explicit acquisition-noise model.
Grid of knee and brain MRI reconstructions at 4× acceleration comparing DPS, DAPS, pULA, and pDAPS against ground truth, with single-seed samples, 8-seed posterior means, magnified insets, and per-panel SSIM and PSNR.
Test-set reconstructions at R=4: one posterior sample and the 8-seed posterior mean per method, with per-panel SSIM/PSNR. pDAPS stays as sharp as the strongest baselines; pULA's diverse draws average toward a blurrier mean.

Compute per reconstructed slice

NFE counts score-network evaluations. Seconds were measured on one shared GPU and are comparable within this experiment, not as universal runtimes.

MethodNFEKnee · secondsBrain · seconds
R=4R=8R=4R=8
DPS100016.614.613.913.9
DAPS100016.416.320.218.7
pULA400 / 6404.03.96.36.3
pDAPS10007.17.77.18.9
pDAPS knee MRI uncertainty tiers, high-uncertainty outlines, and a calibration plot showing observed error above the uncalibrated identity line.
Cross-sample spread localizes high-error regions. Its magnitude required a fitted calibration slope of 1.89.

What the uncertainty means here

The benchmark uses \(\sigma_{\mathrm{noise}}=0\). Reported spread comes from random initialization and outer re-noising, and lies mostly in the unmeasured subspace. The \(z_{\mathrm{rms}}\) results compare samplers inside this setup; they are not clinical coverage guarantees under a realistic acquisition-noise model.

06 / Conclusion

Result

pDAPS replaced DAPS's inner Langevin loop with a regularized CG solve. On the stiff synthetic problem it settles at 1.5–2× lower mode-mass error than the next-best sampler once κ ≥ 100. On MRI it takes SSIM on knee at both accelerations, halves DAPS's wall-clock at equal NFE, and removes the brain step-size divergence observed for the larger DAPS setting.

It is a tradeoff, not a sweep: sharper and less diverse than pULA, and not uniformly better than DPS or DAPS on every fidelity metric. The next technical problem is calibrating the magnitude of uncertainty in the underdetermined component.

Implementation

The sampler was implemented from scratch in PyTorch: the truncated-CG data correction, the measured/unmeasured split, and the decoupled outer schedule, built on InverseBench's interface and its pretrained diffusion priors.

Experimental scale

All results come from batch job fleets on a shared GPU cluster: two anatomies at two accelerations with 8-seed posterior sampling, independent validation sweeps for every baseline, and 2-D and 64-D synthetic studies.

Bayesian Inverse Problems with Diffusion Priors Dan Edelstein · MSc thesis · Technical University of Denmark · 2026

pDAPS was implemented from scratch for the thesis. The public code uses InverseBench as an attributed source dependency for its base interface, scheduler, pretrained models, and inverse-problem utilities.