What is an Open Algorithm?

Posted on December 12, 2022 by Peter Shull and Zach Strout

 
 

Algorithms are a vital part of research. In this post, we will discuss open algorithms and why they matter. But first…

What is an algorithm?

Algorithm = recipe. If you’re baking research, your algorithm is the recipe and your data are the ingredients. Assuming you have the right data, if your algorithm is good - out comes a nice research cake; if it is bad - something less cake-like. Formally, an algorithm is a detailed set of instructions to solve a defined mathematical problem. Algorithms are embedded in virtually all software and electronics for extremely varied applications and are typically stored in the form of source code. In biomechanics research involving wearable systems, an algorithm could instruct how to convert raw IMU data into kinematic angles or when and how to give haptic feedback during gait.

What is an open algorithm?

An open algorithm is simply an algorithm that anyone can openly read and understand. It allows anyone to see how the research got baked.

In biomechanics research, an open algorithm means the code is open source and freely available for anyone to read, understand, reverse engineer, debug, improve and modify for specific use cases.

Why do open algorithms matter?

Open algorithms matter, because fundamentally academic research should be as open and repeatable as possible, and closed algorithms prevent this. There are many specific benefits of open algorithms, including…

Deep Understanding

Low Poly graphic of The Thinker statue

For researchers, having open access to see the details of how algorithms are constructed and implemented can facilitate deep understanding, enabling them to build on and improve future algorithms. Often, the algorithm description in the methods section of a paper is insufficient to fully understand, reconstruct, and implement the same algorithm in practice. There is often a disconnect between the way an algorithm is described mathematically with equations and text in a paper and the way it is actually implemented in code. An algorithm may appear long and complex in a paper, but in reality only require one line of code to implement. Conversely, many seemingly simple algorithms require hundreds of lines of code, hand tuning, and customization. Providing the original, open source code clarifies these issues.

Faster Development

A person programming

Open algorithms allow researchers to learn from existing algorithms and to improve, clarify, fix, and use for their own research. Since everything in the algorithms is open and available to modify, they can directly use code snippets from existing examples. For example, instead of developing their own gait cycle segmenting code, researchers can find examples where gait segmentation is used, understand how it works, and incorporate it into their own code. Or if a researcher wants to change the type of biofeedback for an algorithm, they can simply create a copy of the open algorithm, change a few lines of code, and reuse it.

New Uses and Validation

the word "IDEA" stamped on a piece of paper

Another benefit of open algorithms is that it allows research groups to implement existing state-of-the-art algorithms for new human movements and in new patient populations that have not yet been tested. It is possible that a wearable sensing algorithm validated on a specific population or human movement may not perform as well for another population or movement. Conversely, if the algorithm does perform well for a new population or movement, this strengthens and further generalizes the original algorithm.

Better Papers

Diagram of the structure of a paper highlighting the Methods section

Open algorithms allow researchers to know exactly how IMU data is pre- and post-processed so that they can clearly describe this in their research to answer reviewer, editor, and reader questions. Scholars like to be able to see and understand precisely how the research Methods were performed, and there is generally widespread academic support for open science, of which open algorithms are a key part.

Open algorithm systems

We strongly support open science for facilitating high quality scientific research, and thus the SageMotion system has open algorithms and open data. There are also many great open-source projects for research that follow the same open science philosophy that we highly recommend:

OpenSim is extremely powerful software for modeling, simulation, and analysis of biomechanics. It can be used to build neuromusculoskeletal models to understand the role of muscle activation and motor control for the body.

Kinovia is fantastic open-source 2D video analysis software that can annotate stills or can measure angles, distances, or speeds from videos and export them for analysis.

Previous
Previous

How Does IMU Sensor Fusion Work?

Next
Next

How Does an IMU Work?