-
Notifications
You must be signed in to change notification settings - Fork 0
/
plot_metrics.m
96 lines (88 loc) · 5.02 KB
/
plot_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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
clear all
clc
% load timecost timecost
% method={'DCHWT','FPDE','GTF','FusionGAN','Structure-Aware','MWGAN'};
% method={'GTF', 'LatLrr', 'WLS', 'DenseFuse', 'VggML', 'FusionGAN', 'IFCNN', 'ResNet-ZCA', 'PMGI', 'STMFusionNet1'};
method = {'GTF', 'MDLatLrr', 'DenseFuse', 'NestFuse', 'FusionGAN', 'GANMcC', 'IFCNN', 'PMGI', 'U2Fusion','STDFusionNet'};
% rows = ['A', 'B', 'C', 'D' , 'E', 'F', 'G', 'H', 'I', 'J'];
begin_col='A';
end_col='J';
imagepairs=1:end_col-begin_col+1;
% metric={'EN','SF','SD','PSNR','MSE','MI','VIF','AG','CC','SCD','Qabf','Nabf','SSIM','MS_SSIM','FMI_pixel','FMI_dct', 'FMI_w'};
metric={'EN','SF','MI','VIF'};
Sheet='Sheet4';
begin_row=[2,14,26,38,50,62];
end_row=begin_row+length(method)-1;
RES=zeros(length(method),length(imagepairs),length(metric));
sl=1;sp=8;
% file_name = 'metric\Index_TNO.xlsx';
file_name = 'metric\Index_RoadScene_sort.xlsx';
for i = 1:length(metric)
method_name = cell2mat(metric(i));
[metric_, method_] = xlsread(file_name, method_name);
color=[34/255 139/255 34/255 ;
1 215/255 0 ;
1 0 1 ;
0 1 1 ;
0.5 0 0.5 ;
0.5 1 0 ;
1 1 0 ;
1 0 0.5 ;
1 0.5 0 ;
1 0 0 ];
linestyle={'-*', '-o', '-x', '-s', '-d', '-hexagram', '-^', '-v', '-+', '-p'};
marker={'*','o','x','s','d','hexagram','^', 'v', '+','p'};
metric_ = metric_';
metric_ = sort(metric_,2);
imagepairs = 1:size(metric_, 2);
x=imagepairs;
for j=1:length(method_)
f(j)=plot(x,metric_(j,:),linestyle{j},'LineWidth',sl,'Color',color(j,:),'MarkerEdgeColor',color(j,:),'MarkerSize',sp);
hold on
mean_val(j,i)=roundn(mean(metric_(j,:)),-4);
leg{j}=strcat(method{j},': ',num2str(mean_val(j,i)));
end
hold off
dy=max(max(metric_(:,:)))-min(min(metric_(:,:)));
ymin=roundn(min(min(metric_(:,:)))-0.05*dy,-2);
ymax=roundn(max(max(metric_(:,:)))+0.05*dy,-2);
axis([0 length(x)+10 ymin ymax]);
title(char(metric(i)),'FontName','Arial','fontsize',17,'FontWeight','bold');
% L=legend(leg);
% set(L,'FontName','Arial','Fontsize',15, 'Location','North');
xlabel('Image pairs','FontName','Arial', 'fontsize',17);
ylabel('Values of the metric','FontName','Arial', 'fontsize',17);
set(gca,'FontName','Arial','FontSize',15);
hold on
%ťĎß
x2=length(imagepairs)/2+1;
% x0=[[1,x2,1,x2,1,x2];[1+1,x2+1,1+1,x2+1,1+1,x2+1]];
% y0=[[max(max(RES(:,:,i)))+0.39*dy,max(max(RES(:,:,i)))+0.39*dy,max(max(RES(:,:,i)))+0.26*dy,max(max(RES(:,:,i)))+0.26*dy,max(max(RES(:,:,i)))+0.13*dy,max(max(RES(:,:,i)))+0.13*dy];
% [max(max(RES(:,:,i)))+0.39*dy,max(max(RES(:,:,i)))+0.39*dy,max(max(RES(:,:,i)))+0.26*dy,max(max(RES(:,:,i)))+0.26*dy,max(max(RES(:,:,i)))+0.13*dy,max(max(RES(:,:,i)))+0.13*dy]];
% x0=[[1,x2,1,x2,1,x2,1,x2, 1, x2];[1+1,x2+1,1+1,x2+1,1+1,x2+1,1+1,x2+1, 1+1, x2+1]];
% y0=[[max(max(metric_(:,:)))+0.53*dy,max(max(metric_(:,:)))+0.53*dy, max(max(metric_(:,:)))+0.43*dy,max(max(metric_(:,:)))+0.43*dy,max(max(metric_(:,:)))+0.33*dy,max(max(metric_(:,:)))+0.33*dy,max(max(metric_(:,:)))+0.23*dy,max(max(metric_(:,:)))+0.23*dy,max(max(metric_(:,:)))+0.13*dy,max(max(metric_(:,:)))+0.13*dy];
% [max(max(metric_(:,:)))+0.53*dy,max(max(metric_(:,:)))+0.53*dy, max(max(metric_(:,:)))+0.43*dy,max(max(metric_(:,:)))+0.43*dy,max(max(metric_(:,:)))+0.33*dy,max(max(metric_(:,:)))+0.33*dy,max(max(metric_(:,:)))+0.23*dy,max(max(metric_(:,:)))+0.23*dy,max(max(metric_(:,:)))+0.13*dy,max(max(metric_(:,:)))+0.13*dy]];
x0=[[21, 21, 21, 21, 21, 21, 21, 21, 21, 21];[23, 23, 23, 23, 23, 23, 23, 23, 23, 23]];
y0=[[min(min(metric_(:,:))) + 0.93*dy, min(min(metric_(:,:))) + 0.83*dy, min(min(metric_(:,:))) + 0.73*dy, min(min(metric_(:,:))) + 0.63*dy, min(min(metric_(:,:))) + 0.53*dy, min(min(metric_(:,:))) + 0.43*dy, min(min(metric_(:,:))) + 0.33*dy, min(min(metric_(:,:))) + 0.23*dy, min(min(metric_(:,:))) + 0.13*dy, min(min(metric_(:,:))) + 0.03*dy];
[min(min(metric_(:,:))) + 0.93*dy, min(min(metric_(:,:))) + 0.83*dy, min(min(metric_(:,:))) + 0.73*dy, min(min(metric_(:,:))) + 0.63*dy, min(min(metric_(:,:))) + 0.53*dy, min(min(metric_(:,:))) + 0.43*dy, min(min(metric_(:,:))) + 0.33*dy, min(min(metric_(:,:))) + 0.23*dy, min(min(metric_(:,:))) + 0.13*dy, min(min(metric_(:,:))) + 0.03*dy]];
h0=plot(x0,y0);
hold on
%ťľă
x1=[x0(1,:)+1;x0(1,:)+1];
y1=y0;
h1=plot(x1,y1);
%legend
tx=x0(1,:)+2.2;
ty=y0(1,:);
for k=1:length(method_)
set(h0(k),'LineStyle','-','LineWidth',sl,'Color',color(k,:));
set(h1(k),'Marker',marker{k},'MarkerEdgeColor',color(k,:),'MarkerSize',sp);
text(tx(k),ty(k),leg{k},'fontsize',12);
end
save_dir = 'Metric_RoadScene';
if exist(save_dir,'dir')==0
mkdir(save_dir);
end
saveas(gcf, strcat(save_dir, '/', method_name), 'epsc')
hold off
end