DHEIVER commited on
Commit
d37da5c
1 Parent(s): 3eb5cc3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -3
app.py CHANGED
@@ -75,12 +75,25 @@ models = {
75
  'UNet3+': torch.jit.load('./model/UNet3plus.pt'),
76
  }
77
 
78
- for model_name, model in models.items():
79
- models[model_name] = model.to(device).eval()
 
 
 
 
 
 
 
 
 
 
 
80
 
81
  def processar_imagem_de_entrada_wrapper(img, modelo):
82
  model = models[modelo]
83
- return processar_imagem_de_entrada(img, modelo, model)
 
 
84
 
85
  my_app = gr.Interface(
86
  fn=processar_imagem_de_entrada_wrapper,
@@ -91,6 +104,7 @@ my_app = gr.Interface(
91
  outputs=[
92
  gr.outputs.Label(label="Tempo decorrido"),
93
  gr.outputs.Image(type="numpy", label="Imagem de Saída"),
 
94
  ],
95
  title="Segmentação de Angiograma Coronariano",
96
  description="Esta aplicação segmenta angiogramas coronarianos usando modelos de segmentação pré-treinados. Faça o upload de uma imagem de angiograma e selecione um modelo para visualizar o resultado da segmentação.\n\nSelecione uma imagem de angiograma coronariano e um modelo de segmentação no painel à esquerda.",
 
75
  'UNet3+': torch.jit.load('./model/UNet3plus.pt'),
76
  }
77
 
78
+ def has_disease(img_out):
79
+ """
80
+ Checks if the angiogram has disease based on the segmentation.
81
+ Args:
82
+ img_out: The segmented angiogram.
83
+ Returns:
84
+ True if the angiogram has disease, False otherwise.
85
+ """
86
+ percentage_of_vessels = np.sum(img_out) / (img_out.shape[0] * img_out.shape[1])
87
+ if percentage_of_vessels > 0.5:
88
+ return True
89
+ else:
90
+ return False
91
 
92
  def processar_imagem_de_entrada_wrapper(img, modelo):
93
  model = models[modelo]
94
+ spent, img_out = processar_imagem_de_entrada(img, modelo, model)
95
+ has_disease = has_disease(img_out)
96
+ return spent, img_out, has_disease
97
 
98
  my_app = gr.Interface(
99
  fn=processar_imagem_de_entrada_wrapper,
 
104
  outputs=[
105
  gr.outputs.Label(label="Tempo decorrido"),
106
  gr.outputs.Image(type="numpy", label="Imagem de Saída"),
107
+ gr.outputs.Label(label="Possui Doença?"),
108
  ],
109
  title="Segmentação de Angiograma Coronariano",
110
  description="Esta aplicação segmenta angiogramas coronarianos usando modelos de segmentação pré-treinados. Faça o upload de uma imagem de angiograma e selecione um modelo para visualizar o resultado da segmentação.\n\nSelecione uma imagem de angiograma coronariano e um modelo de segmentação no painel à esquerda.",