Skip to content

ShahinSHH/CT-CAPS

Repository files navigation

CT-CAPS

Feature Extraction-Based Automated Framework For COVID-19 Disease Identification From Chest CT Scans Using Capsule Networks.

CT-CAPS is a Capsule Network-based feature extractor developed to detect specific characteristics of CT slices, followed by a Max Pooling Layer to convert slice-level feature maps into patientlevel ones. Finally, a stack of fully connected layers are added to make the final decision. The CT-CAPS is trained on a dataset of CT slices labeled by three experienced radiologists to determine slices demonstrating infection and slices without an evidence of infection. CT-CAPS framework benefits from a fast and timely labeling process, which is highly valuable when we are facing an early emergence of a new type of data.

CT-CAPS utilizes segmented lung areas as the input of the model instead of the original CT scans. In order to extract lung areas from the original CT images, a recently developed U-Net based segmentation model is used to preprocess the data. Besides segmenting the lung regions, all images are normalized between 0 and 1, and resized from the original size of [512,512] to [256,256] as the preprocessing step. The detailed COVID-Facts's structure and methodology is explained in detail at https://arxiv.org/abs/2010.16043 .

UPDATE :

The CT-CAPS paper has been accepted at the ICASSP 2021 conference, and will be accessible through the IEEE Xplore Digital Library.

Note : Please don’t use CT-CAPS as the self-diagnostic model without performing a clinical study and consulting with a medical specialist.

Dataset

The publically available COVID-CT-MD dataset is used to train/test the model. This dataset contains volumetric chest CT scans of 171 patients positive for COVID-19 infection, 60 patients with CAP (Community Acquired Pneumonia), and 76 normal patients. Slice-Level labels (slices with the evidence of infection) are provided in this dataset.

For the detail description of the COVID-CT-MD dataset, please refer to the https://arxiv.org/abs/2009.14623.

Lung Segmentation

The lungmask module for the lung segmentation is adopted from here and can be installed using the following line of code:

pip install git+https://github.com/JoHof/lungmask

Make sure to have torch installed in your system. Otherwise you can't use the lungmask module. https://pytorch.org

A sample CT scan image with its corresponding segmented lung area using this algorithm is shown in the following image:

Requirements

  • Tested with (tensorflow-gpu 2 and keras-gpu 2.2.4) , and (tensorflow 1.14.0 and keras 2.2.4)
    -- Try tensorflow.keras instead of keras if it doesn't work in your system.
  • Python 3.6
  • PyTorch 1.4.0
  • Torch 1.5.1
  • PyDicom 1.4.2 (Installation)
  • SimpleITK (Installation)
  • lungmask (Installation)
  • OpenCV
  • OS
  • Numpy
  • Matplotlib

Citation

If you found the provided code and the related paper useful in your research, please consider citing:

@article{Heidarian2020,
archivePrefix = {arXiv},
arxivId = {2010.16043},
author = {Heidarian, Shahin and Afshar, Parnian and Mohammadi, Arash and Rafiee, Moezedin Javad and Oikonomou, Anastasia and Plataniotis, Konstantinos N. and Naderkhani, Farnoosh},
eprint = {2010.16043},
month = {oct},
title = {{CT-CAPS: Feature Extraction-based Automated Framework for COVID-19 Disease Identification from Chest CT Scans using Capsule Networks}},
url = {http://arxiv.org/abs/2010.16043},
year = {2020}
}

About

Feature Extraction-Based Automated Framework For COVID-19 Disease Identification From Chest CT Scans Using Capsule Networks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages