File Exchange

image thumbnail

Retinal Vessel Detection by Gabor Transform and Machine Learning, a Tutorial

version 1.2.0.0 (689 KB) by pangyuteng
A tutorial on detection of retinal vessels by Gabor transform and machine learning

15 Downloads

Updated 23 May 2015

View License

A tutorial on detection of retinal vessels by Gabor transform and generalized linear model.
Cite As:
Teng, Pang-yu. (2014). Retinal Vessel Detection by Gabor Transform and Machine Learning, a Tutorial. Zenodo. 10.5281/zenodo.17898
References:
Soares, Joao VB, et al. "Retinal vessel segmentation using the 2-D Gabor wavelet and supervised classification." Medical Imaging, IEEE Transactions on 25.9 (2006): 1214-1222.
http://www.ncbi.nlm.nih.gov/pubmed/16967806
Sandberg, Berta, Tony Chan, and Luminita Vese. "A level-set and gabor-based active contour algorithm for segmenting textured images." UCLA Department of Mathematics CAM report. 2002. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.7.3145

Cite As

pangyuteng (2019). Retinal Vessel Detection by Gabor Transform and Machine Learning, a Tutorial (https://www.mathworks.com/matlabcentral/fileexchange/46082-retinal-vessel-detection-by-gabor-transform-and-machine-learning-a-tutorial), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (12)

ZY Liu

Hi Ted:
I am very glad to see the code, and I also benefit a lot.
Is there source code of the 2006 paper(Retinal Vessel Segmentation Using the 2-D Gabor
Wavelet and Supervised Classification) available? If there is, would you like to share the link?
Thank you a lot.

Mike

clatfd

Nice code and detailed explanation!

benben

nice

Asmat khan

Hi Ted:
I am tryingto apply this code for DRIVE database
with twenty training images. How to form feature vector with twenty images, as it becomes a long column vector and matlab gives memory error. Should we run loop for twenty times, and then average the coefficients for Generalized linear model. Please advice.

pangyuteng

Roberto, good catch!

Hi,

Is the size of "features" correct?

It is defined as:
features = zeros([size(testingImg),numel(sigmas),numel(thetas),numel(Fs)]);

This gives a size of 196 with a lot of features equal to 0's.

However, I think it should be defined as:
features = zeros([size(testingImg),numel(sigmas),numel(Fs),numel(thetas)]);

This gives a size of 84.

Thanks for the file!

Toan

Do you use the second paper in your code? The second paper looks like leve-set using gabor filter? BTW, Do you implement the scheme in the second paper?

pangyuteng

Elad, Thanks for the 5 stars rating!
Ashkan, you are welcome. Glad to see someone is benefiting from this.

An updated and more readable version of the same tutorial can be found at
http://imageprocessingblog.com/retinal-vessel-detection-by-gabor-transform-and-machine-learning-a-tutorial/

thanks for sharing

Elad

Updates

1.2.0.0

added 'cite as'.

1.2.0.0

added example images to zip

1.1.0.0

updated comments

MATLAB Release Compatibility
Created with R2013b
Compatible with any release
Platform Compatibility
Windows macOS Linux