CNRI PupilMetrics

PupilMetrics Neuro · v1.2.0  ·  Drug Effect Monitor · v1.0.0

A clinical monitoring instrument — built to measure healing, not to make accusations.

Quantitative, repeatable pupillary light reflex measurement for neurologists, concussion clinics, sports medicine and clinical research — with the Drug Effect Monitor built on the same recording engine.

Windows, Android and macOS. Everything runs on the device; nothing is transmitted during clinical operation.

The standard PLR recording sequence Pupil diameter in millimetres across ten seconds. Three seconds of darkness hold a six-millimetre dark-adapted baseline, a two-hundred-millisecond flash fires at three seconds, and after two hundred and fifty milliseconds of latency the pupil constricts thirty percent before redilating, recovering seventy-five percent of the amplitude in one point four six seconds. 4 5 6 0s 2s 4s 6s 8s 10s 3 s dark baseline recovery & PIPR window latency 250 ms constriction 30.0% T75 = 1.46 s 6.00 mm dark-adapted mm
  • Pupil diameter per frame, five-point median smoothed before any metric is taken
  • Dark-adapted baseline the reference every amplitude is measured against
A normal trace, generated from the model rather than drawn: the callouts are measured back off this curve, and land inside the published bands — latency 250 ms (200–300), constriction 30.0% (20–40), peak velocity 3.37 mm/s (3–8). It illustrates the protocol; it is not a recording from a patient.
Neuro
v1.2.0 · 20 locales
Drug Effect Monitor
v1.0.0 · 15 locales
Platforms
Windows 10 64-bit · Android 8.0+ · macOS
Regulatory status
No 510(k), no CE mark. Research use.
01 — Scope

Who it is for, and who it is not for

This one matters more than the feature list, so it comes first — on this page and on the app's own opening screen.

Designed for

  • Neurologists and neurotrauma specialists
  • Concussion clinics and sports medicine physicians
  • Anaesthesiologists and critical care teams
  • Pain management and addiction medicine physicians
  • Clinical researchers in neurology and CNS pharmacology

Not for

This is not a screening tool for impairment, substance use or employment fitness. It is not validated for law enforcement drug detection, athletic doping control, or any non-clinical impairment assessment.

It is a clinical monitoring instrument — built to measure healing, not to make accusations. That sentence is in the software, on every results screen, in a form that cannot be dismissed.

The PLR recording screen for the right eye, showing the eye in a guide circle with the pupil marked, a start button, and an LED quadrant test with per-quadrant mask values.

Required hardware

Neuro is built around the Dino-Lite digital iriscope — a USB clinical eye-imaging device with its own LED ring, which serves as both the illumination and the stimulus. Connect it before launching.

The LED quadrant test exposes the ring directly: tap each quadrant and confirm which lamps light. A stimulus you have not verified is a measurement you cannot trust, and a dead quadrant is otherwise invisible in the resulting trace.

A wireless Dino-Lite over the WF-20 adapter, and on Android a rear or selfie camera with screen-flash stimulus, are supported alternatives — each reports the frame rate it actually achieves.

02 — Metrics

Seven numbers, and what each one is reading

Each is flagged against an age-adjusted reference band, and each flag carries an evidence tag saying whether that band was published, interpolated or estimated. See reference provenance.

MetricNormal rangeWhat it reflects
Baseline diameter3–7 mmResting sympathetic and parasympathetic tone
PLR latency200–300 msSignal propagation through the pretectal nucleus
Constriction amplitude20–40%Integrity of the parasympathetic efferent limb (CN III)
Constriction velocity3–8 mm/sBrainstem processing speed; sensitive to diffuse axonal injury
Redilatation velocity2–5 mm/sSympathetic recovery; disrupted in autonomic dysfunction
Anisocoria< 1 mmBilateral symmetry of neurological function
Habituation index0–15%Cortical modulation of the reflex

Direct brainstem injury

