Giter Site home page Giter Site logo

bone-suppresion-ensemble's Introduction

Bone-Suppresion-Ensemble

Kindly cite this study if you find these codes useful for your research:

Rajaraman S, Cohen G, Spear L, Folio L, Antani S (2022) DeBoNet: A deep bone suppression model ensemble to improve disease detection in chest radiographs. PLoS ONE 17(3): e0265691. https://doi.org/10.1371/journal.pone.0265691

Chest X-ray (CXR) is a widely performed radiology examination that helps to detect abnormalities in the tissues and organs in the thoracic cavity. Detecting pulmonary abnormalities like COVID-19 may become difficult due to that they are obscured by the presence of bony structures like the ribs and the clavicles, thereby resulting in screening/diagnostic misinterpretations. Automated bone suppression methods would help suppress these bony structures and increase soft tissue visibility. In this study, we propose to build an ensemble of convolutional neural network models to suppress bones in frontal CXRs, improve classification performance, and reduce interpretation errors related to COVID-19 detection. We train and evaluate variants of U-Nets, feature pyramid networks, and other proposed custom models using a private collection of CXR images and their bone-suppressed counterparts. The ensemble is constructed by (i) measuring the multi-scale structural similarity index (MS-SSIM) score between the sub-blocks of the bone-suppressed image predicted by each of the top-3 performing bone-suppression models and the corresponding sub-blocks of its respective ground truth soft-tissue image, and (ii) performing a majority voting of the MS-SSIM score computed in each sub-block to identify the sub-block with the maximum MS-SSIM score and use it in constructing the final bone-suppressed image. We empirically determine the sub-block size that delivers superior bone suppression performance. It is observed that the bone suppression model ensemble outperformed the individual models in terms of PSNR , MS-SSIM , and other metrics. The best-performing bone-suppression model is used to suppress the bones in publicly available CXR collections. A CXR modality-specific classification model is retrained and evaluated on the non-bone-suppressed and bone-suppressed images to classify them as showing normal lungs or other COVID-19-like manifestations. We observed that the bone-suppressed model training significantly outperformed (p < 0.05) the model trained on non-bone-suppressed images toward detecting COVID-19 manifestations, signifying that bone suppression improved the model sensitivity toward COVID-19 classification.

alt text

Prerequisites:

Keras >= 2.4.0

Tensorflow-GPU >= 1.9.0

OpenCV >= 3.3

Matlab >= R2021b

The following bone suppression models are proposed in this study. For details regarding the model arcitecture and hyperparameters, plese refer to our ArXiv study available at:

Autoencoder model with separable convolutions

alt text

Residual block-based model with residual scaling

alt text

U-Net and FPN-based models

alt text

Block diagram of the proposed bone suppression ensemble approach

alt text

Sample bone suppression images predicted by the proposed models

alt text

CRM-based visualization

alt text

The repository contains the Python code to reproduce the results proposed in this study.

bone-suppresion-ensemble's People

Contributors

sivaramakrishnan-rajaraman avatar

Stargazers

 avatar  avatar

Watchers

 avatar

bone-suppresion-ensemble's Issues

enhancement - add conda environment

Adding a conda environment (environment.yml) facilitates code re-use.

The version constraints given in the README.md e.g for keras and tensorflow-gpu (although specified as >=) proved difficult to resolve in terms of inter-dependencies over all the packages needed (which is where conda has a strength over e.g. Python virtualenv environments). The version constraints therefore need to be relaxed a little but keep the core version constraint of keras >= 2.4.0. Since v2 of tensorflow, keras and tensorflow come packaged together anyway, so specifiying the keras version also sets the tensorflow version and compatibility is guaranteed.

bug - unicode escape error

Just running the Python script from the cmdline blindly gives the following error:

python bone_suppression_ensemble.py 
  File "[...]/Bone-Suppresion-Ensemble/bone_suppression_ensemble.py", line 594
    """
       ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 132-133: truncated \UXXXXXXXX escape

This is almost certainly due to the Windows path given on line 573:

path = ['C:\Users\<your folder>'];  

Although I appreciate this occurs within a Matlab script rather than pure Python.

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.