How maminiaina-tech/mamiloko-vision works
MamiLoko Vision is a Streamlit application for image retouching and perceptual color analysis. The user uploads an image; the app loads and resizes it, then offers a live retouching path and a separate analysis path. Analysis converts pixels to LAB, samples them, selects or accepts K, clusters, estimates color proportions, names colors, and reconstructs a segmented image; results are displayed and exported. Histogram comparison supports the retouching workflow. Some UI wiring is omitted from the excerpts, so the graph avoids uncertain connections.
Main entry points: color_analyzer.py Analysis workflow · app.py App workflow · result_renderer.py Results UI · image_processor.py Image processing
Components 12
Streamlit interface
- App workflow
app.py - Results UI
result_renderer.py - UI styling
styles.py
Image retouching
- Image editor
image_editor.py - Histogram analysis
histogram_processor.py
Color analysis
- Image processing
image_processor.py - Analysis workflow
color_analyzer.py - Color conversion
color_processor.py - KMeans clustering
clustering_service.py
Shared data
- Analysis results
models.py - Analysis settings
constants.py
Other components
- Image user
Connections 16
- Image user → App workflow: uploads image
- App workflow → UI styling: injects CSS
- App workflow → Image processing: loads image
- App workflow → Analysis workflow: requests analysis
- App workflow → Image editor: applies adjustments
- App workflow → Results UI: renders interface
- Image processing → Analysis workflow: provides pixels
- Analysis workflow → Image processing: samples and rebuilds
- Analysis workflow → Color conversion: converts colors
- Analysis workflow → KMeans clustering: fits and predicts
- Analysis workflow → Analysis results: creates results
- Analysis workflow → Analysis settings: reads parameters
- KMeans clustering → Analysis settings: reads cluster bounds
- Results UI → Histogram analysis: computes comparisons
- Results UI → Analysis results: displays and exports
- Results UI → Image user: shows results