Coder Social home page Coder Social logo

comp2comp's Introduction

Comp2Comp

License: GPL v3 GitHub Workflow Status

Paper | Installation | Basic Usage | Inference Pipelines

Comp2Comp is a library for extracting clinical insights from computed tomography scans.

Installation

# Install from local clone:
git clone https://github.com/StanfordMIMI/Comp2Comp/

# Install script requires Anaconda/Miniconda.
cd Comp2Comp && bin/install.sh

For installing on the Apple M1 chip, see these instructions.

Basic Usage

bin/C2C <pipeline_name> --input_path <path/to/input/folder>

For running on slurm, modify the above commands as follow:

bin/C2C-slurm <pipeline_name> --input_path <path/to/input/folder>

Inference Pipelines

We have designed Comp2Comp to be highly extensible and to enable the development of complex clinically-relevant applications. We observed that many clinical applications require chaining several machine learning or other computational modules together to generate complex insights. The inference pipeline system is designed to make this easy. Furthermore, we seek to make the code readable and modular, so that the community can easily contribute to the project.

The InferencePipeline class is used to create inference pipelines, which are made up of a sequence of InferenceClass objects. When the InferencePipeline object is called, it sequentially calls the InferenceClasses that were provided to the constructor.

The first argument of the __call__ function of InferenceClass must be the InferencePipeline object. This allows each InferenceClass object to access or set attributes of the InferencePipeline object that can be accessed by the subsequent InferenceClass objects in the pipeline. Each InferenceClass object should return a dictionary where the keys of the dictionary should match the keyword arguments of the subsequent InferenceClass's __call__ function. If an InferenceClass object only sets attributes of the InferencePipeline object but does not return any value, an empty dictionary can be returned.

Below are the inference pipelines currently supported by Comp2Comp.

Spine Bone Mineral Density from 3D Trabecular Bone Regions at T12-L5

Usage

bin/C2C spine --input_path <path/to/input/folder>
  • input_path should contain a DICOM series or subfolders that contain DICOM series.

Example Output Image

Alt text

Slice-by-Slice 2D Analysis of Muscle and Adipose Tissue

Usage

bin/C2C muscle_adipose_tissue --input_path <path/to/input/folder>
  • DICOM files within the input_path folder and subfolders of input_path will be processed.

Example Output Image

Alt text

End-to-End Spine, Muscle, and Adipose Tissue Analysis at T12-L5

Usage

bin/C2C spine_muscle_adipose_tissue --input_path <path/to/input/folder>
  • input_path should contain a DICOM series or subfolders that contain DICOM series.

Example Output Image

Alt text

Contrast Phase Detection

Usage

bin/C2C contrast_phase --input_path <path/to/input/folder>
  • input_path should contain a DICOM series or subfolders that contain DICOM series.

3D Analysis of Liver, Spleen, and Pancreas

Usage

bin/C2C liver_spleen_pancreas --input_path <path/to/input/folder>
  • input_path should contain a DICOM series or subfolders that contain DICOM series.

Example Output Image

Alt text

In Progess

  • Abdominal Aortic Aneurysm Detection
  • Hip Analysis

Citation

@article{blankemeier2023comp2comp,
  title={Comp2Comp: Open-Source Body Composition Assessment on Computed Tomography},
  author={Blankemeier, Louis and Desai, Arjun and Chaves, Juan Manuel Zambrano and Wentland, Andrew and Yao, Sally and Reis, Eduardo and Jensen, Malte and Bahl, Bhanushree and Arora, Khushboo and Patel, Bhavik N and others},
  journal={arXiv preprint arXiv:2302.06568},
  year={2023}
}

In addition to Comp2Comp, please consider citing TotalSegmentator:

@article{wasserthal2022totalsegmentator,
  title={TotalSegmentator: robust segmentation of 104 anatomical structures in CT images},
  author={Wasserthal, Jakob and Meyer, Manfred and Breit, Hanns-Christian and Cyriac, Joshy and Yang, Shan and Segeroth, Martin},
  journal={arXiv preprint arXiv:2208.05868},
  year={2022}
}

comp2comp's People

Contributors

ad12 avatar asch99 avatar edreismd avatar fohofmann avatar louisblankemeier avatar malteekj 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.