In [54]:
clear all




In [55]:
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
from scipy import io
import scipy.io as sio
%matplotlib inline 
import pylab
import csv
from Tkinter import Tk
from tkFileDialog import askopenfilename
from tkFileDialog import askdirectory
import nibabel as nb
from scipy import io
from nifti import NiftiImage
import nibabel as nb
from scipy.interpolate import interp1d
from scipy import ndimage

Open data


In [56]:
# from http://stackoverflow.com/questions/3579568/choosing-a-file-in-python-with-simple-dialog
Tk().withdraw() # we don't want a full GUI, so keep the root window from appearing
filename = askopenfilename() # show an "Open" dialog box and return the path to the selected file
print(filename)


/home/sophie/Downloads/100051ss1_1000regcU10sMpsfkf150Smith0_4_60TS.mat

In [57]:
Ua=sio.loadmat(filename)
DT=Ua['TSo']
DT.shape


Out[57]:
(11571, 150)

In [58]:
# from http://stackoverflow.com/questions/3579568/choosing-a-file-in-python-with-simple-dialog
Tk().withdraw() # we don't want a full GUI, so keep the root window from appearing
filename2 = askopenfilename() # show an "Open" dialog box and return the path to the selected file
print(filename2)


/home/sophie/Downloads/100051ss1_1000regcU10sMpsfkf150Smith0_4_60IC.nii

In [59]:
img1 = nb.load(filename2)
data = img1.get_data()
S=data.shape
S


Out[59]:
(92, 44, 11, 150)

In [60]:
Tk().withdraw() # we don't want a full GUI, so keep the root window from appearing
filename = askopenfilename() # show an "Open" dialog box and return the path to the selected file
print(filename)


/home/sophie/Desktop/100051TimeOn.mat

In [61]:
Ua=sio.loadmat(filename)
Time_fluo=Ua['Time']
Time_fluo.shape


Out[61]:
(11571, 1)

In [62]:
Time_fluoICA=Time_fluo

In [63]:
Time_fluoICA.shape


Out[63]:
(11571, 1)

Z-score


In [64]:
Demean=np.zeros(S)
Dmaps=np.zeros(S)
Dvar=np.zeros(S)
Var=np.zeros(S[3])
D2=np.zeros([S[0],S[1],5,S[3]])
Tvar=np.zeros(S[3])

In [65]:
for i in range(S[3]):
    Demean[:,:,:,i]=data[:,:,:,i]-np.mean(np.mean(np.mean(data[:,:,:,i],0),0),0)

In [66]:
for i in range(S[3]):
    Dsq=np.reshape(Demean[:,:,:,i],S[0]*S[1]*S[2])
    Var[i]=np.sqrt(np.var(Dsq))
    Dvar=Demean[:,:,:,i]/Var[i]
    Dmaps[:,:,:,i]=Dvar-2.5
    Tvar[i]=np.var(DT[i,:])
Dmaps[Dmaps<0]=0

Open Masks


In [67]:
# from http://stackoverflow.com/questions/3579568/choosing-a-file-in-python-with-simple-dialog
from Tkinter import Tk
from tkFileDialog import askopenfilename

Tk().withdraw() # we don't want a full GUI, so keep the root window from appearing
filenameM = askopenfilename() # show an "Open" dialog box and return the path to the selected file
print(filenameM)
img1 = nb.load(filenameM)
Masks = img1.get_data()
Sm=Masks.shape
Masks=np.array(Masks)


/home/sophie/Downloads/100051ResizedMapsfullpsftrimmed.nii

In [68]:
filenameM='/home/sophie/Desktop/Registration/RegionList'
with open(filenameM) as f:
    content = f.readlines()
Names=[Line.split('\t') for Line in content]
RegionName=[Names[i][0] for i in range(75)]
Num=[int(Names[i][2]) for i in range(75)]

Average in masks to sort components by brain region


In [69]:
Dmaps.shape


Out[69]:
(92, 44, 11, 150)

In [70]:
M=np.zeros((S[3],86))
Mapmean=np.zeros(S[3])
MMasks=np.zeros(86)

