File size: 1,849 Bytes
53f68d5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f3772fd
 
 
 
 
2e9e564
 
 
 
 
 
 
 
 
 
 
 
 
 
f3772fd
 
 
2e9e564
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
"""Cercle 2 — Evaluation.

Vues d'évaluation, projecteurs et calculs de métriques.

Le cœur de la valeur ajoutée Picarones : **comparer librement des
pipelines hétérogènes en projetant leurs sorties vers une vue
d'évaluation explicite**.  L'utilisateur ne compare jamais directement
un OCR brut et une sortie ALTO reconstruite — il compare leur
projection dans une vue commune (texte, ALTO, recherchabilité, etc.)
et le rapport explicite ce que la vue ignore.

Sous-packages :

- ``views/`` — ``TextView``, ``AltoView``, ``SearchView``, ...
- ``projectors/`` — ``AltoToText``, ``PageToText``, ``CanonicalToText``,
  qui transforment un type d'artefact vers un autre avec un
  ``ProjectionReport`` listant les pertes (lossiness explicite).
- ``metrics/`` — calculs purs : CER/WER, MUFI, philological,
  statistics, NER, etc.  Une métrique = ``(input_types, output_types,
  callable)``.
- ``registry/`` — registre typé construit explicitement par un
  service au démarrage (pas par effet de bord d'import).

Règles d'import : ce cercle dépend de ``domain/`` uniquement.  Pas
de fastapi, pas de jinja, pas de moteur OCR.  Il peut utiliser
``numpy`` et ``scipy`` pour les calculs statistiques.

Voir ``docs/roadmap/rewrite-2026.md`` pour le rôle des vues dans le
rewrite ciblé (Sprints S13-S18).
"""

from __future__ import annotations

from picarones.evaluation._diff_utils import (
    compute_char_diff,
    compute_word_diff,
    diff_stats,
)
from picarones.evaluation.evaluation_engine import (
    EvaluationEngine,
    EvaluationResult,
)
from picarones.evaluation.projection_engine import (
    ProjectionEngine,
    ProjectionResult,
)

__all__ = [
    "EvaluationEngine",
    "EvaluationResult",
    "ProjectionEngine",
    "ProjectionResult",
    "compute_char_diff",
    "compute_word_diff",
    "diff_stats",
]