Skip to main content

Automatic multiple sclerosis lesion segmentation in MRI using YOLO11-seg

Project description

Python License

🧠💻 YOLO-MSLesSeg: Automatic Multiple Sclerosis Lesion Segmentation with YOLO11-seg

yolo_mslesseg is a Python package that provides a complete pipeline for the automatic segmentation and evaluation of multiple sclerosis lesions in MRI images, using YOLO11-seg models. The system is based on the MSLesSeg Competition (ICPR 2024) dataset, an international benchmark for the validation of automatic methods for multiple sclerosis lesion segmentation.

The package introduces an approach that combines deep learning models with different image enhancement techniques as a preprocessing stage, with the goal of quantifying lesions consistently and reducing the variability associated with manual segmentation.

Table of Contents


Visual Examples

Below are representative examples of the outputs generated by the pipeline. These visualisations allow a direct appreciation of the type of segmentations produced by the model and their anatomical consistency across the different viewing planes. A GIF is also included that traverses all slices of a patient, showing the consistency of predictions across the entire volume.

Segmentation across the three anatomical planes

The following example corresponds to a reference patient (P1) and shows the overlay of the automatic segmentation on the FLAIR image in the axial, coronal, and sagittal planes.

Complete patient sequence

The following animation shows the segmentation generated for another reference patient (P42) across all slices of the volume in the axial plane.


Pipeline Overview

The complete process consists of eight sequential stages, automated via the run_pipeline.py script:

  1. Download and preparation of the official MSLesSeg dataset.
  2. Preprocessing and slice extraction in a format compatible with the YOLO model.
  3. Training of the YOLO11-seg model (optional).
  4. Generation of two-dimensional predictions.
  5. Reconstruction of three-dimensional volumes from predicted slices.
  6. Combination of volumes predicted across different planes (consensus).
  7. Quantitative evaluation using performance metrics.
  8. Computation of global experiment results.

Each module can be executed independently or through the global pipeline, ensuring flexibility for debugging or experimentation.


Installation

Dependencies

  • Python 3.10+
  • numpy, opencv-python, nibabel, matplotlib, ultralytics, requests, tqdm, pyyaml, scipy, scikit-learn, pandas, polars, psutil

Note: PyTorch is required but must be installed separately to allow GPU/CPU variant selection. Follow the official instructions.

User installation

pip install yolo-mslesseg

Repository Structure

The repository is organised as follows:

📦 yolo_mslesseg/
│
├── run_pipeline.py          # Entry point for the full pipeline
├── 📁 configs/              # Per-stage configuration classes
├── 📁 scripts/              # Pipeline stage scripts
├── 📁 utils/                # Utilities and enhancement algorithms
└── 📁 extras/               # Additional utility scripts

Running the Pipeline

Once installed, run the full pipeline with:

yolo_mslesseg --plane axial --modality FLAIR --num_slices P50 --enhancement CLAHE --k_folds 5 --epochs 50 --full

Note: Both yolo_mslesseg and yolo-mslesseg are valid commands.

Note: yolo-mslesseg is a CLI-first package. The recommended way to run experiments is through the command line as shown above. Programmatic use via import is supported for advanced users building custom workflows.

For the full list of arguments and stage-by-stage execution, see the GitHub repository.


References

  • Ultralytics (2025). YOLO11 documentation.
  • Guarnera, F., Rondinella, A., Crispino, E., et al. (2025). MSLesSeg: Baseline and benchmarking of a new Multiple Sclerosis lesion segmentation dataset. Scientific Data, 12, 920. https://doi.org/10.1038/s41597-025-05250-y.

License

This project is licensed under the MIT License.


Citation

If you use this work in your research, please cite:

@inproceedings{rozenblum2026yolomslesseg,
    author    = {Jiménez-Partinen, Ariadna and Rozenblum, Sebastián and
                 Pascual-González, Mario and Ordóñez-Walkowiak, María Paulina and
                 Guirado-Osorio, Víctor and Molina-Cabello, Miguel A.},
    title     = {{YOLO-MSLesSeg}: Automated Multiple Sclerosis Lesion Segmentation
                 in {MRI} with Image Enhancement Techniques},
    booktitle = {Soft Computing Models in Industrial and Environmental Applications},
    series    = {Communications in Computer and Information Science},
    volume    = {3046},
    pages     = {574--585},
    publisher = {Springer, Cham},
    year      = {2026},
    doi       = {10.1007/978-3-032-29254-4_46}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yolo_mslesseg-0.2.2.tar.gz (86.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yolo_mslesseg-0.2.2-py3-none-any.whl (118.3 kB view details)

Uploaded Python 3

File details

Details for the file yolo_mslesseg-0.2.2.tar.gz.

File metadata

  • Download URL: yolo_mslesseg-0.2.2.tar.gz
  • Upload date:
  • Size: 86.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for yolo_mslesseg-0.2.2.tar.gz
Algorithm Hash digest
SHA256 111c11dfd44c920774731a20301671cab25dbfd086efe4caf136e684441db727
MD5 211ccf5c3dacf0843303717c3f1e0d00
BLAKE2b-256 e0263b275358731f8435b12f09f2d56f3401d8e76803f97c2801971c3a89cf8c

See more details on using hashes here.

File details

Details for the file yolo_mslesseg-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: yolo_mslesseg-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 118.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for yolo_mslesseg-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3be3fd39960899d8bf850fb572a3e600dd9c4454cce7193642cddcac11c891e4
MD5 8f992ca0f0bf1d3f596462ce8dafae58
BLAKE2b-256 61c55475a60524f0f247dc3cc61b3fbc44ba3c86199a86dfd7b99bf54394f72a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page