Algorithm 28 | Scientific Reports