Source: https://satoss.uni.lu/software/CABEAN/papers/BCB20.pdf