---
vault_clearance: EUCLID
halo:
  classification: INTERNAL
  confidence: HIGH
  front: "22_Project_StarSight"
  custodian: "The Architect"
  created: 2026-03-30
  updated: 2026-03-31
  wing: CONDITIONAL
  containment: "FORM — bioimaging orthodox apex vs rogue lane; VDM report standard §H; pair with BOOK.md"
---

# FORM — StarSight

> **S**ystems and **T**iers for **A**cquisition-**R**eady **S**patial **I**maging: **G**randmaster **H**ead-to-head **T**oolkit (**StarSight**).  
> Operational map for **microscopy / biological image analysis**: the **max-orthodox cultivator** (every conventional lever stacked) vs **our** minimal, deterministic, human-verified lane.

**Disambiguation:** This is **StarSight’s** imaging FORM. It is **not** the vault-wide **FORM–TRUTH** naming in [FORM_PROTOCOL.md](../FORM_PROTOCOL.md) (same pattern as [21_Project_LuaOversoul/FORM.md](../21_Project_LuaOversoul/FORM.md)).

**Companion evidence layer:** **[BOOK.md](BOOK.md)** (DOIs, URLs, benchmarks). **Triad:** [README.md](README.md) · [BOUNTY_BOARD.md](BOUNTY_BOARD.md) · [WORLDLINE.md](WORLDLINE.md).

**Exemplar data (pointer only, RESTRICTED):** Wet-lab USB ingest under **10** — [`10_Project_DiscordIntoSymphony/data/usb_ingest_STORE_N_GO_2026-03-30/`](../10_Project_DiscordIntoSymphony/data/usb_ingest_STORE_N_GO_2026-03-30/) — see [BOOK_Protocol.md](../BOOK_Protocol.md) and [HALO_PROTOCOL.md](../HALO_PROTOCOL.md). **Do not** treat StarSight as clearance to export those images to `public_lab`.

---

## A. The two paradigms

| Axis | Orthodox (max traditional) | Ours (rogue lane) |
|------|----------------------------|-------------------|
| **Philosophy** | Best-practice pipelines: vendor + community stacks, learned priors, full reproducibility *if* you tune and annotate enough | Minimal moving parts: deterministic checks, explicit metadata discipline, human sign-off on claims |
| **Free parameters** | High — thresholds, models, augmentations, training data, channel unmixing matrices, deconv kernels | Low — fixed scripts (e.g. format/dimension profiles), no training without a bounty; prefer **named** defaults when a step is unavoidable |
| **Tools** | OME **Bio-Formats** / **OME-Zarr**, **ImageJ2/Fiji**, **CellProfiler**, **QuPath**, **Ilastik**, **napari**, **Cellpose**, **StarDist**, **DeepCell**, **MorphoLibJ**, **CLIJ**/**clEsperanto**, **scikit-image**, **OpenCV**, **PyTorch**/torchvision, restoration networks (CARE / Noise2Void class), stitching (BigStitcher, Ashlar), classic colocalization (Costes, Manders) | Vault [`scripts/usb_ingest_image_profile.py`](../scripts/usb_ingest_image_profile.py); Pillow-based integrity passes; spreadsheet + board discipline; optional **15**/**17** when evidence must be sealed or attested |
| **Win condition** | SOTA on a benchmark; reviewer-shaped figures | Honest **no** when metadata is insufficient; reproducible **yes** when a single script reproduces the number |
| **Lose condition** | Parameter debt; annotation cost; GPU farm lock-in | Under-automation; does not replace trained microscopist for interpretation |

---

## B. Orthodox apex — “every lever pulled” (survey)

Stack these **layers** in order when simulating the **strongest conventional opponent** (the cultivator **built to be beaten**):

1. **Ingest + metadata** — Bio-Formats → OME-TIFF / OME-Zarr; validate planes, channels, physical pixel size, time steps.
2. **Flat-field / illumination** — Correction before segmentation when fluorescence quant matters.
3. **Stitching / mosaic** — Tiled acquisitions → single canvas; drift-aware if time-lapse.
4. **Denoising / deconvolution** — Classical Richardson–Lucy or learned restoration where SNR demands it.
5. **Registration** — Multi-channel / multi-modal alignment.
6. **Segmentation** — Classical (watershed, threshold on corrected channels) → **deep** instance (Cellpose, StarDist, etc.) where boundaries matter.
7. **Tracking** — Lineage graphs for time-lapse; link to **Cell Tracking Challenge** style metrics when claiming motion correctness.
8. **Measurement + QC** — Morphometry, intensity stats, colocalization coefficients with threshold robustness checks.
9. **Reporting** — Figures that survive Methods text (scale bars, raw vs processed disclosure).

**BOOK** lists primary citations and install surfaces for each family.

---

## C. Tier ladder (operational DAG)

```mermaid
flowchart LR
  ingest[Integrity_metadata]
  illum[Illumination_stitch]
  denoise[Denoise_deconv]
  reg[Registration]
  seg[Segmentation]
  track[Tracking]
  meas[Measurement]
  report[Reporting]
  ingest --> illum --> denoise --> reg --> seg --> track --> meas --> report
```

**Rogue shortcut (allowed):** `ingest → meas` **only** for **format/dimension/file-size audits** (no biological claim). Any claim about **cells, spots, or colocalization** must traverse **seg** (or equivalent manual mask) and document the path in **WORLDLINE**.

---

## D. Head-to-head and murder board

| Orthodox move | When it wins | Our counter | Honest loss |
|---------------|--------------|-------------|-------------|
| Deep instance segmentation (Cellpose / StarDist) | Thousands of objects, textured boundaries | Human spot-check + small held-out set metrics | We refuse to train; orthodox wins on throughput |
| Full QuPath / digital pathology workflow | Clinical-grade WSI, annotations, slide maps | Stay in cell-culture JPEG/TIFF lane with explicit scope | Wrong tool for whole-slide claims |
| Learned restoration | Extreme Poisson noise | Disclose “processed”; keep raw alongside | Rogue cannot invent photons |
| GPU cluster + MLOps | Production scoring at scale | Not the vault default | Scale goes to orthodox |

---

## E. Proof ladder (what “done” means for a vision bounty)

1. **Inputs frozen** — Path, file list hash or manifest; **HALO** tier stated.
2. **Pipeline named** — Orthodox stack table in **BOOK** matches software versions cited.
3. **Figure + number** — One plot or table tied to a script path (or manual ROI with screenshot policy).
4. **Failure stated** — e.g. RGB export lost channel identity; metadata cluster fake timestamps — see ingest corrigendum in **10** `BOOK_Protocol` wet-lab notes.

---

## F. Figures rule

Every comparison claim needs a **visible** artifact: before/after panels, metric distributions, or benchmark score tables. If a reader cannot see it, the FORM does not count it.

---

## G. “Vision Dao Monarch” — cross-domain augmentation (non-biology CV)

**Naming (lab shorthand):** In [EYE_PROTOCOL.md](../EYE_PROTOCOL.md), **EYE-11 Orthodox Monarch** is the **max-parameter transcriptomic cultivator** (`orthodox/orthodox_monarch.py`, 25 stages). **StarSight’s** parallel is the **Vision Dao Monarch**: the **same philosophical stance** — *stack every conventional imaging lever until the opponent is as strong as honest practice allows* — applied to **pixels**, not gene counts. It is **not** a second copy of the R pipeline; it is the **image-analysis orthodox composite** this project documents.

**Why import non-biology methods:** Microscopy exports are still **arrays**. Denoising, **geometry** (alignment, stitching), **robust fitting**, **optical flow**, **texture / anomaly** statistics, and **large-tile IO** were often **solved first** in robotics, remote sensing, industrial inspection, and computational photography. Those methods **augment** the bio stack without replacing biologist-readable tools (QuPath, Cellpose, etc.).

| StarSight tier (§C) | Non-biology lineages that sharpen the Monarch | Microscopy payoff |
|---------------------|-----------------------------------------------|-------------------|
| **Ingest / metadata** | Geospatial tiling (**GDAL**, COG/Zarr patterns), asset-management hashes | Same as OME-Zarr mindset: sharded planes, checksum manifests (pairs **15** if sealed) |
| **Illumination / stitch** | **Structure-from-motion** / homography pipelines, exposure fusion, gradient-domain blending | Mosaic tiles, multi-well montages, color flat-field |
| **Denoise / deconv** | **BM3D**, **non-local means**, **total variation**, **Richardson–Lucy** (astronomy heritage), learned denoisers trained on natural images | Poisson/Gaussian noise; guard against domain shift |
| **Registration** | **RANSAC** + feature matchers (**SIFT**/ORB), **optical flow** (LK / Horn–Schunck lineage), **phase correlation** | Time-lapse drift, channel shift, rigid + mild non-rigid |
| **Segmentation** | Industrial **anomaly / defect** detectors, **GrabCut**-class interactive cuts, **watershed** on distance transforms (general CV) | Rare phenotype / artifact holes; QC masks |
| **Tracking** | Multi-object tracking literature (MOT), Kalman + association | Same mathematics as cell tracking; different default hyperparameters |
| **Measurement + QC** | **SSIM** / **no-reference** sharpness metrics, **Haralick** texture, **FFT ring** detection | “Did export destroy information?” before biology claims |
| **Reporting** | Color science (sRGB γ), **OpenColorIO**-class discipline | Publication-grade tone mapping; honest “processed vs raw” |

