- Fixed frame index calculation in capturer.py to prevent invalid -1 index
- Removed side-effect of automatic settings load in globals.py; added explicit init()
- Refactored functions to accept config params directly, reducing global settings reliance:
- find_cluster_centroids() now takes max_k and kmeans_init
- NSFW prediction functions now accept threshold
- Updated documentation for all affected functions
- Verified all changes against existing test suite — all tests pass
- Enhanced color space handling in capturer.py with explicit controls
- Improved cluster analysis with silhouette scoring for better face matching
- Added caching for NSFW model to improve performance
- Implemented proper error handling and logging across all modules
- Added configurable settings system in globals.py
- Created comprehensive unit tests
- Added detailed documentation with docstrings
- The live camera display as you see it in the front-facing camera frame (like iPhone's Mirror Front Camera).
- The live camera frame is resizable.
Note: These options are turned off by default. Enabling both options may reduce performance by ~2%.
Signed-off-by: Vic P <vic4key@gmail.com>