#N canvas 626 138 768 899 10; #X obj 137 120 gemhead; #X obj 40 142 gemwin; #X msg 40 98 create \, 1; #X msg 58 119 0 \, destroy; #X obj 137 771 pix_texture; #X obj 137 409 spigot 1; #X obj 195 408 tgl 15 0 empty empty show_feeding_area 17 7 0 10 -262144 -1 -1 0 1; #X obj 225 280 loadbang; #X floatatom 220 251 5 0 0 0 - - -; #X floatatom 204 196 5 0 0 0 - - -; #X floatatom 248 195 5 0 0 0 - - -; #X floatatom 301 196 5 0 0 0 - - -; #X floatatom 354 196 5 0 0 0 - - -; #X obj 137 216 pix_crop 436 256 1210 482; #X obj 137 143 alpha; #X msg 200 794 \$2; #X msg 200 817 4 \$1; #X obj 40 76 loadbang; #X obj 137 163 pix_image latest_snapshot.png; #X floatatom 267 775 5 0 0 0 - - -; #X obj 209 728 loadbang; #X msg 212 117 open latest_snapshot.png; #X obj 200 840 /; #X obj 137 350 t a a; #X obj 137 371 pix_separator; #X obj 365 368 pix_separator; #X obj 183 91 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 137 246 pix_gain 1.07; #X obj 365 391 s show; #X obj 137 709 r show; #X obj 137 675 s show; #X obj 137 457 t a a; #X obj 137 478 pix_separator; #X obj 305 473 pix_separator; #X obj 305 709 s show; #X obj 305 608 pix_coloralpha; #X obj 350 493 tgl 15 0 empty empty show_detected_blob 17 7 0 10 -262144 -1 -1 0 1; #N canvas 342 569 559 510 apply_grid 0; #X obj 79 289 pix_gain; #X msg 159 264 1 1 1 \$1; #X floatatom 162 244 5 0 0 0 - - -; #X obj 199 43 gemhead; #X obj 199 66 alpha; #X msg 274 40 open grid.png; #X obj 199 86 pix_image grid.png; #X obj 199 199 pix_resize 90 35; #X obj 79 227 pix_multiply; #X obj 79 314 pix_coloralpha; #X obj 79 85 inlet; #X obj 79 337 outlet; #X obj 199 179 pix_flip; #X msg 374 161 vertical; #X msg 335 161 none; #X obj 335 96 r /pd/invertSize; #X obj 335 119 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 335 139 route 0 1; #X obj 459 77 loadbang; #X obj 459 100 delay 5000; #X connect 0 0 9 0; #X connect 1 0 0 2; #X connect 2 0 1 0; #X connect 3 0 4 0; #X connect 4 0 6 0; #X connect 5 0 6 0; #X connect 6 0 12 0; #X connect 7 0 8 1; #X connect 8 0 0 0; #X connect 9 0 11 0; #X connect 10 0 8 0; #X connect 12 0 7 0; #X connect 13 0 12 0; #X connect 14 0 12 0; #X connect 15 0 16 0; #X connect 16 0 17 0; #X connect 17 0 14 0; #X connect 17 1 13 0; #X connect 18 0 19 0; #X connect 19 0 16 0; #X restore 137 627 pd apply_grid; #N canvas 527 129 450 300 zoomEdges 0; #X obj 138 57 t a a; #X obj 79 102 pix_separator; #X obj 179 81 pix_separator; #X obj 179 148 pix_gain 100; #X obj 79 125 pix_invert; #X obj 143 227 pix_multiply; #X obj 179 103 pix_resize 140 41; #X obj 179 125 pix_crop 25 3 90 35; #X obj 141 12 inlet; #X obj 143 250 outlet; #X connect 0 0 1 0; #X connect 0 1 2 0; #X connect 1 0 4 0; #X connect 2 0 6 0; #X connect 3 0 5 0; #X connect 4 0 5 1; #X connect 5 0 9 0; #X connect 6 0 7 0; #X connect 7 0 3 0; #X connect 8 0 0 0; #X restore 137 595 pd zoomEdges; #N canvas 1072 599 450 300 blobDetection 0; #X obj 37 37 inlet; #X obj 35 131 pix_equal; #X text 128 78 lower bound; #X text 130 126 upper bound; #X obj 132 53 loadbang; #X obj 35 76 t a b; #X obj 35 154 pix_resize 90 35; #X floatatom 117 203 5 0 0 0 - - -; #X obj 35 198 pix_gain 100; #X obj 35 221 outlet; #X msg 132 94 0.4 0.4 0.15 1; #X msg 133 113 0.48 0.45 0.35 1; #X connect 0 0 5 0; #X connect 1 0 6 0; #X connect 5 0 1 0; #X connect 5 1 10 0; #X connect 5 1 11 0; #X connect 6 0 8 0; #X connect 7 0 8 1; #X connect 8 0 9 0; #X connect 10 0 1 1; #X connect 11 0 1 2; #X restore 137 432 pd blobDetection; #X floatatom 392 513 5 0 0 0 - - -; #X obj 305 541 pix_gain 1 0 0 0.5; #N canvas 348 448 698 384 file 0; #X obj 65 122 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 65 142 openpanel; #X msg 65 165 open \$1; #X obj 248 189 bng 17 250 50 0 empty empty empty 17 7 0 10 -228856 -1 -1; #X msg 212 124 dump; #X msg 226 145 dir; #X obj 261 272 else/display 50; #X msg 151 103 reset; #X text 245 102 <= opens parent directory; #X obj 256 233 else/display 4; #X text 325 212 <= open flag; #X text 245 123 <= dump all files from the directory (left outlet) ; #X text 253 144 <= sends directory path (right outlet); #X text 296 236 <= 'n' number of files.; #X msg 125 103 n, f 2; #X msg 237 166 n \, dir \, dump; #X obj 300 209 else/display 2; #X text 268 189 <= same as "n \, dir \, dump"; #X text 322 165 <= same as "bang"; #X text 153 263 'directory' =>; #X obj 116 243 print; #X obj 52 54 inlet; #X obj 198 43 loadbang; #X obj 141 325 outlet; #X obj 223 316 pack s s; #X obj 502 39 inlet; #X msg 508 65 dir \, ext .png \, next; #X msg 193 73 open /home/htequi/Bureau/HTequi/blob-CN/snapshots/; #X obj 226 211 else/dir; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 3 0 28 0; #X connect 4 0 28 0; #X connect 5 0 28 0; #X connect 6 0 24 1; #X connect 7 0 28 0; #X connect 14 0 28 0; #X connect 15 0 28 0; #X connect 21 0 0 0; #X connect 22 0 27 0; #X connect 24 0 23 0; #X connect 25 0 26 0; #X connect 26 0 28 0; #X connect 27 0 28 0; #X connect 28 0 20 0; #X connect 28 0 2 0; #X connect 28 0 24 0; #X connect 28 1 6 0; #X connect 28 2 9 0; #X connect 28 3 16 0; #X restore 392 102 pd file; #X msg 392 125 open \$2/\$1; #X obj 429 81 bng 15 250 50 0 empty empty next 17 7 0 10 -262144 -1 -1; #X obj 391 72 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 305 572 pix_mean_color; #X obj 563 609 print; #X obj 137 316 pix_buf; #X msg 225 303 auto 1; #X obj 456 590 unpack f f f f; #X floatatom 456 613 5 0 0 0 - - -; #X obj 456 637 change; #X obj 501 682 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 456 660 select 0; #X obj 305 683 pix_buffer_write blob; #X text 512 659 blob detected; #X obj 305 515 spigot 1; #N canvas 400 215 716 300 writeblob 0; #X obj 108 40 t b b; #X msg 135 62 0; #X text 149 40 write blob; #X obj 123 262 pix_buffer blob 1; #X obj 108 127 else/dir; #X msg 108 106 dir; #X obj 104 152 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 108 17 inlet; #X obj 209 110 outlet; #X obj 445 193 time, f 15; #X obj 122 158 t s s; #X obj 334 156 t s b b; #X obj 346 224 pack s f f f f f f; #X obj 99 87 delay 100; #X msg 346 247 save \$1/snapshots/blob-\$2_\$3_\$4__\$5_\$6_\$7_detect.png 0; #X msg 123 210 save \$1/latest_blob.png 0; #X obj 368 193 date, f 11; #X connect 0 0 13 0; #X connect 0 1 1 0; #X connect 1 0 8 0; #X connect 4 1 6 0; #X connect 4 1 10 0; #X connect 5 0 4 0; #X connect 7 0 0 0; #X connect 9 0 12 4; #X connect 9 1 12 5; #X connect 9 2 12 6; #X connect 10 0 15 0; #X connect 10 1 11 0; #X connect 11 0 12 0; #X connect 11 1 16 0; #X connect 11 2 9 0; #X connect 12 0 14 0; #X connect 13 0 5 0; #X connect 14 0 3 0; #X connect 15 0 3 0; #X connect 16 0 12 1; #X connect 16 1 12 2; #X connect 16 2 12 3; #X restore 501 701 pd writeblob; #N canvas 478 268 1388 300 OSC 1; #X floatatom 339 110 3 0 0 0 - - -; #X floatatom 366 110 3 0 0 0 - - -; #X floatatom 393 110 3 0 0 0 - - -; #X floatatom 420 110 3 0 0 0 - - -; #X floatatom 447 111 5 0 0 0 - - -; #X obj 339 84 unpack 0 0 0 0 0; #X floatatom 264 85 9 0 0 0 - - -; #X obj 473 88 tgl 15 0 empty empty empty 17 7 0 10 -4034 -1 -1 0 1 ; #X floatatom 263 110 9 0 0 0 - - -; #X obj 265 59 route received total from multicast; #X obj 12 63 mrpeach/unpackOSC; #X obj 630 111 mrpeach/udpsend; #X obj 508 -24 loadbang; #X obj 630 41 mrpeach/packOSC; #X obj 630 17 r toOSC; #X obj 194 111 delay 1000; #X msg 194 134 -; #X obj 173 162 outlet; #X obj 12 175 route /pd/computeSnap; #X obj 12 198 s /pd/computeSnap; #X obj 135 201 route /pd/invertSize; #X obj 135 223 s /pd/invertSize; #X obj 252 221 route /pd/getPosition/food /pd/getPosition/inib; #X obj 391 243 s /pd/getPosition/inib; #X obj 252 243 s /pd/getPosition/food; #X obj 173 88 t a b; #X msg 782 63 disconnect; #X obj 12 41 mrpeach/udpreceive 9977 239.200.200.200; #X msg 508 82 port 9977; #X obj 53 108 print OSC; #X obj 627 143 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 627 161 == 0; #X obj 627 216 metro 1000; #X obj 627 184 change; #X obj 763 192 netsend; #X obj 508 62 delay 1000; #X obj 508 19 delay 10000; #X msg 508 0 5000; #X msg 508 42 5000; #X msg 759 21 connect 239.200.200.200 9977; #X connect 5 0 0 0; #X connect 5 1 1 0; #X connect 5 2 2 0; #X connect 5 3 3 0; #X connect 5 4 4 0; #X connect 9 0 6 0; #X connect 9 1 8 0; #X connect 9 2 5 0; #X connect 9 3 7 0; #X connect 10 0 18 0; #X connect 10 0 25 0; #X connect 10 0 29 0; #X connect 12 0 37 0; #X connect 13 0 11 0; #X connect 14 0 13 0; #X connect 15 0 16 0; #X connect 16 0 17 0; #X connect 18 0 19 0; #X connect 18 1 20 0; #X connect 20 0 21 0; #X connect 20 1 22 0; #X connect 22 0 24 0; #X connect 22 1 23 0; #X connect 25 0 17 0; #X connect 25 1 15 0; #X connect 26 0 11 0; #X connect 27 0 10 0; #X connect 27 1 9 0; #X connect 28 0 27 0; #X connect 30 0 31 0; #X connect 31 0 33 0; #X connect 33 0 32 0; #X connect 35 0 28 0; #X connect 36 0 39 0; #X connect 36 0 38 0; #X connect 37 0 36 0; #X connect 38 0 35 0; #X connect 39 0 11 0; #X restore 83 10 pd OSC; #X obj 83 33 else/display; #X obj 213 87 r /pd/computeSnap; #X msg 208 749 quality 0 \, rectangle 0; #X obj 137 864 rectangle 4 4; #N canvas 549 242 865 747 getPosition 0; #X obj 37 -103 inlet; #X obj 37 558 outlet; #X obj 49 10 pix_data; #X obj 615 175 random 1e+06; #X obj 696 175 random 1e+06; #X obj 596 150 t b b b; #X obj 596 131 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 37 -80 t a a; #X obj 615 198 / 1e+06; #X obj 696 196 / 1e+06; #X obj 74 500 pack f f f f; #X obj 124 418 * 35; #X obj 74 458 t f f; #X obj 124 443 t b f f; #X obj 101 479 + 1; #X obj 163 464 + 1; #X msg 124 373 1 \$1; #X obj 124 396 -; #X obj 37 525 pix_rectangle; #X obj 74 435 * 90; #X obj 714 33 t b f; #X obj 692 59 pack f f; #X obj 692 82 t b a; #X obj 716 104 unpack f f; #X obj 689 -124 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 714 -147 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 689 12 * 1e+06; #X obj 713 -8 * 1e+06; #X obj 71 34 unpack f f f f; #X obj 301 51 route 0 1; #X obj 352 75 > 0.9; #X obj 329 99 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 352 118 route 1; #X msg 352 141 0; #X obj 352 164 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X text 380 163 find blue; #X obj 98 143 route 0 1; #X obj 149 167 > 0.9; #X obj 116 211 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 149 220 route 1; #X msg 149 243 0; #X obj 149 266 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X text 177 265 find green; #X obj 419 100 r /pd/getPosition/food; #X msg 419 123 1; #X msg 207 150 1; #X obj 207 127 r /pd/getPosition/inib; #X obj 149 308 s random-pos; #X obj 352 206 s random-pos; #X obj 49 -57 r change-pos; #X obj 596 110 r random-pos; #X obj 684 133 s change-pos; #X obj 596 245 s change-pos; #X obj 615 221 s Xpos; #X obj 74 410 r Xpos; #X obj 696 219 s Ypos; #X obj 124 342 r Ypos; #X obj 79 -34 r Xpos; #X obj 94 -13 r Ypos; #X text 202 192 green found; #X obj 256 363 pack s f f; #X obj 256 406 s toOSC; #X obj 284 270 r Xpos; #X obj 327 270 r Ypos; #X msg 256 249 symbol /pd/position/inib; #X obj 442 31 pack s f f; #X obj 442 74 s toOSC; #X msg 442 -113 symbol /pd/position/food; #X obj 442 53 list trim; #X obj 256 384 list trim; #X obj 149 194 &&; #X obj 352 98 &&; #N canvas 1 87 450 300 norm2steps 0; #X obj 82 40 inlet; #X text 51 13 X : 11000 - 82400; #X obj 82 63 * 71400; #X obj 82 86 + 11000; #X obj 82 109 outlet; #X obj 256 44 inlet; #X obj 256 113 outlet; #X text 225 17 Y : 8000 37000; #X obj 256 67 * 29000; #X obj 256 90 + 8000; #X connect 0 0 2 0; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 5 0 8 0; #X connect 8 0 9 0; #X connect 9 0 6 0; #X restore 285 309 pd norm2steps; #X obj 468 -86 r Xpos; #X obj 511 -86 r Ypos; #N canvas 1 87 450 300 norm2steps 0; #X obj 82 40 inlet; #X text 51 13 X : 11000 - 82400; #X obj 82 109 outlet; #X obj 256 44 inlet; #X obj 256 113 outlet; #X text 225 17 Y : 8000 37000; #X obj 256 90 + 9000; #X obj 256 67 * 28000; #X obj 82 63 * 68400; #X obj 82 86 + 13500; #X connect 0 0 8 0; #X connect 3 0 7 0; #X connect 6 0 4 0; #X connect 7 0 6 0; #X connect 8 0 9 0; #X connect 9 0 2 0; #X restore 468 -65 pd norm2steps; #X obj 579 -52 t f f; #X obj 609 -28 > 22500; #X msg 609 18 0; #X obj 579 61 -; #X floatatom 579 84 10 0 0 0 - - -; #X floatatom 514 -26 10 0 0 0 - - -; #X obj 609 -5 route 1 0; #X msg 638 19 5500; #X obj 352 183 metro 1; #X obj 149 285 metro 1; #X connect 0 0 7 0; #X connect 2 1 28 0; #X connect 3 0 8 0; #X connect 4 0 9 0; #X connect 5 0 52 0; #X connect 5 1 3 0; #X connect 5 2 4 0; #X connect 6 0 5 0; #X connect 7 0 18 0; #X connect 7 1 2 1; #X connect 8 0 53 0; #X connect 9 0 55 0; #X connect 10 0 18 1; #X connect 11 0 13 0; #X connect 12 0 10 0; #X connect 12 1 14 0; #X connect 13 0 10 0; #X connect 13 1 10 1; #X connect 13 2 15 0; #X connect 14 0 10 2; #X connect 15 0 10 3; #X connect 16 0 17 0; #X connect 17 0 11 0; #X connect 18 0 1 0; #X connect 19 0 12 0; #X connect 20 0 21 0; #X connect 20 1 21 1; #X connect 21 0 22 0; #X connect 22 0 51 0; #X connect 22 1 23 0; #X connect 23 0 8 0; #X connect 23 1 9 0; #X connect 24 0 26 0; #X connect 25 0 27 0; #X connect 26 0 21 0; #X connect 27 0 20 0; #X connect 28 1 36 0; #X connect 28 2 29 0; #X connect 29 2 30 0; #X connect 30 0 71 0; #X connect 32 0 33 0; #X connect 32 0 67 0; #X connect 33 0 34 0; #X connect 34 0 71 1; #X connect 34 0 84 0; #X connect 36 2 37 0; #X connect 37 0 70 0; #X connect 39 0 40 0; #X connect 39 0 64 0; #X connect 40 0 41 0; #X connect 41 0 70 1; #X connect 41 0 85 0; #X connect 43 0 44 0; #X connect 44 0 34 0; #X connect 45 0 41 0; #X connect 46 0 45 0; #X connect 49 0 2 0; #X connect 50 0 6 0; #X connect 54 0 19 0; #X connect 56 0 16 0; #X connect 57 0 2 2; #X connect 58 0 2 3; #X connect 60 0 69 0; #X connect 62 0 72 0; #X connect 63 0 72 1; #X connect 64 0 60 0; #X connect 65 0 68 0; #X connect 67 0 65 0; #X connect 68 0 66 0; #X connect 69 0 61 0; #X connect 70 0 39 0; #X connect 70 0 38 0; #X connect 71 0 32 0; #X connect 71 0 31 0; #X connect 72 0 60 1; #X connect 72 1 60 2; #X connect 73 0 75 0; #X connect 74 0 75 1; #X connect 75 0 65 1; #X connect 75 1 76 0; #X connect 75 1 81 0; #X connect 76 0 79 0; #X connect 76 1 77 0; #X connect 77 0 82 0; #X connect 78 0 79 1; #X connect 79 0 80 0; #X connect 79 0 65 2; #X connect 82 0 78 0; #X connect 82 1 83 0; #X connect 83 0 79 1; #X connect 84 0 48 0; #X connect 85 0 47 0; #X restore 137 650 pd getPosition; #X obj 607 645 != 0; #X msg 613 668 \; toOSC /pd/newBlob \$1; #N canvas 377 463 614 300 README 0; #X text 15 22 /pd/computeSnap : read latest_snap and computes a blob ; #X text 126 37 returns /pd/newBlob 1/0; #X text 130 53 if blob found \, writes latest_blob.png and a timed copy in ./snapshots folder; #X text 15 192 /pd/invertSize : toggle green/blue (toggle plate role) ; #X text 15 112 /pd/getPosition/food : compute a blue position and return it to /pd/position/food; #X text 15 152 /pd/getPosition/inib : compute a green position and return it to /pd/position/inib; #X restore 152 3 pd README; #X obj 137 541 pix_buffer_read blob; #X obj 137 506 t a b; #X msg 220 522 0; #X connect 0 0 14 0; #X connect 2 0 1 0; #X connect 3 0 1 0; #X connect 4 0 63 0; #X connect 4 1 15 0; #X connect 5 0 39 0; #X connect 6 0 5 1; #X connect 7 0 49 0; #X connect 8 0 27 1; #X connect 9 0 13 1; #X connect 10 0 13 2; #X connect 11 0 13 3; #X connect 12 0 13 4; #X connect 13 0 27 0; #X connect 14 0 18 0; #X connect 15 0 16 0; #X connect 16 0 22 0; #X connect 17 0 2 0; #X connect 18 0 13 0; #X connect 20 0 62 0; #X connect 21 0 18 0; #X connect 22 0 19 0; #X connect 22 0 63 1; #X connect 23 0 24 0; #X connect 23 1 25 0; #X connect 24 0 5 0; #X connect 25 0 28 0; #X connect 26 0 0 0; #X connect 27 0 48 0; #X connect 29 0 4 0; #X connect 31 0 32 0; #X connect 31 1 33 0; #X connect 32 0 38 0; #X connect 33 0 57 0; #X connect 35 0 55 0; #X connect 36 0 57 1; #X connect 37 0 64 0; #X connect 38 0 37 0; #X connect 39 0 31 0; #X connect 40 0 41 1; #X connect 41 0 46 0; #X connect 42 0 43 0; #X connect 43 0 18 0; #X connect 44 0 42 1; #X connect 45 0 42 0; #X connect 46 0 35 0; #X connect 46 1 50 0; #X connect 48 0 23 0; #X connect 49 0 48 0; #X connect 50 0 51 0; #X connect 50 0 52 0; #X connect 52 0 54 0; #X connect 52 0 65 0; #X connect 53 0 58 0; #X connect 54 1 53 0; #X connect 55 0 34 0; #X connect 57 0 41 0; #X connect 58 0 55 1; #X connect 59 0 60 0; #X connect 61 0 21 0; #X connect 62 0 4 0; #X connect 64 0 30 0; #X connect 65 0 66 0; #X connect 69 0 68 0; #X connect 69 1 70 0; #X connect 70 0 68 1;