SpatialRateMap_Related.m 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. %% Figure 2D-G
  2. % % Example of rate map making
  3. clear all
  4. load('Rat448-Main1-TT8-C2.mat')
  5. load('Rat448-Main1-TT8-C2_p2.mat')
  6. load('Rat448-Main1-PositionData.mat')
  7. XsizeOfVideo = 720;
  8. YsizeOfVideo = 480;
  9. samplingRate = 30;
  10. scaleForRateMap = 10;
  11. binXForRateMap = XsizeOfVideo / scaleForRateMap;
  12. binYForRateMap = YsizeOfVideo / scaleForRateMap;
  13. Alt_Rate_Odd_X_Range=[12 45]; Alt_Rate_Odd_Y_Range=[21 48];
  14. Alt_Rate_Even_X_Range=[14 48]; Alt_Rate_Even_Y_Range=[21 48];
  15. Alt_Rate_X_Range=[12 48]; Alt_Rate_Y_Range=[21 48];
  16. % % Rate map construction
  17. % Total rate map
  18. [Ratemap.occMat_Odd_Total, Ratemap.spkMat_Odd_Total, Ratemap.rawMat_Odd_Total, Ratemap.skaggsrateMat_Odd_Total] = abmFiringRateMap( ...
  19. [thisCLST.t(Spike.Odd_Total_Track), thisCLST.x(Spike.Odd_Total_Track), thisCLST.y(Spike.Odd_Total_Track)],...
  20. [Pos.t(Position.Odd_Total_Track), Pos.x(Position.Odd_Total_Track), Pos.y(Position.Odd_Total_Track)],...
  21. binYForRateMap, binXForRateMap, scaleForRateMap, samplingRate);
  22. % B1 rate map
  23. [Ratemap.occMat_Odd_B1, Ratemap.spkMat_Odd_B1, Ratemap.rawMat_Odd_B1, Ratemap.skaggsrateMat_Odd_B1] = abmFiringRateMap( ...
  24. [thisCLST.t(Spike.Odd_B1_Track), thisCLST.x(Spike.Odd_B1_Track), thisCLST.y(Spike.Odd_B1_Track)],...
  25. [Pos.t(Position.Odd_B1_Track), Pos.x(Position.Odd_B1_Track), Pos.y(Position.Odd_B1_Track)],...
  26. binYForRateMap, binXForRateMap, scaleForRateMap, samplingRate);
  27. % B2 rate map
  28. [Ratemap.occMat_Odd_B2, Ratemap.spkMat_Odd_B2, Ratemap.rawMat_Odd_B2, Ratemap.skaggsrateMat_Odd_B2] = abmFiringRateMap( ...
  29. [thisCLST.t(Spike.Odd_B2_Track), thisCLST.x(Spike.Odd_B2_Track), thisCLST.y(Spike.Odd_B2_Track)],...
  30. [Pos.t(Position.Odd_B2_Track), Pos.x(Position.Odd_B2_Track), Pos.y(Position.Odd_B2_Track)],...
  31. binYForRateMap, binXForRateMap, scaleForRateMap, samplingRate);
  32. % % Contour of occupancy map
  33. OVERALL=load('Rat448-Main1-TT8-C2_p2.mat', 'Ratemap');
  34. outer = OVERALL.Ratemap.skaggsrateMat_Odd_Total >= 0;
  35. Contour_Odd = bwconncomp(outer);
  36. Contour_Odd.Label = labelmatrix(Contour_Odd);
  37. FieldBoundary_Odd = (Contour_Odd.Label==1);
  38. % % Rate map plotting
  39. figure; hold on;
  40. i1=imagesc((Ratemap.skaggsrateMat_Odd_B1));
  41. minmaxColor=get(gca,'CLim');
  42. if minmaxColor(1) == -1 && minmaxColor(2) == 1; minmaxColor(2)=0.1; end
  43. Cmax(1)=minmaxColor(2);
  44. set(gca,'fontsize',10,'fontweight','bold')
  45. set(gca, 'YDir', 'rev', 'XLim', Alt_Rate_Odd_X_Range, 'YLim', Alt_Rate_Odd_Y_Range, 'FontSize', 9);
  46. colormap(jet);
  47. thisAlphaZ_RF_1stHalf = Ratemap.skaggsrateMat_Odd_B1;
  48. thisAlphaZ_RF_1stHalf(isnan(Ratemap.skaggsrateMat_Odd_B1)) = 0;
  49. thisAlphaZ_RF_1stHalf(~isnan(Ratemap.skaggsrateMat_Odd_B1)) = 1;
  50. alpha(thisAlphaZ_RF_1stHalf);axis off;
  51. hold on;
  52. [C,h]=contour(FieldBoundary_Odd,1);
  53. h.LineColor='k'; h.LineWidth=0.1;
  54. % % Spatial correlation between Block 1 and 2
  55. SpaCorr.Odd_B12 = GetSpatialCorrelation(Ratemap.skaggsrateMat_Odd_B1, Ratemap.skaggsrateMat_Odd_B2);
  56. % % Mean firing rate of block 1
  57. FiringRate.Average_Odd_B1 = GetFiringRate(Ratemap.skaggsrateMat_Odd_B1);
  58. % % Spatial information score
  59. InformationScore.Odd=GetSpaInfo(Ratemap.occMat_Odd_Total, Ratemap.skaggsrateMat_Odd_Total);
  60. % % Spatial informatio score's p-value
  61. Pos.Flag_Position_pvalue = Position.Odd_Total;
  62. thisCLST.Flag_Position_pvalue = Spike.Odd_Total;
  63. SpaInfo = InformationScore.Odd;
  64. InformationScore.pvalue_Odd = GetSpatialInfo_pvalue_ALT(thisCLST, Pos, SpaInfo);
  65. % % Place field size
  66. FieldSize_Odd = GetPlaceFieldSize(Ratemap.skaggsrateMat_Odd_Total);
  67. FieldSize_PhysicalSize_Odd=sum(sum(~isnan(Ratemap.skaggsrateMat_Odd_Total)));
  68. FieldSize_RelativeFieldSize_Odd=round(FieldSize_Odd/FieldSize_PhysicalSize_Odd*100,2);