-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfig5.m
68 lines (51 loc) · 1.62 KB
/
fig5.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
% Generating Figure 5 from Henriksen, Cumming, & Read (2016).
% Tuning curves for the different cells.
% Note: This takes a while to run.
function fig5(N)
if nargin < 1
N = 500;
end
bootstrap_mode = 0;
run_parallel = 1;
dx_to_sx = @(x)(0.023 + abs(x)*0.41);
dx = 0.03;
bem = BEMunit('dx',dx);
bem.deg_per_pixel = 0.03/2;
bem.Nx = 292*2; bem.Ny=292*2;
bem.outputNL = @(x)(x.^2);
bem = bem.update();
mother_bem = bem;
m_sx = mother_bem.subunits(1).rf_params.left.sx;
rds = RDS();
rds.Nx = bem.Nx; rds.Ny = bem.Ny;
dxs = [-0.48,-0.03,0.03,0.48];
stim_dxs = [-68:4:-12,-10:1:10,12:4:68];
tcs = zeros(length(dxs),length(stim_dxs));
for k = 1:length(dxs);
bem = mother_bem;
bem.dx = dxs(k);
bem = bem.rescale(dx_to_sx(dxs(k))/m_sx);
for j = 1:length(stim_dxs);
rds.dx = stim_dxs(j);
if bootstrap_mode && ~N
bem = bem.load_bootstrap(rds);
end
tcs(k,j) = mean(bem.simulate_spatial(rds,N,bootstrap_mode,run_parallel));
end
end
fig=figure(); hold on;
red=[0.8,0.1,0.1];
green=[0.1,0.8,0.1];
cols = {red,green,green,red};
ls={'-','-','--','--'}';
for j = 1:length(dxs);
plot(stim_dxs*bem.deg_per_pixel,tcs(j,:)./max(tcs(j,:)),'linewidth',3,...
'linestyle',ls{j},'color',cols{j});
end
xlabel('Disparity (deg)','fontsize',16);
ylabel('Normalized response','fontsize',16);
xlim([-1,1]);
ylim([0,1]);
set_plot_params(fig)
savefig(fig,'fig5.fig')
end