DHEIVER commited on
Commit
acd7746
1 Parent(s): 60d9a70

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -27
app.py CHANGED
@@ -7,6 +7,7 @@ import cv2
7
  import numpy as np
8
  from preprocess import unsharp_masking
9
  import time
 
10
 
11
  device = "cuda" if torch.cuda.is_available() else "cpu"
12
 
@@ -73,40 +74,21 @@ models = {
73
  'UNet3+': torch.jit.load('./model/UNet3plus.pt'),
74
  }
75
 
76
- from sklearn.cluster import KMeans
77
-
78
- def has_disease(img, min_area=500):
79
- # Aplicar K-Means na imagem segmentada ou máscara
80
- # Certifique-se de fornecer a imagem ou máscara correta
81
- # A imagem ou máscara deve ser preprocessada e segmentada antes desta etapa
82
 
 
83
  kmeans = KMeans(n_clusters=2, random_state=0)
84
- flattened_img = img.reshape((-1, 1)) # Transformar a imagem em uma matriz unidimensional
85
  kmeans.fit(flattened_img)
86
-
87
- # Rotular as regiões da imagem
88
  labels = kmeans.labels_
89
-
90
- # Calcular a área das regiões
91
  area_0 = np.sum(labels == 0)
92
  area_1 = np.sum(labels == 1)
 
93
 
94
- # Verificar se a área da região com doença é maior que o limite mínimo
95
- if area_1 >= min_area:
96
- return True
97
- else:
98
- return False
99
-
100
-
101
- # Função que encapsula o processamento e a verificação de doenças
102
- def processar_imagem_de_entrada_wrapper(img, modelo):
103
- model = models[modelo]
104
- spent, img_out = processar_imagem_de_entrada(img, modelo, model)
105
-
106
- # Chame a função has_disease para verificar se há doença
107
- has_disease_flag = has_disease(img_out)
108
-
109
- # Adicione a explicação à interface
110
  if has_disease_flag:
111
  explanation = "A máquina detectou uma possível doença nos vasos sanguíneos."
112
  else:
 
7
  import numpy as np
8
  from preprocess import unsharp_masking
9
  import time
10
+ from sklearn.cluster import KMeans
11
 
12
  device = "cuda" if torch.cuda.is_available() else "cpu"
13
 
 
74
  'UNet3+': torch.jit.load('./model/UNet3plus.pt'),
75
  }
76
 
77
+ # Função que encapsula o processamento e a verificação de doenças
78
+ def processar_imagem_de_entrada_wrapper(img, modelo):
79
+ model = models[modelo]
80
+ spent, img_out = processar_imagem_de_entrada(img, modelo, model)
 
 
81
 
82
+ # Verificar se há doença usando K-Means
83
  kmeans = KMeans(n_clusters=2, random_state=0)
84
+ flattened_img = img_out[:, :, 0].reshape((-1, 1)) # Usar o canal de intensidade
85
  kmeans.fit(flattened_img)
 
 
86
  labels = kmeans.labels_
 
 
87
  area_0 = np.sum(labels == 0)
88
  area_1 = np.sum(labels == 1)
89
+ has_disease_flag = area_1 >= 500
90
 
91
+ # Adicionar a explicação
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
  if has_disease_flag:
93
  explanation = "A máquina detectou uma possível doença nos vasos sanguíneos."
94
  else: