mudassir032 commited on
Commit
c052920
·
verified ·
1 Parent(s): 0d96d2e

Upload 6 files

Browse files
Files changed (1) hide show
  1. Chest Xray/chest-xray.py +22 -29
Chest Xray/chest-xray.py CHANGED
@@ -4,35 +4,28 @@ import tensorflow as tf
4
  import streamlit as st
5
  from tensorflow.keras.models import load_model
6
 
7
- st.title("Pnuemonia")
8
- def load_img(path):
9
- img = cv2.imread(path)
10
- img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
11
- img = cv2.resize(img,(224,224))
12
- img = img.astype('float32')
13
- img /= 255.0
14
- return img
15
-
16
- imgs = ['person1676_virus_2892.jpeg','1-s2.0-S0263931909001811-gr3.jpg','43055_2020_296_Fig11_HTML.png','images.jpg']
17
  @st.cache_resource
18
  def load_cached_models():
19
- model = load_model("pneumonia_vgg16.keras")
20
- model1 = load_model("pnuemoniavgg16_1.keras")
21
- model2 = load_model("pnuemoniavgg16_2.keras")
22
- return model, model1, model2
 
 
 
 
 
 
 
 
 
23
 
24
- # Load the models once, cached in memory
25
- model, model1, model2 = load_cached_models()
26
- for img_p in imgs:
27
- img = load_img(img_p)
28
- img = np.expand_dims(img,axis=0)
29
- pred = model.predict(img)
30
- pred1 = model1.predict(img)
31
- pred2 = model2.predict(img)
32
- avg_pred = np.mean([pred, pred1, pred2])
33
- st.subheader(img_p)
34
- st.write("Prediction of model")
35
- final_pred = round(avg_pred*100,2)
36
- st.progress(int(round(avg_pred * 100)))
37
- st.write(final_pred)
38
- st.write("Pneumonia Detected" if avg_pred > .5 else "Your x-ray seems normal")
 
4
  import streamlit as st
5
  from tensorflow.keras.models import load_model
6
 
7
+ st.subheader("Pnuemonia Detection CNN")
 
 
 
 
 
 
 
 
 
8
  @st.cache_resource
9
  def load_cached_models():
10
+ model = load_model("Chest Xray/pneumonia.keras")
11
+
12
+ return model
13
+
14
+ model= load_cached_models()
15
+ uploaded_file = st.file_uploader("Upload an X-ray image (JPEG/PNG)", type=["jpeg", "jpg", "png"])
16
+
17
+ if uploaded_file is not None:
18
+ file_bytes = np.asarray(bytearray(uploaded_file.read()), dtype=np.uint8)
19
+ img = cv2.imdecode(file_bytes, cv2.IMREAD_COLOR)
20
+ img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
21
+ img_resized = cv2.resize(img, (224, 224)).astype('float32') / 255.0
22
+ img_expanded = np.expand_dims(img_resized, axis=0)
23
 
24
+ pred = model.predict(img_expanded)
25
+ pred = pred.flatten()[np.argmax(pred)]
26
+ st.image(img, caption="Uploaded X-ray", use_container_width=True)
27
+ st.subheader("Prediction")
28
+ final_pred = round(float(pred) * 100, 2)
29
+ st.progress(int(round(pred * 100)))
30
+ st.write(f"### Percentage: {final_pred}%")
31
+ st.write("#### Pneumonia Detected" if pred > 0.5 else "Your X-ray seems normal")