Lemme share a half-baked project of mine LUMEN, which I am currently working on.
LUMEN - Full Stack Image Data Analyzer
(will share the link after completing)
It's primarily a learning project, not a platform/SaaS or something.
The basic idea:
The basic idea is simple: give LUMEN an image, and it extracts different properties from it and stores the analysis as structured data.
Working:
The image is first loaded using PIL and converted into a NumPy array. LUMEN then performs different types of analysis, including:
- Image dimensions
- dtype, std
- min/max, mean
- RGB channel statistics
- Histograms and intensity distribution
- Perceptual brightness
- Contrast, Sharpness / blur
- Colorfulness, Dominant colors
- Exposure, Entropy
- Duplicate detection
For duplicate detection, I use SHA-256 hashing. The image is hashed and the resulting hash can be used to identify identical files and group duplicates.
Also using pytest to test the analysis functions.
Database side -
Made a persistence layer using PostgreSQL + SQLAlchemy.
The idea is to store the analyzed images and their results as structured records.
For example, an image can have information such as:
- ID
- filename
- dimensions
- file information
- analysis timestamp
And the analysis can contain things like:
- mean brightness
- standard deviation
- minimum / maximum values
- RGB channel statistics
- quality metrics
SQLAlchemy ORM is used to represent DB tables as Python models.
Backend — (Work in progress)
The backend is being built with FastAPI,
FastAPI receives the image/request, the analysis engine processes it and the results are validated and structured, and the relevant data is persisted in PostgreSQL.
And the frontend will be made later and then deployment......✌🏼
Still work in progress, but this is where LUMEN is currently at, rn making the backend part :)
Top comments (0)