Repository navigation
New snippet for png/s3: aws-chammi-75-multichannel-pretraining - #61
Conversation
…annel of a field, stacked as cyx For aws-chammi-75-multichannel-pretraining (issue #58): the catalog had no PNG reader. One url is yx, several urls are the channels in binding order; each file is decoded whole with imagecodecs (access: file). The example binds the record's idr0001 field (2 channels, 1040x1376) and hpa0018 field (4 channels, 512x512). Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
snippets: round 1 pushed
|
| raw | field | array |
|---|---|---|
| 0 | idr0001 (..._channel-0.png, -1) |
cyx 2×1040×1376 uint8 |
| 1 | hpa0018 (<uuid>-ch0.png … ch3) |
cyx 4×512×512 uint8 |
I found the sibling channel files by listing each field's key prefix on chammi-data.s3.amazonaws.com, the allowlisted host. All URLs are on that host, not the s3.us-west-2 one.
Testing
Smoke summary, run as CLAUDE.md prescribes with MIA_HARNESS_ALLOWED_HOSTS=chammi-data.s3.amazonaws.com:
{"ok": true, "shapes": {"raw": [[2, 1040, 1376], [4, 512, 512]], "labels": []},
"warnings": [], "errors": [], "bytes_fetched": 784737}- Real-data crops:
harness crop --n 4made 4 crops, drawn from both channels. harness verify: with the issue's Record block as given, all 4 crops fail with "crop.json has no licence", because that block has nolicensefield. With a placeholder licence added to a local copy of the record, all 4 pass.- CI checker:
ci/check_pr.py --base origin/mainpasses. - Existing suites: harness tests 225 passed, CI-checker tests 21 passed.
- Edge cases: 15 local tests over the harness range server pass (uint8/uint16, channel order, interlaced and multi-block files, a server without Range, stored and deflated zip members with a glob, and the refusals). These are not committed, because CI rejects a snippet PR that touches
harness/tests.
Limits to know about
- Two fields out of about 2.8 million files. The bucket has no directory index and the snippet does not enumerate it, so a binding names each field URL by URL. Covering the dataset at scale needs the file list from an S3 listing or the bucket's metadata CSV, which is outside what a snippet can do.
- Channel names and voxel size are not set. Neither is in a PNG, and the record sets neither.
|
Review judge: The PR adds a new png-channels snippet that reads 8/16-bit greyscale PNGs over HTTP(S) or from zip members, as yx for one file or as cyx when several per-channel files are stacked. It also adds the requested CHAMMI-75 example binding, which lists two fields with explicit global-host URLs. The code follows the spec's interface, I/O and dependency rules and only adds files under a new snippet directory. The one open question is whether the extra channel URLs exist, because the record does not verify them.
confidence 0.8 · model Shadow mode: this verdict is recorded and compared with the human label; it decides nothing. |
|
/approve 39e2a98 |
































Closes #58: For aws-chammi-75-multichannel-pretraining: dataset
aws-chammi-75-multichannel-pretraininghas no snippet that reads it.Implemented by snippets: Claude Code running in a sandboxed job on the cluster. The agent's own
summary is the first comment.
/approve <head sha>(needed when running under a personal token; atrusted worker posts it when the output of this head is approved).
snippets merges once an approval matches the current head and checks are not failing.
/revise <what to change>.Up to 3 revision rounds.