File size: 1,139 Bytes
aac350d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
"""
Pipeline package β€” local processing stages that run BEFORE the
orchestrator fans out to providers.

Flow:
    raw user input (bytes / URL / base64)
        ↓
    validation.py        β€” InputValidator   (reject bad input)
        ↓
    preprocessing.py     β€” ImagePreprocessor (decode, resize, normalize)
        ↓
    hashing.py           β€” ImageHasher       (SHA-256 cache key)
        ↓
    feature_extraction.py β€” FeatureExtractor (face crops, default-detector boxes)
        ↓
    PipelineOutput       (consumed by orchestrator)

The orchestrator receives a PipelineOutput, never raw user input.
"""

from pipeline.validation import InputValidator, ValidationResult
from pipeline.preprocessing import ImagePreprocessor, PreprocessedImage
from pipeline.hashing import ImageHasher
from pipeline.feature_extraction import FeatureExtractor, PipelineOutput
from pipeline.postprocessing import ResultPostprocessor

__all__ = [
    "InputValidator",
    "ValidationResult",
    "ImagePreprocessor",
    "PreprocessedImage",
    "ImageHasher",
    "FeatureExtractor",
    "PipelineOutput",
    "ResultPostprocessor",
]