How teampixai/teampixpython works
TeamPixPython is a local sports-photo culling application: users configure a team and album in the browser, import photos for analysis, review sharpness and other-team filtering, optionally identify players or use AI features, then export keepers. The graph preserves the documented face, jersey, burst-ranking, editing, and export capabilities. Some UI and subsystem sources were not sampled; edges for those features are limited to README descriptions or omitted where wiring is not evidenced.
Main entry points: 1_prep_review.py Photo import · culling_app.py Local web app · image_analysis.py Image and pose analysis · album-tools.js Album tools
Components 28
Application workflow
- Local web app
culling_app.py - Photo import
1_prep_review.py - Team setup
webui/culling/static/js/team.js - Album selection
webui/culling/static/js/select-album.js
Photo analysis
- Analysis settings
algo/config.py - Image and pose analysis
algo/stages/image_analysis.py - MediaPipe detection
algo/mediapipe_provider.py - Face sharpness grading
algo/stages/grading.py - Jersey filtering
algo/stages/jersey_counting.py - Photo annotations
algo/stages/annotation.py - Frame data
algo/frame.py
Faces and players
- Face recognition
algo/facereco.py - Face crops and embeddings
algo/face_crop_embed.py - Face management
webui/culling/static/js/faces.js
Review and editing
- Burst ranking and ratings
algo/stages/llm_culling.py - OpenAI culling provider
algo/llm/culling_provider.py - Culling review
webui/culling/static/js/culling.js - AI editing
autoedit.py - AI crop suggestions
algo/llm/auto_crop.py
Album and export
- Album model
algo/album.py - Album metadata
algo/album_info.py - Analysis results
algo/results.py - Album tools
webui/culling/static/js/album-tools.js - Keeper export
apply_export.py - Burst video
algo/burst_video.py
Other components
- Photographer
- Browser UI
- OpenAI API
Connections 28
- Photographer → Browser UI: uses
README.md - Browser UI → Local web app: opens
README.md - Local web app → Photo import: starts import
culling_app.py - Browser UI → Team setup: configures
README.md - Browser UI → Album selection: selects album
README.md - Photo import → Album model: creates album data
1_prep_review.py - Photo import → Image and pose analysis: runs analysis
1_prep_review.py - Image and pose analysis → MediaPipe detection: detects people
algo/stages/image_analysis.py - Image and pose analysis → Frame data: builds frames
algo/stages/image_analysis.py - Image and pose analysis → Face sharpness grading: supplies detections
1_prep_review.py - Photo import → Jersey filtering: filters jerseys
1_prep_review.py - Photo import → Photo annotations: creates previews
1_prep_review.py - Photo import → Burst ranking and ratings: runs optional ranking
1_prep_review.py - Burst ranking and ratings → OpenAI culling provider: requests rankings
algo/stages/llm_culling.py - OpenAI culling provider → OpenAI API: calls API
README.md - Photo import → Analysis results: records results
1_prep_review.py - Photo import → Album metadata: updates metadata
1_prep_review.py - Local web app → Album model: serves album data
culling_app.py - Browser UI → Culling review: reviews photos
README.md - Culling review → Local web app: sends review actions
- Browser UI → Face management: manages faces
README.md - Local web app → Face recognition: uses recognition
culling_app.py - Face recognition → Face crops and embeddings: creates embeddings
algo/facereco.py - Browser UI → AI editing: requests edits
README.md - Browser UI → AI crop suggestions: requests crop
README.md - Browser UI → Album tools: opens tools
README.md - Album tools → Keeper export: exports keepers
README.md - Album tools → Burst video: creates burst video
README.md