PeriEventTimeHistogram_Spike.m 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. function [PETHspike]=PeriEventTimeHistogram_Spike(TrialNumber, thisCLST, Time, RasterInfo)
  2. rowSpike=length(thisCLST.Timestamp);
  3. PETHspike.Choice=zeros(TrialNumber.Trial,1);
  4. for j=1:TrialNumber.Trial
  5. h=1;
  6. for i=1:rowSpike
  7. if(thisCLST.Timestamp(i)>=Time.Choice(j,1)-RasterInfo.Left)&&(thisCLST.Timestamp(i)<Time.Choice(j,1)+RasterInfo.Right)
  8. PETHspike.Choice(j,h)=thisCLST.Timestamp(i);
  9. PETHspike.Choice_tagging(i)=1; % 180402 tagging spikes in the raster plot.
  10. h=h+1;
  11. end
  12. end
  13. end
  14. %%
  15. [Row_Spk_First,Col_Spk_First]=size(PETHspike.Choice);
  16. for j=1:Row_Spk_First
  17. for i=1:Col_Spk_First
  18. if (PETHspike.Choice(j,i)==0)
  19. PETHspike.Choice(j,i)=NaN;
  20. end
  21. end
  22. end
  23. for j=1:Row_Spk_First
  24. for i=1:Col_Spk_First
  25. PETHspike.Choice(j,i)=PETHspike.Choice(j,i)-Time.Choice(j,1);
  26. end
  27. end
  28. PETHspike.Return=zeros(TrialNumber.Trial,1);
  29. for j=1:TrialNumber.Trial
  30. h=1;
  31. for i=1:rowSpike
  32. if(thisCLST.Timestamp(i)>=Time.ReturnEntry(j,1)-RasterInfo.Left)&&(thisCLST.Timestamp(i)<Time.ReturnEntry(j,1)+RasterInfo.Right)
  33. PETHspike.Return(j,h)=thisCLST.Timestamp(i);
  34. PETHspike.Return_tagging(i)=1; % 180402 tagging spikes in the raster plot.
  35. h=h+1;
  36. end
  37. end
  38. end
  39. %%
  40. [Row_Spk_First,Col_Spk_First]=size(PETHspike.Return);
  41. for j=1:Row_Spk_First
  42. for i=1:Col_Spk_First
  43. if (PETHspike.Return(j,i)==0)
  44. PETHspike.Return(j,i)=NaN;
  45. end
  46. end
  47. end
  48. for j=1:Row_Spk_First
  49. for i=1:Col_Spk_First
  50. PETHspike.Return(j,i)=PETHspike.Return(j,i)-Time.ReturnEntry(j,1);
  51. end
  52. end
  53. end
  54. % Block 1 ~ 4
  55. % for i = 1:Row_Spk_First
  56. % if i <= TrialNumber.Odd(1)
  57. % for j=1:Col_Spk_First
  58. % if ~isnan(Alt_Raster_Spk_FirstRoute_10(i,j)) && Alt_Raster_Spk_FirstRoute_10(i,j)>-RasterInfo.RasterLeft*RasterResolution && Alt_Raster_Spk_FirstRoute_10(i,j)<RasterRight*RasterResolution
  59. % if Alt_Raster_Spk_FirstRoute_10(i,j)<0
  60. % Raster_First_Binning(1,(RasterInfo.RasterLeft*RasterResolution-fix(Alt_Raster_Spk_FirstRoute_10(i,j))*(-1)))=Raster_First_Binning(1,RasterInfo.RasterLeft*RasterResolution-(fix(Alt_Raster_Spk_FirstRoute_10(i,j))*(-1)))+1;
  61. % elseif Alt_Raster_Spk_FirstRoute_10(i,j)>=0
  62. % Raster_First_Binning(1,((RasterInfo.RasterLeft*RasterResolution+1)+fix(Alt_Raster_Spk_FirstRoute_10(i,j))))=Raster_First_Binning(1,(RasterInfo.RasterLeft*RasterResolution+1)+(fix(Alt_Raster_Spk_FirstRoute_10(i,j))))+1;
  63. % end
  64. % end
  65. % end
  66. % elseif ~sum(i==RewardOmissionSecond)&& i>block(2)/2 && i<=block(3)/2
  67. % for j=1:Col_Spk_First
  68. % if ~isnan(Alt_Raster_Spk_FirstRoute_10(i,j)) && Alt_Raster_Spk_FirstRoute_10(i,j)>-RasterInfo.RasterLeft*RasterResolution && Alt_Raster_Spk_FirstRoute_10(i,j)<RasterRight*RasterResolution
  69. % if Alt_Raster_Spk_FirstRoute_10(i,j)<0
  70. % Raster_First_Binning(2,(RasterInfo.RasterLeft*RasterResolution-fix(Alt_Raster_Spk_FirstRoute_10(i,j))*(-1)))=Raster_First_Binning(2,RasterInfo.RasterLeft*RasterResolution-(fix(Alt_Raster_Spk_FirstRoute_10(i,j))*(-1)))+1;
  71. % elseif Alt_Raster_Spk_FirstRoute_10(i,j)>=0
  72. % Raster_First_Binning(2,((RasterInfo.RasterLeft*RasterResolution+1)+fix(Alt_Raster_Spk_FirstRoute_10(i,j))))=Raster_First_Binning(2,(RasterInfo.RasterLeft*RasterResolution+1)+(fix(Alt_Raster_Spk_FirstRoute_10(i,j))))+1;
  73. % end
  74. % end
  75. % end
  76. % elseif ~sum(i==RewardOmissionSecond)&& i>block(3)/2 && i<=block(4)/2
  77. % for j=1:Col_Spk_First
  78. % if ~isnan(Alt_Raster_Spk_FirstRoute_10(i,j)) && Alt_Raster_Spk_FirstRoute_10(i,j)>-RasterInfo.RasterLeft*RasterResolution && Alt_Raster_Spk_FirstRoute_10(i,j)<RasterRight*RasterResolution
  79. % if Alt_Raster_Spk_FirstRoute_10(i,j)<0
  80. % Raster_First_Binning(3,(RasterInfo.RasterLeft*RasterResolution-fix(Alt_Raster_Spk_FirstRoute_10(i,j))*(-1)))=Raster_First_Binning(3,RasterInfo.RasterLeft*RasterResolution-(fix(Alt_Raster_Spk_FirstRoute_10(i,j))*(-1)))+1;
  81. % elseif Alt_Raster_Spk_FirstRoute_10(i,j)>=0
  82. % Raster_First_Binning(3,((RasterInfo.RasterLeft*RasterResolution+1)+fix(Alt_Raster_Spk_FirstRoute_10(i,j))))=Raster_First_Binning(3,(RasterInfo.RasterLeft*RasterResolution+1)+(fix(Alt_Raster_Spk_FirstRoute_10(i,j))))+1;
  83. % end
  84. % end
  85. % end
  86. % elseif ~sum(i==RewardOmissionSecond)&& i>block(4)/2 && i<=block(5)/2
  87. % for j=1:Col_Spk_First
  88. % if ~isnan(Alt_Raster_Spk_FirstRoute_10(i,j)) && Alt_Raster_Spk_FirstRoute_10(i,j)>-RasterInfo.RasterLeft*RasterResolution && Alt_Raster_Spk_FirstRoute_10(i,j)<RasterRight*RasterResolution
  89. % if Alt_Raster_Spk_FirstRoute_10(i,j)<0
  90. % Raster_First_Binning(4,(RasterInfo.RasterLeft*RasterResolution-fix(Alt_Raster_Spk_FirstRoute_10(i,j))*(-1)))=Raster_First_Binning(4,RasterInfo.RasterLeft*RasterResolution-(fix(Alt_Raster_Spk_FirstRoute_10(i,j))*(-1)))+1;
  91. % elseif Alt_Raster_Spk_FirstRoute_10(i,j)>=0
  92. % Raster_First_Binning(4,((RasterInfo.RasterLeft*RasterResolution+1)+fix(Alt_Raster_Spk_FirstRoute_10(i,j))))=Raster_First_Binning(4,(RasterInfo.RasterLeft*RasterResolution+1)+(fix(Alt_Raster_Spk_FirstRoute_10(i,j))))+1;
  93. % end
  94. % end
  95. % end
  96. % end