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 59 60 61 62 63 64 65 66 67 68
|
function [chrom_map, vmaps] = build_chrom_map()
matchromosome= zeros(3,3);
bit9 = [256 128 64 32 16 8 4 2 1]';
for i = 1:512
bin_chromosome = zeros(1, 9);
a = (uint8(dec2bin(i-1)) - 48);
bin_chromosome(end - length(a) + 1: end) = a;
matchromosome = reshape(bin_chromosome, 3, 3);
rm90 = rot90(matchromosome);
rm180 = rot90(rm90);
rm270 = rot90(rm180);
rm_tr90 = rot90(matchromosome');
chrom_map(i).chrom = matchromosome;
chrom_map(i).chrom90 = rm90;
chrom_map(i).chrom180 = rm180;
chrom_map(i).chrom270 = rm270;
chrom_map(i).chrom_r = fliplr(matchromosome);
chrom_map(i).chrom_d = flipud(matchromosome);
chrom_map(i).chrom_t = matchromosome';
chrom_map(i).chrom_r90 = fliplr(rm90);
chrom_map(i).chrom_r180 = fliplr(rm180);
chrom_map(i).chrom_r270 = fliplr(rm270);
chrom_map(i).chrom_d90 = flipud(rm90);
chrom_map(i).chrom_d180 = flipud(rm180);
chrom_map(i).chrom_d270 = flipud(rm270);
chrom_map(i).chrom_t90 = rot90(rm_tr90);
chrom_map(i).map(1, :) = chrom_map(i).chrom(:);
chrom_map(i).map(2, :) = chrom_map(i).chrom90(:);
chrom_map(i).map(3, :) = chrom_map(i).chrom180(:);
chrom_map(i).map(4, :) = chrom_map(i).chrom270(:);
chrom_map(i).map(5, :) = chrom_map(i).chrom_r(:);
chrom_map(i).map(6, :) = chrom_map(i).chrom_d(:);
chrom_map(i).map(7, :) = chrom_map(i).chrom_r90(:);
chrom_map(i).map(8, :) = chrom_map(i).chrom_d90(:);
chrom_map(i).map(9, :) = chrom_map(i).chrom_r180(:);
chrom_map(i).map(11, :) = chrom_map(i).chrom_d180(:);
chrom_map(i).map(12, :) = chrom_map(i).chrom_r270(:);
chrom_map(i).map(13, :) = chrom_map(i).chrom_d270(:);
chrom_map(i).map(14, :) = chrom_map(i).chrom_t(:);
chrom_map(i).map(15, :) = chrom_map(i).chrom_t90(:);
chrom_map(i).mapv = chrom_map(i).map * bit9;
end
vmaps = [];
for i = 1:512,
vmaps = [vmaps, chrom_map(i).mapv(:)];
end
a = sort(vmaps(:));
pix = -1;
symbols= [];
for i=1:length(a),
if pix ~= a(i),
symbols = [symbols, a(i)];
pix = a(i);
end
end
vmaps = symbols; |
Partager