Spaces:
Sleeping
Sleeping
File size: 7,538 Bytes
7b945e6 78b9561 5db4e41 d600704 5dc4c33 d600704 5dc4c33 7d708d8 5dc4c33 7d708d8 5dc4c33 7d708d8 5dc4c33 7d708d8 5dc4c33 d600704 5dc4c33 d600704 5dc4c33 d600704 5dc4c33 d600704 5dc4c33 d600704 5dc4c33 d600704 5dc4c33 d600704 5dc4c33 7d708d8 5dc4c33 7d708d8 d600704 5dc4c33 d600704 5dc4c33 d600704 5dc4c33 d600704 5dc4c33 7d708d8 5dc4c33 7d708d8 5dc4c33 7d708d8 5dc4c33 d600704 5dc4c33 d600704 5dc4c33 d600704 7d708d8 5dc4c33 d600704 5dc4c33 a75511c 7b945e6 5dc4c33 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 |
import gradio as gr
import cv2
import numpy as np
from PIL import Image
import io
from collections import defaultdict
def analisar_condicoes(regiao, dados):
"""
Analisa e sumariza as condições encontradas para cada região
"""
condicoes = defaultdict(int)
for dado in dados:
for linha in dado.split('\n'):
if f'Região: {regiao}' in linha:
if 'congestão/inflamação' in linha:
condicoes['congestao_inflamacao'] += 1
if 'deficiência/hipofunção' in linha:
condicoes['deficiencia_hipofuncao'] += 1
if 'atrofia/degeneração' in linha:
condicoes['atrofia_degeneracao'] += 1
if 'irritação/estresse' in linha:
condicoes['irritacao_estresse'] += 1
return condicoes
def gerar_diagnostico(regiao, condicoes, total_ocorrencias):
"""
Gera um diagnóstico baseado na frequência das condições
"""
diagnostico = []
limiar = total_ocorrencias * 0.3 # 30% de ocorrências como limiar
if condicoes['congestao_inflamacao'] > limiar:
diagnostico.append("Processo inflamatório crônico")
if condicoes['deficiencia_hipofuncao'] > limiar:
diagnostico.append("Função reduzida ou comprometida")
if condicoes['atrofia_degeneracao'] > limiar:
diagnostico.append("Sinais de desgaste tecidual")
if condicoes['irritacao_estresse'] > limiar:
diagnostico.append("Sobrecarga funcional")
return diagnostico
def processar_analise_iridologica(dados_analise):
"""
Processa os dados da análise iridológica e gera um relatório estruturado
"""
# Identificar todas as regiões únicas
regioes = set()
for linha in dados_analise.split('\n'):
if linha.startswith('Região: '):
regiao = linha.split('Região: ')[1].strip()
regioes.add(regiao)
# Analisar cada região
resultados = {}
for regiao in regioes:
condicoes = analisar_condicoes(regiao, [dados_analise])
diagnostico = gerar_diagnostico(regiao, condicoes, len(dados_analise.split('\n')))
if diagnostico:
resultados[regiao] = diagnostico
return resultados
def gerar_recomendacoes(diagnostico):
"""
Gera recomendações baseadas no diagnóstico
"""
recomendacoes = {
"Processo inflamatório crônico": [
"Avaliação médica específica para a região",
"Considerar anti-inflamatórios naturais",
"Reduzir alimentos inflamatórios",
"Aumentar consumo de água"
],
"Função reduzida ou comprometida": [
"Suplementação nutricional específica",
"Avaliação de deficiências nutricionais",
"Ajuste na dieta para suporte funcional",
"Exercícios apropriados para estimulação"
],
"Sinais de desgaste tecidual": [
"Suporte nutricional para regeneração",
"Redução de fatores estressantes",
"Avaliação de minerais e vitaminas",
"Considerar terapias regenerativas"
],
"Sobrecarga funcional": [
"Técnicas de gerenciamento de estresse",
"Adequação do ritmo de atividades",
"Suporte adaptogênico",
"Melhoria da qualidade do sono"
]
}
return recomendacoes
def criar_interface():
"""
Cria a interface do usuário com Gradio
"""
def analisar(texto_analise):
resultados = processar_analise_iridologica(texto_analise)
recomendacoes = gerar_recomendacoes(resultados)
# Formatar saída
saida = "ANÁLISE IRIDOLÓGICA DETALHADA\n\n"
# Agrupar por sistemas
sistemas = {
"Sistema Nervoso": ["Cerebro", "Sistema Nervoso"],
"Sistema Digestivo": ["Estomago", "Figado", "Vesicula", "Pancreas", "Sistema Digestivo",
"Intestino Grosso", "Intestino Delgado", "Apendice"],
"Sistema Circulatório": ["Coracao"],
"Sistema Urinário": ["Rim Direito", "Rim Esquerdo", "Bexiga"],
"Sistema Endócrino": ["Tireoide"],
"Sistema Respiratório": ["Pulmao", "Bronquios"],
"Sistema Reprodutor": ["Sistema Reprodutor"]
}
for sistema, orgaos in sistemas.items():
saida += f"\n{sistema.upper()}:\n"
encontrado = False
for orgao in orgaos:
if orgao in resultados:
encontrado = True
saida += f"\n• {orgao}:\n"
for diagnostico in resultados[orgao]:
saida += f" - {diagnostico}\n"
if diagnostico in recomendacoes:
saida += " Recomendações:\n"
for rec in recomendacoes[diagnostico]:
saida += f" * {rec}\n"
if not encontrado:
saida += " Sem alterações significativas\n"
return saida
# Interface
with gr.Blocks(title="Análise Iridológica Avançada") as interface:
gr.Markdown("""
# Sistema de Análise Iridológica Avançada
Este sistema analisa os dados iridológicos e fornece um relatório detalhado com recomendações.
""")
with gr.Tabs():
with gr.Tab("Análise Completa"):
input_text = gr.Textbox(
label="Dados da Análise Iridológica",
lines=10,
placeholder="Cole os dados da análise aqui..."
)
analysis_btn = gr.Button("Analisar Dados", variant="primary")
output_text = gr.Textbox(
label="Relatório de Análise",
lines=30
)
analysis_btn.click(
fn=analisar,
inputs=[input_text],
outputs=[output_text]
)
with gr.Tab("Informações"):
gr.Markdown("""
## Sobre a Análise Iridológica Avançada
Este sistema utiliza algoritmos avançados para:
1. Analisar padrões nas observações iridológicas
2. Identificar tendências e correlações
3. Gerar recomendações personalizadas
4. Agrupar resultados por sistemas corporais
### Interpretação dos Resultados
O sistema considera quatro principais categorias de alterações:
* Processos inflamatórios crônicos
* Funções reduzidas ou comprometidas
* Sinais de desgaste tecidual
* Sobrecargas funcionais
### Observações Importantes
* Os resultados são baseados em análise estatística das observações
* As recomendações são gerais e devem ser personalizadas por profissional
* Este é um sistema de suporte à decisão, não um diagnóstico definitivo
""")
return interface
if __name__ == "__main__":
interface = criar_interface()
interface.launch(share=True) |