Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/AggieSportsAnalytics/CourtCheck
/ types & classes
Types & classes
89 in github.com/AggieSportsAnalytics/CourtCheck
⨍
Functions
770
◇
Types & classes
89
↓ 18 callers
Class
ConvBlock
backend/models/ball_tracker.py:9
↓ 8 callers
Class
_Conv1DBlock
backend/models/inpaint_net.py:18
↓ 5 callers
Class
BallDetector
backend/models/ball_tracker.py:104
↓ 5 callers
Class
PipelineConfig
Central configuration for the tennis analysis pipeline
backend/pipeline/config.py:15
↓ 4 callers
Class
BounceDetector
Detects ball bounce frames using a trained CatBoost regressor.
backend/models/bounce_detector.py:9
↓ 4 callers
Class
CourtReference
Canonical tennis court reference in pixel space. Used for homography mapping and minimap visualization.
backend/vision/court_reference.py:5
↓ 3 callers
Class
StrokeTCN
Temporal Convolutional Network for tennis stroke classification. Input shape: (batch, seq_len, 34) Output shape: (batch, 4) -- raw logi
backend/models/stroke_classifier_tcn.py:60
↓ 2 callers
Class
CourtLineDetector
backend/models/court_line_detector.py:8
↓ 2 callers
Class
FakeEstimator
backend/tests/test_pipeline_perf.py:88
↓ 2 callers
Class
HomographyEstimator
Computes the homography between the canonical tennis court reference and the image frame using detected court keypoints.
backend/vision/homography.py:10
↓ 2 callers
Class
PlayerTracker
backend/models/player_tracker.py:75
↓ 2 callers
Class
StrokeDataset
Loads keypoint sequences from .npy files and applies the augmentation pipeline. Returns (seq_len, 34) tensors after hip-center normalization.
backend/training/train_tcn.py:156
↓ 2 callers
Class
SwingDetector
Detects tennis swing events from per-frame pose keypoints. Usage: detector = SwingDetector(velocity_threshold=15.0, ball_proximity=3
backend/vision/swing_detector.py:30
↓ 2 callers
Class
TrainingConfig
backend/training/config.py:15
↓ 1 callers
Class
ActionRecognition
Stroke recognition model
backend/models/stroke_detector.py:70
↓ 1 callers
Class
BallTrackerNet
backend/models/ball_tracker.py:31
↓ 1 callers
Class
ClipSample
backend/training/train_bounce.py:57
↓ 1 callers
Class
FailingDetector
backend/tests/test_pipeline_perf.py:100
↓ 1 callers
Class
FakeDetector
backend/tests/test_pipeline_perf.py:84
↓ 1 callers
Class
FeatureExtractor
backend/models/stroke_detector.py:17
↓ 1 callers
Class
Identity
backend/models/stroke_detector.py:9
↓ 1 callers
Class
InpaintNet
1D U-Net trajectory inpainting model from TrackNetV3.
backend/models/inpaint_net.py:38
↓ 1 callers
Class
LSTM_model
Time sequence model for stroke classifying
backend/models/stroke_detector.py:28
↓ 1 callers
Class
PoseStrokeClassifier
High-level wrapper around StrokeTCN for use in the pipeline. Falls back to a rule-based heuristic when weights are unavailable.
backend/models/stroke_classifier_tcn.py:97
↓ 1 callers
Class
TrajectoryRectifier
Fills in missed ball detections (None entries) using InpaintNet. Usage: rectifier = TrajectoryRectifier(weights_path, frame_w, frame
backend/models/trajectory_rectifier.py:26
↓ 1 callers
Class
_Double1DConv
backend/models/inpaint_net.py:28
↓ 1 callers
Class
_FakeCourtRef
backend/tests/test_rallies.py:28
↓ 1 callers
Class
_ResidualBlock
One TCN residual block with dilated causal convolutions.
backend/models/stroke_classifier_tcn.py:33
Class
frontend/web/components/ErrorBoundary.tsx:14
Class
docs/brand-drop/mocks/case-comp/deck-stage.js:533
Interface
ApiPlayer
frontend/web/app/players/page.tsx:12
Interface
ApiPlayer
frontend/web/app/players/[id]/page.tsx:15
Interface
ApiRecording
frontend/web/app/players/page.tsx:20
Interface
ApiRecording
frontend/web/app/players/[id]/page.tsx:26
Interface
AuthContextType
frontend/web/types/auth.ts:14
Interface
BallPosition
frontend/web/types/index.ts:38
Interface
ConditionalLayoutProps
frontend/web/components/layout/ConditionalLayout.tsx:7
Interface
CourtKeypoint
frontend/web/types/index.ts:44
Class
DeckStage
docs/brand-drop/mocks/case-comp/deck-stage.js:533
Class
ErrorBoundary
frontend/web/components/ErrorBoundary.tsx:14
Interface
FadeInProps
frontend/web/components/landing/FadeIn.tsx:5
Interface
GameEntry
frontend/web/components/features/dashboard/GamePlay.tsx:6
Interface
GameEntry
frontend/web/components/features/dashboard/GameStatistics.tsx:6
Interface
GameEntry
frontend/web/app/overall-stats/page.tsx:18
Interface
HeatmapData
frontend/web/components/features/dashboard/HeatMaps.tsx:21
Interface
LogoProps
frontend/web/components/layout/Logo.tsx:3
Interface
MatchStats
frontend/web/components/features/dashboard/Dashboard.tsx:3
Interface
MatchStatsPageProps
frontend/web/app/match-stats/[gameId]/page.tsx:3
Interface
Particle
frontend/web/components/upload/Confetti.tsx:20
Interface
Player
frontend/web/app/upload/page.tsx:11
Interface
PlayerCardData
frontend/web/components/players/PlayerCard.tsx:8
Interface
PlayerDetection
frontend/web/types/index.ts:33
Interface
PlayerRow
frontend/web/lib/hooks/useApiData.ts:43
Interface
PlayersData
frontend/web/lib/hooks/useApiData.ts:52
Interface
Props
frontend/web/components/ErrorBoundary.tsx:5
Interface
RateLimitOpts
frontend/web/lib/ratelimit.ts:9
Interface
Recording
* Recordings list. Ported from docs/brand-drop/mocks/matches-list.html. * * Layout: * - h1 "Every recording, scrubbable." (clay italic on "scrubb
frontend/web/app/recordings/page.tsx:25
Interface
RecordingRow
frontend/web/lib/hooks/useApiData.ts:56
Interface
RecordingsData
frontend/web/lib/hooks/useApiData.ts:78
Interface
SignUpMetadata
frontend/web/types/auth.ts:5
Interface
State
frontend/web/components/ErrorBoundary.tsx:10
Interface
StrokeRow
frontend/web/components/players/StrokeBars.tsx:16
Interface
Summary
frontend/web/components/features/dashboard/ShotPercentages.tsx:11
Interface
Summary
frontend/web/components/features/dashboard/PlayerStats.tsx:12
Interface
Summary
frontend/web/components/features/dashboard/DashboardStats.tsx:6
Interface
Summary
frontend/web/app/overall-stats/page.tsx:34
Interface
TennisStats
frontend/web/components/features/dashboard/ShotPercentages.tsx:6
Interface
TennisStats
frontend/web/components/features/dashboard/PlayerStats.tsx:6
Interface
TennisStats
frontend/web/app/overall-stats/page.tsx:7
Class
TestBallDetectorFarCourt
backend/tests/test_far_court_detection.py:94
Class
TestBuildRallies
backend/tests/test_rallies.py:188
Class
TestBuildRallySummary
backend/tests/test_rallies.py:323
Class
TestDirectionFromCoords
backend/tests/test_rallies.py:156
Class
TestEventStream
backend/tests/test_rallies.py:45
Class
TestFarPlayerCourtSpaceFilter
backend/tests/test_far_court_detection.py:39
Class
TestFilteredDetections
Phase 2: verify choose_and_filter_players returns 2 players per frame.
backend/tests/test_player_tracking.py:128
Class
TestPlausibilityGate
backend/tests/test_rallies.py:147
Class
TestProjectBounce
backend/tests/test_rallies.py:106
Class
TestRallyGapConstant
backend/tests/test_rallies.py:370
Class
TestRawDetections
Phase 1: verify raw YOLO detections see both players.
backend/tests/test_player_tracking.py:81
Class
TestSegmentation
backend/tests/test_rallies.py:79
Class
TestWinnerFromEndReason
backend/tests/test_rallies.py:171
Interface
UploadOptions
frontend/web/hooks/useVideoUpload.ts:71
Interface
UseVideoUploadReturn
frontend/web/hooks/useVideoUpload.ts:48
Interface
User
frontend/web/types/index.ts:2
Interface
VideoPlayerProps
frontend/web/components/features/recordings/VideoPlayer.tsx:23
Interface
VideoProcessingStatus
frontend/web/types/index.ts:22
Interface
VideoUploadProps
frontend/web/components/features/upload/VideoUpload.tsx:8
Interface
VideoUploadProps
frontend/web/components/courtcheck/VideoUpload.tsx:6