UNPKG

bowling-analysis-system

Version:

A comprehensive system for analyzing bowling techniques using video processing and metrics calculation

85 lines (58 loc) 3.04 kB
# Core Utilities This directory contains core utility functions and configuration for the video processing system. ## Pattern Detection Configuration The pattern detection system uses a centralized configuration approach to ensure consistency across different types of analysis. ### PatternDetectionConfig The `PatternDetectionConfig` module provides standardized configuration options for different types of pattern detection: - `DEFAULT_CONFIG`: Base configuration for pattern detection - `FOOT_LANDING_CONFIG`: Specialized configuration for foot landing detection - `RELEASE_POINT_CONFIG`: Specialized configuration for release point detection - `CORRELATION_CONFIG`: Specialized configuration for correlation analysis - `BIAS_ANALYSIS_CONFIG`: Specialized configuration for bias analysis - `VELOCITY_ANALYSIS_CONFIG`: Specialized configuration for velocity analysis To get a configuration for a specific type of detection: ```javascript const { getConfig } = require('./PatternDetectionConfig'); // Get default configuration const defaultConfig = getConfig(); // Get foot landing configuration const footLandingConfig = getConfig('footLanding'); // Get configuration with overrides const customConfig = getConfig('releasePoint', { windowSize: 7, smoothingFactor: 0.4 }); ``` ### BiasConfig The `BiasConfig` module provides standardized configuration options for bias analysis: - `DEFAULT_BIAS_CONFIG`: Base configuration for bias analysis - `FOOT_LANDING_BIAS_CONFIG`: Specialized configuration for foot landing bias analysis - `RELEASE_POINT_BIAS_CONFIG`: Specialized configuration for release point bias analysis To get a configuration for a specific type of bias analysis: ```javascript const { getBiasConfig, getBiasPatternConfig } = require('./BiasConfig'); // Get default bias configuration const defaultBiasConfig = getBiasConfig(); // Get foot landing bias configuration const footLandingBiasConfig = getBiasConfig('footLanding'); // Get bias configuration with overrides const customBiasConfig = getBiasConfig('releasePoint', { significanceThreshold: 0.25 }); // Get pattern detection configuration for bias analysis const biasPatternConfig = getBiasPatternConfig('default'); ``` ## Usage in Pattern Detection To use the configuration system with the pattern detection utilities: ```javascript const coreUtils = require('../../core/utils'); // Find patterns using default configuration const patterns = coreUtils.findPatterns(data); // Find patterns using specific configuration type const footLandingPatterns = coreUtils.findPatterns(data, { type: 'footLanding' }); // Find patterns using configuration with overrides const customPatterns = coreUtils.findPatterns(data, { type: 'releasePoint', windowSize: 7, minPeakProminence: 0.3 }); // Find patterns using bias configuration const biasPatterns = coreUtils.findPatterns(data, coreUtils.getBiasPatternConfig('default', { adaptiveWindow: true }) ); ```