**Honest failure mode for augmentation:** A method tuned on **street scenes** or **satellite** statistics can **lie** on organelles. The Monarch uses general CV as **hypothesis generators** and **sanity checks**, not as silent replacements for biologist-facing defaults.

**Evidence rows:** [BOOK.md](BOOK.md) §4 (cross-domain papers + tools); [§6](BOOK.md#6-annotation-tooling-and-no-manual-label-paths-image--counts--analysis) (annotation + no-label segmentation DOIs + lanes A–E). **Run outputs:** [§H](#h-vision-dao-monarch--output-suite-and-markdown-report-standard) (output suite + markdown schema).

---

## H. Vision Dao Monarch — output suite and markdown report standard

**Status:** §G names a **composite** (bio orthodox stack + cross-domain CV). The vault ships a **partial Python runner** that automates ingest + measurement (+ optional ORB/Canny when extra packages are installed) and writes `VDM_REPORT.md` + `vdm-report.json` — see **H4**. Full orthodox tiers (stitching, Cellpose, Bio-Formats, etc.) still run in **external** tools; merge their steps into the same report by hand or by extending the runner. This section defines **what must come out** so runs are comparable and auditable.

### H1. Output suite (what “running the Monarch” produces)

When you execute a Monarch-class pass over images, the **output suite** is the **union** of:

| Layer | Typical artifacts | Role |
|-------|-------------------|------|
| **Structured run log** | One primary **markdown report** (schema below) + optional JSON sidecar with the same fields | Single source of truth for Methods text and murder-board review |
| **Per-step facts** | For each program: stdout/stderr excerpts or parsed summaries, version stamps, seeds | Answers “what did the machine assert?” |
| **Geometry / alignment** | Transformation matrices, stitch graphs, drift plots | Reproducible registration and mosaic claims |
| **Pixels on disk** | Corrected tiles, denoised intermediates, masks, overlays | Evidence for figures; keep **raw** alongside when §D demands disclosure |
| **Metrics** | SSIM, edge density, segmentation counts, tracking IDs, colocalization tables | Numeric “said” that can be tied to benchmarks in **BOOK** §3 |
| **Figures** | Publication-style panels or QC thumbnails | Satisfies §F (visible artifact) |

**Minimal run (rogue / ingest-only):** The suite may shrink to **report + manifest + Pillow (or equivalent) facts** — but the markdown must still list **every** program that touched bytes and **why** (usually: integrity audit only; no biological claim).

**Full orthodox run:** Every tier in §C that you execute should appear as at least one **Step** in the report (§H2).

### H2. Standard markdown report — required sections

Implementers should start from **[templates/VISION_DAO_MONARCH_REPORT.template.md](templates/VISION_DAO_MONARCH_REPORT.template.md)** and fill all sections. Required content:

1. **Inputs** — Identical file list and hashes as §E “inputs frozen”; HALO / sensitivity line.
2. **Environment** — Every dependency with a version (or explicit “system unknown”).
3. **Tier trace** — For **each** program invocation, in DAG order: **Program**, **Configuration**, **Said**, **Why**, **Caveats** (see template table). “Said” must be **factual outputs**, not interpretation. “Why” must cite **tier** (§C) and, where useful, **BOOK** row ID (e.g. SS-V13).
4. **Cross-domain augmentation** — If §G tools ran, duplicate the same five fields per method and state **domain-shift** risk.
5. **Artifacts** — Paths to every image, plot, and log file produced.
6. **Claims and limits** — Explicit boundary on what the run does **not** prove (matches §C rogue shortcut honesty).

**Optional machine-readable mirror:** A `vdm-report.json` (same `run_id`, same step keys) is encouraged for automation; the markdown file remains the **human-canonical** bundle for Obsidian and reviewers.

### H3. Mapping “those pictures” to a concrete example

If you only **profile** USB-ingested JPEG/TIFFs (e.g. [`scripts/usb_ingest_image_profile.py`](../scripts/usb_ingest_image_profile.py)), the **suite** is: console or captured log (**Said**), aggregate tables (**Metrics**), and a **report** that records **Python/Pillow versions** (**Program** / **Environment**) and **format-dimension audit** (**Why**: ingest integrity per §C). No segmentation ⇒ no cell claims.

If you **stack** Bio-Formats → stitch → Cellpose, the **suite** adds: OME metadata dump, stitch blend parameters, model weights path, instance counts per frame, and figure paths — each as its own **Step** block with **Said / Why**.

### H4. Vault runner (automated subset)

**Install:** `pip install -r 22_Project_StarSight/requirements-runner.txt` from the vault root (Pillow, numpy, scipy, tifffile, imageio, OpenCV headless, scikit-image, matplotlib).

**Full pip stack (Cellpose + StarDist):** see [requirements-runner-full.txt](requirements-runner-full.txt) — install base, then optional `requirements-runner-segmentation.txt` (Cellpose/torch) and/or `requirements-runner-stardist.txt` (StarDist/tensorflow).

**Run on a folder tree of images:**

```text
python scripts/vision_dao_monarch_run.py --input path/to/images
```

**Default (full Python Monarch stack, not `--fast`):** recursive walk; Pillow decode; **tifffile** TIFF series sniff; optional SHA256; numpy thumbnails; scikit-image **Canny** + **Shannon entropy**, **Haralick** (single-offset GLCM), **LoG blobs**, **TV Chambolle** denoise probe, classical **Otsu + watershed** instance counts; OpenCV **ORB** + **SIFT**; **phase correlation + Farneback optical flow** on the first two sorted images. **Still external:** Fiji, QuPath, CellProfiler GUI, Bio-Formats desktop, Ilastik, napari, CLIJ, Ashlar/BigStitcher, colocalization, tracking — merged manually into the same report if you run them offline.

**Optional deep instance segmentation:** `pip install -r …-segmentation.txt` then `--segmentation cellpose` (per-image `cellpose_n_cells`), or `pip install -r …-stardist.txt` then `--segmentation stardist` (`stardist_n_instances`). **Not** automated cell typing.

**Speed:** `--fast` skips TV/Haralick/blob/watershed/SIFT and pair registration. `--max-sift N` / `--max-orb N` cap feature detectors on huge trees.

Default output (direct `vision_dao_monarch_run.py`, no `--output-dir`): `out/vdm_runs/<run_id>/VDM_REPORT.md` and `vdm-report.json`. **Publication layout:** `scripts/starsight_pipeline_test.py --imaging` (and `StarSight_publication_run.bat`) write under **`22_Project_StarSight/outs/runs/<prefix>_<run_id>/`** unless `--legacy-vault-out` or a custom `--output-dir`. **Morphology / screening:** `--cell-morphology` (per-instance `skimage.measure.regionprops` on Cellpose, StarDist, or watershed labels), `--phenocluster-k`, `--morpho-export-csv`, caps `--morpho-max-per-image` / `--morpho-pool-max-cells`. Other flags: `--no-hash`, `--max-files N`, `--with-figures`, `--cellpose-*`, `--stardist-pretrained`, `--segment-max-side`, `--segment-max-files`, `--output-dir`, `--halo-tier`, `--operator`.

**Smoke test:** `python scripts/vision_dao_monarch_run.py --self-check`

**Honesty:** `vdm-report.json` includes `full_stack`, `steps[]`, and **skipped** tiers for anything still not wired (illumination/stitch, BM3D/CARE/RL, MOT, …).

**Docker EYE:** The same full **pip** runner can execute inside container **EYE-14** ([docker/RUNBOOK.md](docker/RUNBOOK.md), [EYE_PROTOCOL.md](../EYE_PROTOCOL.md)) — JVM/desktop orthodox tools (Fiji, QuPath, CellProfiler GUI) remain Phase 2 or sidecars.

---

## I. Annotation vs no-label paths (image → counts)

**Evidence table:** [BOOK.md](BOOK.md) §6 — annotation software registry, DOI rows for unsupervised / self-supervised / foundation segmentation, pipeline **lanes A–E**, and limits on **cell type** without anchors.

**Practical stance for this vault:** **Lane B** (pretrained Cellpose) is partially automated via **`--segmentation cellpose`** (§H4). **Lanes A, C, D** still rely on external tools (CellProfiler, μSAM / CellSAM / SAMCell, UNSEG / CellSeg3D, etc.); merge their tier traces into a VDM report by hand or by extending the runner. **Lane E** is exploratory clustering—do not equate clusters with named cell types in Methods without disclosure.

---

## See also

- [EYE_PROTOCOL.md](../EYE_PROTOCOL.md) § **EYE-11** — Orthodox Monarch (transcriptomic Dao Eye); **parallel** to the Vision cultivator above  
- [15_Project_ShadowsOfSight/FORM.md](../15_Project_ShadowsOfSight/FORM.md) — integrity axis when artifacts must be sealed  
- [10_Project_DiscordIntoSymphony/FORM.md](../10_Project_DiscordIntoSymphony/FORM.md) — GEM / orthodox genomics cultivator (sibling “apex” story)  
- [FORM_ORTHODOX_APEX_TOOLING.md](../16_Project_Constellation/FORM_ORTHODOX_APEX_TOOLING.md) — cited multi-domain toolbar survey  
