Conversation
Adds "UltimateTrack" and "UFA" as supported data providers for ultimate tracking data, replacing the previous single "ultimate_track" provider. Enables processing of tracking data from multiple ultimate frisbee data sources.
Transforms static utility class into instance-based class that can handle different data providers (UltimateTrack and UFA). Removes field specifications and utility methods to focus on core preprocessing functionality with provider-specific routing.
…ata providers Updates field dimension constants to match actual Ultimate specifications and removes unused roster size configuration. Replaces single-format processing with modular pipeline that creates intermediate files with calculated velocity/acceleration features before converting to Metrica format. Adds separate preprocessing functions for UltimateTrack and UFA data providers to handle different input formats while maintaining consistent output structure. Improves code maintainability by separating feature calculation, format conversion, and data provider specific logic into distinct functions.
Replaces hardcoded test execution with argparse-based data provider selection, enabling flexible testing of different tracking data sources (soccer, UltimateTrack, UFA) from command line. Restructures the test logic to conditionally execute based on provider type and updates UFA/UltimateTrack testing to use new preprocessing interface with dynamic file paths and improved output naming conventions.
Creates detailed README explaining Ultimate Frisbee tracking data preprocessing architecture, supported data providers (UFA and Ultimate Track), and usage examples. Simplifies preprocessing method signature by removing unused parameters and updates variable naming for better clarity (home/away -> offense/defense). Reorganizes imports to improve code structure and readability.
Implements comprehensive preprocessing pipeline to convert UFA (Ultimate Frisbee Analytics) tracking data from native format to standardized Metrica format. Enables analysis of professional Ultimate Frisbee games by providing structured access to player positions, velocities, disc tracking, and possession data at 10Hz frequency. Supports standard Ultimate field dimensions and 7-player team configurations with proper handling of offense/defense team assignments and disc holder identification.
Consolidates multiple preprocessing functions into a single entry point to reduce API complexity and improve usability. Updates configuration constants to use more generic naming conventions and removes unused helper functions. Enhances motion feature calculations with proper rounding for better numerical precision and consistency. Removes UFA-specific preprocessing logic to focus on UltimateTrack format support.
Cleans up documentation files that are no longer needed for the Ultimate Frisbee tracking data preprocessing module. Removes the main README and UFA-specific documentation that provided usage examples and architectural details for the Ultimate tracking data system. Removes outdated Ultimate Frisbee preprocessing docs Cleans up documentation that is no longer needed for the Ultimate Frisbee tracking data preprocessing module. Eliminates comprehensive README covering UFA format conversion, configuration parameters, and usage examples that are now obsolete.
Init Test Results 📝
|
Init Test Results 📝
|
Init Test Results 📝
|
Init Test Results 📝
|
Init Test Results 📝
|
Init Test Results 📝
|
calvinyeungck
approved these changes
Oct 8, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request adds comprehensive support for Ultimate Frisbee tracking data preprocessing, introducing modular handling for two distinct data providers: UFA and Ultimate Track. It refactors the main interface, adds provider-specific preprocessing pipelines, and updates configuration files and documentation to clarify usage and output formats.
Ultimate Frisbee Data Provider Integration:
ufa_preprocessing) and Ultimate Track (ultimatetrack_preprocessing), each with its own configuration and conversion logic to Metrica format. [1] [2] [3]Ultimate_tracking_dataclass to accept adata_providerargument and delegate to the correct preprocessing pipeline based on provider ("UFA" or "UltimateTrack").Configuration and Architecture Updates:
ufa_preprocessing/preprocess_config.py) and Ultimate Track (ultimatetrack_preprocessing/preprocess_config.py), specifying field dimensions, player counts, tracking frequency, and column mappings. [1] [2]tracking_class.pyto recognize both "UFA" and "UltimateTrack" as valid Ultimate Frisbee data sources.Testing and CLI Improvements:
tracking_class.pyto allow selection of data provider via command-line arguments, and added logic to test both UFA and Ultimate Track data pipelines, saving outputs in standardized locations. [1] [2] [3]Documentation: