A sports-science lab does not have a data problem. It has a format problem. Biodex dumps isokinetic PDFs. Noraxon exports EMG and IMU tables. Humac has its own report layout. The force plate — AMTI or otherwise — arrives as another CSV with a different clock, a different header, and a different idea of what “trial” means. None of that is the science. The science starts after someone has spent an evening copying numbers into a spreadsheet that will not be reused next month.
Kinesiology Analyzer Center is the desktop tool I built for that evening. It is a native Python application for automated extraction of clinical biomechanics from PDF and CSV reports — Biodex, Noraxon EMG and IMUs, Humac, force plates — then for assembling those streams into an interactive multi-sensor dataset. The point is not a prettier chart. The point is one place where a session that was recorded on three vendors can be read as one session.
What “unifying a report” actually means
Vendor software is good at driving its own hardware. It is rarely good at talking to the box on the next trolley. If you want the EMG burst aligned with the force-plate impact and the dynamometer angle, you either write a one-off script or you live with three printouts on the desk. The Analyzer is the script, made durable: extract, clock-align where the files allow it, keep the raw tables, and let you browse the merged set instead of hunting through folders named final_final_v3.
Next to it sits a more specialised sibling. Noraxon Strike Analyzer is a Jupyter suite for Ultium EMG and AMTI plates: noise filtering, automatic segmentation of a continuous recording into individual strikes, average force profiles. That notebook is for punch and kick sessions. The Center is the wider funnel — isokinetics, EMG, IMUs, plates — when the lab is not only studying impacts.
I will not claim that every PDF on the planet parses cleanly. Clinical exports change fonts, languages, and table layouts without warning. The honest workflow is: the extractor gets you most of the way, you look at the residual, and you keep the original file. That is still faster than retyping peak torque by hand, and it leaves an audit trail.
What the literature says
There is no peer-reviewed validation paper that says “this specific PDF parser recovers every Biodex table with ICC = X”. I will not invent one. What the evidence culture of laboratory biomechanics does say is simpler: clinical decisions that claim to be evidence-based need objective, multi-source measurement when the question is about force, torque, EMG timing or impact — not only a narrative from memory.
The International Society of Biomechanics (ISB) recommendations on wearable inertial measurement for joint kinematics insist on transparent reporting of sensor characteristics, protocols, kinematic models and quality assessment so that studies remain comparable (Cereatti et al., J Biomech, 2024). That is a reporting standard, not a product endorsement — and it is exactly why a lab that mixes Biodex, Noraxon, Humac and plates needs a durable archive rather than screenshots. Our own boxing work is an example of that measurement habit: rear-cross force and acceleration values were higher than the lead jab when recorded with laboratory IMUs and a certified plate, not guessed from video (Mosler, Kacprzak, Wąsik, Appl Sci, 2024).
Kinesiology Analyzer Center is engineering for that evidence-based practice (EBP) workflow: get the numbers out of vendor files, keep them local, and let a clinician or researcher ask questions of one dataset. Local RAG over protocols and papers sits next to the tables as retrieval — on the lab disk — not as a cloud chatbot reading identified patient kinematics.
Local RAG, local models, offline on purpose
Labs also accumulate PDFs that are not tables: protocols, papers, internal notes. The Analyzer includes local RAG over that pile, and a path to fine-tune a local language model. “Local” is the operative word. The application is built offline-first, for sports-science laboratories that have to take GDPR and HIPAA seriously. Patient-identifiable kinematics do not belong in a consumer chatbot, and a university clinic should not need a cloud tenant to search its own methods section.
That is a different use of language models from telerehabilitation. On a home visit we do not use an LLM at all; the camera run is kinematics only. In the lab, a language model can sit next to the dataset as a retrieval tool — on the same machine, on the lab’s disk, without shipping identified records out. If that distinction sounds fussy, it is the distinction regulators actually care about.
How this sits with the rest of the stack
The GitHub organisation is the catalogue. MotionScope 3D visualises BVH in the browser and exports joint angles to CSV. Web Joint Analyzer does markerless angles from a webcam. The Noitom single-sensor example streams raw acceleration from one Perception Neuron 3 unit through the Axis Studio SDK. Custom research code — Python and Matlab, filtering, standardised reports — is the consulting side of the same habit: stop leaving kinematic work locked inside a vendor GUI.
If you already have Biodex, Noraxon, Humac, or plates, you do not need a new isokinetic dynamometer to get a cleaner archive. You need a parser that respects the files you already paid for, and a dataset builder that does not evaporate when the student who wrote the notebook graduates. Source is public: kinesiology_analyzer_center, alongside noraxon_analyzer and the rest of github.com/biokineticum.
References
- Cereatti A, Gurchiek R, Mündermann A, Fantozzi S, Horak F, Delp S, Aminian K. ISB recommendations on the definition, estimation, and reporting of joint kinematics in human motion analysis applications using wearable inertial measurement technology. J Biomech. 2024;173:112225. doi:10.1016/j.jbiomech.2024.112225
- Mosler D, Kacprzak J, Wąsik J. Higher values of force and acceleration in rear cross than lead jab. Appl Sci. 2024;14(7):2830. doi:10.3390/app14072830
Kinesiology Analyzer Center, Noraxon strike scripts, and the rest of the Biokineticum repositories. Offline-first extraction for mixed-vendor reports.