Repository navigation
0.6.0: bridge to scigantic-edge (BIL deposit as acquisition prior, submission draft from box headers) - #2
Merged
Merged
Conversation
…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
force-pushed
the
feat/edge-bridge
branch
from
October 17, 2026 21:27
ec90ff6 to
ad5e373
Compare
…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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
scigantic_bil.edge:prior_records/prior_capsule/write_priorturn a BIL record into the base64 capsulescigantic-trend -seed-fromreads, so a new acquisition is checked against the lab's last deposit (voxel step sizes, channel count, objective, magnification, NA, detector).submission_drafts/submission_draftread a scigantic-edgeindex.jsonland fill BIL's Image and Instrument submission columns from SmartSPIMmetadata.txt, Zeiss CZI, BigDataViewer XML, OME-TIFF, Imaris and KLB records. One draft per acquisition directory; blank where nothing on the box says.scigantic-bil edge-prior <bildid> prior.b64,scigantic-bil submission-draft <ctx> [--cohort DIR] [--json].bil-imageis 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.edge-prior ace-cup-eelseededscigantic-trendover a synthetic session; one voxel-size alert per axis per directory, none twice.submission-drafton the same context produced a per-directory Instrument/Image draft.Not published to PyPI.
Second pass
submission_draftalso 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.