Skip to content

kskmar/Eye-Fundus-Image-Segmentation

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eye-Fundus-Image-Segmentation

Python implementation of vasculature segmentation on retina image based on the Hoover's and Zhang's works.

Approach: Matched Filter with First-Order Derivative of Gaussian (FDoG) and Genetic Algorithm (GA) Optimization

This approach is based on Zhang's work.

Usage

python mfr.py RETINAL_IMAGE MASK_IMAGE

Note: the mask image represents the outside area.

Optional: To obtain a better set of hyper-parameters, I also provide the code of genetic algorithm for parameter optimization.

python ga.py RETINAL_IMAGE GROUND_TRUTH_IMAGE

Results (Image from DRIVE database)

Original image.

 .

Result of Gaussian Matched Filter.

 .

Result of First Order Derivative of Gaussian.

 .

Final segmentation.

 .

Approach: Piecewise Threshold Probing of the Matched Filter Response

This approach is based on Hoover's work.

Usage

python thprobing.py RESULT_OF_GAUSSIAN_MATCHED_FILTER

Note: to implement this algorithm, you need to obtain the Gaussian matched filter result from first algorithm (the second output from mfr.py).

Results (Image from DRIVE database)

Ground truth image.

Generate vessels from probes (the blue dots).

Dataset

I suggest DRIVE database, since it provides the retina image, ground truth and mask images.

About

Segmentation vasculature in retinal image

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%