I have implemented the “BrainSync” algorithm of Joshi et al, as presented in their OHBM 2017 poster
I also implemented my own permutation-only method of “synchronizing” 3D+time datasets, in the same program.
The goal is to take two 3D+time datasets (e.g., rs-FMRI), one being the “reference” and the other the “source”, and then apply a transformation in time to the source dataset to make the result match the reference dataset time series as much as possible. Every voxel gets transformed the same way.
In the Joshi method, the transformation is an orthogonal matrix (MxM if there are M time points.) In the permutation-only method, the transformation is just a shuffling of the time order of the source dataset. In both methods, the goal is the same: to maximize the average correlation coefficient of the brain voxel time series after the transformation.
Is this useful for anything? I don’t know – I hope so. Presented for your consideration.