diff options
author | Antoine Villeret <avilleret@users.sourceforge.net> | 2014-07-10 14:39:22 +0000 |
---|---|---|
committer | Antoine Villeret <avilleret@users.sourceforge.net> | 2014-07-10 14:39:22 +0000 |
commit | ba994f4404b6eadcab4e0ead46ef4d3ffeceb024 (patch) | |
tree | 099dcc6caf1391cf23947317287623c389b9982d /pix_opencv_contours-help.pd | |
parent | e44f63152eb063b5e2e1e05e332439d7c4b7f828 (diff) |
lots of changes !
1. switch to a new build system based on automake (because we need to check for some lib on ./configure before make)
2. sort files in different directory
3. add some new features (some of them need OpenCV >= 2.4.5)
svn path=/trunk/externals/pix_opencv/; revision=17324
Diffstat (limited to 'pix_opencv_contours-help.pd')
-rw-r--r-- | pix_opencv_contours-help.pd | 594 |
1 files changed, 0 insertions, 594 deletions
diff --git a/pix_opencv_contours-help.pd b/pix_opencv_contours-help.pd deleted file mode 100644 index ec67f1e..0000000 --- a/pix_opencv_contours-help.pd +++ /dev/null @@ -1,594 +0,0 @@ -#N canvas 950 118 794 766 10; -#X obj 472 35 cnv 15 300 500 empty empty empty 20 12 0 14 -228992 -66577 -0; -#X obj 11 56 cnv 15 450 200 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X obj 11 307 cnv 15 450 380 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 13 315 Inlets:; -#X obj 11 267 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577 -0; -#X text 20 266 Arguments:; -#X text 12 436 Outlets:; -#X text 478 20 Example:; -#X text 58 21 Class: pix_opencv; -#X text 11 60 Description: finds contours; -#X text 66 276 none; -#X text 30 349 Inlet 1: message: epsilon [float]; -#X obj 353 315 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577 -0; -#N canvas 1 122 450 300 gemwin 0; -#X obj 132 156 gemwin; -#X obj 67 89 outlet; -#X obj 67 10 inlet; -#X obj 67 41 route create; -#X msg 67 70 set destroy; -#X msg 142 68 set create; -#X msg 198 112 destroy; -#X msg 132 132 reset \, dimen 640 480 \, create \, 1; -#X connect 2 0 3 0; -#X connect 3 0 4 0; -#X connect 3 0 7 0; -#X connect 3 1 5 0; -#X connect 3 1 6 0; -#X connect 4 0 1 0; -#X connect 5 0 1 0; -#X connect 6 0 0 0; -#X connect 7 0 0 0; -#X restore 358 354 pd gemwin; -#X msg 358 335 destroy; -#X text 354 314 Create window:; -#X text 30 329 Inlet 1: binarized image; -#X text 354 314 Create window:; -#X text 30 329 Inlet 1: binarized image; -#X text 20 488 info; -#X text 30 569 <number of segments> <2> <x \, y corner coordinate pairs> -; -#X text 25 447 Outlet 1: gemlist output; -#X text 25 467 Outlet 3: info output; -#X text 37 5 Synopsis: [pix_opencv_contours]; -#X text 21 558 contour (for each of them); -#X text 37 75 [pix_opencv_contours] finds contours in incomming image -\, simplifies it according to the epsilon value and outputs contours -with area greater than a threshold.; -#X text 30 339 Inlet 1: message: area threshold [float]; -#X text 25 457 Outlet 2: contour \, convexhull and convexity defect -output; -#X text 37 126 contrary to [pix_opencv_contour_convexhull] \, [pix_opencv_contours] -outputs all contours found not only the biggest.; -#X text 37 175 it can also output rotated bounding rectangle \, convexhull -and cenvexity defects; -#X text 37 215 you can choose the hierarchy level of output contour -; -#X text 37 235 so this external replaces all old pix_opencv_contours_* -; -#X text 30 599 <number of segments> <2> <x \, y corner coordinate pairs> -; -#X text 21 586 convexhull (for each contour); -#X text 20 617 convexixitydefects (for each contour); -#X text 30 629 <number of segments> <7> <start point (2 floats)> <end -point (2 floats)> <depth point (2 floats)> depth; -#X text 26 699 by antoine villeret - 2012; -#X text 16 719 bug \, feedback \, comment... on the pd-list; -#X obj 476 193 cnv 15 280 80 empty empty empty 20 12 0 14 -4034 -66577 -0; -#X obj 541 151 pix_texture; -#X obj 487 171 pix_gray; -#X obj 487 141 pix_buf; -#X obj 487 76 t b a a; -#X obj 487 57 gemhead 1; -#X msg 542 214 epsilon \$1; -#X floatatom 542 197 5 0 0 0 - - -; -#X obj 625 121 loadbang; -#X obj 541 171 rectangle 5.333 4; -#X obj 514 116 t a a; -#X msg 617 214 area \$1; -#X floatatom 617 197 5 0 0 0 - - -; -#X msg 659 142 10; -#X msg 625 141 2; -#N canvas 1171 234 474 845 draw_rotrect 0; -#X obj 71 506 GEMglVertex2d; -#X obj 71 586 GEMglVertex2d; -#X obj 71 666 GEMglVertex2d; -#X obj 71 746 GEMglVertex2d; -#X obj 71 766 GEMglEnd; -#X obj 71 277 alpha; -#X obj 143 178 list split 1; -#X obj 71 420 GEMglBegin GL_LINE_LOOP; -#X obj 177 198 list split 8; -#X msg 363 324 0 0 0 0 0 0 0 0; -#X obj 32 -8 inlet INFO; -#X obj 71 256 gemhead; -#X obj 15 147 loadbang; -#X msg 15 168 0; -#X obj 71 52 t b a b; -#X obj 211 504 list split 2; -#X obj 177 448 list split 2; -#X obj 137 472 unpack; -#X obj 211 525 unpack; -#X obj 245 564 list split 2; -#X obj 245 585 unpack; -#X obj 279 664 list split 2; -#X obj 279 685 unpack; -#X obj 90 84 list split 2; -#X obj 95 154 list append; -#X obj 292 81 t b; -#X obj 32 32 route 0; -#X floatatom 342 463 5 0 0 0 - - -; -#X obj 342 442 list length; -#X obj 71 400 GEMglLineWidth 1; -#X obj 71 327 translateXYZ -5.3333 4 0; -#X obj 71 361 scaleXYZ 10.6666 -8 0; -#X obj 124 107 list split 20; -#X obj 71 302 color 1 1 0 1; -#X obj 124 128 t b b a; -#X obj 32 13 route info; -#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 33 0; -#X connect 6 1 8 0; -#X connect 7 0 0 0; -#X connect 8 0 16 0; -#X connect 9 0 16 0; -#X connect 10 0 35 0; -#X connect 11 0 5 0; -#X connect 12 0 13 0; -#X connect 13 0 11 0; -#X connect 14 1 23 0; -#X connect 14 2 25 0; -#X connect 15 0 18 0; -#X connect 15 1 19 0; -#X connect 16 0 17 0; -#X connect 16 1 15 0; -#X connect 17 0 0 1; -#X connect 17 1 0 2; -#X connect 18 0 1 1; -#X connect 18 1 1 2; -#X connect 19 0 20 0; -#X connect 19 1 21 0; -#X connect 20 0 2 1; -#X connect 20 1 2 2; -#X connect 21 0 22 0; -#X connect 22 0 3 1; -#X connect 22 1 3 2; -#X connect 23 1 32 0; -#X connect 24 0 32 0; -#X connect 25 0 9 0; -#X connect 26 1 14 0; -#X connect 28 0 27 0; -#X connect 29 0 7 0; -#X connect 30 0 31 0; -#X connect 31 0 29 0; -#X connect 32 0 34 0; -#X connect 32 1 24 1; -#X connect 33 0 30 0; -#X connect 34 0 24 0; -#X connect 34 1 11 0; -#X connect 34 2 6 0; -#X connect 34 2 28 0; -#X connect 35 0 26 0; -#X restore 658 323 pd draw_rotrect; -#X obj 487 240 pix_opencv_contours; -#N canvas 963 313 674 695 drawdefects 0; -#X obj 191 301 gemhead; -#X obj 134 217 loadbang; -#X msg 134 238 0; -#X obj 210 116 list split 2; -#X obj 215 186 list append; -#X obj 191 375 scaleXYZ 10.6666 -8 0; -#X obj 244 160 t b b a; -#X obj 210 76 inlet DEFECTS; -#X obj 210 96 route convexitydefects; -#X obj 244 139 list split 7; -#X obj 191 335 color 1 0 0 1; -#X obj 191 355 translateXYZ -5.3333 4 0; -#N canvas 895 575 739 379 ortho_point 0; -#X obj 192 7 inlet; -#X obj 192 57 t a a; -#X obj 204 238 *; -#X obj 174 238 *; -#X obj 114 124 unpack 0 0 0 0; -#X obj 114 279 +; -#X obj 154 279 +; -#X obj 114 340 outlet; -#X obj 174 320 outlet; -#X obj 153 198 -; -#X msg 153 178 1 \$1; -#X obj 144 238 *; -#X obj 114 238 *; -#X obj 219 84 list split 6; -#X text 519 123 dot product; -#X floatatom 244 163 5 0 0 0 - - -; -#X obj 300 29 t b; -#X msg 343 68 0 1 1 1 0.5 0.5; -#X obj 219 124 expr abs(($f3-$f1)*($f6-$f2)+($f4-$f2)*($f5-$f1)); -#X obj 302 158 expr $f1*sqrt(10.666*8); -#X connect 0 0 1 0; -#X connect 1 0 4 0; -#X connect 1 1 13 0; -#X connect 2 0 6 1; -#X connect 3 0 5 1; -#X connect 4 0 12 0; -#X connect 4 1 11 0; -#X connect 4 2 3 0; -#X connect 4 3 2 0; -#X connect 5 0 7 0; -#X connect 6 0 8 0; -#X connect 9 0 11 1; -#X connect 9 0 12 1; -#X connect 10 0 9 0; -#X connect 11 0 6 0; -#X connect 12 0 5 0; -#X connect 13 0 18 0; -#X connect 16 0 17 0; -#X connect 17 0 1 0; -#X connect 18 0 15 0; -#X connect 18 0 19 0; -#X connect 19 0 2 1; -#X connect 19 0 3 1; -#X connect 19 0 10 0; -#X restore 328 515 pd ortho_point; -#X obj 191 475 translateXYZ 10.6666 -8 0; -#X msg 240 451 \$5; -#X msg 289 451 \$6; -#X obj 191 556 circle 0.01; -#X msg 204 530 draw line; -#X obj 204 506 loadbang; -#X obj 354 369 t a; -#X connect 0 0 10 0; -#X connect 1 0 2 0; -#X connect 2 0 0 0; -#X connect 3 1 9 0; -#X connect 4 0 9 0; -#X connect 5 0 13 0; -#X connect 6 0 4 0; -#X connect 6 1 0 0; -#X connect 6 2 19 0; -#X connect 7 0 8 0; -#X connect 8 0 3 0; -#X connect 9 0 6 0; -#X connect 9 1 4 1; -#X connect 10 0 11 0; -#X connect 11 0 5 0; -#X connect 13 0 16 0; -#X connect 14 0 13 1; -#X connect 15 0 13 2; -#X connect 17 0 16 0; -#X connect 18 0 17 0; -#X connect 19 0 15 0; -#X connect 19 0 14 0; -#X restore 542 294 pd drawdefects; -#N canvas 791 386 1126 291 options 0; -#X obj 57 147 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 1 -1; -#X msg 57 167 contours \$1; -#X obj 57 251 outlet; -#X obj 147 147 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X obj 247 147 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X msg 147 167 convexhulls \$1; -#X msg 247 167 convexitydefects \$1; -#X text 25 57 set hierarchy level (which contour to send out); -#X obj 24 83 nbx 5 14 -1 1e+37 0 1 empty empty empty 0 -8 0 10 -262144 --1 -1 -1 256; -#X msg 24 100 hierarchy_level \$1; -#X text 71 125 send out different kind of infos (all on by default) -:; -#X text 25 67 -1 for all contours (default); -#X obj 564 89 table drawX 1000; -#X obj 564 109 table drawY 1000; -#X obj 564 129 table drawZ 1000; -#X msg 559 168 settab drawX drawY drawZ; -#X obj 558 200 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X msg 558 229 taboutput \$1; -#X text 544 5 to improve performance and avoid "stack overflow" (because -contours could a huge number of points) you can use table output instead -of list output; -#X text 550 71 first set some tables (they are dynamically resized) -; -#X text 550 151 tell it what tables to use; -#X text 582 200 enable disable table output (automatically enable when -ou set table); -#X text 569 256 see [pd draw_contour_gemvertexbuffer] for an example -of drawing contours; -#N canvas 793 182 596 300 draw_contour_gemvertexbuffer 0; -#X obj 175 173 loadbang; -#X obj 135 65 translateXYZ -0.5 -0.5 0; -#X obj 135 42 scaleXYZ 10.6666 -8 1; -#X obj 135 87 t a b; -#X obj 135 -9 gemhead 1000; -#X obj 135 17 alpha 0; -#X msg 161 130 posX drawX \, posY drawY \, colorG drawZ \, colorA drawZ -; -#X msg 175 193 draw line; -#X obj 135 245 gemvertexbuffer; -#X obj 161 108 inlet; -#X obj 269 174 r point_number; -#X msg 269 201 resize \$1; -#X floatatom 342 206 5 0 0 0 - - -; -#X connect 0 0 7 0; -#X connect 1 0 3 0; -#X connect 2 0 1 0; -#X connect 3 0 8 0; -#X connect 3 1 6 0; -#X connect 4 0 5 0; -#X connect 5 0 2 0; -#X connect 6 0 8 0; -#X connect 7 0 8 0; -#X connect 9 0 6 0; -#X connect 10 0 11 0; -#X connect 10 0 12 0; -#X connect 11 0 8 0; -#X restore 797 147 pd draw_contour_gemvertexbuffer; -#X obj 797 126 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X text 813 127 draw with gemvertexbuffer; -#X msg 379 80 repeat_point \$1; -#X floatatom 379 62 5 0 0 0 - - -; -#X text 348 47 repeat the first point n times; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 3 0 5 0; -#X connect 4 0 6 0; -#X connect 5 0 2 0; -#X connect 6 0 2 0; -#X connect 8 0 9 0; -#X connect 9 0 2 0; -#X connect 15 0 2 0; -#X connect 16 0 17 0; -#X connect 17 0 2 0; -#X connect 24 0 23 0; -#X connect 26 0 2 0; -#X connect 27 0 26 0; -#X restore 674 213 pd options; -#X text 489 347 color legend :; -#X text 522 364 yellow = bounding box; -#X text 528 374 green = contour; -#X text 534 385 blue = convexhull; -#X text 534 397 pink = convexhull edge with defects; -#X text 540 409 red = farthest point from convexhull; -#N canvas 1 128 632 734 draw_contours 0; -#X obj 178 132 list split 2; -#X obj 170 593 GEMglEnd; -#X obj 300 590 GEMglVertex2d; -#X obj 212 263 list append; -#X obj 241 237 t b a; -#X obj 241 216 list split 2; -#X obj 341 495 unpack; -#X obj 310 257 t b a; -#X obj 429 319 color 1 0 0 1; -#X obj 405 545 * -8; -#X obj 405 565 + 4; -#X obj 429 377 GEMglLineWidth 2; -#X obj 341 545 * 10.6666; -#X obj 341 565 - 5.33333; -#X obj 170 564 gemlist; -#X obj 300 421 gemlist; -#X obj 468 227 gemhead; -#X obj 468 172 loadbang; -#X msg 468 193 0; -#X obj 133 161 unpack 0 0; -#X floatatom 133 182 5 0 0 0 nb_of_segments - -; -#X obj 107 -65 inlet CONTOUR; -#X obj 429 289 gemlist; -#X obj 212 159 t b a b b; -#X obj 106 -44 route convexhull contour convexitydefects; -#X obj 187 1 t a b; -#X msg 513 275 0 0 1 1; -#X msg 505 254 0 1 0 1; -#X obj 106 0 t a b; -#X obj 268 1 list split 2; -#X obj 290 96 list append; -#X obj 319 76 t b a; -#X obj 302 28 t b a b b; -#X obj 268 -19 t a b; -#X msg 523 295 1 0 1 1; -#X obj 319 55 list split 7; -#X obj 346 116 list split 4; -#X obj 429 414 GEMglBegin GL_LINE_LOOP; -#X connect 0 0 19 0; -#X connect 0 1 23 0; -#X connect 3 0 5 0; -#X connect 4 0 3 0; -#X connect 4 1 7 0; -#X connect 5 0 4 0; -#X connect 5 1 3 1; -#X connect 6 0 12 0; -#X connect 6 1 9 0; -#X connect 7 0 15 0; -#X connect 7 1 6 0; -#X connect 8 0 11 0; -#X connect 9 0 10 0; -#X connect 10 0 2 2; -#X connect 11 0 37 0; -#X connect 12 0 13 0; -#X connect 13 0 2 1; -#X connect 14 0 1 0; -#X connect 15 0 2 0; -#X connect 16 0 15 1; -#X connect 16 0 14 1; -#X connect 16 0 22 1; -#X connect 17 0 18 0; -#X connect 18 0 16 0; -#X connect 19 0 20 0; -#X connect 21 0 24 0; -#X connect 22 0 8 0; -#X connect 23 0 14 0; -#X connect 23 1 5 0; -#X connect 23 2 22 0; -#X connect 23 3 16 0; -#X connect 24 0 28 0; -#X connect 24 1 25 0; -#X connect 24 2 33 0; -#X connect 25 0 0 0; -#X connect 25 1 27 0; -#X connect 26 0 8 1; -#X connect 27 0 8 1; -#X connect 28 0 0 0; -#X connect 28 1 26 0; -#X connect 29 1 32 0; -#X connect 30 0 35 0; -#X connect 31 0 30 0; -#X connect 31 1 36 0; -#X connect 32 1 35 0; -#X connect 33 0 29 0; -#X connect 33 1 34 0; -#X connect 34 0 8 1; -#X connect 35 0 31 0; -#X connect 35 1 30 1; -#X connect 36 0 23 0; -#X restore 486 320 pd draw_contours; -#N canvas 231 255 816 668 info 0; -#X obj -187 105 cnv 15 250 40 empty empty empty 20 12 0 14 -4034 -66577 -0; -#X obj -78 302 cnv 15 350 20 empty empty empty 20 12 0 14 -4034 -66577 -0; -#X obj 4 342 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577 -0; -#X obj 54 384 cnv 15 350 60 empty empty empty 20 12 0 14 -4034 -66577 -0; -#X obj 152 -29 cnv 15 100 40 empty empty empty 20 12 0 14 -4034 -66577 -0; -#X obj -131 247 cnv 15 330 50 empty empty empty 20 12 0 14 -4034 -66577 -0; -#X obj 105 16 inlet; -#X obj 105 67 list split 2; -#X obj 139 97 list split 20; -#X text 189 70 cut matrix header; -#X text 226 98 cut infos for the 1st contour; -#X obj 77 154 list split 1; -#X floatatom 77 216 5 0 0 0 - - -; -#X obj 201 284 unpack; -#X floatatom 201 304 5 0 0 0 - - -; -#X floatatom 234 304 5 0 0 0 - - -; -#X obj 105 38 route info; -#X text -65 304 rotated rectangle center point (normalized); -#X obj 201 234 list split 2; -#X obj 235 324 unpack; -#X floatatom 235 344 5 0 0 0 - - -; -#X floatatom 268 344 5 0 0 0 - - -; -#X obj 235 254 list split 2; -#X text 19 344 rotated rectangle size (normalized); -#X text -60 214 contour area in pixels; -#X floatatom 269 384 5 0 0 0 - - -; -#X floatatom 303 404 5 0 0 0 - - -; -#X text 68 384 rotated rectangle angle (degrees); -#X obj 111 174 list split 8; -#X floatatom 174 -7 5 0 0 0 - - -; -#X obj 174 12 * 20; -#X obj 174 34 + 2; -#X obj 269 364 unpack f f f; -#X floatatom 338 424 5 0 0 0 - - -; -#X text 154 -25 selected contour; -#X obj -4 86 unpack; -#X floatatom -4 107 5 0 0 0 - - -; -#X floatatom 29 128 5 0 0 0 - - -; -#X text -172 104 number of detected contours; -#X text -181 127 numbers of values for each contour; -#X obj 111 194 list prepend set; -#X obj 111 214 list trim; -#X msg -120 262 0.681584 0.808552 0.679688 0.789583 0.704353 0.785198 -0.70625 0.804167; -#X text -123 245 rotrect corners coordinates; -#X text 160 424 length of contour (in pixels); -#X obj 450 153 list split 20; -#X obj 450 175 t b a; -#X obj 497 222 list; -#X msg 477 259 \$15; -#X obj 477 281 +; -#X obj 505 281 f; -#X msg 500 122 0; -#X obj 462 303 f; -#X obj 431 119 t b a b; -#X floatatom 462 325 5 0 0 0 - - -; -#X text 325 323 total number of points; -#X obj 462 343 s point_number; -#X text 201 403 number of points; -#X connect 6 0 16 0; -#X connect 7 0 35 0; -#X connect 7 1 8 0; -#X connect 7 1 53 0; -#X connect 8 0 11 0; -#X connect 11 0 12 0; -#X connect 11 1 28 0; -#X connect 13 0 14 0; -#X connect 13 1 15 0; -#X connect 16 0 7 0; -#X connect 18 0 13 0; -#X connect 18 1 22 0; -#X connect 19 0 20 0; -#X connect 19 1 21 0; -#X connect 22 0 19 0; -#X connect 22 1 32 0; -#X connect 28 0 40 0; -#X connect 28 1 18 0; -#X connect 29 0 30 0; -#X connect 30 0 31 0; -#X connect 31 0 7 1; -#X connect 32 0 25 0; -#X connect 32 1 26 0; -#X connect 32 2 33 0; -#X connect 35 0 36 0; -#X connect 35 1 37 0; -#X connect 35 1 30 1; -#X connect 40 0 41 0; -#X connect 41 0 42 0; -#X connect 45 0 46 0; -#X connect 45 1 47 1; -#X connect 46 0 47 0; -#X connect 46 1 48 0; -#X connect 47 0 45 0; -#X connect 48 0 49 0; -#X connect 49 0 50 0; -#X connect 49 0 52 1; -#X connect 50 0 49 1; -#X connect 51 0 49 1; -#X connect 52 0 54 0; -#X connect 53 0 52 0; -#X connect 53 1 45 0; -#X connect 53 2 51 0; -#X connect 54 0 56 0; -#X restore 675 294 pd info; -#X text 29 498 <num of contour> 20 <contour area> <rotrect corners -coordinates (8 floats)> <rotrect center position (2 floats)> <rotrect -size (2 floats)> <angle in degrees> <number of points> <contour length> -0 0 0 0; -#X obj 554 32 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X text 30 369 Inlet 1: message: contours <0|1>; -#X text 30 379 Inlet 1: message: convexhull <0|1>; -#X text 30 389 Inlet 1: message: convexitydefects <0|1>; -#X text 30 399 Inlet 1: message: settab tabname1 tabname2 tabname3 -; -#X text 30 409 Inlet 1: message: taboutput <0|1>; -#X text 30 359 Inlet 1: message: hierarchy_level [float]; -#X obj 514 96 pix_image examples/dessin.tif; -#X connect 13 0 14 0; -#X connect 14 0 13 0; -#X connect 39 0 47 0; -#X connect 40 0 54 0; -#X connect 41 0 40 0; -#X connect 42 0 41 0; -#X connect 42 1 73 0; -#X connect 43 0 42 0; -#X connect 44 0 54 0; -#X connect 45 0 44 0; -#X connect 46 0 52 0; -#X connect 46 0 51 0; -#X connect 48 0 41 0; -#X connect 48 1 39 0; -#X connect 49 0 54 0; -#X connect 50 0 49 0; -#X connect 51 0 50 0; -#X connect 52 0 45 0; -#X connect 54 1 55 0; -#X connect 54 1 63 0; -#X connect 54 2 64 0; -#X connect 54 2 53 0; -#X connect 56 0 54 0; -#X connect 66 0 43 0; -#X connect 73 0 48 0; |