The pretectal and Edinger–Westphal nuclei sit in the midbrain, exposed to the rotational acceleration that characterises concussion. Mild diffuse axonal injury slows latency measurably before clinical signs appear.

Rising intracranial pressure

Herniation of the uncus compresses CN III. The earliest sign is a sluggish, asymmetric reflex — detectable by pupillometry before the pupil looks abnormal to the naked eye.

Lost cortical modulation

The frontal lobe damps the reflex across repeated stimuli. Losing that input produces either excessive habituation above 25% or paradoxical sensitisation — both signs of disrupted cortico-midbrain feedback.

03 — Protocol

The standard recording sequence

Fixed, so that two recordings a fortnight apart are comparable. The trace in the hero above is this sequence.

Dark baseline0 – 3000 msLED off. The pupil dilates to its maximum dark-adapted diameter.
Single bright flash3000 – 3200 ms200 ms duration, long enough to capture the full constriction response.
Recovery recording3200 – 5800 msA 2.6-second window capturing redilatation kinetics.
Frame analysisAutomated pupil detection and tracking across every captured frame.
5-point median smoothingSingle-frame noise artefacts are removed before any metric is extracted.
Grade assignmentA through F, from signal-to-noise ratio and constriction amplitude.

Why three seconds of darkness

Before each flash, all light is extinguished for a full three seconds. This is not padding — it is what makes the amplitude measurable:

  • Rod photoreceptors begin scotopic adaptation, raising retinal sensitivity
  • The dilator reaches maximum dilation under sympathetic drive
  • Baseline diameter reaches its true dark-adapted maximum
  • Amplitude is therefore measured from a consistent starting point, every time

Wall-clock timestamps, per frame

USB capture does not deliver its nominal frame rate — the bridge path runs nearer 11–15 fps than 30. Rather than assume a rate, the app embeds an actual wall-clock timestamp in every frame at capture time, and the analysis reads those directly.

The baseline and post-stimulus windows are therefore assigned correctly regardless of how the rate wobbles, and the report states the effective rate it achieved alongside a timing-resolution figure.

04 — Habituation

Three trials turn a measurement into a pattern

Three consecutive trials with standardised two-minute rests. In a healthy, unmedicated brain the amplitude falls slightly across repeated identical stimuli. CNS drugs disturb that modulation in class-specific directions — which no single trial can show.

Three PLR trials overlaid on one timeline Three pupil diameter traces. Constriction amplitude falls from the first trial to the third, giving a habituation index of twelve percent, within the normal zero-to-fifteen-percent band. 4 5 6 0s 2s 4s 6s 8s 10s HI = (T1 − T3) / T1 = 12.0% 0–15% · normal cortical modulation
  • Trial 1 full amplitude — the reference the index is computed against
  • Trial 2 after two minutes' rest
  • Trial 3 the amplitude that closes the index
Two minutes is the minimum for full sympathetic recovery back to a dark-adapted baseline. Shorten it and the falling amplitude is incomplete recovery rather than habituation.
Habituation index — HI = (Trial 1 − Trial 3) / Trial 1 × 100%
HI rangeInterpretation
NegativeSensitisation — a paradoxical increase across trials
0–15%Normal cortical modulation
15–30%Moderate habituation — warrants monitoring
> 30%Excessive habituation — disrupted cortico-midbrain feedback

All three curves are drawn on a single timeline for direct comparison of waveform shape, onset timing, constriction depth and redilatation kinetics.

05 — Over time

Recovery is a trajectory, not a reading

Recovery from brain injury unfolds over days, weeks and months. A single ambiguous finding becomes clinically meaningful only when the file behind it shows a direction.

PLR serial monitoring across three sessions, with toggleable series for right and left eye magnitude, latency, velocity, constriction and t75, and a session thumbnail strip.

What a series is expected to show

Pupillary diameter normalising — autonomic tone returning.

Amplitude improving — parasympathetic efferent recovery.

Anisocoria resolving — bilateral symmetry restored.

