0001 function testscript(pname,winlocdetrend,pftest,wintrig,movingwin,tapers,pad,fpass,err,fscorr)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034 if nargin < 1;
0035 error('Need path name for data');
0036 end;
0037 if nargin < 2;
0038 winlocdetrend=[2 1];
0039 end;
0040 if nargin < 3;
0041 pftest=0.001;
0042 end;
0043 if nargin < 4;
0044 wintrig=[1.5 1.5];
0045 end;
0046 if nargin < 5;
0047 movingwin=[0.5 0.05];
0048 end;
0049 if nargin < 6;
0050 tapers=[5 9];
0051 end;
0052 if nargin < 7;
0053 pad=2;
0054 end;
0055 if nargin < 8;
0056 fpass=[0 100];
0057 end;
0058 if nargin < 9;
0059 err=[1 0.05];
0060 end;
0061 if nargin < 10;
0062 fscorr=0;
0063 end;
0064
0065
0066
0067 [dc,Fs]=auread([pname 'lmem5321.lp200.ds.au']);
0068 [NT,C]=size(dc);
0069 eval(['load ' pname '\lmem5321_ev.mat']);
0070 eval(['load ' pname 'lmem5321.bev.mat']);
0071 cueon=tr_times+vt1;
0072 indx=find(status==1 & targ==5);
0073 E1=cueon(indx);
0074 indx=find(status==1 & targ==1);
0075 E2=cueon(indx);
0076
0077
0078
0079
0080
0081 display('Performing local detrending');
0082 dcld=locdetrend(dc(1:10000,:),Fs,winlocdetrend);
0083 figure;
0084 subplot(211);plot(dc(1:10000,1)); title('Original data'); ylim([-1 1]);hold on;
0085 subplot(212);plot(dcld(1:10000,1),'r'); ylim([-1 1]);title('Detrended data');
0086 dc=detrend(dc);
0087 pause
0088
0089 display('Performing Ftest for lines');
0090 figure;
0091 for c=1:C;
0092 figure(1);
0093 subplot(C,1,c);
0094 dtmp=dc(1:1000,c)+0.05*sin(2*pi*60*[1:1000]'/1000);
0095 ftestc(dtmp,tapers,Fs,fpass,pad,pftest);
0096 dtmplr=rmlinesc(dtmp,tapers, Fs, fpass, pad, pftest);
0097 [S1,f]=mtspectrumc(dtmp,tapers,pad,Fs,fpass);
0098 [S2,f]=mtspectrumc(dtmplr,tapers,pad,Fs,fpass);
0099 figure(2);
0100 subplot(C,1,c);
0101 plot(f,10*log10(S1),f,10*log10(S2));
0102 legend('original spectrum','spectrum with line removed');
0103 end;
0104 pause
0105
0106
0107
0108
0109 dctr1=createdatamatc(dc(:,1),E1(1:end-1),Fs,wintrig);
0110 dctr2=createdatamatc(dc(:,1),E2(1:end-1),Fs,wintrig);
0111 figure;
0112 subplot(211);
0113 [V1,t,Err] = evoked(dctr1,Fs,[],0.005); title('Preferred');
0114 subplot(212);
0115 [V2,t,Err] = evoked(dctr2,Fs,[],0.005); title('Anti-preferred');
0116 pause
0117
0118 trialave=1;
0119 display('Calculating triggered LFP spectra for preferred and anti-preferred directions');
0120 [S1,f,Serr1]=mtspectrumtrigc(dc(:,1),E1,wintrig,tapers,pad,Fs,fpass,err,trialave);
0121 [S2,f,Serr2]=mtspectrumtrigc(dc(:,1),E2,wintrig,tapers,pad,Fs,fpass,err,trialave);
0122 figure;
0123 plotsigdiff(S1',Serr1,S2',Serr2,'l',1,f);
0124 pause;
0125
0126 [S1,t,f,Serr1]=mtspecgramtrigc(detrend(dc(:,1)),E1,wintrig,movingwin,tapers,pad,Fs,fpass,err,trialave);
0127 [S2,t,f,Serr2]=mtspecgramtrigc(detrend(dc(:,1)),E2,wintrig,movingwin,tapers,pad,Fs,fpass,err,trialave);
0128 indx=find(f>15);
0129 figure;
0130 plotsigdiff(S1(:,indx),Serr1(:,:,indx),S2(:,indx),Serr2(:,:,indx),'l',t,f(indx));
0131 pause
0132
0133 display('Calculating coherence between LFP channels');
0134 dctr11=createdatamatc(dc(:,2),E1(1:end-1),Fs,wintrig);
0135 [C,phi,f,confC,phierr]=coherencyc(dctr1,dctr11,tapers,pad,Fs,fpass,err,trialave);
0136 figure;
0137 plotsig(C',confC,1,f); title('Coherence between two LFP channels where significant');pause
0138 display('Done with LFP analyses');
0139
0140 display('Starting analysis of spiking activity');
0141
0142
0143
0144 spnum=unique(ev(:,3));
0145 dsp(1:length(spnum))=struct('times',[]);
0146 maxtime=0;
0147 for n=1:length(spnum);
0148 sp=spnum(n);
0149 indx=find(ev(:,3)==sp);
0150 dsp(n).times=[dsp(n).times; ev(indx,4)];
0151 maxtime=max(maxtime, max(dsp(n).times));
0152 end;
0153 t=[0:1/Fs:maxtime];
0154
0155
0156
0157 [dN,tt]=binspikes(dsp,Fs,t);
0158
0159
0160
0161 figure;
0162 for m=1:length(spnum);
0163 dsptr=createdatamatpt(dsp(m),E1,Fs,wintrig);
0164 subplot(length(spnum),2,2*m-1);
0165 [R,t,E]=psth(dsptr);
0166 pause
0167 dsptr=createdatamatpt(dsp(m),E2,Fs,wintrig);
0168 subplot(length(spnum),2,2*m);
0169 [R,t,E] = psth(dsptr);
0170 pause
0171 end;
0172
0173
0174
0175 n=input('Give me a cell number to analyse\n');
0176
0177 display(['Calculating triggered spectra for cell ' num2str(n)]);
0178
0179 dsptr1=createdatamatpt(dsp(n),E1(1:end-1),Fs,wintrig);
0180 dNtr1=createdatamatpb(dN(:,n),E1(1:end-1),Fs,wintrig,tt);
0181 dsptr2=createdatamatpt(dsp(n),E2(1:end-1),Fs,wintrig);
0182 dNtr2=createdatamatpb(dN(:,n),E2(1:end-1),Fs,wintrig,tt);
0183
0184
0185
0186 [S1,f,R1,Serr1]=mtspectrumtrigpt(dsp(n),E1,wintrig,tapers,pad,Fs,fpass,err,trialave);
0187 [S2,f,R2,Serr2]=mtspectrumtrigpt(dsp(n),E2,wintrig,tapers,pad,Fs,fpass,err,trialave);
0188 [S3,f3,R3]=mtspectrumtrigpb(dN(:,n),E1,wintrig,tapers,pad,Fs,fpass,[],trialave);
0189 [S4,f4,R4]=mtspectrumtrigpb(dN(:,n),E2,wintrig,tapers,pad,Fs,fpass,[],trialave);
0190 figure;
0191 plotsigdiff(S1',Serr1,S2',Serr2,'l',1,f);
0192 subplot(311);hold on; line(get(gca,'xlim'),10*log10(R1),'Color','r');
0193 plot(f3,10*log10(S3),'k-.');
0194 subplot(312);hold on;line(get(gca,'xlim'),10*log10(R2),'Color','r');
0195 plot(f4,10*log10(S4),'k-.');
0196 pause
0197
0198 [S1,t,f,R1,Serr1]=mtspecgramtrigpt(dsp(n),E1,wintrig,movingwin,tapers,pad,Fs,fpass,err,trialave);
0199 [S2,t,f,R2,Serr2]=mtspecgramtrigpt(dsp(n),E2,wintrig,movingwin,tapers,pad,Fs,fpass,err,trialave);
0200 figure;
0201 subplot(211); imagesc(t,f,10*log10(S1)'); axis xy; colorbar;xlabel('Time s'); ylabel('Frequency Hz'); title('spikes: preferred direction');
0202 subplot(212); imagesc(t,f,10*log10(S2)'); axis xy; colorbar;xlabel('Time s'); ylabel('Frequency Hz'); title('spikes:anti-Preferred');
0203 pause
0204
0205
0206
0207
0208
0209
0210
0211
0212 display('Done with spike analyses');
0213 pause;
0214
0215 display('Calculating spike-field coherence');
0216 [Cp,phi,f,confCp,phierr]=coherencycpt(dctr1,dsptr1,tapers,pad,Fs,fpass,err,trialave);
0217 [Ca,phi,f,confCa,phierr]=coherencycpt(dctr2,dsptr2,tapers,pad,Fs,fpass,err,trialave);
0218 subplot(211);plot(f,Cp);line(get(gca,'xlim'),[confCp,confCp],'Color','r');xlabel('Frequency Hz'); ylabel('|C|');
0219 title('Preferred direction trials');
0220 subplot(212);plot(f,Ca);line(get(gca,'xlim'),[confCa,confCa],'Color','r');xlabel('Frequency Hz'); ylabel('|C|');
0221 title('Anti-Preferred direction trials');
0222
0223 [Cp,phi,t,f,confCp,phierr]=cohgramcpt(dctr1,dsptr1,movingwin,tapers,pad,Fs,fpass,err,trialave);
0224 [Ca,phi,t,f,confCa,phierr]=cohgramcpt(dctr2,dsptr2,movingwin,tapers,pad,Fs,fpass,err,trialave);
0225
0226
0227
0228
0229
0230
0231
0232
0233
0234
0235
0236
0237