
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
bowling-analysis-system
Advanced tools
A comprehensive system for analyzing bowling techniques using video processing and metrics calculation
A comprehensive set of utilities for processing and validating bowling metrics time series data. This library provides functionality for normalizing, extracting, analyzing, and visualizing time series data with a focus on bowling metrics.
npm install
import { timeSeriesUtils, metricsValidator } from './src/utils';
// Load your metrics data
const metricsData = JSON.parse(fs.readFileSync('path/to/metrics.json', 'utf8'));
// Validate metrics
const validationResult = metricsValidator.validateMetrics(metricsData);
console.log(`Metrics validation: ${validationResult.isValid ? 'PASSED' : 'FAILED'}`);
// Extract time series data
const armAngles = timeSeriesUtils.extractByPath(metricsData, 'timeSeries.angles.armAngles');
// Calculate statistics
const stats = timeSeriesUtils.calculateStatistics(armAngles, true);
console.log('Left arm stats:', stats.left);
console.log('Right arm stats:', stats.right);
console.log('Average stats:', stats.average);
// Extract data between events
const dataSegment = timeSeriesUtils.extractBetweenEvents(
metricsData,
'timeSeries.angles.armAngles',
'backFootLanding',
'releasePoint'
);
// Create visualization config
const chartConfig = timeSeriesUtils.createVisualizationConfig(
armAngles,
{
title: 'Arm Angles During Bowling',
xLabel: 'Frame',
yLabel: 'Angle (degrees)',
hasLeftRight: true
},
metricsData.events
);
The metricsValidator module enforces the following validation rules:
frontFootLanding, backFootLanding, releasePointangles, position, velocityThe timeSeriesUtils module provides the following key functions:
normalizeTimeSeries(): Convert time series data to standard left/right/average formatextractByPath(): Extract data from a nested object using dot notationextractBetweenEvents(): Extract time series data between two eventscalculateStatistics(): Calculate statistics for time series datacreateVisualizationConfig(): Create chart configuration for time series datavalidateTimeSeriesStructure(): Validate time series structurediscoverTimeSeriesMetrics(): Find all available time series metricsnpm test
MIT
The bowling analysis system processes keypoint data through a three-phase metrics pipeline:
The following improvements were made to the metrics pipeline:
AngleCalculator to return proper angle metricsBalanceCalculator to return balance-related metricsPowerCalculator to return power metricsPositionCalculator to return position metricsTo run the metrics pipeline:
node run.js <keypoint_file> <output_file> [bias_file]
Example:
node run.js keypoint.json complete_metrics.json bias.json
The output file will contain:
FAQs
A comprehensive system for analyzing bowling techniques using video processing and metrics calculation
We found that bowling-analysis-system demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.