Habituation normalising — the cortical–midbrain circuit coming back.

Eight series are available per eye, each toggled independently, with every session reachable from the strip beneath the chart.

Bilateral comparison — absolute OD/OS difference in pupil–iris ratio
GradeDifferenceClinical action
Physiological< 5%No action required
Mild5–10%Document; monitor in serial scans
Significant> 10%Clinical evaluation recommended
06 — Drug Effect Monitor

The reflex as a pharmacodynamic endpoint

Built into Neuro, and available as a standalone Android application. It applies the same PLR recording as a non-invasive measure of CNS drug effect — for physicians who need objective evidence of what a dose is doing, not for anyone trying to find out what somebody took.

The questions it exists to answer

  • Is this patient's opioid dose producing the expected degree of CNS effect?
  • Is anaesthesia wearing off appropriately after surgery?
  • Is the ICU sedation level appropriate, or is this patient over-medicated?
  • Has this athlete's pain medication cleared enough for a valid neurological exam?
  • Is this psychiatric medication producing measurable autonomic effects?

What it does not report

It does not identify drugs. A miotic, hypo-reactive pupil is equally consistent with morphine for post-operative pain, methadone or buprenorphine in treatment, over-the-counter diphenhydramine, pilocarpine drops for glaucoma — or a patient who slept three hours and is profoundly fatigued.

Every positive pattern is displayed together with the list of prescribed medications that produce indistinguishable findings. There is no display without the confounders.

The Drug Effect Monitor protocol screen: screen goes dark for a 3 second baseline, a single LED flash, a 7 second recovery phase, repeated three times with 2 minutes rest between trials.

A protocol tuned for pharmacology

Same skeleton as the standard sequence, three parameters widened — because a drugged pupil is a slow pupil, and a window sized for a normal response truncates the thing you are trying to measure.

Three-trial protocol design
ParameterValueRationale
Dark baseline3 sFull dark-adapted dilation; maximises dynamic range
Flash duration500 msLonger than the standard 200 ms — captures sluggish pharmacological responses
Recovery window7 sExtended to capture redilatation kinetics and PIPR at 6 s
Inter-trial rest2 minMinimum for full sympathetic recovery to dark-adapted baseline
Number of trials3Minimum for a meaningful habituation index
Pattern classification — averaged across all three trials, rule-based
PatternBaselineConstrictionVelocity
CNS depressant< 22% (miosis)< 20%any
CNS stimulant> 38% (mydriasis)≥ 18%any
Cannabis / THC24 – 38%12 – 30%< 30 %/s
Alcohol / sedative22 – 44%< 20%< 35 %/s
Normal22 – 38%≥ 20%
Indeterminatenone of the above

“Indeterminate” is a real and frequent result, not a failure mode. A rule-based classifier that always returns a class is a classifier that is guessing.

CNS depressants

Opioids, benzodiazepines, barbiturates, alcohol and cholinergic agents suppress brainstem autonomic circuits. Opioids produce bilateral, dose-dependent pinpoint miosis through paradoxical activation of the Edinger–Westphal nucleus; benzodiazepines mostly slow the dynamics — longer latency, lower velocity — without marked miosis at therapeutic doses.

CNS stimulants

Amphetamines, cocaine and anticholinergics produce mydriasis by sympathomimetic action on the dilator or by blocking muscarinic receptors on the sphincter. The result is a large resting pupil, often with paradoxically sluggish constriction as the activated dilator resists parasympathetic suppression.

Cannabis / THC

CB1 receptors are dense in cerebellum, basal ganglia and superior colliculus. THC reduces the speed of the constriction command without fully suppressing its amplitude — a velocity–amplitude dissociation, with peak velocity down 20–40% and amplitude little changed. Opioids suppress both; stimulants preserve both.

Drug monitor trend across four sessions with mean constriction and mean baseline series, and a session strip labelled Stimulant and Indeterminate, under a banner reading these sessions cannot say how they were lit.

