Aperture API

Workflow fit

Will the service accept and process your data as it is recorded today? Answer the checklist by hand, or send the same answers to the API and get a verdict back. Either way it takes two minutes and needs no account.

The checklist

  1. Geometry: in-line, off-axis, phase-shifting, or something else?
  2. File format: PNG, TIFF, NPY/NPZ, JPEG, camera raw, HDF5, or video?
  3. Wavelength: do you know it, and is it between 0.4 and 0.7 µm?
  4. Pixel pitch: do you know the camera sensor pitch, and is it between 0.5 and 10 µm? (If you only know the pitch at the sample, you also need the magnification.) It must be larger than the wavelength.
  5. Distance: do you know the sample-to-sensor distance, or a focus search range no wider than 10 mm?
  6. Frame size and bit depth: frames over 1920 × 1080 are centre-cropped (never downscaled); over 4000 pixels on either side is refused.
  7. Metadata: do you record wavelength, pitch, distance and exposure with each frame? For off-axis, do you have a blank reference frame?
  8. Reference: is there an independent measurement of the same target (profilometer, interferometer, AFM, calibration target, bead standard)?

The three verdicts

Verdict Meaning What to do
tested Your geometry and format are accepted and covered by the service's automated tests Try one frame at https://api.apertureapi.com/, then consider a Design partnership if you have a reference
needs_review It may work, but something needs a person to look: phase-shifting or unusual geometry, HDF5 or JPEG input, an untested bit depth, large frames, a magnified system, or an unknown distance Email system@apertureapi.com with your answers
unsupported The service cannot process it today: unknown wavelength or pitch, values out of range, pitch not above wavelength, a focus span over 10 mm, frames over 4000 px, video streams, or raw/other formats Tell us anyway; we log the need

A tested verdict is about acceptance, not accuracy. It means the service processes this geometry and format in its automated test suite. Measurement accuracy and repeatability are not established for any setup. Research use only.

The API version

POST https://api.apertureapi.com/public/workflow_fit — JSON body, no upload, no account. Limited to 60 checks per IP address per hour (429 beyond that); invalid input returns 422.

Field Values
geometry (required) inline, off-axis, phase-shifting, other
file_format (required) png, tiff, npy, npz, jpg, raw, hdf5, video, other
wavelength_um number, or null if unknown
pixel_pitch_um number, or null if unknown
pixel_pitch_basis sensor (default) or object_space (needs magnification)
magnification number, optional
z_mm sample-to-sensor distance, optional
z_min_mm, z_max_mm focus search range, optional, given together
bit_depth integer, optional
frame_width_px, frame_height_px integers, optional, given together
metadata wavelength_recorded, pixel_pitch_recorded, distance_recorded, exposure_recorded, blank_reference_frame — each true/false
reference_measurement none (default), profilometer, interferometer, afm, calibration_target, bead_standard, other

Example:

curl -s -X POST https://api.apertureapi.com/public/workflow_fit \
  -H 'Content-Type: application/json' \
  -d '{"geometry": "inline", "file_format": "png",
       "wavelength_um": 0.635, "pixel_pitch_um": 1.85,
       "z_min_mm": 0.5, "z_max_mm": 3.0, "bit_depth": 16,
       "frame_width_px": 1920, "frame_height_px": 1080,
       "metadata": {"wavelength_recorded": true,
                    "pixel_pitch_recorded": true,
                    "distance_recorded": true},
       "reference_measurement": "calibration_target"}'

The response carries verdict, a list of reasons (each with the rule that fired, its level and a plain-language detail), next_steps, the limits the service enforces, and a note restating that the verdict is not an accuracy statement. The verdict is the worst level among the rules that fired; if none fired, it is tested with the rule covered. An off-axis setup with a 0.6 µm pitch at 0.65 µm, sent as video, comes back unsupported (pitch not above wavelength; video stream) with a needs_review note that the distance is unknown.

Next step

Whatever the verdict, write to system@apertureapi.com with your answers. If it fits, read Design partnership.