Mercurial > hg > camir-aes2014
diff toolboxes/MIRtoolbox1.3.2/MIRToolbox/@mirsimatrix/display.m @ 0:e9a9cd732c1e tip
first hg version after svn
author | wolffd |
---|---|
date | Tue, 10 Feb 2015 15:05:51 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolboxes/MIRtoolbox1.3.2/MIRToolbox/@mirsimatrix/display.m Tue Feb 10 15:05:51 2015 +0000 @@ -0,0 +1,136 @@ +function display(m) +% DISSIMATRIX/DISPLAY display of a dissimilarity matrix +disp(' '); +d = get(m,'Data'); +nam = get(m,'Name'); +fp = get(m,'FramePos'); +cha = get(m,'Channels'); +t = get(m,'Title'); +tp = get(m,'TrackPos'); +tv = get(m,'TrackVal'); +pp = get(m,'PeakPos'); +g = get(m,'Graph'); +b = get(m,'Branch'); +for i = 1:length(d) + if iscell(d{i}) + d{i} = d{i}{1}; + end + l = size(d{1},3); % Number of channels + il = (1-0.15)/l; + figure + for k = 1:l % For each channel + if l>1 + subplot('Position',[0.1 (k-1)*il+0.1 0.89 il-0.02]) + end + fpi = cell2mat(fp{i}); + if size(fpi,1) == 2 + fpi = (fpi(1,:,:,:)+fpi(2,:,:,:))/2; + end + if strcmp(m.view,'l') + h = imagesc(fpi,fpi(1:size(d{i},1))-fpi(1),d{i}(:,:,k)); + else + h = imagesc(fpi,fpi,d{i}(:,:,k)); + end + if not(isempty(g)) + hold on + pi = cell(1,size(g{i}{1},2)); + for j = 1:size(g{i}{1},2) + pi{j} = sort(pp{i}{1}{j}); + end + for j = 1:size(g{i}{1},2) + for h = 1:length(g{i}{1}{1,j,l}) + next = g{i}{1}{1,j,l}{h}; + if length(next)>1 + for n = 1:size(next,1) + plot([fpi(j) fpi(next(n,1))],... + [fpi(pi{j}(h)) - fpi(1), ... + fpi(pi{next(n,1)}(next(n,2))) - fpi(1)],... + 'k','LineWidth',1) + %plot([fpi(j) fpi(next(n,1))],... + % [fpi(pi{j}(h)) - fpi(1), ... + % fpi(pi{next(n,1)}(next(n,2))) - fpi(1)],... + % 'w+','MarkerSize',10) + plot([fpi(j) fpi(next(n,1))],... + [fpi(pi{j}(h)) - fpi(1), ... + fpi(pi{next(n,1)}(next(n,2))) - fpi(1)],... + 'kx','MarkerSize',10) + end + end + end + end + bi = b{i}{1}{1}; + for j = 1:size(bi,1)-1 + plot([fpi(bi(j,1)) fpi(bi(j+1,1))],... + [fpi(pi{bi(j,1)}(bi(j,2))) - fpi(1), ... + fpi(pi{bi(j+1,1)}(bi(j+1,2))) - fpi(1)],... + 'w','LineWidth',1.5) + plot([fpi(bi(j,1)) fpi(bi(j+1,1))],... + [fpi(pi{bi(j,1)}(bi(j,2))) - fpi(1), ... + fpi(pi{bi(j+1,1)}(bi(j+1,2))) - fpi(1)],... + 'w+','MarkerSize',15) + plot([fpi(bi(j,1)) fpi(bi(j+1,1))],... + [fpi(pi{bi(j,1)}(bi(j,2))) - fpi(1), ... + fpi(pi{bi(j+1,1)}(bi(j+1,2))) - fpi(1)],... + 'kx','MarkerSize',15) + end + elseif not(isempty(tp)) && not(isempty(tp{i})) + hold on + for k = 1:size(tp{i}{1}{1},1) + prej = 0; + for j = 1:size(tp{i}{1}{1},2) + if tv{i}{1}{1}(k,j) + if prej% && not(isempty(tp(k,j))) + plot([fpi(prej) fpi(j)],... + [fpi(tp{i}{1}{1}(k,prej)) - fpi(1) ... + fpi(tp{i}{1}{1}(k,j)) - fpi(1)],... + 'k','LineWidth',1) + plot([fpi(prej) fpi(j)],... + [fpi(tp{i}{1}{1}(k,prej)) - fpi(1) ... + fpi(tp{i}{1}{1}(k,j)) - fpi(1)],... + 'w+','MarkerSize',10) + plot([fpi(prej) fpi(j)],... + [fpi(tp{i}{1}{1}(k,prej)) - fpi(1) ... + fpi(tp{i}{1}{1}(k,j)) - fpi(1)],... + 'kx','MarkerSize',10) + end + prej = j; + end + end + end + elseif not(isempty(pp)) && not(isempty(pp{i})) + hold on + for k = 1:length(pp{i}{1}) + for j = 1:length(pp{i}{1}{k}) + plot(fpi(k),fpi(pp{i}{1}{k}(j)) - fpi(1), ... + 'w+','MarkerSize',10) + end + end + end + set(gca,'YDir','normal') + if k == l + title(t) + end + if k == 1 + xlabel('temporal location of frame centers (in s.)') + end + if k == ceil(l/2) + if strcmp(m.view,'h') + ylabel('relative distance between compared frames (in s.)') + elseif strcmp(m.view,'l') + ylabel('temporal lag (in s.)') + else + ylabel('temporal location of frame centers (in s.)') + end + end + if l > 1 + pos = get(gca,'Position'); + hfig = axes('Position',[pos(1)-.05 pos(2)+pos(4)/2 .01 .01],... + 'Visible','off'); + text(0,0,num2str(cha{i}(k)),'FontSize',12,'Color','r') + end + end + fig = get(0,'CurrentFigure'); + disp(['The ',t,' related to file ',nam{i},' is displayed in Figure ',num2str(fig),'.']); +end +disp(' '); +drawnow \ No newline at end of file