How khaisaigon/btl_xla_nhom_5_histogram works
This is a Streamlit image-processing experiment app for grayscale 8-bit histogram operations. Users upload image(s), choose one of three workflows, inspect transformed images, histograms/CDFs and comparison metrics, and download results. The graph includes the shared algorithm and analysis layers plus the documented Jupyter experiment capability. Source excerpts and the README support the main flow; some module links rely on the supplied SOURCE INDEX, so unsampled details are not inferred.
Main entry points: histogram_equalization.py Equalization page · adaptive_equalization.py Adaptive page · histogram_matching.py Matching page · app.py Streamlit app
Components 13
Web interface
- Streamlit app
app.py - Equalization page
web_modules/histogram_equalization.py - Adaptive page
web_modules/adaptive_equalization.py - Matching page
web_modules/histogram_matching.py
Image preparation
- Image preprocessing
src/preprocessing.py
Histogram algorithms
- Histogram functions
src/histogram.py - Histogram equalization
src/equalization.py - Adaptive equalization
src/adaptive_equalization.py - Histogram matching
src/histogram_matching.py
Results and evaluation
- Image metrics
src/metrics.py - Charts and CDFs
src/visualization.py - Jupyter experiments
Histogram_and_Histogram Equalization_Nhom5.ipynb
Other components
- User
Connections 21
- User → Streamlit app: uploads and selects
README.md - Streamlit app → Equalization page: dispatches to
app.py - Streamlit app → Adaptive page: dispatches to
app.py - Streamlit app → Matching page: dispatches to
app.py - Equalization page → Image preprocessing: converts image
web_modules/histogram_equalization.py - Adaptive page → Image preprocessing: converts image
web_modules/adaptive_equalization.py - Matching page → Image preprocessing: converts images
web_modules/histogram_matching.py - Equalization page → Histogram equalization: runs methods
web_modules/histogram_equalization.py - Adaptive page → Adaptive equalization: runs methods
web_modules/adaptive_equalization.py - Matching page → Histogram matching: runs methods
web_modules/histogram_matching.py - Histogram equalization → Histogram functions: uses histogram functions
src/equalization.py - Equalization page → Image metrics: compares results
web_modules/histogram_equalization.py - Adaptive page → Image metrics: compares results
web_modules/adaptive_equalization.py - Matching page → Image metrics: evaluates results
web_modules/histogram_matching.py - Equalization page → Charts and CDFs: renders results
web_modules/histogram_equalization.py - Adaptive page → Charts and CDFs: renders results
web_modules/adaptive_equalization.py - Matching page → Charts and CDFs: plots CDFs
web_modules/histogram_matching.py - Charts and CDFs → Histogram functions: calculates distributions
src/visualization.py - Jupyter experiments → Histogram equalization: reuses algorithms
README.md - Jupyter experiments → Adaptive equalization: reuses algorithms
README.md - Jupyter experiments → Histogram matching: reuses algorithms
README.md