-
Notifications
You must be signed in to change notification settings - Fork 1
/
source_plot_mean_label.py
125 lines (96 loc) · 4.03 KB
/
source_plot_mean_label.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
"""
====================================================
Extracting the mean time series of activations in a label
====================================================
"""
# Author: Alexandre Gramfort <gramfort@nmr.mgh.harvard.edu>
# Edited by Ellen Lau <ellenlau@nmr.mgh.harvard.edu>
# License: BSD (3-clause)
print __doc__
import mne
from mne import fiff
import numpy as np
import pylab as pl
import argparse
####Plotting Parameters####
xmin,xmax = [-100, 610]
ymin,ymax = [0, 8]
lWidth = 4
color1 = 'k'
color2 = 'r'
lineStyle1 = 'solid'
lineStyle2 = 'solid'
lineLabel1 = 'dir related'
lineLabel2 = 'unrelated'
####################################
parser = argparse.ArgumentParser(description='Get input')
parser.add_argument('prefix',type=str)
parser.add_argument('protocol1',type=str)
parser.add_argument('protocol2',type=str)
parser.add_argument('label1',type=str)
parser.add_argument('hem1',type=str)
parser.add_argument('hem2',type=str)
parser.add_argument('set1',type=str)
parser.add_argument('set2',type=str)
parser.add_argument('model',type=str)
parser.add_argument('single_diff',type=str)
args=parser.parse_args()
data_path = '/cluster/kuperberg/SemPrMM/MEG/results/source_space/ga_stc'
if args.single_diff == 'diff':
stc1_fname = data_path + '/diff/ga_'+args.prefix+'_'+args.protocol1+'_c'+args.set2+'-c'+args.set1+'M-'+args.model+'-'+args.hem1+'.stc'
stc2_fname = data_path + '/diff/ga_'+args.prefix+'_'+args.protocol2+'_c'+args.set2+'-c'+args.set1+'M-'+args.model+'-'+args.hem2+'.stc'
else:
stc1_fname = data_path + '/single_condition/ga_'+args.prefix+'_'+args.protocol1+'_c'+args.set1+'M-'+args.model+'-'+args.hem1+'.stc'
stc2_fname = data_path + '/single_condition/ga_'+args.prefix+'_'+args.protocol2+'_c'+args.set2+'M-'+args.model+'-'+args.hem2+'.stc'
label1 = args.label1+'-'+args.hem1
label1_fname = data_path + '/label/%s.label' % label1
values1, times1, vertices1 = mne.label_time_courses(label1_fname, stc1_fname)
values1 = np.mean(values1,0)
#print values1.shape
print "Number of vertices : %d" % len(vertices1)
values2, times2, vertices2 = mne.label_time_courses(label1_fname, stc2_fname)
values2 = np.mean(values2,0)
print "Number of vertices : %d" % len(vertices1)
times1=times1*1000
times2=times2*1000
# 'weight' : 'bold',
font = {'size' : 20}
pl.rc('font', **font)
#########################
# View source activations
pl.clf()
pl.plot(times1, values1.T,color=color1,linewidth=lWidth,linestyle=lineStyle1)
pl.plot(times2, values2.T,color=color2,linewidth=lWidth,linestyle=lineStyle2)
pl.plot(times1,values1.T*0,color='k')
#pl.legend((lineLabel1,lineLabel2),loc="upper left")
pl.axvline(x=0,ymin=0,ymax=1,color='k')
pl.ylim([ymin,ymax])
pl.xlim([xmin,xmax])
pl.box('off') # turn off the box frame
pl.axhline(y=0,xmin=0,xmax=1,color='k',linewidth=2) #draw a thicker horizontal line at 0
pl.axvline(x=0,ymin=0,ymax=1,color='k',linewidth=2) #draw a vertical line at 0 that goes 1/8 of the range in each direction from the middle (e.g., if the range is -8:8, =16, 1/8 of 16=2, so -2:2).
pl.tick_params(axis='both',right='off',top='off',left='off')
pl.yticks(np.array([]))
pl.axhline(y=5,xmin=.12,xmax=.16,color='k',linewidth=1)
pl.axvline(x=100,ymin=0,ymax=.03,color='k')
pl.axvline(x=300,ymin=0,ymax=.03,color='k')
pl.axvline(x=500,ymin=0,ymax=.03,color='k')
pl.xticks(np.array([]))
#pl.xlabel('time (ms)')
#pl.ylabel('Source amplitude')
pl.axvspan(300, 500, color='k', alpha=0.1)
#pl.title('Activations in Label : %s' % label1)
#pl.ticklabel_format(style='plain',axis='x')
#pl.rcParams.update({'font.size': 12})
#pl.show()
outFile = data_path + '/roi_plots/'+args.label1+'-'+args.hem2+'-'+args.protocol1+'-'+args.hem2+'-'+args.protocol2+'-'+args.set1+'-'+args.set2 + '-'+ args.single_diff + '-' +args.model+'.png'
pl.savefig(outFile)
#label = 'BaleenHP_c1_c2_350-450_cluster0-'+hem
#label = 'G_front_inf-Triangul-'+hem
#label = 'G_front_inf-Opercular-'+hem
#label = 'G_front_inf-Orbital-'+hem
#label = 'G_temp_sup-Lateral-'+hem
#label = 'G_temporal_middle-'+hem
#label = 'Pole_temporal-'+hem
#label = 'S_temporal_sup-'+hem
#label = 'G_pariet_inf-Angular-'+hem