Code Monkey home page Code Monkey logo

deeptici's Introduction

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

deeptici's People

Contributors

moxnie avatar renewerner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

deeptici's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.