In [71]:
for i in range(S[3]):
    Mapmean[i]=np.mean(np.mean(np.mean(Dmaps[:,:,:,i])))
    for j in range(86):
        MMasks[j]=np.mean(np.mean(np.mean(Masks[:,:,:,j])))
        if MMasks[j]:
            M[i,j]=np.mean(np.mean(np.mean(Masks[:,:,:,j]*Dmaps[:,:,:,i])))/(MMasks[j]*Mapmean[i])

In [72]:
CompMainName=S[3]*['']
CompNameAdd=np.zeros((S[3],86))
for i in range(S[3]):
    Max=np.max(M[i,:])
    I=np.argmax(M[i,:])+1
    for j in range(86):
        J=[l for l in range(74) if Num[l]==(j+1)]
        if M[i,j]>0.2*Max:
            CompNameAdd[i,J]=1
    J=[l for l in range(74) if Num[l]==I]
    CompMainName[i]=Names[np.array(J)][0]

In [74]:
pylab.rcParams['figure.figsize'] = (13, 2.5)

h=5
tot=0
GoodICAnat=np.zeros(S[3])

for l in range(74):
    Final_maps=np.zeros((S[0],S[1],3))
    Fmap=np.zeros((S[0],S[1],3))
    C=np.zeros(3)

    n=0
    for i in range(len(CompMainName)):                    
        Dmmv=np.mean(data[:,:,:,i],2) 
        Dmmv[Dmmv<0.2*np.max(np.max(np.max(Dmmv)))]=0
        C=np.squeeze(np.random.rand(3,1))
        labeled, nrobject=ndimage.label(Dmmv>0)
        
        if CompMainName[i]==Names[l][0] and (sum(CompNameAdd[i,:])<5) and nrobject<200:
            n=n+1            
            
            for k in range(3):
                Fmap[:,:,k]=0.7*Dmmv*C[k]/np.max(C)
            Final_maps=Final_maps+Fmap
            plt.plot(Time_fluoICA,(DT[:,i]/np.sqrt(np.var(DT[:,i]))-h*n+2),color=C/2)
            tot=tot+1
            GoodICAnat[i]=1
            #print(i)
            for j in range(86):
                if CompNameAdd[i,j]==1:                
                    print(Names[np.array(j)][0])
            print(i)
            
                    
    if n!=0:
        print(Names[l][1])

        plt.show()
        FM=Final_maps/np.max(np.max(Final_maps))
        FM[FM<0.1]=0
        plt.imshow(FM,interpolation='none')
        plt.show()
        frame1 = plt.gca()
        frame1.axes.get_xaxis().set_visible(False)
        frame1.axes.get_yaxis().set_visible(False)
        
# Open template


LO_R
21
LO_R
PB
ME_R
ME_L
69
lobula
NO
ATL_R
GNG
5
NO
PB
50
NO
PB
68
nodulus
PB
MB_CA_R
22
PB
IPS_R
32
PB
AMMC_L
AL_L
65
PB
FB
72
PB
97
PB
AMMC_L
104
protocerebral bridge
LH_R
11
lateral horn
CAN_R
FLA_R
AMMC_L
128
cantle
ATL_R
SMP_R
IVLP_R
AL_L
133
antler
MB_VL_R
LOP_L
ME_L
37
MB_VL_R
41
vertical lobe of adult mushroom body
LO_R
LOP_R
ME_R
ME_L
83
lobula plate
AL_R
42
adult antennal lobe
LOP_R
ME_R
4
BU_R
ME_R
77
medulla
SLP_R
ATL_L
71
superior lateral protocerebrum
SMP_R
SMP_L
113
superior medial protocerebrum
MB_CA_R
7
MB_CA_R
12
MB_CA_R
13
MB_CA_R
26
MB_CA_R
44
MB_CA_R
61
MB_CA_R
78
LH_R
MB_CA_R
84
MB_CA_R
88
GOR_R
MB_CA_R
IPS_R
EPA_R
108
MB_CA_R
111
MB_CA_R
131
calyx of adult mushroom body
IB_R
SPS_R
SPS_L
63
superior posterior slope
IPS_R
IPS_L
29
MB_CA_R
IPS_R
GNG
66
inferior posterior slope
GNG
33
adult gnathal ganglion
PRW
19
prow
MB_VL_R
GNG
GA_R
52
gall
LO_L
ME_L
36
lobula
LH_L
MB_CA_L
28
lateral horn
IB_R
PRW
AMMC_L
AL_L
144
antennal mechanosensory and motor center
ATL_L
40
ATL_L
91
ATL_L
92
EB
LAL_L
ATL_L
AL_L
105
ATL_L
121
antler
FLA_R
CAN_L
FLA_L
3
CAN_R
FLA_L
AL_L
31
PRW
CAN_L
FLA_L
55
flange
LOP_L
ME_L
20
LOP_L
139
lobula plate
AL_R
AL_L
0
AL_R
AL_L
2
LAL_L
AL_L
35
NO
MB_ML_L
AL_L
MB_CA_L
116
AL_L
135
adult antennal lobe
ME_L
24
LOP_R
ME_R
ME_L
38
AME_L
LO_L
ME_L
81
LO_L
LOP_L
ME_L
85
medulla
IB_R
AVLP_R
AMMC_L
AVLP_L
73
anterior ventrolateral protocerebrum
MB_CA_L
10
LH_L
MB_CA_L
14
MB_CA_L
16
MB_CA_L
18
LH_L
MB_CA_L
43
MB_CA_L
58
MB_CA_L
59
MB_CA_L
64
ATL_R
MB_CA_L
70
MB_CA_L
75
MB_CA_L
76
BU_R
MB_CA_L
112
calyx of adult mushroom body
SAD
IPS_R
GNG
IPS_L
1
SAD
SPS_R
IPS_R
IPS_L
17
inferior posterior slope

In [75]:
# from http://stackoverflow.com/questions/3579568/choosing-a-file-in-python-with-simple-dialog
from Tkinter import Tk
from tkFileDialog import askopenfilename

Tk().withdraw() # we don't want a full GUI, so keep the root window from appearing
filenamet = askopenfilename() # show an "Open" dialog box and return the path to the selected file
print(filenamet)
nimt=NiftiImage(filenamet)
Dtemp=np.squeeze(nimt.data.T)
Dtemp.shape


/home/sophie/Downloads/100051ss1_1000regctemppsf.nii
Out[75]:
(92, 44, 11)

Last pruning by hand


In [76]:
%%javascript
IPython.OutputArea.auto_scroll_threshold =4000;



In [77]:
if S[2]>5:
    Nstack=5
    Int100=[(i+1)*100/Nstack for i in range(Nstack)]
    Percs=np.percentile(range(S[2]),Int100)
    Indices=np.split(range(S[2]),Percs)
    D1=np.zeros([S[0],S[1],Nstack])
    Dmean=np.squeeze(data[:,:,range(Nstack),2])
    for i in range(Nstack):
        Vmean=np.mean(Dtemp[:,:,Indices[i]],2)
        Dmean[:,:,i]=Vmean
else:
    Nstack=S[2]
    D1=np.zeros([S[0],S[1],S[2]])
    Dmean=data[:,:,range(S[2])]  
    Dmean=np.squeeze(Dtemp[:,:,:])

In [78]:
plt.imshow(Dmean[:,:,1],cmap=plt.cm.gray)


Out[78]:
<matplotlib.image.AxesImage at 0x5de74d0>

In [79]:
S


Out[79]:
(92, 44, 11, 150)

In [80]:
my_cmap=plt.cm.jet
my_cmap.set_bad(alpha=0)
Good_ICs=np.zeros(S[3])
Label_ICs=[]
pylab.rcParams['figure.figsize'] = (15, 2.5)

In [81]:
for j in range(S[3]):

    a=''
    if S[2]>5:
        for i in range(Nstack):
            V=Dmaps[:,:,Indices[i],j]
            D1[:,:,i]=np.max(V,2)
        D2[:,:,:,j]=D1
        D1[D1==0]=np.nan
           
    else:
        for i in range(S[2]):
            V=Dmaps[:,:,i,Order[j]]
            D1[:,:,i]=V 

    if CompMainName[j] != '':
        print(j)
        print(CompMainName[j])
        for i in range(Nstack):
            plt.subplot(1,5,i+1)
            plt.imshow(Dmean[:,:,i],cmap=plt.cm.gray)
            plt.imshow(D1[:,:,i], cmap=my_cmap,interpolation='none')
            frame1 = plt.gca()
            frame1.axes.get_xaxis().set_visible(False)
            frame1.axes.get_yaxis().set_visible(False)
        
        plt.show()
        
        plt.plot(Time_fluoICA,DT[:,j]+2)
        plt.show()
        a=raw_input()
    
    Label_ICs.append(a)
    if Label_ICs[j]!='':
        Good_ICs[j]=1


0
AL_L
1
IPS_L
2
AL_L
3
FLA_L
4
ME_R
a
5
NO
6
IB_L
7
MB_CA_R
a
8
IPS_R
9
IPS_L
10
MB_CA_L
a
11
LH_R
a
12
MB_CA_R
13
MB_CA_R
14
MB_CA_L
a
15
LOP_L
16
MB_CA_L
17
IPS_L
18
MB_CA_L
19
PRW
20
LOP_L
21
LO_R
a
22
PB
23
FLA_L
24
ME_L
a
25
ICL_R
26
MB_CA_R
27
ATL_L
28
LH_L
a
29
IPS_R
30
LOP_L
31
FLA_L
32
PB
33
GNG
34
SLP_R
35
AL_L
a
36
LO_L
a
37
MB_VL_R
38
ME_L
a
39
SLP_L
40
ATL_L
41
MB_VL_R
42
AL_R
a
43
MB_CA_L
44
MB_CA_R
45
SMP_L
46
SMP_R
47
ME_L
48
PRW
49
GNG
50
NO
a
51
IB_L
a
52
GA_R
53
EPA_L
54
EPA_R
55
FLA_L
56
MB_CA_L
57
FLA_L
58
MB_CA_L
59
MB_CA_L
60
MB_CA_L
61
MB_CA_R
62
AMMC_R
63
SPS_R
a
64
MB_CA_L
65
PB
66
IPS_R
67
MB_CA_R
68
NO
a
69
LO_R
a
70
MB_CA_L
a
71
SLP_R
72
PB
a
73
AVLP_L
74
MB_VL_R
75
MB_CA_L
76
MB_CA_L
77
ME_R
a
78
MB_CA_R
79
MB_CA_L
80
AL_L
81
ME_L
a
82
SMP_R
83
LOP_R
a
84
MB_CA_R
a
85
ME_L
a
86
MB_PED_L
87
CAN_L
88
MB_CA_R
89
MB_CA_L
90
ME_L
91
ATL_L
92
ATL_L
93
MB_CA_L
94
CRE_R
95
MB_CA_R
96
AL_R
97
PB
a
98
PRW
99
MB_CA_R
100
MB_CA_L
101
SLP_L
102
MB_CA_L
103
SCL_L
104
PB
105
ATL_L
106
AMMC_L
107
ATL_R
108
MB_CA_R
109
MB_CA_L
110
AL_L
111
MB_CA_R
112
MB_CA_L
113
SMP_R
a
114
AL_L
115
AMMC_L
116
AL_L
117
ME_R
118
MB_ML_L
119
PB
120
ATL_R
121
ATL_L
122
EB
123
BU_R
124
PB
125
NO
126
CAN_L
127
ATL_R
128
CAN_R
129
AOTU_R
130
CAN_R
131
MB_CA_R
132
SLP_L
133
ATL_R
134
IVLP_L
135
AL_L
136
AL_R
137
MB_CA_R
138
PRW
139
LOP_L
140
PRW
141
ATL_R
142
AL_L
143
MB_CA_L
144
AMMC_L
145
AME_L
146
AL_L
147
CAN_R
148
EPA_R
149
BU_L


In [82]:
Dmaps.shape


Out[82]:
(92, 44, 11, 150)

In [85]:
fn=open('/home/sophie/Desktop/100051GoodICs150.txt','w')
for i in range(S[3]):
    if Good_ICs[i]:
        print>>fn, i
        print>>fn, CompMainName[i]
        print>>fn, Good_ICs[i]

