How vanogamer/facefinderpro works
Face Scanner is a Tkinter desktop application for recognizing people in photo collections, routing results, and managing long or interrupted scans. The main workflow checks reference-photo quality, prepares face embeddings, scans a selected folder, then classifies images as matches, uncertain results, duplicates, or unmatched files. README capabilities are represented alongside the workflow. Because the application is a single source file and the excerpts are partial, subsystem paths point to index.py; links not established by the README or sampled code are omitted.
Main entry points: index.py Tkinter Interface
Components 21
Desktop Interface
- Tkinter Interface
index.py - Progress & Logging
index.py - Completion Notification
index.py
Recognition & Routing
- Reference Quality
index.py - Face Embeddings
index.py - Face Matching
index.py - Multi-Person Router
index.py - Duplicate Detection
index.py - Result Classification
index.py
Scan Operations
- Image Scanning
index.py - Matched Outputs
- Review Queue
index.py - Unmatched Results
- Scan Controls
index.py - Live Watch
index.py - Resource Monitoring
index.py
State & Results
- History & Rollback
index.py - Resume State
index.py - SQLite Results
index.py
Other components
- User
- ONNX DirectML
Connections 29
- User → Tkinter Interface: operates
- Tkinter Interface → Reference Quality: checks references
- Tkinter Interface → Face Embeddings: prepares references
- Reference Quality → Face Embeddings: qualifies references
- Tkinter Interface → Image Scanning: starts scan
- Image Scanning → Face Matching: provides images
- Face Embeddings → Face Matching: provides references
- Tkinter Interface → Multi-Person Router: starts routing
- Multi-Person Router → Face Matching: matches people
- Image Scanning → Duplicate Detection: checks images
- Face Matching → Result Classification: provides match result
- Duplicate Detection → Result Classification: provides duplicate result
- Result Classification → Matched Outputs: routes matches
- Result Classification → Review Queue: queues uncertain
- Result Classification → Unmatched Results: routes unmatched
- Tkinter Interface → Scan Controls: controls operation
- Live Watch → Image Scanning: submits new files
- Resource Monitoring → Image Scanning: throttles processing
- Image Scanning → Progress & Logging: reports progress
- Multi-Person Router → Progress & Logging: reports progress
- Tkinter Interface → History & Rollback: manages history
- History & Rollback → Resume State: restores settings
- Image Scanning → Resume State: saves scan state
- Multi-Person Router → Resume State: saves router state
- Image Scanning → SQLite Results: stores results
- Multi-Person Router → SQLite Results: stores results
- History & Rollback → SQLite Results: reads scan records
- Face Embeddings → ONNX DirectML: uses when available
- Tkinter Interface → Completion Notification: notifies completion