from parseBehav import parseBhLog from mvpa2.suite import * PROCS_OF_INTEREST = ['MixedBivalent1', 'MixedBivalent2', 'MixedBivalent3', 'MixedUnivalent1', 'MixedUnivalent2', 'MixedUnivalent3'] FILES = ["testbold%02d.nii" % n for n in xrange(1,11)] sas, events = parseBhLog('./testbehav.txt') events = [ev for ev in events if ev['ev_block_proc'] in PROCS_OF_INTEREST] ds = fmri_dataset(FILES, mask='testroi.nii') for key in sas.keys(): ds.sa[key] = sas[key] dse = eventrelated_dataset(ds,events=events) print dse.nsamples print dse.nfeatures vi = dse.fa['voxel_indices'] print vi[0] # all voxel indices repeated twice? nFeats = int(floor(dse.nfeatures/2)) print all([vi[i] == vi[nFeats+i] for i in xrange(nFeats)]) fx = FxMapper(axis='features', fx=np.mean) dse2 = eventrelated_dataset(ds,events=events,event_mapper=fx) print dse2.nsamples print dse2.nfeatures # all voxel indices equal to mean of same voxels from # the two volumes? nSamps = dse2.nsamples s1 = dse.samples s2 = dse2.samples print all([[s2[n,i] == np.mean([s1[n,i], s1[n,nFeats+i]]) for i in xrange(nFeats)] for n in xrange(nSamps)]) print dse.fa['voxel_indices'][0] print dse2.fa['voxel_indices'][0]