Repository navigation
v0.4.0
What's Changed
- Keep an unreadable experiment_design.csv untouched in step 1 by @guijacquemet in #61
- load_design raises DesignCheckError for an unreadable experiment_design.csv by @guijacquemet in #62
- Read masks one pixel high or wide as 2D YX masks by @guijacquemet in #63
- PP-1: the axis check (swaps and contradictions are errors; plain stacks confirmed) by @guijacquemet in #64
- PP-0: code standards with a shrink-only baseline; one atomic writer, one grammar helper by @guijacquemet in #65
- PP-2: remove convert_tiffs, zarr_export, the moved-name shims and the old axis functions by @guijacquemet in #66
- PP-3: split run.py into the run package (move only) by @guijacquemet in #109
- PP-4: manifest version 2, row keys, per-file plain-stack confirmation by @guijacquemet in #110
- PP-5: masks (stated axes, never converted, labels always used) by @guijacquemet in #111
- PP-6: RunInputs and testing.make_clean_run by @guijacquemet in #112
- PP-7: modes, lock and report by @guijacquemet in #113
- PP-8: calibration (stated pixel sizes, recorded with their source) by @guijacquemet in #114
- Roadmap: quick quality checks from whole-FOV embeddings and masks by @guijacquemet in #116
- PP-8b: refuse X-before-Y masks in the run; RunInputs names unrecorded files by @guijacquemet in #115
- PP-8c: fixes from running on real data (file modes, absent-axis sizes, masks inputs, stopped-run text, read arguments, design command) by @guijacquemet in #117
- PP-8d: Colab and LabConstrictor readiness of the notebook by @guijacquemet in #118
- PP-9: split notebook_ui.py (move only) and pin the embedding API by @guijacquemet in #119
- PP-10a: notebook cards (calibration, design, recorded inputs, report, stale lock) by @guijacquemet in #120
- PP-10b: notebook debt from PP-9 (computation out of the UI, functions within §9) by @guijacquemet in #121
- PP-10c: the notebook's masks field and mask-axis statements by @guijacquemet in #122
- PP-10d: the notebook's masks-step button (Describe the masks) by @guijacquemet in #123
- Release v0.4.0rc3: version and the notebook's pinned tag by @guijacquemet in #125
- PP-11: convert, named-axis OME-TIFF copies of images with axis errors by @guijacquemet in #124
- PP-11c: conversion integrity (copy SHA-256, metadata epochs, exact CLI sizes) by @guijacquemet in #126
- PP-11b: the notebook's Make named-axis copies card by @guijacquemet in #127
- OME-Zarr axes and calibration: nothing guessed, nothing silent (#72, #73, #94) by @guijacquemet in #129
- Experiment design identity and counts: excluded folders, duplicate columns, output folder (#82, #83, #98) by @guijacquemet in #130
- Links stay inside the experiment and masks folders; --log is checked before it opens (#81, #99) by @guijacquemet in #128
- Micrometre conversions are always positive and finite; check and design exit 1 on errors (#93) by @guijacquemet in #133
- same_objects is a one-to-one matching; size and plane-count warnings follow the confirmed roles (#67, #74) by @guijacquemet in #131
- PP-12: staging and resume, crash-consistent publication, OME-Zarr inventory fingerprint (#86, #90) by @guijacquemet in #132
- PP-13: migration guide, CHANGELOG, Colab release check, docs pass; version 0.4.0rc4 by @guijacquemet in #134
- Audit B1, I1: keep the experiment, copies and output out of the masks folder by @guijacquemet in #135
- Audit I4: notebook inputs start from the earlier run's recorded inputs by @guijacquemet in #137
- Fix audit findings I2, I3, I5, m4, m5, m6 (what RunInputs gives the bricks) by @guijacquemet in #136
- Compare output and copy folders with the experiment by device and inode by @guijacquemet in #138
- Fix cross-brick test findings F1, F8, F9, F10, F11 by @guijacquemet in #139
- Fix the rc4 external review: mount points, hard links, commit fsync, content verification by @guijacquemet in #140
- Round-2 audit fixes: strict v2 position_id (A-m5), physical-size read errors (A-m6), exact unit conversion (B-m7) by @guijacquemet in #142
- v0.4.0rc5: tie-break gives no parent, ImageJ unit without resolution, plan Q66/Q73/Q74, changelog by @guijacquemet in #143
- Pin normalization v0.3.3; warn about channels without finite pixels (normalization#57) by @guijacquemet in #145
- rc5 release blockers: strict manifest version 3, final content check before commit by @guijacquemet in #146
- Final v0.4.0 prep: shared write-target rule, normalization compatibility, #146 follow-ups by @guijacquemet in #147
- F10: check --missing-as-singleton; a YX-named 2-D mask is shared by a Z/T image by @guijacquemet in #148
- Commit a publication only once its manifest has left .publish by @guijacquemet in #149
- Share a 2-D mask across Z/T planes only when its type is stated YX by @guijacquemet in #150
- docs: add Colab notebook badge by @guijacquemet with @Copilot in #161
- Fix Colab widgets and simplify preprocessing notebook by @guijacquemet in #162
- Repair Colab/Jupyter notebook packaging and restore readable guidance by @guijacquemet in #163
- 2-D planes only: refuse Z-stacks, remove the stated shared 2-D mask (tracker row 36) by @guijacquemet in #173
- Release v0.4.0 by @guijacquemet in #175
New Contributors
- @guijacquemet with @Copilot made their first contribution in #161
Full Changelog: v0.3.4...v0.4.0