File size: 11,790 Bytes
7b945e6
78b9561
5db4e41
d600704
 
5dc4c33
d600704
de232cf
 
bcdc3a3
de232cf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bcdc3a3
 
de232cf
 
 
 
 
 
 
 
 
 
 
 
 
 
bcdc3a3
 
de232cf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bcdc3a3
 
de232cf
 
 
 
 
 
 
 
 
 
 
 
 
 
bcdc3a3
 
7d708d8
de232cf
 
bcdc3a3
de232cf
 
 
 
 
bcdc3a3
 
de232cf
 
 
 
 
bcdc3a3
 
de232cf
 
 
 
 
bcdc3a3
 
 
de232cf
d600704
de232cf
d600704
de232cf
bcdc3a3
de232cf
 
 
 
bcdc3a3
5dc4c33
bcdc3a3
de232cf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bcdc3a3
de232cf
bcdc3a3
de232cf
bcdc3a3
de232cf
 
 
5dc4c33
de232cf
5dc4c33
 
d600704
de232cf
5dc4c33
 
de232cf
bcdc3a3
de232cf
 
bcdc3a3
de232cf
5dc4c33
 
bcdc3a3
 
5dc4c33
 
bcdc3a3
 
5dc4c33
 
 
de232cf
bcdc3a3
de232cf
5dc4c33
 
de232cf
 
 
 
 
bcdc3a3
de232cf
 
 
 
 
 
 
 
 
 
 
 
5dc4c33
 
 
d600704
de232cf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7d708d8
de232cf
 
7d708d8
d600704
 
de232cf
 
5dc4c33
 
 
 
 
de232cf
5dc4c33
de232cf
5dc4c33
d600704
 
5dc4c33
 
 
 
d600704
 
de232cf
 
d600704
de232cf
 
 
 
 
 
 
7d708d8
de232cf
 
 
 
 
7d708d8
de232cf
 
 
 
7d708d8
de232cf
 
 
 
d600704
de232cf
 
 
 
 
 
 
 
 
 
d600704
de232cf
 
 
 
d600704
de232cf
 
 
 
 
5dc4c33
de232cf
 
 
 
bcdc3a3
de232cf
 
 
 
d600704
de232cf
5dc4c33
a75511c
bcdc3a3
de232cf
 
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
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
import gradio as gr
import cv2
import numpy as np
from PIL import Image
import io
from collections import defaultdict

# Mapeamento detalhado de sinais para doenças específicas
SINAIS_DOENÇAS = {
    "congestao_inflamacao": {
        "Doenças Autoimunes": {
            "Artrite Reumatoide": {
                "prob": 0.75,
                "sinais_adicionais": ["simetria", "anéis de tensão"],
                "exames": ["Fator Reumatóide", "Anti-CCP", "PCR", "VHS"],
                "tratamentos": ["Imunossupressores", "Anti-inflamatórios", "Fisioterapia"]
            },
            "Lúpus": {
                "prob": 0.70,
                "sinais_adicionais": ["manchas em borboleta", "lacunas"],
                "exames": ["FAN", "Anti-DNA", "Complemento"],
                "tratamentos": ["Corticoides", "Antimaláricos", "Protetor Solar"]
            }
        },
        "Doenças Inflamatórias": {
            "Doença de Crohn": {
                "prob": 0.65,
                "sinais_adicionais": ["radiais intestinais", "hiperpigmentação"],
                "exames": ["Calprotectina", "Colonoscopia", "PCR"],
                "tratamentos": ["Imunomoduladores", "Biológicos", "Dieta"]
            }
        }
    },
    "deficiencia_hipofuncao": {
        "Doenças Endócrinas": {
            "Hipotireoidismo": {
                "prob": 0.80,
                "sinais_adicionais": ["anéis nervosos", "pigmentação clara"],
                "exames": ["TSH", "T4 livre", "Anti-TPO"],
                "tratamentos": ["Levotiroxina", "Suplementação de Iodo", "Selenium"]
            },
            "Diabetes": {
                "prob": 0.75,
                "sinais_adicionais": ["radiais pancreáticos", "manchas açúcar"],
                "exames": ["Glicemia", "HbA1c", "Peptídeo C"],
                "tratamentos": ["Insulina", "Metformina", "Dieta"]
            }
        }
    },
    "atrofia_degeneracao": {
        "Doenças Neurológicas": {
            "Alzheimer": {
                "prob": 0.70,
                "sinais_adicionais": ["lesões cerebrais", "manchas escuras"],
                "exames": ["Mini-Mental", "Ressonância", "Beta Amilóide"],
                "tratamentos": ["Inibidores Colinesterase", "Memantina", "Estimulação"]
            }
        },
        "Doenças Ósseas": {
            "Osteoporose": {
                "prob": 0.75,
                "sinais_adicionais": ["anéis cálcio", "lacunas ósseas"],
                "exames": ["Densitometria", "Vitamina D", "CTX"],
                "tratamentos": ["Bisfosfonatos", "Cálcio", "Exercícios"]
            }
        }
    },
    "irritacao_estresse": {
        "Doenças Psiquiátricas": {
            "Ansiedade Generalizada": {
                "prob": 0.85,
                "sinais_adicionais": ["anéis nervosos", "manchas adrenal"],
                "exames": ["Cortisol", "ACTH", "Neurotransmissores"],
                "tratamentos": ["Ansiolíticos", "Psicoterapia", "Meditação"]
            },
            "Depressão": {
                "prob": 0.80,
                "sinais_adicionais": ["manchas escuras", "anéis profundos"],
                "exames": ["Serotonina", "Cortisol", "BDNF"],
                "tratamentos": ["Antidepressivos", "Psicoterapia", "Exercícios"]
            }
        }
    }
}

# Correlações entre regiões da íris e sistemas corporais
CORRELAÇÕES_SISTEMAS = {
    "Cerebro": {
        "sistema": "Sistema Nervoso Central",
        "doenças_associadas": [
            "Enxaqueca", "Epilepsia", "Parkinson",
            "Esclerose Múltipla", "Alzheimer"
        ]
    },
    "Sistema Nervoso": {
        "sistema": "Sistema Nervoso Periférico",
        "doenças_associadas": [
            "Neuropatia Diabética", "Síndrome do Túnel do Carpo",
            "Neuralgia do Trigêmeo"
        ]
    },
    "Pulmao": {
        "sistema": "Sistema Respiratório",
        "doenças_associadas": [
            "Asma", "DPOC", "Bronquite Crônica",
            "Fibrose Pulmonar", "Enfisema"
        ]
    }
}

def analisar_doencas(dados_analise):
    """
    Analisa os dados para identificar possíveis doenças
    """
    resultados = defaultdict(list)
    padroes = defaultdict(int)
    
    # Análise por região
    regiao_atual = None
    sinais_atuais = set()
    
    for linha in dados_analise.split('\n'):
        if 'Região:' in linha:
            if regiao_atual and sinais_atuais:
                # Processar região anterior
                for sinal in sinais_atuais:
                    if sinal in SINAIS_DOENÇAS:
                        for categoria, doenças in SINAIS_DOENÇAS[sinal].items():
                            for doença, info in doenças.items():
                                resultados[regiao_atual].append({
                                    'doença': doença,
                                    'categoria': categoria,
                                    'probabilidade': info['prob'],
                                    'exames': info['exames'],
                                    'tratamentos': info['tratamentos']
                                })
            
            regiao_atual = linha.split('Região:')[1].strip()
            sinais_atuais = set()
        
        if regiao_atual:
            if 'congestão/inflamação' in linha:
                sinais_atuais.add('congestao_inflamacao')
            if 'deficiência/hipofunção' in linha:
                sinais_atuais.add('deficiencia_hipofuncao')
            if 'atrofia/degeneração' in linha:
                sinais_atuais.add('atrofia_degeneracao')
            if 'irritação/estresse' in linha:
                sinais_atuais.add('irritacao_estresse')
    
    return dict(resultados)

def criar_interface():
    """
    Cria a interface moderna do Gradio com tema verde piscina
    """
    def analisar(texto_analise):
        resultados = analisar_doencas(texto_analise)
        
        # Gerar relatório estruturado
        saida = "ANÁLISE DETALHADA DE DOENÇAS POR IRIDOLOGIA\n\n"
        
        # Agrupar por sistemas
        sistemas = {
            "Sistema Nervoso": ["Cerebro", "Sistema Nervoso"],
            "Sistema Digestivo": ["Estomago", "Figado", "Vesicula", "Pancreas", 
                                "Sistema Digestivo", "Intestino Grosso", "Intestino Delgado"],
            "Sistema Circulatório": ["Coracao"],
            "Sistema Respiratório": ["Pulmao", "Bronquios"],
            "Sistema Endócrino": ["Tireoide"],
            "Sistema Urinário": ["Rim Direito", "Rim Esquerdo", "Bexiga"]
        }
        
        for sistema, orgaos in sistemas.items():
            saida += f"\n{sistema.upper()}\n{'='*len(sistema)}\n"
            
            doenças_sistema = []
            for orgao in orgaos:
                if orgao in resultados:
                    for resultado in resultados[orgao]:
                        doenças_sistema.append({
                            'orgao': orgao,
                            **resultado
                        })
            
            if doenças_sistema:
                # Ordenar por probabilidade
                doenças_sistema.sort(key=lambda x: x['probabilidade'], reverse=True)
                
                for doença in doenças_sistema:
                    prob_percent = doença['probabilidade'] * 100
                    saida += f"\n• {doença['doença']} ({doença['categoria']})\n"
                    saida += f"  Órgão: {doença['orgao']}\n"
                    saida += f"  Probabilidade: {prob_percent:.1f}%\n"
                    saida += f"  Exames Recomendados: {', '.join(doença['exames'])}\n"
                    saida += f"  Tratamentos Sugeridos: {', '.join(doença['tratamentos'])}\n"
            else:
                saida += "  Sem alterações significativas\n"
        
        return saida

    # Tema personalizado verde piscina
    theme = gr.themes.Soft(
        primary_hue="teal",
        secondary_hue="green",
    ).set(
        body_text_color="#2A9D8F",
        block_title_text_color="#264653",
        block_label_text_color="#2A9D8F",
        input_background_fill="#E9F5F3",
        button_primary_background_fill="#2A9D8F",
        button_primary_background_fill_dark="#264653",
        button_primary_text_color="#FFFFFF",
        button_primary_text_color_dark="#FFFFFF",
    )

    # Interface com abas
    with gr.Blocks(theme=theme, title="Análise Avançada de Doenças por Iridologia") as interface:
        gr.Markdown("""
        # Sistema Avançado de Análise de Doenças por Iridologia
        ### Análise detalhada com probabilidades e recomendações específicas
        """)
        
        with gr.Tabs():
            # Aba de Análise Principal
            with gr.Tab("Análise de Doenças"):
                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 Doenças", variant="primary")
                output_text = gr.Textbox(
                    label="Relatório de Doenças",
                    lines=30
                )
                
                analysis_btn.click(
                    fn=analisar,
                    inputs=[input_text],
                    outputs=[output_text]
                )
            
            # Aba de Interpretação
            with gr.Tab("Guia de Interpretação"):
                gr.Markdown("""
                ## Interpretação dos Resultados
                
                ### Níveis de Probabilidade
                - **>80%**: Alta probabilidade - Investigação prioritária
                - **60-80%**: Probabilidade moderada - Investigação recomendada
                - **40-60%**: Probabilidade média - Monitoramento
                - **<40%**: Baixa probabilidade - Observação
                
                ### Categorias de Doenças Analisadas
                1. **Doenças Autoimunes**
                   - Artrite Reumatoide
                   - Lúpus
                   - Esclerose Múltipla
                
                2. **Doenças Endócrinas**
                   - Hipotireoidismo
                   - Diabetes
                   - Doença de Addison
                
                3. **Doenças Degenerativas**
                   - Alzheimer
                   - Parkinson
                   - Osteoporose
                
                4. **Doenças Inflamatórias**
                   - Doença de Crohn
                   - Colite Ulcerativa
                   - Artrite
                """)
            
            # Aba de Recomendações
            with gr.Tab("Recomendações"):
                gr.Markdown("""
                ## Recomendações Gerais
                
                ### Exames Complementares
                - Exames laboratoriais específicos
                - Exames de imagem
                - Avaliações funcionais
                
                ### Abordagens Terapêuticas
                1. **Convencionais**
                   - Medicamentos específicos
                   - Acompanhamento médico
                   - Fisioterapia
                
                2. **Complementares**
                   - Fitoterapia
                   - Acupuntura
                   - Homeopatia
                
                3. **Mudanças de Estilo de Vida**
                   - Alimentação
                   - Exercícios
                   - Gestão do estresse
                """)
    
    return interface

if __name__ == "__main__":
    interface = criar_interface()
    interface.launch(share=True)