From 15b30fe20b401d079c2b3c6a8e77eee827813de3 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Tue, 17 Mar 2015 22:54:19 +0000 Subject: Gem 096ed6ef786b7a9d6e11a437ff8526619c89a1fd osx/x86_64 built 'master:096ed6ef786b7a9d6e11a437ff8526619c89a1fd' for osx/x86_64 --- Gem/pix_mano-help.pd | 425 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 425 insertions(+) create mode 100644 Gem/pix_mano-help.pd (limited to 'Gem/pix_mano-help.pd') diff --git a/Gem/pix_mano-help.pd b/Gem/pix_mano-help.pd new file mode 100644 index 0000000..5359bbb --- /dev/null +++ b/Gem/pix_mano-help.pd @@ -0,0 +1,425 @@ +#N canvas 326 0 854 742 10; +#X obj 556 -8 bng 15 250 50 0 refresh_var empty load-presets 17 7 0 +10 -257985 -1 -1; +#X obj 161 116 pix_grey; +#X floatatom 117 -50 5 0 0 1 bottom bottom -; +#X floatatom 152 -33 5 0 0 1 top top -; +#X obj 161 156 pix_texture; +#X obj 152 19 t b f; +#X floatatom 194 -14 5 0 0 1 right right -; +#X obj 194 19 t b f; +#X floatatom 235 1 5 0 0 1 left left -; +#X obj 235 19 t b f; +#X obj 35 16 t b f; +#X obj 15 43 pack f f f; +#X obj 73 16 t b f; +#X floatatom 35 -17 5 0 0 1 thresh thresh -; +#X obj 304 19 t b f; +#X obj 345 19 t b f; +#X floatatom 15 -33 5 0 0 1 mode mode -; +#X floatatom 73 -2 5 0 0 1 tip_scalar tip_scalar -; +#X floatatom 273 -58 5 0 0 1 pix_avg pix_avg -; +#X floatatom 304 -42 5 0 0 1 pix_tip pix_tip -; +#X floatatom 345 -27 5 0 0 1 min_entry_size min_entry_size -; +#X obj 384 20 t b f; +#X floatatom 384 -12 5 0 0 1 min_perim min_perim -; +#X floatatom 424 3 5 0 0 1 pix_samp pix_samp -; +#X obj 424 20 t b f; +#X obj 273 47 pack f f f f f; +#X obj 161 76 gemhead 1; +#X obj 161 96 pix_video; +#N canvas 0 0 450 300 print 0; +#X obj 131 36 inlet; +#X obj 131 57 spigot; +#X obj 131 78 print; +#X obj 228 27 loadbang; +#X msg 228 48 0; +#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 103 105 print?; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 1 1; +#X coords 0 -1 1 1 60 23 2 100 100; +#X restore 32 204 pd print; +#N canvas 0 0 450 300 print 0; +#X obj 131 36 inlet; +#X obj 131 57 spigot; +#X obj 131 78 print; +#X obj 228 27 loadbang; +#X msg 228 48 0; +#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 103 105 print?; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 1 1; +#X coords 0 -1 1 1 60 23 2 100 100; +#X restore 100 204 pd print; +#N canvas 0 0 450 300 print 0; +#X obj 131 36 inlet; +#X obj 131 57 spigot; +#X obj 131 78 print; +#X obj 228 27 loadbang; +#X msg 228 48 0; +#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 103 105 print?; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 1 1; +#X coords 0 -1 1 1 60 23 2 100 100; +#X restore 167 204 pd print; +#N canvas 0 0 450 300 print 0; +#X obj 131 36 inlet; +#X obj 131 57 spigot; +#X obj 131 78 print; +#X obj 228 27 loadbang; +#X msg 228 48 0; +#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 103 105 print?; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 1 1; +#X coords 0 -1 1 1 60 23 2 100 100; +#X restore 235 204 pd print; +#N canvas 0 0 450 300 print 0; +#X obj 131 36 inlet; +#X obj 131 57 spigot; +#X obj 131 78 print; +#X obj 228 27 loadbang; +#X msg 228 48 0; +#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 103 105 print?; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 1 1; +#X coords 0 -1 1 1 60 23 2 100 100; +#X restore 301 204 pd print; +#N canvas 0 0 450 300 print 0; +#X obj 131 36 inlet; +#X obj 131 57 spigot; +#X obj 131 78 print; +#X obj 228 27 loadbang; +#X msg 228 48 0; +#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 103 105 print?; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 1 1; +#X coords 0 -1 1 1 60 23 2 100 100; +#X restore 369 204 pd print; +#N canvas 716 528 225 177 gemwin 0; +#X obj 61 138 gemwin; +#X msg 46 83 create \, 1; +#X msg 142 99 0 \, destroy; +#X obj 24 12 loadbang; +#X obj 24 38 t b b b; +#X msg 126 65 dimen 320 240; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 3 0 4 0; +#X connect 4 1 1 0; +#X connect 4 2 5 0; +#X connect 5 0 0 0; +#X restore 556 -49 pd gemwin; +#N canvas 621 151 306 719 graphs-outlet2 0; +#N canvas 0 22 450 300 (subpatch) 0; +#X array x 150 float 1; +#A 0 24 293 290 286 281 274 269 264 261 260 258 253 248 246 250 258 +266 274 282 279 286 295 295 187 195 203 211 219 227 235 243 251 259 +265 267 267 268 271 275 277 278 278 277 277 279 283 287 289 292 296 +300 305 309 311 311 311 311 311 311 311 311 311 311 311 311 311 311 +311 311 311 311 311 311 311 311 309 304 296 288 280 273 268 262 256 +248 240 232 224 216 208 200 192 184 176 168 160 152 144 136 128 120 +112 104 96 88 80 72 64 56 48 40 32 24 16 11 9 9 9 9 9 9 9 9 9 9 9 9 +9 9 9 13 169 169 164 162 167 170 166 162 165 169 13 97 105 113 120 +122 118 110 172; +#X coords 0 320 149 0 300 140 1; +#X restore -136 -398 graph; +#N canvas 0 22 450 300 (subpatch) 0; +#X array y 150 float 1; +#A 0 253 470 467 460 453 448 446 446 448 452 458 462 467 471 472 472 +472 472 472 472 472 470 470 445 444 443 442 441 440 439 438 437 435 +431 425 417 413 415 420 420 414 406 398 390 387 389 397 405 412 420 +426 432 432 427 419 411 403 395 387 379 371 363 355 347 339 331 323 +315 307 299 291 283 275 267 259 253 250 249 249 249 251 253 252 250 +249 249 249 249 249 249 249 249 249 249 249 249 249 249 249 249 249 +249 249 249 249 249 249 249 249 249 249 249 249 250 252 258 266 274 +282 290 298 306 314 322 330 338 346 354 362 370 361 472 471 470 470 +471 471 470 470 471 472 464 461 464 467 469 471 472 472 471; +#X coords 0 480 149 0 300 140 1; +#X restore -137 -245 graph; +#N canvas 0 22 450 300 (subpatch) 0; +#X array angle 150 float 1; +#A 0 0 0.588003 -0.785398 -0.266252 0.101103 0.330297 0.239743 0.380506 +0.588003 0.737815 -0.0767719 -0.574305 0.110657 0.321751 1.78947 0.244979 +0 0 0 0 0 0 0 0.124355 0 0 0 0 0 0 0 0 0.120624 0.343024 0.661043 0.321751 +-0.244979 -1.91382 -0.308053 0.896055 1.40565 0.165149 0.124355 -0.124355 +-0.588003 -1.44644 -0.643501 -0.218669 0.159913 0.0587558 0.124355 +0.106736 0.876058 1.19029 0.380506 6.12303e-17 6.12303e-17 6.12303e-17 +6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 +6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 +6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 0.321751 +0.708626 0.416065 0.124355 1.22461e-16 0.2783 0.102207 -0.545655 -0.156602 +0.197396 0.124355 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 +1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 +1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 +1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 +1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 0.124355 0.256151 0.868539 +0.321751 -6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17 +-6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17 +-6.12303e-17 -6.12303e-17 0 1.40565 1.73594 1.3734 0.197396 2.9442 +0.197396 2.89661 0.244979 2.81984 0.0767719 0 0.432408 0.104877 0 0.080471 +-0.507098 -2.11122 -0.244979 0; +#X coords 0 3.14 149 -3.14 300 200 1; +#X restore -137 -90 graph; +#X obj -131 118 bng 15 250 50 0 cleartables empty empty 17 7 0 10 -257985 +-1 -1; +#X text -113 117 clear tables; +#X obj -39 -460 - 480; +#X obj -39 -441 abs; +#X obj -137 -460 tabwrite x; +#X obj -39 -422 tabwrite y; +#X obj 18 -463 tabwrite angle; +#X obj -133 -530 unpack f f f f; +#X obj -133 -506 s o2n; +#X obj -88 -506 s o2x; +#X obj -44 -505 s o2y; +#X obj 1 -505 s o2a; +#X obj -80 -480 r o2n; +#X obj -137 -480 r o2x; +#X obj -39 -480 r o2y; +#X obj 18 -482 r o2a; +#X obj 18 -441 r o2n; +#X obj 99 -482 r o2n; +#X obj -133 -574 inlet; +#X connect 5 0 6 0; +#X connect 6 0 8 0; +#X connect 10 0 11 0; +#X connect 10 1 12 0; +#X connect 10 2 13 0; +#X connect 10 3 14 0; +#X connect 15 0 7 1; +#X connect 16 0 7 0; +#X connect 17 0 5 0; +#X connect 18 0 9 0; +#X connect 19 0 8 1; +#X connect 20 0 9 1; +#X connect 21 0 10 0; +#X restore 100 265 pd graphs-outlet2; +#N canvas 0 0 450 300 print 0; +#X obj 131 36 inlet; +#X obj 131 57 spigot; +#X obj 228 27 loadbang; +#X msg 228 48 0; +#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 103 105 graph?; +#X obj 131 78 outlet; +#X connect 0 0 1 0; +#X connect 1 0 6 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 1 1; +#X coords 0 -1 1 1 60 23 2 100 100; +#X restore 100 238 pd print; +#N canvas 178 290 743 248 presets 0; +#X text 280 16 head; +#X text 229 16 bottom; +#X text 319 16 right; +#X text 363 16 left; +#X msg 18 30 1; +#X msg 283 33 5; +#X msg 366 33 5; +#X msg 325 33 315; +#X msg 240 33 235; +#X msg 561 22 4; +#X msg 488 24 20; +#X msg 524 23 5; +#X msg 637 21 8; +#X msg 598 22 10; +#X msg 129 30 0.4; +#X msg 71 30 0.74; +#X obj 18 51 s mode; +#X obj 71 51 s thresh; +#X obj 129 51 s tip_scalar; +#X obj 240 54 s bottom; +#X obj 325 54 s right; +#X obj 366 75 s left; +#X obj 488 45 s pix_avg; +#X obj 524 66 s pix_tip; +#X obj 598 43 s min_perim; +#X obj 637 63 s pix_samp; +#X obj 283 75 s top; +#X obj 286 -58 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 286 -78 r refresh_var; +#X obj 64 -15 bang; +#X obj 286 -20 bang; +#X obj 550 -20 bang; +#X obj 561 86 s min_entry_size; +#X text 20 114 These presets are what I use for the MANO Controller +at 320x240.; +#X obj 307 -59 loadbang; +#X connect 4 0 16 0; +#X connect 5 0 26 0; +#X connect 6 0 21 0; +#X connect 7 0 20 0; +#X connect 8 0 19 0; +#X connect 9 0 32 0; +#X connect 10 0 22 0; +#X connect 11 0 23 0; +#X connect 12 0 25 0; +#X connect 13 0 24 0; +#X connect 14 0 18 0; +#X connect 15 0 17 0; +#X connect 27 0 29 0; +#X connect 27 0 30 0; +#X connect 27 0 31 0; +#X connect 28 0 27 0; +#X connect 29 0 15 0; +#X connect 29 0 4 0; +#X connect 29 0 14 0; +#X connect 30 0 6 0; +#X connect 30 0 7 0; +#X connect 30 0 5 0; +#X connect 30 0 8 0; +#X connect 31 0 11 0; +#X connect 31 0 10 0; +#X connect 31 0 9 0; +#X connect 31 0 13 0; +#X connect 31 0 12 0; +#X connect 34 0 27 0; +#X restore 556 -30 pd presets; +#X text 456 52 inlet 1; +#X text 458 71 mode 0: regular function (others used for debugging) +; +#X text 457 83 thresh: threshold for contrast step; +#X text 459 200 pix_avg: number of pixels to average the contour; +#X text 458 234 min_entry_size: minimum entry size to be considered +as a hand; +#X text 458 256 min_perim: minimum perimeter to be considered a hand +; +#X text 459 308 OUTLETS; +#X text 459 374 outlet 2: elements in the smoothed contour; +#X text 460 408 outlet 3: peaks found in the contour; +#X text 460 449 outlet 4: valleys found in the contour; +#X text 460 491 outlet 5: contours found; +#X text 461 542 outlet 6: end of algorithm report; +#X text 457 148 inlet 2: defines the bounds of the anrea of analysis +; +#X text 484 160 bottom \, top \, right \, left; +#X text 457 181 inlet 3: parameters of contour analysis; +#X text 458 212 pix_tip: number of contiguous pixels higher than tip_scalar +to consider something a peak or valley; +#X text 482 118 mode \, thresh \, tip_scalar; +#X text 457 94 tip scalar: scalar of maximum angle to consider something +a peak or valley; +#X text 458 267 pix_samp: period of sampling of the averaged contour +; +#X text 483 281 pix_avg \, pix_tip \, min_entry_size \, min_perim \, +pix_samp; +#X text 460 592 order of outlets: 1 2 5 3 4 6; +#X text 460 340 outlet 1: elements in the raw contour (only in mode +2); +#X text 60 301 pix_mano is an object that tracks light reflecting objects +(eg. hands) over a light absorbing background (eg. black cloth). Light +reflecting objects need to enter the video frame from one of the sides +to be recognized. For example \, a white circle in the center will +not be recognized as there is no entry pount in the borders of the +frame.; +#X text 58 426 Roughly \, the object works by setting a threshold to +discriminate bewteen black and white pixels. shapes formed of white +pixels are analyzed in the order of largest entry section.; +#X text 581 628 support information in www.jaimeoliver.pe; +#X text 59 483 For each object an analysis of its contour is achieved. +(see graph option in outlet two while entering your hand into the frame). +The contours formed by a hand are averaged for smoothing and sampled +\, and then are plotted as x \, y coordinates and variation in angle +with respect to the previous sampled point. Ana analysis of this contour +provides tips (positive peaks) and valleys (negative peaks); +#X text 76 576 This object was programmed as part of the Silent Percussion +Proect \, for use in the MANO Controller. For more infomation: http://www.jaimeoliver.pe +; +#X obj 117 47 pack f f f f; +#X text 695 642 jaime.oliver@gmail.com; +#X text 715 657 joliverl-2010 v0.01; +#X obj 161 136 pix_mano; +#X text 460 326 outlet 0: the analyzed video image; +#X obj 161 176 rectangle 5.33 4; +#X text 60 383 Although this version is fully functional \, there are +still a few bugs to work on and optimizations to be achieved. It is +still in an experimental level; +#X text 476 353 [index \, x coordinate \, y coordinate \, angle]; +#X text 475 387 [index \, x coordinate \, y coordinate \, angle]; +#X text 476 421 [index of contour \, index of tip \, position (x \, +y) \, magnitude \, angle \, position in contour]; +#X text 476 462 [index of contour \, index of tip \, position (x \, +y) \, magnitude \, angle \, position in contour]; +#X text 476 504 [index of contour \, entry_point (x \, y) \, area \, +direction \, center (x \, y) \, perimeter \, entr_size \, bounds: right +(x \, y) \, left (x \, y) \, top (x \, y) \, bottom (x \, y).]; +#X text 477 555 if there were any contours = 1; +#X text 477 565 if there were no contours = 0; +#X connect 1 0 68 0; +#X connect 2 0 65 0; +#X connect 3 0 5 0; +#X connect 4 0 70 0; +#X connect 5 0 65 0; +#X connect 5 1 65 1; +#X connect 6 0 7 0; +#X connect 7 0 65 0; +#X connect 7 1 65 2; +#X connect 8 0 9 0; +#X connect 9 0 65 0; +#X connect 9 1 65 3; +#X connect 10 0 11 0; +#X connect 10 1 11 1; +#X connect 11 0 68 1; +#X connect 12 0 11 0; +#X connect 12 1 11 2; +#X connect 13 0 10 0; +#X connect 14 0 25 0; +#X connect 14 1 25 1; +#X connect 15 0 25 0; +#X connect 15 1 25 2; +#X connect 16 0 11 0; +#X connect 17 0 12 0; +#X connect 18 0 25 0; +#X connect 19 0 14 0; +#X connect 20 0 15 0; +#X connect 21 0 25 0; +#X connect 21 1 25 3; +#X connect 22 0 21 0; +#X connect 23 0 24 0; +#X connect 24 0 25 0; +#X connect 24 1 25 4; +#X connect 25 0 68 3; +#X connect 26 0 27 0; +#X connect 27 0 1 0; +#X connect 36 0 35 0; +#X connect 65 0 68 2; +#X connect 68 0 4 0; +#X connect 68 1 28 0; +#X connect 68 2 29 0; +#X connect 68 2 36 0; +#X connect 68 3 30 0; +#X connect 68 4 31 0; +#X connect 68 5 32 0; +#X connect 68 6 33 0; -- cgit v1.2.1