DHEIVER commited on
Commit
a737d43
1 Parent(s): e14dc0b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -16
app.py CHANGED
@@ -23,28 +23,33 @@ def criar_interface():
23
  imagem_processada = pre_processar_imagem(imagem)
24
  mask_esclera = detectar_esclera(imagem_processada)
25
  iris_info, pupil_info = detectar_iris_pupila(imagem_processada, mask_esclera)
26
-
27
  if iris_info is None or pupil_info is None:
28
  return imagem, "Não foi possível detectar íris ou pupila corretamente."
29
-
30
  analise_setorial = analisar_textura_setorial(imagem_processada, iris_info, pupil_info)
 
 
 
 
 
 
31
 
32
- # Avaliando circularidade
33
  metricas = {
34
  'pupila': {
35
  'raio': pupil_info[2],
36
- 'circularidade': avaliar_circularidade(pupil_info)
37
  },
38
  'iris': {
39
  'densidade_media': np.mean([dados['contraste'] for dados in analise_setorial.values()]),
40
  'homogeneidade': np.mean([dados['homogeneidade'] for dados in analise_setorial.values()])
41
  },
42
  }
43
-
44
  metricas = validar_metricas(metricas)
45
  analisador = AnalisadorIridologicoNLP()
46
  interpretacao_nlp = analisador.gerar_interpretacao(metricas)
47
-
48
  relatorio = "ANÁLISE IRIDOLÓGICA DETALHADA\n\n"
49
  relatorio += "1. MEDIDAS ESTRUTURAIS\n"
50
  relatorio += f"Pupila: Centro ({pupil_info[0]}, {pupil_info[1]}), Raio {pupil_info[2]}px\n"
@@ -52,12 +57,12 @@ def criar_interface():
52
  for setor, dados in analise_setorial.items():
53
  relatorio += f"Setor {setor}: Contraste {dados['contraste']}, Homogeneidade {dados['homogeneidade']}\n"
54
  relatorio += f"3. INTERPRETAÇÃO NLP: {interpretacao_nlp}\n"
55
-
56
  return imagem, relatorio
57
-
58
  except Exception as e:
59
  return imagem, f"Erro durante o processamento: {str(e)}"
60
-
61
  with gr.Blocks(theme=theme, title="Análise Iridológica Avançada") as interface:
62
  gr.Markdown("""
63
  # Sistema Avançado de Análise Iridológica
@@ -73,15 +78,12 @@ def criar_interface():
73
 
74
  analysis_btn.click(
75
  fn=processar_imagem,
76
- inputs=[input_image],
77
- outputs=[output_image, output_text]
78
  )
79
 
80
  return interface
81
 
82
- def main():
83
- interface = criar_interface()
84
- interface.launch(share=True)
85
-
86
  if __name__ == "__main__":
87
- main()
 
 
23
  imagem_processada = pre_processar_imagem(imagem)
24
  mask_esclera = detectar_esclera(imagem_processada)
25
  iris_info, pupil_info = detectar_iris_pupila(imagem_processada, mask_esclera)
26
+
27
  if iris_info is None or pupil_info is None:
28
  return imagem, "Não foi possível detectar íris ou pupila corretamente."
29
+
30
  analise_setorial = analisar_textura_setorial(imagem_processada, iris_info, pupil_info)
31
+
32
+ # Avaliando a circularidade diretamente
33
+ px, py, pr = pupil_info
34
+ area_pupila = np.pi * (pr ** 2)
35
+ area_circunscrita = area_pupila # Usando a mesma área para simplificação
36
+ circularidade = area_pupila / area_circunscrita if area_circunscrita > 0 else 0
37
 
 
38
  metricas = {
39
  'pupila': {
40
  'raio': pupil_info[2],
41
+ 'circularidade': circularidade
42
  },
43
  'iris': {
44
  'densidade_media': np.mean([dados['contraste'] for dados in analise_setorial.values()]),
45
  'homogeneidade': np.mean([dados['homogeneidade'] for dados in analise_setorial.values()])
46
  },
47
  }
48
+
49
  metricas = validar_metricas(metricas)
50
  analisador = AnalisadorIridologicoNLP()
51
  interpretacao_nlp = analisador.gerar_interpretacao(metricas)
52
+
53
  relatorio = "ANÁLISE IRIDOLÓGICA DETALHADA\n\n"
54
  relatorio += "1. MEDIDAS ESTRUTURAIS\n"
55
  relatorio += f"Pupila: Centro ({pupil_info[0]}, {pupil_info[1]}), Raio {pupil_info[2]}px\n"
 
57
  for setor, dados in analise_setorial.items():
58
  relatorio += f"Setor {setor}: Contraste {dados['contraste']}, Homogeneidade {dados['homogeneidade']}\n"
59
  relatorio += f"3. INTERPRETAÇÃO NLP: {interpretacao_nlp}\n"
60
+
61
  return imagem, relatorio
62
+
63
  except Exception as e:
64
  return imagem, f"Erro durante o processamento: {str(e)}"
65
+
66
  with gr.Blocks(theme=theme, title="Análise Iridológica Avançada") as interface:
67
  gr.Markdown("""
68
  # Sistema Avançado de Análise Iridológica
 
78
 
79
  analysis_btn.click(
80
  fn=processar_imagem,
81
+ inputs=[input_image],outputs=[output_image, output_text]
 
82
  )
83
 
84
  return interface
85
 
86
+ # Rodar a interface
 
 
 
87
  if __name__ == "__main__":
88
+ interface = criar_interface()
89
+ interface.launch()