In 3dttest++, I found an option to calculate one-sample permutation test. The description was as follows:
The new-ish options ‘-Clustsim’ and ‘-ETAC’ will use randomization and
permutation simulation to produce cluster-level threshold values that
can be used to control the false positive rate (FPR) globally. These
options are slow, since they will run 1000s of simulated 3D t-tests in
order to get cluster-level statistics about the 1 actual test.
However, what was done in this option was inconsistent with my knowledge about one-sample permutation test. Why the program run 1000s of t-tests not 1000s of means (this mean was group mean of random assigned 1/-1 for value of participants’ voxel). What I meant was consistent with this idea:
It makes the assumption that under the null the pairs have the same distribution, which implies the differences on which the subsequent one-sample test is based is assumed to be symmetric. On that basis, the signs are randomly flipped on each difference. Well that’s for a randomization test - for a full permutation test you’d do all 2^n possible combinations of sign-flips.