Giter Club home page Giter Club logo

mahtab-shabani / retinal-blood-vessel-segmentation-by-active-contour Goto Github PK

View Code? Open in Web Editor NEW
8.0 1.0 1.0 35.74 MB

In this project, I implement an enhanced active contour method that uses discrete wavelet transform for energy minimization to increase the accuracy.

License: MIT License

MATLAB 100.00%
active-contour-model hessian-matrix image-processing image-segmentation matched-filtering medical-image-analysis retinal-fundus-images retinal-images retinal-vessel-segmentation blood-vessel-extraction

retinal-blood-vessel-segmentation-by-active-contour's Introduction

Retinal-Blood-Vessel-Segmentation-by-Active-Contour

Active contour is a strong method for edge extraction. However, it cannot extract thin vessels and ridges very well. We propose an enhanced active contour for retinal blood vessel extraction. this repository is an implementation of the paper below:

"An active contour model using matched filter and Hessian matrix for retinal vessels segmentation. Shabani etc" LINK

For more additional information read the master dissertation: Preprint

STEPS

1. Original image:

image

2. Green Channel:

image

3. CLAHE (Constrast-limited adaptive histogram equalization):

image

4. Vessel Enhansment:

image

5. Enhanced Active Contour:

image

The result of the active contour:

image

6. Vessel Tree Generation:

image

7. Performance evaluation

We carry out the algorithm in MATLAB version R2014a on a personal computer running Windows 10 with an Intel(R) Core i5-7200U, the processor 2.5GHz and 8 GB of memory. The proposed algorithm is experimented on five public available dataset. The values achieved are 94.3%, 73.36%, and 97.41% for accuracy, sensitivity, and specificity, respectively, on the DRIVE dataset, and the proposed algorithm is comparable to the state-of-the-art approaches.

image The top: Randomly chosen images from DRIVE dataset. The middle: Segmentation results. The bottom: Expert's annotation.

Performance metrics on the DRIVE, STARE, HRF, CHASE DB1, and ARIA databases: image

8. Performance in the absence of main vessels

There are main vessel pixels extremely more than thin vessel pixels, so sensitivity is not useful to indicate performance alone and accuracy measure typically will be high. Therefore, we remove wide vessels pixels from images, and then to show performance of the proposed algorithm, are calculated evaluation metrics on the images without wide vessels. For this work, we need a new benchmark of DRIVE database in the absence of wide vessels. To removing wide vessels, used Canny detector. In the figure below is illustrated a randomly chosen benchmark of DRIVE and the corresponding new benchmark image. Afterward, we calculated the measures for all the 20 images of test set of the DRIVE dataset with new benchmark.

The average TPR is achieved 0.4544 that means our algorithm can detect 45.44 percent of the thin vessels pixels. The average accuracy, FPR, and informedness are achieved 0.9616, 0.0164 and 0.4387 respectively. In this section we use a new measure called J index (or informedness) that is obtained as J = sensitivity + specificity โ€“ 1. F-score only considers two positive classes (precision and sensitivity) but the J index, considers information from both positive and negative classes (sensitivity and specificity). The ability of the algorithms with the informedness shows better than TPR alone.

(a) image (b) image

(a) Expert's annotation. (b) the corresponding new benchmark that made by us.

Basic Usage

Now RUN Demo_ActiveContoure.m and Enjoy it!

retinal-blood-vessel-segmentation-by-active-contour's People

Contributors

mahtab-shabani avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

12530

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.