Mercurial > hg > medcouple
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; |