annotate toolboxes/MIRtoolbox1.3.2/MIRToolbox/@mirsimatrix/display.m @ 0:cc4b1211e677 tip

initial commit to HG from Changeset: 646 (e263d8a21543) added further path and more save "camirversion.m"
author Daniel Wolff
date Fri, 19 Aug 2016 13:07:06 +0200
parents
children
rev   line source
Daniel@0 1 function display(m)
Daniel@0 2 % DISSIMATRIX/DISPLAY display of a dissimilarity matrix
Daniel@0 3 disp(' ');
Daniel@0 4 d = get(m,'Data');
Daniel@0 5 nam = get(m,'Name');
Daniel@0 6 fp = get(m,'FramePos');
Daniel@0 7 cha = get(m,'Channels');
Daniel@0 8 t = get(m,'Title');
Daniel@0 9 tp = get(m,'TrackPos');
Daniel@0 10 tv = get(m,'TrackVal');
Daniel@0 11 pp = get(m,'PeakPos');
Daniel@0 12 g = get(m,'Graph');
Daniel@0 13 b = get(m,'Branch');
Daniel@0 14 for i = 1:length(d)
Daniel@0 15 if iscell(d{i})
Daniel@0 16 d{i} = d{i}{1};
Daniel@0 17 end
Daniel@0 18 l = size(d{1},3); % Number of channels
Daniel@0 19 il = (1-0.15)/l;
Daniel@0 20 figure
Daniel@0 21 for k = 1:l % For each channel
Daniel@0 22 if l>1
Daniel@0 23 subplot('Position',[0.1 (k-1)*il+0.1 0.89 il-0.02])
Daniel@0 24 end
Daniel@0 25 fpi = cell2mat(fp{i});
Daniel@0 26 if size(fpi,1) == 2
Daniel@0 27 fpi = (fpi(1,:,:,:)+fpi(2,:,:,:))/2;
Daniel@0 28 end
Daniel@0 29 if strcmp(m.view,'l')
Daniel@0 30 h = imagesc(fpi,fpi(1:size(d{i},1))-fpi(1),d{i}(:,:,k));
Daniel@0 31 else
Daniel@0 32 h = imagesc(fpi,fpi,d{i}(:,:,k));
Daniel@0 33 end
Daniel@0 34 if not(isempty(g))
Daniel@0 35 hold on
Daniel@0 36 pi = cell(1,size(g{i}{1},2));
Daniel@0 37 for j = 1:size(g{i}{1},2)
Daniel@0 38 pi{j} = sort(pp{i}{1}{j});
Daniel@0 39 end
Daniel@0 40 for j = 1:size(g{i}{1},2)
Daniel@0 41 for h = 1:length(g{i}{1}{1,j,l})
Daniel@0 42 next = g{i}{1}{1,j,l}{h};
Daniel@0 43 if length(next)>1
Daniel@0 44 for n = 1:size(next,1)
Daniel@0 45 plot([fpi(j) fpi(next(n,1))],...
Daniel@0 46 [fpi(pi{j}(h)) - fpi(1), ...
Daniel@0 47 fpi(pi{next(n,1)}(next(n,2))) - fpi(1)],...
Daniel@0 48 'k','LineWidth',1)
Daniel@0 49 %plot([fpi(j) fpi(next(n,1))],...
Daniel@0 50 % [fpi(pi{j}(h)) - fpi(1), ...
Daniel@0 51 % fpi(pi{next(n,1)}(next(n,2))) - fpi(1)],...
Daniel@0 52 % 'w+','MarkerSize',10)
Daniel@0 53 plot([fpi(j) fpi(next(n,1))],...
Daniel@0 54 [fpi(pi{j}(h)) - fpi(1), ...
Daniel@0 55 fpi(pi{next(n,1)}(next(n,2))) - fpi(1)],...
Daniel@0 56 'kx','MarkerSize',10)
Daniel@0 57 end
Daniel@0 58 end
Daniel@0 59 end
Daniel@0 60 end
Daniel@0 61 bi = b{i}{1}{1};
Daniel@0 62 for j = 1:size(bi,1)-1
Daniel@0 63 plot([fpi(bi(j,1)) fpi(bi(j+1,1))],...
Daniel@0 64 [fpi(pi{bi(j,1)}(bi(j,2))) - fpi(1), ...
Daniel@0 65 fpi(pi{bi(j+1,1)}(bi(j+1,2))) - fpi(1)],...
Daniel@0 66 'w','LineWidth',1.5)
Daniel@0 67 plot([fpi(bi(j,1)) fpi(bi(j+1,1))],...
Daniel@0 68 [fpi(pi{bi(j,1)}(bi(j,2))) - fpi(1), ...
Daniel@0 69 fpi(pi{bi(j+1,1)}(bi(j+1,2))) - fpi(1)],...
Daniel@0 70 'w+','MarkerSize',15)
Daniel@0 71 plot([fpi(bi(j,1)) fpi(bi(j+1,1))],...
Daniel@0 72 [fpi(pi{bi(j,1)}(bi(j,2))) - fpi(1), ...
Daniel@0 73 fpi(pi{bi(j+1,1)}(bi(j+1,2))) - fpi(1)],...
Daniel@0 74 'kx','MarkerSize',15)
Daniel@0 75 end
Daniel@0 76 elseif not(isempty(tp)) && not(isempty(tp{i}))
Daniel@0 77 hold on
Daniel@0 78 for k = 1:size(tp{i}{1}{1},1)
Daniel@0 79 prej = 0;
Daniel@0 80 for j = 1:size(tp{i}{1}{1},2)
Daniel@0 81 if tv{i}{1}{1}(k,j)
Daniel@0 82 if prej% && not(isempty(tp(k,j)))
Daniel@0 83 plot([fpi(prej) fpi(j)],...
Daniel@0 84 [fpi(tp{i}{1}{1}(k,prej)) - fpi(1) ...
Daniel@0 85 fpi(tp{i}{1}{1}(k,j)) - fpi(1)],...
Daniel@0 86 'k','LineWidth',1)
Daniel@0 87 plot([fpi(prej) fpi(j)],...
Daniel@0 88 [fpi(tp{i}{1}{1}(k,prej)) - fpi(1) ...
Daniel@0 89 fpi(tp{i}{1}{1}(k,j)) - fpi(1)],...
Daniel@0 90 'w+','MarkerSize',10)
Daniel@0 91 plot([fpi(prej) fpi(j)],...
Daniel@0 92 [fpi(tp{i}{1}{1}(k,prej)) - fpi(1) ...
Daniel@0 93 fpi(tp{i}{1}{1}(k,j)) - fpi(1)],...
Daniel@0 94 'kx','MarkerSize',10)
Daniel@0 95 end
Daniel@0 96 prej = j;
Daniel@0 97 end
Daniel@0 98 end
Daniel@0 99 end
Daniel@0 100 elseif not(isempty(pp)) && not(isempty(pp{i}))
Daniel@0 101 hold on
Daniel@0 102 for k = 1:length(pp{i}{1})
Daniel@0 103 for j = 1:length(pp{i}{1}{k})
Daniel@0 104 plot(fpi(k),fpi(pp{i}{1}{k}(j)) - fpi(1), ...
Daniel@0 105 'w+','MarkerSize',10)
Daniel@0 106 end
Daniel@0 107 end
Daniel@0 108 end
Daniel@0 109 set(gca,'YDir','normal')
Daniel@0 110 if k == l
Daniel@0 111 title(t)
Daniel@0 112 end
Daniel@0 113 if k == 1
Daniel@0 114 xlabel('temporal location of frame centers (in s.)')
Daniel@0 115 end
Daniel@0 116 if k == ceil(l/2)
Daniel@0 117 if strcmp(m.view,'h')
Daniel@0 118 ylabel('relative distance between compared frames (in s.)')
Daniel@0 119 elseif strcmp(m.view,'l')
Daniel@0 120 ylabel('temporal lag (in s.)')
Daniel@0 121 else
Daniel@0 122 ylabel('temporal location of frame centers (in s.)')
Daniel@0 123 end
Daniel@0 124 end
Daniel@0 125 if l > 1
Daniel@0 126 pos = get(gca,'Position');
Daniel@0 127 hfig = axes('Position',[pos(1)-.05 pos(2)+pos(4)/2 .01 .01],...
Daniel@0 128 'Visible','off');
Daniel@0 129 text(0,0,num2str(cha{i}(k)),'FontSize',12,'Color','r')
Daniel@0 130 end
Daniel@0 131 end
Daniel@0 132 fig = get(0,'CurrentFigure');
Daniel@0 133 disp(['The ',t,' related to file ',nam{i},' is displayed in Figure ',num2str(fig),'.']);
Daniel@0 134 end
Daniel@0 135 disp(' ');
Daniel@0 136 drawnow