bowling-analysis-system
Version:
A comprehensive system for analyzing bowling techniques using video processing and metrics calculation
67 lines (60 loc) • 1.59 kB
JavaScript
/**
* @module config/pipeline
* @description Pipeline configuration for bowling analysis
*/
/**
* @typedef {Object} PipelineConfig
* @property {number} confidenceThreshold - Minimum confidence threshold for keypoint data (0-1)
* @property {number} eventConfidenceThreshold - Minimum confidence threshold for event detection (0-1)
* @property {number} minValidFrames - Minimum number of valid frames required
* @property {boolean} includeTimeSeries - Whether to include time series data in output
*/
/**
* Default pipeline configuration
* @type {PipelineConfig}
*/
const DEFAULT_PIPELINE_CONFIG = {
// Core validation thresholds
confidenceThreshold: 0.7,
eventConfidenceThreshold: 0.8,
minValidFrames: 30,
// Processing options
includeTimeSeries: true,
// Required paths - must be provided by caller
keypointDataPath: null,
referenceDataPath: null,
outputPath: null,
// Required event types
requiredEvents: [
'frontFootLanding',
'backFootLanding',
'releasePoint'
],
// Required metrics
requiredMetrics: {
timing: [
'deliveryDuration',
'approachDuration',
'releaseToImpactTime'
],
angles: [
'shoulderAlignment',
'hipAlignment',
'trunkFlexion',
'kneeFlexion'
],
velocities: [
'approachVelocity',
'releaseVelocity',
'armVelocity'
],
positions: [
'releaseHeight',
'releasePoint',
'footPosition'
]
}
};
module.exports = {
DEFAULT_PIPELINE_CONFIG
};