Reference documentation for all biomex.studio tools. For step-by-step workflows see Tutorials.
biomex.studio is a free, browser-based biomechanics analysis platform. All processing runs locally in your browser — no data is uploaded to any server, no account is required, and the tools work offline after loading. Designed for undergraduate and postgraduate sports science students and practitioners.
Please cite biomex.studio if you use it in published research, teaching materials, or professional practice. A Cite button appears in the top-right of every page and generates formatted citations with today's date, plus downloads for reference managers.
Callaway, A. (). biomex.studio. https://biomex.studio
The year is populated dynamically when you use the Cite button — it will always reflect the year of access.
The core video analysis tool. Load a video, place annotations frame by frame, then export kinematics or a full session backup.
Toggle tracking on any marker, line, or angle annotation — either via the ⟳ Off/ON button on the annotation card, or by right-clicking the annotation directly on the video. Lines track 2 points, angles track 3 — each point gets its own independent template, so a joint angle defined by hip / knee / ankle markers will follow all three through the movement. The tool uses normalised cross-correlation (NCC) template matching. Works best with high-contrast points on plain backgrounds. Adjust Template size and Search radius in the Calibration tab if tracking is unreliable. If one point of a multi-point annotation is lost (an orange ! appears above the affected handle), the other points keep tracking; if all are lost, tracking disables itself.
If a tracked point drifts off the feature, the recovery flow is: pause the video, switch to the Select tool (V), drag the handle back to the correct position, then press play. The template re-captures automatically from the corrected position, the lost flag clears, and tracking continues forward from there. If you'd rather refresh templates without dragging individual handles — say all points have drifted together — right-click the annotation and choose ⟳ Refresh tracking; this re-captures every point's template at its current visible position. The frames before the pause keep their (drifted) positions — to fix those, scrub back and drag each frame's point manually. For single-frame nudges, the → button on the annotation card copies the current frame's points to the next frame.
Enable in Quick Actions. Loads a second video side-by-side. Both share transport controls. Use the sync offset slider (±5 s) to align footage from different cameras.
Import a CSV or Excel file containing time-series data (force, EMG, GPS...). A waveform strip appears below the video and stays synchronised during playback. Map the time column and adjust the offset to align it with the video.
Export a Session JSON from Tools to save everything: calibration, all annotations with their frame data, session metadata, and video filename. Load a session JSON via Tools > Load Session to resume.
Click any tracked annotation (marker, distance, or angle) to open the kinematics chart docked at the bottom of the video. Switch between Position, Velocity, and Acceleration. The chart shows a playhead cursor that follows the current video frame, and marks peaks (red) and troughs (teal) on the trace automatically. The current frame's value appears in a pill at the top right of the chart toolbar.
Export a video file with all annotations rendered on top, frame by frame. Tools panel > Export > Annotated Video ✂. Choose the frame range and output format (WebM in Chrome/Firefox, MP4 in Safari where supported, with automatic fallback). The render runs at roughly real-time inside your browser using the MediaRecorder API — your video never uploads. Useful for student assignments and coach feedback where the angles need to be visible in the footage itself.
Full-page viewer for position, velocity, and acceleration derived from tracked annotations. Opens directly from the Analyse tool, or accepts a CSV upload.
On by default at 6 Hz Butterworth low-pass. Applied to position data before differentiation — essential for acceleration, which amplifies noise heavily. Options: Butterworth, Moving average, Savitzky-Golay, or None (raw).
Select Hip, Knee, or Ankle (gait) from the Norm. reference dropdown. Adds a shaded orange region showing the typical ROM range from Winter (2009). Assumes the y-axis is in degrees.
Joint coordination plots. Two angle time-series are plotted against each other to reveal coordination patterns across the movement cycle.
Overlay kinematics from two session JSON files. Designed for pre/post intervention, left/right limb comparison, or between athletes.
Force plate analysis for countermovement jumps (CMJ), squat jumps (SJ), and drop jumps (DJ). Upload vertical GRF data as CSV or Excel.
Compute velocity and acceleration from split times or a velocity-time series.
Enter cumulative times (not split times — the tool computes those) at each distance. Works with timing gates, video timestamps (frame / FPS), or stopwatch. Default splits: 0, 5, 10, 20, 30, 40, 60 m. Add or remove rows freely.
Paste or upload a velocity-time series from GPS, radar gun, or optical tracking. One value per line (velocity only) or two columns (time, velocity).
Resample repeated signals to a 0–100% cycle time, then compute mean ± SD across cycles. Designed for gait, EMG, force, and any cyclical data.
Toggle Pre-filter signal to apply a Butterworth low-pass before normalising. Useful when noisy data causes missed or false cycle boundaries. Set the cutoff and sample rate.
After running, select a joint (Hip, Knee, or Ankle) from the Compare to normative gait card. Overlays Winter (2009) mean ± 1 SD from Table 4.1. Assumes the normalised data represents one complete gait cycle (0–100%).
Apply processing operations to a single time-series column from CSV or Excel. Before and after are overlaid on the same chart.
Upload accelerometer data from a wearable device and automatically detect footstrikes. Works with single-axis (vertical) or resultant acceleration.
Whole-body centre of mass from a single photograph using segmental analysis (de Leva, 1996). Digitise 17 joint centres, select sex-specific segment parameters, and the CoM position is computed.
Points must be placed in the specified order: vertex, right shoulder, left shoulder, right hip, left hip, right knee, left knee, right ankle, left ankle, right elbow, left elbow, right wrist, left wrist, right foot, left foot, mid-cervical, mid-lumbar.
Teaching tool for projectile motion analysis from a stroboscopic image. The worked solution panel fills in 10 equations with your actual values as you digitise — designed to be followed alongside student notes.
Steps computed: time interval → horizontal displacements → vertical displacements → horizontal velocity → initial vertical velocity (with gravity correction) → launch speed → launch angle → maximum height → time of flight → theoretical range. Each step shows the general formula, substituted values, and result.
If the measured trajectory deviates from the theoretical parabola by more than 5% of the height range, a note appears explaining drag effects. Deviation is larger for light, fast projectiles (shuttlecock, tennis ball) and negligible for heavy ones (shot put).
Compute joint angles and clinical flags from a single photograph. Four preset landmark kits cover common assessment scenarios.
Each measurement is flagged as Normal, Mild, or Notable based on published reference values. Thresholds are sourced from Kendall et al. (2005), Norkin & Levangie (2011), Magee (2014), and Myer et al. (2010). These are reference values — clinical interpretation requires professional judgement.
Analyse proximal-to-distal sequencing in throwing, kicking, and striking movements. Plots peak angular velocity for each segment in the kinetic chain against time, revealing whether the distal cascade pattern is present.
In skilled overhead throwing and kicking, proximal segments peak first and decelerate before distal segments peak. This transfers energy efficiently along the chain. The tool identifies whether each segment peaks after the one proximal to it and computes a sequencing score.
Multi-trial averaging and reliability analysis for repeated measurements. Computes mean ± SD curves, ICC, CV, SEM, and MDC across multiple trials.
Teaching tool for filter design. Pick a clean signal preset (CMJ, drop landing, walking GRF, sine wave), add noise sources (mains hum, baseline drift, broadband, quantisation, spikes), then apply a filter and see what survives.
Four metrics turn green / amber / red based on filter performance: RMSE vs the clean signal, peak preserved %, impulse preserved %, and SNR in dB. Aggressive low-pass filters score well on RMSE but lose peaks — useful to demonstrate the trade-off.
Interactive single-segment static equilibrium with a movable muscle attachment. Pick a preset (elbow flexion, ankle plantarflexion, knee extension), then drag sliders to see how segment angle, muscle insertion distance, line-of-action angle, and external load change the required muscle force, mechanical advantage, and joint reaction force.
Save your slider configuration as a JSON file with the Save session button, then reload it later to continue a worked example or share a setup with students.
Pair a sagittal-view video with a force-plate CSV to draw the ground reaction force vector on the footage. Scrub the video, see the vector grow and shrink in real time.
Export a side-by-side PNG (annotated frame + force-time chart with cursor) for use in reports. Save a session JSON to preserve the anchor point, sync settings, and display options for later — you'll need to re-load the video and CSV but everything else restores.
Available in the Analyse video page. Shortcuts are disabled when typing in an input field.
ffmpeg -i input.avi -c:v libx264 -crf 23 output.mp4).All data tools (Jump, Sprint, Signal, Normalise, IMU) expect standard CSV: first row is headers, subsequent rows are data, values separated by commas. Ensure numeric columns contain only numbers — no units in the data cells.
Several of the sample datasets in biomex.studio are real-world data contributed by practitioners and researchers. We're grateful to everyone who has shared data to help demonstrate the tools with authentic examples.
If you'd like to contribute sample data for use in biomex.studio, please get in touch at hello@biomex.studio. Contributed data should be anonymised and you must have permission to share it.
biomex.studio is free and will remain free. To report a bug or suggest a feature, use the Report Issue button in the Analyse page Tools panel. This sends a report with browser and system information to the developer.
To support continued development, use the ♥ Support button in the header of any page.
Designed and developed by Andrew Callaway, Bournemouth University. Contact: hello@biomex.studio