Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/AggieSportsAnalytics/CourtCheck
/ functions
Functions
770 in github.com/AggieSportsAnalytics/CourtCheck
⨍
Functions
770
◇
Types & classes
89
↓ 1 callers
Function
_load_gt_bounces
(gt_path: Path)
backend/training/train_bounce.py:66
↓ 1 callers
Function
_load_labels
(csv_path: Path)
backend/tools/build_courtcheck_manifest.py:33
↓ 1 callers
Function
_load_pool
(manifest_path: Path, min_velocity: float, exclude_clip_ids: set[str])
backend/tools/add_pool_clips.py:39
↓ 1 callers
Function
_load_pool
(manifest_path: Path, min_velocity: float, exclude_clip_ids: set[str])
backend/tools/assign_clips.py:41
↓ 1 callers
Method
_makeThumb
Create a lightweight thumb shell for one slide. The clone is * materialized later by the IntersectionObserver. Event handlers * look up th
docs/brand-drop/mocks/case-comp/deck-stage.js:1403
↓ 1 callers
Function
_markdown_report
( clips: list[ClipSample], train_clips: list[str], val_clips: list[str], frame_metrics: list[d
backend/training/train_bounce.py:223
↓ 1 callers
Method
_openConfirm
(i)
docs/brand-drop/mocks/case-comp/deck-stage.js:1642
↓ 1 callers
Method
_openMenu
(i, x, y)
docs/brand-drop/mocks/case-comp/deck-stage.js:1617
↓ 1 callers
Function
_parse_args
()
backend/tools/label_swings.py:66
↓ 1 callers
Function
_pick_device
()
backend/tools/extract_swings_local.py:41
↓ 1 callers
Method
_predict_heuristic
Simple rule-based fallback when TCN weights are unavailable. Logic: - Wrist y-position above shoulders at swing peak -> Se
backend/models/stroke_classifier_tcn.py:167
↓ 1 callers
Method
_predict_tcn
(self, pose_sequence: np.ndarray)
backend/models/stroke_classifier_tcn.py:156
↓ 1 callers
Function
_probe_duration
Return source duration in seconds via ffprobe.
backend/training/cut_bounce_clips.py:34
↓ 1 callers
Function
_processed_exists
Confirm the processed video is actually in `results` before nuking raw.
backend/tools/cleanup_old_raws.py:55
↓ 1 callers
Function
_processed_present
(supabase, results_path: str | None)
backend/tools/purge_zombie_recordings.py:43
↓ 1 callers
Method
_railWidth
()
docs/brand-drop/mocks/case-comp/deck-stage.js:1147
↓ 1 callers
Method
_refreshThumb
Re-clone a single thumb (live-update path). No-op if the thumb * hasn't been materialized yet — it'll pick up current content when * it sc
docs/brand-drop/mocks/case-comp/deck-stage.js:1566
↓ 1 callers
Method
_render
()
docs/brand-drop/mocks/case-comp/deck-stage.js:796
↓ 1 callers
Function
_resample_to_len
Resample a (T, D) array to (target_len, D) via linear interpolation. Matches the interpolation logic in extract_pose_sequence().
backend/training/features.py:62
↓ 1 callers
Function
_resolve_camera_id
Infer camera_id from the video filename. Matches filenames containing 'Court' followed by a court number (e.g. StMarys_Court2.mp4). Retur
backend/pipeline/run.py:1536
↓ 1 callers
Method
_restoreIndex
()
docs/brand-drop/mocks/case-comp/deck-stage.js:1076
↓ 1 callers
Function
_rotate
(kp: np.ndarray, deg: float)
backend/training/train_tcn.py:89
↓ 1 callers
Function
_scale
(kp: np.ndarray, sx: float, sy: float)
backend/training/train_tcn.py:96
↓ 1 callers
Function
_scrape_table_fallback
Try to extract player names from a plain HTML table.
backend/tools/seed_players.py:129
↓ 1 callers
Function
_seed_clip
Pre-label bounces into <clip>.gt.json. Returns count of seeds written.
backend/training/pre_label_bounces.py:47
↓ 1 callers
Method
_setDrop
(i, where)
docs/brand-drop/mocks/case-comp/deck-stage.js:1587
↓ 1 callers
Function
_signed_url
(supabase_path: str)
backend/tools/label_swings.py:55
↓ 1 callers
Function
_stratified_sample
Pick n clips stratified across source_video and velocity bucket.
backend/tools/add_pool_clips.py:49
↓ 1 callers
Function
_temporal_jitter
(kp: np.ndarray, max_shift: int)
backend/training/train_tcn.py:107
↓ 1 callers
Method
_toggleSkip
(i)
docs/brand-drop/mocks/case-comp/deck-stage.js:1674
↓ 1 callers
Function
_transcode
Re-encode src (mp4v) → dst (H.264). Returns True on success.
backend/tools/transcode_and_reupload.py:39
↓ 1 callers
Method
_try_load
(self, path: str)
backend/models/stroke_classifier_tcn.py:119
↓ 1 callers
Function
_upload
Upload via curl (avoids miniforge arm64 SSL issues). Returns True on success.
backend/tools/transcode_and_reupload.py:50
↓ 1 callers
Function
annotate
(video_path: Path)
backend/eval/annotate.py:122
↓ 1 callers
Function
append_rows
Append new manifest rows, writing header if file is new.
backend/tools/_swing_io.py:44
↓ 1 callers
Function
applyViewport
()
frontend/web/components/layout/Sidebar.tsx:64
↓ 1 callers
Function
benchmark
(video_path: str, weights_name: str, weights_file: str, max_frames: int, device: str)
backend/tools/benchmark_ball_detection.py:29
↓ 1 callers
Function
buildCards
( players: ApiPlayer[], recordings: ApiRecording[], )
frontend/web/app/players/page.tsx:66
↓ 1 callers
Function
buildShotMapDots
Project API shots onto the top-half (opponent's side) court for ShotMap. * * Mirror by **bounce location**, not by who hit. Previously the code mirr
frontend/web/components/recordings/VizPanel.tsx:85
↓ 1 callers
Function
buildSpacingShots
Derive spacing shots for the bottom-half spacing viz. * Only includes shots with both player + ball at contact. Quality classified by * distance:
frontend/web/components/recordings/VizPanel.tsx:119
↓ 1 callers
Function
build_clip_sample
( clip_path: Path, tolerance: int, detector: BounceDetector, )
backend/training/train_bounce.py:89
↓ 1 callers
Function
build_coverage_grid
Build the player-coverage occupancy grid for the bottom half-court. For every frame, project each detected player's foot position into court
backend/pipeline/run.py:716
↓ 1 callers
Function
build_error_summary
Direction-only error breakdown attributed to the near (P1) player. Tennis convention: an error belongs to the player who failed to make the s
backend/pipeline/run.py:1020
↓ 1 callers
Function
build_feature_matrix
Load keypoints and compute feature vectors for all valid entries. Returns: X: (N, N_FEATURES) feature matrix y: (N,) integer
backend/training/train_catboost.py:42
↓ 1 callers
Function
build_loaders
( train_entries: list[dict], val_entries: list[dict], cfg: TrainingConfig, )
backend/training/train_tcn.py:324
↓ 1 callers
Function
build_net_approach_summary
Net-approach detector + heuristic outcome. Approach: near player's foot svg_y crosses the service line (svg_y = 60) and stays in front of it
backend/pipeline/run.py:898
↓ 1 callers
Function
build_position_summary
4-zone court-position breakdown for the near player (P1), per the `coach-insights-spec.md`: inside baseline / on baseline / 5-10 ft behind / 1
backend/pipeline/run.py:806
↓ 1 callers
Function
build_report
(video_path: Path, gt: dict, pred: dict)
backend/eval/run_eval.py:93
↓ 1 callers
Function
build_shots
Build the per-shot record used by the frontend courtmaps. Bounce coordinates come from compute_bounce_positions() (the single source of truth
backend/pipeline/run.py:338
↓ 1 callers
Function
calculate_rally_count
Group shot frames into rallies. A gap > gap_seconds between consecutive shots is treated as the start of a new rally.
backend/pipeline/run.py:71
↓ 1 callers
Function
cleanup
(match_ids: Iterable[str] | None, apply: bool, min_age_days: int)
backend/tools/cleanup_old_raws.py:71
↓ 1 callers
Function
count_in_out_bounces
Classify each detected bounce as in-bounds or out-of-bounds using the court-space coordinates obtained via homography projection.
backend/pipeline/run.py:1238
↓ 1 callers
Function
criterion
(logits, targets)
backend/training/train_tcn.py:429
↓ 1 callers
Function
currentSeasonStart
()
frontend/web/app/recordings/page.tsx:228
↓ 1 callers
Function
db_save_label
Write a label for one clip to the DB.
backend/tools/_swing_io.py:109
↓ 1 callers
Function
db_seed_from_csv
Bulk-upsert all rows from a manifest CSV into swing_labels. With `preserve_labels=True` (default), any row that already has a non-empty label
backend/tools/_swing_io.py:150
↓ 1 callers
Function
deleteRecording
(id: string)
frontend/web/app/recordings/page.tsx:153
↓ 1 callers
Function
detect_camera_id
(clip_path: Path)
backend/training/extract_ball_trajectory.py:62
↓ 1 callers
Method
detect_frame_with_far_roi
Main detection pass + a second focused pass on the far-court region. The far player is typically only 30-60 px tall in a 1080p zoome
backend/models/player_tracker.py:152
↓ 1 callers
Function
detect_shot_frames
Detect frames where a player hits the ball by finding y-direction reversals in the ball trajectory. Args: ball_track: list of (x
backend/vision/postprocess.py:6
↓ 1 callers
Function
draw_ball_trace
Draw a fading ball trajectory on the main frame. Parameters ---------- frame : np.ndarray Current video frame (modified in-p
backend/vision/drawing.py:50
↓ 1 callers
Function
draw_court_keypoints_and_lines
Draw tennis court lines as a semi-transparent white overlay. Keypoint dots and debug labels are intentionally omitted.
backend/vision/drawing.py:105
↓ 1 callers
Function
draw_hud
( frame, frame_idx: int, total: int, player: int, last_event: str, strokes: list[dict]
backend/eval/annotate.py:81
↓ 1 callers
Function
draw_minimap_ball_and_bounces
Draw ball trace and accumulated bounces on the minimap. minimap: reference court image (will be modified in-place) homography_inv: frame
backend/vision/drawing.py:274
↓ 1 callers
Function
draw_minimap_players
Draw player positions on the minimap using foot position projected through homography. Each player gets a filled dot in their assigned color
backend/vision/drawing.py:394
↓ 1 callers
Function
draw_player_bboxes
Draw clean player bounding boxes with a small pill label. color is ignored when player_dict has multiple players — each gets its own col
backend/vision/drawing.py:194
↓ 1 callers
Function
draw_stroke_labels
Draw stroke classification label above each player's bbox when a swing is active at this frame. Args: frame: Video frame (numpy
backend/vision/drawing.py:133
↓ 1 callers
Function
ensure_720p
Resize video to target resolution using ffmpeg (GPU NVENC when available).
backend/pipeline/run.py:24
↓ 1 callers
Function
extract_clip_features
Extract a flat feature vector from a (T, 17, 3) keypoint sequence. Feature groups (~45 total): - Wrist velocity stats (6): max/mean/st
backend/training/features.py:258
↓ 1 callers
Function
extract_frame
(video_path: str, frame_number: int)
backend/tools/calibrate_court.py:47
↓ 1 callers
Function
extract_pose_sequence
Extract a fixed-length pose keypoint sequence for one player in a window. Args: handedness: 'right' (default) or 'left'. Lefty seque
backend/vision/swing_detector.py:123
↓ 1 callers
Function
extract_trajectory
( clip_path: Path, camera_id: str | None, weights_path: str = _DEFAULT_WEIGHTS, calibration_pa
backend/training/extract_ball_trajectory.py:70
↓ 1 callers
Method
extrapolate
(self, x_coords, y_coords)
backend/models/bounce_detector.py:129
↓ 1 callers
Function
fetchLatestHeatmaps
()
frontend/web/components/features/dashboard/HeatMaps.tsx:60
↓ 1 callers
Function
fetchPlayerForOwnershipCheck
(id: string)
frontend/web/app/api/players/[id]/route.ts:41
↓ 1 callers
Function
findLeadIndex
(metrics: PlayerMetric[])
frontend/web/components/dashboard/PlayerCard.tsx:180
↓ 1 callers
Function
fmtDate
(iso: string)
frontend/web/app/overall-stats/page.tsx:49
↓ 1 callers
Function
fmtDur
(s: number | null)
frontend/web/app/overall-stats/page.tsx:44
↓ 1 callers
Function
fmtTs
(sec: number)
frontend/web/app/recordings/[id]/page.tsx:86
↓ 1 callers
Function
formatDate
(iso: string)
frontend/web/app/page.tsx:94
↓ 1 callers
Function
formatDateShort
(iso: string)
frontend/web/components/players/PlayerCard.tsx:63
↓ 1 callers
Function
formatRelativeDate
(iso: string)
frontend/web/components/features/dashboard/GamePlay.tsx:16
↓ 1 callers
Function
generateCoverage
(rows: number, cols: number)
frontend/web/components/viz/Coverage.tsx:18
↓ 1 callers
Function
generate_minimap_heatmaps
Generate bounce dot map and player shot-position dot map on a top-down court. Bounce heatmap: color-coded dot per detected bounce (stroke ty
backend/vision/heatmaps.py:75
↓ 1 callers
Function
generate_scouting_report
Call GPT-4o-mini to generate a grounded scouting report. Grounded in the real coach-insight calculators (position / net / error / rally summa
backend/pipeline/run.py:1399
↓ 1 callers
Function
getInitials
(name: string)
frontend/web/app/page.tsx:79
↓ 1 callers
Function
get_supabase_client
()
backend/tools/seed_players.py:160
↓ 1 callers
Method
get_trans_matrix
Determine the best homography matrix from detected court points. Parameters ---------- points : list[(x, y) | None]
backend/vision/homography.py:59
↓ 1 callers
Function
gradientFor
(id: string)
frontend/web/components/players/PlayerCard.tsx:39
↓ 1 callers
Function
greetingFor
(hour: number)
frontend/web/app/page.tsx:105
↓ 1 callers
Function
handleAdd
()
frontend/web/components/recordings/NotesPanel.tsx:76
↓ 1 callers
Function
handleSeek
(sec: number)
frontend/web/components/recordings/NotesPanel.tsx:86
↓ 1 callers
Function
hashColor
(seed: string)
frontend/web/app/recordings/page.tsx:46
↓ 1 callers
Function
highlightStats
(text: string)
frontend/web/components/recordings/ScoutingReport.tsx:24
↓ 1 callers
Function
inPct
(inB: number | null, outB: number | null)
frontend/web/app/players/page.tsx:58
↓ 1 callers
Method
infer_single
Detect court keypoints, returning list of 14 (x, y) tuples.
backend/models/court_line_detector.py:35
↓ 1 callers
Method
init_state
(self, batch_size)
backend/models/stroke_detector.py:63
↓ 1 callers
Function
initials
(s: string)
frontend/web/app/recordings/page.tsx:63
↓ 1 callers
Function
initialsOf
(name: string)
frontend/web/components/players/PlayerCard.tsx:46
↓ 1 callers
Function
initialsOf
(name: string)
frontend/web/app/players/[id]/page.tsx:44
← previous
next →
201–300 of 770, ranked by callers