forked from cvzoya/saliency
-
Notifications
You must be signed in to change notification settings - Fork 3
/
get_metrics.m
76 lines (54 loc) · 3.09 KB
/
get_metrics.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
function [] = get_metrics(dataset, filenames_noext_cell, input_folder, output_folder, methods, params_folder )
%dataset = dataset name [string]
%filenames_noex_cell: image filenames cell [i*string, without extension]
%input_folder: input of GT and smaps
%output_folder: output of results
%methods: saliency methods names [m*string, cell of strings]
%params_folder: struct of folder and file paths
% smaps_folder: saliency maps (prediction) [string, 'smaps']
% smap_extension: either 'png','jpg','jpeg'...
% dmaps_folder: fixation density maps (GT) [string, 'dmaps']
% dmap_extension: either 'png','jpg','jpeg'...
% bmaps_folder: fixation binary maps (GT) [string, 'bmaps']
% bmap_extension: either 'png','jpg','jpeg'...
% mmaps_folder: window mask maps (GT) [string, 'bmaps']
% mmap_extension: either 'png','jpg','jpeg'...
% scanpaths_folder: fixation raw data (GT) [string, 'scanpaths']
% scanpath_extension: to be read, 'mat'...
%delete(gcp);
%parpool('local',2);
%% GET METRICS
for m=1:length(methods) %saliency method % parfor m=1:length(methods) %saliency method
%% GET FOLDER LISTS
params_folder.scanpaths_subfolder = [input_folder '/' params_folder.scanpaths_folder '/' dataset ];
params_folder.images_subfolder = [input_folder '/' params_folder.images_folder '/' dataset ];
params_folder.bmaps_subfolder = [input_folder '/' params_folder.bmaps_folder '/' dataset ];
params_folder.dmaps_subfolder = [input_folder '/' params_folder.dmaps_folder '/' dataset ];
params_folder.baseline_subfolder = [input_folder '/' params_folder.baseline_folder '/' dataset ];
params_folder.fbaseline_subfolder = [input_folder '/' params_folder.fbaseline_folder '/' dataset ];
params_folder.mmaps_subfolder = [input_folder '/' params_folder.mmaps_folder '/' dataset ];
params_folder.smaps_subfolder = [input_folder '/' params_folder.smaps_folder '/' dataset '/' methods{m}];
params_folder.scanpaths_predicted_subfolder = [params_folder.smaps_subfolder '/scanpath'];
%% SELECT METRICS
selected_metrics; %n_metrics_all, n_metrics_standard, n_metrics_pairwise, n_metrics_gazewise
%% SELECT TRIALS (MAX OF 100 for shuffled metrics)
get_trials_idx;
%% GET METRICS DESCRIPTIONS
get_metrics_info;
%% SEE IF METRICS WERE ALREADY CALCULATED
get_missing_metrics;
%% COMPUTE METRICS
disp(['method: ' methods{m} '#' int2str(m) '/' int2str(length(methods))]);
%% COMPUTE METRICS GROUPWISE
compute_metrics_groupwise;
% %% COMPUTE METRICS PAIRWISE
% compute_metrics_pairwise;
%% COMPUTE METRICS GAZEWISE
% compute_metrics_gazewise_single;
compute_metrics_gazewise;
%% DO NOT SAVE RESULTS IF THERE IS NAN FOR ALL METRICS
metrics_check;
%% SAVE RESULT FILES
metrics_save;
end
end