kinemotion 0.75.0__py3-none-any.whl → 0.76.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kinemotion
3
- Version: 0.75.0
3
+ Version: 0.76.0
4
4
  Summary: Video-based kinematic analysis for athletic performance
5
5
  Project-URL: Homepage, https://github.com/feniix/kinemotion
6
6
  Project-URL: Repository, https://github.com/feniix/kinemotion
@@ -51,6 +51,7 @@ Description-Content-Type: text/markdown
51
51
 
52
52
  - **Drop Jump**: Ground contact time, flight time, reactive strength index
53
53
  - **Counter Movement Jump (CMJ)**: Jump height, flight time, countermovement depth, triple extension biomechanics
54
+ - **Squat Jump (SJ)**: Pure concentric power, force production, requires athlete mass
54
55
 
55
56
  ## Features
56
57
 
@@ -83,6 +84,14 @@ Description-Content-Type: text/markdown
83
84
  - **Metrics**: Jump height, flight time, countermovement depth, eccentric/concentric durations
84
85
  - **Validated accuracy**: 50.6cm jump (±1 frame precision)
85
86
 
87
+ ### Squat Jump (SJ) Analysis
88
+
89
+ - **Static squat start** - pure concentric power test (no countermovement)
90
+ - **Power/Force calculations** - Sayers regression (R² = 0.87, \<1% error vs force plates)
91
+ - **Mass required** - athlete body weight needed for kinetic calculations
92
+ - **Metrics**: Jump height, flight time, squat hold/concentric durations, peak/mean power, peak force
93
+ - **Phase detection**: Squat hold → concentric → flight → landing
94
+
86
95
  ## ⚠️ Validation Status
87
96
 
88
97
  **Current Status:** Pre-validation (not validated against force plates or motion capture systems)
@@ -228,7 +237,22 @@ kinemotion cmj-analyze video.mp4
228
237
  kinemotion cmj-analyze video.mp4 --output debug.mp4
229
238
  ```
230
239
 
231
- ### Common Options (Both Jump Types)
240
+ ### Analyzing Squat Jump (SJ)
241
+
242
+ Analyzes pure concentric power production:
243
+
244
+ ```bash
245
+ # Mass is required for power/force calculations
246
+ kinemotion sj-analyze video.mp4 --mass 75.0
247
+
248
+ # Complete analysis with all outputs
249
+ kinemotion sj-analyze video.mp4 --mass 75.0 \
250
+ --output debug.mp4 \
251
+ --json-output results.json \
252
+ --verbose
253
+ ```
254
+
255
+ ### Common Options (All Jump Types)
232
256
 
233
257
  ```bash
234
258
  # Save metrics to JSON
@@ -390,6 +414,31 @@ metrics = process_cmj_video("video.mp4", output_video="debug.mp4")
390
414
  # - Phase-coded visualization
391
415
  ```
392
416
 
417
+ ### Squat Jump (SJ) API
418
+
419
+ ```python
420
+ from kinemotion import process_sj_video
421
+
422
+ # Mass is required for power/force calculations
423
+ metrics = process_sj_video(
424
+ video_path="athlete_sj.mp4",
425
+ mass_kg=75.0, # Required: athlete body mass
426
+ quality="balanced",
427
+ verbose=True
428
+ )
429
+
430
+ # Access results
431
+ print(f"Jump height: {metrics.jump_height:.3f}m")
432
+ print(f"Squat hold: {metrics.squat_hold_duration*1000:.1f}ms")
433
+ print(f"Concentric: {metrics.concentric_duration*1000:.1f}ms")
434
+
435
+ # Power/force (only available if mass provided)
436
+ if metrics.peak_power:
437
+ print(f"Peak power: {metrics.peak_power:.0f}W")
438
+ print(f"Mean power: {metrics.mean_power:.0f}W")
439
+ print(f"Peak force: {metrics.peak_force:.0f}N")
440
+ ```
441
+
393
442
  ### CSV Export Example
394
443
 
395
444
  ```python
