comparison talk/code/showalgo.m @ 74:305b7361a5bd default tip @

showalgo: save a snapshot instead of waiting for keyboard input
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Sun, 29 May 2016 19:05:01 -0400
parents 7bcf3d503d33
children
comparison
equal deleted inserted replaced
73:f81a65086498 74:305b7361a5bd
18 18
19 origH = repmat((H+1)/2, 1, 1, 3); 19 origH = repmat((H+1)/2, 1, 1, 3);
20 20
21 graphics_toolkit fltk; 21 graphics_toolkit fltk;
22 figure 22 figure
23 pause 23
24
25 function snapshot()
26 persistent x = 1;
27 fname = sprintf("%02d.png", x);
28 print("-dpng", fname);
29 x++;
30 endfunction
24 31
25 for iter = 1:length(Am) 32 for iter = 1:length(Am)
26 if iter > rows(L) 33 if iter > rows(L)
27 break 34 break
28 endif 35 endif
40 blue(colidx > R(iter, :)') = 1; 47 blue(colidx > R(iter, :)') = 1;
41 imgH(:, :, 3) = blue; 48 imgH(:, :, 3) = blue;
42 49
43 printf("Remaining: %d\n", remaining(iter)) 50 printf("Remaining: %d\n", remaining(iter))
44 imshow(imgH); 51 imshow(imgH);
45 pause 52 snapshot;
46 53
47 ## Make the guess yellow 54 ## Make the guess yellow
48 [i,j] = find(Am(iter) == H); 55 [i,j] = find(Am(iter) == H);
49 imgH(i,j,1) = imgH(i,j,2) = 1; 56 imgH(i,j,1) = imgH(i,j,2) = 1;
50 imgH(i,j,3) = 0; 57 imgH(i,j,3) = 0;
51 58
52 imshow(imgH); 59 imshow(imgH);
53 pause 60 snapshot;
54 61
55 if iter == length(Am) 62 if iter == length(Am)
56 break 63 break
57 endif 64 endif
58 65
78 [i,j] = find(Am(iter) == H); 85 [i,j] = find(Am(iter) == H);
79 imgH(i,j,1) = imgH(i,j,2) = 1; 86 imgH(i,j,1) = imgH(i,j,2) = 1;
80 imgH(i,j,3) = 0; 87 imgH(i,j,3) = 0;
81 88
82 imshow(imgLeft); 89 imshow(imgLeft);
83 pause 90 snapshot;
84 91
85 ## Check the right side 92 ## Check the right side
86 imgRight = imgH; 93 imgRight = imgH;
87 red = imgH(:, :, 1); 94 red = imgH(:, :, 1);
88 green = imgH(:, :, 2); 95 green = imgH(:, :, 2);
103 ## Make the guess yellow again 110 ## Make the guess yellow again
104 [i,j] = find(Am(iter) == H); 111 [i,j] = find(Am(iter) == H);
105 imgH(i,j,1) = imgH(i,j,2) = 1; 112 imgH(i,j,1) = imgH(i,j,2) = 1;
106 imgH(i,j,3) = 0; 113 imgH(i,j,3) = 0;
107 imshow(imgRight); 114 imshow(imgRight);
108 pause 115 snapshot;
109 116
110 imshow(imgH); 117 imshow(imgH);
111 printf("rank is between %d and %d (target: %d)\n", 118 printf("rank is between %d and %d (target: %d)\n",
112 Ptot(iter), Qtot(iter), medc_idx) 119 Ptot(iter), Qtot(iter), medc_idx)
113 pause 120 snapshot;
114 121
115 endfor 122 endfor
116 123
117 if (jackpot) 124 if (jackpot)
118 printf("Jackpot!\n") 125 printf("Jackpot!\n")
119 endif 126 endif
120 pause 127 snapshot;