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
DRIVE database)
Results (Image fromOriginal 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).
DRIVE database)
Results (Image fromGround 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.