@@ -1,6 +1,6 @@
1
- kinemotion/__init__.py,sha256=GovgX2mxUmfTH2HsMqlOCfU28niiTdu0c7iTIACcly4,1079
2
- kinemotion/api.py,sha256=x7rHYgh-bpc6a1kMp9fnnFkU7y96qYelDbzcqN3oUKY,1110
3
- kinemotion/cli.py,sha256=H3--5whfauDuOyW31lrK1MF-2U-61V11ft5RIndZuUU,644
1
+ kinemotion/__init__.py,sha256=vGZ0XeiQSiqE9aKPWbGFfB4_wDQtiOPgloytgX_dcP4,1364
2
+ kinemotion/api.py,sha256=2bUXUfBSGFL01xRmgOurH3bNGms0eJYwhLCf3UCOkLk,1570
3
+ kinemotion/cli.py,sha256=4QpXr6pU4kbIC3NjphSY5yZV7CtJI4_Ew1Rh7iGSa9s,741
4
4
  kinemotion/core/__init__.py,sha256=E7HDsetuKTJ7EBb8ftNifJoKS8uhS4snRO7HgISyBoM,2035
5
5
  kinemotion/core/auto_tuning.py,sha256=ZDmHJJw69wzlRkEJ8OtLPE6KV5wLHcMha1RePVRICkI,11836
6
6
  kinemotion/core/cli_utils.py,sha256=6VA8HSnVvKaWMm7d9ahrqwFPXuRPp53s0dib1yCE7yQ,4179
@@ -43,9 +43,17 @@ kinemotion/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
43
43
  kinemotion/models/pose_landmarker_lite.task,sha256=WZKeHR7pUodzXd2DOxnPSsRtKbx6_du_Z1PEWWkNV0o,5777746
44
44
  kinemotion/models/rtmpose-s_simcc-body7_pt-body7-halpe26_700e-256x192-7f134165_20230605.onnx,sha256=dfZTq8kbhv8RxWiXS0HUIJNCUpxYTBN45dFIorPflEs,133
45
45
  kinemotion/models/yolox_tiny_8xb8-300e_humanart-6f3252f9.onnx,sha256=UsutHVQ6GP3X5pCcp52EN8q7o2J3d-TnxZqlF48kY6I,133
46
+ kinemotion/squat_jump/__init__.py,sha256=h6ubO3BUANxqjKMdN-KtlN6m77HARAP25PLzHw9k-Lk,99
47
+ kinemotion/squat_jump/analysis.py,sha256=lr8C4UDVRI1fHmzMhtcsPXWlt7bNjAKS6EytIgayzTE,12497
48
+ kinemotion/squat_jump/api.py,sha256=YMbq2BQzB_SnZ_Z-2KnR_OO2xuua-Zg0hP29Ghbk_d4,20111
49
+ kinemotion/squat_jump/cli.py,sha256=09Q9O4_sHxw6QWDyPiynDQZSMixTO32NrJ5PTXTJNIk,9806
50
+ kinemotion/squat_jump/debug_overlay.py,sha256=tCIeE9BqCfK-RCURCOM2oqF5qgYGMWD27QWdREpeuSc,6429
51
+ kinemotion/squat_jump/kinematics.py,sha256=deJV1qDEn6-CLA3SxAOuuI-YDWIbEe9N8lWeZvswmgA,12231
52
+ kinemotion/squat_jump/metrics_validator.py,sha256=F0jycY7waDxf6RqUwBulcaKD3frD7EobykgQB-Ayluk,16106
53
+ kinemotion/squat_jump/validation_bounds.py,sha256=q01eQ8Eg01Y5UV3KlvZS1S9iY628OVPUwLoukHZvQOs,7276
46
54
  kinemotion/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
- kinemotion-0.75.0.dist-info/METADATA,sha256=4fzPj_5WXli6xDqcMMbGGz1PXo2sTJzeJIxTGeUy_1s,26125
48
- kinemotion-0.75.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
49
- kinemotion-0.75.0.dist-info/entry_points.txt,sha256=zaqnAnjLvcdrk1Qvj5nvXZCZ2gp0prS7it1zTJygcIY,50
50
- kinemotion-0.75.0.dist-info/licenses/LICENSE,sha256=KZajvqsHw0NoOHOi2q0FZ4NBe9HdV6oey-IPYAtHXfg,1088
51
- kinemotion-0.75.0.dist-info/RECORD,,
55
+ kinemotion-0.76.0.dist-info/METADATA,sha256=S4_rnobPn-X8PmMBwe7jOoj-voa_dk0xBJsuhw15au4,27690
56
+ kinemotion-0.76.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
57
+ kinemotion-0.76.0.dist-info/entry_points.txt,sha256=zaqnAnjLvcdrk1Qvj5nvXZCZ2gp0prS7it1zTJygcIY,50
58
+ kinemotion-0.76.0.dist-info/licenses/LICENSE,sha256=KZajvqsHw0NoOHOi2q0FZ4NBe9HdV6oey-IPYAtHXfg,1088
59
+ kinemotion-0.76.0.dist-info/RECORD,,