wolffd@0
|
1 function cind = som_ind2cod(msize,ind)
|
wolffd@0
|
2
|
wolffd@0
|
3 %SOM_IND2COD SOM_PAK style linear indeces from Matlab linear index.
|
wolffd@0
|
4 %
|
wolffd@0
|
5 % Cind = som_ind2cod(msize,inds)
|
wolffd@0
|
6 %
|
wolffd@0
|
7 % cind = som_ind2cod([10 15],44);
|
wolffd@0
|
8 % cind = som_ind2cod(sMap,44);
|
wolffd@0
|
9 % cind = som_ind2cod(sMap.msize,44);
|
wolffd@0
|
10 % Cind = som_ind2cod([10 15],[44 13 91]');
|
wolffd@0
|
11 %
|
wolffd@0
|
12 % Input and output arguments:
|
wolffd@0
|
13 % msize (struct) map or topology struct
|
wolffd@0
|
14 % (vector) size 1 x m, specifies the map grid size
|
wolffd@0
|
15 % ind (vector) size n x 1, linear indeces of n map units
|
wolffd@0
|
16 %
|
wolffd@0
|
17 % cind (matrix) size n x 1, SOM_PAK style linear indeces
|
wolffd@0
|
18 % (row first, then column)
|
wolffd@0
|
19 %
|
wolffd@0
|
20 % See also SOM_COD2IND.
|
wolffd@0
|
21
|
wolffd@0
|
22 % Contributed to SOM Toolbox vs2, January 14th, 2002 by Juha Vesanto
|
wolffd@0
|
23 % http://www.cis.hut.fi/projects/somtoolbox/
|
wolffd@0
|
24
|
wolffd@0
|
25 % Version 2.0beta juuso 140102
|
wolffd@0
|
26
|
wolffd@0
|
27 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
wolffd@0
|
28
|
wolffd@0
|
29 if isstruct(msize),
|
wolffd@0
|
30 if strcmp(msize.type,'som_map'), msize = msize.topol.msize;
|
wolffd@0
|
31 elseif strcmp(msize.type,'som_topol'), msize = msize.msize;
|
wolffd@0
|
32 else error('Invalid first argument.'); end
|
wolffd@0
|
33 end
|
wolffd@0
|
34
|
wolffd@0
|
35 if nargin<2, ind = 1:prod(msize); end
|
wolffd@0
|
36
|
wolffd@0
|
37 Co = som_unit_coords(msize,'rect','sheet');
|
wolffd@0
|
38
|
wolffd@0
|
39 switch size(Co,2),
|
wolffd@0
|
40 case 1, I2C = [1:prod(msize)];
|
wolffd@0
|
41 case 2, I2C = 1 + Co(:,1) + Co(:,2)*msize(2);
|
wolffd@0
|
42 case 3, I2C = 1 + Co(:,1) + Co(:,2)*msize(2) + Co(:,3)*msize(1)*msize(2); % ?????
|
wolffd@0
|
43 end
|
wolffd@0
|
44
|
wolffd@0
|
45 cind = I2C(ind);
|
wolffd@0
|
46 return;
|
wolffd@0
|
47
|
wolffd@0
|
48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|