All Projects → getsanjeev → Retina Features

getsanjeev / Retina Features

Licence: bsd-3-clause
Project for segmentation of blood vessels, microaneurysm and hardexudates in fundus images.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Retina Features

retinal-exudates-detection
exudates detection using hybrid approach (Image Morphology & Machine Learning)
Stars: ✭ 53 (-44.21%)
Mutual labels:  clustering, segmentation, morphological-analysis
Litiv
C++ implementation pool for computer vision R&D projects.
Stars: ✭ 82 (-13.68%)
Mutual labels:  opencv, segmentation, image-processing
Caer
High-performance Vision library in Python. Scale your research, not boilerplate.
Stars: ✭ 452 (+375.79%)
Mutual labels:  opencv, segmentation, image-processing
Grabcutweb
Full web grabcut example using opencvjs
Stars: ✭ 40 (-57.89%)
Mutual labels:  opencv, image-processing
Albumentations
Fast image augmentation library and an easy-to-use wrapper around other libraries. Documentation: https://albumentations.ai/docs/ Paper about the library: https://www.mdpi.com/2078-2489/11/2/125
Stars: ✭ 9,353 (+9745.26%)
Mutual labels:  segmentation, image-processing
Opencv Tutorials
Tutorials for learning OpenCV in Python from Scratch
Stars: ✭ 36 (-62.11%)
Mutual labels:  opencv, image-processing
Pytorch Toolbelt
PyTorch extensions for fast R&D prototyping and Kaggle farming
Stars: ✭ 942 (+891.58%)
Mutual labels:  segmentation, image-processing
Opencv Face Filters
Snapchat-like Face Filters in OpenCV
Stars: ✭ 51 (-46.32%)
Mutual labels:  opencv, image-processing
Seeds Revised
Implementation of the superpixel algorithm called SEEDS [1].
Stars: ✭ 48 (-49.47%)
Mutual labels:  opencv, image-processing
Catt
Detecting the temperature from an infrared image
Stars: ✭ 60 (-36.84%)
Mutual labels:  opencv, image-processing
Multiclass Semantic Segmentation Camvid
Tensorflow 2 implementation of complete pipeline for multiclass image semantic segmentation using UNet, SegNet and FCN32 architectures on Cambridge-driving Labeled Video Database (CamVid) dataset.
Stars: ✭ 67 (-29.47%)
Mutual labels:  segmentation, image-processing
Segment Open
Segment Source Distribution
Stars: ✭ 34 (-64.21%)
Mutual labels:  segmentation, image-processing
Graph Based Image Segmentation
Implementation of efficient graph-based image segmentation as proposed by Felzenswalb and Huttenlocher [1] that can be used to generate oversegmentations.
Stars: ✭ 31 (-67.37%)
Mutual labels:  opencv, image-processing
Extensionsindex
Slicer extensions index
Stars: ✭ 36 (-62.11%)
Mutual labels:  segmentation, image-processing
Tensorflow object counting api
🚀 The TensorFlow Object Counting API is an open source framework built on top of TensorFlow and Keras that makes it easy to develop object counting systems!
Stars: ✭ 956 (+906.32%)
Mutual labels:  opencv, image-processing
Facer
Simple (🤞) face averaging (🙂) in Python (🐍)
Stars: ✭ 49 (-48.42%)
Mutual labels:  opencv, image-processing
Go Cv
Computer Vision package in pure Go taking advantage of SIMD acceleration
Stars: ✭ 66 (-30.53%)
Mutual labels:  opencv, image-processing
Pyscenedetect
🎥 Python and OpenCV-based scene cut/transition detection program & library.
Stars: ✭ 1,203 (+1166.32%)
Mutual labels:  opencv, image-processing
Prlib
Pre-Recognition Library - library with algorithms for improving OCR quality.
Stars: ✭ 18 (-81.05%)
Mutual labels:  opencv, image-processing
Segmentation
Catalyst.Segmentation
Stars: ✭ 27 (-71.58%)
Mutual labels:  segmentation, image-processing

Blood Vessel Segmentation and Microaneurysm Detection for Diabetic Retinopathy

In this project, we extract features namely blood vessels microaneurysms and exudates for the purpose of analysing fundus images to detect signs of retinal tissue damage.

For exudates segmentation, Please visit Retinal Exudates Detection.

Table of Contents

Getting Started

These instructions will get you a copy of the project up and running on your local machine for you to test the algorithms on your own fundus images. The MESSIDOR database has been used for demonstration here for which we are grateful.

Preprocessing


The main idea is to use ImageMagick's convert tool to trim off the blank space to the sides of the images, then pad them so that they are all 256x256. Thus the eye is always centered with edges against the edges of the image.

And also to create multiple versions of each image varying by hue and contrast and white balance.

Prerequisites

You must have ImageMagick's convert tool and GNU Parallel installed in order to run this.

$ sudo apt install imagemagick
$ sudo apt install parallel

These are available in all the major linux repositories.

Usage

Run prep_image.sh on each image to prepare the image variations and resized images.

  • [x] NOTE: Make sure "Allow executing file as a program" is checked in the prep_image.sh Properties.

Assuming that your train and test images are in folders train/ and test/ respectively and the file prep_image.sh lies in your project's root directory, run the following command:

$ ls train/*.jpeg test/*.jpeg | parallel ./prep_image.sh

This will preprocess all the images into processed/<variation>/train/ and processed/<variation>/test/.



Bloodvessel Segmentation


Prerequisites

The following must be installed and configured:

Follow the links for source and installation instructions.

Usage

Change the pathFolder and destinationFolder variable in the file bloodvessels.py to point to the directory where your images are located.

pathFolder = "/home/sherlock/DR/MODEL_1_SVM/Base11/"
destinationFolder = "/home/sherlock/DR/MODEL_1_SVM/Base11Bloodvessels/"

Open a terminal and navigate to where the bloodvessels.py file is located and run the following command:

$ python bloodvessels.py

OR

$ python3 bloodvessels.py

For each image in your input folder, this will save one image <imageName>_Bloodvessel.png (segmented Bloodvessels).

Sample Output

For some image in Base11:

Following resultant image is generated in the Destination folder:

  • Bloodvessels.png



Microaneurysm Detection


Prerequisites

The following must be installed and configured:

Follow the links for source and installation instructions.

Usage

Change the pathFolder variable in the file microaneurysm.py to point to the directory where your images are located.

pathFolder = "/home/utkarsh/SimpleCV/input"
  • [x] NOTE: Make sure you manually create a file ma.csv in the same directory as that of microaneurysm.py. Open a terminal and navigate to where the microaneurysm.py file is located and run the following command:
$ python microaneurysm.py

OR

$ python3 microaneurysm.py

depending upon the version of python for which SimpleCV is configured.

For each image in your input folder, this will save two images <imageName>_MA.tif (detected aneurysms in white over black image) and <imageName>_MAoverlay.tif (detected aneurysms in white overlaid upon the original image). Also, the file ma.csv will now contain the white pixel count from the <imageName>_MA.tif for each image in the input folder.

Sample Output

For a single image in the input folder /home/utkarsh/SimpleCV/input/input.tif:

Following two images are generated in the same folder as microaneurysm.py:

  • input_MA.tif and input_MAoverlay.tif

  • The ma.csv file looks like:
microaneurysmcount countvalue
input_microaneurysm.jpg 2920

Documents

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the BSD-3-Clause License - see the LICENSE.md file for details

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].