#N canvas 95 168 690 594 10; #X declare -lib Gem; #X text 452 8 GEM object; #X obj 9 173 cnv 15 430 345 empty empty empty 20 12 0 14 -233017 -66577 0; #X text 40 175 Inlets:; #X text 39 420 Outlets:; #X obj 9 136 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577 0; #X text 18 134 Arguments:; #X text 453 39 Example:; #X text 17 434 Outlet 1: gemlist; #X text 24 189 Inlet 1: gemlist; #X text 71 31 Class: pix object (analysis); #X obj 9 56 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 452 57 cnv 15 200 450 empty empty empty 20 12 0 14 -228992 -66577 0; #X obj 453 356 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577 0; #N canvas 0 22 450 300 gemwin 0; #X obj 132 136 gemwin; #X obj 67 89 outlet; #X obj 67 10 inlet; #X msg 67 70 set destroy; #X msg 132 112 create \, 1; #X msg 198 112 destroy; #X msg 156 71 set create; #X obj 67 41 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 461 395 pd gemwin; #X msg 461 376 create; #X text 457 355 Create window:; #X obj 453 152 cnv 15 185 120 empty empty empty 20 12 0 14 -24198 -66577 0; #X obj 457 62 gemhead; #X obj 457 279 pix_texture; #X obj 457 130 pix_film; #X obj 521 130 t f; #X obj 470 82 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #N canvas 0 22 450 300 open 0; #X obj 85 49 inlet; #X obj 85 237 outlet; #X obj 85 145 openpanel; #X msg 85 179 open \$1; #X msg 259 213 auto 1; #X obj 259 189 loadbang; #X connect 0 0 2 0; #X connect 2 0 3 0; #X connect 3 0 1 0; #X connect 4 0 1 0; #X connect 5 0 4 0; #X restore 470 110 pd open; #X text 511 56 open a supported; #X text 512 67 movie-clip; #X text 529 93 macOS: quicktime; #X text 522 83 MS Windows: *.AVI; #X text 529 103 linux: depends...; #X floatatom 469 166 3 0 100 2 threshold - -; #X obj 469 180 / 100; #X obj 457 301 square 4; #X msg 469 197 threshold \$1; #X floatatom 559 166 3 0 100 2 min - -; #X msg 549 131 auto \$1; #X obj 604 133 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X obj 457 241 pix_hit; #X text 50 12 Synopsis: [pix_hit]; #X text 31 56 Description: hit test over user defined hit_areas... ; #X text 64 145 (none); #X text 24 245 Inlet 1: min_distance : (default=0.01); #X text 24 204 Inlet 1: threshold : minimum luminance of a pixel to be taken into account. (default=0.5); #X text 24 280 Inlet 1: circle : add check whether blob is within circle at x/y with radius r; #X text 24 327 Inlet 1: move : move test to new position; #X text 24 302 Inlet 1: line : add test whether blob is crossing line between x1/y1 and x2/y2; #X text 24 258 Inlet 1: rectangle : add test whether blob is within rectangle at x/y with dimension w/h; #X text 24 369 Inlet 1: delete : remove test ; #X text 24 381 Inlet 1: show : whether to mark hit blobs in the output image or not (default: 0); #X text 17 447 Outlet 2: hit info: "list " that indicates which tests were successful.; #X text 12 71 [pix_hit] detects whether a "min" number of pixels is over a given "threshold" within a given test area. You can add up to 256 (currently this is a hardcoded limit) test areas \, each of them can be a circle \, a rectangle or a line.; #X text 24 233 Inlet 1: min : minimum number of pixels (default=1) ; #X obj 535 301 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 556 301 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 577 301 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X msg 559 180 min \$1; #X msg 510 217 rectangle 0 0.5 0.5 0.2 0.1; #X msg 510 236 circle 1 0.2 0.2 0.15; #X obj 535 280 route 0 1 2; #X msg 510 254 line 2 0.7 0.1 0.8 0.9; #X obj 548 8 declare -lib Gem; #X connect 13 0 14 0; #X connect 14 0 13 0; #X connect 17 0 19 0; #X connect 18 0 30 0; #X connect 19 0 35 0; #X connect 19 2 20 0; #X connect 20 0 19 1; #X connect 21 0 22 0; #X connect 22 0 19 0; #X connect 28 0 29 0; #X connect 29 0 31 0; #X connect 31 0 35 0; #X connect 32 0 53 0; #X connect 33 0 19 0; #X connect 34 0 33 0; #X connect 35 0 18 0; #X connect 35 1 56 0; #X connect 53 0 35 0; #X connect 54 0 35 0; #X connect 55 0 35 0; #X connect 56 0 50 0; #X connect 56 1 51 0; #X connect 56 2 52 0; #X connect 57 0 35 0;