NEREIDS · VENUS neutron-resonance imaging

Analysis whitebox — a living design map

NEREIDS measures isotope areal density and effective temperature, pixel by pixel, from the resonance dips in a transmitted time-of-flight spectrum — 5–200 eV, on VENUS at the SNS.

Built physics-first: one shared forward model, four experiment pipelines derived from it, an API contract specified last i

claim badges: verified hypothesis unverified corrected·r1 — links to the review record detail

Scope. Resolved-resonance region only; transmission imaging in 1D ROI and 2D per-pixel form. The map starts at the recorded events: chopper phase, moderator condition and frame definition enter as run state — as the configuration hash a calibration transfer is keyed on, and as qualification checks (frame overlap, timing epoch) — not as quantities this document re-derives. 3-D tomography is a different inverse problem and is deliberately deferred — the reasons are on the Physics tab.

On this tab

Dotted terms open a definition — hover, tap or tab to one.

How the map was built, left to right — settled means reviewed and folded; draft means awaiting sign-off. (The badges in the header describe individual claims, not phases.)

→ → →

If the physics is what you needread

Pipelines → Physics. Watch the model run first — one pulse, one dip, one map — then read why it is built that way. Neither tab assumes you know the software.

If you are reviewing the contractread

Data → API. What every stage consumes and produces, then the eight operations the code is allowed to expose and the invariants each type must guarantee.

If a word is unfamiliartools

Every dotted-underlined term opens its definition — hover, tap or tab to it. glossary lists all of them; show everything opens every fold so the page reads linearly and Ctrl-F finds it.

How to read this: there is one forward model (Physics). Each pipeline runs it as an instance — calibration solves the instrument; the experiments solve density and temperature. Data is what the model consumes; the API is the contract the code must implement i

Every claim on these tabs carries a status badge, and the whole document has passed one round of cross-family adversarial review (two independent reviews, 40 findings, all adjudicated against re-derived numerics). What each correction changed is in the review record.

Terms used on this page

Every dotted-underlined word in the document opens its definition. Written for a physicist who does not work in resonance analysis. Names set in code face — RawRun, GateVerdict, … — are this document’s own proposed names for the objects its contract defines. Entries whose definition ends “(A term this document defines.)” — and every entry carrying a rename note — are likewise this document’s vocabulary, not field terminology; everything else is standard usage in its field. Several early coinages were renamed during review; the Review record keeps the old names, and both resolve here.

forward model
The calculation that goes from physical parameters (density, temperature, instrument) to a predicted measurement; fitting runs it thousands of times and never inverts the data directly.
inverse problem
Recovering parameters from a measurement — the hard direction, because many different parameter sets can produce nearly the same data.
joint fit
One fit in which every unknown varies together, so parameter trade-offs land in the reported uncertainty instead of disappearing.
degeneracy
Two parameters change the predicted data in nearly the same way, so the data alone cannot say which one moved.
identifiability
Whether the data in hand can determine a parameter at all — a property of the experiment, not of whether the fitter happened to converge.
identifiability screen (G3)
The pre-fit check that a proposed measurement can actually determine its target parameters; it refuses the run rather than returning a confident unsupported number.
prior
A probability statement about a parameter brought in from outside this measurement — a previous calibration, an assay, a thermometer — carrying its own uncertainty.
tight prior
A prior that is narrow but still has width: the parameter is still fitted and its uncertainty still flows into the answer; it simply cannot wander far.
hard pin (fixing a parameter)
Holding a parameter at one number with zero uncertainty; it makes every downstream error bar too small, which is why this document forbids it.
posterior
The result of a fit stated as a probability distribution — best values plus the full covariance — rather than as a list of numbers.
covariance matrix
The table of variances and correlations for a set of fitted parameters; the diagonal holds the individual error bars, the off-diagonal the trade-offs between them.
off-diagonal terms
The correlation part of a covariance; dropping it makes some parameter combinations look far too certain and others far too uncertain, so the error is in both directions.
marginalization
Averaging over a parameter you do not care about, so its uncertainty is carried into the one you do care about instead of being ignored.
Cmarg vs Ccond
Ccond is the error bar you get by pretending the calibration is exact; Cmarg = Ccond + JΣcalJᵀ adds what the calibration's own uncertainty contributes, and is the honest one.
marginalization criterion
The explicit test that decides whether a parameter may be treated as effectively fixed: only if marginalizing over its external uncertainty moves the answer by less than a stated fraction of the error budget. (A term this document defines.)
nuisance parameter
An unknown you must fit but do not want — normalization, background, flux — real physics that would otherwise contaminate the parameter you do want.
likelihood
The probability of the data you actually recorded, given a trial set of parameters; fitting means finding the parameters that make the recorded data most probable.
Poisson (counts-domain) likelihood
The fitting statistic for counting individual neutrons; correct at any count level, including bins holding a handful of events, where a Gaussian χ² is not.
deviance
The goodness-of-fit measure that plays the role of χ² for Poisson data: twice the log-likelihood gap between the fitted model and a model that matches every bin exactly.
Neyman vs Pearson χ²
Neyman takes each bin's variance from the observed counts, Pearson from the model prediction; Neyman over-weights bins that happened to fluctuate low and so biases fitted amplitudes.
goodness of fit
The number saying whether the model can explain the data at all — a different question from how precisely it determined the parameters.
residual
Measured minus predicted, bin by bin; structure in the residuals is the model being wrong, which is why this document insists it must stay visible.
residual cube
Residuals kept for every pixel and every time bin — a three-dimensional array — rather than collapsed to one number per pixel.
signed-deviance / randomized-quantile residual
Two ways to make count residuals comparable to a standard normal: signed deviance takes ±√(per-bin deviance); randomized-quantile adds a uniform jitter inside each discrete probability step so the result is exactly normal when the model is true.
parametric bootstrap / posterior-predictive check
Simulating many fake datasets from the fitted model and re-fitting them, to learn what a normal goodness-of-fit value looks like before judging the real one.
coverage
How often a stated 1σ bar actually contains the truth; a correct 1σ covers 68.3% of cases, and the toy study on this page found a hard-pinned fit covering only 20.4%.
Gauss–Newton
The standard iterative least-squares algorithm: linearize the model at the current parameters, solve for a step, repeat until it stops moving.
inverse-Hessian (linearised) covariance
The cheap error bar taken from the curvature of the fit at its minimum; asymptotically correct, but optimistic when the model is wrong, the counts are low or the posterior is not ellipsoidal.
Fisher / expected information
How much a proposed measurement can tell you about a parameter, computable before you take it; used here to rank candidate resonance sets instead of choosing them by rule of thumb.
MCMC
Sampling the posterior directly instead of approximating it by a curvature matrix; exact for awkward shapes, and far too slow to run in every one of 262 144 pixels.
credible interval
The Bayesian error bar — a range containing the parameter with stated probability — used where a posterior is skewed or bounded and a ±σ would mislead.
regularization
Adding a penalty that pulls neighbouring pixels toward each other; it buys lower noise with added bias, so it must be justified by real physics rather than by a nicer-looking map.
edge-preserving (TV-like) prior
Regularization that smooths within regions but permits sharp jumps at boundaries — appropriate when the sample genuinely has edges, unlike Gaussian smoothing which erases them.
effective degrees of freedom
How many independent parameters a regularized fit really used — fewer than the number of pixels — and the number the error bars must be charged for.
holdout validation
Fitting with some resonances, thicknesses or runs deliberately withheld and then predicting them; it catches a model that is compensating errors rather than describing physics.
model inadequacy / model discrepancy
The part of the mismatch caused by the model being wrong rather than by noise; given its own term so it cannot be quietly absorbed into the background.
Jensen's inequality
Because exp is convex, the average of exp(−τ) always exceeds exp of the average τ — which is why fitting a heterogeneous region as if it were uniform underestimates density.
cumulant
A term in a systematic expansion of a distribution; the −Var(τ)/2 offset on this page is the leading cumulant only, so the exact offset still depends on the distribution's shape.
correlated (common-mode) systematic
An error shared identically by every pixel; averaging more pixels does not reduce it, so a 1/√N error bar on a spatial mean is wrong by construction.
adaptive binning / superpixel
Grouping neighbouring pixels to raise the counts entering one fit, trading spatial resolution for statistical precision.
trust mask
The per-pixel record of where the fit is believable, so failures arrive as data instead of as numbers that merely look plausible. (A term this document defines.)
optical depth τ₀
The exponent of the attenuation at a resonance peak, τ = n·d·σ: τ₀ = 1 removes 63% of the beam at that energy, τ₀ = 3 removes 95%.
areal density n·d
Atoms per unit area along the beam, in atoms/barn; transmission measures this product only, never thickness and volumetric density separately.
barn
The nuclear cross-section unit, 10⁻²⁴ cm²; quoting areal density in atoms/barn makes the product n·d·σ dimensionless.
Beer–Lambert law
Transmission = exp(−Σ n·d·σ), exact for the un-scattered beam at any thickness — so it is not a thin-sample approximation that breaks when the sample gets thick.
self-shielding
The front of a thick sample removes the resonance-energy neutrons, so the back sees a beam already depleted; in transmission the exponential already describes this exactly, and it only becomes a correction if you linearize.
saturation / black resonance
A line strong enough that essentially no neutrons at that energy get through: the dip stops deepening and only its width still responds to more material.
curve of growth
How a dip's strength grows with areal density — linear while thin, then flattening and widening once it saturates; borrowed from stellar spectroscopy, and the reason depth and width cannot be read as separate measurements.
equivalent width
The area removed by a dip, ∫(1−T)dE, expressed as the width a perfectly black rectangular line would need to remove the same number of neutrons; more robust against normalization error than the depth.
Doppler broadening
Thermal motion of the target nuclei smears the resonance in energy, widening and shallowing it; the free-gas kernel conserves the reaction rate exactly and the cross-section area only to order (Δ_D/E)².
Doppler width Δ_D
The characteristic energy spread from that motion, ≈ √(4kBT_eff·E/A): larger when hot, larger at high energy, smaller for heavy nuclei.
free-gas model
The standard Doppler treatment, which pretends the nuclei move like an ideal gas at temperature T; exact for the reaction rate, and applied to a solid only through an effective temperature.
effective temperature T_eff
The temperature a free gas would need to reproduce the mean-square nuclear motion of a real lattice; always above the thermodynamic temperature because of zero-point motion, converging to it when hot.
Debye temperature θ_D / phonon DOS
The lattice-vibration model that converts thermodynamic temperature into T_eff; different model families give slightly different line shapes, so the family must be declared and its uncertainty carried.
resonance
A neutron energy at which a compound-nucleus state is available, raising the cross-section by orders of magnitude and cutting a sharp notch into the transmitted spectrum.
Γ, Γn, Γγ (resonance widths)
Γ is the intrinsic energy width of a resonance, set by the lifetime of the compound state; Γn is the part that decays by re-emitting the neutron and Γγ the part that decays by gamma emission, with Γ their sum over open channels.
capture-dominated resonance
One with Γγ ≫ Γn, so nearly every neutron it removes is genuinely absorbed rather than scattered forward into the detector — the clean kind for quantitative density.
interference asymmetry
Resonance scattering adds coherently with potential scattering, tilting the line shape and letting the cross-section fall below or rise above the smooth baseline; the effect scales with Γn/Γ.
spin group (J, π, ℓ, channel spin)
The quantum labels that sort resonances into independent families — total angular momentum, parity, orbital angular momentum and channel spin; only resonances in the same family interfere with each other.
statistical spin factor g_J
The weight (2J+1)/(2(2I+1)) giving each spin group its share of the cross-section, with I the target's ground-state spin.
resolved resonance region (RRR)
The energy band where individual resonances are separated and tabulated one by one; the VENUS band of ≤ 200 eV lies entirely inside it.
unresolved resonance region (URR)
The higher band where resonances overlap and only their statistical distributions are known, so cross-sections there are averages, not lines; not used by this pipeline.
ENDF File 2 / File 3
In an evaluated nuclear-data library, File 2 holds the resonance parameters and File 3 the smooth background cross-section that must be added to whatever the resonance formula reconstructs.
resonance formalism (SLBW · MLBW · Reich-Moore · RML)
Successive approximations for turning resonance parameters into a cross-section: SLBW adds each line independently, MLBW restores level-level interference in the elastic channel, Reich-Moore eliminates the gamma channels but keeps the full R-matrix in the particle channels, and RML is the general multichannel form — an evaluation's parameters mean only the formalism it declares.
collision matrix Ucc
The R-matrix quantity giving the amplitude for a neutron to enter and leave in the same channel; because the total cross-section is built from 1 − Re Ucc, resonances interfere rather than simply add.
scattering / channel radius (AP, a_c, NAPS)
AP sets the potential-scattering amplitude, a_c the radius at which the R-matrix is matched to free-particle waves, and NAPS is the ENDF flag stating whether the evaluation uses one number for both.
boundary condition B · distant-level Rext
Bookkeeping parameters describing the R-matrix boundary and the levels outside the tabulated range; they shift the smooth part of the cross-section and must be carried as the evaluation gives them, never defaulted.
reduced-width sign
The sign of a resonance's width amplitude, which decides whether neighbouring lines interfere constructively or destructively; discarding it changes the line shape even though the widths are unchanged.
mononuclidic · even-even nucleus
An element with effectively one stable isotope; an even-even nucleus (even proton and neutron number) always has ground-state spin 0, so s-wave neutrons see a single spin group and produce a sparse, cleanly separated resonance ladder.
resonance ladder
A nuclide's sequence of resonances up the energy axis; dense ladders (high target spin, many spin groups) blend into each other, sparse ones stay isolated and usable.
resolution function K(t|E)
The instrument's own smearing in arrival time — the probability of observing time t for a neutron of true energy E — which broadens every dip on top of the physics.
Ikeda–Carpenter
The standard analytic moderator-emission shape: a t²e−αt slowing-down rise convolved with a slower storage decay, with R the fraction emitted through the storage channel; causal by construction, unlike a Gaussian.
non-stationary kernel
A blur whose shape changes along the energy axis, so it cannot be applied as a single convolution — convolution assumes the same shape everywhere.
moderator emission delay
The time a neutron spends slowing down inside the moderator before leaking out; because it scales as 1/√E it is mathematically identical to a constant extra flight path, which is why the fitted L must differ from the surveyed one.
anchoring convention
The declared rule for where zero sits inside the resolution kernel — its mode or its mean; without one fixed convention the kernel's position competes with t₀ and L for the same degree of freedom. (A term this document defines.)
t₀ (time offset)
The constant tying the recorded clock to the moment the neutrons left; any constant timing error is absorbed exactly into it, so nothing inside the fit can check it and the defining trigger must be stated externally.
black-resonance notch filter
A foil placed in the beam whose saturated resonances let nothing through at known energies, so whatever is counted there is background by construction.
non-PSD covariance
A published covariance matrix that is not positive semi-definite — it implies a negative variance for some combination — and so must be repaired before use, with the repair disclosed.
NRTA
Neutron resonance transmission analysis: reading composition, areal density and temperature from the resonance dips in a transmitted time-of-flight spectrum — the method family this pipeline belongs to.
entry point / public surface
One of the eight named operations that are the only way to drive the pipeline; everything else is either a read-only accessor or does not exist.
contract
The written specification the code must satisfy, treated as authoritative over the code — here the code is validated against the document, never the reverse.
invariant
A property guaranteed to hold of an object at all times — for instance that a reduced spectrum has no energy axis — enforced by how it is built rather than by review discipline.
type-level enforcement
Making a rule violation fail to compile rather than fail at run time; it is what turns "do not skip the gate" from a policy into something that cannot be written.
handle
A reference to an object already recorded in the campaign, passed instead of the values themselves — you cannot invent one, so a step cannot be fed a hand-made input.
registered (content-addressed) identity
An identifier computed from an object's own content by the one component permitted to produce that object, so its origin is verifiable and two identical objects have the same name. (The review records say “minted” — the same thing.)
campaign
To the facility, a campaign is the measurement activity — days of beamtime. In this contract it is also the name of the object that records one: an append-only registry of the campaign’s objects and identities, which is what lets Wednesday’s fit consume Monday’s calibration by reference rather than by copy.
registry
The store inside a campaign that resolves an identity back to the object it names.
producer-restricted constructor
Only one operation may create a given kind of object — only Calibrate produces an instrument posterior — which is what stops a hand-typed covariance from posing as a calibration result. (A term this document defines.)
fail-closed
On a failed check the stage produces nothing at all, rather than continuing with data it has flagged as suspect.
gate
A check that must return a positive verdict before the next stage may run: G3 is the identifiability screen (can this measurement answer the question?), G4 the compatibility gate (does this calibration apply to this run?).
pure accessor
A read-only function computing solely from the object handed to it, taking no other parameters and unable to produce anything the fit consumes; the one category exempt from the closed list of entry points.
pure evaluator
Code with no hidden state, so identical inputs always give identical outputs and thousands of copies can run at once without interfering.
immutable
Once constructed, an object never changes; that property is what makes fanning the same fit out over 262 144 pixels safe without locks or copies.
provenance block
The metadata travelling with every result — library versions, file hashes, object identities, random seeds — carrying enough to reproduce the number bit for bit.
configuration hash
A single fingerprint of the instrument configuration; two runs either match or they do not, so a calibration transfer can be rejected mechanically instead of by judgement.
closed enum / closed variant set
A list of allowed cases fixed in the contract, so no unlisted case can be introduced without changing the contract first.
streamed blocks · stage-then-commit
Writing a multi-gigabyte residual cube out piece by piece while registering the result only once at the end, so an interrupted run leaves nothing half-recorded. (A term this document defines.)
ingest-by-reference
Importing an object from another campaign's store with its content hash re-verified, so identities resolve across campaigns without values ever being copied by hand. (A term this document defines.)
test oracle
An independent source of truth a test compares against — here SAMMY for resolved cross-sections; it is a check on the code, never a target the pipeline is tuned to match.
property test
A test asserting a law the model must obey for all inputs — normalization, causality, conservation — rather than reproducing one stored number.
non-vacuity guard
A pre-check that the test would actually fail if the feature were switched off; without it a passing test may be testing nothing at all. (A term this document defines.)
ratchet clause
Once a tolerance has been achieved it may never be loosened; widening it is a contract change, not a test edit. (A term this document defines.)
CI
The automatic build-and-test run on every proposed change — the place the contract rules are actually enforced rather than merely stated.
thin wrapper (Python bindings)
The Python layer exposes the same objects with no logic of its own, so there is only one implementation of the physics to keep correct.
native TOF
Time-of-flight kept in the bins the detector actually recorded — never re-binned and never converted to an energy axis, so the energy scale stays a fitted quantity instead of a baked-in assumption.
dead time · pile-up
After each event a detector is briefly blind (dead time), and two events arriving together can be recorded as one (pile-up); both lose counts as the rate rises, and because sample and open-beam rates differ the losses do not cancel in a ratio.
frame overlap / wraparound
Slow neutrons from one pulse arriving after the next pulse has started, so they are timed as though they were fast neutrons belonging to the following frame.
MCP gain depletion
A microchannel-plate detector loses local gain where it has been heavily illuminated, so its efficiency drifts during a run and across the field.
detector PSF
The point-spread function: one neutron's position is reconstructed with some blur, so neighbouring pixels share information and are not statistically independent.
ROI (region of interest)
A group of pixels summed and fitted as a single spectrum, trading spatial detail for counting statistics; its forward model must be the average of exp(−τ), not exp of the average.
whitebox
A design document stating what the software must do and why, so the code can be checked against it — the opposite of a black box whose behaviour is only discoverable by running it.
fitting instance
One concrete run of the shared forward model under a particular pattern of what is solved and what is held by a prior; calibration, density, temperature and in-situ are the four. (A term this document defines.)
PriorPattern
The value inside an experiment definition that says which parameters run free and which carry priors — what makes a “mode” data rather than a separate code path.
ScreenedDefinition
An experiment definition the identifiability screen has approved. It is the only kind the fit engine accepts, and only the screen can produce one. (Named AdmittedDef in earlier review records.)
GatedPosterior
A calibration posterior bound to a non-reject verdict from the compatibility gate. The fit takes this pair, never a bare posterior — so a calibration cannot be used on a run it was never checked against. (Named PairedPosterior in earlier review records.)
ExternalMeasurement
An externally-measured statement of sample state — a thermometry reading, an assayed areal density — ingested with its source and its σ. Science priors reference one of these by identity, so a “known” value can never be a number someone typed in. (Named KnownStateRecord in earlier review records.)
conditional gate verdict
The gate's middle answer: the calibration nearly applies, so it may be used only with an explicit drift model added to the fitted parameters. (Named expanded-drift in earlier review records.)
diagnostic transmission ratio
The transmission ratio (S/Q_s)/(O/Q_o), formed for cross-checking only, and only if every validity test passed — never the domain the reported answer comes from. (Called the diagnostic transmission arm in earlier review records.)
canonical domain
The one domain the reported answer is produced in — counts, under a Poisson likelihood. Everything else on the page is a diagnostic. (A term this document defines.)
validity verdict
The recorded pass or fail of each test deciding whether a diagnostic quantity may be formed and used at all. (Called admissibility verdicts in earlier review records.)
NominalInstrument
The surveyed flight path and nominal time offset read off the instrument record — the instrument as known before any calibration; the calibration posterior supersedes it. Nothing accepts it except the first calibration's reduction, which has no posterior to start from. (Named NominalSeed in earlier review records.)
posterior layer
The per-pixel / per-ROI joint posteriors inside a Results object — the part Fit or Calibrate produces and Assemble consumes. Not a hierarchical-model level. (A term this document defines.)
contracted
Covered by this contract: a contracted type is one whose fields and invariants this document fixes; a contracted object is an instance of one. (A term this document defines.)
resolution-order bound
Resolution broadening does not commute with forming the transmission ratio — dividing two broadened spectra is not the same as broadening the divided one. The resulting bias is bounded by forward simulation with the declared kernel, and the transmission diagnostic may be used only inside that bound. (A term this document defines.)