Recent Releases of clinicadl
clinicadl - v2.0.0rc1
[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 newdatasetmodule, 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
torchioandmonai.transformsfor 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.
- Python
Published by camillebrianceau 7 months ago
clinicadl - ClinicaDL v1.6.1
ClinicaDL 1.6.1
Fixed
- Fix sorting particpants sessions with 2 digit,
- Fix
interpret —-save_niftiissue, - Fix BIDS file format for pet,
Changed
- Change 2 digits session label to 3 digits,
- Change black and isort for ruff and codespell,
- Update type hint and docstring,
New
- Add
--fsdpoption - Add
--valid_longitudinaloption to allow the validation on longitudinal data,
- Python
Published by camillebrianceau almost 2 years ago
clinicadl - ClinicaDL v1.5.1
ClinicaDL 1.5.1
Fixed
- Fix retrocompatibility for new option in maps.json
Changed
- Change MapsManager architecture by adding Callbacks
New
- Add
--fully_sharded_data_parallelismoption - Add
--emisions_calculatoroption with codecarbon - Add the semi-supervised domain adaptation network proposed for the MICCAI DART workshop.
- Python
Published by camillebrianceau over 2 years ago
clinicadl - ClinicaDL v1.5.0
ClinicaDL 1.5.0
### Fixed
- Fix
adaptcommand
### Changed
- SSIM is now executed on GPU when possible
### New
- Add new command
generate artifactsto generate noise/contract/motion - Add options for data augmentation
- Add fine-tuning option
- Add
--ampfor automatic mixed precision - Add
--track_expoption to track your parameters during training with MLflow or WandB
- Python
Published by camillebrianceau over 2 years ago
clinicadl - ClinicaDL v1.4.0
Fixed
- Fix
--diagnosesand--merged_tsvoption bug inclinicadl get-labels - Fix Pathlib bugs
- Fix
get_tsv_pathsfunction bug. - Fix a bug for which it was impossible to use predict without specifying the splits and selection metrics.
Changed
- Changed default batch size to 8 for
clinicadl predict - Changed VAEs main class
New
- Add
--n_procoption inclinicadl generatepipelines for parallelization. - Add
--splittoclinicadl predict - Add new VAE networks.
- Add pytorch function to summarize
- Add
--size_reductionand--size_reduction_factoroptions toclinicadl train,clinicadl predictandclinicadl interpret. - Add SSIM2D, SSIM3D metrics for VAE.
- Add
--save_latent_spaceoption toclinicadl trainandclinicadl predict. - Add
clinicadl generate trvial_motion - Add Data augmentation with torchio
- Python
Published by camillebrianceau over 2 years ago
clinicadl - Release ClinicaDL 1.3.1
## ClinicaDL 1.3.1
### Fixed
- Fix TypeError when running ClinicaDL.
- Fix
--extract_jsonoption bug inclinicadl prepare-data. - Fix
clinicadl tsvtools get-labelserror findingclinica iotools missing-modalitiesoutput.
### Changed
- Changed
clinicadl tsvtools get-labelsoutput directory.
### New
- Add
--caps_directoryoption inclinicadl tsvtools get-labels.
- Python
Published by camillebrianceau almost 3 years ago
clinicadl - Release ClinicaDL v1.3.0
ClinicaDL 1.3.0
New
- Add new command
quality-check pet-linear. - Add new command
generate hypometabolic. - Add new network architecture:
Resnet3DandSqueezeExcitationCNN. - Add
flair-linearmodality forprepare-datacommand. - Add pytorch profiler.
- Add
--save_niftioption forinterpretcommand. - Add
--output_dirargument fortsvtools get-labelscommand
Changed
** Core: **
- Transition from os to pathlib.
- Update data CI.
- Improve maps_manager.
- Change
--acq_labeloption for--tracer. - Update tutorial.
- Python
Published by camillebrianceau almost 3 years ago
clinicadl - ClinicaDL 1.2.0
ClinicaDL 1.2.0
Changed
** Core: **
- Add ClinicaDL installation with pipx.
- Improve logging.
- Add method argument to the interpret command to choose between the new Grad-CAM method and the gradient method.
- Change
extractcommand toprepare-data. - Change output of
get-labels,splitandkfoldcommands to one TSV per split instead of one per label. - Change
tsvtoolcommand totsvtools. - Change
tsvtools getlabelscommand totsvtools get-labelsand remove the progression column in the TSV output. - Add new commands:
tsvtools get-progression,tsvtools get-metadata,tsvtools prepare-experiment(split + kfold), andtsvtools adapt. - Update data CI.
- Add a new model for quality check
Fixed
- Fix
quality-check t1-linear
- Python
Published by camillebrianceau about 3 years ago
clinicadl - ClinicaDL 1.1.1
Changed
** Core: **
- Dependencies versions were updated in order to support Python equal or greater than 3.8.
- Security updates for some dependencies.
- Include the
--save_tensorand--save_niftyoptions into thepredictsub-command (beforesave_tensorwas also subcommand`). - Update some paper references in the documentation.
- Add a description for the available models.
- Add the flag
--model_layersto theclinicadl train list_modelssubcommad to visualize the model layers.
Fixed
- Fix bug when using the
clinicadl train list_modelscommand.
- Python
Published by mdiazmel over 3 years ago
clinicadl - ClinicaDL 1.1.0
Changed
Core:
- Add new VAE models for training.
- Add multiprocessing for the
extracttask. - Add tests to validate
resumeandquality-checkfunctionalities. - Update minimal version for first level dependencies: clinica, scikit-learn, scikit-image.
- Add a new Makefile to the root of the repository in order to facilitate sysadmin frequent tasks. The CI script was also modified.
Command line:
- Update of the train command line: now all actions related to training (resume, list models, tasks…) are sub-commands of the command
clinicadl train. Task is now a sub-command, and not an argument. - Add command to list the available models for the training task and the details of each model.
- Add an option to the command
save-tensorto save the reconstruction outputs as nifti files. - Add command
clinicadl train from_jsonto train again the same experiment from a JSON file generated by ClinicaDL.
Fixed
- Allow the user to choose the optimizer and the metric independently of the performed task.
- Logger does not display output according to the
--verboseoption during the training tasks. This behavior is fixed. - Behavior of
resumewas changed. - Reader to request BIDS/CAPS datasets changed its interface in the recent version of Clinica (>=0.5.4). Code using these functions was adapted.
- Exceptions raised are now more specific and detailed.
- Documentation was updated.
- Python
Published by mdiazmel about 4 years ago
clinicadl - ClinicaDL 1.0.4
Changed
Core:
- Switch to Poetry to manage production and development requirements.
- Update requirements.
- Improve metrics for multi-class settings.
- Remove NaN values in input data.
- Allow to choose the name of the JSON file produced by
extract. - Improve logs.
Command line:
- Add
selection_metricsoption inclinicadl train(already available in TOML file). - Print help if no argument is given.
Fixed
- Fix label code generation
- Remove all occurences of a group in a MAPS when choosing the
overwritingoption. - Fix
resumewhen the training.tsv file is empty.
- Python
Published by mdiazmel about 4 years ago
clinicadl - ClinicaDL 1.0.3
ClinicaDL 1.0.3 (release bugfix)
Fixed
- Fix import module for VAE architectures.
- Python
Published by mdiazmel over 4 years ago
clinicadl - ClinicaDL 1.0.2
ClinicaDL 1.0.2
Changed
Core:
- Clinica version dependency.
- Update documentation, with proofreading.
- Change the test for
extract.
Fixed
- Use the GPU option on the command line interface.
- Fix the train task when invoking the CLI.
- Remplace the
predictarguments passed through the CLI. - Fix issue when using multiple cohorts.
- Python
Published by mdiazmel over 4 years ago
clinicadl - ClinicaDL 1.0.1
ClinicaDL 1.0.1
Changed
Functionalities:
extractimprove this functionality with more expressive and easy to understand flags.- Change the test for
extract.
Fixed
- Problem when looking for
generatemodule when installing the package with pip.
- Python
Published by mdiazmel over 4 years ago
clinicadl - ClinicaDL 1.0.0
ClinicaDL 1.0.0
Welcome to ClinicaDL 1.0.0 🎉!
This is a new version of ClinicaDL with some major changes in the source code. All the main pipelines have been refactored. ClinicaDL now used is now working with classes instead of function for easier maintenance and better scalability. We introduce in this version our new data structure called MAPS to unify ClinicaDL outputs.
This release also include a major command line refactoring with the introduction of Click library. Major changes in several pipelines interfaces have been implemented. For instance the preprocessing pipeline has been split. Train pipeline has also been refactored to reduce the number of options. The goal is to make ClinicaDL more easy to use, to maintain, and adapt the command line to the MAPS.
ClinicaDL aim for more reproducibility: some configuration files are saved in the MAPS to reproduce experiments in the same condition (with same environnement and same parameters). In addition we added some options to fix the random processes seed and use Pytorch latest enhancement for a deterministic behavior.
Other improvement and small fix have also been implemented.
⚠️ Be careful, this version breaks the backward compatibility with previous versions. ⚠️
Added
Pipelines:
- New
extractpipeline to convert nifti images in Pytorch tensors. This pipeline now saves a preprocessing json file with all the information needed for the train pipeline.
Core:
- New folder structure: MAPS (Model Analysis and Processing Structure) for ClinicaDL outputs.
- New class MapsManager for MAPS to ease the interface with the MAPS: launch various tasks such as training and prediction, save outputs, read files...
- Other new classes to make ClinicaDL code more scalable: SplitManager, TaskManager, Network...
- Now takes pet-linear images as possible data modality.
- Possibility to fix the seed for a deterministic behavior.
Other:
- New arguments for ROI in random search.
Changed
Pipelines:
trainpipeline has now a new command line. Please see the doc for more information.trainnow accept a TOML configuration file to simplify the command line.train resumeis now namedresume.random-search generateis now namedrandom-searchrandom-searchnow use TOML configuration file instead of JSON.generatepipeline to generate synthetic dataset (random, trivial and Shepp-Logan).quality-checkpipeline to perform quality check on Clinica t1-linear and t1-volume outputs.
Core:
- Major refactoring of the source code repository organization: now ClinicaDL core respects the command line hierarchy as is in Clinica repository.
- Command line: we now use Click instead of Argparse.
Other:
- Console logs enhancement.
- Replace tensorboardx dependency with torch.utils.tensorboard to remove tensorboardx from requirement.
- GitHub repository name is now ClinicaDL and not AD-DL anymore.
- We will now use GitHub discussion instead of Google Group.
Deprecated
Removed
Pipelines:
clinicadl preprocessingpipelines have been removed. They now have new names (see above).clinicadl preprocessing runhas now completely been removed. Please use Clinica for preprocessing.train_from_jsonpipeline has been replaced with TOML configuration file.clinicadl random-search analysispipeline has been removed.
Core:
- T1-extensive preprocessing is not supported by ClinicaDL anymore.
Fixed
- Fix multi-class classification.
- Fix classification when only one ROI is given.
- Fix tsvtools when diagnosis column value is not identical to tsv file name.
- Fix
clinicadl tsvtool splitwhenn_testis 1. - Fix ROI when user provides 3D tensor for ROI.
- Fix the use of GPU on a machine with more than on GPU (such a computer cluster). ClinicaDL will now select a free GPU that as permission.
- Fix an error where diagnosis column was automatically overwritten by the name of the file during split or kfold.
- Python
Published by mdiazmel over 4 years ago
clinicadl - ClinicaDL 0.2.2
ClinicaDL 0.2.2
Added
- New functionality
clinicadl random-search analysisto obtain the histogram of the balanced accuracy over a random search folder. - New functionality
clinicadl train from_jsonto train a model with parameters defined in a JSON file. - New functionality
clinicadl train resumeto resume a prematurely stopped training task. - Possibility to learn the grey matter intensities with the binary
classification during training, based on
t1-volumeoutputs. - Refactor code style using Black tool.
Changed
- Previous
clinicadl random-searchis nowclinicadl random-search generate - Cross-validation and computational arguments of
clinicadl random-search generateare now defined inrandom_search.json. - Remove tensorboardx dependency.
- Python
Published by mdiazmel over 4 years ago
clinicadl - ClinicaDL 0.2.1
ClinicaDL 0.2.1
Added
- the
multi_cohortflag in train allows to train on several CAPS at the same time.
Changed
clinicadl train roinow allows any ROI defined by a mask.- Update README.md to avoid duplicates.
- JSON files are added for
clinicadl classifyandclinicadl tsvtool getlabels|split|kfold
Removed
- Scripts and data related to MedIA publication.
- Python
Published by mdiazmel almost 5 years ago
clinicadl - ClinicaDL v0.2.0
ClinicaDL v0.2.0
Added
- New functionality
clinica interpretto generate saliency maps linked to pretrained models based on groups of individual images. - New functionality
clinicadl random-searchto sample random networks from a predefined hyperparameter space. - Slice subparsers for
autoencoder/cnn/multicnnto be homogeneous with other parsers. - roi parser has now
multicnnoption. - Add generic options to command line:
--verbose,--versionand--logname.
Changed
- Behaviour of
clinicadl quality-check t1-volume. - Simplify
clinicadl tsvtoolsbehaviour when using getlabels, split and analysis. - Update documentation.
Fixed
- Fix broken file when running preprocessing in t1-extensive.
- Python
Published by mdiazmel about 5 years ago
clinicadl - ClinicaDL v0.1.1
Changes
Core
- Add
t1-extensiveto the preprocessing tasks (skull-stripping of T1-weighted MR images in Ixi549Space space).
Hotfixes
- Error message when lacking information necessary to
tsvtools getlabels. - Fix some Quality Check bugs.
- Python
Published by mdiazmel over 5 years ago
clinicadl - ClinicaDL v0.1.0
Changes
Core
- New wrapper to Clinica's functions for image preprocessing and tensor extraction.
- Improve command line descriptions.
- Add and replace some options in the command line interface, mainly for the
classifytask. - Add additional information to the file describing the execution environment during a task.
- Add label warning when classifying with a single class.
- Add a verbose mode to understand the stages of a specific task.
CI and tests
- New tests for
tsvtool,trainandgenerate. - Data test available to test locally.
- Documentation was updated.
- Python
Published by mdiazmel over 5 years ago
clinicadl - ClinicaDL v0.0.3
Changes
Documentation is officially available !
- Python
Published by mdiazmel over 5 years ago
clinicadl - ClinicaDL v0.0.1
First release
This version of the code corresponds to the code used to get the results described in the scientific paper.
- Python
Published by mdiazmel over 5 years ago
clinicadl - ClinicaDL v0.0.2
Changes
CLI refactor
This release includes changes in the command line interface including: - Generation of synthetic data for functional tests. - Interface for preparing data for training. - Interface to create data (slices or patches) for training. - Command to classify an image or a group of images using previously trained models. - Reorganization of input parameter when training a new model.
- Python
Published by mdiazmel over 5 years ago
clinicadl - ClinicaDL v0.0.2b
Changes
Beta version. Preparation of release 0.0.2
- Python
Published by mdiazmel over 5 years ago