bowling-analysis-system
Version:
A comprehensive system for analyzing bowling techniques using video processing and metrics calculation
63 lines (46 loc) • 2.15 kB
Markdown
This directory contains the core processing components for the bowling analysis system.
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.
```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);
```
- `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.