]> AND Private Git Repository - these_gilles.git/blob - THESE/codes/graphe/Ncut_9/demoNcutClustering.m
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
final
[these_gilles.git] / THESE / codes / graphe / Ncut_9 / demoNcutClustering.m
1 function demoNcutClustering;\r
2 % demoNcutClustering\r
3\r
4 % demo for NcutClustering\r
5 % also initialize matlab paths to subfolders\r
6 % Timothee Cour, Stella Yu, Jianbo Shi, 2004.\r
7 \r
8 disp('Ncut Clustering demo');\r
9 \r
10 %% make up a point data set\r
11 caseid = 2;%3\r
12 [data,size_cluster] = build_scene(caseid);\r
13 figure(1);clf;\r
14 plot(data(1,:),data(2,:),'ks', 'MarkerFaceColor','k','MarkerSize',5); axis image; hold on; \r
15 \r
16 disp('This is the input data points to be clustered, press Enter to continue...');\r
17 pause;\r
18 \r
19 disp('Compute clustering...');\r
20 \r
21 % compute similarity matrix\r
22 [W,Dist] = compute_relation(data);\r
23 \r
24 % clustering graph in\r
25 nbCluster = 4;\r
26 tic;\r
27 [NcutDiscrete,NcutEigenvectors,NcutEigenvalues] = ncutW(W,nbCluster);\r
28 disp(['The computation took ' num2str(toc) ' seconds']);\r
29 figure(3);\r
30 plot(NcutEigenvectors);\r
31 \r
32 % display clustering result\r
33 cluster_color = ['rgbmyc'];\r
34 figure(2);clf;\r
35 for j=1:nbCluster,\r
36     id = find(NcutDiscrete(:,j));\r
37     plot(data(1,id),data(2,id),[cluster_color(j),'s'], 'MarkerFaceColor',cluster_color(j),'MarkerSize',5); hold on; \r
38 end\r
39 hold off; axis image;\r
40 disp('This is the clustering result');\r
41 disp('The demo is finished.');\r