Permutation testing is a non-parametric method for obtaining the max null distribution used to compute corrected -values to provide strong control of false positives. In neuroimaging, however, the computational burden of running such algorithm can be significant. We find that by viewing the permutation testing procedure as the construction of a very large permutation testing matrix , one can exploit structural properties derived from the data and the test statistics to reduce the runtime under certain conditions. In particular, we see that has a low-rank plus a low-variance residual. This makes a good candidate for low-rank matrix completion methods, where only a very small number of entries of ( of all entries in our experiments) have to be computed to obtain good estimate of it. Based on this observation, we developed an algorithm, RapidPT, that is able to efficiently recover the max null distribution commonly obtained through regular permutation testing in neuroimage analysis. We present an extensive experimental validation on four varying sized datasets against two baselines: Statistical NonParametric Mapping (SnPM13) and a standard permutation testing implementation (referred to as NaivePT). We find that RapidPT achieves its best runtime performance on medium sized datasets (), with speedup gains of 1.5x - 38x (vs. SnPM13) and 20x-1000x (vs. NaivePT). For larger datasets () RapidPT outperforms NaivePT (6x - 200x), and provides substantial speedups over SnPM13 when performing more than 10000 permutations (2x - 15x). The Matlab implementation is available as a standalone toolbox called RapidPT. Our code is also integrated within SnPM13, and is able to leverage multi-core architectures when available.
View on arXiv