PIPR separates drug effect from structural damage

After a bright flash ends, intrinsically photosensitive retinal ganglion cells keep firing via melanopsin for 5–10 seconds, holding the pupil down. PIPR is quantified at 1 s and 6 s after flash offset, and the combination with the PLR is what carries the information:

ScenarioPLR amplitudePIPRInterpretation
Pharmacological CNS depressionSuppressedPreservedConsistent with drug effect; ipRGC firing unaffected
Structural pretectal damageSuppressedSuppressedConcern for severe TBI, midbrain compression or Parinaud syndrome
CNS stimulant patternVariableNormalipRGC–hypothalamic pathways intact

Note the banner in the screenshot above: “these sessions cannot say how they were lit.” Sessions recorded under unknown illumination are marked as such rather than plotted as if comparable.

The ethical framework, as implemented

  • Mandatory medication flags. Every CNS pattern result carries the list of prescribed medications producing identical findings. No display without confounders.
  • Explicit disclaimer. Every results screen carries a non-dismissible statement that the tool is not validated for drug screening, law enforcement or employment purposes.
  • Clinical context framing. The system presents a pharmacodynamic pattern, not a drug identification. The interpretation belongs to the physician.
  • No pattern logging. Pattern classifications are not stored in the scan database. The PLR waveform is the measurable output, and it is the only thing kept.

The standalone Android build

The Drug Effect Monitor also ships on its own — same protocol, same classifier, same disclaimers, in a single-purpose application for a phone.

The standalone Drug Effect Monitor on Android: PLR-based pharmacological pattern analysis, with cannabis, alcohol/sedative, opioid and stimulant listed, an optional subject name field and a start button.
StartSubject name is optional — the app does not need an identity to measure a reflex.
Camera and stimulus setup: front screen-light, rear torch flash or USB OTG iriscope, with a red baseline field and a brightness slider set to 140.
Stimulus setupA dim red baseline field lets the camera see the pupil without constricting it — red drives far less constriction than short wavelengths.
An indeterminate result: no significant pupil constriction detected across trials, signal too weak to classify, 0.0 percent baseline and constriction across 3 of 3 trials, above a three-trial waveform overlay.
A refusal to classifySignal too weak to classify — so it says so, and shows the empty waveform rather than a confident label.
Baseline detection capture-quality panel showing 0 of 24 non-F frames for each of three trials, all marked BLIND, with the habituation index unavailable.
Capture quality, per trialEvery trial marked BLIND and the habituation index withheld as N/A — the instrument reporting its own failure instead of a number.
07 — Platforms

Where it runs

Windows

Windows 10 64-bit · USB 2.0 for the iriscope

  • The primary clinical target; deepest Dino-Lite integration
  • Direct-USB capture path with measured frame rate and per-frame µs timestamps
  • LED quadrant test for verifying the stimulus
  • PLR Sessions screen for serial comparison

Android

Android 8.0+ · USB OTG optional

  • Iriscope LED flash over OTG, or screen-flash stimulus with the front camera
  • Rear and selfie PLR video capture, 10-second recordings
  • Drug Effect Monitor built in, plus the standalone build
  • Mirror-assist and quality-gated auto-capture for static scans

macOS

Signed DMG, built on CI

  • Install directly from cnri.edu
  • Same desktop feature set as Windows
  • Iriscope support depends on UVC compliance of the device
08 — On screen

Desktop

