Skip to content

v2.0.0rc1

Pre-release
Pre-release

Choose a tag to compare

@camillebrianceau camillebrianceau released this 25 Jul 13:45
· 22 commits to clinicadl_v2 since this release
f1f64cc

[2.0.0rc1] – 2025-07-24

This release marks a major overhaul of ClinicaDL, refactoring the entire framework into a modular, API-first design.

Previously centered around the command line, ClinicaDL now provides a flexible Python API that allows users to build and customize deep learning pipelines with high-level configuration objects. The goal is to make the code more maintainable, scalable, and user-extensible, while preserving the core values of ClinicaDL: reproducibility, robust support for neuroimaging, and data leakage prevention.

This is the first release candidate for version 2.0.0, with the final release planned for September 2025.

Highlights

  • Full rewrite of the core library — now fully object-oriented and modular.
  • New modules (see next section)
  • New MAPS architecture for managing model outputs and metadata.
  • Clear configuration-based design with JSON files and dedicated config classes based on pydantic.
  • Modern deep learning tooling: PyTorch, MONAI, TorchIO, HuggingFace, MLflow, and Weights & Biases support.
  • Extensive and fully updated documentation.

Added

Core Modules:

  • Trainer: high-level training controller managing full model lifecycle.
  • ClinicaDLModel: flexible base class to define and extend custom architectures.
  • CapsDataset: redesigned dataset class in the new dataset module, tailored for CAPS/MAPS.
  • Splitter: new module for managing train/val/test split logic.
  • Maps: a structured and reproducible representation of model outputs and metadata.

Configuration Classes:

  • OptimizationConfig, DataloaderConfig, LossConfig, TransformConfig, MetricConfig, etc.
  • Designed to be composable and readable using TOML files.
  • Stored alongside results to ensure experiment traceability.

Integration with Modern Tools:

  • Transforms: use of torchio and monai.transforms for preprocessing and data augmentation.
  • Metrics: integration with MONAI metrics and support for custom metrics.
  • Networks: fully compatible with native PyTorch models.
  • Logging: support for MLflow and Weights & Biases (W&B) out of the box.
  • HuggingFace: integration point for loading pretrained models and tokenizers.

Documentation:

  • Fully rewritten Sphinx documentation with improved structure and usage examples.
  • Interactive object documentation and visual MAPS structure navigation.

Changed

  • All pipelines removed and replaced by a unified API-driven interface.
  • Internal architecture redesigned for independent modules that can be combined or extended.
  • CLI options replaced by TOML configuration — reducing duplication and increasing clarity.
  • All training now done through Trainer, using configuration objects and custom hooks.

Removed

  • All legacy CLI commands (e.g., clinicadl train, clinicadl random-search, etc.).
  • Old pipelines (train_from_json, preprocessing run, etc.).
  • JSON-based configuration files.
  • Hardcoded command-line flags and argparse logic.

Breaking Changes

  • Backward compatibility is broken with all 1.x versions.
  • You must migrate to the new API and TOML-based configuration system.