In [86]:
if len(Label_ICs)<S[3]:
    for j in range(S[3]-len(Label_ICs)):
      Label_ICs.append('')

In [87]:
G=Good_ICs.tolist();

In [88]:
len(Good_ICs)


Out[88]:
150

In [89]:
G.count(1)


Out[89]:
26

Reorder by larger sub-regions (~ presumed stimulus to motor)


In [90]:
LargerRegionsDic={'':'','AME_R':'OL','LO_R':'OL','NO':'CX','BU_R':'CX','PB':'CX','LH_R':'LH','LAL_R':'LX','SAD':'PENP'
               ,'CAN_R':'PENP','AMMC_R':'PENP','ICL_R':'INP','VES_R':'VMNP','IB_R':'INP','ATL_R':'INP','CRE_R':'INP'
               ,'MB_PED_R':'MB','MB_VL_R':'MB','MB_ML_R':'MB','FLA_R':'PENP','LOP_R':'OL','EB':'CX','AL_R':'AL',
                'ME_R':'OL','FB':'CX','SLP_R':'SNP','SIP_R':'SNP','SMP_R':'SNP','AVLP_R':'VLNP','PVLP_R':'VLNP',
                'IVLP_R':'VLNP','PLP_R':'VLNP','AOTU_R':'VLNP','GOR_R':'VMNP','MB_CA_R':'MB','SPS_R':'VMNP',
                'IPS_R':'VMNP','SCL_R':'INP','EPA_R':'VMNP','GNG':'GNG','PRW':'PENP','GA_R':'LX','AME_L':'OL'
                ,'LO_L':'OL','BU_L':'CX','LH_L':'LH','LAL_L':'LX','CAN_L':'PENP','AMMC_L':'PENP','ICL_L':'INP',
                'VES_L':'VMNP','IB_L':'INP','ATL_L':'INP','CRE_L':'INP','MB_PED_L':'MB','MB_VL_L':'MB',
                'MB_ML_L':'MB','FLA_L':'PENP','LOP_L':'OL','AL_L':'AL','ME_L':'OL','SLP_L':'SNP','SIP_L':'SNP',
                'SMP_L':'SNP','AVLP_L':'VLNP','PVLP_L':'VLNP','IVLP_L':'VLNP','PLP_L':'VLNP','AOTU_L':'VLNP',
                'GOR_L':'VMNP','MB_CA_L':'MB','SPS_L':'VMNP','IPS_L':'VMNP','SCL_L':'INP','EPA_L':'VMNP','GA_L':'LX'}

In [196]:
SmallRegionsSorted=['ME_L','ME_R','LO_R','LO_L','LOP_R','LOP_L','AME_R','AME_L',
                  'PLP_R','PLP_L','PVLP_R','PVLP_L','AVLP_R','AVLP_L','AOTU_R','AOTU_L','IVLP_R','IVLP_L',
                  'AL_R','AL_L',
                  'MB_CA_R','MB_CA_L','MB_PED_R','MB_PED_L','MB_VL_R','MB_VL_L','MB_ML_R','MB_ML_L',
                  'SMP_R','SMP_L','SIP_R','SLP_L','SLP_R','SIP_L',
                  'LH_R','LH_L',                  
                  'CRE_R','CRE_L','ICL_R','ICL_L','SCL_R','SCL_L','IB_R','IB_L','ATL_R','ATL_L',
                  'EB','PB','NO','FB',
                  'BU_R','BU_L','LAL_R','LAL_L','GA_R','GA_L',
                  'GOR_R','GOR_L','EPA_R','EPA_L','VES_R','VES_L','SPS_R','SPS_L','IPS_R','IPS_L',
                  'AMMC_R','AMMC_L','SAD','FLA_R','FLA_L','PRW','CAN_R','CAN_L',
                  'GNG','']

In [197]:
Tozip=range(len(SmallRegionsSorted))
SmallRegionsDic=dict(zip(SmallRegionsSorted,Tozip))

