scieee AI-readable full text Open interactive document viewer

FLEXOR: A support tool for efficient and seamless experiment data processing to evaluate musculo-articular stiffness

París García, Federico; Ruiz-Zafra, Ángel; Noguera, Manuel; Barroso Caro, Alberto

Abstract

Background and objective: The evaluation of musculo-articular stiffness (MAS) is an increasingly demanded procedure with applications in different fields, such as sports performance and lower limbs injury prevention. However, this task is non-automated, time-consuming and error-prone due to manual handling of data streams and files across several software applications. Despite the fact that process automation of validated procedures helps to prevent errors, there is still a lack of easy-to-use tools for analysis, management and visualization of MAS trials. Methods: In the present work a tool called FLEXOR has been developed which applies mathematical methods and novel algorithms to automatically adjust curves of data streams for MAS analysis decreasing substantially time employed and errors. This tool permits to define different adjustment parameters, detect curve peaks and valleys, and display the results on the fly. FLEXOR has been implemented through a component-based software development (CBSD) process. All physiological fundamentals for the biomechanical measurement have been included in the tool developed. To describe the integration of all required components a 4 + 1 view model architecture has been used. The installation guide, the FLEXOR software and some data samples can be found on its GitHub repository (https://github.com/FlexorSoftware/flexor). Results: A multiplatform software tool to simplify traditional complex and manual procedures for MAS analysis is obtained. The tool turns them into a simple all-in-one procedure, reducing processing times from hours to a few minutes. The methodology was tested on multiple datasets generated by previous tools in former procedures as well as on real-time trials in the laboratory, showing identical results. Conclusion: The results show that the developed tool can accomplish an unfilled essential task in the analysis, management and visualization of MAS measurement. The presented software tool empowers analysts to handle the different studies, investigate different parameters related to each experiment and even test with different output parameters in each experiment, enabling real-time trials and shared studies between different analysts.

Full text

Depósito de Investigación de la Universidad de Sevilla https://idus.us.es/ This is an Accepted Manuscript of an article published by Elsevier In Computer Methods and Programs in Biomedicine, Vol. 182, on December 2019, available at: https://doi.org/10.1016/j.cmpb.2019.105048 Copyright 2019 Elsevier. En idUS Licencia Creative Commons CC BY-NC-ND COMPUTER METHODS AND PROGRAMS IN BIOMEDICINE Available online at www.sciencedirect.com ScienceDirect Journal homepage: https://www.journals.elsevier.com/computer-methods-and-programs-in- biomedicine * Corresponding author. Tel.: ; fax: +0-000-000-0000. E-mail address: f[email protected]s Peer review under responsibility of xxxxx. xxxx-xxxx/$ – see front matter © 2014 xxxxxxxx. Hosting by Elsevier B.V. All rights reserved. http://dx.doi.org/10.1016/j.aebj.2014.10.012 FLEXOR: A support tool for efficient and seamless experiment data processing to evaluate musculo-articular stiffness Paris-Garcia, F.1,*, Ruiz-Zafra, A.2, Noguera M.3, Barroso-Caro, A.4 1 Department of Sports and Computer Science, Section of Physical Education and Sports, Faculty of Sports Sciences, University Pablo de Olavide, ES-41013 Seville, Spain 2 Department of Computer Engineering, University of Cádiz, Avda. Universidad de Cádiz, nº 10, ES-11519. Campus de Puerto Real (Cádiz) 3 Software Engineering Department, University of Granada, Spain, ETSIIT, Periodista Daniel Saucedo Aranda, s/n, 18014, Granada, Spain 4 School of Engineering, University of Seville, Camino de los Descubrimientos, s/n, 41092 Sevilla, Spain. 2 COMPUTER METHODS AND PROGRAMS IN BIOMEDICINE (2019) 000–000 A R T I C L E I N F O Article history: Received 00 December 00 Received in revised form 00 January 00 Accepted 00 February 00 Keywords: Musculo-articular stiffness Filtering algorithms Biomedical signal processing Software Engineering A B S T R A C T Background and objective: The evaluation of musculo-articular stiffness (MAS) is an increasingly demanded procedure with applications in different fields, such as sports performance and lower limbs injury prevention. However, this task is non-automated, time-consuming and error-prone due to manual handling of data streams and files across several software applications. Despite the fact that process automation of validated procedures helps to prevent errors, there is still a lack of easy-to-use tools for analysis, management and visualization of MAS trials. Methods: In the present work a tool called FLEXOR has been developed which applies mathematical methods and novel algorithms to automatically adjust curves of data streams for MAS analysis decreasing substantially time employed and errors. This tool permits to define different adjustment parameters, detect curve peaks and valleys, and display the results on the fly. FLEXOR has been implemented through a component-based software development (CBSD) process. All physiological fundamentals for the biomechanical measurement have been included in the tool developed. To describe the integration of all required components a 4+1 view model architecture has been used. The installation guide, the FLEXOR software and some data samples can be found on its GitHub repository (https://github.com/FlexorSoftware/flexor). Results: A multiplatform software tool to simplify traditional complex and manual procedures for MAS analysis is obtained. The tool turns them into a simple all-in-one procedure, reducing processing times from hours to a few minutes. The methodology was tested on multiple datasets generated by previous tools in former procedures as well as on real-time trials in the laboratory, showing identical results. Conclusion: The results show that the developed tool can accomplish an unfilled essential task in the analysis, management and visualization of MAS measurement. The presented software tool empowers analysts to handle the different studies, investigate different parameters related to each experiment and even test with different output parameters in each experiment, enabling real-time trials and shared studies between different analysts. © 2019 xxxxxxxx. Hosting by Elsevier B.V. All rights reserved. COMPUTER METHODS AND PROGRAMS IN BIOMEDICINE (2019) 000–000 3 1. Introduction Free vibration techniques for evaluating the responsiveness of a 1-degree-of-freedom dynamic damped system of the musculo-articular stiffness (MAS) of the plantar flexor muscles have become validated procedures and are widely contrasted in the scientific literature [1-4]. This procedure models the observed mechanical response of the main muscle-tendon unit (MTU) involved in the plantar flexor movement [5]. The MAS is associated with the evaluation of the functional capacity linked to the physical activity of a subject, and its interpretation has multiple applications, such as sports performance measurement and clinical applications (e.g., normative values of clinical populations [9,10] and the risk factor of musculoskeletal injuries in lower limbs [11]). However, the applicability and widespread use of MAS has been limited thus far due to different issues. On the one hand, the measurement of this parameter requires a non-invasive, non-stress laboratory test, which implies the use of appropriate in-lab infrastructure, ad hoc mechanical devices and specific signal sensing units and devices [12]. In addition, it requires efficient treatment and processing of the signal data obtained from laboratory studies through different signal filtering techniques, mathematical transformations and the use of several software systems and tools. Nevertheless, and to the best of the authors’ knowledge, there do not exist specific tools to support analysts throughout the signal and analysis procedure. The absence of suitable software systems (e.g. all-in-one frameworks) to support the entire process results in the use of different, ad hoc and mutually independent software tools for each stage in the signal processing (signal capturing, signal filtering, and signal transformation, as well as signal manipulation). That is, for each one of such purposes, a specific software tool (e.g., LabVIEW, Mathematica, SPSS) is used in a standalone manner. The lack of integration between such tools, due to interoperability issues, represents a severe handicap for experiment manipulation. This problem also arises in other domains where the proprietary and non-open nature of some of the most popular software solutions hinder the use of their functionalities to foster interoperability between applications [13,14]. Thus, the definition of downstream signal analysis processes becomes affected since the translation of the output (e.g., files or byte streams) from different tools has to be done manually. As a matter of fact, the processing of data of one subject lasts around one or two hours on average. The situation with a sample procedure for the case of plantar flexor MAS measurement, where different software tools are needed throughout the analysis procedure (LabVIEW, Mathematica, and custom database software) can be observed in the next diagram (see Figure 1). Signal analysts, physicians and sport-medicine practitioners interested in analysing MAS properties require automated tools that provide integrated suites of signal-processing functionalities to speed up the process in general, but also functionalities to easily configure and adjust ad-hoc signal parameters. Fig. 1 - Sample procedure for plantar flexor MAS measurement using a load cell and different software tools The aim is to observe the results in real-time because, normally, part of the processing and analysis of signals consists of obtaining a function curve that has been approximated by means of numerical methods. Thus, it is often necessary to try different adjustment parameters and check the results in real-time (i.e., as they are tested), as in a simulation setting. Otherwise, setting different adjustments and parameters entails going from one software application to another or the explicit relaunch of codified subroutines. Then, this type of analysis becomes impracticable or even unfeasible, besides incredibly cumbersome. Let us consider the burden that managing different files across different software tools by hand would imply. Again, without appropriate automated technical support, this task is rather timeconsuming and error-prone [15], [16]. In the present paper, FLEXOR is presented as an integrated, seamless, software solution that implements several procedures, such as signal processing, data management methods, algorithms and flexible functionalities, to support different adjustments that empower physicians and sport-medicine practitioners to observe and measure the responsiveness (i.e., MAS) of plantar flexor muscle-tendon units (MTU) while enabling trial-and-error experimentation with different adjustment parameters and without having to move between different software applications. In this sense, FLEXOR improves the efficiency and effectiveness of the MAS analysis procedure, integrating all phases of the acquisition, processing and post-processing of the signal received from sensing devices in a timely manner. Likewise, FLEXOR automates certain tasks that were performed manually in the past, such as the selection of appropriate data set intervals for subsequent analysis. In this sense, FLEXOR provides the following clear benefits: 1. Simplification and time reduction of experimentation procedures. 2. Quick checks of curve adjustments and parameterization on the fly. 3. Simplification of experiment management and reduction of the number of errors due to human mistakes. 4. Improved interoperability with potential third-party software analysis and applications through data representation for experimentation samples in a technology-independent format, such as JSON. Although desirable, comparison with other experimentation datasets from other research laboratories it is not feasible at present, due to the lack of standardization in data representation and contents, but this is a first step towards that direction. 5. Multi-platform operation derived from the fact that FLEXOR is implemented in Java. This implies that FLEXOR is fully operable in most popular operating systems, i.e., Windows, Linux-Unix families and Mac OS. Analytical and numerical processes implemented in the FLEXOR software allow some decision making processes (for example, the valuable data to use in the curve fitting) to be automated, which avoids additional human manipulations and errors. This paper has been organized as follows. Section 2 analyses the background of the proposal, showing the most relevant research works in the area. Section 3 summarizes the theory and methods of this work. Section 4 presents the proposal to automatize the plantar-flexor stiffness assessment, introducing FLEXOR. An in-the-wild testing example of the proposal is described in Section 5 and the discussion about the results as well as the proposal are explained in Section 6. In the end, the conclusion of the paper and the future work are presented. Nomenclature MAS musculo-articular stiffness CBSD component-based software development MTU muscle-tendon unit 4 COMPUTER METHODS AND PROGRAMS IN BIOMEDICINE (2019) 000–000 2. Background The MAS measurement and analysis is an important concern in many research avenues related to healthcare and wellbeing, such as sports performance. In this sense, there exists plenty of recent research concerning novel approaches to enhance stiffness assessment methods and techniques, as they involve different processing software including complex numerical analysis. In this section, it is presented a brief analysis of the most relevant pieces of work so far. One of the most referenced paper in the field was published by Ditroilo et al. [5], who present a deep state of the art about the MAS assessment, describing the different measurement and analysis ‘considerations’ such as how to calculate the stiffness and the perturbations in the measurement process. The representativity of the value of MAS is a controversial matter. It is accepted to assign the term MAS to what is obtained from a free-oscillation technique, Ditroilo et al [5]. MAS involves passive stiffness and stretch reflex and what is measured is an apparent value involving both effects. The contribution of these two effects to an apparent value of the stiffness is also a controversial question. A study of Blackburn et al. [6] showed that “passive stiffness accounted for 25% of the variance in the stiffness measure, with the free oscillation technique, while the musculature supported a load about 30% of maximal voluntary contraction”. Additionally, Granata et al. [7] and Blackburn et al. [8] have shown that under active conditions, the effect of the passive stiffness is negligible. For each ‘consideration’, the authors proposed the most used and reliable method, exposing the mathematical approach to solve or calculate the different parameters required to obtain the desired measurement. However, all proposed methods entail the use of different software for each analysis step. Another reference work that presents a survey about this topic was published by Fukashiro et al. [3], where the different methods available proposed by the authors over the years are briefly described. The literature review of the work of the most active groups and authors shows that many authors have proposed ad-hoc solutions, improving legacy proposal presented in [5] and [3], with new and promising approaches based on calculation and optimization [17-19]. So far, these works have focused on the challenge itself, that is, how to measure the MAS, proposing the mathematical procedures required. Other approaches, focused on the analysis of postural control or limb movement from simple models, require the calculation of the endpoint stiffness. The stiffness of a joint has associated a series of physiological mechanisms and is accepted that this stiffness plays a fundamental role in the control both of posture as movement. [20] presents a study of time-domain and frequency-domain, multiple-input, multiple-output (MIMO) linear system identification techniques that can be used to estimate the dynamic endpoint stiffness of a multi-joint limb. However, none of them describes how the different mathematical procedures are implemented, and if any software of tools is used to implement, develop or automate the solving method. In addition, most of the proposals do not describe how to gather the measures required, only describing a scheme picture to show the movement and position of somebody limbs, but not insight about the particular hardware and tools required. Some research works are more software-oriented, describing the ad-hoc solution proposed together with the software and tools used to implement the proposal, as well as test or example to validate the proposal for MAS measurement and analysis. For instance, the research work presented in [21] describes a proposal to measure MAS of the ankle where Matlab is used as software to solve the calculation of stiffness properties. Other proposals require different private-vendor software, such as the project presented in [22] to measure MAS in the leg using Matlab and Motion Monitor software; or the project presented in [23], which combines Matlab and Origin. However, although these projects describe standalone and fully-supported solutions, the use of third-party software (Matlab, Motion Monitor, Origin) arises two main drawbacks: 1) the different software-based solutions involve manual procedures, where the person responsible for the test has to carry out different tasks: use several software, generate different outputs, use them as input to other software, disseminate the information and finally, understand the appropriate interpretation; 2) the use of different private-vendor software solutions hinders the interoperability and integration of the system with other third-party systems and software. Both drawbacks cause a long time required to carry out a full trial (experiment), because it requires many steps or tasks (e.g. import, export data, check the reliability of the data, implementation, etc.), but also increase the possibility of making mistakes. The manual management of the information along the process by trials supervisors, the load of files, selection of subsets, change of parameters, etc., fosters errors and mistakes, resulting in useless trials. To the best of our knowledge, after a deep review in the literature, there are no either commercial or non-commercial solutions which solve these drawbacks, simplifying the MAS measurement and analysis with the proper tools ensuring the automation of the process, reducing time required and the error promptness. With this premise, a novel solution is proposed in this paper, concluding with a tool to automatize and simplify the MAS measurement, called FLEXOR. This tool implements a novel mathematical and optimization procedure (describe in Section 4) and required a well-tested and patented machine specially designed and built for this purpose (see Figure 2). Fig. 2 - Mechanical device for measurement 3. Computational methods and theory This section contains a description of the theoretical fundamentals of our work. Here we describe the assumptions and mathematical bases required to carry out MAS analysis procedures and which are supported by the FLEXOR tool. Taking as a reference an equilibrium static position, a perturbation induced in the lower part of the leg produces an involuntary free oscillation of the foot around the ankle. This vibration, in which the plantar flexor muscles are involved (mainly the Triceps Surae), can be extremely well modelled as a onedegree-of-freedom damped system. To measure the mechanical parameters (i.e., stiffness and viscosity) of the MTU, a mechanical device was conceived and manufactured, as well as software intended to easily capture, process and analyse the mechanical signals of tests on the legs and allow these mechanical parameters to be determined. The details regarding how the measurement device was manufactured and validated and the procedure to make the measurements can be found in [24]. The device and the procedure gave rise to the patent ES 2 377 640 B1. Figure 2 shows several snapshots of the measurement device from different angles (left-hand side and middle of the Figure) and a snapshot during a test with a study subject (right-hand side of Figure 2). COMPUTER METHODS AND PROGRAMS IN BIOMEDICINE (2019) 000–000 5 In Figure 3, a schematic representation of the mechanical device (Figure 3.a) is depicted, together with a physical model and schematic representation of the damped one-degree-of-freedom system that the foot and Triceps surae form (Figure 3.b). M represents the mass placed over the knee, k and c the Triceps surae stiffness and viscosity, respectively, and r and R the rearfoot and forefoot arm lengths, respectively. The test procedure gives rise to a direct recording of force vs. time. To extract the MAS parameters from this time register, two different adjustment processes are required. The measurement of the mechanical properties of the plantar flexor muscles takes place through several steps. In this section, the different tasks and calculations involved are described. Fig. 3. a) - Scheme of the measurement mechanical device. b) Scheme (detail) of the foot A force versus time experimental record (see Figure 4) is obtained by using the device introduced schematically in Figure 3 as the first stage of the procedure. The curve represents the force variation, which only takes approximately one second, due to the oscillation of the lower limb produced by the impact on the knee. See [24] for further details of the procedure. A force versus time experimental record (see Figure 4) is obtained by using the device introduced schematically in Figure 3 as the first stage of the procedure. The curve represents the force variation, which only takes approximately one second, due to the oscillation of the lower limb produced by the impact on the knee. See [24] for further details of the procedure. Fig. 4. Force-vs-time experimental record This free oscillation behaviour can be extremely well captured by using a one-degree-of-freedom damped system. The modelled force-vs.-time response has the form shown in (1). (1) 𝐹= 𝑒(𝐴𝑠𝑖𝑛𝜔𝑡+𝐵𝑐𝑜𝑠𝜔𝑡)+𝑀𝑔 Equation (1) has five parameters, all of them having a clear physical meaning. 𝜔 is the oscillation frequency, γ is the damping parameter, M is the oscillating mass, A and B are coefficients associated with the oscillation amplitude, and g is the acceleration due to gravity. The best set of values for (ω, γ, M, A, B) are obtained by a least square fitting method, minimizing the sum of quadratic differences between the experimental data and (1) [24,25]. It is necessary to take into account two important facts that make this first step of the calculation tedious when done manually: 1. The determination of five parameters is associated with the short period of time that holds the oscillation after the impact (between 1 and 1.5 seconds). Depending on the characteristics of the impact and the reflex response of the subject, the initial part of the experimental curve has to be discarded, and the last part of the oscillation is of low quality because the “noise” of the signal equals the value of the oscillation. 2. The longer the good-quality experimental data, the better, but this selection of the set of experimental data to be used is not a straightforward task to be performed automatically. For each test, using the five calculated parameters (ω, γ, M, A, B) and the anthropometric information of the forefoot and rearfoot distances (R and r, respectively), a new pair of processed data, namely, f and k, are obtained. f represents the force registered at the load cell, which is correlated with the force passing along the Achilles tendon, and k is the stiffness of the MTU. As the complete experimental procedure requires different loads to evaluate the contribution of the different elements included in the MTU (tendon and muscle), the number of tests increases up to approximately thirty or forty tests for each leg (e.g., four tests per load and 8 loads). All of the tests for the same load will give rise to pairs of (f, k), which should not be equal and instead should have some dispersion. 6 COMPUTER METHODS AND PROGRAMS IN BIOMEDICINE (2019) 000–000 Fig. 5. Results obtained from the 2nd step of the adjustment process. When the load changes, f and k change accordingly, f because it has a direct relationship with the load and k because of the nature of muscles. Thus, after the 30 or 40 tests for each leg, a set of points (dots) will appear (see Fig 5). Again, according to Hill’s model [26], this cloud of points can be well fitted by means of the following expression, shown (as the solid line) in Figure 5: (2) 𝑘 =   Where 𝑘 is the unitary stiffness (stiffness per unit load) of the soleus and kt is the stiffness of the Achilles tendon. While 𝑘 can be reasonably constant irrespective of the force passing along it, 𝑘 depends on the value of the force. That is the reason why, as the force increases, the value of the global k changes (see Figure 5). It is important to understand that the individual constituents (kss and kt) of the global stiffness (k) do not change with the applied load, but the non-linearity of equation 2 makes k to change when the load f changes. This issue is the key aspect which allows to evaluate the stiffness of each constituent from the global measurements of the Triceps Surae stiffness (k). Once again, the best determination of 𝑘 and 𝑘 can be achieved by a least square fitting method by using (2) with the experimental data (see Figure 5). When fitting the experimental data, 𝑘 and 𝑘 take a physical meaning: 𝑘 represents, from a mathematical point of view, the slope of the curve for f→0, and 𝑘 represents the asymptote of the curve for f→∞. Although kss and kt are defined, from a mathematical point of view, in extreme situations (f→0 in the case of kss and f→∞ in the case of kt), the physical meaning of both parameters is quite clear. After this second fitting step, which has to be performed only once for the complete set of tests (each test being a curve such as the one depicted in Figure 4), the values of 𝑘 and 𝑘 are obtained. 4. Software Design A description of the software is presented in this section. Here, the software architecture as well as the mathematical methods implemented are discussed, the user interface is showed, and the functionality of the software is described. 4.1. Motivation The procedure described above to measure the MAS of the plantar flexor muscles is carried out through different measuring, processing and dissemination third-party software from different vendors (e.g., LabVIEW, Mathematica, Microsoft Excel), where different technicians may be involved. The use of a unique software simplifies the whole procedure. The use of several software applications markedly increases the time required to obtain a ready-to-use sample (the first-phase outcome mentioned in Section 3), where the intermediate steps between software applications should be processed manually to ensure that the output of a software works as an input for the next software. The first-phase outcome files should be collected as input for the second phase mentioned in Section 3. In addition to the time required to process and obtain the set of ready-to-use samples, these should be organized manually, which involves checking the order of the sample, subject, weight applied, etc. and thus further complicating the data management to obtain the results of the study. In this section, we introduce FLEXOR, a Java-coded software application intended to assist in the analysis of MAS from a validated measurement device specifically devised for such purpose. FLEXOR handles the capture of the signal received from a load cell placed in the measurement device and transform it for its subsequent processing through different numerical methods. FLEXOR aims to support the method presented in Section 3, addressing the drawbacks related to the use of several programs and simplifying a four-step process into an all-in-one, seamless and transparent procedure. 4.2. Architecture of FLEXOR FLEXOR consists of several software components that address different concerns and functionalities [27]. To describe the main components and functionalities of the FLEXOR architecture, we will make use of the 4+1 view model [28]. The 4+1 model describes the software design using four views COMPUTER METHODS AND PROGRAMS IN BIOMEDICINE (2019) 000–000 7 to represent its design (i.e., logical, process, physical and development views) and a fifth view, called the scenario(s) view, intended to illustrate and validate the software (see Figure 6). The fifth view, i.e., the ‘Scenario’ view, will be presented in Section 5 ‘Application Example’ to illustrate the main results provided by the FLEXOR software. The 4+1 model is preferred in this work to describe FLEXOR because it enables software engineers and developers to learn the system from different practical points of view, linking design with implementation [29]. In this sense, FLEXOR could be reutilized to solve similar problems, and the algorithms designed could be adapted, implemented and applied in other systems designed for similar purposes. Fig. 6. The 4+1 view model 4.3. Logical View The logical view captures the functionalities provided by the software application to its end-users (e.g., sport-medicine practitioners, therapists, doctors, etc.). Most FLEXOR functionalities are served or activated from its graphical user interface (GUI). It can be observed in the snapshot of the main FLEXOR GUI when the application is started, which consists of a set of control panels (see Figure 7). From these control panels, it is possible to manage single experiments with one subject and groups of them, check the load cell signal or apply the numerical calculations already described in Section 3 (phases one and two). Most of the main functionalities of FLEXOR have been conceived around the concepts of sample and project. A sample consists of the data set received from the load cell placed in the measurement device after a perturbation has been provoked in the plantar flexor muscles of the subject under study, together with some other information related to start and end times of the experiment, weights used when provoking the perturbation and the leg under study (i.e., the left leg or right leg). The data set received from the load cell corresponds to set of force-time points sensed during the experiment after provoking the perturbation, and on such a data set is to be performed the first adjustment phase presented in Section 3. All information and data regarding each sample are represented using JSON (JavaScript Object Notation), an open-standard, platform-independent file format, which permits interoperability with third-party applications [30]. Alternately, a project is a data structure that encompasses a set of samples and allows one to segment and group them as the analyst might require. In addition, each project has a name, a date, the list of samples (self-structured) and the parameters needed for the second adjustment. Projects are also represented in JSON. Fig. 7. FLEXOR GUI Figure 7 shows the FLEXOR GUI, where the main functionalities are marked and described as follows: 1. Load-cell (measurement device) connection: Detects, automatically, if the load-cell is connected to (or disconnected from) the computer where FLEXOR is running. 2. Data streaming: Capture data streams from the experimentation measurement device in real-time, showing a line chart with information regarding forces and times provided by the load-cell placed in the machine. This chart could be used by the analysts to check if the load cell reacts properly to the interaction with the subject of the study. Furthermore, the reception of data streams can be stopped at any time. 3. MAS sampling: Using a start-stop option, the analyst is able to capture a specific set of values of a specific interval of time, that is, a sample. This sample is shown on a different force-timeline chart. 8 COMPUTER METHODS AND PROGRAMS IN BIOMEDICINE (2019) 000–000 4. Sample management: The software enables the ability to capture the data stream from the load cell in real-time in different samples, adding new samples at any time or removing previously created ones. Additionally, it is possible to export and import a sample with a JSON format using a custom structure stored in a file with the extension fxs (“FLEXOR Sample”). This enables the interoperability between studies or the ability to conduct a study with a subject at a deferred period of time, collecting independent samples. 5. Sample options management: Each study concerns a specific leg (left or right) to perform the different activities with different weights according to the instructions of the analyst. These parameters can be reflected and associated in each sample. 6. Phase-one calculation: The software calculates, automatically, phase one as presented in Section 3, obtaining the five parameters (ω, γ, M, A, B). However, the analyst can calculate phase one using custom values for the parameters in the panel instead of the automatic values calculated. 7. Create sub-samples (sampling window): The analyst can select sub-samples of a sample to apply the phase-one mathematical procedure to a specific part of the data captured. 8. Filter-sample: Apply a low-pass filter to clean the original sample or get the data in a raw form. 9. Project management: At any time, the analyst is able to save all of the study, saving all of the samples under a unique project in an external file using JSON notation with a specific format and stored in an fxp file (after “FLEXOR Project”), enabling the ability to reconstruct or continue the analysis at any time. 10. Phase-two calculation: Once different samples have been recorded, the Moment arm of the Achilles tendon (r) and the moment arm of the second metatarsal head (R) values are introduced, and the software computes the phase-two procedure as described in Section 3. 11. Report generation: The software is able to generate a PDF file with all the information regarding the study: personal and physiological information regarding the subject (name, weight, photo, age, etc.), information regarding the study (name, date, number of samples) and information related with phase one and two, that is, a table with all the results of phase one and the information and chart with phase-two results. 4.4. Process View This view addresses the processes of the system and how they communicate, that is, the different steps to conduct an experiment using the FLEXOR software. The next figure shows a flow diagram that shows the main steps in the use of the system (see Figure 8). The procedure to conduct a study through FLEXOR is a sequential set of steps, starting with the setup of a new project and concluding with the result of the study as a report. During the process, the analyst guides the participant with several orders and, through FLEXOR, obtains the required values to determine the MAS. Fig. 8. Flow diagram to illustrate a study conducted in FLEXOR These values are obtained using the mathematical procedures described in Section 3; however, in FLEXOR, a specific solution has been implemented, and which is described as follows. In the original procedure described in Section 3, one of the main steps is the application of a least square approach to approximate a solution to (1) to determine the value of the five parameters: ω, γ, M, A and B (1). This was done using Mathematica, a symbolic computation program. The same mathematical procedure was attempted in the implementation, testing two different approaches supported by open-source libraries: Nelder-Mead [31] and BOBYQA [32]. However, the application of both algorithms to estimate the value of the five parameters did not work properly, obtaining a poor estimation of the values, which have an important margin of error, compared with the values calculated using Mathematica. Because neither supported method provided a reliable solution and the full implementation of a numerical optimization algorithm required great effort, an algorithm to address this issue and achieve the estimation of the five parameters was designed and implemented. The analytic function algorithm procedure, which also contains new algorithms, is designed as follows: 1. Smooth the original sample using an infinite impulse response filter (IIR). Using a low-pass filter (or IIR filter), each point of the sample, namely vi, is processed to leave out the noise, applying a smooth procedure, Eq. (3). The superscripts “new” and “old” represent the filtered signal and the non-filtered one, respectively. s≥1 is a parameter for the smoothing of the signal, if s=1 no filtering is applies and if s the filtered signal is a constant equal to the first value of the series. In the implementation, the smooth value s is predefined but can be changed through the FLEXOR GUI. The following diagram (see Figure 9) represents the implemented algorithm to smooth a sample. (3) 𝑣  = 𝑣  +    COMPUTER METHODS AND PROGRAMS IN BIOMEDICINE (2019) 000–000 15 [19] Fouré, A., Cornu, C., McNair, P. J., & Nordez, A. "Gender differences in both active and passive parts of the plantar flexors series elastic component stiffness and geometrical parameters of the muscle–tendon complex". Journal of Orthopaedic Research, 30(5), 707-712.2012 [20] Perreault, E.J., Kirsch, R, F, Acosta, A. M. “Multiple-input, multiple-output system identification for characterization of limb stiffness dynamics”. Biol. Cybern. 80, pp. 327-337. 1999. [21] Faria, A., Gabriel, R., Moreira, H., Camacho, T., Brás, R., & Ditroilo, M. "The effect of sex and localised fatigue on triceps surae musculoarticular stiffness". European journal of sport science, 18(4), 483-490. 2018 [22] Waxman, J. P., Schmitz, R. J., & Shultz, S. J. "The interday measurement consistency of and relationships between hamstring and leg musculo-articular stiffness". Journal of applied biomechanics, 31(5), 340-348.2015 [23] Morales‐Artacho, A. J., Lacourpaille, L., & Guilhem, G. "Effects of warm‐up on hamstring muscles stiffness: Cycling vs foam rolling". Scandinavian journal of medicine & science in sports, 27(12), 1959-1969.201 [24] F. París-García, A. Barroso, J. Cañas, J. Ribas, and F. París, “A critical study on the experimental determination of stiffness and viscosity of the human triceps surae by free vibration methods.,” Proc. Inst. Mech. Eng. H., vol. 227, no. 9, pp. 935–54, Sep. 2013. [25] F. Paris-Garcia, a. Barroso, M. Doblare, J. Canas, and F. Paris, “Evaluation of the stiffnesses of the Achilles tendon and soleus from the apparent stiffness of the triceps surae,” Proc. Inst. Mech. Eng. Part H J. Eng. Med., vol. 229, no. 1, pp. 28–39, 2015. [26] A. V Hill, “The heat of shortening and the dynamic constants of muscle,” Proc. R. Soc. London. Ser. B-Biological Sci., vol. 126, no. 843, p. 136, 1938. [27] M. W. Maier, D. Emery, and R. Hilliard, “Software architecture: Introducing IEEE standard 1471,” Computer (Long. Beach. Calif)., vol. 34, no. 4, pp. 107– 109, 2001. [28] P. B. Kruchten, “The 4+1 View Model of Architecture,” IEEE Softw., vol. 12, no. 6, pp. 42–50, 1995. [29] C. Yang, P. Liang, and P. Avgeriou, “A systematic mapping study on the combination of software architecture and agile development,” J. Syst. Softw., 2016. [30] H. Honko, V. Andalibi, T. Aaltonen, J. Parak, M. Saaranen, J. Viik, and I. Korhonen, “W2E-Wellness Warehouse Engine for Semantic Interoperability of Consumer Health Data,” IEEE J. Biomed. Heal. Informatics, vol. 20, no. 6, pp. 1632–1639, Nov. 2016. [31] J. A. Nelder and R. Mead, “A simplex method for function minimization,” Comput. J., vol. 7, no. 4, pp. 308–313, 1965. [32] M. J. D. Powell, “The BOBYQA algorithm for bound constrained optimization without derivatives,” Cambridge NA Rep. NA2009/06, Univ. Cambridge, Cambridge, pp. 26–46, 2009. [33] Clough RW and Penzien J. Dynamics of structures. New York. McGraw-Hill, 1975. [34] C. Szyperski, J. Bosch, and W. Weck, “Component-Oriented Programming,” in Object-Oriented Technology ECOOP’99 Workshop Reader, 1999, pp. 184– 192. [35] de Moraes, J. L. C., de Souza, W. L., Pires, L. F., & do Prado, A. F. "A methodology based on openEHR archetypes and software agents for developing ehealth applications reusing legacy systems." Computer methods and programs in biomedicine, 134, pp. 267-287. 2016. [36] Fasquel, J.B., Brocker, G., Moreau, J., Papier, N., Agnus, V., Koehl, C., Soler, L. and Marescaux, J., "A modular and evolutive component oriented software architecture for patient modeling". Computer Methods and Programs in Biomedicine, 83(3), pp. 222-233. 2006. [37] Benitez A, Ruiz Zafra Á, Callejas Z, Medina-Medina N, Benghazi K and Noguera M. "A general architecture for the development of virtual coaches for healthy habits monitoring and encouragement" Sensors, 19(1). 2019 [38] Ruiz-Zafra, Á., Noguera, M., Benghazi, K., & Ochoa, S. F. "A model-driven approach for wearable systems developments". International Journal of Distributed Sensor Networks, 11(10), 637130. 2015 [39] Ruiz-Zafra, Á., Benghazi, K., Noguera, M., & Garrido, J. L. "Zappa: An open mobile platform to build cloud-based m-health systems". In Ambient intelligence-software and applications (pp. 87-94). Springer, Heidelberg. 2013