Coder Social home page Coder Social logo

imlab-uiip / lung-segmentation-2d Goto Github PK

View Code? Open in Web Editor NEW
172.0 13.0 72.0 55.75 MB

Lung fields segmentation on CXR images using convolutional neural networks.

License: MIT License

Python 100.00%
segmentation lung-segmentation deep-learning convolutional-neural-networks keras unet

lung-segmentation-2d's Introduction

Lung Segmentation (2D)

Repository features UNet inspired architecture used for segmenting lungs on chest X-Ray images.

Demo

See the application of the model in Demo folder.

Implementation

Implemented in Keras(2.0.4) with TensorFlow(1.1.0) as backend.

Use of data augmentation for training required slight changes to keras ImageDataGenerator. Generator in image_gen.py applies same transformation to both the image and the label mask.

To use this implementation one needs to load and preprocess data (see load_data.py), train new model if needed (train_model.py) and use the model for generating lung masks (inference.py).

trained_model.hdf5 contains model trained on both data sets mentioned below.

Segmentation

Scores achieved on Montgomery and JSRT(With these masks. See preprocess_JSRT.py.) (Measured using 5-fold cross-validation):

JSRT Montgomery
IoU 0.971 0.956
Dice 0.985 0.972

lung-segmentation-2d's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lung-segmentation-2d's Issues

`preprocess_JSRT.py` cannot `reshape`

I'm guessing output of preprocess_JSRT.py must be used as input images for train_model.py. Is this correct? If yes, then on line 8, reshaping the ndarray to (2048, 2048) gives ValueError: cannot reshape array of size ${size_of_ndarray} into shape (2048,2048) on all original images from JSRT.
Furthermore, I don't really follow why img = 1.0 - np.fromfile(path + filename, dtype='>u2') * 1. / 4096 (changing the values like that, regardless of the reshaping) is happening as preprocessing. Could you please give a quick explanation?

Dataset

please tell me where I can get the lung-dataset,thank you !

Value error while running model.fit

Did you run into any such errors?

ValueError: A target array with shape (8, 512, 512, 3) was passed for an output of shape (None, 512, 512, 1) while using as loss binary_crossentropy. This loss expects targets to have the same shape as the output.

License

Hey there, thanks for the great repo.

What is the license for code reuse?

Cheers

Training on different structures

Thank you for sharing this. Is there anyway to go about if you want to train the model to recognize several structures (e.g. lungs and heart)?

what is in th 'idx.cvs' and 'left lung'?

I don't Know what kind of data for this code.
csv_path = '/path/to/JSRT/idx.csv'
what kind of data in idx.cvs?
Does 'filenames' include suffix?
and what's in 'left lung' ?
left = io.imread('/path/to/JSRT/Masks/left lung/' + filename[:-4] + '.gif')
right = io.imread('/path/to/JSRT/Masks/right lung/' + filename[:-4] + '.gif')

idx.csv

Where can i get idx.csv for the JSRT's database?
I only downloaded "All247images.zip" and the SCR's data。

Implementing the model on Montgomery Dataset

Thank you for sharing the code for lung segmentation here. I am trying to implement the code for Montgomery Dataset. Do I simply change JSRT with Montgomery in order to do that? Also, there is no csv file for this dataset, do I have to create it manually?

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.