Project: Eye Fundus Image Segmentation

Published:

Python implementation of vasculature segmentation on retina image based on the Hoover’s and Jiang’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.


Looking for code? Here is the link to the repository in my Github.

Leave a Comment