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

Overview

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

You might also like...
This is the official Pytorch implementation of
This is the official Pytorch implementation of "Lung Segmentation from Chest X-rays using Variational Data Imputation", Raghavendra Selvan et al. 2020

README This is the official Pytorch implementation of "Lung Segmentation from Chest X-rays using Variational Data Imputation", Raghavendra Selvan et a

LF-YOLO (Lighter and Faster YOLO) is used to detect defect of X-ray weld image.
LF-YOLO (Lighter and Faster YOLO) is used to detect defect of X-ray weld image.

This project is based on ultralytics/yolov3. LF-YOLO (Lighter and Faster YOLO) is used to detect defect of X-ray weld image. Download $ git clone http

code for paper
code for paper "Does Unsupervised Architecture Representation Learning Help Neural Architecture Search?"

Does Unsupervised Architecture Representation Learning Help Neural Architecture Search? Code for paper: Does Unsupervised Architecture Representation

Script that receives an Image (original) and a set of images to be used as
Script that receives an Image (original) and a set of images to be used as "pixels" in reconstruction of the Original image using the set of images as "pixels"

picinpics Script that receives an Image (original) and a set of images to be used as "pixels" in reconstruction of the Original image using the set of

improvement of CLIP features over the traditional resnet features on the visual question answering, image captioning, navigation and visual entailment tasks.

CLIP-ViL In our paper "How Much Can CLIP Benefit Vision-and-Language Tasks?", we show the improvement of CLIP features over the traditional resnet fea

Static Features Classifier - A static features classifier for Point-Could clusters using an Attention-RNN model

Static Features Classifier This is a static features classifier for Point-Could

The open source code of SA-UNet: Spatial Attention U-Net for Retinal Vessel Segmentation.
The open source code of SA-UNet: Spatial Attention U-Net for Retinal Vessel Segmentation.

SA-UNet: Spatial Attention U-Net for Retinal Vessel Segmentation(ICPR 2020) Overview This code is for the paper: Spatial Attention U-Net for Retinal V

Implementation of Uformer, Attention-based Unet, in Pytorch
Implementation of Uformer, Attention-based Unet, in Pytorch

Uformer - Pytorch Implementation of Uformer, Attention-based Unet, in Pytorch. It will only offer the concat-cross-skip connection. This repository wi

Implementation detail for paper
Implementation detail for paper "Multi-level colonoscopy malignant tissue detection with adversarial CAC-UNet"

Multi-level-colonoscopy-malignant-tissue-detection-with-adversarial-CAC-UNet Implementation detail for our paper "Multi-level colonoscopy malignant ti

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

    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')

    opened by sybilWsybil 5
  • `preprocess_JSRT.py` cannot `reshape`

    `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?

    opened by sarahESL 4
  • Implementing the model on Montgomery Dataset

    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?

    opened by shashankshekhardehradun 4
  • Value error while running model.fit

    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.

    opened by as4401s 0
Owner
null
Cancer-and-Tumor-Detection-Using-Inception-model - In this repo i am gonna show you how i did cancer/tumor detection in lungs using deep neural networks, specifically here the Inception model by google.

Cancer-and-Tumor-Detection-Using-Inception-model In this repo i am gonna show you how i did cancer/tumor detection in lungs using deep neural networks

Deepak Nandwani 1 Jan 1, 2022
The codes for the work "Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation"

Swin-Unet The codes for the work "Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation"(https://arxiv.org/abs/2105.05537). A validatio

null 869 Jan 7, 2023
Pytorch-Swin-Unet-V2 - a modified version of Swin Unet based on Swin Transfomer V2

Swin Unet V2 Swin Unet V2 is a modified version of Swin Unet arxiv based on Swin

Chenxu Peng 26 Dec 3, 2022
Computational modelling of ray propagation through optical elements using the principles of geometric optics (Ray Tracer)

Computational modelling of ray propagation through optical elements using the principles of geometric optics (Ray Tracer) Introduction By applying the

Son Gyo Jung 1 Jul 9, 2022
"SOLQ: Segmenting Objects by Learning Queries", SOLQ is an end-to-end instance segmentation framework with Transformer.

SOLQ: Segmenting Objects by Learning Queries This repository is an official implementation of the paper SOLQ: Segmenting Objects by Learning Queries.

MEGVII Research 179 Jan 2, 2023
SOTR: Segmenting Objects with Transformers [ICCV 2021]

SOTR: Segmenting Objects with Transformers [ICCV 2021] By Ruohao Guo, Dantong Niu, Liao Qu, Zhenbo Li Introduction This is the official implementation

null 186 Dec 20, 2022
some classic model used to segment the medical images like CT、X-ray and so on

github_project This is a project for medical image segmentation. This project includes common medical image segmentation models such as U-net, FCN, De

null 2 Mar 30, 2022
Implementation of UNET architecture for Image Segmentation.

Semantic Segmentation using UNET This is the implementation of UNET on Carvana Image Masking Kaggle Challenge About the Dataset This dataset contains

Anushka agarwal 4 Dec 21, 2021
An image base contains 490 images for learning (400 cars and 90 boats), and another 21 images for testingAn image base contains 490 images for learning (400 cars and 90 boats), and another 21 images for testing

SVM Données Une base d’images contient 490 images pour l’apprentissage (400 voitures et 90 bateaux), et encore 21 images pour fait des tests. Prétrait

Achraf Rahouti 3 Nov 30, 2021
[ICLR 2021] "Neural Architecture Search on ImageNet in Four GPU Hours: A Theoretically Inspired Perspective" by Wuyang Chen, Xinyu Gong, Zhangyang Wang

Neural Architecture Search on ImageNet in Four GPU Hours: A Theoretically Inspired Perspective [PDF] Wuyang Chen, Xinyu Gong, Zhangyang Wang In ICLR 2

VITA 156 Nov 28, 2022