CAREamics v0.2.0 is here! We have completely overhauled the code base to improve its maintainability and simplify future algorithm additions. At the core of v0.2.0 is the new next-generation dataset. Modular, flexible, and Zarr-compatible, it can easily be extended to your own data formats and needs.
The API has not changed dramatically, but this version breaks the import paths and rename configuration parameters and factories. Previous scripts can still run the old CAREamics via the compat module.
In the next months, we will be focusing on optimizing Zarr I/O, OME-NGFF compatibility, and making MicroSplit user-friendly!
What's Changed
- Perf(Next-Gen): Improve Stratified Patching Speed by @melisande-c in #812
- Refac(Next-Gen): Remove
UserContextparameters packing by @jdeschamps in #819 - Docs(Next-Gen): add NG Careamics docs by @jdeschamps in #804
- Fix(Next-Gen CAREamist): enable model creation for Noise2Noise by @mese79 in #831
- Chore(Next-Gen): fix docstring for Next-Gen files by @CatEek in #827
- Docs: add v0.1 docs by @jdeschamps in #834
- Feat(Next-Gen): callbacks as dict in
NGTrainingConfig, default preset by algorithm by @jdeschamps in #817 - Feat(Next-Gen): raise meaningful error when splitting small datasets by @CatEek in #825
- Feat(next-Gen): default num workers equal to cpu cores by @CatEek in #826
- Feature(Next-Gen): Patch filtering rework by @melisande-c in #832
- Chore(Next-Gen): enable pre-commits for
CAREamistV2by @jdeschamps in #833 - Fix: add validator to cover mismatching channels in CARE/N2N by @jdeschamps in #822
- Fix: fix doc CI by @jdeschamps in #865
- Refac(Next-Gen): Patch filtering tidy-up – remove redundant code and update configs by @melisande-c in #867
- Chore: update pr template docs checkbox by @jdeschamps in #860
- Feat(Next-Gen CAREamist): disable early stopping for Noise2Void and Noise2Noise by @jdeschamps in #859
- Fix: update ONNX test and fix Noise2Noise support by @jdeschamps in #870
- Chore: update comment by @jdeschamps in #862
- Fix(Next-Gen CAREamics): ensure that the normalization stats are saved in the hyperparameters by @jdeschamps in #868
- Chore(Next-Gen CAREmics): improve wrong input type error message by @jdeschamps in #861
- Chore(deps): Update pillow requirement from <=12.1.1 to <=12.2.0 by @dependabot[bot] in #872
- Feat(Next-Gen CAREamics): validate normalization stats against number of channels by @jdeschamps in #864
- Fix(Next-Gen CAREamics): ignore adding early stopping callback if
early_stopping_paramsis an empty dict by @mese79 in #874 - Feat(Next-Gen CAREamics): add model constraints validation in configuration and dataset by @jdeschamps in #869
- Feat: add str support for path input ton
CAREamistV2by @jdeschamps in #882 - Fix: Allow predicting to disk with zarr in CAREamistV2 by @melisande-c in #880
- Fix(Next-Gen): Saving datamodule hyper-parameters by @melisande-c in #884
- Refac(v0.2): move next-gen modules by @jdeschamps in #886
- Docs: fixes typos, re-organize and add nav.toml by @jdeschamps in #885
- Refac(v0.2): refactor transforms by @jdeschamps in #893
- Feat(Next-Gen CAREamics):
set_3Dfor NGConfiguration by @mese79 in #889 - Refac(0.2): refactor losses module by @jdeschamps in #896
- Refac(0.2): refactor lightning and models sub-modules by @jdeschamps in #894
- Refac(0.2): better optimizer validation by @jdeschamps in #898
- Refac(v0.2): Use consistent naming for all protocols and implementations by @jdeschamps in #892
- Feature(Patch Filters): Improve filter map functionality by @melisande-c in #891
- Refac(v0.2): Reorganise old dataset utils by @melisande-c in #895
- Refac(v0.2): import config factories from root config package by @melisande-c in #906
- Refac(v0.2): Dataset package minor reorganisation by @melisande-c in #897
- Chore(deps): Update pydantic requirement from <=2.12.5,>=2.11 to >=2.11,<=2.13.0 by @dependabot[bot] in #890
- Chore(deps-dev): Update onnxscript requirement from <=0.6.2 to <=0.7.0 by @dependabot[bot] in #908
- fix: log full NGConfiguratino to wandb by @diyasrivas in #907
- Refac(v0.2): clean up utils by @jdeschamps in #900
- Chore(deps): Update pydantic requirement from <=2.13.0,>=2.11 to >=2.11,<=2.13.3 by @dependabot[bot] in #914
- Refac(Next-Gen): move N2V manipulation to algorithms by @jdeschamps in #909
- Feat(v0.2): add validator for square patch by @jdeschamps in #917
- fix: call wandb.finish() after training to close the active run by @diyasrivas in #905
- Fix(v0.2): simplifies stitching and fix potential error by @jdeschamps in #920
- Fix(v0.2): catch error when predicting with inhomogeneous shapes and batch size > 1 by @jdeschamps in #916
- Feat(v0.2): use a single
get_devicefunction by @jdeschamps in #919 - Chore(v0.2): warn users when using batch norm and batch size is amll by @jdeschamps in #922
- Fix(v0.2): fix default workers to -1 by @veegalinova in #925
- Chore(deps): Update matplotlib requirement from <=3.10.8 to <=3.10.9 by @dependabot[bot] in #930
- Docs: document custom data loading; Refac: Make using custom file formats easier by @melisande-c in #923
- Feat(v0.2): add validation error for monitoring validation by @jdeschamps in #932
- Feat(v0.2): remove old CLI by @jdeschamps in #928
- Chore(v0.2): cleaning up print and removing unused class by @jdeschamps in #927
- Refac(v0.2): add casting to float32 for image_stack_protocol and implementations by @veegalinova in #935
- Fix(v0.2): training reproducibility by @veegalinova in #942
- Feature: Set patch filtering through config factory functions by @melisande-c in #937
- Refac(v0.2): rename
file_iotoimage_ioby @jdeschamps in #933 - Feat(v0.2): default checkpoint for CARE vs N2V/N2N by @jdeschamps in #918
- Chore(v0.2): clean up dependencies by @jdeschamps in #936
- v0.2: prediction oom error by @veegalinova in #947
- Feat: Next-Gen CAREamics by @jdeschamps in #871
- Fix: fix CI test call by @jdeschamps in #950
- Docs: Add patch filtering tutorial by @melisande-c in #953
- Chore(deps): Update numpy requirement from <=2.4.4,>=1.21 to >=1.21,<=2.4.5 by @dependabot[bot] in #954
- Docs: add missing README by @jdeschamps in #957
Full Changelog: v0.1.0...v0.2.0