GetAllCellsPSTHnorm.m 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. function [CellStruct, AllCellsPSTHnormHit] = GetAllCellsPSTHnorm(CellStruct,preStim,postStim, binsize)
  2. % Get PSTHs from RS cells with at least 5 trials
  3. binNum = (postStim + preStim)/binsize;
  4. CellNum = length(CellStruct);
  5. AllCellsPSTHnormHit = zeros(binNum,CellNum);
  6. for i = 1:length(CellStruct)
  7. if CellStruct(i).CellType == 1 %Only RS cells
  8. SpikeTimes = CellStruct(i).SpikeTimes;
  9. % Add mix trials
  10. if length(CellStruct(i).Mixes) ~=0
  11. Mixes = CellStruct(i).Mixes;
  12. Mixes(:,3) = 10;
  13. Microstims = [CellStruct(i).Microstims; Mixes];
  14. else
  15. Microstims = [CellStruct(i).Microstims];
  16. end
  17. % Hit trials
  18. HitIdx = find(Microstims(:,2) <= 1.2 & Microstims (:,2) > 0.1);
  19. HitTimes = Microstims(HitIdx,1);
  20. if length(HitTimes) > 4 % at least 5 trials
  21. [psthNormHit,numTrials, edges] = RasterPSTH (HitTimes, SpikeTimes, preStim, postStim, binsize,'mkplt', false );
  22. CellStruct(i).psthNorm = psthNormHit;
  23. CellStruct(i).HitNum = numTrials;
  24. AllCellsPSTHnormHit(:,i) = psthNormHit;
  25. end
  26. % % Miss trials
  27. % MissIdx = find(Microstims(:,2) ==-0.1);
  28. % MissTimes = Microstims(MissIdx,1);
  29. % if length(MissTimes) > 4 % at least 5 trials
  30. % [psthNormMiss,numTrials, edges] = RasterPSTH (MissTimes, SpikeTimes, preStim, postStim, binsize,'mkplt', false );
  31. % AllCellsPSTHnormMiss(:,i) = psthNormMiss;
  32. % end
  33. end
  34. end