Update app.py
Browse files
app.py
CHANGED
@@ -11,28 +11,26 @@ app = FastAPI()
|
|
11 |
# Chargement des modèles
|
12 |
def load_models():
|
13 |
return {
|
14 |
-
"chest_classifier": pipeline("image-classification", model="codewithdark/vit-chest-xray"
|
15 |
}
|
16 |
|
17 |
models = load_models()
|
18 |
|
19 |
# Liste des maladies dans l'ordre des labels du modèle
|
20 |
-
LABEL_MAP =
|
21 |
-
'Kardiomegalie', # Élargissement du cœur
|
22 |
-
'Ödem', # Œdème
|
23 |
-
'Konsolidierung', # Consolidation
|
24 |
-
'Lungenentzündung', # Pneumonie
|
25 |
-
'Kein Befund' # Aucune anomalie
|
26 |
-
|
27 |
|
28 |
-
def translate_label(
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
except (ValueError, IndexError):
|
35 |
-
return f"Unbekannt ({index})"
|
36 |
return translations.get(label, label)
|
37 |
|
38 |
def image_to_base64(image):
|
@@ -257,7 +255,7 @@ async def analyze_file(file: UploadFile = File(...)):
|
|
257 |
results_html += f"""
|
258 |
<div>
|
259 |
<span class="{confidence_class}">{pred['score']:.1%}</span> -
|
260 |
-
{translate_label(pred['label']
|
261 |
</div>
|
262 |
"""
|
263 |
|
|
|
11 |
# Chargement des modèles
|
12 |
def load_models():
|
13 |
return {
|
14 |
+
"chest_classifier": pipeline("image-classification", model="codewithdark/vit-chest-xray")
|
15 |
}
|
16 |
|
17 |
models = load_models()
|
18 |
|
19 |
# Liste des maladies dans l'ordre des labels du modèle
|
20 |
+
LABEL_MAP = {
|
21 |
+
'LABEL_0': 'Kardiomegalie', # Élargissement du cœur
|
22 |
+
'LABEL_1': 'Ödem', # Œdème
|
23 |
+
'LABEL_2': 'Konsolidierung', # Consolidation
|
24 |
+
'LABEL_3': 'Lungenentzündung', # Pneumonie
|
25 |
+
'LABEL_4': 'Kein Befund' # Aucune anomalie
|
26 |
+
}
|
27 |
|
28 |
+
def translate_label(label):
|
29 |
+
# Si le label est au format "LABEL_X", on le traduit
|
30 |
+
if isinstance(label, str) and label in LABEL_MAP:
|
31 |
+
return LABEL_MAP[label]
|
32 |
+
# Sinon on retourne le label original avec un avertissement
|
33 |
+
return f"Unbekannt ({label})"
|
|
|
|
|
34 |
return translations.get(label, label)
|
35 |
|
36 |
def image_to_base64(image):
|
|
|
255 |
results_html += f"""
|
256 |
<div>
|
257 |
<span class="{confidence_class}">{pred['score']:.1%}</span> -
|
258 |
+
{translate_label(pred['label'])}
|
259 |
</div>
|
260 |
"""
|
261 |
|