pyomeca: An Open-Source Framework for Biomechanical Analysis

Biomechanics is defined as the study of the structure and function of biological systems by means of the methods of mechanics (Hatze, 1974). While musculoskeletal biomechanics branches into several subfields, the data used are remarkably similar. The processing, analysis and visualization of these data could therefore be unified in a software package. Most biomechanical data characterizing human and animal movement appear as temporal waveforms representing specific measures such as muscle activity or joint angles. These data are typically multidimensional arrays structured around labels with arbitrary metadata (Figure 1). Existing software solutions share some limitations. Some of them are proprietary (Damsgaard, Rasmussen, Christensen, Surma, & Zee, 2006) or based on closed-source programming language (Dixon, Loh, Michaud-Paquette, & Pearsall, 2017; Muller, Pontonnier, Puchaud, & Dumont, 2019). Others do not leverage labels and metadata (Hachaj & Ogiela, 2019; Virtanen et al., 2020; Walt, Colbert, & Varoquaux, 2011). pyomeca is a Python package designed to address these limitations. It provides basic operations useful in the daily workflow of a biomechanical researcher such as reading, writing, filtering and plotting, but also more advanced biomechanical routines geared towards rigid body mechanics and signal processing. By offering a single, efficient and flexible implementation, pyomeca standardizes these procedures, freeing up valuable research time, thereby allowing researchers to focus on the scientific research questions at hand.