In [198]:
LargerRegion=[LargerRegionsDic[CompMainName[i]] for i in range(S[3])]

In [199]:
LargerRegionInd={ 'OL':1,'VLNP':2,'VMNP':3,'AL':4,'MB':5,'LH':6,'SNP':7,'CX':8,'LX':9,'INP':10,'PENP':11,'GNG':12,'':13}

In [200]:
LargerRegionI=np.array([LargerRegionInd[LargerRegion[i]] for i in range(S[3])])

In [201]:
SmallRegion=np.array([SmallRegionsDic[CompMainName[i]] for i in range(S[3])])

In [202]:
NewOrder=np.argsort(SmallRegion)

In [203]:
SmallRegion[NewOrder]


Out[203]:
array([ 0,  0,  0,  0,  0,  0,  1,  1,  1,  2,  2,  3,  4,  5,  5,  5,  5,
        7, 13, 14, 17, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
       20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21,
       21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
       21, 21, 21, 23, 24, 24, 24, 27, 28, 28, 28, 29, 31, 31, 31, 32, 32,
       34, 35, 36, 38, 41, 43, 43, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45,
       45, 46, 47, 47, 47, 47, 47, 47, 47, 47, 48, 48, 48, 48, 50, 51, 54,
       58, 58, 59, 62, 64, 64, 64, 65, 65, 65, 66, 67, 67, 67, 70, 70, 70,
       70, 70, 71, 71, 71, 71, 71, 72, 72, 72, 73, 73, 74, 74])

Plot all components together


In [204]:
if S[2]>5:
    Final_map=np.zeros([S[0],S[1],5,3])
    Fmaps=np.zeros([S[0],S[1],5,3])
else:
    Final_map=np.zeros([S[0],S[1],3]) 
    Fmaps=np.zeros([S[0],S[1],3])    
C=np.zeros([S[3],3])

In [244]:
C1=np.zeros([6,3])
C1[0][:]=(1,0,0)
C1[1][:]=(0,1,0)
C1[2][:]=(0,0,1)
C1[3][:]=(0.8,0.8,0)
C1[4][:]=(0,1,1)
C1[5][:]=(1,0,1)
S1=DT.shape

In [218]:
GoodICo=Good_ICs[NewOrder]
D2o=D2[:,:,:,NewOrder]
LargerRegionIo=LargerRegionI[NewOrder]
Ind=np.array(range(S[3]))
Indexo=Ind[NewOrder]
DTo=DT[:,NewOrder]


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-218-957f6a94f3ae> in <module>()
      5 Indexo=Ind[NewOrder]
      6 DTo=DT[:,NewOrder]
----> 7 CompMainNameo=CompMainName[NewOrder]

TypeError: only integer arrays with one element can be converted to an index

In [207]:
C=np.zeros((S[3],3))
i=0
for j in range(S[3]):  
    if LargerRegionIo[j]<12 and GoodICo[j]:
        C[j,:]=C1[i%6][:]
        for k in range(3):           
            M=np.max(np.squeeze(np.reshape(D2o[:,:,:,j],S[0]*S[1]*5)))
            Fmaps[:,:,:,k]=0.6*D2o[:,:,:,j]*C[j,k]/M
        Final_map=Final_map+Fmaps
        #print(Indexo[j])
        i=i+1


24
81
85
38
77
4
69
21
36
83
42
35
7
84
70
10
14
113
11
28
51
72
97
68
50
63

In [301]:
pylab.rcParams['figure.figsize'] = (15, 6)
C2=np.zeros(3)

Df=np.zeros([S[0],S[1],5,3]) 
  
for i in range(3):
    Df[:,:,:,i]=Final_map[:,:,:,i]+Dmean/16
    Df=Df/(np.max(np.max(Df)))
if S[2]>5:
    N=Nstack
else:
    N=S[2]
for i in range(N):
    #if Good_ICs[j]:
        plt.subplot(1,N,i+1)
        plt.imshow(Dmean[:,:,i],cmap=plt.cm.gray)
        plt.imshow(Df[:,:,i,:],cmap=my_cmap,interpolation='none')
        frame1 = plt.gca()
        frame1.axes.get_xaxis().set_visible(False)
        frame1.axes.get_yaxis().set_visible(False)
