Skip to content

0.2.0

Choose a tag to compare

@clemsgrs clemsgrs released this 05 Aug 08:02
· 17 commits to main since this release

This release makes croma’s robustness reporting more complete and reproducible, adding canonical F(0), nIPD, public benchmark results, and tracked paper-reproduction tooling. It also tightens several core interfaces, so existing users should review the breaking migrations below.

Added

  • CRoMaResult.f0 now provides the canonical confounder-dominant fraction F(0), using the closed <= 0 boundary over defined evaluation units. It is also exposed as f0 in CLI JSON and croma_f0 in benchmark and m-sweep outputs. (#119)
  • The documentation now publishes auditable results for twenty pathology foundation models and one natural-image control across three PathoROB cohorts, including provenance, per-cohort distributions, an interactive tail explorer, and dark-mode-correct figures. The aggregate table is ordered by the mean of its visible CRoMa and tail ranks while retaining both axes and the Pareto frontier. (#112, #121)
  • Paper-reproduction generators and their tests are now tracked under scripts/repro/ and aligned with the current group_id, all, and closed-boundary F(0) contracts. Upstream APD metadata correctly retains its source slide_id join key while generated croma manifests use group_id. (#120)

Breaking changes

  • croma.napd has been removed without an alias and replaced by croma.nipd. nIPD normalizes degradation by above-chance baseline performance and integrates over finite, strictly increasing Cramér’s-V coordinates spanning 0 to 1; it is a different estimand rather than a drop-in rename. PathoROB APD is unchanged. (#113)
  • Canonical manifests must now provide a non-empty group_id instead of slide_id. There is no compatibility alias: rename existing manifest columns and re-run scoring, because the group participates in alignment, fingerprints, and score-cache keys. Existing embedding matrices remain reusable. (#117)
  • The dataset_wide evaluation design is now named all, with no alias, and all is the new default for every public Python and CLI metric entry point. Calls that relied on the former paired_2x2 default must now request evaluation_design="paired_2x2" explicitly; cached artifacts using the old design name are recomputed. (#118)