plotting_gaze_heatmap_v4.m 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. clear all;
  2. mainfolder=''
  3. %% Loading data of interest
  4. % load([mainfolder gaze_heatmaps/stim1.mat'])
  5. %load([mainfolder 'gaze_heatmaps/stim2.mat'])
  6. %load([mainfolder 'gaze_heatmaps/delay1_stim1.mat'])
  7. %load([mainfolder 'gaze_heatmaps/delay1_stim2.mat'])
  8. %load([mainfolder 'gaze_heatmaps/delay2_stim1.mat'])
  9. load([mainfolder 'gaze_heatmaps/delay2_stim2.mat'])
  10. %% Options
  11. ave_across_object=0; % averaging acrros object? yes= 1; no =0;
  12. plot_avg_point=0;
  13. c=[0 0.00025]; %colorbars limits
  14. %% Preparing for plots
  15. hhmap_grand=squeeze(nanmean(squeeze(nanmean(hhmap,1)),2));
  16. avg_coord_rot_grand=squeeze(nanmean(nanmean(avg_coord_rot,1),3));
  17. %%
  18. allobjectc={'01 lamppost','02 gazebo','01 nightstand',...
  19. '02 table','01 lighthouse','02 radio',...
  20. '02 crown','01 outdoor chair','01 candelabra'};
  21. figure('Position',([200 900 800 780]))
  22. counter=1;
  23. pixtovd=0.0217; %pixel to visual degrees
  24. windowsize=400; %pixel
  25. colormap('hot')
  26. for i=1:9 % per object
  27. subplot(3,3,counter)
  28. ctr=round(size(hhmap_grand,2)/2,-1)
  29. ctrw=round((windowsize)/2)
  30. p1=(ctr-ctrw)
  31. p2=ctr+ctrw
  32. if p1==0
  33. p1=1
  34. end
  35. if ave_across_object
  36. toplot=squeeze(nanmean(hhmap_grand(:,p1:p2,p1:p2),1));
  37. else
  38. toplot=squeeze((hhmap_grand(i,p1:p2,p1:p2)));
  39. end
  40. toplot_gausfil = imgaussfilt(toplot,2.5);
  41. sizegaz=size(toplot_gausfil);
  42. j=getitemimg(i,sizegaz,2);
  43. imagesc(j);
  44. hold on;
  45. if plot_avg_point
  46. plot(avg_coord_rot_grand(i,1),avg_coord_rot_grand(i,2), 'y.','MarkerSize',20);
  47. hold on
  48. end
  49. imagesc(toplot_gausfil,'AlphaData', .6,c)
  50. hold on
  51. plot([ctrw],[ctrw], 'k.','MarkerSize',20);
  52. hold off
  53. % for visual degrees
  54. vd=round((-ctrw:1:ctrw).*0.0217,3);
  55. for ci=1:5
  56. n=[-4 -2 0 2 4];
  57. [val,idx(ci)]=min(abs(vd-n(ci)));
  58. end
  59. % minVal=vd(idx)
  60. space=windowsize/3;
  61. set(gca,'XTick',(idx), 'XTickLabel',n,'YTick', (idx), 'YTickLabel',n,'FontName', 'Arial','FontSize',16 )
  62. % for pixels
  63. % space=windowsize/5;
  64. % set(gca,'XTick',([1:space:windowsize windowsize]), 'XTickLabel', (-ctrw:space:ctrw),'YTick', ([1:space:windowsize windowsize]), 'YTickLabel', (-ctrw:space:ctrw))
  65. %
  66. counter=counter+1;
  67. ylabel('° vis. angle');
  68. xlabel('° vis. angle');
  69. end