-
Notifications
You must be signed in to change notification settings - Fork 4
/
rd_analyzeTemporalFields.m
67 lines (50 loc) · 1.71 KB
/
rd_analyzeTemporalFields.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
% rd_analyzeTemporalFields.m
subject = 'rdPilot1_t05_s20';
runs = 1:4;
nRuns = numel(runs);
for iRun = 1:nRuns
run = runs(iRun);
dataFile = dir(sprintf('data/%s_run%02d*', subject, run));
load(sprintf('data/%s', dataFile.name))
accData(:,iRun) = results.accMean;
% results separated by target present/absent
totals = results.totals;
accPAData(:,1,iRun) = squeeze(mean(totals.all(1:2:end,8,:)));
accPAData(:,2,iRun) = squeeze(mean(totals.all(2:2:end,8,:)));
end
soas = expt.p.soas;
accMean = mean(accData,2);
accSte = std(accData,0,2)./sqrt(nRuns);
accPAMean = mean(accPAData,3);
accPASte = std(accPAData,0,3)./sqrt(nRuns);
[dprime, criterion] = ccr_dprime(accPAMean(:,1), 1-accPAMean(:,2), 'yesno');
ylims = [0.3 1];
figure
hold on
% plot(soas(1:end-1), accData(1:end-1,:))
errorbar(soas(1:end-1), accMean(1:end-1), accSte(1:end-1), '.-k')
errorbar(soas(end), accMean(end), accSte(end), '.-k')
xlabel('target-surround soa')
ylabel('accuracy')
title([subject ' runs ' num2str(runs)])
ylim(ylims)
figure
hold on
errorbar(repmat(soas(1:end-1)',1,2), accPAMean(1:end-1,:), accPASte(1:end-1,:), '.-')
errorbar(soas(end), accPAMean(end,1), accPASte(end,1), '.-b')
errorbar(soas(end), accPAMean(end,2), accPASte(end,2), '.-g')
xlabel('target-surround soa')
ylabel('accuracy')
title([subject ' runs ' num2str(runs)])
legend('target present','target absent','location','best')
ylim(ylims)
figure
hold on
plot(soas(1:end-1), dprime(1:end-1), '.-k')
plot(soas(end), dprime(end), '.-k')
plot(soas(1:end-1), criterion(1:end-1), '.-b')
plot(soas(end), criterion(end), '.-b')
xlabel('target-surround soa')
ylabel('signal detection')
title([subject ' runs ' num2str(runs)])
legend('dprime','criterion')