kinemotion 0.18.2__tar.gz → 0.20.0__tar.gz
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.
Potentially problematic release.
This version of kinemotion might be problematic. Click here for more details.
- {kinemotion-0.18.2 → kinemotion-0.20.0}/CHANGELOG.md +16 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/PKG-INFO +62 -14
- {kinemotion-0.18.2 → kinemotion-0.20.0}/README.md +61 -13
- {kinemotion-0.18.2 → kinemotion-0.20.0}/pyproject.toml +1 -1
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/core/video_io.py +12 -2
- {kinemotion-0.18.2 → kinemotion-0.20.0}/uv.lock +1 -1
- {kinemotion-0.18.2 → kinemotion-0.20.0}/.dockerignore +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/.github/pull_request_template.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/.github/workflows/docs.yml +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/.github/workflows/release.yml +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/.github/workflows/test.yml +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/.gitignore +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/.pre-commit-config.yaml +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/.readthedocs.yml +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/.tool-versions +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/CLAUDE.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/CODE_OF_CONDUCT.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/CONTRIBUTING.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/Dockerfile +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/GEMINI.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/LICENSE +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/SECURITY.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/docs/README.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/docs/api/cmj.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/docs/api/core.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/docs/api/dropjump.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/docs/api/overview.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/docs/development/errors-findings.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/docs/development/validation-plan.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/docs/development/wallball-norep-detection.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/docs/guides/bulk-processing.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/docs/guides/camera-setup.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/docs/guides/cmj-guide.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/docs/index.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/docs/reference/parameters.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/docs/reference/pose-systems.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/docs/research/sports-biomechanics-pose-estimation.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/docs/technical/framerate.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/docs/technical/imu-metadata.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/docs/technical/real-time-analysis.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/docs/technical/triple-extension.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/docs/translations/es/camera-setup.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/examples/bulk/README.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/examples/bulk/bulk_processing.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/examples/bulk/simple_example.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/examples/programmatic_usage.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/mkdocs.yml +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/requirements-docs.txt +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/samples/cmjs/README.md +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/sonar-project.properties +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/__init__.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/api.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/cli.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/cmj/__init__.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/cmj/analysis.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/cmj/cli.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/cmj/debug_overlay.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/cmj/joint_angles.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/cmj/kinematics.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/core/__init__.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/core/auto_tuning.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/core/cli_utils.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/core/debug_overlay_utils.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/core/filtering.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/core/pose.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/core/smoothing.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/dropjump/__init__.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/dropjump/analysis.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/dropjump/cli.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/dropjump/debug_overlay.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/dropjump/kinematics.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/src/kinemotion/py.typed +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/tests/__init__.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/tests/test_adaptive_threshold.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/tests/test_api.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/tests/test_aspect_ratio.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/tests/test_cli_imports.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/tests/test_cmj_analysis.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/tests/test_cmj_kinematics.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/tests/test_com_estimation.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/tests/test_contact_detection.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/tests/test_filtering.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/tests/test_joint_angles.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/tests/test_kinematics.py +0 -0
- {kinemotion-0.18.2 → kinemotion-0.20.0}/tests/test_polyorder.py +0 -0
|
@@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
<!-- version list -->
|
|
9
9
|
|
|
10
|
+
## v0.20.0 (2025-11-10)
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
- Add platform-specific installation guide and ffprobe warnings
|
|
15
|
+
([`b61c8c6`](https://github.com/feniix/kinemotion/commit/b61c8c6dbc2191ca321a2b813aa995c3a68b0b0b))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## v0.19.0 (2025-11-10)
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
- Add comprehensive badge layout to README
|
|
23
|
+
([`e1e2ca3`](https://github.com/feniix/kinemotion/commit/e1e2ca38c67077092bfc1455acfbe8a424e5d4b4))
|
|
24
|
+
|
|
25
|
+
|
|
10
26
|
## v0.18.2 (2025-11-10)
|
|
11
27
|
|
|
12
28
|
### Bug Fixes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kinemotion
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.20.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
|
|
@@ -30,13 +30,18 @@ Description-Content-Type: text/markdown
|
|
|
30
30
|
# Kinemotion
|
|
31
31
|
|
|
32
32
|
[](https://pypi.org/project/kinemotion/)
|
|
33
|
+
[](https://pypi.org/project/kinemotion/)
|
|
33
34
|
[](https://opensource.org/licenses/MIT)
|
|
34
|
-
|
|
35
|
-
[](https://github.com/feniix/kinemotion/actions)
|
|
37
|
+
[](https://sonarcloud.io/summary/overall?id=feniix_kinemotion)
|
|
38
|
+
[](https://sonarcloud.io/summary/overall?id=feniix_kinemotion)
|
|
39
|
+
|
|
36
40
|
[](https://github.com/astral-sh/ruff)
|
|
37
|
-
[](https://github.com/microsoft/pyright)
|
|
42
|
+
[](https://github.com/pre-commit/pre-commit)
|
|
38
43
|
|
|
39
|
-
A video-based kinematic analysis tool for athletic performance. Analyzes vertical jump videos to estimate key performance metrics using MediaPipe pose tracking and advanced kinematics.
|
|
44
|
+
> A video-based kinematic analysis tool for athletic performance. Analyzes vertical jump videos to estimate key performance metrics using MediaPipe pose tracking and advanced kinematics.
|
|
40
45
|
|
|
41
46
|
**Supported jump types:**
|
|
42
47
|
|
|
@@ -88,27 +93,70 @@ For clinical, research, or performance assessment requiring validated accuracy,
|
|
|
88
93
|
|
|
89
94
|
## Setup
|
|
90
95
|
|
|
91
|
-
###
|
|
96
|
+
### System Requirements
|
|
97
|
+
|
|
98
|
+
**All Platforms:**
|
|
99
|
+
|
|
100
|
+
- Python 3.10, 3.11, or 3.12
|
|
101
|
+
|
|
102
|
+
**Platform-Specific:**
|
|
103
|
+
|
|
104
|
+
#### Windows
|
|
92
105
|
|
|
93
|
-
|
|
94
|
-
- asdf plugins for Python and uv
|
|
106
|
+
No additional system dependencies required.
|
|
95
107
|
|
|
96
|
-
|
|
108
|
+
**Recommended for mobile video support:**
|
|
97
109
|
|
|
98
|
-
|
|
110
|
+
- [FFmpeg](https://ffmpeg.org/download.html) - Download and add to PATH
|
|
111
|
+
|
|
112
|
+
#### macOS
|
|
113
|
+
|
|
114
|
+
No additional system dependencies required.
|
|
115
|
+
|
|
116
|
+
**Recommended for mobile video support:**
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
brew install ffmpeg
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
#### Linux (Ubuntu/Debian)
|
|
123
|
+
|
|
124
|
+
**Recommended system libraries:**
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
sudo apt-get update
|
|
128
|
+
sudo apt-get install -y \
|
|
129
|
+
libgl1-mesa-glx \
|
|
130
|
+
libglib2.0-0 \
|
|
131
|
+
ffmpeg
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**Note:** `ffmpeg` provides the `ffprobe` tool for video metadata extraction (rotation, aspect ratio). Kinemotion works without it, but mobile/rotated videos may not process correctly. A warning will be shown if `ffprobe` is not available.
|
|
135
|
+
|
|
136
|
+
### Installation Methods
|
|
137
|
+
|
|
138
|
+
#### From PyPI (Recommended)
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
pip install kinemotion
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
#### From Source (Development)
|
|
145
|
+
|
|
146
|
+
**Step 1:** Install asdf plugins (if not already installed):
|
|
99
147
|
|
|
100
148
|
```bash
|
|
101
149
|
asdf plugin add python
|
|
102
150
|
asdf plugin add uv
|
|
103
151
|
```
|
|
104
152
|
|
|
105
|
-
|
|
153
|
+
**Step 2:** Install versions specified in `.tool-versions`:
|
|
106
154
|
|
|
107
155
|
```bash
|
|
108
156
|
asdf install
|
|
109
157
|
```
|
|
110
158
|
|
|
111
|
-
|
|
159
|
+
**Step 3:** Install project dependencies using uv:
|
|
112
160
|
|
|
113
161
|
```bash
|
|
114
162
|
uv sync
|
|
@@ -120,7 +168,7 @@ This will install all dependencies and make the `kinemotion` command available.
|
|
|
120
168
|
|
|
121
169
|
Kinemotion supports two jump types with intelligent auto-tuning that automatically optimizes parameters based on video characteristics.
|
|
122
170
|
|
|
123
|
-
### Drop
|
|
171
|
+
### Analyzing Drop Jumps
|
|
124
172
|
|
|
125
173
|
Analyzes reactive strength and ground contact time:
|
|
126
174
|
|
|
@@ -129,7 +177,7 @@ Analyzes reactive strength and ground contact time:
|
|
|
129
177
|
kinemotion dropjump-analyze video.mp4
|
|
130
178
|
```
|
|
131
179
|
|
|
132
|
-
###
|
|
180
|
+
### Analyzing CMJ
|
|
133
181
|
|
|
134
182
|
Analyzes jump height and biomechanics:
|
|
135
183
|
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
# Kinemotion
|
|
2
2
|
|
|
3
3
|
[](https://pypi.org/project/kinemotion/)
|
|
4
|
+
[](https://pypi.org/project/kinemotion/)
|
|
4
5
|
[](https://opensource.org/licenses/MIT)
|
|
5
|
-
|
|
6
|
-
[](https://github.com/feniix/kinemotion/actions)
|
|
8
|
+
[](https://sonarcloud.io/summary/overall?id=feniix_kinemotion)
|
|
9
|
+
[](https://sonarcloud.io/summary/overall?id=feniix_kinemotion)
|
|
10
|
+
|
|
7
11
|
[](https://github.com/astral-sh/ruff)
|
|
8
|
-
[](https://github.com/microsoft/pyright)
|
|
13
|
+
[](https://github.com/pre-commit/pre-commit)
|
|
9
14
|
|
|
10
|
-
A video-based kinematic analysis tool for athletic performance. Analyzes vertical jump videos to estimate key performance metrics using MediaPipe pose tracking and advanced kinematics.
|
|
15
|
+
> A video-based kinematic analysis tool for athletic performance. Analyzes vertical jump videos to estimate key performance metrics using MediaPipe pose tracking and advanced kinematics.
|
|
11
16
|
|
|
12
17
|
**Supported jump types:**
|
|
13
18
|
|
|
@@ -59,27 +64,70 @@ For clinical, research, or performance assessment requiring validated accuracy,
|
|
|
59
64
|
|
|
60
65
|
## Setup
|
|
61
66
|
|
|
62
|
-
###
|
|
67
|
+
### System Requirements
|
|
68
|
+
|
|
69
|
+
**All Platforms:**
|
|
70
|
+
|
|
71
|
+
- Python 3.10, 3.11, or 3.12
|
|
72
|
+
|
|
73
|
+
**Platform-Specific:**
|
|
74
|
+
|
|
75
|
+
#### Windows
|
|
63
76
|
|
|
64
|
-
|
|
65
|
-
- asdf plugins for Python and uv
|
|
77
|
+
No additional system dependencies required.
|
|
66
78
|
|
|
67
|
-
|
|
79
|
+
**Recommended for mobile video support:**
|
|
68
80
|
|
|
69
|
-
|
|
81
|
+
- [FFmpeg](https://ffmpeg.org/download.html) - Download and add to PATH
|
|
82
|
+
|
|
83
|
+
#### macOS
|
|
84
|
+
|
|
85
|
+
No additional system dependencies required.
|
|
86
|
+
|
|
87
|
+
**Recommended for mobile video support:**
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
brew install ffmpeg
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
#### Linux (Ubuntu/Debian)
|
|
94
|
+
|
|
95
|
+
**Recommended system libraries:**
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
sudo apt-get update
|
|
99
|
+
sudo apt-get install -y \
|
|
100
|
+
libgl1-mesa-glx \
|
|
101
|
+
libglib2.0-0 \
|
|
102
|
+
ffmpeg
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Note:** `ffmpeg` provides the `ffprobe` tool for video metadata extraction (rotation, aspect ratio). Kinemotion works without it, but mobile/rotated videos may not process correctly. A warning will be shown if `ffprobe` is not available.
|
|
106
|
+
|
|
107
|
+
### Installation Methods
|
|
108
|
+
|
|
109
|
+
#### From PyPI (Recommended)
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
pip install kinemotion
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
#### From Source (Development)
|
|
116
|
+
|
|
117
|
+
**Step 1:** Install asdf plugins (if not already installed):
|
|
70
118
|
|
|
71
119
|
```bash
|
|
72
120
|
asdf plugin add python
|
|
73
121
|
asdf plugin add uv
|
|
74
122
|
```
|
|
75
123
|
|
|
76
|
-
|
|
124
|
+
**Step 2:** Install versions specified in `.tool-versions`:
|
|
77
125
|
|
|
78
126
|
```bash
|
|
79
127
|
asdf install
|
|
80
128
|
```
|
|
81
129
|
|
|
82
|
-
|
|
130
|
+
**Step 3:** Install project dependencies using uv:
|
|
83
131
|
|
|
84
132
|
```bash
|
|
85
133
|
uv sync
|
|
@@ -91,7 +139,7 @@ This will install all dependencies and make the `kinemotion` command available.
|
|
|
91
139
|
|
|
92
140
|
Kinemotion supports two jump types with intelligent auto-tuning that automatically optimizes parameters based on video characteristics.
|
|
93
141
|
|
|
94
|
-
### Drop
|
|
142
|
+
### Analyzing Drop Jumps
|
|
95
143
|
|
|
96
144
|
Analyzes reactive strength and ground contact time:
|
|
97
145
|
|
|
@@ -100,7 +148,7 @@ Analyzes reactive strength and ground contact time:
|
|
|
100
148
|
kinemotion dropjump-analyze video.mp4
|
|
101
149
|
```
|
|
102
150
|
|
|
103
|
-
###
|
|
151
|
+
### Analyzing CMJ
|
|
104
152
|
|
|
105
153
|
Analyzes jump height and biomechanics:
|
|
106
154
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import json
|
|
4
4
|
import subprocess
|
|
5
|
+
import warnings
|
|
5
6
|
|
|
6
7
|
import cv2
|
|
7
8
|
import numpy as np
|
|
@@ -147,8 +148,17 @@ class VideoProcessor:
|
|
|
147
148
|
# Extract rotation from side_data_list (common for iPhone videos)
|
|
148
149
|
self.rotation = self._extract_rotation_from_stream(stream)
|
|
149
150
|
|
|
150
|
-
except
|
|
151
|
-
#
|
|
151
|
+
except FileNotFoundError:
|
|
152
|
+
# ffprobe not found - warn user about reduced functionality
|
|
153
|
+
warnings.warn(
|
|
154
|
+
"ffprobe not found. Video rotation and aspect ratio metadata will be "
|
|
155
|
+
"ignored. This may cause issues with mobile/rotated videos. "
|
|
156
|
+
"Install FFmpeg for full video support: https://ffmpeg.org/download.html",
|
|
157
|
+
UserWarning,
|
|
158
|
+
stacklevel=2,
|
|
159
|
+
)
|
|
160
|
+
except (subprocess.TimeoutExpired, json.JSONDecodeError):
|
|
161
|
+
# If ffprobe fails for other reasons, silently continue with defaults
|
|
152
162
|
pass
|
|
153
163
|
|
|
154
164
|
def read_frame(self) -> np.ndarray | None:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kinemotion-0.18.2 → kinemotion-0.20.0}/docs/research/sports-biomechanics-pose-estimation.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|