plt.tight_layout(pad=0,w_pad=0,h_pad=0)



In [217]:
pylab.rcParams['figure.figsize'] = (10, 15)
h=0.5
i=0

for j in range(S[3]):
    if GoodICo[j]:
        plt.plot(Time_fluoICA,(DTo[:,j]+h*i),color=C[j,:]) 
        i=i+1
plt.xlim([np.min(Time_fluoICA),np.max(Time_fluoICA)])
plt.ylim([-0.5,h*i])
frame1 = plt.gca()
frame1.axes.get_yaxis().set_visible(False)
plt.show()



In [297]:
k=0
J=np.zeros(len(GoodICo[GoodICo==1]))
for j in range(len(GoodICo)):
    if GoodICo[j]:
        print(k)
        print([CompMainName[Indexo[j]]])
        J[k]=j
        k=k+1


0
['ME_L']
1
['ME_L']
2
['ME_L']
3
['ME_L']
4
['ME_R']
5
['ME_R']
6
['LO_R']
7
['LO_R']
8
['LO_L']
9
['LOP_R']
10
['AL_R']
11
['AL_L']
12
['MB_CA_R']
13
['MB_CA_R']
14
['MB_CA_L']
15
['MB_CA_L']
16
['MB_CA_L']
17
['SMP_R']
18
['LH_R']
19
['LH_L']
20
['IB_L']
21
['PB']
22
['PB']
23
['NO']
24
['NO']
25
['SPS_R']

In [299]:
Sets=[range(10),range(10,12),range(12,17),range(17,20),20,range(21,23),range(23,25),25]

In [1]:
pylab.rcParams['figure.figsize'] = (12, 6)

for i in range(len(Sets)):
    
    Final_map2=np.zeros([S[0],S[1],3]) 
    Fmaps2=np.zeros([S[0],S[1],3]) 
    Final_map3=np.zeros([S[0],S[1],5,3]) 
    Fmaps3=np.zeros([S[0],S[1],5,3])     
     
    if type(Sets[i])==list:
        for j in np.array(Sets[i]):
            C=np.zeros((S[3],3))
            C[j,:]=C1[j%6][:]
            
            for k in range(3):           
                M=np.max(np.squeeze(np.reshape(D2o[:,:,:,J[j]],S[0]*S[1]*5)))
                Fmaps2[:,:,k]=0.9*np.mean(D2o[:,:,:,J[j]],2)*C[j,k]/M
                M=np.max(np.squeeze(np.reshape(D2o[:,:,:,J[j]],S[0]*S[1],5)))
                Fmaps3[:,:,:,k]=0.9*D2o[:,:,:,J[j]]*C[j,k]/M                
            Final_map2=Final_map2+Fmaps2
            Final_map3=Final_map3+Fmaps3            
                
    else:
        j=Sets[i]
        C[j,:]=C1[j%6][:]
        for k in range(3):           
            M=np.max(np.squeeze(np.reshape(D2o[:,:,:,J[j]],S[0]*S[1]*5)))
            Fmaps2[:,:,k]=0.8*np.mean(D2o[:,:,:,J[j]],2)*C[j,k]/M
        Final_map2=Final_map2+Fmaps2
                
    Df=np.zeros([S[0],S[1],3]) 
  
    for l in range(3):
        Df[:,:,l]=Final_map2[:,:,l]+np.mean(Dmean,2)/16
    MM=np.max(np.max(Df))

    Rotated=ndimage.rotate(Df[:,:,:]/MM,-90)
    a=plt.imshow(Rotated,cmap=my_cmap,interpolation='none')
    frame1 = plt.gca()
    frame1.axes.get_xaxis().set_visible(False)
    frame1.axes.get_yaxis().set_visible(False)

    plt.show()


---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-1-721c891f5728> in <module>()
----> 1 pylab.rcParams['figure.figsize'] = (12, 6)
      2 
      3 for i in range(len(Sets)):
      4 
      5     Final_map2=np.zeros([S[0],S[1],3])

NameError: name 'pylab' is not defined

In [ ]: