Aperture API

What you get back

Every reconstruction returns a ZIP with 11 entries:

File What it is
reconstruction_data.npz The quantitative data: amplitude, phase, unwrapped phase, optical path length (optical_path_length_um, µm), and scalar summaries. A height_um array is added only when you declare geometry=reflection (or a transmission sample with refractive indices). All float64.
comprehensive_analysis.png Multi-panel overview figure
qpi_height_map.png Quantitative phase / height map, rendered
reconstruction_zoomed.png Detail crop
reconstruction_3d.obj 3-D visualization mesh, not a measurement. Its height axis is auto-exaggerated: the z range is scaled to 15% of the larger lateral extent (never below 1x), and the mesh is also decimated, spike-suppressed (3x3 median) and border-flattened. The factor applied is recorded as mesh_visualization.z_scale_factor in quality_report.json, and the OBJ header repeats it; divide mesh z by that factor for approximate micrometres. For measured values use reconstruction_data.npz (optical_path_length_um by default, or height_um when a geometry is declared).
quality_report.json Quality metrics for this reconstruction
provenance.json Audit record: code version, library versions, input checksum, config hash
pdhm_metadata.json Echo of the optical parameters actually used, the autofocus distance found, and the evidence_report_id
evidence.json Machine-readable evidence record for this run (what was measured, what is not established)
evidence.html The same evidence record as a page you can open in a browser or forward
methods_supplement.md Run identifiers, the settings table, a filled-in methods paragraph, how to recompute, and what the record does not establish — see the methods-supplement page

quality_report.json bands every metric pass / warn / fail against a published ceiling; overall is the worst band. A fail describes the image, not a broken request.

The .npz lives inside the ZIP. If numpy.load() cannot open your download, you saved the outer ZIP with an .npz name — unzip it first.