Aperture API

Teaching module: a reconstruction you can check

A 60–90 minute graduate lab session. Students reconstruct one hologram, then check that someone else's result is the same run. No accounts, no installs beyond Python.

Learning objectives

By the end, students can:

  1. Name the four settings a hologram reconstruction needs and their units.
  2. Run a reconstruction from a browser and from Python.
  3. Read a quality report and say what a fail band does and does not mean.
  4. Rerun a reconstruction and decide, from its IDs and its arrays, what two results do and do not have in common.
  5. State what a provenance record does not establish.

Materials

Lesson plan

Time Activity
0–10 min Introduction: what a hologram records; why "how was this made?" matters in a paper
10–25 min Browser run: upload the sample at https://api.apertureapi.com/ with wavelength 0.635 µm, pixel pitch 1.85 µm, mode inline, focus range 0.5–3.0 mm
25–45 min Python run: run.py from the bundle; open reconstruction_data.npz and plot the phase
45–70 min Provenance check: compare your provenance.json and evidence.json against the bundle's reference output (see RECOMPUTE.md)
70–90 min Worksheet and discussion

The public path allows 5 runs per IP address per hour. A class sharing one network address should run the browser step in pairs, or let the instructor run it once and share the ZIP.

Worksheet

  1. Which setting is in micrometres, and what goes wrong if you enter 635 instead of 0.635?
  2. Where did autofocus land (pdhm_metadata.json)? How close is that to the 1.5 mm the sample was made at?
  3. What is overall in quality_report.json? Which metric set it?
  4. Is your provenance_id the same as the reference's? What three things does it commit to?
  5. Is your evidence_report_id the same? Compare build_id too. Then load reconstruction_data.npz from both ZIPs and compare the phase arrays with numpy.array_equal. What does a matching provenance ID tell you, and what does it not?
  6. Find the section of evidence.json that lists what is not-yet-established. Name two items.
  7. Write the methods sentence you would put in a paper for this run.

Instructor notes

What not to conclude

Next step

Instructors who want the session on their own lab's frames can write to system@apertureapi.com. See also Reproducibility bundle and Methods supplement.