UNPKG

bowling-analysis-system

Version:

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

63 lines (46 loc) 2.15 kB
# Processors This directory contains the core processing components for the bowling analysis system. ## BiasCalculator The `BiasCalculator` is the unified implementation for bias calculation and event detection in the bowling analysis system. It replaces several deprecated implementations that were previously scattered throughout the codebase. ### Usage ```javascript const BiasCalculator = require('../processors/BiasCalculator'); // Create a new instance const biasCalculator = new BiasCalculator({ debug: true, biasFilePath: 'path/to/bias.json', logger: customLogger // Optional }); // Calculate bias from metrics const biasData = await biasCalculator.calculateBias(metrics); // Execute the full bias calculation pipeline const biasResult = await biasCalculator.execute({ metrics: { metrics: phaseOneData.metrics, timeSeries: phaseOneData.timeSeries } }, { saveBias: true, biasFilePath: 'path/to/bias.json' }); // Detect events using bias correlations const events = biasCalculator.detectEventsWithBias(metrics, biasData); ``` ### Configuration Options - `debug` (boolean): Enable debug logging - `dataDir` (string): Directory for data files (default: process.cwd()) - `biasFilePath` (string): Path to the bias data file (default: 'bias.json' in the current directory) - `generateBias` (boolean): Whether to generate bias data if it doesn't exist (default: false) - `logger` (object): Custom logger instance ### Key Methods - `execute(data, options)`: Execute the full bias calculation pipeline - `calculateBias(metrics)`: Calculate bias from metrics data - `loadBiasData(filePath)`: Load bias data from a file - `saveBiasData(biasData, filePath)`: Save bias data to a file - `detectEventsWithBias(metrics, biasData, simulatedMoments)`: Detect events using bias correlations ### Notes This implementation consolidates functionality that was previously spread across: - `src/bowling_analysis/heuristics/BiasCalculator.js` - `src/bowling_analysis/utils/BiasAnalyzer.js` - `src/bowling_analysis/stages/bias_calculator.js` All code should now use this implementation for bias calculation and event detection.