A HAADF image is a number at every column. Normalise it and the number means something.
Normalise an annular dark-field image to the detector's dark level and the probe current so every pixel is a fraction of the beam, find and refine the atomic columns, integrate each over a disc or its Voronoi cell, read the statistics and the two-class split, and compare the column fractions with the thickness series exported from the SAED simulator's STEM tab to estimate the foil thickness and the Z-contrast exponent.
Values in the raw units of the image: the detector output with the beam blanked and with the whole probe on the detector (vacuum, detector inserted into the beam). The image becomes (I − Idark)/(Iprobe − Idark), the fraction of the probe reaching the detector, which is what the simulator computes. Leave the probe level empty to work in raw units.
Local maxima of the smoothed image above the threshold (a fraction of the range), refined by a Gaussian fit that subtracts the neighbours, which keeps close dumbbell columns from pulling each other; the classes below split the columns into two groups by intensity.
Export the series from the STEM tab of the SAED pattern simulator (the button writes a JSON file, or hands it to this page through the browser). The same detector angles, voltage and probe as the experiment are needed for the comparison to mean anything.
An annular dark-field image records, at each probe position, the fraction of the beam that scatters into the detector. Expressed that way it is an absolute quantity, and it can be compared with a simulation without any fitted scale: LeBeau and Stemmer showed that normalising the image to the detector's response with the beam blanked and with the full probe on it turns the grey levels into that fraction, at which point the intensity of each atomic column is a number that depends on the specimen thickness, the column's composition, the probe and the detector angles, all of which a Bloch-wave or multislice calculation can reproduce. The page performs the normalisation, locates the columns as local maxima of a smoothed copy of the image, refines each position and amplitude by fitting a Gaussian while subtracting the current model of its neighbours (which stops the two columns of a dumbbell pulling each other's centroid inward), and integrates each column over a disc of chosen radius and over its Voronoi cell, the set of pixels nearer to it than to any other column. The Voronoi integral is the measure that Van Aert and co-workers use for counting atoms in a column, because it collects the scattered intensity that the probe tails spread between columns.
The STEM tab of the SAED simulator on this site computes exactly this fraction for a chosen crystal, zone axis, voltage, probe and detector at a series of thicknesses, and exports the peak and cell-mean fraction of every column type in the projected cell. Loaded here, that series becomes the calibration curve: the measured fraction of a column class is read against it, every thickness at which the curve passes through the measurement is reported, and the page says whether the curve is monotone over the range, since channelling makes the column intensity oscillate and a fraction can correspond to more than one thickness. The Z exponent is estimated from the two intensity classes with I1/I2 = (Z1/Z2)n, which is the single-scattering rule of thumb; the simulator gives the same ratio with the dynamical effects included, and the difference between the two is a measure of how far the specimen is from the thin, incoherent limit.
The normalisation assumes the detector responds linearly and uniformly; a real detector has a gain that varies across its face and a non-linear response near saturation, which the flux-weighting maps of LeBeau and Stemmer and of Findlay and LeBeau correct. Scan distortion, drift and sample tilt change the column intensities and positions; the page measures the image as it is. The column finder expects columns brighter than their surroundings and separated by more than the smoothing width; a strongly non-uniform background (thickness gradients, contamination) should be removed first. The comparison with the simulator inherits every assumption of that calculation, including its Debye-Waller factors and the absence of the specimen's surface layers, and the simulated fractions do not include the detector's own response. Where the experimental and simulated intensities differ by a constant factor, the Stobbs factor of the HRTEM literature, the cause is usually in one of these, not in the physics.
@misc{tripathy2026quantitativehaadf,
author = {Tripathy, Manisha},
title = {Quantitative HAADF},
year = {2026},
howpublished = {\url{https://untetheredatom.com/tem/quantitative-haadf}},
note = {Interactive web tool}
}