-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathplotDiffusionMapinColor.m
58 lines (56 loc) · 1.92 KB
/
plotDiffusionMapinColor.m
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
function C = plotDiffusionMapinColor(diffusionCoordIm, idxPatches, diffusionMap, inds, figId, plotTitle,step)
% plots the diffusion map with RGB values associated to every sample
% used to correspond between the image and diffusion map = understand what
% coordinates in the diffusion map each pixel was given
%
% Gal Mishne
if ~exist('step','var')
step = 30;
end
[m, n, k] = size(diffusionCoordIm);
C(:,1) = diffusionCoordIm(idxPatches);
if size(diffusionMap,1) > 1
C(:,2) = diffusionCoordIm(idxPatches + m*n);
C(:,3) = diffusionCoordIm(idxPatches + 2*m*n);
end
if ~isempty(figId)
figure(figId);
else
figure;
end
if size(diffusionMap,1) > 5
subplot(121)
hh = scatter3(diffusionMap(1,1:step:end),diffusionMap(2,1:step:end),diffusionMap(3,1:step:end),15,C((inds(1:step:end)),:),'filled');
set(gca,'FontSize',10);
xlabel('\Psi_1')
ylabel('\Psi_2')
zlabel('\Psi_3')
title(plotTitle);
axis equal
subplot(122)
scatter3(diffusionMap(4,1:step:end),diffusionMap(5,1:step:end),diffusionMap(6,1:step:end),15,C((inds(1:step:end)),:),'filled')
set(gca,'FontSize',10);
xlabel('\Psi_4')
ylabel('\Psi_5')
zlabel('\Psi_6')
axis equal
elseif size(diffusionMap,1) >= 3
scatter3(diffusionMap(1,1:step:end),diffusionMap(2,1:step:end),diffusionMap(3,1:step:end),25,C((inds(1:step:end)),:),'filled')
set(gca,'FontSize',15);
xlabel('\Psi_1')
ylabel('\Psi_2')
zlabel('\Psi_3')
title(plotTitle);
elseif size(diffusionMap,1) == 2
scatter(diffusionMap(1,1:step:end),diffusionMap(2,1:step:end),25,C((inds(1:step:end)),:),'filled')
set(gca,'FontSize',15);
xlabel('\Psi_1')
ylabel('\Psi_2')
title(plotTitle);
else
scatter(1:step:size(diffusionMap,2),diffusionMap(1,1:step:end),25,C((inds(1:step:end)),:),'filled')
set(gca,'FontSize',15);
xlabel('ind')
ylabel('\Psi_1')
title(plotTitle);
end