Skip to content

Add ADNI dataset and Alzheimer's Disease classification pipeline#921

Open
laubryan wants to merge 1 commit intosunlabuiuc:masterfrom
laubryan:add-adni
Open

Add ADNI dataset and Alzheimer's Disease classification pipeline#921
laubryan wants to merge 1 commit intosunlabuiuc:masterfrom
laubryan:add-adni

Conversation

@laubryan
Copy link
Copy Markdown

@laubryan laubryan commented Mar 31, 2026

Contributor

Contribution

This PR is a full pipeline implementation of the Alzheimer's Disease classification model described by Liu et al., consisting of dataset, task and model for ADNI MRI images dataset.

Paper

This work is an implementation of the methods and ideas presented in:

Description

This PR adds support for ADNI MRI brain scan images using a PyHealth-compatible dataset and processing via a compatible task and multi-class classification model, based on the paper "On the Design of Convolutional Neural Networks for Automatic Detection of Alzheimer's Disease" by Liu et al.

Changes

  • Implemented PyHealth-compatible ADNIDataset for ADNI MRI images, with YAML configuration file
  • Added NIfTIImageProcessor for NIftI MRI images
  • Added AlzheimersDiseaseClassification task
  • Implemented AlzheimersDiseaseCNN 3D CNN model for classification
  • Added unit tests
  • Added example scripts and notebook
  • Added new RST files for pipeline components
  • Updated related RST documentation indices

Files to Review

Category Files
Dataset pyhealth/datasets/adni.py
pyhealth/datasets/configs/adni.yaml
Processor pyhealth/processors/nifti_image_processor.py
Task pyhealth/tasks/ad_classification.py
Model pyhealth/models/alzheimers_cnn.py
Tests pyhealth/tests/core/test_adni.py
Examples pyhealth/examples/adni_adclassification_cnn.ipynb
pyhealth/examples/adni_ad_classification.py
pyhealth/examples/adni_ad_synthetic_data.py
Documentation pyhealth/docs/api/datasets.rst
pyhealth/docs/api/datasets/pyhealth.datasets.ADNIDataset.rst

pyhealth/docs/api/processors.rst
pyhealth/docs/api/processors/pyhealth.processors.NIftIImageProcessor.rst

pyhealth/docs/api/tasks.rst
pyhealth/docs/api/tasks/pyhealth.tasks.AlzheimersDiseaseClassification.rst

pyhealth/docs/api/models.rst
pyhealth/docs/api/models/pyhealth.models.AlzheimersDiseaseCNN.rst

Notes

@laubryan laubryan force-pushed the add-adni branch 4 times, most recently from 935d80b to c85f2fe Compare March 31, 2026 19:03
the ADNI dataset and 3D-CNN model.

- Dataset: ADNIDataset
- Processor: NIftIImageProcessor
- Task: AlzheimersDiseaseClassification
- Model: AlzheimersDiseaseCNN
- Tests:
    - TestADNIDataset
    - TestAlzheimersDiseaseClassification
    - TestAlzheimersDiseaseModel
- Examples:
    - Python scripts
    - Notebook
- RST Documentation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant