Abhay Chakra Sadineni

Photoacoustic Physics Foundation Model

In tissue, a short pulse of light is absorbed, the absorber warms, and the warming launches a sound wave. That chain is how photoacoustic imaging sees inside the body. One transformer was trained on light, heat and sound, and on each single link between them, but never on the chain itself. On locked test sets it predicted the chain one step ahead at 0.056 to 0.177 of the error of simply repeating the last frame, in one dimension, in a cylinder and a sphere, and on true 2D and 3D grids.

That result holds when the network's inputs are scaled to the amplitudes of its training systems, a rule revised in 1D before that locked set was opened. Under the input rule first written, the pre-registered target was met only in 3D.

Abhay Chakra Sadineni, October 2026. Advisor: Prof. Gerard Marriott.

Illustration: a light pulse enters at the surface, absorbers warm, and each sends out a pressure wave.

Taught the parts, tested on the whole

The network was shown each piece of physics on its own: light diffusing through tissue, heat spreading, sound travelling in three kinds of medium, generic transport equations, and the two single links, light heating tissue and heat launching sound. It was never shown all three at once. The test is whether it can put the links together without being told to.

Lightdiffuse light alone
Heatheat conduction alone
Soundthree kinds of sound
Held out in every geometry: the whole chain, light becoming heat becoming sound in one simulation. This is the test.

One step through the network

Four moments of light, heat and sound go in; the next moment comes out. Choose a geometry and follow a single forecast step through the five stages, or let it play.

Test it yourself

Pick a geometry and a locked test case: trajectories of the full chain the network never saw in training. The trained network runs on your device. It forecasts from four true frames, and you can compare its prediction with the exact simulation and with repeating the last frame, then score the case against the number recorded in the locked evaluation. Cases run from the network's best to its worst, so the spread is in view.

Networks: v2_s0 for the slab, v3Lplain_s0 for the cylinder and sphere, g2_s0 and g3_s0 for the grids, one training seed each, so their medians differ slightly from the three-seed values below. Weights, and the 2D and 3D test cases, are stored in 16-bit precision for download; on every case shown, the browser's one-step error matches the full-precision value recorded in the locked evaluation to within 0.6 per cent. A 3D case needs about 31 MB of downloads and takes a minute or so on a laptop.

One step ahead, in every geometry

Each bar is the error of the network's one-step prediction as a fraction of the error of repeating the last frame. The pre-registered target was 0.2 or less. The comparison is the same design trained without the two single-link systems (1D, 2D, 3D) or, for the cylinder and sphere, the 1D network trained with the same recipe but no cylinder or sphere data. That radial comparison does not isolate the radial data: the cylinder and sphere network also trained three times longer on a different device, and it gains 25.5 per cent even on the 1D chain, which has no radial content.

Network: three training seeds (1D: mean of per-seed medians; other geometries: median of the per-trajectory mean). Comparison networks: one seed in 1D and in the cylinder and sphere, three seeds on the grids. Locked sets: 200 chain trajectories each, 100 in 3D. Lower is better.

GeometryOne step, network (ratio)One step, comparison (ratio)One step, trained on the chain (ratio)Ten steps, network (error)Ten steps, repeating the last frame (error)Pre-registered criteria

Ratios are to the error of repeating the last frame; errors are in the trajectory's own units. Values from results/eval_r2/locked.json, results/eval_r23/locked_r3.json and results/eval_grid/locked_d2.json and locked_d3.json in the repository. "Trained on the chain" is a reference network that did see the chain; it was not trained for the cylinder and sphere.

What was built

Finite-volume solvers for diffuse light, heat conduction and acoustic pressure in tissue, with parameters cited or labelled as modelling choices, each verified against exact solutions (second-order convergence on smooth data) or, where none exists, by reduction to a verified solver. One-dimensional, radially symmetric cylinder and sphere, and true 64 × 64 and 32 × 32 × 32 grids.

A transformer of 2.7 to 8.9 million parameters predicts the next frame from four past frames. It is never told which system it sees. Training systems: light alone, heat alone, sound in three variants, generic transport equations, and the two single links (on the grids, two sound variants and one generic equation). Held out in every geometry: the full chain.

How it was tested

  1. Fresh test sets were generated from unused seeds, fingerprinted (SHA-256) and locked before any network of that comparison was evaluated, and before any network existed for the radial and grid comparisons.
  2. Success criteria were written down at the same point. In 1D the input-scaling rule was revised on development data, and in the radial comparison an arm was added and the comparison tightened, all before the locked sets were opened. Results under the rule first written are reported too.
  3. Design choices were made on development sets, except that the 1D locked result informed the training recipe of the later comparisons; each choice was recorded with its reason before the locked set concerned was opened.
  4. Each locked set was opened for its own comparison once. The 1D set was later scored again for networks of later comparisons; those later 1D numbers are not clean held-out results. Independent audits recomputed every number of each comparison's locked result, except the larger network's scores, with separate code, checked the timing of every step and searched for leakage.

What the results do not show

Reproduce it

The public repository, github.com/abhaysadineni/photoacoustic-physics-foundation-model, holds the solvers, data generation with fingerprints, training jobs, evaluation scripts, worked examples and the four networks this page runs.

git clone https://github.com/abhaysadineni/photoacoustic-physics-foundation-model
cd photoacoustic-physics-foundation-model
pip install -r requirements.txt
python experiments/gen_data.py light heat sound_uniform sound_layered sound_lossy transport burgers fisher chain telegraph photothermal thermoacoustic
python tools/check_manifest.py
python experiments/make_locked_set.py
python experiments/run_eval_r23.py --split final_locked --geoms chain --models v2_s0 --out results/my_check.json

This rebuilds the slab's locked test set from its seed, checks its SHA-256 against the manifest and scores the seed-0 slab network on it. In results/my_check.json, geoms → chain → v2_s0_phys → one_step → median is 0.00913, against 0.0515 for repeating the last frame: 0.177 of it. The data step generates the twelve one-dimensional systems; on a fresh copy it took 772 s on one CPU core, and the evaluation 35 s.

All 73 trained networks of the study, including every seed, ablation and reference network, are attached to the repository's release v1.0 as pfm-models-v1.0.zip (1.04 GB). The repository's README gives every command, including forecasts on the 2D and 3D grids.

Cite

Sadineni, A. C. (2026). Photoacoustic Physics Foundation Model. Software, version 1.0. https://github.com/abhaysadineni/photoacoustic-physics-foundation-model