How to remove optic disc from retinal images?

2 views (last 30 days)
I am trying to do diabteic retinopathy grading. Before feature extraction, I have to remove optic disc. I am trying to do so using the paper titled "Automatic Optic Disk Segmentation in Presence of Disk Blurring" https://pdfs.semanticscholar.org/44cc/5980ecadaca668d2158d6bde6b6dd01efa63.pdf . They have used inverted circular LoG filter to enhance OD region. After the candidate circular regions have been enhanced using the LoG filter, they are binarized. The threshold that is used for this binarization is given by (T = 0.6 ∗ mLoG). mLoG is the maximum value in LoG filtered image. Below is the code that I have written.
retina = imread('1.png');
retinaRband = retina(:,:,1); %Red Chanel extraction
retinaRband = imresize(retinaRband,[512 512]);
H= imcomplement(fspecial('log',[120 120],5));
H=(H-min(H(:)))/(max(H(:))-min(H(:)));
log_filtered = imfilter(retinaRband,H);
log_filtered=(log_filtered-min(log_filtered(:)))/(max(log_filtered(:))-min(log_filtered(:)));
max_log_filtered = max(log_filtered (:));
T = max_log_filtered * 0.6; %Threshold
Thresholded_image = imbinarize(log_filtered,0.6);
imshow(Thresholded_image);
However, I am getting a complete black image as output. Below is the attached input image and the expected output.
Can anyone help me with this. Thanks in advance.
  2 Comments
Vijayan G
Vijayan G on 15 Aug 2018
https://in.mathworks.com/matlabcentral/fileexchange/68491-eye-optic-disk-detection
Fllow above link video
KALYAN ACHARJYA
KALYAN ACHARJYA on 15 Aug 2018
Remove all blobs except larger one (Optical Disc). Segment the original one as per resultant binary image.

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 15 Aug 2018
It looks like Thresholded_image is a floating point image so, if it's not in the range of 0-1, you need to use [] in imshow. Try
imshow(Thresholded_image, []);

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!