Skip to content

Deep learning-based automated TICI (Thrombolysis In Cerebral Infarction) scoring for DSA-based assessment of mechanical thrombolysis response.

License

Notifications You must be signed in to change notification settings

IPMI-ICNS-UKE/DeepTICI

Repository files navigation

DeepTICI

This repository contains the official code and model weights for the following STROKE publication (cf. About section for details):

@article{DeepTICI,
  title={Deep Learning–Based Automated Thrombolysis in Cerebral Infarction Scoring: A Timely Proof-of-Principle Study},
  author={Nielsen, Maximilian and Waldmann, Moritz and Fr{\"o}lich, Andreas and Flottmann, Fabian and Hristova, Evelin and Bendszus, Martin and Seker, Fatih and Fiehler, Jens and Sentker, Thilo and Werner, Ren{\'e}},
  journal={Stroke},
  volume={52},
  number={11},
  pages={3497--3504},
  year={2021},
  publisher={Am Heart Assoc},
  doi={10.1161/STROKEAHA.120.033807}
}

Requirements

The code has been tested with Python 3.8 on Ubuntu 20.04 LTS. The following Python packages are required (lower versions may also be sufficient):

  • efficientnet_pytorch >= 0.6
  • torch >= 1.6
  • scikit-image >= 0.17.2
  • PyYAML >= 5.4.1
  • opencv-python >= 4.5.2
  • SimpleITK >= 2.0.2

Installation

It is recommended to install the package in a separate virtual environment created with , e.g., virtualenv or (mini)conda.

git clone https://github.com/IPMI-ICNS-UKE/DeepTICI
cd DeepTICI
pip install .

Usage

Example usage for predicting a TICI score for a given two-views (i.e. lateral and frontal) DSA series (original M1 occlusion). Model weights from all experiments performed in our recent publication are included and can be seperately used for automatic TICI scoring (selectable via predict_experiment_I/predict_experiment_III/predict_ensemble methods in configuration.yml).

from DeepTICI import predict


dcm_paths = ['/some/path/to/view/1', '/some/path/to/view/2']
tici_score = predict.predict_series(dcm_paths)
print(tici_score)

Fine tuning on personal data is supported:

from DeepTICI import model
from DeepTICI.helper import ModelMode, OutputMode

# model init
model = model.TICIModelHandler(num_classes=5, feature_size= 1280, in_channels=3)

# forward pass
for data in data_loader:
    # DCM-series with shape: batch x time x 2 (views) x height x width
    img = data[0]
    series_lenghts = data[1]
    output = model(x=img, series_lenghts=series_lenghts, model_mode=ModelMode.train, output_mode=OutputMode.last_frame)
    # loss, backward-pass,  etc.

About

Implementation of the first fully automatic TICI-scoring system. The system is based on a combination of encoder, GRU and classifier. Details of our proposed method can be found in the following MICCAI contribution:
Time Matters: Handling Spatio-Temporal Perfusion Information for Automated TICI Scoring alt text

A detailed performance analysis is available in Stroke:
Deep Learning–Based Automated Thrombolysis in Cerebral Infarction Scoring: A Timely Proof-of-Principle Study alt text

Citations

If code and model are used for publications, please cite the following papers:

@article{DeepTICI,
  title={Deep Learning–Based Automated Thrombolysis in Cerebral Infarction Scoring: A Timely Proof-of-Principle Study},
  author={Nielsen, Maximilian and Waldmann, Moritz and Fr{\"o}lich, Andreas and Flottmann, Fabian and Hristova, Evelin and Bendszus, Martin and Seker, Fatih and Fiehler, Jens and Sentker, Thilo and Werner, Ren{\'e}},
  journal={Stroke},
  volume={52},
  number={11},
  pages={3497--3504},
  year={2021},
  publisher={Am Heart Assoc},
  doi={10.1161/STROKEAHA.120.033807}
}
@inproceedings{TimeMatters,
  title={Time Matters: Handling Spatio-Temporal Perfusion Information for Automated TICI Scoring},
  author={Nielsen, Maximilian and Waldmann, Moritz and Sentker, Thilo and Fr{\"o}lich, Andreas and Fiehler, Jens and Werner, Ren{\'e}},
  booktitle={International Conference on Medical Image Computing and Computer-Assisted Intervention},
  pages={86--96},
  year={2020},
  organization={Springer}
}

License

See the LICENSE.txt file for license rights and limitations (CC BY-NC 4.0).

Funding

alt text

About

Deep learning-based automated TICI (Thrombolysis In Cerebral Infarction) scoring for DSA-based assessment of mechanical thrombolysis response.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages