12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- %% Figure 2D-G
- % % Example of rate map making
- clear all
- load('Rat448-Main1-TT8-C2.mat')
- load('Rat448-Main1-TT8-C2_p2.mat')
- load('Rat448-Main1-PositionData.mat')
- XsizeOfVideo = 720;
- YsizeOfVideo = 480;
- samplingRate = 30;
- scaleForRateMap = 10;
- binXForRateMap = XsizeOfVideo / scaleForRateMap;
- binYForRateMap = YsizeOfVideo / scaleForRateMap;
- Alt_Rate_Odd_X_Range=[12 45]; Alt_Rate_Odd_Y_Range=[21 48];
- Alt_Rate_Even_X_Range=[14 48]; Alt_Rate_Even_Y_Range=[21 48];
- Alt_Rate_X_Range=[12 48]; Alt_Rate_Y_Range=[21 48];
- % % Rate map construction
- % Total rate map
- [Ratemap.occMat_Odd_Total, Ratemap.spkMat_Odd_Total, Ratemap.rawMat_Odd_Total, Ratemap.skaggsrateMat_Odd_Total] = abmFiringRateMap( ...
- [thisCLST.t(Spike.Odd_Total_Track), thisCLST.x(Spike.Odd_Total_Track), thisCLST.y(Spike.Odd_Total_Track)],...
- [Pos.t(Position.Odd_Total_Track), Pos.x(Position.Odd_Total_Track), Pos.y(Position.Odd_Total_Track)],...
- binYForRateMap, binXForRateMap, scaleForRateMap, samplingRate);
- % B1 rate map
- [Ratemap.occMat_Odd_B1, Ratemap.spkMat_Odd_B1, Ratemap.rawMat_Odd_B1, Ratemap.skaggsrateMat_Odd_B1] = abmFiringRateMap( ...
- [thisCLST.t(Spike.Odd_B1_Track), thisCLST.x(Spike.Odd_B1_Track), thisCLST.y(Spike.Odd_B1_Track)],...
- [Pos.t(Position.Odd_B1_Track), Pos.x(Position.Odd_B1_Track), Pos.y(Position.Odd_B1_Track)],...
- binYForRateMap, binXForRateMap, scaleForRateMap, samplingRate);
- % B2 rate map
- [Ratemap.occMat_Odd_B2, Ratemap.spkMat_Odd_B2, Ratemap.rawMat_Odd_B2, Ratemap.skaggsrateMat_Odd_B2] = abmFiringRateMap( ...
- [thisCLST.t(Spike.Odd_B2_Track), thisCLST.x(Spike.Odd_B2_Track), thisCLST.y(Spike.Odd_B2_Track)],...
- [Pos.t(Position.Odd_B2_Track), Pos.x(Position.Odd_B2_Track), Pos.y(Position.Odd_B2_Track)],...
- binYForRateMap, binXForRateMap, scaleForRateMap, samplingRate);
- % % Contour of occupancy map
- OVERALL=load('Rat448-Main1-TT8-C2_p2.mat', 'Ratemap');
- outer = OVERALL.Ratemap.skaggsrateMat_Odd_Total >= 0;
- Contour_Odd = bwconncomp(outer);
- Contour_Odd.Label = labelmatrix(Contour_Odd);
- FieldBoundary_Odd = (Contour_Odd.Label==1);
- % % Rate map plotting
- figure; hold on;
- i1=imagesc((Ratemap.skaggsrateMat_Odd_B1));
- minmaxColor=get(gca,'CLim');
- if minmaxColor(1) == -1 && minmaxColor(2) == 1; minmaxColor(2)=0.1; end
- Cmax(1)=minmaxColor(2);
- set(gca,'fontsize',10,'fontweight','bold')
- set(gca, 'YDir', 'rev', 'XLim', Alt_Rate_Odd_X_Range, 'YLim', Alt_Rate_Odd_Y_Range, 'FontSize', 9);
- colormap(jet);
- thisAlphaZ_RF_1stHalf = Ratemap.skaggsrateMat_Odd_B1;
- thisAlphaZ_RF_1stHalf(isnan(Ratemap.skaggsrateMat_Odd_B1)) = 0;
- thisAlphaZ_RF_1stHalf(~isnan(Ratemap.skaggsrateMat_Odd_B1)) = 1;
- alpha(thisAlphaZ_RF_1stHalf);axis off;
- hold on;
- [C,h]=contour(FieldBoundary_Odd,1);
- h.LineColor='k'; h.LineWidth=0.1;
- % % Spatial correlation between Block 1 and 2
- SpaCorr.Odd_B12 = GetSpatialCorrelation(Ratemap.skaggsrateMat_Odd_B1, Ratemap.skaggsrateMat_Odd_B2);
- % % Mean firing rate of block 1
- FiringRate.Average_Odd_B1 = GetFiringRate(Ratemap.skaggsrateMat_Odd_B1);
- % % Spatial information score
- InformationScore.Odd=GetSpaInfo(Ratemap.occMat_Odd_Total, Ratemap.skaggsrateMat_Odd_Total);
- % % Spatial informatio score's p-value
- Pos.Flag_Position_pvalue = Position.Odd_Total;
- thisCLST.Flag_Position_pvalue = Spike.Odd_Total;
- SpaInfo = InformationScore.Odd;
- InformationScore.pvalue_Odd = GetSpatialInfo_pvalue_ALT(thisCLST, Pos, SpaInfo);
- % % Place field size
- FieldSize_Odd = GetPlaceFieldSize(Ratemap.skaggsrateMat_Odd_Total);
- FieldSize_PhysicalSize_Odd=sum(sum(~isnan(Ratemap.skaggsrateMat_Odd_Total)));
- FieldSize_RelativeFieldSize_Odd=round(FieldSize_Odd/FieldSize_PhysicalSize_Odd*100,2);
|