Skip to content

0.6.0: bridge to scigantic-edge (BIL deposit as acquisition prior, submission draft from box headers) - #2

Merged
aaronkanzer merged 2 commits into
mainfrom
feat/edge-bridge
Oct 17, 2026
Merged

aaronkanzer merged 2 commits into
mainfrom
feat/edge-bridge

Conversation

@aaronkanzer

@aaronkanzer aaronkanzer commented Oct 17, 2026 •

Copy link
Copy Markdown
Member

What

  • scigantic_bil.edge: prior_records / prior_capsule / write_prior turn a BIL record into the base64 capsule scigantic-trend -seed-from reads, so a new acquisition is checked against the lab's last deposit (voxel step sizes, channel count, objective, magnification, NA, detector).
  • submission_drafts / submission_draft read a scigantic-edge index.jsonl and fill BIL's Image and Instrument submission columns from SmartSPIM metadata.txt, Zeiss CZI, BigDataViewer XML, OME-TIFF, Imaris and KLB records. One draft per acquisition directory; blank where nothing on the box says.
  • CLI: scigantic-bil edge-prior <bildid> prior.b64, scigantic-bil submission-draft <ctx> [--cohort DIR] [--json].
  • Version 0.6.0 (main is already 0.5.0, the BrAinPI release). Pairs with Scigantic/scigantic-edge's light-sheet branch (bil-image is a format its setup check knows).

Why

Measured against the metadata API on 2026-10-17: 1,004 light-sheet records, 849 with an Instrument block, 808 of those LifeCanvas SmartSPIM; roughly half of the instrumented records leave objective, detector and wavelength blank. The rig writes all of those beside its planes.

Verified

  • tests/test_edge.py: 9 tests (captured ace-cup-eel record offline, one live retrieve to confirm the capture, drafts from SmartSPIM/CZI-shaped records, two-acquisition split, CLI). mypy --strict clean.
  • End to end with the edge branch: edge-prior ace-cup-eel seeded scigantic-trend over a synthetic session; one voxel-size alert per axis per directory, none twice. submission-draft on the same context produced a per-directory Instrument/Image draft.

Not published to PyPI.

Second pass

submission_draft also reads the mesoSPIM, Luxendo, lattice Settings.txt, Micro-Manager and ND2 records the edge now writes (10 tests, mypy strict clean).

CI note

The typecheck job passes. The five live test legs run against download.brainimagelibrary.org, which has been refusing TCP connections since the evening of 2026-10-17 (api.* and www.* answer); each leg hits the 45-minute cap. Rerun the checks once the download host is back; nothing in this branch touches the live read path.

…r, and a submission draft from the box's headers

edge.py: prior_records/prior_capsule/write_prior turn a DatasetDetail into
the capsule scigantic-trend -seed-from reads (one bil-image context record
per Image row, Instrument sheet folded in). submission_drafts/submission_draft
read an edge index.jsonl and fill BIL's Image and Instrument columns from
SmartSPIM metadata, CZI, BigDataViewer XML, OME-TIFF, Imaris and KLB records,
one draft per acquisition directory. CLI: edge-prior, submission-draft.

Why: 808 of BIL's 849 instrumented light-sheet records are SmartSPIM and
about half have blank objective/detector/wavelength fields that the rig's
own metadata.txt carries.
@aaronkanzer aaronkanzer changed the title 0.5.0: bridge to scigantic-edge (BIL deposit as acquisition prior, submission draft from box headers) 0.6.0: bridge to scigantic-edge (BIL deposit as acquisition prior, submission draft from box headers) Oct 17, 2026
…Manager and ND2 records too

The edge now decodes those sidecars (scigantic-edge feat/light-sheet-formats,
second pass); the submission draft fills BIL's Image and Instrument columns
from them, ranked after SmartSPIM and CZI. DCIMG counts as a plane format.
@aaronkanzer
aaronkanzer merged commit 3df4c7f into main Oct 17, 2026
1 of 6 checks passed
@aaronkanzer
aaronkanzer deleted the feat/edge-bridge branch October 17, 2026 23:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant