Julia-Amadio commited on
Commit ·
3ac2966
1
Parent(s): a9c332e
Solução mais elegante para o corpo de resposta.
Browse files- doencas.json +11 -0
- main.py +7 -2
doencas.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
| 1 |
{
|
| 2 |
"Oidio": {
|
|
|
|
| 3 |
"descricao": "Descrição aqui.",
|
| 4 |
"sintomas": [
|
| 5 |
"Sintoma 1.",
|
|
@@ -9,6 +10,7 @@
|
|
| 9 |
"tratamento": "Tratamento aqui."
|
| 10 |
},
|
| 11 |
"Mancha Parda": {
|
|
|
|
| 12 |
"descricao": "Descrição aqui.",
|
| 13 |
"sintomas": [
|
| 14 |
"Sintoma 1.",
|
|
@@ -18,6 +20,7 @@
|
|
| 18 |
"tratamento": "Tratamento aqui."
|
| 19 |
},
|
| 20 |
"Ferrugem": {
|
|
|
|
| 21 |
"descricao": "Causada pelo fungo Phakopsora pachyrhizi, é uma das doenças mais severas da soja...",
|
| 22 |
"sintomas": [
|
| 23 |
"Pequenas pústulas (bolinhas) na parte de baixo da folha.",
|
|
@@ -27,6 +30,7 @@
|
|
| 27 |
"tratamento": "Aplicação de fungicidas sistêmicos e de contato. Rotacionar culturas e usar variedades resistentes."
|
| 28 |
},
|
| 29 |
"Mosaico Amarelo": {
|
|
|
|
| 30 |
"descricao": "Descrição aqui.",
|
| 31 |
"sintomas": [
|
| 32 |
"Sintoma 1.",
|
|
@@ -36,6 +40,7 @@
|
|
| 36 |
"tratamento": "Tratamento aqui."
|
| 37 |
},
|
| 38 |
"Virus do Mosaico": {
|
|
|
|
| 39 |
"descricao": "Causado pelo Soybean Mosaic Virus (SMV), transmitido por pulgões.",
|
| 40 |
"sintomas": [
|
| 41 |
"Folhas novas ficam enrugadas e com padrões de verde claro e escuro (mosaico).",
|
|
@@ -44,6 +49,7 @@
|
|
| 44 |
"tratamento": "Não há cura. Use sementes sadias e controle os pulgões (vetores) com inseticidas."
|
| 45 |
},
|
| 46 |
"Mancha bacteriana": {
|
|
|
|
| 47 |
"descricao": "Descrição aqui.",
|
| 48 |
"sintomas": [
|
| 49 |
"Sintoma 1.",
|
|
@@ -53,6 +59,7 @@
|
|
| 53 |
"tratamento": "Tratamento aqui."
|
| 54 |
},
|
| 55 |
"Podridão do Sul": {
|
|
|
|
| 56 |
"descricao": "Descrição aqui.",
|
| 57 |
"sintomas": [
|
| 58 |
"Sintoma 1.",
|
|
@@ -62,6 +69,7 @@
|
|
| 62 |
"tratamento": "Tratamento aqui."
|
| 63 |
},
|
| 64 |
"Queima das folhas por cercosporea": {
|
|
|
|
| 65 |
"descricao": "Descrição aqui.",
|
| 66 |
"sintomas": [
|
| 67 |
"Sintoma 1.",
|
|
@@ -71,6 +79,7 @@
|
|
| 71 |
"tratamento": "Tratamento aqui."
|
| 72 |
},
|
| 73 |
"Sindome da Morte Subita": {
|
|
|
|
| 74 |
"descricao": "Descrição aqui.",
|
| 75 |
"sintomas": [
|
| 76 |
"Sintoma 1.",
|
|
@@ -80,12 +89,14 @@
|
|
| 80 |
"tratamento": "Tratamento aqui."
|
| 81 |
},
|
| 82 |
"Saudavel": {
|
|
|
|
| 83 |
"descricao": "A folha não apresenta sinais visíveis de patógenos.",
|
| 84 |
"sintomas": ["Nenhum."],
|
| 85 |
"tratamento": "Continuar monitoramento e boas práticas agrícolas."
|
| 86 |
},
|
| 87 |
|
| 88 |
"Lagarta": {
|
|
|
|
| 89 |
"descricao": "Diversas espécies de lagartas, como a lagarta-da-soja (Anticarsia gemmatalis) ou a falsa-medideira (Chrysodeixis includens), atacam as lavouras de soja, causando desfolha e redução da produtividade.",
|
| 90 |
"sintomas": [
|
| 91 |
"Folhas comidas ou roídas, muitas vezes começando pelas bordas.",
|
|
|
|
| 1 |
{
|
| 2 |
"Oidio": {
|
| 3 |
+
"nome": "Oídio",
|
| 4 |
"descricao": "Descrição aqui.",
|
| 5 |
"sintomas": [
|
| 6 |
"Sintoma 1.",
|
|
|
|
| 10 |
"tratamento": "Tratamento aqui."
|
| 11 |
},
|
| 12 |
"Mancha Parda": {
|
| 13 |
+
"nome": "Mancha Parda",
|
| 14 |
"descricao": "Descrição aqui.",
|
| 15 |
"sintomas": [
|
| 16 |
"Sintoma 1.",
|
|
|
|
| 20 |
"tratamento": "Tratamento aqui."
|
| 21 |
},
|
| 22 |
"Ferrugem": {
|
| 23 |
+
"nome": "Ferrugem Asiática",
|
| 24 |
"descricao": "Causada pelo fungo Phakopsora pachyrhizi, é uma das doenças mais severas da soja...",
|
| 25 |
"sintomas": [
|
| 26 |
"Pequenas pústulas (bolinhas) na parte de baixo da folha.",
|
|
|
|
| 30 |
"tratamento": "Aplicação de fungicidas sistêmicos e de contato. Rotacionar culturas e usar variedades resistentes."
|
| 31 |
},
|
| 32 |
"Mosaico Amarelo": {
|
| 33 |
+
"nome": "Mosaico Amarelo",
|
| 34 |
"descricao": "Descrição aqui.",
|
| 35 |
"sintomas": [
|
| 36 |
"Sintoma 1.",
|
|
|
|
| 40 |
"tratamento": "Tratamento aqui."
|
| 41 |
},
|
| 42 |
"Virus do Mosaico": {
|
| 43 |
+
"nome": "Vírus do Mosaico",
|
| 44 |
"descricao": "Causado pelo Soybean Mosaic Virus (SMV), transmitido por pulgões.",
|
| 45 |
"sintomas": [
|
| 46 |
"Folhas novas ficam enrugadas e com padrões de verde claro e escuro (mosaico).",
|
|
|
|
| 49 |
"tratamento": "Não há cura. Use sementes sadias e controle os pulgões (vetores) com inseticidas."
|
| 50 |
},
|
| 51 |
"Mancha bacteriana": {
|
| 52 |
+
"nome": "Mancha Bacteriana",
|
| 53 |
"descricao": "Descrição aqui.",
|
| 54 |
"sintomas": [
|
| 55 |
"Sintoma 1.",
|
|
|
|
| 59 |
"tratamento": "Tratamento aqui."
|
| 60 |
},
|
| 61 |
"Podridão do Sul": {
|
| 62 |
+
"nome": "Podridão do Sul",
|
| 63 |
"descricao": "Descrição aqui.",
|
| 64 |
"sintomas": [
|
| 65 |
"Sintoma 1.",
|
|
|
|
| 69 |
"tratamento": "Tratamento aqui."
|
| 70 |
},
|
| 71 |
"Queima das folhas por cercosporea": {
|
| 72 |
+
"nome": "Queima foliar por Cercospora",
|
| 73 |
"descricao": "Descrição aqui.",
|
| 74 |
"sintomas": [
|
| 75 |
"Sintoma 1.",
|
|
|
|
| 79 |
"tratamento": "Tratamento aqui."
|
| 80 |
},
|
| 81 |
"Sindome da Morte Subita": {
|
| 82 |
+
"nome": "Síndrome da Morte Súbita",
|
| 83 |
"descricao": "Descrição aqui.",
|
| 84 |
"sintomas": [
|
| 85 |
"Sintoma 1.",
|
|
|
|
| 89 |
"tratamento": "Tratamento aqui."
|
| 90 |
},
|
| 91 |
"Saudavel": {
|
| 92 |
+
"nome": "Saudável",
|
| 93 |
"descricao": "A folha não apresenta sinais visíveis de patógenos.",
|
| 94 |
"sintomas": ["Nenhum."],
|
| 95 |
"tratamento": "Continuar monitoramento e boas práticas agrícolas."
|
| 96 |
},
|
| 97 |
|
| 98 |
"Lagarta": {
|
| 99 |
+
"nome": "Lagarta",
|
| 100 |
"descricao": "Diversas espécies de lagartas, como a lagarta-da-soja (Anticarsia gemmatalis) ou a falsa-medideira (Chrysodeixis includens), atacam as lavouras de soja, causando desfolha e redução da produtividade.",
|
| 101 |
"sintomas": [
|
| 102 |
"Folhas comidas ou roídas, muitas vezes começando pelas bordas.",
|
main.py
CHANGED
|
@@ -97,16 +97,21 @@ async def classify_image(file: UploadFile = File(...), token: str = Depends(veri
|
|
| 97 |
#Usa .get() para buscar a chave. Se não encontrar, retorna um
|
| 98 |
#dicionário vazio ou uma mensagem de erro, com segurança
|
| 99 |
info_adicional = DB_INFO.get(classe_predita, {
|
|
|
|
| 100 |
"descricao": "Informações não disponíveis.",
|
| 101 |
"sintomas": [],
|
| 102 |
"tratamento": ""
|
| 103 |
})
|
| 104 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 105 |
print(f">> [{datetime.now().strftime('%d/%m %H:%M:%S')}] | Diagnóstico para {file.filename}: {classe_predita}")
|
| 106 |
|
| 107 |
-
#Retorna a resposta "rica"
|
| 108 |
return {
|
| 109 |
-
"diagnostico":
|
|
|
|
| 110 |
"info": info_adicional
|
| 111 |
}
|
| 112 |
|
|
|
|
| 97 |
#Usa .get() para buscar a chave. Se não encontrar, retorna um
|
| 98 |
#dicionário vazio ou uma mensagem de erro, com segurança
|
| 99 |
info_adicional = DB_INFO.get(classe_predita, {
|
| 100 |
+
"nome": classe_predita, #Fallback: se não achar no JSON, usa a chave feia
|
| 101 |
"descricao": "Informações não disponíveis.",
|
| 102 |
"sintomas": [],
|
| 103 |
"tratamento": ""
|
| 104 |
})
|
| 105 |
|
| 106 |
+
#PEGA O NOME "BONITO" DO JSON
|
| 107 |
+
#Tenta pegar o campo 'nome'. Se não existir, usa a 'classe_predita'
|
| 108 |
+
nome_exibicao = info_adicional.get("nome", classe_predita)
|
| 109 |
+
|
| 110 |
print(f">> [{datetime.now().strftime('%d/%m %H:%M:%S')}] | Diagnóstico para {file.filename}: {classe_predita}")
|
| 111 |
|
|
|
|
| 112 |
return {
|
| 113 |
+
"diagnostico": nome_exibicao, #AQUI VAI O NOME CORRIGIDO, INDEPENDENTE DE RÓTULO DO DATASET
|
| 114 |
+
"id_tecnico": classe_predita, #(Opcional) ID técnico caso necessário
|
| 115 |
"info": info_adicional
|
| 116 |
}
|
| 117 |
|