Professional Documents
Culture Documents
Glaucoma Detection: The Optic-Guard: Dr. Ashok Kumar
Glaucoma Detection: The Optic-Guard: Dr. Ashok Kumar
Glaucoma Detection: The Optic-Guard: Dr. Ashok Kumar
The Optic-Guard
Guide : Dr. Ashok Kumar
Presented By:
Puneeth S [1AH20CS075]
Rakshitha K [1AH20CS086]
Ritika P [1AH20CS089]
Shree Harsha K V [1AH20CS099]
Problem Statement
Solution
Objectives
Methodology
AGENDA
Future Enhancement
References
Problem Statement
➢ The Optic Guard project aims to address the problem of early detection of
glaucoma using innovative technological solutions. Glaucoma is a serious eye
condition that can lead to irreversible vision loss if not detected and treated
early. The project's solution involves the development of a system that utilizes
advanced imaging technology and artificial intelligence algorithms to detect
signs of glaucoma in its early stages.
➢ Output
Start
The captured images are resized The pixeled images are Through IP the cup-to-disk ratio In the detection stage if declared
to the required pixels and then converted to grey filters to have is calculated by the algorithm. that the patient is affected from
fed into the algorithm a accurate prediction. glaucoma the relevant
information will be displayed on
the monitor
Patient
Notification
Modules
1. Pre-processing module
Image Acquisition: The process begins with acquiring the images of interest, which
could be retinal images in the case of glaucoma detection or any other type of images
relevant to the analysis.
Edge Detection: Edge detection algorithms, such as Canny edge detector or Sobel
operator, can be used to identify edges or boundaries of the optic nerve head. Detected
edges can then be refined and connected to form the segmented region.
Region Growing: Region growing algorithms start from seed points within the optic
nerve head region and iteratively expand the region based on similarity criteria, such as
pixel intensity or texture features.
Glaucoma diognisis diagram
Code
1. K-means clustering algorithm
K=2
ret, label1, center1 = cv2.kmeans(Z, K, None, criteria, 10,
cv2.KMEANS_RANDOM_CENTERS)
center1 = np.uint8(center1)
res1 = center1[label1.flatten()]
output1 = res1.reshape((lab.shape))
contours, _= cv2.findContours(edge_detected_image,
cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
contour_list = []
for contour in contours:
approx =
cv2.approxPolyDP(contour,0.01*cv2.arcLength(contour,True),True)
area = cv2.contourArea(contour)
if ((len(approx) > 8) & (area > 30) ):
contour_list.append(contour)
cv2.drawContours(image, contour_list, -1, (255,0,0), 1)K=2
ret, label1, center1 = cv2.kmeans(Z, K, None, criteria, 10,
cv2.KMEANS_RANDOM_CENTERS)
center1 = np.uint8(center1)
res1 = center1[label1.flatten()]
output1 = res1.reshape((lab.shape))
image = cv2.resize(image, (256, 256), CDR Process
interpolation=cv2.INTER_AREA)
HSV_img = cv2.cvtColor(merge,cv2.COLOR_RGB2HSV)
orig = image.copy() h,s,v = cv2.split(HSV_img)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
gray = cv2.GaussianBlur(gray, (3, 3), 0) median = cv2.medianBlur(s,5)
(minVal, maxVal, minLoc, maxLoc) = cv2.minMaxLoc(gray) merge1 = cv2.merge((h,s,median))
cv2.circle(image, maxLoc, 80, (0, 0, 0), 2)
disc = 3.14 * 80 * 80
print('Area of Disc:'+str(disc))
r,g,b = cv2.split(orig)
kernel = np.ones((5,5), np.uint8)
img_dilation = cv2.dilate(g, kernel, iterations=1)
minmax_img =
np.zeros((img_dilation.shape[0],img_dilation.shape[1]),dtype =
'uint8')
for i in range(img_dilation.shape[0]):
for j in range(img_dilation.shape[1]):
minmax_img[i,j] = 255*(img_dilation[i,j]-
np.min(img_dilation))/(np.max(img_dilation)-
np.min(img_dilation))
merge = cv2.merge((r,minmax_img,b))
def display(image,panel):
GUI Code root.title(“Optic-Guard”)
root.configure(background='#4798FF')
image =Image.fromarray(image)
root.geometry("1200x500")
image=ImageTk.PhotoImage(image)
s=ttk.Style()
if panel is None:
s.configure('TButton',
panel=Label(image=image)
font=('calibri',15),foreground='black',anchor=CENTER,borde
panel.image=image
rwidth=2,background='white')
panel.pack(side="left",padx=10,pady=10)
text=Text(root,height=1,
else:
width='34',font=('Serif',15,'bold'),foreground='black',bor
panel.configure(image=image)
derwidth=2,background='white')
panel.image=image
text.insert(INSERT,"\tGlaucoma Detection\n")
text.pack()
def select_image():
btnml = ttk.Button(text="Machine Learning + IP“ ,command =
global panelA, panelB,prashu
ml)
path = filedialog.askopenfilename()
btnml.pack(side="bottom", expand="no", padx="10",
if len(path) > 0:
pady="10")
image = cv2.imread(path)
btnip = ttk.Button(text = "Image Processing", command = ip
prashu=image.copy()
)
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
btnip.pack(side="bottom", expand="no", padx="10",
image = Image.fromarray(image)
pady="10")
image = ImageTk.PhotoImage(image)
btn = Button(root, text="Select an image",
if panelA is None or panelB is None:
command=select_image)
panelA = Label(image=image)
btn.pack(side="bottom",expand="no", padx="10", pady="10")
panelA.image = image
root.mainloop()
panelA.pack(side="left", padx=10, pady=10)
else:
panelA.configure(image=image)
panelA.image = image
Screenshots
Twilio API Workflow
Result
The results of a glaucoma detection project can vary depending on the specific objectives,
methodologies, and datasets used. Here are some key results typically reported in such projects:
These include sensitivity, specificity, positive predictive value (PPV), negative predictive value
(NPV), and area under the receiver operating characteristic curve (AUC-ROC). These metrics
quantify the performance of the developed model or system in distinguishing between patients
with glaucoma and those without.
Results may include comparisons of the developed approach with existing diagnostic methods,
such as clinical assessment by ophthalmologists, visual field tests, or other imaging modalities.
Demonstrating superior performance or complementary capabilities can validate the effectiveness
of the developed approach.
Future Enhancements
Future enhancements for glaucoma detection projects may involve leveraging emerging
technologies, refining existing methodologies, and addressing current limitations. Here are some
potential avenues for enhancement:
I. References Gu, B., Sidhu, S., Weinreb, R. N., & Cheung, C. Y. (2022). Review of visualization approaches in
deep learning models of glaucoma. The Asia-Pacific Journal of Ophthalmology, 11(2), 121-132.
II. Christopher, M., Nakahara, K., Bowd, C., Medeiros, F. A., Weinreb, R. N., & Cheung, C. Y. (2020). Effects of
study population, labeling and training on glaucoma detection using deep learning algorithms. Translational
Vision Science & Technology, 9(5), 43.
III. Zhang, X., Li, F., Wang, D., & Lam, D. S. C. (2023). Visualization Techniques to Enhance the Explainability
and Usability of Deep Learning Models in Glaucoma. The Asia-Pacific Journal of Ophthalmology, 12(2), 146-157.
IV. Sharmila, C., & Shanthi, N. (2021). An exploration on deep learning approaches for the detection of
glaucoma. 2021 5th International Conference on Intelligent Computing and Control Systems (ICICCS) (pp. 1396-
1401). IEEE.
V. García, G., Colomer, A., & Naranjo, V. (2021). Glaucoma detection from raw SD-OCT volumes: a novel
approach focused on spatial dependencies. Computer Methods and Programs in Biomedicine, 202, 105956.
VI. Mayro, E. L., Wang, M., Elze, T., & Pasquale, L. R. (2020). The impact of artificial intelligence in the diagnosis
and management of glaucoma. Eye, 34(10), 1748-1763.
THANK-YOU
Thankyou.