An index organised by what you want to do, not by operator name.
One entry is one file under docs/capabilities/, and every entry is tied
to operators that exist and to an example that actually runs —
tests/test_capabilities.py checks each operator name against all four
public tiers and each example against the files on disk, so a capability
claim with nothing behind it cannot survive.
To add one: write docs/capabilities/<id>.md and run
py -3.11 tools/gen_capabilities_index.py (this index is generated —
do not edit it by hand).
Currently 16 capabilities
Convert between geodetic (latitude, longitude, height) and Earth-centred Cartesian (ECEF) coordinates. The round-trip floor measures 6.4e-12 degrees in latitude and 8.5e-07 m in height (worst case over 4000 points).
Operators: dem_geodetic_to_ecef, dem_ecef_to_geodetic
Runnable: poc_geodetic_height_frames, dem_geodesy_tour
Locate edges along a measurement line from the intensity gradient, at sub-pixel resolution, and read a dimension as the distance between paired edges. Unlike counting thresholded pixels, the answer does not move when the threshold does.
Operators: measure_pos, measure_pairs, blob_label, blob_select
Runnable: poc_dimensional_inspection, poc_screw_thread_metrology
From a height grid: slope, aspect, viewshed and flow direction. Each has a closed form to check against, so an implementation error shows up as a number.
Operators: dem_slope, dem_aspect, dem_viewshed, dem_flow_direction
Runnable: poc_dem_terrain, dem_terrain_analysis_tour
Compute a signed volume from a closed mesh, a voxel count from a labelled region, or the material between two surfaces from a height grid. Gaps can be filled by interpolation, and how far that interpolation reached is reported separately.
Operators: mesh_volume, vol_rle_volume, interp_scattered, dem_slope
Runnable: poc_stockpile_volume, poc_lidar_terrain_change
Label connected components, select them by area, shape or position, and count them. Touching objects can be separated with a watershed.
Operators: blob_label, blob_select, blob_count, watersheds
Runnable: poc_cell_counting, poc_particle_sizing, poc_real_coin_metrology
Pick local maxima above a robustly estimated background plus k sigma, and return sub-pixel centroids. The name is astronomical but the method is domain-neutral: drifting objects, small defects, fluorescent puncta, particles.
Operators: star_detect, peak_subbin, find_peaks, noise_sigma
Runnable: poc_search_sweep_width, poc_astro_photometry
Forward parallel-beam projection to a sinogram, filtered back-projection to a slice or a volume, and the injection and correction of ring artefacts and beam hardening. The reconstructed volume can be turned straight into a mesh.
Operators: radon_transform, fbp_volume, ring_artifact_remove, marching_cubes
Runnable: poc_ct_fidelity, poc_ct_void_morphology
From the foreground masks of several calibrated cameras, carve out a voxel volume that always contains the object. No learned model, no depth sensor.
Operators: synthesize_silhouette, carve, visual_hull, carve_look_at
Runnable: space_carving, poc_livestock_body_volume
From spectral reflectance or RGB, compute CIE XYZ and Lab, then colour differences under CIE76 or CIEDE2000. The difference can also be returned as a per-pixel map.
Operators: rgb_to_lab, xyz_to_lab, delta_e_2000, cie_xyz_from_wavelength
Runnable: poc_white_balance, poc_pigment_unmixing
Fresnel reflectance, thin-film interference colour, grating colour, and vector-form refraction with a per-ray total-internal-reflection mask — with the dispersion of real glasses.
Operators: fresnel_dielectric, thin_film_reflectance, grating_rgb, refract_rays
Runnable: glass_and_mirror_optics, appearance_structural_colour
Form beams from an array snapshot to get directions of arrival, and build a range-Doppler map from an FMCW return, mapping detections back to metres and metres per second.
Operators: beamform_delay_sum, beamform_doa, range_doppler_map, range_doppler_peaks
Runnable: poc_multibeam_bathymetry, poc_bev_sensor_fusion
Envelope spectra, cepstra, octave bands and the characteristic frequencies of a rolling-element bearing. The frequencies follow from the geometry, so which peak to look at is decided before measuring, not after.
Operators: signal_features, envelope_spectrum, bearing_defect_frequencies, octave_spectrum, spectrum
Runnable: poc_bearing_diagnosis, poc_rail_corrugation
Align a sequence by voting for the translation, resample sub-pixel, and stack. Point clouds are aligned with ICP.
Operators: frame_align, drizzle_resample, icp_point2point_3d, interp_scattered
Runnable: poc_astro_photometry, poc_registration_basin
Panel grids, dimension and pointer annotations, height pseudo-colour, and a full SDF renderer — all from Fullseye operators, so a result becomes a figure without a plotting library in between.
Operators: annotate_figure_grid, colorize_height, render_beauty
Runnable: poc_colormap_readability, poc_dem_terrain
Draw a polyline or a region in the inverse of whatever is underneath, so the overlay stays visible without knowing the background. draw="margin" outlines instead of filling. The one real failure mode — mid-grey, where the complement equals the original — is measured rather than assumed: annotate_invert_visibility reports the per-pixel WCAG contrast, and the drawing ops warn (or refuse) when the mark would be invisible.
Operators: annotate_invert, annotate_invert_path, annotate_invert_visibility
Runnable: annotate_paper_tour
Place text on an image where you actually want it: nine-way anchors, translucent plates, wrapping, and — along a polyline — slanted, vertical (upright=True), multi-line (\n), start/centre/end alignment and a perpendicular offset. Colour, plus synthetic bold and italic. annotate_table turns a tab-separated string into a table whose column widths are measured with the real font at the requested size, with a font-size-proportional column gap, automatic right-alignment for numeric columns and a translucent plate. Every one has a *_layout twin that returns the geometry so you can check the placement before drawing.
Operators: text_box, annotate_text_path, annotate_text_path_layout, annotate_table, annotate_table_layout, measure_text
Runnable: annotate_paper_tour