The research toolkit is a new **Research** tab accessible from the bottom button row on the Analysis Results screen, positioned after the Visual Compare button. It collects tools that are more specialised than the standard chip-bar overlays and that benefit from a dedicated full-screen workspace.
The tab opens as a full-screen dialog with a left-edge vertical toolbar listing each tool. Selecting a tool activates it in the main pane. All tools are computed on demand and cached per eye for the session.
> **Intended audience:** The Research toolkit is aimed at practitioners conducting clinical research, teaching iridology at a university or institute level, or publishing comparative case studies. Routine clinical use of PupilMetrics does not require engagement with any of these tools.
—
### 3.11.1 Iris Rubber-Sheet Unwrapping (Daugman Normalisation)
**What it does**
The rubber-sheet transform converts the doughnut-shaped iris region — bounded by the pupil inside and the iris rim outside — into a rectangular strip by mapping (radius, angle) polar coordinates into (x, y) Cartesian coordinates.
The unwrapped iris is the canonical form used in virtually all published iris-image research. Every zone, every fibre, every crypt becomes a vertical strip or a localised patch in a flat image that is easy to inspect, measure, and compare side-by-side across sessions.
**Output**
A 512 × 64 pixel rectangular image in which:
– The **X axis** represents angular position (0° at 3 o’clock, 90° at 12 o’clock, 180° at 9 o’clock, 270° at 6 o’clock)
– The **Y axis** represents normalised radius (0 = pupil edge at the top of the strip; 1 = iris rim at the bottom)
– Colour and pigment are preserved from the original image
**Overlays**
The unwrapped strip supports several toggleable overlays:
| Overlay | Displays |
|———|———-|
| Clock scale | Clock-hour markers along the top edge (1–12) |
| Zone bands | Vertical shaded bands matching the eight iridology zones |
| Collarette line | Horizontal line at the detected collarette radius |
| Zone finding markers | Dots at the (angle, radius) of each FLAT / PROT / ANW finding |
**Clinical applications**
– **Full-iris inspection at a glance** — No rotation required to see the entire circumference.
– **Sector comparison** — OD and OS unwrapped strips can be placed on top of each other (after mirroring OS) to compare corresponding sectors directly.
– **Publication** — The unwrapped representation is the standard figure in iris-research papers; PupilMetrics can now export it directly.
– **Teaching** — Students see the full zone ring laid out linearly instead of needing to rotate around a disc.
—
### 3.11.2 Radial Fibre Orientation Map
**What it does**
Building on the Gabor filter bank from §3.10.7, the orientation map computes the **dominant Gabor orientation** at each pixel of the unwrapped iris and renders it as a colour-wheel-encoded image. Each orientation (0° to 180°) is mapped to a hue; the saturation of the colour encodes how strongly that orientation dominates over the others.
**Interpretation**
| Colour pattern | Stroma meaning |
|—————-|—————-|
| Uniform vertical (magenta in the default wheel) in the unwrapped strip | Well-organised radial fibres — classic Neurogenic Robust pattern |
| Horizontal (cyan) stripes | Concentric structures — contraction furrows, rings |
| Swirled / mottled | Disorganised stroma — common in Mesenchymal Pathological |
| Low-saturation grey zones | No dominant orientation — typical of dense pigment fields |
**Overlays**
– **Orientation histogram** — Circular histogram showing global fibre orientation distribution for the entire iris
– **Zone-wise bar** — Small per-zone orientation dominance bars under each zone band
– **Rose plot** — Classical angular histogram on the 2D polar iris view
—
### 3.11.3 Crypt & Lacuna Auto-Detection
**What it does**
The crypt detector identifies dark depressions in the iris stroma using a three-stage pipeline:
1. **Pre-processing** — Specular inpainting (§3.11.5) and CLAHE normalisation.
2. **Blob detection** — A Difference-of-Gaussians (DoG) filter flags local dark minima at multiple scales.
3. **Shape validation** — Each candidate is fit to an ellipse; aspect ratio, solidity, and area are checked against constitutional ranges. Edge artefacts (corneal reflections, eyelash shadows) are rejected.
Each detection is drawn on the iris image as a numbered outline in cyan. The detail panel lists each crypt with its measured properties.
**Detected properties (per crypt)**
| Property | Unit | Notes |
|———-|——|——-|
| Diameter | mm | Calibrated from the measured iris diameter in §3.3 |
| Depth (relative) | 0 – 1 | Darkness of crypt interior vs. surrounding stroma |
| Shape class | Leaf · Round · Honeycomb · Torpedo · Defect-sign | Based on aspect ratio and solidity |
| Zone | Zone name | Derived from angular position |
| Radius band | Pupillary · Nutritive · Ciliary · Peripheral | Based on normalised radial position |
**Summary output**
| Readout | Meaning |
|———|———|
| **Crypt Count (OD/OS)** | Total detected per eye |
| **Shape Distribution** | Pie chart of shape classes |
| **Zone Distribution** | Bar chart of count per zone |
| **Symmetry Score** | OD/OS zone histogram intersection, 0–100% |
**Clinical applications**
– **Constitutional typing** — A high honeycomb-pattern count is a marker for Mesenchymal Pathological; a leaf/petal distribution around the collarette is the signature of Glandular Pathological.
– **Structured reporting** — The detected crypt list is available as a new optional section in the PDF report (§4.3) and exported in the JSON data (§4.5).
– **Longitudinal tracking** — Crypt counts per zone are added to the Serial Scan Timeline (§3.10.6) for patients with lacunae-dominant constitutions.
> **Note:** Automatic detection is intended as a clinical aid, not a replacement for trained visual assessment. Small crypts below the 0.3 mm calibrated size threshold are deliberately not reported. Borderline detections carry a confidence value and can be filtered in the detail panel.
—
### 3.11.4 Contraction Furrow (Nerve Ring) Detection
**What it does**
Contraction furrows — sometimes called **nerve rings** or **cramp rings** — are concentric circular grooves in the ciliary zone of the iris. In classical iridology they are associated with nervous-system irritability and chronic neuromuscular tension (see §6.2, Vegetative-Spastic constitution).
The detector scans the unwrapped iris strip (§3.11.1) for horizontal dark bands and reports each as a ring with measured properties.
**Output**
| Column | Description |
|——–|————-|
| Ring ID | Sequential (Ring 1 = innermost) |
| Normalised radius | 0 – 1, pupil → rim |
| Depth | Darkness contrast vs. neighbouring stroma |
| Completeness | % of the circumference the ring extends through |
| Clock-hour span | Start–end clock positions |
**Clinical applications**
– Objective confirmation of the cramp-ring sign used in Vegetative-Spastic constitutional typing.
– Longitudinal monitoring of chronic stress or postural tension — progressive ring deepening or new ring appearance is a research-observational marker.
—
### 3.11.5 Specular Reflection Inpainting
**What it does**
Corneal reflections of light sources — the iriscope LED ring, overhead lights, ceiling fixtures — produce bright specular spots that overlap the iris image. These spots contaminate CLAHE, Gabor, LBP, heatmap, and 3D-relief readings because they introduce non-biological high-luminance outliers.
The inpainting tool detects specular regions using a combined brightness + colour-saturation threshold, then reconstructs the underlying iris texture using the Telea fast marching inpainting algorithm seeded from the surrounding pixels.
**Output**
Two views are shown side by side:
| View | Shows |
|——|——-|
| **Original** | The raw iris image with a red transparent overlay marking detected specular regions |
| **Inpainted** | The same image with specular regions reconstructed from their neighbourhood |
**Propagation**
A new **”Use inpainted image in overlays”** toggle in Settings (§8.6), off by default, applies the inpainted image upstream of all other overlay tools (CLAHE, Heatmap, Gabor, LBP, 3D Relief). When enabled, these overlays operate on the reconstructed image, producing cleaner texture metrics at the cost of approximately 30% additional per-session compute.
> **Important:** Inpainting does **not** change the core analysis pipeline, the pupil/iris boundary detection, or the stored scan record. It affects visualisation only.
—
### 3.11.6 Heterochromia Sector Mapping
**What it does**
The heterochromia mapper performs **k-means colour clustering** in the LAB colour space across the unwrapped iris and identifies regions of the iris whose dominant colour differs significantly from the overall iris colour centroid. The output highlights sectoral colour asymmetries — the characteristic sign of **sectoral heterochromia** — and quantifies the extent of each deviating sector.
**Output**
| Readout | Meaning |
|———|———|
| **Dominant colour (LAB)** | Reference colour for the iris as a whole |
| **Sector count** | Number of detected heterochromic sectors |
| **Per-sector detail** | Clock-hour range · angular span (°) · ΔE (perceptual colour distance) · Zone assignments |
| **Bilateral mismatch** | Central heterochromia count (OD vs OS) flag |
**Overlays**
The results are drawn back on the 2D iris image as coloured outlines around each heterochromic sector, each labelled with its ΔE value. A secondary unwrapped view shows the heterochromia as a banded map across the full iris circumference.
**Clinical applications**
– **Biliary/Mixed constitutional typing** — Central heterochromia is a defining feature of several Biliary subtypes (§6.2).
– **Localised liver-zone pigment detection** — The 7–9 o’clock sector in OD is a classic liver-zone localisation; heterochromia mapping quantifies its extent and ΔE objectively.
– **Congenital vs. acquired** — Patients with iris sectoral asymmetry from early life can be distinguished from acquired pigment changes by reviewing historical images via §3.11.7.
—
### 3.11.7 Bilateral Structural Similarity Index (SSIM-OD/OS)
**What it does**
SSIM (Structural Similarity Index) is a perceptual image-similarity measure that reports how closely two images match in terms of luminance, contrast, and structure. PupilMetrics uses SSIM to quantify bilateral iris symmetry: after unwrapping both eyes (§3.11.1) and mirroring OS to match OD orientation, a windowed SSIM map is computed over the aligned pair.
**Output**
| Readout | Meaning |
|———|———|
| **Global SSIM score** | 0 – 1; > 0.85 = strongly symmetric · 0.70 – 0.85 = moderate · < 0.70 = asymmetric |
| **Per-zone SSIM** | Eight SSIM values, one per zone, as a radial bar chart |
| **Difference map** | The pixel-wise SSIM map rendered as a colour image (red = low similarity, green = high) |
**Clinical applications**
– **Single-number bilateral symmetry** — Practitioners who want one summary number for OD/OS similarity can use the Global SSIM score as a research-level complement to the visual side-by-side comparison.
– **Zone-specific asymmetry** — A low SSIM in a single zone, with all others high, flags a lateralised finding at that zone which may not be individually caught by the FLAT/PROT/ANW thresholds.
– **Session consistency** — Running SSIM between two captures of the same eye (from consecutive sessions) gives an objective image-quality-and-registration score; declining SSIM across a patient’s scan history indicates that capture technique or device alignment is drifting.
—
### 3.11.8 Frangi Vesselness — Fibre Ridge Enhancement
**What it does**
The **Frangi vesselness filter**, originally developed for retinal vessel segmentation, computes an eigenvalue analysis of the image Hessian at multiple scales to produce a vesselness probability at each pixel. In iris imaging, the same filter beautifully enhances **radial fibre structures** and **transversal fibres** against the stromal background — producing a clean, high-contrast fibre map free of the directional bias of Gabor filtering.
**Output**
A greyscale vesselness map in which bright ridges mark detected fibres. The image is overlaid on the original iris using a user-controlled opacity slider.
**Derived metrics**
| Metric | Meaning |
|——–|———|
| **Fibre coverage** | Percent of ciliary-zone pixels above the vesselness threshold |
| **Mean fibre thickness** | Average width of detected ridges, in mm |
| **Transversal count** | Number of transversal fibres (fibres oriented non-radially) |
**Clinical applications**
– Quantification of fibre density in low-contrast dark irides where visual assessment is difficult.
– Transversal fibre counting — transversals are a specific constitutional marker (Neurogenic Robust) and their automatic count provides an objective backup to visual assessment.
—
### 3.11.9 GLCM Haralick Texture Panel
**What it does**
The GLCM (Grey-Level Co-occurrence Matrix) panel computes the classical Haralick texture features over a per-zone basis. GLCM quantifies how often pairs of pixel values occur at a fixed spatial offset, and Haralick’s derived features summarise this matrix into interpretable numbers.
**Features reported (per zone)**
| Feature | Meaning |
|———|———|
| **Contrast** | Local intensity variation — high in fibrous regions |
| **Homogeneity** | Similarity of neighbouring pixel values — high in pigment fields |
| **Energy** | Uniformity — high for regular patterns, low for random |
| **Entropy** | Disorder — high for disorganised textures |
| **Correlation** | Linear predictability between neighbours — high for organised fibre runs |
**Display**
An eight-row table (one row per zone) shows the five Haralick features, colour-coded against a reference range. A radar chart at the top visualises the five features as a five-axis profile.
**Clinical applications**
– Haralick features are the most widely published quantitative texture descriptors in the medical image-analysis literature; including them means PupilMetrics output is directly comparable with external research datasets.
– Combined with Gabor + LBP, GLCM gives a complete texture-characterisation trio that covers the full space of stroma variation.
—
### 3.11.10 Iris Signature & Session Verification
**What it does**
An **iris signature** is a compact biometric fingerprint derived from the Gabor-phase code of the unwrapped iris (the Daugman iris code), stored locally alongside the scan record. The signature is used for one purpose only: to verify that two scans in the local Scan History correspond to the **same biological iris** — preventing accidental mis-association when a patient name is mis-spelled or when two patients share a name.
**What is stored**
A 256-byte phase code plus a 256-byte mask per eye. The code is not human-readable. The signature contains **no pigment, texture, or photographic information** — it is strictly a binary code used for matching.
**How it works**
When the Serial Scan Timeline (§3.10.6) is opened for a patient, each scan in the timeline is compared to the most recent scan using Hamming distance. Matching scans are grouped under a single shared identity; scans with a Hamming distance above 0.32 (the Daugman threshold) are flagged with an amber **”Identity mismatch”** warning icon so the practitioner can investigate.
**Privacy**
– All iris signatures are stored **locally on the device only** (same policy as §9.5).
– Signatures are **never transmitted**, never sent to CNRI servers, and never exported in any report.
– Signatures can be purged in one action via a **”Clear all iris signatures”** button in Settings. Deleting a scan record deletes its associated signature.
– The signature cannot be inverted to reconstruct an iris image or photograph.
> **Important:** This feature is for **internal record-continuity verification only**. It is not a biometric identification system, is not connected to any external database, and must not be used for identity verification, access control, or any security-related purpose.
—
### 3.11.11 Multi-Frame Fusion & Super-Resolution Capture
**What it does**
Rather than capturing a single frame at the moment the quality gate passes, Multi-Frame Fusion captures a **burst of 8 frames** across approximately 0.5 seconds and fuses them through two complementary processes:
1. **Image alignment** — Sub-pixel registration of each frame to the highest-quality reference frame, using normalised cross-correlation over a pupil-and-collarette landmark set.
2. **Super-resolution reconstruction** — Weighted averaging at up to 2× the input resolution, producing a single output image with reduced sensor noise, suppressed specular reflections (majority-voted out across frames), and increased effective resolution.
**When it is active**
Multi-Frame Fusion is an optional capture mode enabled per-eye on the Camera Mode Selector (§2.2). It is available in Quality-Gated mode and in USB / Iriscope mode. It is not available in PLR video mode (§2.6).
**Trade-offs**
| Factor | Single frame | Multi-frame fusion |
|——–|————–|——————-|
| Capture time | Instant | ~0.5 s |
| Patient cooperation | Minimal | Stable fixation for 0.5 s |
| Noise | Sensor noise present | Noise reduced by ~√8 ≈ 2.8× |
| Specular reflection | Fixed pattern preserved | Reflections reduced (if they fall on different iris regions across frames) |
| Effective resolution | Native sensor | Up to 2× native |
| Analysis accuracy | Reference pipeline | Identical pipeline; higher input quality improves all texture and relief readouts |
**Clinical applications**
– Dino-Lite images at higher effective resolution for publication-quality figures.
– Cleaner input for Gabor / LBP / Frangi texture tools — texture metrics from a fused capture are substantially more stable between sessions.
– Reduced specular-reflection contamination without inpainting.
> **Note:** The fused image and its per-frame source frames are both retained in the scan record. The per-frame set can be inspected in the Research tab; the fused image is what feeds the standard analysis pipeline.
