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; %% color map as gradient of particular color Ncolors=64; % number of colors % starting values hsv_s=rgb2hsv([1,0,0]); hue_f = hsv_s(1); sat_f = hsv_s(2); val_f = hsv_s(3); % stop values hue_s = hue_f; sat_s = 0; val_s = 1; hue=linspace(hue_s,hue_f, Ncolors); sat=linspace(sat_s,sat_f, Ncolors); val=linspace(val_s,val_f, Ncolors); cmap = hsv2rgb([hue', sat', val']); colormap( cmap ); %% 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