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
|
function plot_beams_and_faces_figure(border_limits, img, faces, fig_handle)
%% plot faces and beams images
% border_limits has coordinates of left bottom and right top coners
xlb=border_limits(1);
ylb=border_limits(2);
xrt=border_limits(3);
yrt=border_limits(4);
[Ny,Nx]=size(img);
xc=linspace(xlb,xrt, Nx);
yc=linspace(ylb,yrt, Ny);
figure(fig_handle);
%% dummy plot just to put axis in the proper directions
plot(xlb,ylb,'.', xrt,yrt, '.');
hold on;
indx_ne_zero = (img != 0);
indx_eq_zero = (img == 0);
%% intensity to log scale
img( indx_ne_zero ) = log10( img(indx_ne_zero) );
% make sure that the places with no beams get smallest image value
smallest_intensity = min(min(img(indx_ne_zero)));
largest_intensity = max(max(img(indx_ne_zero)));
img( indx_eq_zero ) = smallest_intensity-(largest_intensity-smallest_intensity)*.4;
%% colormap
Ncolors=64;
R=linspace(0.3,1.0, Ncolors);
G=R*0;
B=R*0;
% no beams will be white
R(1)=1; G(1)=1; B(1)=1;
colormap([R',G',B']);
%% plot ray images
imagesc(xc,yc, img); colorbar;
hold on;
%% plot all faces
Nf=size(faces)(2); % number of faces
for i=1:Nf
hold on;
t=linspace(0,1,100);
xf=faces{i}.vertex1(1) + (faces{i}.vertex2(1)-faces{i}.vertex1(1))*t;
yf=faces{i}.vertex1(2) + (faces{i}.vertex2(2)-faces{i}.vertex1(2))*t;
plot(xf,yf, 'k-');
end
axis('equal');
hold off;
end
|