Radial lobe over the swept band of directions: radius, colour & labels are all power dB (= −rssi when detector_inverted; max power is the largest value, e.g. −48 dB), semi-transparent surface.
Raw detector samples are overlaid as points (filtered to the selected roll band); hover any point or the surface for
az/el/roll/dB. The faint −3 / −10 dB shells gauge beamwidth (toggle in the legend). The roll selector
conditions on a roll band ("all roll" marginalises) — the 3rd DOF, the antenna roll vs gravity when an antenna frame is
set (see antenna_frame.roll_reference), else the raw camera-pose roll. The boresight is placed from the
calibration/mount (antenna↔camera), so the lobe sits about boresight; poorly-sampled cells are dropped.
The lower panel is a genuine cut: the slider pitches (inclines) a cut plane about the lateral axis (pitch 0 =
horizontal through boresight), and a second slider rolls that pivot about the boresight so the cut can align with a tilted
measurement great circle (both default to the pitch + roll that capture the most samples). The cut keeps every direction within
± the template's effective smoothing width of that plane. The two lower panels show that cut both cartesian (power vs in-plane angle) and polar (power = radius, angle =
in-plane angle), each overlaying both Σ (blue) and Δ (red) — fitted pattern, shaded CI band (the surface's
q25–q75 / random-effects SE), and the raw samples in the band (each channel's Σ/Δ samples are a toggleable legend entry — hide them to read the fit alone). The fitted curve and its CI break across direction sectors with no sample
support (the same data-support gate that trims the 3D surface), rather than bridging them. On the 3D the band is bounded by two orange cones
symmetric about the plane (axis = plane normal, half-angle 90°±width) — the area between them is the cut, not a
projection over all directions. Tick “Show only the cut area” to hide the surface and samples that fall outside those cones. The black boresight locus on the 3D traces the selected channel's Σ peak
(Δ: the null) per pitch cut across elevation, with a shaded 95% CI ribbon. The two cut plots mark
all three boresights at the current pitch — Σ (blue), Δ (red) and the inverse-variance
combined (black) — each a dashed line with its shaded 95% CI; the Σ/Δ gap is the boresight squint.
The Method selector switches the estimator; the pooled-median default rounds off a sharp Δ null (a
local-constant smoother is biased upward at a cusp), so pick deep_envelope — the lower-power-side
pooled quantile — to read the true Δ null depth down toward the noise floor.
The monopulse overlay (toggle above) shows u = Σ − Δ (power dB — the repo's
phase contrast) as raw points on the cartesian cut (right-hand axis; each Σ sample with Δ linearly
interpolated to its time). Its asymmetric two-line flank fit (each flank fitted over its own data-driven
angular range, out to the foot of the lobe) and apex — the monopulse boresight — are
computed in Python per pitch cut (trace_phase_contrast_locus), so they form a green boresight
locus on the 3-D sphere and a 4th green boresight (with CI) on both cut plots, beside the Σ / Δ / combined
boresights. The monopulse u = Σ−Δ is also drawn as its own translucent green gain surface
on the 3-D sphere — built on Σ's grid with Δ interpolated onto it, normalised to its own power range and
gated to where both channels have data — a third lobe beside the Σ and Δ surfaces that peaks sharply
at boresight; toggle it from the legend.