GithubHelp home page GithubHelp logo

jimgoo / cvd-risk-estimator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dial-rpi/cvd-risk-estimator

0.0 0.0 0.0 8.38 MB

A deep learning model (Tri2D-Net) for predicting cardiovascular disease risks from lung cancer screening LDCT

License: MIT License

Python 5.75% Jupyter Notebook 94.25%

cvd-risk-estimator's Introduction

Tri2D-Net for CVD Risk Estimation

DOI

Tri2D-Net is the first deep learning network trained for directly estimating overall cardiovascular disease (CVD) risks on low dose computed tomography (LDCT). The corresponding paper has been published on Nature Communications.

Prerequisites

  • Python 3.7
  • PyTorch 1.4
  • Computing device with GPU

Getting started

Installation

Noted that our code is tested based on PyTorch 1.4

Data

Availability

This model was trained on the National Lung Screening Trial (NLST) dataset. The NLST is made publicly available by the National Cancer Institute. The detailed data information and the split of the NLST dataset used in the paper is contained in NLST_data_split.csv.

Preprocess

  • Heart Detection: RetinaNet was used in our study for heart detection.
  • Resize & Normalization: The detected heart region was resized into 128x128x128. The image was normalized with a range of -300HU~500HU.

Get Trained Model

BEFORE RUNNING THE CODE, PLEASE DOWNLOAD THE NETWORK CHECKPOINT FIRST.

The trained model can be downloaded through this link. Please download the checkpoint to the ./checkpoint folder.

CVD Risk Prediction

To predict CVD Risk from an image, run:

python pred.py
  • --path path of the input image. #Default: ./demos/Positive_CAC_1.npy
  • --iter iteration of the checkpoint to load. #Default: 8000

Input

The model takes a normalized 128x128x128 numpy.ndarray as an input, i.e., each item in the ndarray ranges 0~1.

Output

A real number in [0, 1] indicates the estimated CVD risk.

Demo

We uploaded 4 demos in the ./demo folder, including one CVD negative case and three CVD positive case. One of the CVD positive subjects died because of CVD in the trial.

The name of the file indicates its label and the CAC grade evaluated by our radiologists.

Citation

Please cite these papers in your publications if the code helps your research:

@Article{chao2021deep,
  author  = {Chao, Hanqing and Shan, Hongming and Homayounieh, Fatemeh and Singh, Ramandeep and Khera, Ruhani Doda and Guo, Hengtao and Su, Timothy and Wang, Ge and Kalra, Mannudeep K. and Yan, Pingkun},
  title   = {Deep learning predicts cardiovascular disease risks from lung cancer screening low dose computed tomography},
  journal = {Nature Communications},
  year    = {2021},
  volume  = {12},
  number  = {1},
  pages   = {2963},
  url     = {https://doi.org/10.1038/s41467-021-23235-4},
}

Link to paper:

License

The source code of Tri2D-Net is licensed under a MIT-style license, as found in the LICENSE file. This code is only freely available for non-commercial use, and may be redistributed under these conditions. For commercial queries, please contact Dr. Pingkun Yan.

cvd-risk-estimator's People

Contributors

abnerhqc avatar yanrpi avatar dial-rpi avatar

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.