gui: Ajout indicateurs qualité (fuites, performances)

This commit is contained in:
2026-03-02 21:34:18 +01:00
parent 78adb3ba70
commit 3b1f6cdfbe
11 changed files with 2518 additions and 1845 deletions

View File

@@ -0,0 +1,72 @@
# Bugfix: _DOCTR_AVAILABLE Non Défini
**Date**: 2 mars 2026
**Commit**: d103cb2
## Problème
Erreur `name '_DOCTR_AVAILABLE' is not defined` sur ~15 documents ANAPATH scannés lors de la validation du corpus complet.
## Cause Racine
La variable `_DOCTR_AVAILABLE` était définie dans le mauvais bloc `except` :
```python
# AVANT (incorrect)
try:
from doctr.models import ocr_predictor as _doctr_ocr_predictor
_DOCTR_AVAILABLE = True
except Exception:
_doctr_ocr_predictor = None # ❌ _DOCTR_AVAILABLE manquant ici
try:
from detectors.hospital_filter import HospitalFilter
_HOSPITAL_FILTER_AVAILABLE = True
except Exception:
_HOSPITAL_FILTER_AVAILABLE = False
HospitalFilter = None
_DOCTR_AVAILABLE = False # ❌ Mauvais endroit !
```
**Problème**: Si l'import `doctr` réussit mais que `hospital_filter` échoue, `_DOCTR_AVAILABLE` était redéfini à `False`. Si `hospital_filter` réussit, `_DOCTR_AVAILABLE` n'était jamais défini en cas d'échec de `doctr`.
## Solution
Déplacer `_DOCTR_AVAILABLE = False` dans le bon bloc `except` :
```python
# APRÈS (correct)
try:
from doctr.models import ocr_predictor as _doctr_ocr_predictor
_DOCTR_AVAILABLE = True
except Exception:
_doctr_ocr_predictor = None
_DOCTR_AVAILABLE = False # ✅ Bon endroit !
try:
from detectors.hospital_filter import HospitalFilter
_HOSPITAL_FILTER_AVAILABLE = True
except Exception:
_HOSPITAL_FILTER_AVAILABLE = False
HospitalFilter = None # ✅ Plus de _DOCTR_AVAILABLE ici
```
## Tests
Testé sur 2 documents qui échouaient :
- `338_23073425/anapath 338_23073425.pdf` : ✅ Succès
- `19_23103383/ANAPATH 23103383.pdf` : ✅ Succès (0 PII, document vide)
## Impact
- **Documents affectés**: ~15 ANAPATH scannés
- **Taux de succès**: Passe de ~93% à ~95% sur le corpus complet
- **Aucun impact sur la qualité**: Les documents échouaient avant traitement
## Fichiers Modifiés
- `anonymizer_core_refactored_onnx.py` (ligne 51-58)
## Validation
Le bug est corrigé et testé. La validation du corpus complet continue avec le code corrigé (89% complété au moment du commit).