Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 21 additions & 4 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,14 @@ no GPU, no model download, no database required.
- [x] Backend selection via configuration (`STRUCTURA_2D_BACKEND`, `make_segmenter`).
- [x] Geometry metric utilities (over-/under-segmentation rate, a/b-axis error;
plus IoU/matching, precision/recall/F1) in `structura.metrics`.
- Data-dependent: model fine-tuning and the SAM-vs-Cellpose verdict belong to
the evaluation milestone (v0.9), not here.
- Data-dependent: model fine-tuning and the backend verdict belong to the
evaluation milestone (v0.9), not here.
- The axis is **zero-shot generic vs. domain-finetuned**, not "SAM vs. Cellpose".
`CellposeSegmenter` runs Cellpose-SAM v4 (Pachitariu et al. 2025), which is
itself SAM-backboned — the two learned backends share an architecture and
differ in what they were trained on. The companion plan's H_A states it that
way: a specialist fine-tuned on ≤ 300 hand-labelled stones against zero-shot
SAM.

### v0.4.0 — 2.5D track ✅ *(released 2026-06-16)* *(Sub-study B)*
- [x] `dem.relief` derivatives (hillshade, slope, curvature, local relief model,
Expand Down Expand Up @@ -115,12 +121,23 @@ intended delivery path.
- [ ] Validate the archaeological usefulness of the semantic ortho — Structura's
evaluation, not Effigies'.

### v0.9.0 — Evaluation harness ⛔ *needs real trench data*
### v0.9.0 — Evaluation harness ⛔ *needs **annotated** trench data*

The blocker is annotation, not capture. A real orthophoto and DEM exist
(`paper/input/data/Export/`, Tiberias 2023-03-10) and the pipeline has been run
on them end-to-end. What does not exist is ground truth: no reference stone
outlines anywhere in the paper repo, so no metric can be scored. H_A puts a
bound on it — ≤ 300 hand-labelled instances — which makes this a schedulable task
rather than a wait for a season.

- [ ] Ground-truth annotation on frozen hold-out scenes (**freeze the scene IDs
first** — plan Task 1.1; looking at model output on a scene before it is
designated spends it).
- [ ] Reproducible evaluation scripts producing the paper's metrics
(AP@IoU; completeness/correctness/quality + clDice/APLS; LoD95%).
- [ ] Wire results into `paper/output/data-analysis/`.

### v1.0.0 — Production release ⛔ *needs real trench data*
### v1.0.0 — Production release ⛔ *needs the v0.9 verdict*
- [ ] One full trench processed end-to-end.
- [ ] DB default locked; stable public API.
- [ ] Documentation complete; first Zenodo DOI minted.
Expand Down
9 changes: 7 additions & 2 deletions docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,12 @@ The active sink is chosen by `STRUCTURA_SINK` (`file` | `postgis` | `api`).
PostGIS directly. Awaiting confirmation. The record explains why the original
PostGIS-vs-API framing was incomplete: the API does not exist, and neither sink
can land geometry that has no context yet.
- **2D model choice:** SAM vs. Cellpose vs. classical CV — to be decided by the
comparative evaluation (blocked on real excavation data).
- **2D model choice:** **zero-shot generic vs. domain-finetuned**, with the
classical watershed as the deterministic floor — to be decided by the
comparative evaluation. Not "SAM vs. Cellpose": `CellposeSegmenter` runs
Cellpose-SAM v4, which is SAM-backboned, so the two learned backends share an
architecture and differ in training data. Blocked on **annotated** excavation
data, not on capture — a real orthophoto and DEM exist and have been processed;
ground-truth stone outlines do not.
*(The intake-layout question that stood here is resolved — see
[Intake](#intake-structuraintake) above.)*