#N canvas 83 338 841 379 10; #X text 482 28 part of iemmatrix; #X text 166 69 searches for peaks in the rows of a matrix. peak locations are set to 1 \, others to 0; #N canvas 0 0 450 300 convert2tablemsg 0; #X obj 130 35 inlet; #X obj 169 216 outlet; #X obj 130 60 t a a; #X obj 160 82 mtx_size; #X obj 130 107 list split 3; #X obj 220 107 change; #X msg 220 129 resize \$1; #X obj 169 154 list prepend 0; #X connect 0 0 2 0; #X connect 2 0 4 0; #X connect 2 1 3 0; #X connect 3 1 5 0; #X connect 4 1 7 0; #X connect 5 0 6 0; #X connect 6 0 1 0; #X connect 7 0 1 0; #X restore 33 284 pd convert2tablemsg; #X obj 33 306 s view_peaks; #N canvas 0 0 450 300 graph1 0; #X array view_peaks 20 float 1; #A 0 0 1 1 0 1 1 1 0 1 1 0 0 1 0 1 1 1 0 0 1; #X coords 0 1 19 0 200 20 1; #X restore 327 192 graph; #N canvas 0 0 450 300 graph1 0; #X array view_landscape 20 float 1; #A 0 0 0 0 0 2 2 2 0 0 0 0 2 3 1 3 3 3 0 0 3; #X coords 0 3 19 0 200 50 1; #X restore 326 228 graph; #N canvas 0 0 450 300 convert2tablemsg 0; #X obj 130 35 inlet; #X obj 169 216 outlet; #X obj 130 60 t a a; #X obj 160 82 mtx_size; #X obj 130 107 list split 3; #X msg 220 129 resize \$1; #X obj 169 154 list prepend 0; #X obj 220 107 change; #X connect 0 0 2 0; #X connect 2 0 4 0; #X connect 2 1 3 0; #X connect 3 1 7 0; #X connect 4 1 6 0; #X connect 5 0 1 0; #X connect 6 0 1 0; #X connect 7 0 5 0; #X restore 172 284 pd convert2tablemsg; #X obj 33 165 mtx_rand; #X obj 172 306 s view_landscape; #X text 268 138 inletA: matrix/vector containing values (landscape) ; #X text 268 157 outletB: matrix/vector logical 1 at peaks; #X obj 33 205 mtx_int; #X obj 33 185 mtx_* 4; #X msg 33 143 1 20; #X text 43 34 [mtx_ispeakb]; #X text 301 307 (note: this is the improved version to [mtx_ispeak]) ; #X obj 33 242 mtx_ispeakb; #X text 300 325 (better performance at the borders of the array); #X connect 2 0 3 0; #X connect 6 0 8 0; #X connect 7 0 12 0; #X connect 11 0 6 0; #X connect 11 0 16 0; #X connect 12 0 11 0; #X connect 13 0 7 0; #X connect 16 0 2 0;