The PupilMetrics Neuro splash screen with Neuro DM badge and buttons for new analysis, history, PLR sessions and the user manual.
StartPLR Sessions is a first-class entry point, not buried inside history.
PLR camera modes: wired iriscope with LED stimulus at about 30 fps, wireless iriscope, and Drug Effect Monitor over USB or WiFi.
PLR sourcesThe Drug Effect Monitor sits in the same list — it is a protocol on this hardware, not a separate machine.
PLR analysis for the left eye: grade C, latency 31 ms abnormal, constriction 34.3 percent normal, max velocity 1.8 mm/s borderline, t75 7028 ms abnormal, above the pupil waveform.
Clinical parametersPer-parameter verdicts, and an explicit note when no age was entered and adult norms were used by default.
PLR serial monitoring across 13 sessions with latency series selected and a tooltip reading OD latency 1602.0 ms, May 17 2026.
Serial monitoringAny point on any series identifies the session and value behind it.
Scan history PLR tab with 37 records, 57 percent detected, average PLR 10.2 percent, and per-record confidence figures.
PLR historyThe detection rate is displayed at the top — a 57% detection rate is a fact about the setup that belongs in view.
Scan history drug monitor tab: 9 sessions, 2 patients, average constriction 9.6 percent, with records labelled Anticholinergic-Consistent and Indeterminate.
Drug monitor historyPattern labels appear here, but they are not written to the scan database.
Static camera modes: Load from Gallery, Iriscope/External over USB, Wireless Iriscope over WiFi, and Binocular Iriscope for a dual-lens camera.
Static sourcesIncluding a binocular iriscope, where one capture fills both eyes at once.
Static results with the research-tool disclaimer, both eye images graded C, and a pupil size difference card reading 25.8 versus 22.8 percent.
Bilateral summaryThe same static analysis Research performs, in the same layout.
Static analysis results: age-based research baseline within range for age 55, and right eye metrics with grade C and 66 percent confidence.
Per-eye metricsNeuro carries the full static pipeline alongside PLR.
Eye comparison showing both irides side by side with synchronised zoom and a bilateral metrics strip with deltas.
Side-by-sideWith per-eye confidence printed on each panel.
Scan history static tab showing 7 total scans, 6 this week, 2 patients, with PLR and Drug Monitor tabs alongside.
Three record typesStatic, PLR and Drug Monitor are kept apart — they are not the same measurement.
Static serial scan timeline across five scans with right and left eye P/I ratio plotted and a thumbnail strip of the captures.
Static timelineEvery point one click from the capture behind it.
The built-in Neuro user manual at the Overview tab, with Science, Protocol, Analysis, Drug Monitor, Help and Validation tabs.
Manual, built inIncluding the Validation tab this page's disclosure section is drawn from.

Android

PupilMetrics Neuro on Android with a trial banner reading 14 days remaining.
Start
Android PLR modes: iriscope LED flash over USB, wireless iriscope, PLR video rear and selfie at 10 seconds, and the Drug Effect Monitor.
PLR sources
Android static capture modes: auto-capture, manual capture, mirror assist, and mirror assist with auto-capture.
Mirror assist
Android results showing a 4.3 percent pupil size difference, moderate asymmetry, TBI flag activated.
TBI flag
Android bilateral comparison and export row with TXT, JSON, Save PDF and Share PDF.
Exports
An empty PLR history on Android, showing zero records and prompting to record a PLR video.
PLR history
09 — Measurement disclosure

What we have measured, and what we have not

This section exists for institutional procurement and ethics review. PupilMetrics Neuro is a research instrument and has not been validated against a reference pupillometer. What follows describes what the software does — it is not a claim of clinical accuracy.

Size calibration

Every absolute millimetre figure comes from one scale: mm per pixel = assumed horizontal iris diameter ÷ median iris diameter in pixels. The assumed diameter defaults to 11.5 mm when no per-subject value is entered, and real adult iris diameter runs about 10.2–13.0 mm.

So: latency, constriction percentage and T75 are time- or ratio-based and are unaffected. Baseline and minimum diameter, peak velocity in mm/s, and PIPR amplitude in mm all scale with that assumption. Enter a measured iris diameter when absolute millimetre metrics matter.

Stimulus dependence

Constriction amplitude, velocity and PIPR depend strongly on stimulus intensity, wavelength, duration and light/dark adaptation. The reference ranges were published for specific stimulus conditions; if your device's stimulus differs, those comparisons are indicative only.

