aboutsummaryrefslogtreecommitdiff
path: root/patches/morphology
diff options
context:
space:
mode:
authorN.N. <sevyves@users.sourceforge.net>2004-11-14 23:05:44 +0000
committerN.N. <sevyves@users.sourceforge.net>2004-11-14 23:05:44 +0000
commita9cfc5852d75ca1c62e4c97e3334c99ee2f2f9a8 (patch)
tree6f6e19f6504a051015b0a18506c52f7197223dd5 /patches/morphology
parentbf6d0609625714ed52acf19a007a378645de2faa (diff)
PiDiP 0.12.17
svn path=/trunk/externals/pidip/; revision=2273
Diffstat (limited to 'patches/morphology')
-rw-r--r--patches/morphology/help-closing.pd98
-rw-r--r--patches/morphology/help-opening.pd98
-rw-r--r--patches/morphology/help-skeletization.pd113
-rw-r--r--patches/morphology/help-thickening.pd100
-rw-r--r--patches/morphology/help-thinning.pd95
5 files changed, 504 insertions, 0 deletions
diff --git a/patches/morphology/help-closing.pd b/patches/morphology/help-closing.pd
new file mode 100644
index 0000000..de4f8a8
--- /dev/null
+++ b/patches/morphology/help-closing.pd
@@ -0,0 +1,98 @@
+#N canvas 381 0 781 666 10;
+#X obj 341 20 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 196 92 loop \$1;
+#X obj 197 70 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 1
+;
+#X msg 453 93 open \$1;
+#X obj 452 69 openpanel;
+#X obj 437 52 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 389 55 5 0 0 0 - - -;
+#X msg 298 21 stop;
+#X obj 396 24 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 6900 1;
+#X obj 330 91 metro 70;
+#X obj 325 123 pdp_yqt;
+#X obj 25 193 pdp_v4l;
+#X obj 34 162 metro 70;
+#X obj 79 128 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 36 129 stop;
+#X msg 121 160 open /dev/video;
+#X text 301 612 written by Yves Degoyon ( ydegoyon@free.fr );
+#X msg 31 236 pick;
+#X floatatom 248 262 5 0 0 0 - - -;
+#X obj 594 197 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 594 249 pdp_control;
+#X msg 594 222 thread \$1;
+#X floatatom 594 310 5 0 0 0 - - -;
+#X obj 594 281 route pdp_drop;
+#X msg 72 237 setcur \$1 \$2;
+#X floatatom 174 328 5 0 0 0 - - -;
+#X floatatom 224 329 5 0 0 0 - - -;
+#X floatatom 271 328 5 0 0 0 - - -;
+#X text 294 261 Tolerance ( default = 55 );
+#X obj 138 289 pdp_binary ----;
+#X obj 41 369 route press drag release;
+#X msg 42 311 cursor 1;
+#X floatatom 250 370 5 0 0 0 - - -;
+#X text 296 369 Number of passes ( default = 1 );
+#X obj 41 342 pdp_glx;
+#X floatatom 271 396 5 0 0 0 - - -;
+#X floatatom 292 420 5 0 0 0 - - -;
+#X text 317 395 Kernel width ( default = 3 );
+#X text 337 417 Kernel height ( default = 3 );
+#X floatatom 265 450 5 0 0 0 - - -;
+#X text 311 449 Number of passes ( default = 1 );
+#X text 302 594 morphology : opening;
+#X obj 148 550 pdp_glx;
+#X obj 61 508 pdp_xor;
+#X obj 61 547 pdp_glx;
+#X obj 148 437 pdp_dilate ----;
+#X obj 148 509 pdp_erode ----;
+#X connect 0 0 9 0;
+#X connect 1 0 10 0;
+#X connect 2 0 1 0;
+#X connect 3 0 10 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 9 1;
+#X connect 7 0 9 0;
+#X connect 8 0 6 0;
+#X connect 9 0 10 0;
+#X connect 10 0 29 0;
+#X connect 11 0 29 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 11 0;
+#X connect 17 0 29 0;
+#X connect 18 0 29 6;
+#X connect 19 0 21 0;
+#X connect 20 0 23 0;
+#X connect 21 0 20 0;
+#X connect 23 0 22 0;
+#X connect 24 0 17 0;
+#X connect 24 0 29 0;
+#X connect 29 0 34 0;
+#X connect 29 0 31 0;
+#X connect 29 0 43 0;
+#X connect 29 0 45 0;
+#X connect 29 1 25 0;
+#X connect 29 2 26 0;
+#X connect 29 3 27 0;
+#X connect 30 0 24 0;
+#X connect 31 0 34 0;
+#X connect 32 0 45 1;
+#X connect 34 0 30 0;
+#X connect 35 0 45 2;
+#X connect 35 0 46 2;
+#X connect 36 0 45 3;
+#X connect 36 0 46 3;
+#X connect 39 0 46 1;
+#X connect 43 0 44 0;
+#X connect 45 0 46 0;
+#X connect 46 0 42 0;
+#X connect 46 0 43 1;
diff --git a/patches/morphology/help-opening.pd b/patches/morphology/help-opening.pd
new file mode 100644
index 0000000..660a59e
--- /dev/null
+++ b/patches/morphology/help-opening.pd
@@ -0,0 +1,98 @@
+#N canvas 381 0 781 666 10;
+#X obj 341 20 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 196 92 loop \$1;
+#X obj 197 70 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1 1
+;
+#X msg 453 93 open \$1;
+#X obj 452 69 openpanel;
+#X obj 437 52 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 389 55 5 0 0 0 - - -;
+#X msg 298 21 stop;
+#X obj 396 24 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 330 91 metro 70;
+#X obj 325 123 pdp_yqt;
+#X obj 25 193 pdp_v4l;
+#X obj 34 162 metro 70;
+#X obj 79 128 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 36 129 stop;
+#X msg 121 160 open /dev/video;
+#X text 301 612 written by Yves Degoyon ( ydegoyon@free.fr );
+#X msg 31 236 pick;
+#X floatatom 248 262 5 0 0 0 - - -;
+#X obj 594 197 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 594 249 pdp_control;
+#X msg 594 222 thread \$1;
+#X floatatom 594 310 5 0 0 0 - - -;
+#X obj 594 281 route pdp_drop;
+#X msg 72 237 setcur \$1 \$2;
+#X floatatom 174 328 5 0 0 0 - - -;
+#X floatatom 224 329 5 0 0 0 - - -;
+#X floatatom 271 328 5 0 0 0 - - -;
+#X text 294 261 Tolerance ( default = 55 );
+#X obj 138 289 pdp_binary ----;
+#X obj 41 369 route press drag release;
+#X msg 42 311 cursor 1;
+#X floatatom 250 370 5 0 0 0 - - -;
+#X text 296 369 Number of passes ( default = 1 );
+#X obj 41 342 pdp_glx;
+#X floatatom 271 396 5 0 0 0 - - -;
+#X floatatom 292 420 5 0 0 0 - - -;
+#X text 317 395 Kernel width ( default = 3 );
+#X text 337 417 Kernel height ( default = 3 );
+#X obj 148 437 pdp_erode ----;
+#X floatatom 265 450 5 0 0 0 - - -;
+#X text 311 449 Number of passes ( default = 1 );
+#X text 302 594 morphology : opening;
+#X obj 148 509 pdp_dilate ----;
+#X obj 148 550 pdp_glx;
+#X obj 61 508 pdp_xor;
+#X obj 61 547 pdp_glx;
+#X connect 0 0 9 0;
+#X connect 1 0 10 0;
+#X connect 2 0 1 0;
+#X connect 3 0 10 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 9 1;
+#X connect 7 0 9 0;
+#X connect 8 0 6 0;
+#X connect 9 0 10 0;
+#X connect 10 0 29 0;
+#X connect 11 0 29 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 11 0;
+#X connect 17 0 29 0;
+#X connect 18 0 29 6;
+#X connect 19 0 21 0;
+#X connect 20 0 23 0;
+#X connect 21 0 20 0;
+#X connect 23 0 22 0;
+#X connect 24 0 17 0;
+#X connect 24 0 29 0;
+#X connect 29 0 34 0;
+#X connect 29 0 31 0;
+#X connect 29 0 39 0;
+#X connect 29 0 45 0;
+#X connect 29 1 25 0;
+#X connect 29 2 26 0;
+#X connect 29 3 27 0;
+#X connect 30 0 24 0;
+#X connect 31 0 34 0;
+#X connect 32 0 39 1;
+#X connect 34 0 30 0;
+#X connect 35 0 39 2;
+#X connect 35 0 43 2;
+#X connect 36 0 39 3;
+#X connect 36 0 43 3;
+#X connect 39 0 43 0;
+#X connect 40 0 43 1;
+#X connect 43 0 44 0;
+#X connect 43 0 45 1;
+#X connect 45 0 46 0;
diff --git a/patches/morphology/help-skeletization.pd b/patches/morphology/help-skeletization.pd
new file mode 100644
index 0000000..342f6cb
--- /dev/null
+++ b/patches/morphology/help-skeletization.pd
@@ -0,0 +1,113 @@
+#N canvas 368 0 781 666 10;
+#X obj 341 20 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 196 92 loop \$1;
+#X obj 197 70 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1 1
+;
+#X msg 453 93 open \$1;
+#X obj 452 69 openpanel;
+#X obj 437 52 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 389 55 5 0 0 0 - - -;
+#X msg 298 21 stop;
+#X obj 396 24 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 330 91 metro 70;
+#X obj 325 123 pdp_yqt;
+#X obj 25 193 pdp_v4l;
+#X obj 34 162 metro 70;
+#X obj 79 128 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 36 129 stop;
+#X msg 121 160 open /dev/video;
+#X obj 594 197 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 594 249 pdp_control;
+#X msg 594 222 thread \$1;
+#X floatatom 594 310 5 0 0 0 - - -;
+#X obj 594 281 route pdp_drop;
+#X obj 114 339 pdp_distance ----;
+#X obj 287 289 pdp_glx;
+#X text 297 552 morphology : skeletization;
+#X text 297 570 written by Yves Degoyon ( ydegoyon@free.fr );
+#X floatatom 270 471 5 0 0 0 - - -;
+#X floatatom 150 510 5 0 0 0 - - -;
+#X floatatom 200 511 5 0 0 0 - - -;
+#X floatatom 247 510 5 0 0 0 - - -;
+#X text 270 443 Tolerance ( default = 55 );
+#X obj 114 471 pdp_binary ----;
+#X floatatom 110 445 5 0 0 0 - - -;
+#X text 157 443 Luma component;
+#X obj 138 413 pdp_glx;
+#X obj 347 470 loadbang;
+#X obj 114 289 pdp_binary ----;
+#X floatatom 228 257 5 0 0 0 - - -;
+#X text 275 256 Tolerance ( default = 55 );
+#X obj 114 543 pdp_glx;
+#X obj 114 384 pdp_gain;
+#X floatatom 176 363 5 0 0 0 - - -;
+#X msg 229 362 2;
+#X obj 264 362 loadbang;
+#X obj 11 445 loadbang;
+#X msg 76 444 200;
+#X msg 313 471 55;
+#X msg 116 240 pick;
+#X msg 115 262 setcur \$1 \$2;
+#X floatatom 148 317 5 0 0 0 - - -;
+#X floatatom 189 317 5 0 0 0 - - -;
+#X floatatom 236 317 5 0 0 0 - - -;
+#X obj 287 315 route press drag release;
+#X msg 227 232 cursor 1;
+#X obj 344 161 pdp_glx;
+#X connect 0 0 9 0;
+#X connect 1 0 10 0;
+#X connect 2 0 1 0;
+#X connect 3 0 10 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 9 1;
+#X connect 7 0 9 0;
+#X connect 8 0 6 0;
+#X connect 9 0 10 0;
+#X connect 10 0 35 0;
+#X connect 10 0 52 0;
+#X connect 10 0 53 0;
+#X connect 11 0 35 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 11 0;
+#X connect 16 0 18 0;
+#X connect 17 0 20 0;
+#X connect 18 0 17 0;
+#X connect 20 0 19 0;
+#X connect 21 0 39 0;
+#X connect 22 0 51 0;
+#X connect 25 0 30 6;
+#X connect 30 0 38 0;
+#X connect 30 1 26 0;
+#X connect 30 2 27 0;
+#X connect 30 3 28 0;
+#X connect 31 0 30 1;
+#X connect 34 0 45 0;
+#X connect 35 0 22 0;
+#X connect 35 0 21 0;
+#X connect 35 1 48 0;
+#X connect 35 2 49 0;
+#X connect 35 3 50 0;
+#X connect 36 0 35 6;
+#X connect 39 0 33 0;
+#X connect 39 0 30 0;
+#X connect 40 0 39 1;
+#X connect 41 0 40 0;
+#X connect 42 0 41 0;
+#X connect 43 0 44 0;
+#X connect 44 0 31 0;
+#X connect 45 0 25 0;
+#X connect 46 0 35 0;
+#X connect 47 0 46 0;
+#X connect 47 0 35 0;
+#X connect 51 0 47 0;
+#X connect 52 0 22 0;
+#X connect 52 0 53 0;
+#X connect 53 0 51 0;
diff --git a/patches/morphology/help-thickening.pd b/patches/morphology/help-thickening.pd
new file mode 100644
index 0000000..4bb41ca
--- /dev/null
+++ b/patches/morphology/help-thickening.pd
@@ -0,0 +1,100 @@
+#N canvas 381 0 781 666 10;
+#X obj 341 20 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 196 92 loop \$1;
+#X obj 197 70 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1 1
+;
+#X msg 453 93 open \$1;
+#X obj 452 69 openpanel;
+#X obj 437 52 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 389 55 5 0 0 0 - - -;
+#X msg 298 21 stop;
+#X obj 396 24 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 330 91 metro 70;
+#X obj 325 123 pdp_yqt;
+#X obj 25 193 pdp_v4l;
+#X obj 34 162 metro 70;
+#X obj 79 128 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 36 129 stop;
+#X msg 121 160 open /dev/video;
+#X text 306 611 written by Yves Degoyon ( ydegoyon@free.fr );
+#X msg 31 236 pick;
+#X floatatom 248 262 5 0 0 0 - - -;
+#X obj 594 197 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 594 249 pdp_control;
+#X msg 594 222 thread \$1;
+#X floatatom 594 310 5 0 0 0 - - -;
+#X obj 594 281 route pdp_drop;
+#X msg 72 237 setcur \$1 \$2;
+#X floatatom 174 328 5 0 0 0 - - -;
+#X floatatom 224 329 5 0 0 0 - - -;
+#X floatatom 271 328 5 0 0 0 - - -;
+#X text 294 261 Tolerance ( default = 55 );
+#X obj 41 369 route press drag release;
+#X msg 42 311 cursor 1;
+#X text 296 369 Number of passes ( default = 1 );
+#X floatatom 271 396 5 0 0 0 - - -;
+#X floatatom 292 420 5 0 0 0 - - -;
+#X text 317 395 Kernel width ( default = 3 );
+#X text 338 418 Kernel height ( default = 3 );
+#X obj 143 501 pdp_hitandmiss ----;
+#X obj 41 342 pdp_glx;
+#X obj 63 576 pdp_glx;
+#X obj 138 289 pdp_binary ----;
+#X text 307 594 morphology : thinning;
+#X floatatom 247 368 5 0 0 0 - - -;
+#X msg 329 494 kernel -1 1 -1 0 1 1 0 0 -1;
+#X msg 327 471 kernel 1 1 -1 1 0 -1 1 -1 0;
+#X obj 327 444 loadbang;
+#X obj 64 550 pdp_or;
+#X obj 152 560 pdp_xor;
+#X obj 152 589 pdp_glx;
+#X connect 0 0 9 0;
+#X connect 1 0 10 0;
+#X connect 2 0 1 0;
+#X connect 3 0 10 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 9 1;
+#X connect 7 0 9 0;
+#X connect 8 0 6 0;
+#X connect 9 0 10 0;
+#X connect 10 0 39 0;
+#X connect 11 0 39 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 11 0;
+#X connect 17 0 39 0;
+#X connect 18 0 39 6;
+#X connect 19 0 21 0;
+#X connect 20 0 23 0;
+#X connect 21 0 20 0;
+#X connect 23 0 22 0;
+#X connect 24 0 17 0;
+#X connect 24 0 39 0;
+#X connect 29 0 24 0;
+#X connect 30 0 37 0;
+#X connect 32 0 36 2;
+#X connect 33 0 36 3;
+#X connect 36 0 45 1;
+#X connect 37 0 29 0;
+#X connect 39 0 30 0;
+#X connect 39 0 36 0;
+#X connect 39 0 37 0;
+#X connect 39 0 45 0;
+#X connect 39 0 46 1;
+#X connect 39 1 25 0;
+#X connect 39 2 26 0;
+#X connect 39 3 27 0;
+#X connect 41 0 36 1;
+#X connect 42 0 36 0;
+#X connect 43 0 36 0;
+#X connect 44 0 43 0;
+#X connect 45 0 38 0;
+#X connect 45 0 46 0;
+#X connect 46 0 47 0;
diff --git a/patches/morphology/help-thinning.pd b/patches/morphology/help-thinning.pd
new file mode 100644
index 0000000..5b49da0
--- /dev/null
+++ b/patches/morphology/help-thinning.pd
@@ -0,0 +1,95 @@
+#N canvas 381 0 781 666 10;
+#X obj 341 20 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 196 92 loop \$1;
+#X obj 197 70 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 1 1
+;
+#X msg 453 93 open \$1;
+#X obj 452 69 openpanel;
+#X obj 437 52 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X floatatom 389 55 5 0 0 0 - - -;
+#X msg 298 21 stop;
+#X obj 396 24 hsl 300 15 0 1000 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 330 91 metro 70;
+#X obj 325 123 pdp_yqt;
+#X obj 25 193 pdp_v4l;
+#X obj 34 162 metro 70;
+#X obj 79 128 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X msg 36 129 stop;
+#X msg 121 160 open /dev/video;
+#X text 306 611 written by Yves Degoyon ( ydegoyon@free.fr );
+#X msg 31 236 pick;
+#X floatatom 248 262 5 0 0 0 - - -;
+#X obj 594 197 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 594 249 pdp_control;
+#X msg 594 222 thread \$1;
+#X floatatom 594 310 5 0 0 0 - - -;
+#X obj 594 281 route pdp_drop;
+#X msg 72 237 setcur \$1 \$2;
+#X floatatom 174 328 5 0 0 0 - - -;
+#X floatatom 224 329 5 0 0 0 - - -;
+#X floatatom 271 328 5 0 0 0 - - -;
+#X text 294 261 Tolerance ( default = 55 );
+#X obj 41 369 route press drag release;
+#X msg 42 311 cursor 1;
+#X text 296 369 Number of passes ( default = 1 );
+#X floatatom 271 396 5 0 0 0 - - -;
+#X floatatom 292 420 5 0 0 0 - - -;
+#X text 317 395 Kernel width ( default = 3 );
+#X text 338 418 Kernel height ( default = 3 );
+#X obj 143 501 pdp_hitandmiss ----;
+#X obj 41 342 pdp_glx;
+#X obj 63 576 pdp_glx;
+#X obj 138 289 pdp_binary ----;
+#X text 307 594 morphology : thinning;
+#X floatatom 247 368 5 0 0 0 - - -;
+#X msg 329 494 kernel -1 1 -1 0 1 1 0 0 -1;
+#X obj 64 551 pdp_xor;
+#X msg 327 471 kernel -1 -1 -1 -1 1 -1 1 1 1;
+#X obj 326 444 loadbang;
+#X connect 0 0 9 0;
+#X connect 1 0 10 0;
+#X connect 2 0 1 0;
+#X connect 3 0 10 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 9 1;
+#X connect 7 0 9 0;
+#X connect 8 0 6 0;
+#X connect 9 0 10 0;
+#X connect 10 0 39 0;
+#X connect 11 0 39 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 12 0;
+#X connect 15 0 11 0;
+#X connect 17 0 39 0;
+#X connect 18 0 39 6;
+#X connect 19 0 21 0;
+#X connect 20 0 23 0;
+#X connect 21 0 20 0;
+#X connect 23 0 22 0;
+#X connect 24 0 17 0;
+#X connect 24 0 39 0;
+#X connect 29 0 24 0;
+#X connect 30 0 37 0;
+#X connect 32 0 36 2;
+#X connect 33 0 36 3;
+#X connect 36 0 43 1;
+#X connect 37 0 29 0;
+#X connect 39 0 30 0;
+#X connect 39 0 36 0;
+#X connect 39 0 37 0;
+#X connect 39 0 43 0;
+#X connect 39 1 25 0;
+#X connect 39 2 26 0;
+#X connect 39 3 27 0;
+#X connect 41 0 36 1;
+#X connect 42 0 36 0;
+#X connect 43 0 38 0;
+#X connect 44 0 36 0;
+#X connect 45 0 44 0;