123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- function [thisCLST, Time, TrialNumber] = GetSpikeOutboundFlag(thisCLST, TrialNumber, Time)
- rowSpike=length(thisCLST.t);
- thisCLST.Flag_OutboundSpk_Track=zeros(rowSpike,1);
- thisCLST.Flag_OutboundSpk=zeros(rowSpike,1);
- Time.latency=zeros(1,TrialNumber.Trial);
- for j=1:TrialNumber.Trial
- if j==1
- Time.latency(j)=Time.Choice(j,1)-Time.Entry(j,1);
- for i=1:rowSpike
- if (thisCLST.t(i)>=(Time.Entry(j,1)))&&(thisCLST.t(i)<Time.Choice(j,1))&&(thisCLST.SmoothingVelocity(i) > 5)
- thisCLST.Flag_OutboundSpk_Track(i)=j;
- end
- end
- elseif (j~=1) %
- for i=1:rowSpike
- if (thisCLST.t(i)>=(Time.Choice(j-1,1)+Time.LeaveRewardZone(j-1,1)))&&(thisCLST.t(i)<Time.Choice(j,1))&&(thisCLST.SmoothingVelocity(i) > 5)
- thisCLST.Flag_OutboundSpk_Track(i)=j;
- end
- end
- end
- end
- %
- for j=1:TrialNumber.Trial
- if j==1
- for i=1:rowSpike
- if (thisCLST.t(i)>=Time.Entry(j,1))&&(thisCLST.t(i)<Time.Choice(j,1))&&(thisCLST.SmoothingVelocity(i) > 5)
- thisCLST.Flag_OutboundSpk(i)=j;
- end
- end
- elseif (j~=1) %
- for i=1:rowSpike
- if (thisCLST.t(i)>=Time.Choice(j-1,1))&&(thisCLST.t(i)<Time.Choice(j,1))&&(thisCLST.SmoothingVelocity(i) > 5)
- thisCLST.Flag_OutboundSpk(i)=j;
- end
- end
- end
- end
- %% Individual
- thisCLST.Flag_OutboundSpk_Individual_Track=cell(1,TrialNumber.Trial);
- thisCLST.Flag_OutboundSpk_Individual=cell(1,TrialNumber.Trial);
- for j=1:TrialNumber.Trial
- thisCLST.Flag_OutboundSpk_Individual_Track{1,j}=logical(thisCLST.Flag_OutboundSpk_Track==j);
- thisCLST.Flag_OutboundSpk_Individual{1,j}=logical(thisCLST.Flag_OutboundSpk==j);
- end
- %% Total
- thisCLST.Flag_OutboundSpk_Odd_Total_Track{1,1}=zeros(rowSpike,1);
- thisCLST.Flag_OutboundSpk_Odd_Total{1,1}=zeros(rowSpike,1);
- % thisCLST.Flag_VM_OutboundSpk_Odd_Total{1,1}=zeros(row,1);
- for i=1:2:TrialNumber.Trial
- if ~sum(i==TrialNumber.VOID)
- thisCLST.Flag_OutboundSpk_Odd_Total_Track{1,1}=thisCLST.Flag_OutboundSpk_Odd_Total_Track{1,1}|thisCLST.Flag_OutboundSpk_Individual_Track{1,i};
- thisCLST.Flag_OutboundSpk_Odd_Total{1,1}=thisCLST.Flag_OutboundSpk_Odd_Total{1,1}|thisCLST.Flag_OutboundSpk_Individual{1,i};
- % if ~sum(i==TrialNumber.VL)
- % thisCLST.Flag_VM_OutboundSpk_Odd_Total{1,1}=thisCLST.Flag_OutboundSpk_Odd_Total{1,1}|thisCLST.Flag_OutboundSpk_Individual{1,i};
- % end
- end
- end
- thisCLST.Flag_OutboundSpk_Even_Total_Track{1,1}=zeros(rowSpike,1);
- thisCLST.Flag_OutboundSpk_Even_Total{1,1}=zeros(rowSpike,1);
- % thisCLST.Flag_VM_OutboundSpk_Even_Total{1,1}=zeros(row,1);
- for i=2:2:TrialNumber.Trial
- if ~sum(i==TrialNumber.VOID)
- thisCLST.Flag_OutboundSpk_Even_Total_Track{1,1}=thisCLST.Flag_OutboundSpk_Even_Total_Track{1,1}|thisCLST.Flag_OutboundSpk_Individual_Track{1,i};
- thisCLST.Flag_OutboundSpk_Even_Total{1,1}=thisCLST.Flag_OutboundSpk_Even_Total{1,1}|thisCLST.Flag_OutboundSpk_Individual{1,i};
- % if ~sum(i==TrialNumber.VL)
- % thisCLST.Flag_VM_OutboundSpk_Even_Total{1,1}=thisCLST.Flag_OutboundSpk_Even_Total{1,1}|thisCLST.Flag_OutboundSpk_Individual{1,i};
- % end
- end
- end
- %% B1
- thisCLST.Flag_OutboundSpk_Odd_B1_Track{1,1}=zeros(rowSpike,1);
- thisCLST.Flag_OutboundSpk_Odd_B1{1,1}=zeros(rowSpike,1);
- % thisCLST.Flag_VM_OutboundSpk_Odd_B1{1,1}=zeros(row,1);
- for i=TrialNumber.Block(1)+1:2:TrialNumber.Block(2)
- if ~sum(i==TrialNumber.VOID)
- thisCLST.Flag_OutboundSpk_Odd_B1_Track{1,1}=thisCLST.Flag_OutboundSpk_Odd_B1_Track{1,1}|thisCLST.Flag_OutboundSpk_Individual_Track{1,i};
- thisCLST.Flag_OutboundSpk_Odd_B1{1,1}=thisCLST.Flag_OutboundSpk_Odd_B1{1,1}|thisCLST.Flag_OutboundSpk_Individual{1,i};
- % if ~sum(i==TrialNumber.VL)
- % thisCLST.Flag_VM_OutboundSpk_Odd_B1{1,1}=thisCLST.Flag_OutboundSpk_Odd_B1{1,1}|thisCLST.Flag_OutboundSpk_Individual{1,i};
- % end
- end
- end
- thisCLST.Flag_OutboundSpk_Even_B1_Track{1,1}=zeros(rowSpike,1);
- thisCLST.Flag_OutboundSpk_Even_B1{1,1}=zeros(rowSpike,1);
- % thisCLST.Flag_VM_OutboundSpk_Even_B1{1,1}=zeros(row,1);
- for i=TrialNumber.Block(1)+2:2:TrialNumber.Block(2)
- if ~sum(i==TrialNumber.VOID)
- thisCLST.Flag_OutboundSpk_Even_B1_Track{1,1}=thisCLST.Flag_OutboundSpk_Even_B1_Track{1,1}|thisCLST.Flag_OutboundSpk_Individual_Track{1,i};
- thisCLST.Flag_OutboundSpk_Even_B1{1,1}=thisCLST.Flag_OutboundSpk_Even_B1{1,1}|thisCLST.Flag_OutboundSpk_Individual{1,i};
- % if ~sum(i==TrialNumber.VL)
- % thisCLST.Flag_VM_OutboundSpk_Even_B1{1,1}=thisCLST.Flag_OutboundSpk_Even_B1{1,1}|thisCLST.Flag_OutboundSpk_Individual{1,i};
- % end
- end
- end
- %% B2
- thisCLST.Flag_OutboundSpk_Odd_B2_Track{1,1}=zeros(rowSpike,1);
- thisCLST.Flag_OutboundSpk_Odd_B2{1,1}=zeros(rowSpike,1);
- % thisCLST.Flag_VM_OutboundSpk_Odd_B2{1,1}=zeros(row,1);
- for i=TrialNumber.Block(2)+1:2:TrialNumber.Block(3)
- if ~sum(i==TrialNumber.VOID)
- thisCLST.Flag_OutboundSpk_Odd_B2_Track{1,1}=thisCLST.Flag_OutboundSpk_Odd_B2_Track{1,1}|thisCLST.Flag_OutboundSpk_Individual_Track{1,i};
- thisCLST.Flag_OutboundSpk_Odd_B2{1,1}=thisCLST.Flag_OutboundSpk_Odd_B2{1,1}|thisCLST.Flag_OutboundSpk_Individual{1,i};
- % if ~sum(i==TrialNumber.VL)
- % thisCLST.Flag_VM_OutboundSpk_Odd_B2{1,1}=thisCLST.Flag_OutboundSpk_Odd_B2{1,1}|thisCLST.Flag_OutboundSpk_Individual{1,i};
- % end
- end
- end
- thisCLST.Flag_OutboundSpk_Even_B2_Track{1,1}=zeros(rowSpike,1);
- thisCLST.Flag_OutboundSpk_Even_B2{1,1}=zeros(rowSpike,1);
- % thisCLST.Flag_VM_OutboundSpk_Even_B2{1,1}=zeros(row,1);
- for i=TrialNumber.Block(2)+2:2:TrialNumber.Block(3)
- if ~sum(i==TrialNumber.VOID)
- thisCLST.Flag_OutboundSpk_Even_B2_Track{1,1}=thisCLST.Flag_OutboundSpk_Even_B2_Track{1,1}|thisCLST.Flag_OutboundSpk_Individual_Track{1,i};
- thisCLST.Flag_OutboundSpk_Even_B2{1,1}=thisCLST.Flag_OutboundSpk_Even_B2{1,1}|thisCLST.Flag_OutboundSpk_Individual{1,i};
- % if ~sum(i==TrialNumber.VL)
- % thisCLST.Flag_VM_OutboundSpk_Even_B2{1,1}=thisCLST.Flag_OutboundSpk_Even_B2{1,1}|thisCLST.Flag_OutboundSpk_Individual{1,i};
- % end
- end
- end
- %% B3
- thisCLST.Flag_OutboundSpk_Odd_B3_Track{1,1}=zeros(rowSpike,1);
- thisCLST.Flag_OutboundSpk_Odd_B3{1,1}=zeros(rowSpike,1);
- % thisCLST.Flag_VM_OutboundSpk_Odd_B3{1,1}=zeros(row,1);
- for i=TrialNumber.Block(3)+1:2:TrialNumber.Block(4)
- if ~sum(i==TrialNumber.VOID)
- thisCLST.Flag_OutboundSpk_Odd_B3_Track{1,1}=thisCLST.Flag_OutboundSpk_Odd_B3_Track{1,1}|thisCLST.Flag_OutboundSpk_Individual_Track{1,i};
- thisCLST.Flag_OutboundSpk_Odd_B3{1,1}=thisCLST.Flag_OutboundSpk_Odd_B3{1,1}|thisCLST.Flag_OutboundSpk_Individual{1,i};
- % if ~sum(i==TrialNumber.VL)
- % thisCLST.Flag_VM_OutboundSpk_Odd_B3{1,1}=thisCLST.Flag_OutboundSpk_Odd_B3{1,1}|thisCLST.Flag_OutboundSpk_Individual{1,i};
- % end
- end
- end
- thisCLST.Flag_OutboundSpk_Even_B3_Track{1,1}=zeros(rowSpike,1);
- thisCLST.Flag_OutboundSpk_Even_B3{1,1}=zeros(rowSpike,1);
- % thisCLST.Flag_VM_OutboundSpk_Even_B3{1,1}=zeros(row,1);
- for i=TrialNumber.Block(3)+2:2:TrialNumber.Block(4)
- if ~sum(i==TrialNumber.VOID)
- thisCLST.Flag_OutboundSpk_Even_B3_Track{1,1}=thisCLST.Flag_OutboundSpk_Even_B3_Track{1,1}|thisCLST.Flag_OutboundSpk_Individual_Track{1,i};
- thisCLST.Flag_OutboundSpk_Even_B3{1,1}=thisCLST.Flag_OutboundSpk_Even_B3{1,1}|thisCLST.Flag_OutboundSpk_Individual{1,i};
- % if ~sum(i==TrialNumber.VL)
- % thisCLST.Flag_VM_OutboundSpk_Even_B3{1,1}=thisCLST.Flag_OutboundSpk_Even_B3{1,1}|thisCLST.Flag_OutboundSpk_Individual{1,i};
- % end
- end
- end
- %% B4
- thisCLST.Flag_OutboundSpk_Odd_B4_Track{1,1}=zeros(rowSpike,1);
- thisCLST.Flag_OutboundSpk_Odd_B4{1,1}=zeros(rowSpike,1);
- % thisCLST.Flag_VM_OutboundSpk_Odd_B4{1,1}=zeros(row,1);
- for i=TrialNumber.Block(4)+1:2:TrialNumber.Block(5)
- if ~sum(i==TrialNumber.VOID)
- thisCLST.Flag_OutboundSpk_Odd_B4_Track{1,1}=thisCLST.Flag_OutboundSpk_Odd_B4_Track{1,1}|thisCLST.Flag_OutboundSpk_Individual_Track{1,i};
- thisCLST.Flag_OutboundSpk_Odd_B4{1,1}=thisCLST.Flag_OutboundSpk_Odd_B4{1,1}|thisCLST.Flag_OutboundSpk_Individual{1,i};
- % if ~sum(i==TrialNumber.VL)
- % thisCLST.Flag_VM_OutboundSpk_Odd_B4{1,1}=thisCLST.Flag_OutboundSpk_Odd_B4{1,1}|thisCLST.Flag_OutboundSpk_Individual{1,i};
- % end
- end
- end
- thisCLST.Flag_OutboundSpk_Even_B4_Track{1,1}=zeros(rowSpike,1);
- thisCLST.Flag_OutboundSpk_Even_B4{1,1}=zeros(rowSpike,1);
- % thisCLST.Flag_VM_OutboundSpk_Even_B4{1,1}=zeros(row,1);
- for i=TrialNumber.Block(4)+2:2:TrialNumber.Block(5)
- if ~sum(i==TrialNumber.VOID)
- thisCLST.Flag_OutboundSpk_Even_B4_Track{1,1}=thisCLST.Flag_OutboundSpk_Even_B4_Track{1,1}|thisCLST.Flag_OutboundSpk_Individual_Track{1,i};
- thisCLST.Flag_OutboundSpk_Even_B4{1,1}=thisCLST.Flag_OutboundSpk_Even_B4{1,1}|thisCLST.Flag_OutboundSpk_Individual{1,i};
- % if ~sum(i==TrialNumber.VL)
- % thisCLST.Flag_VM_OutboundSpk_Even_B4{1,1}=thisCLST.Flag_OutboundSpk_Even_B4{1,1}|thisCLST.Flag_OutboundSpk_Individual{1,i};
- % end
- end
- end
|