Record your stimulus specification — wavelength, intensity in physical units, duration, adaptation — with any dataset intended for publication.

Reference provenance

Every reference range carries an evidence tag, printed next to its flag on the exported report.

Published — taken directly from a peer-reviewed source for that age band: latency, constriction and T75 for 18–40 and 61+ (Bitsios et al., 1996).
Interpolated — not directly measured, linearly interpolated between published bands: the 41–60 band.
Estimated — provisional, derived or transferred from a non-stimulus-specific source: all velocity and all PIPR ranges. Treat borderline or abnormal flags on these as hypotheses, not findings.

Sampling and latency resolution

Recording targets about 30 fps, and the report states the effective rate achieved together with a timing resolution — the 95th-percentile inter-frame interval. At 30 fps a frame is about 33 ms, and real inter-frame gaps of 27–131 ms have been observed on dropped frames.

Single-event metrics, latency above all, cannot be resolved finer than about one frame. Latency differences below one or two frames are not meaningful at 30 fps. Use 60–120 fps for latency-sensitive work.

Report traceability

Every exported report and JSON record carries the app version, the analysis parameters — assumed iris diameter, age group, effective frame rate, timing method, stimulus duration — and the provenance tags. Retain the JSON alongside the PDF. It is the authoritative machine-readable record.

Required for clinical validation

None of the following is established for this instrument, and all would be required before any clinical — as opposed to research — use:

  1. A method-comparison study against a reference pupillometer, with Bland–Altman limits of agreement
  2. Test–retest repeatability, as an intraclass correlation
  3. Sensitivity and specificity of the abnormality flags against a criterion standard
  4. A documented stimulus specification in physical units

Until those exist, every output is for research and documentation only. We are actively interested in collaborators in a position to run them.

The PMi index is experimental

PMi condenses the PLR panel into a single 0–5 score, shaped to read like a familiar neuro-index scale — 5 is fully normal, below 3 is abnormal. Unlike a proprietary black box it is auditable by design: the formula, weights and normative values are published in the app source, and every scan returns the score broken down term by term.

PMi = 5 · exp(−0.35 · z̄)

Each parameter gets a directional z-score against age-adjusted norms — penalising only deviation in the pathological direction — combined as a weighted mean. Constriction amplitude and peak velocity carry the most weight, then latency and T75, with PIPR amplitude lowest. Terms that are missing or below quality are dropped and the remaining weights re-normalised; at least three usable terms are required, and below that the card reads unavailable rather than showing a misleading number.

PMi is experimental and unvalidated. It is not equivalent to, nor a substitute for, any regulatory-cleared pupillary index, and carries no outcome validation.

Reflections are flagged, not silently tolerated

When a corneal reflection lies closer to the pupil border than a set fraction of the pupil radius, a warning appears on the result card, in the PDF and on the stored scan. The analysis still runs and no measurement is withheld — but a border finding on that eye may have been produced by the light rather than by the iris.

The warning identifies images at risk, not every affected image: a reflection just outside the limit can still create a zone finding.

10 — Limits

The short version

Regulatory status

PupilMetrics Neuro has not been submitted for FDA 510(k) clearance or CE marking. All outputs must be interpreted by qualified clinicians in the context of the full clinical picture.

Not for screening or law enforcement

Not validated for employment fitness screening, law enforcement drug detection, athletic doping control, or any non-clinical impairment assessment. Pattern classifications indicate physiological states consistent with broad drug classes — they do not identify substances and are not diagnostic.

Clinical judgment required

No output should be acted on without physician interpretation in full clinical context. PLR metrics are one input among many.

Data privacy

All patient data is stored locally on the device. No information is transmitted to external servers during clinical operation.

We would rather be measured than believed

If you run a concussion clinic, a neuro ICU, a sports medicine programme or a pupillometry lab — particularly if you have a reference instrument we could be compared against — we want to hear from you.