-
Notifications
You must be signed in to change notification settings - Fork 1
/
ScriptAnalyzeCourtshipBowlData20130604.m
95 lines (79 loc) · 2.67 KB
/
ScriptAnalyzeCourtshipBowlData20130604.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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
%% set up path
addpath /groups/branson/home/bransonk/tracking/code/JCtrax/misc;
addpath /groups/branson/home/bransonk/tracking/code/JCtrax/filehandling;
addpath /groups/branson/home/bransonk/tracking/code/Ctrax/matlab/netlab;
addpath /groups/branson/home/bransonk/tracking/code/JCtrax/simplewing;
addpath /groups/branson/home/bransonk/behavioranalysis/code/Jdetect/Jdetect/perframe;
addpath /groups/branson/home/bransonk/behavioranalysis/code/Jdetect/Jdetect/perframe/compute_perframe_features;
expfile = '/groups/branson/bransonlab/projects/CourtshipBowls/CourtshipBowlAnalysis/expdirlists/expdirs_shelby_cbtest_20130715.txt';
%expfile = '/groups/branson/bransonlab/projects/CourtshipBowls/CourtshipBowlAnalysis/expdirlists/expdirs_cbtest_20121121.txt';
analysis_protocol = '20130731_shelby';
%% read in the experiment list
expdirs = ReadGroupedExperimentList(expfile);
%% auto checks
fns = fieldnames(expdirs);
issuccess = struct;
for i = 1:numel(fns),
fn = fns{i};
issuccess.(fn) = false(1,numel(expdirs.(fn)));
for j = 1:numel(expdirs.(fn)),
expdir = expdirs.(fn){j};
[success,msgs,iserror] = CourtshipBowlAutomaticChecks_Incoming(expdir,'analysis_protocol',analysis_protocol);
issuccess.(fn)(j) = success;
if ~success,
fprintf('\nAuto checks incoming failed for %s\n',expdir);
fprintf('%s\n',msgs{:});
end
end
end
%% detect arenas
fns = fieldnames(expdirs);
roidata = struct;
for i = 1:numel(fns),
fn = fns{i};
for j = 1:numel(expdirs.(fn)),
if ~issuccess.(fn)(j),
continue;
end
expdir = expdirs.(fn){j};
roidata.(fn){j} = CourtshipBowlDetectROIs(expdir,'analysis_protocol',analysis_protocol,'dofixbg',true);
end
end
%% track
fns = fieldnames(expdirs);
for i = 1:numel(fns),
fn = fns{i};
for j = 1:numel(expdirs.(fn)),
expdir = expdirs.(fn){j};
CourtshipBowlTrack(expdir,'analysis_protocol',analysis_protocol,'DEBUG',0);
end
end
%% per-frame features
fns = fieldnames(expdirs);
for i = 1:numel(fns),
fn = fns{i};
for j = 1:numel(expdirs.(fn)),
expdir = expdirs.(fn){j};
CourtshipBowlComputePerFrameFeatures(expdir,'analysis_protocol',analysis_protocol,'forcecompute',true);
end
end
%% results movie
fns = fieldnames(expdirs);
for i = 1:numel(fns),
fn = fns{i};
for j = 1:numel(expdirs.(fn)),
expdir = expdirs.(fn){j};
disp(expdir);
CourtshipBowlMakeResultsMovie(expdir,'analysis_protocol',analysis_protocol);
end
end
%% checks
fns = fieldnames(expdirs);
for i = 1:numel(fns),
fn = fns{i};
for j = 1:numel(expdirs.(fn)),
expdir = expdirs.(fn){j};
disp(expdir);
[success,msgs,iserror] = CourtshipBowlAutomaticChecks_Complete(expdir,'analysis_protocol',analysis_protocol);
end
end