SalmanAboAraj commited on
Commit
c20d35d
·
verified ·
1 Parent(s): dcb38db

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -37
app.py CHANGED
@@ -1,42 +1,41 @@
1
  import platform
2
  import pathlib
3
- plt = platform.system()
4
- pathlib.WindowsPath = pathlib.PosixPath
5
-
6
-
7
  import requests
 
 
 
 
 
8
 
 
 
 
9
 
10
- # AUTOGENERATED! DO NOT EDIT! File to edit: app.ipynb.
11
-
12
- # %% auto 0
13
- __all__ = ['learn', 'categories', 'image', 'label', 'examples', 'interface', 'classify_image']
14
-
15
- # %% app.ipynb 1
16
- from fastai.vision.all import *
17
- import PIL.Image
18
- PIL.Image.MAX_IMAGE_PIXELS = None
19
- from PIL import Image
20
-
21
- import gradio as gr
22
-
23
- # %% app.ipynb 2
24
- learn = load_learner('Binarymodel.pkl')
25
-
26
- # %% app.ipynb 3
27
- categories=('Brain','Chest','Random')
28
-
29
- def classify_image(img):
30
- pred,indx,probs=learn.predict(img)
31
- return dict(zip(categories,map(float,probs)))
32
-
33
-
34
- # %% app.ipynb 4
35
- image=gr.inputs.Image(shape=(512,512))
36
- label=gr.outputs.Label()
37
- examples=['1.jpg','10.jpg','2.jpeg','9.jpg','3.jpg','4.jpg','5.jpg','6.png','7.jpg',
38
- '8.jpeg','9.jpg','b.jpg','d.jpg','f.jpg','e.jpg']
39
-
40
-
41
- interface=gr.Interface(fn=classify_image, inputs=image ,outputs=label,examples=examples)
42
- interface.launch(inline=False)
 
1
  import platform
2
  import pathlib
 
 
 
 
3
  import requests
4
+ import gradio as gr
5
+ from tensorflow.keras.models import load_model
6
+ import numpy as np
7
+ import cv2
8
+ from huggingface_hub import hf_hub_download
9
 
10
+ # حل مشكلة المسارات في Windows
11
+ plt = platform.system()
12
+ pathlib.WindowsPath = pathlib.PosixPath
13
 
14
+ # تحميل النموذج من Hugging Face
15
+ model_path = hf_hub_download(repo_id="SalmanAboAraj/Tooth1", filename="unet_model.h5")
16
+ model = load_model(model_path)
17
+
18
+ def predict(image):
19
+ original_height, original_width, _ = image.shape
20
+ image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
21
+ image = cv2.resize(image, (128, 128))
22
+ image = np.expand_dims(image, axis=0)
23
+ image = np.expand_dims(image, axis=-1)
24
+ image = image / 255.0
25
+ mask = model.predict(image)
26
+ mask = (mask[0] > 0.5).astype(np.uint8) * 255
27
+ mask = cv2.resize(mask, (original_width, original_height))
28
+ return mask
29
+
30
+ # إنشاء واجهة Gradio باستخدام الإصدار 3.35.2
31
+ image = gr.inputs.Image()
32
+ iface = gr.Interface(
33
+ fn=predict,
34
+ inputs=image,
35
+ outputs=gr.outputs.Image(type="numpy", label="Annotation Mask"),
36
+ title="Tooth Segmentation Model",
37
+ description="Upload a dental X-ray image to generate the annotation mask."
38
+ )
39
+
40
+ if __name__ == "__main__":
41
+ iface.launch(inline=False)