-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmakeMetricImages.m
More file actions
executable file
·95 lines (88 loc) · 3.01 KB
/
Copy pathmakeMetricImages.m
File metadata and controls
executable file
·95 lines (88 loc) · 3.01 KB
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
function [x, metric_normgrad, metric_laplacian, metric_histogram, ...
metric_variance] = makeMetricImages()
close all;
img0 = phantom();
y = 0;
x = -5:.1:5;
metric_normgrad = zeros(1,numel(x));
metric_laplacian = zeros(1,numel(x));
metric_histogram = zeros(1,numel(x));
metric_variance = zeros(1,numel(x));
%figure;
for i = 1:numel(x)
img1 = translateImg(img0,[0,x(i)]);
img2 = translateImg(img0,[0,2*x(i)]);
img3 = translateImg(img0,[0,3*x(i)]);
img4 = translateImg(img0,[0,x(i)/2]);
img5 = translateImg(img0,[0,x(i)/3]);
img6 = translateImg(img0,[0,x(i)/4]);
img7 = translateImg(img0,[0,x(i)/5]);
img8 = translateImg(img0,[0,x(i)/6]);
img = img0+img1+img2+img3+img4+img5+img6+img7+img8;
metric_normgrad(i) = normgrad(img);
metric_laplacian(i) = laplacian(img);
metric_histogram(i) = histogram(img);
metric_variance(i) = variance(img);
%clf;
%imshow(img,[]);
end
% lw = 2;
% fs = 16; % font size for labels
% ts = 14; % font size for tick marks
%
% figure;
% set(gca,'FontSize',ts)
% plot(x,metric_normgrad,'LineWidth',lw);
% xlabel('Image Shift (pixels)','FontSize',fs)
% ylabel('Normalized Gradient Squared','FontSize',fs)
% set(gca,'XTick',linspace(-5,5,3))
% L = get(gca,'YLim');
% set(gca,'YTick',linspace(L(1),L(2),3))
% set(gca,'XMinorTick','on','YMinorTick','on')
%
% figure;
% set(gca,'FontSize',ts)
% plot(x,metric_laplacian,'LineWidth',lw);
% xlabel('Image Shift (pixels)','FontSize',fs)
% ylabel('Laplacian','FontSize',fs)
% set(gca,'XTick',linspace(-5,5,3))
% L = get(gca,'YLim');
% set(gca,'YTick',linspace(L(1),L(2),3))
% set(gca,'XMinorTick','on','YMinorTick','on')
%
% figure;
% set(gca,'FontSize',ts)
% plot(x,metric_histogram,'LineWidth',lw);
% xlabel('Image Shift (pixels)','FontSize',fs)
% ylabel('Histogram Energy','FontSize',fs)
% set(gca,'XTick',linspace(-5,5,3))
% L = get(gca,'YLim');
% set(gca,'YTick',linspace(L(1),L(2),3))
% set(gca,'XMinorTick','on','YMinorTick','on')
%
% figure;
% set(gca,'FontSize',ts)
% plot(x,metric_variance,'LineWidth',lw);
% xlabel('Image Shift (pixels)','FontSize',fs)
% ylabel('Variance','FontSize',fs)
% set(gca,'XTick',linspace(-5,5,3))
% L = get(gca,'YLim');
% set(gca,'YTick',linspace(L(1),L(2),3))
% set(gca,'XMinorTick','on','YMinorTick','on')
end
function [out] = normgrad(img)
imgv = img(:);
out = sum((abs(conv([1;-1],imgv))./sum(abs(conv([1;-1],imgv)))).^2);
end
function [out] = laplacian(img)
out = sum(sum(abs(conv2([0,-1,0;-1,4,-1;0,-1,0],img))));
end
function [out] = histogram(img)
imgv = img(:);
count = hist(imgv);
out = sum(abs(count).^2);
end
function [out] = variance(img)
imgv = img(:);
out = sum(var(imgv));
end