How rkomtchuente/odir works
ODIR is a multi-class fundus-image disease classifier exposed through a FastAPI endpoint. A client submits left- and right-eye images plus age and gender; the service preprocesses these inputs, runs the classifier, and returns eight named probabilities. The model combines separate eye-image feature extractors with an encoded demographic vector. The excerpts show inference and model structure, but not how the checkpoint was trained or how the dataset is used.
Main entry points: app.py Diagnosis endpoint · model.py ODIR classifier · odir_model.pth Model checkpoint
Components 9
Inference service
- Diagnosis endpoint
app.py - Input preprocessing
app.py - Model checkpoint
odir_model.pth - Disease probabilities
app.py
Classification model
- ODIR classifier
model.py - Eye feature extractors
model.py - Attribute encoder
model.py - Fusion classifier
model.py
Other components
- Image submitter
Connections 8
- Image submitter → Diagnosis endpoint: submits images
app.py - Diagnosis endpoint → Input preprocessing: preprocesses inputs
app.py - Diagnosis endpoint → Model checkpoint: loads weights
app.py - Diagnosis endpoint → ODIR classifier: runs inference
app.py - ODIR classifier → Eye feature extractors: extracts features
model.py - ODIR classifier → Attribute encoder: encodes attributes
model.py - ODIR classifier → Fusion classifier: classifies combined features
model.py - Diagnosis endpoint → Disease probabilities: returns probabilities
app.py