3D Spin Longitudinal Angle
degLongitudinal component of the measured 3D spin axis.
Resources
A reference for every metric Axioforce computes from force-plate data.
182 metrics
Longitudinal component of the measured 3D spin axis.
Spin axis expressed as a clock face (e.g. "12:00"). Text, not numeric. Sibling of `tilt`; both appear, on different pitches.
Transverse component of the measured 3D spin axis.
The component of total spin that produces movement.
Estimated horizontal center of mass displacement during airborne phase using takeoff velocity.
Pitch type classified automatically by TrackMan. Text. Not yet observed.
The average value of the dataset
Mean ground contact time across every contact of a repeated set (hops, bounds). Shorter contacts with equal flight indicate better reactive ability.
The average force during a phase, multiple phases, or a capture.
Mean time in the air across every flight of a repeated set.
Mean jump height across every flight of a repeated-jump set (hops), from each flight's hang time.
Get the average of the data for the last 1 second.
Mean of the per-contact peak force magnitude across a repeated set, per axis. Magnitude, not the signed peakForce: bounds alternate left and right, so signed Fx peaks cancel when averaged.
The average power during a phase, multiple phases, or a capture. For the vector component, power is the dot product of the force and the centre-of-mass velocity (Fx·Vx + Fy·Vy + Fz·Vz): the power delivered along the direction of motion, which is negative while braking. (Before 1.11.0 it was the product of the two magnitudes, |F| × speed, which is never negative and overstates power whenever force and motion point in different directions.)
The mean power over the window analysed (total work divided by elapsed time), divided by body MASS in kg, so it is comparable between athletes. Note the divisor is mass in kg, obtained as system weight / g — system weight is stored in NEWTONS. For the vector component, power is the dot product of the force and the centre-of-mass velocity (Fx·Vx + Fy·Vy + Fz·Vz): the power delivered along the direction of motion, which is negative while braking. (Before 1.11.0 it was the product of the two magnitudes, |F| × speed, which is never negative and overstates power whenever force and motion point in different directions.)
The rate at which force is developed
The magnitude of the average rate at which force is developed across a phase. Always non-negative. Use this instead of averageRateOfForceDevelopment on a horizontal axis (Fx/Fy) whenever the movement direction varies between trials — a lateral jump cued randomly left or right, for example — because the signed version reports the direction of the force change, so trials in opposite directions cancel when averaged.
Mean Reactive Strength Index (flight time divided by contact time) across the repetitions of a hop or bound set.
The average velocity during a phase, multiple phases, or a capture.
Time from contact to landing for a batted ball. Not yet observed - no hit has come through the live feed. NOTE the id deliberately differs from TrackMan's `hangTime`: the existing force-plate analytic `hangtime` is the time the ATHLETE is in the air, a different quantity, and the two differ only by case. Canon ids name the thing measured, not the source, so a hang time reported by any other system maps here too.
Shortest single ground contact in a repeated set.
Highest single jump in a repeated-jump set.
Highest single-repetition Reactive Strength Index in a hop or bound set.
The body mass of the individual.
Brake time - the counter to drive impulse. Elapsed time from the delivery-phase start (front-foot contact) until the DELIVERY zone's cumulative braking impulse reaches 50% of that capture's DRIVE impulse. Braking impulse COUNTERS the drive: Fz above 100% BW plus backward shear (Fy below 0), per body weight. The 50% target uses the drive impulse over the LAST drive movement (start Fz>80% BW OR Fy>3% BW; separate/end Fz<30% BW AND Fy<3% BW). Blank if the delivery leg never absorbs 50% of the drive.
Milliseconds from front-foot contact (the Reaction Window start) until the front side has countered HALF of the positive drive impulse the hitter built -- how quickly the lead leg arrests the body's travel and turns it into rotation. A SHORTER time means a more abrupt block. The drive it is measured against is swingDriveImpulse. POSITIVE-ONLY, with a sign convention per metric: the drive counts +Fx, +Fy and +Fz (Fz meaning force above body weight), while braking counts -Fy and +Fz. Z is positive for both, because the hitter pushes up through body weight to drive and to block. Every axis is gated on the DIRECTION OF TRAVEL: it contributes only on samples where the forward axis is itself acting in the counted direction, so the drive accumulates only while Fy > 0 and braking only while Fy < 0. Without that gate, +Fz and +Fx banked drive during the backward load at the start of the Gather -- the hitter pushing up through body weight while moving away from the pitcher -- which was a median 5.5% of the drive and up to 83.9% on the worst capture. Each axis is rectified BEFORE integrating, so it contributes only while it pushes the counted way and an axis that reverses does not subtract what it already earned -- that is what makes these positive-only impulses rather than net momentum. The resultant sqrt(Jx^2+Jy^2+Jz^2) is assembled from the per-axis integrals at the END, because a weight vector cannot be subtracted from an already-combined magnitude. NO de-biasing: body weight comes off the VERTICAL axis only, since gravity acts along Z and Fx/Fy carry no weight to remove, and nothing is subtracted on the strength of the Wait phase. Integration starts at the Gather onset, so no standing-still data enters the measurement. CAVEAT ON X: +X is rightward in the plate frame, so the lateral term is handedness-dependent -- a left- and a right-handed hitter drive laterally in opposite directions, and only one of them accumulates under +X for the drive. Fx is the smallest of the three contributions but not negligible. The braking impulse ACCUMULATES from contact and the time reported is when it reaches half the drive, which is literally half the drive countered. That shape is forced by the positive-only convention: a rectified cumulative integral only ever increases, so it can never FALL to half the way a signed momentum curve does. It is also strictly better behaved -- the previous signed-vector version could floor above half and report nothing at all on captures that plainly braked. The braking accumulation is re-anchored at contact so only braking done after the front foot lands counts, and the search is not bounded above because braking runs on into Fire. NOTE: the window, the sign conventions and the integration here are duplicated VERBATIM in swingDriveImpulse, because the engine passes no computed metric values into an analytic's namespace. The two must agree on the drive value; edit both or neither. THE TARGET IS THE POSITIVE Fy DRIVE while the braking side stays a VECTOR of Y and Z. The drive is read on Fy because including Fz and Fx let it bank credit during the backward load at the head of the Gather; the block is nonetheless a three-axis action, so braking is still accumulated across all three. The two sides are therefore different quantities, and a vector braking impulse reaches half an Fy drive sooner than half a vector drive. Fx IS EXCLUDED FROM BRAKING: lateral force is the axis whose sign depends on handedness, it carries the largest share of implausible rear-plate readings, and it is not what arrests travel toward the pitcher. The block is the backward and vertical work, so braking is Y and Z; the drive it is measured against is positive Y alone.
The number of data points in the dataset
The peak negative vertical displacement during the braking and propulsive phases of a CMJ.
The POSITIVE net impulse the hitter accumulates over the drive -- integrated across Gather and Forward Momentum and evaluated at the close of that span, which is front-foot contact. It is a DEFINITE INTEGRAL over a fixed window, not a maximum of anything: the window ends at front-foot contact because past that the front side is arresting the body and anything accumulated there is braking rather than drive. This is the drive that swingBrakeTime is measured against: braking time is how long the front side takes to counter half of THIS number. POSITIVE-ONLY, with a sign convention per metric: the drive counts +Fx, +Fy and +Fz (Fz meaning force above body weight), while braking counts -Fx, -Fy and +Fz. Z is positive for both, because the hitter pushes up through body weight to drive and to block. Every axis is gated on the DIRECTION OF TRAVEL: it contributes only on samples where the forward axis is itself acting in the counted direction, so the drive accumulates only while Fy > 0 and braking only while Fy < 0. Without that gate, +Fz and +Fx banked drive during the backward load at the start of the Gather -- the hitter pushing up through body weight while moving away from the pitcher -- which was a median 5.5% of the drive and up to 83.9% on the worst capture. Each axis is rectified BEFORE integrating, so it contributes only while it pushes the counted way and an axis that reverses does not subtract what it already earned -- that is what makes these positive-only impulses rather than net momentum. The resultant sqrt(Jx^2+Jy^2+Jz^2) is assembled from the per-axis integrals at the END, because a weight vector cannot be subtracted from an already-combined magnitude. NO de-biasing: body weight comes off the VERTICAL axis only, since gravity acts along Z and Fx/Fy carry no weight to remove, and nothing is subtracted on the strength of the Wait phase. Integration starts at the Gather onset, so no standing-still data enters the measurement. CAVEAT ON X: +X is rightward in the plate frame, so the lateral term is handedness-dependent -- a left- and a right-handed hitter drive laterally in opposite directions, and only one of them accumulates under +X for the drive. Fx is the smallest of the three contributions but not negligible. Taken from the combined (Parent) trace because a net impulse is a property of the whole hitter -- the rear foot generates the drive and the front foot destroys it, so a per-foot split would measure contributions rather than the body's net impulse, and subtracting a whole body weight from one plate carrying ~49 %BW would invent ~51 %BW of downward force. Reported in RAW newton-seconds, so it scales with the athlete: a heavier hitter moving the same way records a larger number. Use relativeSwingDriveImpulse to compare across athletes. Per-axis values are available on Fx/Fy/Fz; the vector is the headline. THE KEY METRIC IS THE POSITIVE Fy AXIS, not the vector. Including Fz and Fx let the vector bank drive during the backward load at the head of the Gather, where the hitter pushes up through body weight while travelling AWAY from the pitcher: measured over 90 captures that was a median 5.5% of the drive, p90 15.4% and 83.9% on the worst capture, 81.4% of it from Fz. Positive Fy removes that by construction, because the backward load is Fy < 0 and contributes nothing. The per-axis and vector values remain available for inspection; the slate uses Fy.
Non-normalized net drive impulse in newton-seconds: the driveImpulse integrand (Fz above bodyweight + forward Fy, as a fraction of BW) integrated over the drive window and multiplied by systemWeight (body_mass, N). Exactly equals the raw-Newton net drive impulse (normalization is division by body_mass, a constant, so multiplying back is exact). Same drive window + Fz>80%BW qualifier as driveImpulse.
Drive-leg impulse over the DRIVE window, normalized to body MASS in kg (Ns/kg) so it is comparable between athletes. Sums Fz above 100% BW (vertical drive) PLUS positive Fy (drive-toward-home shear). WINDOW: a drive movement STARTS when Fz > 80% BW OR Fy > 3% BW (the Fy trigger also needs Fy risen >= 2% above its running-min baseline so a static lean does not trigger; the Fz trigger has no rise guard, so LEG LIFT opens it before Fy goes positive). It ENDS/SEPARATES only when Fz < 30% BW AND Fy < 3% BW. The DRIVE is the LAST such movement, and only counts if its peak Fz exceeded 80% BW. NOTE: until 2026-08-31 this divided by body weight in NEWTONS rather than mass in kg, so every stored value before that date is a factor of g = 9.80665 too small despite the Ns/kg label. Historical pitch values and any norm derived from them are not comparable to current ones.
Drive time - elapsed time (ms) of the DRIVE impulse window: the last drive movement (start Fz>80% BW OR Fy>3% BW; separate/end Fz<30% BW AND Fy<3% BW). Same window driveImpulse integrates over; this is its duration.
Perceived velocity adjusted for extension. Not yet observed.
Estimated horizontal center of mass displacement during airborne phase using takeoff velocity.
Estimated jump distance from center of mass displacement and takeoff velocity, assuming a symmetric flight arc.
Estimate jump distance from net impulse and time in air.
Estimate the time spent in the air based on the vertical velocity at takeoff.
Ball speed off the bat. Wire unit unverified - no hit has been observed on the live feed yet.
Ball speed off the bat, manually entered or from external source (e.g., Trackman, Rapsodo)
Distance from the pitching rubber to the release point. CAUTION: real flat-ground bullpen payloads report this NEGATIVE (~-1.6), because TrackMan measures against an assumed rubber position that is not where the athlete is actually throwing from. Expect it to be meaningful only on a real mound.
The value below which the first quartile of the data falls
Time from the start of the visual stimulus until the estimated center of mass displacement reaches 61 cm (~2 ft).
The vertical ground reaction force applied to the system center of mass at the instant of peak negative vertical displacement of the system center of mass.
Batter handedness: the sign of the mean front-foot Fx over +-25 ms around the Fire start. A right-handed swing drives the lead foot's Fx negative; positive means left-handed. The same rule signs every swing stance/stride sideways value and angle (they carry it inline), so this card and those signs always agree; a coach correcting handedness is meant to flip them together. Replaces the Fy/Fz-resultant-peak rule (Caleb 2026-09-29). On 111 Lab swings it disagrees with the hitter's usual side on 8. Text-valued metric.
Time airborne, measured between the two 30 N crossings of vertical force across the Propulsive–Flight–Landing window — the same detection jumpHeight uses, so the two can never disagree.
Sum of absolute peak vertical free moments (Tz) from back foot (zone_index 1) and front foot (zone_index 0) during the Swing.
Difference of absolute peak vertical free moments (Tz): back foot (zone_index 1) minus front foot (zone_index 0).
Horizontal angle of the ball's path at the plate. Not yet observed.
Horizontal movement of the pitch. Wire unit unverified - not yet observed.
Horizontal angle of the ball's path at release.
The change in momentum of the athlete
The ratio between the impulse during the propulsive phase and the braking phase during a CMJ.
Vertical movement caused by spin, with gravity removed. UNITS UNVERIFIED - inches is the TrackMan convention but this field has not yet appeared in a real payload.
The range between the first and third quartiles
The height of the jump from the instant of take-off to the apex, from flight time. Take-off and touchdown are both identified by an absolute 30 N threshold on vertical force, matched to the plates’ residual noise rather than to a fraction of body weight, and detected across the Propulsive–Flight–Landing window so the result does not depend on phase-boundary accuracy. Does NOT include the centre-of-mass elevation already present at take-off from ankle plantarflexion.
Coefficient of variation (standard deviation divided by the mean) of jump height across a repeated-jump set. Lower is more consistent.
Calculate the vertical leap height based on the takeoff velocity.
Momentum at takeoff — body MASS in kg times takeoff velocity. Note the mass is obtained as system weight / g, because system weight is stored in NEWTONS; multiplying by the stored value directly overstates momentum by a factor of g (~9.81), which is what this analytic used to do. kg*m/s is dimensionally identical to N*s, so this is directly comparable to the impulse metrics: momentum at takeoff should equal the net impulse accumulated over the jump window.
The elapsed time of the jump window — movement onset through takeoff. Phase-name agnostic by design: it measures whatever window it is keyed to rather than looking for 'Unweighting'/'Braking'/'Propulsive' by name, so it keeps working when a capture type's phase set changes. Named jumpTime rather than contactTime because 'contact time' conventionally means ground contact in a rebound/drop jump; this is the force-production window of a jump started from standing. Pairs with reactionTime (stimulus to onset) and reactionTimeToTakeoff (stimulus to takeoff), which is their sum.
The vertical ground reaction force applied to the system center of mass at the instant of peak negative vertical displacement of the system center of mass divided by the peak negative vertical displacement of the system center of mass during the jumping phases.
A measure of the 'tailedness' of the data distribution compared to a normal distribution
The asymmetry between the left and right average force (either positive or negative) during a phase, multiple phases, or a capture.
The asymmetry index between the left and right RFD (either positive or negative) during a phase, multiple phases, or a test.
The asymmetry between the left and right RFD (either positive or negative) during a phase, multiple phases, or a test.
The asymmetry between the left and right impulse (either positive or negative) during a phase, multiple phases, or a capture.
The asymmetry index between the left and right average force (either positive or negative) during a phase, multiple phases, or a capture.
The asymmetry index between the left and right impulse (either positive or negative) during a phase, multiple phases, or a capture.
The asymmetry index between the left and right force (either positive or negative) during a phase, multiple phases, or a capture.
The asymmetry index between the left and right at the peak combined (left + right) instantaneous RFD (either positive or negative) during a phase, multiple phases, or a test.
The asymmetry index between the left and right RFD (either positive or negative) during a phase, multiple phases, or a capture.
The asymmetry index between the left and right RFD (either positive or negative) during the first 100 ms of a phase, multiple phases, or a test.
The asymmetry index between the left and right RFD (either positive or negative) during the first 150 ms of a phase, multiple phases, or a test.
The asymmetry index between the left and right RFD (either positive or negative) during the first 200 ms of a phase, multiple phases, or a test.
The asymmetry index between the left and right RFD (either positive or negative) during the first 50 ms of a phase, multiple phases, or a test.
The asymmetry between the left and right force (either positive or negative) during a phase, multiple phases, or a capture.
Percent difference between the left and right peak landing forces.
The asymmetry between the left and right at the peak combined (left + right) instantaneous RFD (either positive or negative) during a phase, multiple phases, or a test.
The asymmetry between the left and right RFD (either positive or negative) during a phase, multiple phases, or a capture.
The asymmetry between the left and right RFD (either positive or negative) during the first 100 ms of a phase, multiple phases, or a test.
The asymmetry between the left and right RFD (either positive or negative) during the first 150 ms of a phase, multiple phases, or a test.
The asymmetry between the left and right RFD (either positive or negative) during the first 200 ms of a phase, multiple phases, or a test.
The asymmetry between the left and right RFD (either positive or negative) during the first 50 ms of a phase, multiple phases, or a test.
How open or closed the base is when the stride lands: the angle of the back-foot-to-front-foot line off straight at the pitcher, as a JSON value {angle, direction, signedDeg}. angle = the magnitude; direction = 'closed' when the front foot lands toward the plate, 'open' when away, null when handedness cannot be resolved; signedDeg = the raw plate-frame angle in the previous convention (sideways = back minus front x), for machines. Keeps the swingStrideAngle id and value shape so customer history and Flux's open/closed display continue. Back foot = footprint centroid of every loaded rear sample over Gather + Forward Momentum; front foot = footprint centroid over +-25 ms around the Fire start. Handedness is the sign of the front foot's Fx around the Fire start. A footprint centroid uses only COP samples carrying at least 10 %BW, rejects outliers at 3 MAD per axis and counts each visited 5 mm cell once, so it is the centre of where the foot pressed.
Flat-ground landing distance of the batted ball. Wire unit unverified - not yet observed.
Left/Right asymmetry of the NET landing impulse each leg absorbs. The assessment window runs from landing touchdown until the cumulative combined net landing impulse reaches 80% of the jump's net positive impulse (the propulsion impulse that produced takeoff), or 500 ms, whichever comes first -- standardizing the window to the athlete's own output and excluding the noisy stabilization tail. Uses IMPULSE, not peak force, because landing impulse (the momentum being arrested) is surface-independent while peak landing force scales with floor stiffness (concrete vs rubber vs court). Each leg's impulse is relative to its own quiet-stance weight. asymmetry = (Right - Left)/max(|Right|,|Left|)*100; + = right-dominant.
How wide the base is when the stride lands: the straight-line distance between the back foot and the front foot at landing. Keeps the swingStrideLength id so customer history continues: before 2.2.0 this id reported the forward-only gap between the feet at landing under the name Swing Stride Length (median difference from the straight-line value < 1 cm). Back foot = footprint centroid of every loaded rear sample over Gather + Forward Momentum; front foot = footprint centroid over +-25 ms around the Fire start. A footprint centroid uses only COP samples carrying at least 10 %BW, rejects outliers at 3 MAD per axis and counts each visited 5 mm cell once, so it is the centre of where the foot pressed.
Landing stiffness = PEAK vertical GRF during landing absorption divided by the peak COM sink depth (N/m) - the field-standard vertical stiffness of the spring-mass model (McMahon & Cheng), so values are comparable with published ones. The two quantities are taken from different instants by convention: peak force is the impact transient (~14 ms after touchdown) while the COM bottoms out much later (~208 ms). The COM displacement is RECONSTRUCTED (the stored Pz drifts to meters): anchor Vz=0 at the flight apex (flight-phase center, true zero), integrate the actual force to a real touchdown velocity, then integrate displacement from touchdown and stop at the bottom of absorption (first v>=0) so integration bias can't run away.
Vertical angle of the batted ball off the bat. Not yet observed.
Horizontal angle of the batted ball off the bat. Not yet observed.
The left-side vertical ground reaction force at the instant of peak negative vertical displacement of the system center of mass (Parent).
The left ground reaction force applied to the system center of mass at the point of the peak instantaneous ground reaction force applied to the system center of mass.
The maximum value in the dataset
The median value of the dataset
The minimum value in the dataset
The most frequently occurring value in the dataset
Calculate the momentum at peak force during a phase, multiple phases, or a capture.
Modified Reactive Strength Index — how much jump height per second of effort. The numerator is the SAME 30 N flight-time jump height that the jumpHeight metric reports; it previously derived its own height from the raw Flight-phase span, which ran 11% high. The denominator is the time from movement initiation to take-off.
Net impulse per kilogram of body mass, per second of ground contact — the body-size-independent companion to modifiedReactiveStrengthIndexLateral. Same construction, same rationale (the numerator is the net impulse itself, never a jump distance or a v^2/(2g) displacement, both of which smuggle in a jump-angle assumption), with the only difference being that the impulse is divided by mass in kg. Use this one to COMPARE athletes: the absolute version scales with body size, so a heavier athlete scores higher at equal relative effort. Use the absolute version to track one athlete over time, where mass is roughly constant and the raw output is what changed. Note the divisor is mass in kg, obtained as system weight / g, because system weight is stored in NEWTONS. Dimensionally Ns/kg/s reduces to N/kg, i.e. mean net acceleration over the jump window.
ABSOLUTE net impulse per second of ground contact for a lateral jump — NOT normalised for body size, so it scales with mass and a heavier athlete scores higher at equal relative effort. Prefer relativeModifiedReactiveStrengthIndexLateral for comparing athletes; this one is for tracking a single athlete over time, where mass is roughly constant and the raw output is what changed. Measured across 128 captures it correlates r=+0.70 with system weight, which is why it is kept available but not shown as a key metric. Numerator is the net impulse itself, never a jump distance and never a v^2/(2g) displacement — both smuggle in a jump-angle assumption. The RESULTANT (vector) impulse is used so a lateral drive contributes fully instead of cancelling, built per-axis with body weight removed from the vertical only (see netImpulse).
The net impulse over the window analysed — the time integral of force with body weight removed, so it equals the change in momentum (impulse-momentum theorem). Body weight is subtracted from the VERTICAL axis only: gravity acts along Z, so Fx/Fy carry no weight to remove. For the resultant ('vector') the axes are integrated separately and the magnitude taken at the end, because the weight vector cannot be removed from an already-combined magnitude.
The largest absolute value in the dataset
The direction of the peak value in the dataset
The phi value of the peak direction
The rho value of the peak direction
The theta value of the peak direction
COMPARISON metric (self-integrated). Peak whole-body (all-plate) COM horizontal velocity DURING the drive impulse window, computed by integrating the combined horizontal GRF from v=0 at the drive-window start (a=(F%BW/100)*g, mass cancels) instead of reading stored Vx/Vy. COM = is_parent virtual device (drive + both delivery plates). Peak searched only within [drive_start, drive_end] because the landing zone brakes the COM after front-foot contact. Self-contained, so it also works on older captures whose stored velocity was never recorded. Returns (peak COM velocity m/s, time of peak s).
The peak force (either positive or negative) during a phase, multiple phases, or a capture.
The largest force MAGNITUDE during a phase, multiple phases, or a capture. Always non-negative. Use this instead of peakForce on a horizontal axis (Fx/Fy) whenever the movement direction varies between trials — a lateral jump cued randomly left or right, for example — because peakForce keeps the sign of the direction, so trials in opposite directions cancel when averaged.
Peak vertical free moment (Tz) — pure rotational torque about the vertical axis. Returns value at peak |Tz| with sign preserved.
The maximum impulse value in the dataset
Calculate the peak momentum in the XY (horizontal) plane during a phase, multiple phases, or a capture: mass * sqrt(Vx^2 + Vy^2). NOTE: the engine passes body_mass as BODYWEIGHT in newtons, so it is divided by g (9.81) to get true mass (kg); momentum is therefore kg*m/s. Returns (peak momentum, time of peak in s).
The peak instantaneous power (either positive or negative) during a phase, multiple phases, or a capture. For the vector component, power is the dot product of the force and the centre-of-mass velocity (Fx·Vx + Fy·Vy + Fz·Vz): the power delivered along the direction of motion, which is negative while braking. (Before 1.11.0 it was the product of the two magnitudes, |F| × speed, which is never negative and overstates power whenever force and motion point in different directions.)
The peak instantaneous power during the window analysed, divided by body MASS in kg, so it is comparable between athletes. Note the divisor is mass in kg, obtained as system weight / g — system weight is stored in NEWTONS. For the vector component, power is the dot product of the force and the centre-of-mass velocity (Fx·Vx + Fy·Vy + Fz·Vz): the power delivered along the direction of motion, which is negative while braking. (Before 1.11.0 it was the product of the two magnitudes, |F| × speed, which is never negative and overstates power whenever force and motion point in different directions.)
Peak instantaneous rate of force development
The difference between the maximum and minimum values in the dataset
The peak velocity (either positive or negative) during a phase, multiple phases, or a capture.
Duration of the phase in seconds: last sample time minus first over the phase's data slice.
Ball velocity at release. Measured by TrackMan when radar is available, otherwise entered manually.
Height of the ball as it crosses the front of home plate. The Location block is SPARSE - it appeared on only one of four pitches in a real session - so consumers must tolerate its absence per pitch.
Horizontal position at the front of home plate.
Ball speed as it crosses the plate.
The impulse during the braking and propulsive phases.
Net impulse over the Propulsive phase. Fx and Fy integrate signed horizontal force without subtracting body weight; Fz integrates vertical force minus body weight. The vector result is the magnitude of the three integrated net-impulse components. The phase is selected explicitly; this metric does not clip negative force samples. For a vertical jump starting propulsion at zero vertical velocity, its Fz value equals mass times takeoff velocity.
Asymmetry of each leg's NET positive impulse during the propulsive phase, taken above a flat 50 %BW (half body weight) per leg -- NOT each leg's own stance -- so a standing posture already favoring the stronger leg is captured, not masked. asymmetry = (Right-Left)/max(|R|,|L|)*100.
Horizontal center of mass displacement at the end of the propulsive phase.
The difference between the maximum and minimum values in the dataset
The rate at which force is developed
Elapsed time from the visual stimulus to the first detectable movement — the athlete's reaction proper, ending where the jump window begins, so it excludes the time spent producing force. Pair with reactionTimeToTakeoff (stimulus to leaving the ground) to separate 'how fast did they decide' from 'how fast did they go'. Phase-name agnostic by design: it measures whatever window it is keyed to rather than looking for 'Reactionary' by name, so it keeps working when a capture type's phase set changes. Key it to the phase that begins at the stimulus and ends at movement onset.
The elapsed time from the visual stimulus to takeoff — the athlete's total response: recognising the cue, then producing enough impulse to leave the ground. Phase-name agnostic by design: it measures whatever window it is keyed to rather than looking for 'Reactionary'/'Unweighting'/'Braking'/'Propulsive' by name, so it keeps working when a capture type's phase set changes. Key it to the reaction phase plus the jump window; the window must START at the stimulus for the value to mean what the name says.
Duration of the Reaction Window in milliseconds -- front-foot contact to the Fire commitment, i.e. how long the hitter has between landing the front foot and committing to the swing. Named explicitly rather than surfaced as the generic phaseDuration so the key-metric table reads as a metric instead of as a phase row. Returns no value when no Reaction Window was detected, which is a real answer for no-kick / toe-drag hitters (about 1 capture in 6) rather than an error.
Time from first negative Fy after Delivery contact to the first zero-crossing of Fy back to >= 0.
The POSITIVE net impulse the hitter accumulates over the drive -- integrated across Gather and Forward Momentum and evaluated at the close of that span, which is front-foot contact. It is a DEFINITE INTEGRAL over a fixed window, not a maximum of anything: the window ends at front-foot contact because past that the front side is arresting the body and anything accumulated there is braking rather than drive. This is the drive that swingBrakeTime is measured against (brake time compares braking to a FRACTION of the drive, so it is unaffected by which of the two is used): braking time is how long the front side takes to counter half of THIS number. POSITIVE-ONLY, with a sign convention per metric: the drive counts +Fx, +Fy and +Fz (Fz meaning force above body weight), while braking counts -Fx, -Fy and +Fz. Z is positive for both, because the hitter pushes up through body weight to drive and to block. Every axis is gated on the DIRECTION OF TRAVEL: it contributes only on samples where the forward axis is itself acting in the counted direction, so the drive accumulates only while Fy > 0 and braking only while Fy < 0. Without that gate, +Fz and +Fx banked drive during the backward load at the start of the Gather -- the hitter pushing up through body weight while moving away from the pitcher -- which was a median 5.5% of the drive and up to 83.9% on the worst capture. Each axis is rectified BEFORE integrating, so it contributes only while it pushes the counted way and an axis that reverses does not subtract what it already earned -- that is what makes these positive-only impulses rather than net momentum. The resultant sqrt(Jx^2+Jy^2+Jz^2) is assembled from the per-axis integrals at the END, because a weight vector cannot be subtracted from an already-combined magnitude. NO de-biasing: body weight comes off the VERTICAL axis only, since gravity acts along Z and Fx/Fy carry no weight to remove, and nothing is subtracted on the strength of the Wait phase. Integration starts at the Gather onset, so no standing-still data enters the measurement. CAVEAT ON X: +X is rightward in the plate frame, so the lateral term is handedness-dependent -- a left- and a right-handed hitter drive laterally in opposite directions, and only one of them accumulates under +X for the drive. Fx is the smallest of the three contributions but not negligible. Taken from the combined (Parent) trace because a net impulse is a property of the whole hitter -- the rear foot generates the drive and the front foot destroys it, so a per-foot split would measure contributions rather than the body's net impulse, and subtracting a whole body weight from one plate carrying ~49 %BW would invent ~51 %BW of downward force. Normalized to body MASS in kg (Ns/kg), which is what makes it comparable across athletes; swingDriveImpulse is the same quantity in raw newton-seconds. Note Ns/kg is dimensionally m/s, so this is numerically the speed a free body of the hitter's mass would carry under the same positive impulse. Per-axis values are available on Fx/Fy/Fz; the vector is the headline. THE KEY METRIC IS THE POSITIVE Fy AXIS, not the vector. Including Fz and Fx let the vector bank drive during the backward load at the head of the Gather, where the hitter pushes up through body weight while travelling AWAY from the pitcher: measured over 90 captures that was a median 5.5% of the drive, p90 15.4% and 83.9% on the worst capture, 81.4% of it from Fz. Positive Fy removes that by construction, because the backward load is Fy < 0 and contributes nothing. The per-axis and vector values remain available for inspection; the slate uses Fy.
The net impulse over the window analysed, divided by body MASS in kg — so it equals the change in velocity (m/s) and is directly comparable between athletes. Body weight is subtracted from the vertical axis only, and the resultant is built per-axis then combined; see netImpulse. Note the divisor is mass in kg, obtained as system weight / g — system weight is stored in NEWTONS.
The net impulse accumulated over the braking and propulsive phases, divided by body MASS in kg. Body weight is subtracted from the vertical axis only, and the resultant is built per-axis then combined; see netImpulse. Note the divisor is mass in kg, obtained as system weight / g — system weight is stored in NEWTONS. For a capture type with no braking phase (a reactive lateral drive, say) prefer relativeNetImpulse keyed to the jump phase, which does not depend on these phase names existing.
Net vertical impulse over the propulsive phase, divided by body MASS in kg (Ns/kg) -- so it is comparable between athletes. Because the propulsive phase begins at the countermovement bottom (velocity = 0), the absolute integral equals mass x takeoff velocity, which means this relative form IS the takeoff velocity in m/s and remains the exact determinant of jump height. Prefer this over the absolute positiveNetImpulse for cross-athlete comparison: absolute impulse tracks body mass (measured r = +0.90 with system weight over a 45-98 kg sample), so it rewards being heavy rather than being explosive. Body weight is subtracted from the vertical axis only; see netImpulse. Note the divisor is mass in kg, obtained as system weight / g -- system weight is stored in NEWTONS.
Height of the release point above the ground.
Horizontal release position relative to the centre of the rubber; positive toward the third-base side.
Number of ground contacts recorded in a repeated set (hops or bounds).
The rate at which force is developed during the first 100 ms of the test or phase.
The rate at which force is developed during the first 150 ms of the test or phase.
The rate at which force is developed during the first 200 ms of the test or phase.
The rate at which force is developed during the first 50 ms of the test or phase
The right-side vertical ground reaction force at the instant of peak negative vertical displacement of the system center of mass (Parent).
The right ground reaction force applied to the system center of mass at the point of the peak instantaneous ground reaction force applied to the system center of mass.
Calculate the Reactive Strength Index (RSI).
A measure of the asymmetry of the data distribution
Spin axis orientation in degrees.
Percentage of total spin that contributes to movement. TrackMan sends a 0-1 ratio on the wire; the enricher converts it to a percentage.
Total spin rate of the pitch at release, measured by TrackMan.
How open or closed the stance is: the angle of the back-foot-to-front-foot line off straight at the pitcher, + closed (front foot toward the plate), - open. Foot placement only; it cannot see which way the toes point. Signed by handedness (the sign of the front foot's Fx around the Fire start) so + always means toward the plate (closed) and - away from it (open), for both right- and left-handed hitters. Stance points: back foot = footprint centroid of every loaded rear sample over Gather + Forward Momentum; front foot = footprint centroid over +-100 ms around the Gather start. A footprint centroid uses only COP samples carrying at least 10 %BW, rejects outliers at 3 MAD per axis and counts each visited 5 mm cell once, so it is the centre of where the foot pressed.
The toward-the-pitcher part of the stance: how far forward of the back foot the front foot is set before the stride. Stance points: back foot = footprint centroid of every loaded rear sample over Gather + Forward Momentum; front foot = footprint centroid over +-100 ms around the Gather start. A footprint centroid uses only COP samples carrying at least 10 %BW, rejects outliers at 3 MAD per axis and counts each visited 5 mm cell once, so it is the centre of where the foot pressed.
The sideways part of the stance: how far the front foot is set toward (+, closed stance) or away from (-, open stance) the plate relative to the back foot. Signed by handedness (the sign of the front foot's Fx around the Fire start) so + always means toward the plate (closed) and - away from it (open), for both right- and left-handed hitters. Stance points: back foot = footprint centroid of every loaded rear sample over Gather + Forward Momentum; front foot = footprint centroid over +-100 ms around the Gather start. A footprint centroid uses only COP samples carrying at least 10 %BW, rejects outliers at 3 MAD per axis and counts each visited 5 mm cell once, so it is the centre of where the foot pressed.
How far apart the feet are set up before the stride: the straight-line distance between the back foot and the front foot. Stance points: back foot = footprint centroid of every loaded rear sample over Gather + Forward Momentum; front foot = footprint centroid over +-100 ms around the Gather start. A footprint centroid uses only COP samples carrying at least 10 %BW, rejects outliers at 3 MAD per axis and counts each visited 5 mm cell once, so it is the centre of where the foot pressed.
A measure of the amount of variation or dispersion in the dataset
Which way the stride goes: the angle of the front foot's travel off straight at the pitcher, + closed (toward the plate), - open (away from it). No value below 4 cm of travel, where the direction is COP noise rather than where the foot went. Signed by handedness (the sign of the front foot's Fx around the Fire start) so + always means toward the plate (closed) and - away from it (open), for both right- and left-handed hitters. Stride points: the front foot's footprint centroid over +-100 ms around the Gather start (before the stride) and over +-25 ms around the Fire start (at landing). A footprint centroid uses only COP samples carrying at least 10 %BW, rejects outliers at 3 MAD per axis and counts each visited 5 mm cell once, so it is the centre of where the foot pressed.
Stride angle in degrees, measured from straight toward home plate (0 deg). Built from the same stride vector as strideLength: forward length = lead-foot COPy at Delivery peak Fz minus back-foot COPy at Loading peak Fz, each in the group frame via its zone's originOffsetY (mm, on the mound definition); lateral width = COPx delta. Angle = atan2(width, length). 0 deg = the lead foot lands directly in line with home; the sign indicates which side of the line the stride falls (open vs closed).
How long the stride takes: from the front foot's first lift to its final landing, between the Gather and Fire starts. A toe tap's brief touch falls inside the span. The front plate does not read zero with the foot off -- on Batter's Box captures it sits on a flat 12-37 N plateau that varies by plate -- so airborne is measured against that plateau: front Fz below (5th percentile of front Fz in the window) + 3 %BW. Gaps under 60 ms are bridged and airborne runs under 30 ms ignored (the swing detector's BRIDGE_GAP_MS / MIN_AIR_MS). No value when the front foot never leaves the plate: its 5th percentile stays above 10 %BW, or no run qualifies. On 106 Lab swings the landing this finds sits a median 1 ms from the detector's front-foot landing (Reaction Window start); 3 swings are more than 25 ms off.
The toward-the-pitcher part of the stride; negative for a backward stride. Stride points: the front foot's footprint centroid over +-100 ms around the Gather start (before the stride) and over +-25 ms around the Fire start (at landing). A footprint centroid uses only COP samples carrying at least 10 %BW, rejects outliers at 3 MAD per axis and counts each visited 5 mm cell once, so it is the centre of where the foot pressed.
How far the front foot travels in the stride: the straight-line distance from where it was set before the stride to where it lands. Both points are on the front plate, so its origin offsets cancel. Stride points: the front foot's footprint centroid over +-100 ms around the Gather start (before the stride) and over +-25 ms around the Fire start (at landing). A footprint centroid uses only COP samples carrying at least 10 %BW, rejects outliers at 3 MAD per axis and counts each visited 5 mm cell once, so it is the centre of where the foot pressed.
Forward distance between back-foot COP at Loading peak Fz and lead-foot COP at Delivery peak Fz, each placed in the group frame with its zone's origin offset (originOffsetY on the mound definition's virtual devices, mm). Reports an error string, not a number, when a mound definition carries no zone offsets.
The sideways part of the stride: how far the front foot moves toward (+, closed) or away from (-, open) the plate. Signed by handedness (the sign of the front foot's Fx around the Fire start) so + always means toward the plate (closed) and - away from it (open), for both right- and left-handed hitters. Stride points: the front foot's footprint centroid over +-100 ms around the Gather start (before the stride) and over +-25 ms around the Fire start (at landing). A footprint centroid uses only COP samples carrying at least 10 %BW, rejects outliers at 3 MAD per axis and counts each visited 5 mm cell once, so it is the centre of where the foot pressed.
Stride Type: (forward-drive END) - (delivery-phase START) in ms. The forward-drive END is the last time the drive-plate Fy is >= 3% BW (the drive-toward-home push), with the vertical (Fz) condition intentionally dropped - so the boundary tracks when forward drive stops, not when the drive foot finally unloads. Positive = TERRESTRIAL (drive still pushing after front-foot contact, overlap); negative = AERIAL (forward drive ended before contact, flight gap). Uses the same drive-movement detection + Fz>80%BW qualifier as driveImpulse to find the drive; delivery start = first time zone_index 0 is in phase 'Delivery'.
Medial-lateral impulse on the REAR plate -- the sideways component of the drive, which is where rotational intent shows up rather than in the forward push. Back Leg Medial-Lateral Impulse is one of the variables the LASSO model retained when predicting bat speed (RMSE 2.47 mph, R^2 = 0.420). Rectified to one direction and normalized to body MASS in kg (Ns/kg), so it is comparable between hitters. Window: Forward Momentum through Fire. The window deliberately spans more than one phase where a single phase is unreliable -- Reaction Window is absent on roughly 1 in 6 captures and any phase can measure 0 ms.
How much the hitter loads into the back leg while gathering -- the vertical impulse accumulated on the REAR plate above quiet stance during Gather. Driveline reports a Load Impulse and a Max Fz Load Force of roughly 66% BW for this action. Measured above THIS plate's own quiet-stance baseline (the mean Fz over the Wait phase), not above a flat half body weight -- a batting stance is deliberately rear-loaded, so 50 %BW is not either plate's neutral and would charge the rear plate for standing still. Normalized to body MASS in kg (Ns/kg). Window: the Gather phase. The baseline is the MEDIAN of the last 500 ms of Wait rather than the mean of the whole phase: Wait runs up to 6.1 s and the athlete is often still settling early in it (measured Wait-phase Fz standard deviations reach 21.8 %BW). CAVEAT ON THIS CORPUS: front-plate stance load varies from 1.9 to 107 %BW across captures, so stance setup is not consistent and this metric is legitimately sensitive to it -- a hitter set up almost entirely off this plate will score a large above-stance impulse. Compare within an athlete and setup, not across the corpus.
Peak rate of change of the vertical free moment (Tz) on the front plate through the swing -- how fast the hitter builds rotational torque against the ground, rather than how much. Torque magnitude is already covered by hipRotationMagnitude; this is its rate, which is the property that distinguishes a quick swing from a merely strong one. Computed on a 10 ms centred slope so single-sample jitter in the free moment does not dominate.
Time between peak force vectors on the back-foot plate (zone_index 1) and the lead-foot plate (zone_index 0).
Lateral (X) COP displacement between the two plates at their respective peak force vectors during the Swing. Landing COP averaged over +-30 ms around the front force-vector peak (single-sample COP is jitter-prone at touchdown). Back-foot COP = occupancy centroid of the rear footprint over Gather..RW start (outlier-rejected, 5 mm cells, dwell-unbiased) when a Gather phase exists; legacy loading-peak COP otherwise.
The body mass of the individual
Pitch type tagged by the operator in the TrackMan app (e.g. "Fastball"). Text. Arrives via PlayMetadata, which has not yet been observed on the live feed.
The angle of the takeoff vector above horizontal, in degrees: 0 is a purely horizontal launch, 90 purely vertical. Derived from the NET IMPULSE components rather than from a velocity sample, because impulse divided by mass IS takeoff velocity — the mass cancels out of the ratio, so the angle is identical either way while the impulse route avoids depending on a single boundary sample of a drifted velocity trace. Body weight is removed from the vertical axis only (see netImpulse), which matters here: leaving it in would bias the vertical component and tilt every angle. This is the technique dimension deliberately kept OUT of mRSI-lateral — read the two together to separate how much impulse the athlete produced from which direction they aimed it.
Velocity of the center of mass at the instant of take-off.
The value below which the third quartile of the data falls
Spin axis expressed as a clock face (e.g. "10:30"). Text, not numeric.
Milliseconds from FRONT-FOOT CONTACT to the front plate's peak resultant force -- how quickly the lead leg goes from touchdown to a fully posted block. Contact is the start of the Reaction Window, or the start of Fire when no Reaction Window was detected (Reaction Window is absent on roughly 1 in 6 captures, so anchoring on it alone would drop the metric there rather than degrade it). This is the lead-leg analogue of time-to-peak-force, and the timing half of the front-plate peak-resultant measure that correlates with bat speed at r = 0.662. It describes the LEAD LEG and not the swing, which is why it carries no swing prefix: the same mechanism and the same measurement apply to the front leg in a pitch.
The total time taken from the initiation of movement to the peak force.
The total time taken from the initiation of movement to the instant of take-off.
The overall direction of the data over time
A measure of how far a set of numbers is spread out from their average value
Vertical angle of the ball's path at the plate. Not yet observed.
Total vertical movement including gravity. Wire unit unverified - not yet observed.
The vertical distance the athlete jumps
Vertical angle of the ball's path at release.