#N canvas 651 27 1241 934 12; #N canvas 770 466 450 300 gemwin 0; #X obj 212 184 gemwin; #X obj 147 137 outlet; #X obj 147 58 inlet; #X msg 147 118 set destroy; #X msg 212 160 create \, 1; #X msg 278 160 destroy; #X msg 236 119 set create; #X obj 147 89 route create; #X connect 2 0 7 0; #X connect 3 0 1 0; #X connect 4 0 0 0; #X connect 5 0 0 0; #X connect 6 0 1 0; #X connect 7 0 3 0; #X connect 7 0 4 0; #X connect 7 1 6 0; #X connect 7 1 5 0; #X restore 31 83 pd gemwin; #X msg 31 51 destroy; #X obj 241 177 pix_video; #N canvas 166 121 570 420 device 0; #X obj 204 60 cnv 20 20 20 empty \$0-open-canvas 1 4 10 0 16 -233017 -1 0; #X obj 60 61 hradio 18 1 0 8 empty empty empty 0 -6 0 8 -225271 -1 -1 1; #X obj 60 13 inlet; #X msg 160 254 label \$1; #X obj 160 232 makefilename %d; #X obj 60 108 int; #X obj 60 337 outlet; #X obj 160 277 send \$0-open-canvas; #X msg 130 170 device \$1; #X obj 60 130 t b f; #X obj 130 192 t a a; #X obj 130 298 list prepend set; #X obj 130 320 list trim; #X obj 160 211 route device; #X obj 130 116 loadbang; #X msg 130 138 0; #X connect 1 0 5 0; #X connect 2 0 1 0; #X connect 3 0 7 0; #X connect 4 0 3 0; #X connect 5 0 9 0; #X connect 8 0 10 0; #X connect 9 0 6 0; #X connect 9 1 8 0; #X connect 10 0 11 0; #X connect 10 1 13 0; #X connect 11 0 12 0; #X connect 12 0 6 0; #X connect 13 0 4 0; #X connect 14 0 15 0; #X connect 15 0 8 0; #X coords 0 -1 1 1 165 20 1 60 60; #X restore 265 91 pd device; #X msg 265 118 device 1; #X obj 241 276 pix_flip; #X msg 150 257 horizontal; #X obj 241 23 gemhead 25; #X obj 150 225 loadbang; #X obj 241 300 trigger a a a a; #X obj 240 552 pix_subtract; #X obj 240 920 translateXYZ 2 0 0; #X obj 240 954 pix_texture; #X obj 240 978 rectangle 2 1.5; #X obj 240 686 pix_threshold; #X msg 328 658 \$1 0 0; #X obj 331 631 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 3500 1; #X obj 386 448 pix_add; #X obj 386 496 pix_2grey; #X text 469 497 convert to grey; #X text 344 551 subract red stuff from non red stuff; #N canvas 0 50 450 300 OG_video 0; #X obj 165 310 pix_separator; #X obj 165 364 separator; #X obj 165 428 translateXYZ -2 0 0; #X obj 165 482 pix_texture; #X obj 165 526 rectangle 2 1.5; #X floatatom 208 399 5 0 0 0 - - -; #X text 51 237 plays back original video; #X obj 165 275 inlet; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 5 0 2 1; #X connect 7 0 0 0; #X restore 83 371 pd OG_video; #N canvas 0 50 450 300 pass_red 0; #X obj 204 101 pix_separator; #X obj 204 125 separator; #X obj 204 239 pix_gain; #X msg 257 203 1 0 0; #X obj 257 177 loadbang; #X text 29 26 pass only red; #X obj 204 59 inlet; #X obj 204 286 outlet; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 2 0 7 0; #X connect 3 0 2 2; #X connect 4 0 3 0; #X connect 6 0 0 0; #X restore 191 371 pd pass_red; #N canvas 0 50 450 300 pass_blue 0; #X obj 173 70 pix_separator; #X obj 173 184 pix_gain; #X obj 226 129 loadbang; #X obj 173 236 pix_threshold; #X obj 300 63 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X msg 226 155 0 0 1; #X msg 300 203 0 0 \$1; #X text 20 15 pass only blue; #X obj 173 31 inlet; #X obj 175 270 outlet; #X connect 0 0 1 0; #X connect 1 0 3 0; #X connect 2 0 5 0; #X connect 3 0 9 0; #X connect 4 0 6 0; #X connect 5 0 1 2; #X connect 6 0 3 2; #X connect 8 0 0 0; #X restore 445 368 pd pass_blue; #N canvas 0 50 450 300 pass_green 0; #X obj 148 72 pix_separator; #X obj 148 176 pix_gain; #X msg 201 147 0 1 0; #X obj 201 121 loadbang; #X obj 148 228 pix_threshold; #X obj 275 55 vsl 15 128 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X msg 275 195 0 \$1 0; #X text 14 16 pass only green; #X obj 157 33 inlet; #X obj 150 276 outlet; #X connect 0 0 1 0; #X connect 1 0 4 0; #X connect 2 0 1 2; #X connect 3 0 2 0; #X connect 4 0 9 0; #X connect 5 0 6 0; #X connect 6 0 4 2; #X connect 8 0 0 0; #X restore 305 370 pd pass_green; #X text 456 448 add green and blue together; #X obj 240 856 pix_multiblob 2; #X msg 284 793 threshold \$1; #X obj 284 771 / 100; #X floatatom 284 746 5 0 1 0 - - -; #X text 255 727 threshold; #X obj 394 771 / 100; #X floatatom 394 746 5 0 1 0 - - -; #X text 365 727 blobsize; #X msg 394 793 blobsize \$1; #X floatatom 613 915 5 0 0 1 x - -; #X floatatom 613 935 5 0 0 1 y - -; #X floatatom 613 957 5 0 0 1 size - -; #X floatatom 613 980 5 0 0 1 minX - -; #X floatatom 613 1003 5 0 0 1 minY - -; #X floatatom 613 1025 5 0 0 1 maxX - -; #X floatatom 613 1047 5 0 0 1 maxY - -; #X floatatom 613 1070 5 0 0 1 area - -; #X floatatom 613 1095 5 0 0 1 angle* - -; #X text 540 1126 * angle converted to degrees but is originally in radians, f 30; #N canvas 1350 88 450 300 showblob 0; #X obj 67 86 inlet blobinformation; #X obj 67 167 outlet weightedX; #X obj 88 187 outlet weightedY; #X obj 109 207 outlet weightedSize; #X obj 128 228 outlet minX; #X obj 149 248 outlet minY; #X obj 215 228 outlet maxX; #X obj 232 248 outlet maxY; #X obj 305 228 outlet size; #X text 60 45 this extracts information of the 1st detected blob; #N canvas 517 405 450 300 rectangle 0; #X obj 68 75 inlet; #X obj 215 -1 inlet; #X obj 68 257 rectangle; #X obj 68 234 translateXYZ; #X obj 215 69 unpack 0 0 0 0; #X obj 215 94 +; #X obj 254 95 +; #X text 248 125 0..2; #X text 250 145 -1..+1; #X obj 340 148 -; #X obj 377 149 -; #X obj 193 124 - 1; #X obj 193 147 * 4; #X obj 222 123 - 1; #X obj 222 146 * 4; #X obj 340 180 * -4; #X obj 377 180 * -4; #X connect 0 0 3 0; #X connect 1 0 4 0; #X connect 3 0 2 0; #X connect 4 0 5 0; #X connect 4 0 9 0; #X connect 4 1 5 1; #X connect 4 1 9 1; #X connect 4 2 6 0; #X connect 4 2 10 0; #X connect 4 3 6 1; #X connect 4 3 10 1; #X connect 5 0 11 0; #X connect 6 0 13 0; #X connect 9 0 15 0; #X connect 10 0 16 0; #X connect 11 0 12 0; #X connect 12 0 3 1; #X connect 13 0 14 0; #X connect 14 0 3 2; #X connect 15 0 2 1; #X connect 16 0 2 2; #X restore 346 188 pd rectangle; #X obj 346 117 color 1 1 1 0.5; #X obj 346 96 gemhead 70; #X obj 346 138 alpha; #X msg 425 164 \$6 \$8 \$7 \$9; #X msg 67 114 \$3 \$4 \$5 \$6 \$7 \$8 \$9 \$10 \$11; #X obj 67 138 unpack 0 0 0 0 0 0 0 0 0; #X obj 315 248 outlet angle; #X connect 0 0 15 0; #X connect 0 0 14 0; #X connect 11 0 13 0; #X connect 12 0 11 0; #X connect 13 0 10 0; #X connect 14 0 10 1; #X connect 15 0 16 0; #X connect 16 0 1 0; #X connect 16 1 2 0; #X connect 16 2 3 0; #X connect 16 3 4 0; #X connect 16 4 5 0; #X connect 16 5 6 0; #X connect 16 6 7 0; #X connect 16 7 8 0; #X connect 16 8 17 0; #X restore 489 875 pd showblob; #X connect 0 0 1 0; #X connect 1 0 0 0; #X connect 2 0 5 0; #X connect 3 0 4 0; #X connect 4 0 2 0; #X connect 5 0 9 0; #X connect 6 0 5 0; #X connect 7 0 2 0; #X connect 8 0 6 0; #X connect 9 0 21 0; #X connect 9 0 22 0; #X connect 9 1 24 0; #X connect 9 2 23 0; #X connect 10 0 14 0; #X connect 11 0 12 0; #X connect 12 0 13 0; #X connect 14 0 26 0; #X connect 15 0 14 2; #X connect 16 0 15 0; #X connect 17 0 18 0; #X connect 18 0 10 1; #X connect 22 0 10 0; #X connect 23 0 17 1; #X connect 24 0 17 0; #X connect 26 0 11 0; #X connect 26 1 45 0; #X connect 27 0 26 0; #X connect 28 0 27 0; #X connect 29 0 28 0; #X connect 31 0 34 0; #X connect 32 0 31 0; #X connect 34 0 26 0; #X connect 45 0 35 0; #X connect 45 1 36 0; #X connect 45 2 37 0; #X connect 45 3 38 0; #X connect 45 4 39 0; #X connect 45 5 40 0; #X connect 45 6 41 0; #X connect 45 7 42 0; #X connect 45 8 43 0;