= BrainSync = BrainSync is an orthogonal transformation that allows direct comparison of resting fMRI (rfMRI) time series across subjects. For this purpose, we exploit the geometry of the rfMRI signal space to conjecture the existence of anorthogonal transformation that synchronizes fMRI time series across ses-sions and subjects. The method is based on the observation that rfMRIdata exhibit similar connectivity patterns across subjects, as reflected inthe pairwise correlations between different brain regions. The orthogonal transformation that performs the synchronization is unique, invertible, efficient to compute, and preserves the connectivity structure of theoriginal data for all subjects. Similarly to image registration, where wespatially align the anatomical brain images, this synchronization of brain signals across a population or within subject across sessions facilitates longitudinal and cross-sectional studies of rfMRI data. The BrainSync concept is illustrated below: [[attachment:fig1_webpage.svg.png|{{attachment:fig1_webpage.svg.png|Click to enlarge|width="700"}}]] Please refer to our publications below for detailed explanation and examples. The following video shows the rfMRI signal of a (left) subject brain; (middle) a reference brain and (right) synced subject. [[http://neuroimage.usc.edu/images/brainsync_movie.gif|{{http://neuroimage.usc.edu/images/brainsync_movie.gif|Click to enlarge|width="700"}}]] == Software == The input is assumed to be two time x vertices datasets, one is denoted as subject and second as target. It is highly recommened that the input is normalized to have unit varaince. If not, BrainSync will throw a warning and do the normalization internally. Before returning the outputs, the means for each time series will be added back and varaince rescaled back to its original value. However, we recommend doing the normalization using the function normalize_data.m. === Matlab === The matlab source code for BrainSync can be downloaded below. '''[[http://neuroimage.usc.edu/neuro/Resources/BrainSync?action=AttachFile&do=get&target=BrainSyncMatlab_ver1.0.zip|Download]]''' As an input we assume data matrices (Time x Vertices) of two scans, referred to as sub and ref. First the data should be normalized to 0 mean and unit variance by running: {{{ sub = normalizeData(sub) % Do the data normalization for subject brain ref = normalizeData(ref) % Do the data normalization for the reference brain }}} and then the data can be synchronized using the following code. {{{ % subSynced is the synched data for the subject and % O is the associated orthogonal transform [subSynced, O] = brainSync(ref, sub) }}} === Python === The python source code for BrainSync can be downloaded here. [[http://neuroimage.usc.edu/neuro/Resources/BrainSync?action=AttachFile&do=get&target=brainsync.py|Download]] As an input we assume data as numpy arrays (Time x Vertices) of two scans, referred to as sub and ref. First the data should be normalized to 0 mean and unit variance by running: {{{ from brainsync import brainSync, normalizeData sub = normalizeData(sub) # Do the data normalization for subject brain ref = normalizeData(ref) # Do the data normalization for the reference brain }}} and then the data can be synchronized using the following code. {{{ # subSynced is the synched data for the subject and # O is the associated orthogonal transform }}} == Publications == 1. AA Joshi, M Chong, RM Leahy, BrainSync: An Orthogonal Transformation for Synchronization of fMRI Data Across Subjects, Proc. MICCAI 2017, in press. '''[[https://www.dropbox.com/s/tu4kuqqlg6r02kt/brainsync_miccai2017.pdf?dl=0|PDF]]''' 1. AA Joshi, M Chong, RM Leahy, BrainSync: An Orthogonal Transformation for Synchronization of fMRI Data Across Subjects, OHBM 2017, '''[[https://ww5.aievolution.com/hbm1701/index.cfm?do=abs.viewAbs&abs=1650|Abstract]], [[https://files.aievolution.com/hbm1701/abstracts/38388/3966_Joshi.pdf|eposter]]'''