phenotypic.sdk_.datasets_needing_migration#
- phenotypic.sdk_.datasets_needing_migration(output_dir: Path) list[str][source]#
Datasets holding at least one .h5 result without a VALID store.
One predicate, so the CLI and the GUI cannot disagree about what “needs migrating” means.
Per-IMAGE, not per-dataset: the half-migrated tree this exists to catch has converted and unconverted images in the SAME dataset, so a dataset-level “has .h5 and has no zarr/ dir” test misses it entirely. That tree is the expected state after any interruption, because migration is resumable – and it is neither “only .h5” nor fully converted, so the older “only .h5” guard let it through and –mode full silently reprocessed every unconverted image from source.
Validity, not existence: valid_staged_store, not path.exists(). A store written at an older store_schema_version is present but the loader refuses it, so an existence test reads that tree as clean while every image fails to open.