A quarterly clinic model cannot see what determines outcomes.
Glaucosim is a browser-and-phone layer that runs a longitudinal home cadence of clinically grounded tests, captures medication adherence, and surfaces a trend to the eye-care professional before the next appointment.
Most home tools cover one test and depend on dedicated hardware. Glaucosim runs a multi-modality session on the devices the patient already owns.
Continuous IOP needs an implant or a contact lens (Eyemate, Triggerfish). Home perimetry needs a VR headset or a tablet kiosk (Olleyes, Heru, RadiusXR, Imo Vifa). Home anterior-segment imaging needs a clip-on lens. Home tools that ship without dedicated hardware cover a single test — refraction (EyeQue, Easee), VF (MRF, iPad ZEST), or screening (Peek Vision).
Glaucosim is the only point in the top-right quadrant covering visual function + anterior segment + IOP screen (β) + adherence in one home session, on devices the patient already owns. Peek Vision is the closest conceptual peer but is built for community-screening triage, not longitudinal glaucoma monitoring.
Per-measurement precision is lower than instrument-bound counterparts. The trade is an order-of-magnitude increase in sampling cadence, and slope-estimate variance falls as 1/n³ when test occasions are added.5
How do we run clinical-grade tests remotely, without dedicated devices, and still trust the data?
Visual acuity, contrast and perimetry each assume a different luminance window. A test outside its window is not interpretable.
Stimulus angle, optotype size, and pixel pitch all depend on the patient-to-screen distance — and on which eye is actually being tested.
Peripheral perimetry assumes central fixation. A 4° saccade away from target makes the stimulus land at the wrong location.
No additional hardware. No data leaves the device until results are signed and synced.
Iris-pinhole projection from MediaPipe FaceMesh.
EAR + hand-landmark + iris occlusion fusion.
Iris-relative-to-canthi, Kalman-filtered.
Calibrated webcam-mean luminance proxy + glare.
Anterior-segment focus, exposure, framing scorer.
Each module reads all five channels before allowing a trial. Out-of-band readings prompt re-positioning or invalidate the affected stimulus. Every event is logged for retrospective audit.
We use the interpupillary distance (IPD) as the real-world anchor — the population mean for adults is 63 mm (SD ~3.5 mm).7 MediaPipe FaceMesh returns the two iris-center landmarks (468 left, 473 right). We measure the IPD in pixels and recover patient-to-screen distance from the pinhole projection.
d patient-to-camera (mm) · fpx camera focal length (px), recovered with a one-time on-screen calibration step · IPDpx live pixel distance between iris centers (FaceMesh 468 ↔ 473).
Why IPD and not iris diameter: the iris edge is harder to segment reliably under variable lighting and lashes, while iris centers are detected by MediaPipe with sub-pixel stability and remain visible even when the lid covers part of the limbus.
SIMILAR TRIANGLES · REAL IPD FIXED AT 63 MM · PIXEL IPD INVERTS WITH DISTANCE
Monocular tests assume the operator knows which eye is tested. At home, a left-eye trial labelled as right-eye produces a clean, plausible, incorrect record. Glaucosim verifies cover state from three independent signals — any single one of which is brittle alone.
Open eye ≈ 0.27–0.32; closed eye < 0.15. Threshold calibrated per subject over a 25-frame baseline at session start.8
PER-EYE STATE GATES EVERY STIMULUS · LIVE @ ~30 HZ
Perimetry assumes the patient is looking at the central target. If gaze drifts, the stimulus meant to land at 21° lands at 17° or 25°, and the threshold at the labelled location is wrong without the algorithm knowing.
Gaze is computed as iris position relative to the eye corners, in a head-relative frame — so translating the head does not move the vector; only a saccade does. A 1-D Kalman filter is applied to each component, with measurement noise inflated during blinks.
Reads as: the offset of the iris center from the eye's center, normalised by the width of the eye opening.
After a 30-frame baseline at session start g₀, drift is Δ = g − g₀. Stimuli presented while ‖Δ‖ > 4° are flagged and excluded from the ZEST posterior update. Heijl-Krakau blind-spot catches run in parallel for the standard reliability indices.
DRIFTED STIMULI ARE DROPPED FROM THE BAYESIAN POSTERIOR · FL / FP / FN COMPUTED IN PARALLEL
Visual function thresholds are luminance-dependent. Acuity assumes ISO 8596 background; Pelli-Robson assumes ~85 cd/m²; perimetry assumes a dim room so stimulus contrast reaches operating range.
Glaucosim derives an operational ambient proxy from the webcam: mean greyscale intensity of the central patch, exposure-compensated, calibrated against an on-screen reference step at session start.
⟨Igrey⟩ mean intensity of central patch · ecam camera exposure from MediaStream constraints · k per-device constant from a 5 s on-screen reference.
EACH TEST DEFINES ITS OWN WINDOW · OUT-OF-WINDOW SESSIONS ARE TAGGED ADVISORY OR REJECTED
A patient's phone records a short anterior-segment clip per take. To be useful for surface review, each frame has to be in focus, well exposed, and framed on the iris. A quality scorer runs over every frame so the patient is guided in real time.
Fvar Laplacian variance (focus) · Ehist exposure flatness · Riris iris coverage from FaceMesh ROI · Mblur motion blur from optical-flow magnitude.
Only takes that pass the threshold are kept. The voice avatar tells the patient to come a little closer, hold still, or retake.
ONE FRAME PER EYE · PHONE OR LAPTOP · IMAGES ENCRYPTED AT REST
ZEST Bayesian thresholding on the 54-location grid · same family as SITA.
Contactless pressure screen — laptop emits, phone listens. Research-only signal. Not a replacement for Goldmann.
ETDRS / Bailey-Lovie logMAR on a physically calibrated display, at the patient's measured distance.
core/calibration.js
Pelli-Robson, age-normed. Background luminance gated by Model 04 before the run starts.
Four graded outputs from a single frame per eye. Phone or laptop — patient picks the device.
V0 ships day one (classical CV) · V1+ replaces it per grade once labels accumulate · IQ stays deterministic.
The standard 25-item PRO, voice or tap, on a home cadence rather than annual.
Reminders, single-tap confirmation, structured missed-dose reason — then overlaid on visual-function trend.
[1] Olthoff CMG et al. Ophthalmology 2005
[2] Newman-Casey PA et al. Ophthalmology 2015
[3] Friedman DS et al. IOVS 2014
[4] Stagg BC et al. JAMA Ophthalmol 2022
[5] Chauhan BC et al. Br J Ophthalmol 2008
[6] Sakata R et al. Am J Ophthalmol 2021
[7] Caroline P, André M. Contact Lens Spectrum 2002
[8] Soukupová T, Čech J. CVWW 2016 (Eye Aspect Ratio)
[9] Turpin A et al. IOVS 2003 (ZEST validation)
[10] Schulz AM et al. JAMA Ophthalmol 2018 (iPad ZEST)
[11] Heijl A et al. Acta Ophthalmol 1989
[12] Bailey IL, Lovie JE. Am J Optom 1976
[13] Rosser DA et al. Br J Ophthalmol 2003
[14] Pelli DG et al. Clin Vis Sci 1988
[15] Mangione CM et al. Arch Ophthalmol 2001 (NEI VFQ-25)