Coverage for examples/symmFootprint.py: 0%
990 statements
« prev ^ index » next coverage.py v6.4.2, created at 2022-08-03 03:09 -0700
« prev ^ index » next coverage.py v6.4.2, created at 2022-08-03 03:09 -0700
1try:
2 import matplotlib
3 matplotlib.use('Agg')
4 import pylab as plt
5except ImportError:
6 plt = None
8import lsst.afw.detection as afwDet
9import lsst.afw.image as afwImg
10import lsst.meas.deblender as measDeblend
13def main():
14 butils = measDeblend.BaselineUtilsF
16 foot = buildExample2()
18 fbb = foot.getBBox()
19 mask1 = afwImg.Mask(fbb.getWidth(), fbb.getHeight())
20 mask1.setXY0(fbb.getMinX(), fbb.getMinY())
21 afwDet.setMaskFromFootprint(mask1, foot, 1)
23 if plt:
24 plt.clf()
25 plt.imshow(mask1.getArray(), origin='lower', interpolation='nearest',
26 extent=(fbb.getMinX(), fbb.getMaxX(), fbb.getMinY(), fbb.getMaxY()))
27 plt.gray()
28 plt.savefig('foot2.png')
30 sfoot = butils.symmetrizeFootprint(foot, 355, 227)
32 mask2 = afwImg.Mask(fbb.getWidth(), fbb.getHeight())
33 mask2.setXY0(fbb.getMinX(), fbb.getMinY())
34 afwDet.setMaskFromFootprint(mask2, sfoot, 1)
36 plt.clf()
37 plt.imshow(mask2.getArray(), origin='lower', interpolation='nearest',
38 extent=(fbb.getMinX(), fbb.getMaxX(), fbb.getMinY(), fbb.getMaxY()))
39 plt.gray()
40 plt.savefig('sfoot3.png')
42 # plt.plot([364], [111], 'r.')
43 # plt.plot([367], [117], 'r.')
44 # plt.savefig('sfoot4.png')
47def buildExample():
48 foot = afwDet.Footprint()
49 foot.addSpan(12, 275, 432)
50 foot.addSpan(13, 274, 440)
51 foot.addSpan(14, 272, 443)
52 foot.addSpan(15, 271, 444)
53 foot.addSpan(16, 271, 444)
54 foot.addSpan(17, 270, 444)
55 foot.addSpan(18, 270, 444)
56 foot.addSpan(19, 270, 445)
57 foot.addSpan(20, 270, 436)
58 foot.addSpan(20, 438, 445)
59 foot.addSpan(21, 271, 434)
60 foot.addSpan(21, 440, 445)
61 foot.addSpan(22, 271, 433)
62 foot.addSpan(23, 272, 434)
63 foot.addSpan(24, 272, 435)
64 foot.addSpan(25, 273, 436)
65 foot.addSpan(26, 273, 437)
66 foot.addSpan(27, 272, 438)
67 foot.addSpan(28, 271, 439)
68 foot.addSpan(29, 271, 440)
69 foot.addSpan(30, 271, 440)
70 foot.addSpan(31, 272, 440)
71 foot.addSpan(32, 272, 441)
72 foot.addSpan(33, 272, 441)
73 foot.addSpan(34, 272, 441)
74 foot.addSpan(35, 273, 441)
75 foot.addSpan(36, 274, 440)
76 foot.addSpan(37, 275, 440)
77 foot.addSpan(38, 275, 440)
78 foot.addSpan(39, 275, 440)
79 foot.addSpan(40, 274, 440)
80 foot.addSpan(41, 273, 440)
81 foot.addSpan(42, 271, 435)
82 foot.addSpan(42, 438, 440)
83 foot.addSpan(43, 270, 434)
84 foot.addSpan(44, 269, 433)
85 foot.addSpan(45, 269, 432)
86 foot.addSpan(46, 268, 432)
87 foot.addSpan(47, 268, 431)
88 foot.addSpan(48, 267, 430)
89 foot.addSpan(49, 267, 430)
90 foot.addSpan(50, 267, 430)
91 foot.addSpan(51, 266, 431)
92 foot.addSpan(52, 266, 432)
93 foot.addSpan(53, 266, 432)
94 foot.addSpan(54, 266, 432)
95 foot.addSpan(55, 266, 432)
96 foot.addSpan(56, 268, 433)
97 foot.addSpan(57, 269, 433)
98 foot.addSpan(58, 270, 434)
99 foot.addSpan(59, 271, 434)
100 foot.addSpan(60, 272, 434)
101 foot.addSpan(61, 273, 434)
102 foot.addSpan(62, 275, 433)
103 foot.addSpan(63, 280, 433)
104 foot.addSpan(64, 280, 432)
105 foot.addSpan(65, 280, 431)
106 foot.addSpan(66, 280, 430)
107 foot.addSpan(67, 279, 422)
108 foot.addSpan(67, 424, 430)
109 foot.addSpan(68, 278, 421)
110 foot.addSpan(68, 427, 429)
111 foot.addSpan(69, 277, 421)
112 foot.addSpan(70, 277, 421)
113 foot.addSpan(71, 277, 421)
114 foot.addSpan(72, 277, 421)
115 foot.addSpan(73, 278, 421)
116 foot.addSpan(74, 278, 421)
117 foot.addSpan(75, 278, 419)
118 foot.addSpan(76, 278, 416)
119 foot.addSpan(77, 278, 285)
120 foot.addSpan(77, 288, 416)
121 foot.addSpan(78, 290, 416)
122 foot.addSpan(79, 297, 416)
123 foot.addSpan(80, 298, 418)
124 foot.addSpan(81, 299, 419)
125 foot.addSpan(82, 300, 419)
126 foot.addSpan(83, 301, 419)
127 foot.addSpan(84, 301, 417)
128 foot.addSpan(85, 301, 416)
129 foot.addSpan(86, 301, 415)
130 foot.addSpan(87, 301, 415)
131 foot.addSpan(88, 301, 415)
132 foot.addSpan(89, 302, 414)
133 foot.addSpan(90, 302, 413)
134 foot.addSpan(91, 302, 412)
135 foot.addSpan(92, 302, 400)
136 foot.addSpan(92, 403, 408)
137 foot.addSpan(93, 304, 313)
138 foot.addSpan(93, 315, 400)
139 foot.addSpan(94, 306, 312)
140 foot.addSpan(94, 316, 400)
141 foot.addSpan(95, 307, 311)
142 foot.addSpan(95, 317, 400)
143 foot.addSpan(96, 308, 312)
144 foot.addSpan(96, 318, 400)
145 foot.addSpan(97, 308, 312)
146 foot.addSpan(97, 318, 400)
147 foot.addSpan(98, 309, 313)
148 foot.addSpan(98, 319, 399)
149 foot.addSpan(99, 309, 313)
150 foot.addSpan(99, 321, 399)
151 foot.addSpan(100, 310, 313)
152 foot.addSpan(100, 323, 398)
153 foot.addSpan(101, 311, 312)
154 foot.addSpan(101, 323, 398)
155 foot.addSpan(102, 323, 398)
156 foot.addSpan(103, 323, 398)
157 foot.addSpan(104, 322, 398)
158 foot.addSpan(105, 322, 398)
159 foot.addSpan(106, 323, 398)
160 foot.addSpan(107, 323, 399)
161 foot.addSpan(108, 323, 400)
162 foot.addSpan(109, 324, 372)
163 foot.addSpan(109, 375, 401)
164 foot.addSpan(110, 324, 372)
165 foot.addSpan(110, 375, 401)
166 foot.addSpan(111, 325, 372)
167 foot.addSpan(111, 375, 397)
168 foot.addSpan(111, 400, 401)
169 foot.addSpan(112, 325, 394)
170 foot.addSpan(112, 401, 401)
171 foot.addSpan(113, 326, 394)
172 foot.addSpan(114, 325, 396)
173 foot.addSpan(115, 323, 396)
174 foot.addSpan(116, 323, 390)
175 foot.addSpan(116, 392, 396)
176 foot.addSpan(117, 323, 328)
177 foot.addSpan(117, 335, 370)
178 foot.addSpan(117, 378, 387)
179 foot.addSpan(117, 393, 396)
180 foot.addSpan(118, 323, 327)
181 foot.addSpan(118, 338, 369)
182 foot.addSpan(118, 379, 386)
183 foot.addSpan(118, 393, 396)
184 foot.addSpan(119, 323, 327)
185 foot.addSpan(119, 340, 369)
186 foot.addSpan(119, 380, 386)
187 foot.addSpan(119, 394, 396)
188 foot.addSpan(120, 324, 326)
189 foot.addSpan(120, 342, 369)
190 foot.addSpan(120, 380, 386)
191 foot.addSpan(120, 394, 396)
192 foot.addSpan(121, 324, 325)
193 foot.addSpan(121, 343, 369)
194 foot.addSpan(121, 381, 385)
195 foot.addSpan(121, 395, 396)
196 foot.addSpan(122, 323, 324)
197 foot.addSpan(122, 343, 368)
198 foot.addSpan(122, 382, 385)
199 foot.addSpan(122, 395, 396)
200 foot.addSpan(123, 322, 324)
201 foot.addSpan(123, 343, 368)
202 foot.addSpan(123, 382, 384)
203 foot.addSpan(123, 395, 396)
204 foot.addSpan(124, 322, 324)
205 foot.addSpan(124, 343, 368)
206 foot.addSpan(125, 322, 324)
207 foot.addSpan(125, 343, 368)
208 foot.addSpan(126, 323, 323)
209 foot.addSpan(126, 343, 368)
210 foot.addSpan(127, 343, 368)
211 foot.addSpan(128, 343, 368)
212 foot.addSpan(129, 343, 367)
213 foot.addSpan(130, 343, 367)
214 foot.addSpan(131, 343, 367)
215 foot.addSpan(132, 343, 367)
216 foot.addSpan(133, 343, 367)
217 foot.addSpan(134, 343, 367)
218 foot.addSpan(135, 344, 367)
219 foot.addSpan(136, 344, 367)
220 foot.addSpan(137, 344, 367)
221 foot.addSpan(138, 344, 367)
222 foot.addSpan(139, 344, 367)
223 foot.addSpan(140, 344, 367)
224 foot.addSpan(141, 344, 367)
225 foot.addSpan(142, 344, 367)
226 foot.addSpan(143, 344, 367)
227 foot.addSpan(144, 344, 367)
228 foot.addSpan(145, 344, 367)
229 foot.addSpan(146, 344, 367)
230 foot.addSpan(147, 344, 367)
231 foot.addSpan(148, 344, 367)
232 foot.addSpan(149, 344, 367)
233 foot.addSpan(150, 344, 367)
234 foot.addSpan(151, 344, 367)
235 foot.addSpan(152, 345, 367)
236 foot.addSpan(153, 345, 367)
237 foot.addSpan(154, 345, 367)
238 foot.addSpan(155, 345, 367)
239 foot.addSpan(156, 345, 367)
240 foot.addSpan(157, 345, 367)
241 foot.addSpan(158, 345, 367)
242 foot.addSpan(159, 345, 367)
243 foot.addSpan(160, 345, 367)
244 foot.addSpan(161, 345, 367)
245 foot.addSpan(162, 345, 367)
246 foot.addSpan(163, 345, 367)
247 foot.addSpan(164, 345, 367)
248 foot.addSpan(165, 345, 367)
249 foot.addSpan(166, 345, 367)
250 foot.addSpan(167, 345, 367)
251 foot.addSpan(168, 345, 367)
252 foot.addSpan(169, 345, 367)
253 foot.addSpan(170, 345, 367)
254 foot.addSpan(171, 345, 367)
255 foot.addSpan(172, 345, 367)
256 foot.addSpan(173, 345, 367)
257 foot.addSpan(174, 345, 367)
258 foot.addSpan(175, 345, 367)
259 foot.addSpan(176, 345, 367)
260 foot.addSpan(177, 345, 367)
261 foot.addSpan(178, 345, 367)
262 foot.addSpan(179, 345, 367)
263 foot.addSpan(180, 345, 367)
264 foot.addSpan(181, 345, 367)
265 foot.addSpan(182, 345, 367)
266 foot.addSpan(183, 345, 367)
267 foot.addSpan(184, 345, 367)
268 foot.addSpan(185, 345, 367)
269 foot.addSpan(186, 345, 367)
270 foot.addSpan(187, 345, 367)
271 foot.addSpan(188, 345, 367)
272 foot.addSpan(189, 345, 367)
273 foot.addSpan(190, 345, 367)
274 foot.addSpan(191, 345, 367)
275 foot.addSpan(192, 345, 367)
276 foot.addSpan(193, 345, 367)
277 foot.addSpan(194, 345, 367)
278 foot.addSpan(195, 345, 367)
279 foot.addSpan(196, 345, 367)
280 foot.addSpan(197, 345, 367)
281 foot.addSpan(198, 345, 367)
282 foot.addSpan(199, 345, 367)
283 foot.addSpan(200, 345, 367)
284 foot.addSpan(201, 345, 366)
285 foot.addSpan(202, 345, 366)
286 foot.addSpan(203, 345, 366)
287 foot.addSpan(204, 345, 366)
288 foot.addSpan(205, 345, 366)
289 foot.addSpan(206, 345, 366)
290 foot.addSpan(207, 345, 366)
291 foot.addSpan(208, 345, 366)
292 foot.addSpan(209, 345, 366)
293 foot.addSpan(210, 344, 366)
294 foot.addSpan(211, 344, 366)
295 foot.addSpan(212, 344, 366)
296 foot.addSpan(213, 344, 366)
297 foot.addSpan(214, 345, 366)
298 foot.addSpan(215, 345, 366)
299 foot.addSpan(216, 345, 366)
300 foot.addSpan(217, 345, 366)
301 foot.addSpan(218, 345, 366)
302 foot.addSpan(219, 345, 366)
303 foot.addSpan(220, 345, 366)
304 foot.addSpan(221, 345, 366)
305 foot.addSpan(222, 345, 366)
306 foot.addSpan(223, 345, 366)
307 foot.addSpan(224, 345, 365)
308 foot.addSpan(225, 345, 365)
309 foot.addSpan(226, 345, 365)
310 foot.addSpan(227, 345, 365)
311 foot.addSpan(228, 345, 365)
312 foot.addSpan(229, 345, 366)
313 foot.addSpan(230, 345, 366)
314 foot.addSpan(231, 345, 366)
315 foot.addSpan(232, 345, 366)
316 foot.addSpan(233, 345, 366)
317 foot.addSpan(234, 345, 366)
318 foot.addSpan(235, 345, 366)
319 foot.addSpan(236, 345, 366)
320 foot.addSpan(237, 345, 365)
321 foot.addSpan(238, 345, 365)
322 foot.addSpan(239, 345, 365)
323 foot.addSpan(240, 345, 366)
324 foot.addSpan(241, 345, 366)
325 foot.addSpan(242, 345, 365)
326 foot.addSpan(243, 345, 365)
327 foot.addSpan(244, 345, 365)
328 foot.addSpan(245, 345, 365)
329 foot.addSpan(246, 345, 365)
330 foot.addSpan(247, 345, 365)
331 foot.addSpan(248, 345, 365)
332 foot.addSpan(249, 345, 365)
333 foot.addSpan(250, 338, 341)
334 foot.addSpan(250, 345, 365)
335 foot.addSpan(251, 337, 343)
336 foot.addSpan(251, 345, 365)
337 foot.addSpan(252, 336, 365)
338 foot.addSpan(253, 336, 365)
339 foot.addSpan(254, 337, 365)
340 foot.addSpan(255, 337, 366)
341 foot.addSpan(256, 337, 366)
342 foot.addSpan(257, 337, 365)
343 foot.addSpan(258, 337, 365)
344 foot.addSpan(259, 338, 365)
345 foot.addSpan(260, 338, 365)
346 foot.addSpan(261, 339, 365)
347 foot.addSpan(262, 339, 365)
348 foot.addSpan(263, 341, 365)
349 foot.addSpan(264, 346, 365)
350 foot.addSpan(265, 346, 365)
351 foot.addSpan(266, 346, 365)
352 foot.addSpan(267, 346, 365)
353 foot.addSpan(268, 346, 365)
354 foot.addSpan(269, 346, 365)
355 foot.addSpan(270, 346, 365)
356 foot.addSpan(271, 346, 365)
357 foot.addSpan(272, 346, 365)
358 foot.addSpan(273, 346, 365)
359 foot.addSpan(274, 346, 365)
360 foot.addSpan(275, 346, 365)
361 foot.addSpan(276, 346, 365)
362 foot.addSpan(277, 346, 365)
363 foot.addSpan(278, 346, 365)
364 foot.addSpan(279, 346, 365)
365 foot.addSpan(280, 346, 365)
366 foot.addSpan(281, 346, 365)
367 foot.addSpan(282, 346, 365)
368 foot.addSpan(283, 346, 365)
369 foot.addSpan(284, 345, 365)
370 foot.addSpan(285, 342, 365)
371 foot.addSpan(286, 342, 365)
372 foot.addSpan(287, 341, 365)
373 foot.addSpan(288, 341, 365)
374 foot.addSpan(289, 340, 365)
375 foot.addSpan(290, 340, 365)
376 foot.addSpan(291, 339, 365)
377 foot.addSpan(292, 335, 365)
378 foot.addSpan(293, 334, 365)
379 foot.addSpan(294, 333, 365)
380 foot.addSpan(295, 333, 342)
381 foot.addSpan(295, 346, 366)
382 foot.addSpan(296, 333, 341)
383 foot.addSpan(296, 346, 366)
384 foot.addSpan(297, 333, 339)
385 foot.addSpan(297, 346, 366)
386 foot.addSpan(298, 333, 338)
387 foot.addSpan(298, 346, 366)
388 foot.addSpan(299, 346, 368)
389 foot.addSpan(300, 346, 370)
390 foot.addSpan(301, 346, 371)
391 foot.addSpan(302, 346, 372)
392 foot.addSpan(303, 346, 373)
393 foot.addSpan(304, 346, 374)
394 foot.addSpan(305, 346, 374)
395 foot.addSpan(306, 346, 375)
396 foot.addSpan(307, 346, 375)
397 foot.addSpan(308, 346, 375)
398 foot.addSpan(309, 345, 375)
399 foot.addSpan(310, 345, 375)
400 foot.addSpan(311, 345, 376)
401 foot.addSpan(312, 344, 376)
402 foot.addSpan(313, 344, 376)
403 foot.addSpan(314, 344, 376)
404 foot.addSpan(315, 344, 376)
405 foot.addSpan(316, 343, 376)
406 foot.addSpan(317, 343, 375)
407 foot.addSpan(318, 342, 375)
408 foot.addSpan(319, 341, 374)
409 foot.addSpan(320, 341, 373)
410 foot.addSpan(321, 341, 373)
411 foot.addSpan(322, 341, 372)
412 foot.addSpan(323, 341, 372)
413 foot.addSpan(324, 341, 371)
414 foot.addSpan(325, 341, 371)
415 foot.addSpan(326, 341, 370)
416 foot.addSpan(327, 342, 370)
417 foot.addSpan(328, 342, 369)
418 foot.addSpan(329, 342, 369)
419 foot.addSpan(330, 342, 367)
420 foot.addSpan(331, 343, 367)
421 foot.addSpan(332, 343, 366)
422 foot.addSpan(333, 343, 366)
423 foot.addSpan(334, 342, 366)
424 foot.addSpan(335, 342, 366)
425 foot.addSpan(336, 342, 366)
426 foot.addSpan(337, 342, 366)
427 foot.addSpan(338, 342, 366)
428 foot.addSpan(339, 343, 366)
429 foot.addSpan(340, 344, 366)
430 foot.addSpan(341, 345, 365)
431 foot.addSpan(342, 346, 365)
432 foot.addSpan(343, 346, 365)
433 foot.addSpan(344, 346, 365)
434 foot.addSpan(345, 346, 365)
435 foot.addSpan(346, 346, 365)
436 foot.addSpan(347, 346, 365)
437 foot.addSpan(348, 346, 366)
438 foot.addSpan(349, 346, 366)
439 foot.addSpan(350, 346, 366)
440 foot.addSpan(351, 346, 365)
441 foot.addSpan(352, 346, 365)
442 foot.addSpan(353, 346, 365)
443 foot.addSpan(354, 346, 365)
444 foot.addSpan(355, 346, 365)
445 foot.addSpan(356, 346, 365)
446 foot.addSpan(357, 346, 365)
447 foot.addSpan(358, 346, 365)
448 foot.addSpan(359, 346, 365)
449 foot.addSpan(360, 346, 365)
450 foot.addSpan(361, 346, 365)
451 foot.addSpan(362, 346, 365)
452 foot.addSpan(363, 346, 365)
453 foot.addSpan(364, 346, 365)
454 foot.addSpan(365, 346, 365)
455 foot.addSpan(366, 346, 365)
456 foot.addSpan(367, 340, 340)
457 foot.addSpan(367, 345, 365)
458 foot.addSpan(368, 338, 343)
459 foot.addSpan(368, 345, 365)
460 foot.addSpan(369, 337, 365)
461 foot.addSpan(370, 337, 365)
462 foot.addSpan(371, 337, 365)
463 foot.addSpan(372, 337, 365)
464 foot.addSpan(373, 337, 365)
465 foot.addSpan(374, 337, 365)
466 foot.addSpan(375, 337, 365)
467 foot.addSpan(376, 337, 365)
468 foot.addSpan(377, 337, 365)
469 foot.addSpan(378, 337, 365)
470 foot.addSpan(379, 337, 365)
471 foot.addSpan(380, 337, 365)
472 foot.addSpan(381, 338, 365)
473 foot.addSpan(382, 346, 365)
474 foot.addSpan(383, 346, 365)
475 foot.addSpan(384, 346, 364)
476 foot.addSpan(385, 346, 364)
477 foot.addSpan(386, 346, 364)
478 foot.addSpan(387, 346, 364)
479 foot.addSpan(388, 346, 364)
480 foot.addSpan(389, 346, 364)
481 foot.addSpan(390, 346, 364)
482 foot.addSpan(391, 346, 364)
483 foot.addSpan(392, 346, 364)
484 foot.addSpan(393, 346, 364)
485 foot.addSpan(394, 346, 364)
486 foot.addSpan(395, 346, 364)
487 foot.addSpan(396, 346, 364)
488 foot.addSpan(397, 346, 364)
489 foot.addSpan(398, 346, 364)
490 foot.addSpan(399, 346, 364)
491 foot.addSpan(400, 346, 364)
492 foot.addSpan(401, 346, 364)
493 foot.addSpan(402, 346, 364)
494 foot.addSpan(403, 346, 364)
495 foot.addSpan(404, 346, 364)
496 foot.addSpan(405, 346, 364)
497 foot.addSpan(406, 346, 364)
498 foot.addSpan(407, 346, 364)
499 foot.addSpan(408, 346, 364)
500 foot.addSpan(409, 346, 364)
501 foot.addSpan(410, 346, 364)
502 foot.addSpan(411, 346, 364)
503 foot.addSpan(412, 346, 364)
504 foot.addSpan(413, 346, 364)
505 foot.addSpan(414, 346, 364)
506 foot.addSpan(415, 346, 364)
507 foot.addSpan(416, 346, 364)
508 foot.addSpan(417, 346, 364)
509 foot.addSpan(418, 346, 364)
510 foot.addSpan(419, 346, 364)
511 foot.addSpan(420, 346, 364)
512 foot.addSpan(421, 346, 364)
513 foot.addSpan(422, 346, 364)
514 foot.addSpan(423, 346, 364)
515 foot.addSpan(424, 346, 364)
516 foot.addSpan(425, 346, 364)
517 foot.addSpan(426, 345, 364)
518 foot.addSpan(427, 344, 364)
519 foot.addSpan(428, 343, 364)
520 foot.addSpan(429, 343, 364)
521 foot.addSpan(430, 342, 364)
522 foot.addSpan(431, 342, 364)
523 foot.addSpan(432, 342, 364)
524 foot.addSpan(433, 342, 364)
525 foot.addSpan(434, 343, 364)
526 foot.addSpan(435, 343, 364)
527 foot.addSpan(436, 345, 364)
528 foot.addSpan(437, 346, 364)
529 foot.addSpan(438, 347, 364)
530 foot.addSpan(439, 347, 364)
531 foot.addSpan(440, 347, 364)
532 foot.addSpan(441, 347, 364)
533 foot.addSpan(441, 393, 393)
534 foot.addSpan(442, 347, 364)
535 foot.addSpan(442, 389, 397)
536 foot.addSpan(443, 347, 364)
537 foot.addSpan(443, 382, 401)
538 foot.addSpan(444, 347, 364)
539 foot.addSpan(444, 379, 403)
540 foot.addSpan(445, 347, 364)
541 foot.addSpan(445, 377, 405)
542 foot.addSpan(446, 347, 364)
543 foot.addSpan(446, 376, 406)
544 foot.addSpan(447, 347, 364)
545 foot.addSpan(447, 375, 407)
546 foot.addSpan(448, 347, 364)
547 foot.addSpan(448, 374, 408)
548 foot.addSpan(449, 347, 364)
549 foot.addSpan(449, 371, 408)
550 foot.addSpan(450, 347, 364)
551 foot.addSpan(450, 369, 409)
552 foot.addSpan(451, 347, 364)
553 foot.addSpan(451, 369, 410)
554 foot.addSpan(452, 347, 365)
555 foot.addSpan(452, 368, 411)
556 foot.addSpan(453, 347, 365)
557 foot.addSpan(453, 367, 411)
558 foot.addSpan(454, 347, 412)
559 foot.addSpan(455, 347, 411)
560 foot.addSpan(456, 347, 411)
561 foot.addSpan(457, 347, 409)
562 foot.addSpan(458, 347, 408)
563 foot.addSpan(459, 347, 408)
564 foot.addSpan(460, 347, 407)
565 foot.addSpan(461, 347, 407)
566 foot.addSpan(462, 347, 406)
567 foot.addSpan(463, 347, 405)
568 foot.addSpan(464, 347, 405)
569 foot.addSpan(465, 347, 404)
570 foot.addSpan(466, 347, 404)
571 foot.addSpan(467, 347, 404)
572 foot.addSpan(468, 347, 403)
573 foot.addSpan(469, 347, 402)
574 foot.addSpan(470, 347, 402)
575 foot.addSpan(471, 347, 401)
576 foot.addSpan(472, 347, 401)
577 foot.addSpan(473, 347, 400)
578 foot.addSpan(474, 347, 400)
579 foot.addSpan(475, 347, 396)
580 foot.addSpan(476, 347, 392)
581 foot.addSpan(477, 347, 389)
582 foot.addSpan(478, 347, 365)
583 foot.addSpan(478, 372, 381)
584 foot.addSpan(479, 347, 364)
585 foot.addSpan(480, 347, 364)
586 foot.addSpan(481, 347, 364)
587 foot.addSpan(482, 347, 364)
588 foot.addSpan(483, 347, 364)
589 foot.addSpan(484, 347, 364)
590 foot.addSpan(485, 347, 364)
591 foot.addSpan(486, 347, 364)
592 foot.addSpan(487, 347, 364)
593 foot.addSpan(488, 347, 364)
594 foot.addSpan(489, 347, 364)
595 foot.addSpan(490, 347, 364)
596 foot.addSpan(491, 347, 364)
597 foot.addSpan(492, 347, 364)
598 foot.addSpan(493, 347, 364)
599 foot.addSpan(494, 347, 364)
600 foot.addSpan(495, 347, 364)
601 foot.addSpan(496, 347, 364)
602 foot.addSpan(497, 347, 364)
603 foot.addSpan(498, 347, 364)
604 foot.addSpan(499, 347, 364)
605 foot.addSpan(500, 347, 364)
606 foot.addSpan(501, 347, 364)
607 foot.addSpan(502, 347, 364)
608 foot.addSpan(503, 347, 364)
609 foot.addSpan(504, 347, 364)
610 foot.addSpan(505, 347, 364)
611 foot.addSpan(506, 338, 342)
612 foot.addSpan(506, 346, 364)
613 foot.addSpan(507, 337, 343)
614 foot.addSpan(507, 345, 364)
615 foot.addSpan(508, 335, 364)
616 foot.addSpan(509, 334, 364)
617 foot.addSpan(510, 333, 364)
618 foot.addSpan(511, 333, 365)
619 foot.addSpan(512, 331, 365)
620 foot.addSpan(513, 320, 323)
621 foot.addSpan(513, 330, 365)
622 foot.addSpan(514, 319, 365)
623 foot.addSpan(515, 318, 365)
624 foot.addSpan(516, 317, 365)
625 foot.addSpan(517, 317, 365)
626 foot.addSpan(518, 317, 365)
627 foot.addSpan(519, 317, 365)
628 foot.addSpan(520, 317, 366)
629 foot.addSpan(521, 316, 367)
630 foot.addSpan(522, 315, 367)
631 foot.addSpan(523, 313, 368)
632 foot.addSpan(524, 311, 368)
633 foot.addSpan(525, 310, 369)
634 foot.addSpan(526, 309, 369)
635 foot.addSpan(527, 309, 368)
636 foot.addSpan(528, 309, 369)
637 foot.addSpan(529, 309, 370)
638 foot.addSpan(530, 310, 374)
639 foot.addSpan(531, 310, 375)
640 foot.addSpan(532, 311, 374)
641 foot.addSpan(533, 311, 373)
642 foot.addSpan(534, 311, 372)
643 foot.addSpan(535, 311, 372)
644 foot.addSpan(536, 312, 372)
645 foot.addSpan(537, 312, 373)
646 foot.addSpan(538, 312, 373)
647 foot.addSpan(539, 311, 374)
648 foot.addSpan(540, 310, 374)
649 foot.addSpan(541, 310, 375)
650 foot.addSpan(542, 310, 375)
651 foot.addSpan(543, 310, 375)
652 foot.addSpan(544, 310, 375)
653 foot.addSpan(545, 311, 375)
654 foot.addSpan(546, 312, 374)
655 foot.addSpan(547, 312, 374)
656 foot.addSpan(548, 313, 373)
657 foot.addSpan(549, 313, 372)
658 foot.addSpan(550, 313, 370)
659 foot.addSpan(551, 313, 369)
660 foot.addSpan(552, 313, 369)
661 foot.addSpan(553, 313, 369)
662 foot.addSpan(554, 314, 369)
663 foot.addSpan(555, 314, 369)
664 foot.addSpan(556, 316, 369)
665 foot.addSpan(557, 318, 368)
666 foot.addSpan(558, 319, 368)
667 foot.addSpan(559, 319, 368)
668 foot.addSpan(560, 319, 366)
669 foot.addSpan(560, 369, 371)
670 foot.addSpan(561, 319, 365)
671 foot.addSpan(561, 369, 371)
672 foot.addSpan(562, 319, 365)
673 foot.addSpan(562, 369, 371)
674 foot.addSpan(563, 319, 365)
675 foot.addSpan(563, 370, 370)
676 foot.addSpan(564, 320, 365)
677 foot.addSpan(565, 323, 364)
678 foot.addSpan(566, 324, 364)
679 foot.addSpan(567, 325, 364)
680 foot.addSpan(568, 325, 364)
681 foot.addSpan(569, 324, 339)
682 foot.addSpan(569, 345, 364)
683 foot.addSpan(570, 323, 337)
684 foot.addSpan(570, 345, 364)
685 foot.addSpan(571, 320, 336)
686 foot.addSpan(571, 346, 368)
687 foot.addSpan(572, 318, 335)
688 foot.addSpan(572, 346, 369)
689 foot.addSpan(573, 318, 334)
690 foot.addSpan(573, 346, 370)
691 foot.addSpan(574, 317, 334)
692 foot.addSpan(574, 346, 370)
693 foot.addSpan(575, 317, 335)
694 foot.addSpan(575, 346, 363)
695 foot.addSpan(575, 367, 369)
696 foot.addSpan(576, 317, 335)
697 foot.addSpan(576, 346, 363)
698 foot.addSpan(576, 368, 368)
699 foot.addSpan(577, 317, 335)
700 foot.addSpan(577, 346, 363)
701 foot.addSpan(578, 317, 335)
702 foot.addSpan(578, 346, 363)
703 foot.addSpan(579, 317, 335)
704 foot.addSpan(579, 346, 363)
705 foot.addSpan(580, 317, 335)
706 foot.addSpan(580, 346, 363)
707 foot.addSpan(581, 318, 335)
708 foot.addSpan(581, 347, 363)
709 foot.addSpan(582, 318, 334)
710 foot.addSpan(582, 347, 363)
711 foot.addSpan(583, 319, 334)
712 foot.addSpan(583, 347, 363)
713 foot.addSpan(584, 319, 333)
714 foot.addSpan(584, 347, 363)
715 foot.addSpan(585, 320, 332)
716 foot.addSpan(585, 347, 363)
717 foot.addSpan(586, 321, 331)
718 foot.addSpan(586, 347, 363)
719 foot.addSpan(587, 322, 327)
720 foot.addSpan(587, 347, 363)
721 foot.addSpan(588, 347, 363)
722 foot.addSpan(589, 347, 363)
723 foot.addSpan(590, 348, 362)
724 foot.addSpan(591, 348, 362)
725 foot.addSpan(592, 348, 361)
726 foot.addSpan(593, 349, 360)
727 foot.addSpan(594, 350, 359)
728 foot.addSpan(595, 351, 358)
729 foot.addSpan(596, 353, 355)
730 foot.normalize()
731 return foot
734def buildExample2():
735 foot = afwDet.Footprint()
736 foot.addSpan(110, 324, 372)
737 foot.addSpan(110, 375, 401)
738 foot.addSpan(111, 325, 372)
739 foot.addSpan(111, 375, 397)
740 foot.addSpan(111, 400, 401)
741 foot.addSpan(112, 325, 394)
742 foot.addSpan(112, 401, 401)
743 foot.addSpan(113, 326, 394)
744 foot.addSpan(114, 325, 396)
745 foot.addSpan(115, 323, 396)
746 foot.addSpan(116, 323, 390)
747 foot.addSpan(116, 392, 396)
748 foot.addSpan(117, 323, 328)
749 foot.addSpan(117, 335, 370)
750 foot.addSpan(117, 378, 387)
751 foot.addSpan(117, 393, 396)
752 foot.addSpan(118, 323, 327)
753 foot.addSpan(118, 338, 369)
754 foot.addSpan(118, 379, 386)
755 foot.addSpan(118, 393, 396)
756 foot.addSpan(119, 323, 327)
757 foot.addSpan(119, 340, 369)
758 foot.addSpan(119, 380, 386)
759 foot.addSpan(119, 394, 396)
760 foot.addSpan(120, 324, 326)
761 foot.addSpan(120, 342, 369)
762 foot.addSpan(120, 380, 386)
763 foot.addSpan(120, 394, 396)
764 foot.addSpan(121, 324, 325)
765 foot.addSpan(121, 343, 369)
766 foot.addSpan(121, 381, 385)
767 foot.addSpan(121, 395, 396)
768 foot.addSpan(122, 323, 324)
769 foot.addSpan(122, 343, 368)
770 foot.addSpan(122, 382, 385)
771 foot.addSpan(122, 395, 396)
772 foot.addSpan(123, 322, 324)
773 foot.addSpan(123, 343, 368)
774 foot.addSpan(123, 382, 384)
775 foot.addSpan(123, 395, 396)
776 foot.addSpan(124, 322, 324)
777 foot.addSpan(124, 343, 368)
778 foot.addSpan(125, 322, 324)
779 foot.addSpan(125, 343, 368)
780 foot.addSpan(126, 323, 323)
781 foot.addSpan(126, 343, 368)
782 foot.addSpan(127, 343, 368)
783 foot.addSpan(128, 343, 368)
784 foot.addSpan(129, 343, 367)
785 foot.addSpan(130, 343, 367)
786 foot.addSpan(131, 343, 367)
787 foot.addSpan(132, 343, 367)
788 foot.addSpan(133, 343, 367)
789 foot.addSpan(134, 343, 367)
790 foot.addSpan(135, 344, 367)
791 foot.addSpan(136, 344, 367)
792 foot.addSpan(137, 344, 367)
793 foot.addSpan(138, 344, 367)
794 foot.addSpan(139, 344, 367)
795 foot.addSpan(140, 344, 367)
796 foot.addSpan(141, 344, 367)
797 foot.addSpan(142, 344, 367)
798 foot.addSpan(143, 344, 367)
799 foot.addSpan(144, 344, 367)
800 foot.addSpan(145, 344, 367)
801 foot.addSpan(146, 344, 367)
802 foot.addSpan(147, 344, 367)
803 foot.addSpan(148, 344, 367)
804 foot.addSpan(149, 344, 367)
805 foot.addSpan(150, 344, 367)
806 foot.addSpan(151, 344, 367)
807 foot.addSpan(152, 345, 367)
808 foot.addSpan(153, 345, 367)
809 foot.addSpan(154, 345, 367)
810 foot.addSpan(155, 345, 367)
811 foot.addSpan(156, 345, 367)
812 foot.addSpan(157, 345, 367)
813 foot.addSpan(158, 345, 367)
814 foot.addSpan(159, 345, 367)
815 foot.addSpan(160, 345, 367)
816 foot.addSpan(161, 345, 367)
817 foot.addSpan(162, 345, 367)
818 foot.addSpan(163, 345, 367)
819 foot.addSpan(164, 345, 367)
820 foot.addSpan(165, 345, 367)
821 foot.addSpan(166, 345, 367)
822 foot.addSpan(167, 345, 367)
823 foot.addSpan(168, 345, 367)
824 foot.addSpan(169, 345, 367)
825 foot.addSpan(170, 345, 367)
826 foot.addSpan(171, 345, 367)
827 foot.addSpan(172, 345, 367)
828 foot.addSpan(173, 345, 367)
829 foot.addSpan(174, 345, 367)
830 foot.addSpan(175, 345, 367)
831 foot.addSpan(176, 345, 367)
832 foot.addSpan(177, 345, 367)
833 foot.addSpan(178, 345, 367)
834 foot.addSpan(179, 345, 367)
835 foot.addSpan(180, 345, 367)
836 foot.addSpan(181, 345, 367)
837 foot.addSpan(182, 345, 367)
838 foot.addSpan(183, 345, 367)
839 foot.addSpan(184, 345, 367)
840 foot.addSpan(185, 345, 367)
841 foot.addSpan(186, 345, 367)
842 foot.addSpan(187, 345, 367)
843 foot.addSpan(188, 345, 367)
844 foot.addSpan(189, 345, 367)
845 foot.addSpan(190, 345, 367)
846 foot.addSpan(191, 345, 367)
847 foot.addSpan(192, 345, 367)
848 foot.addSpan(193, 345, 367)
849 foot.addSpan(194, 345, 367)
850 foot.addSpan(195, 345, 367)
851 foot.addSpan(196, 345, 367)
852 foot.addSpan(197, 345, 367)
853 foot.addSpan(198, 345, 367)
854 foot.addSpan(199, 345, 367)
855 foot.addSpan(200, 345, 367)
856 foot.addSpan(201, 345, 366)
857 foot.addSpan(202, 345, 366)
858 foot.addSpan(203, 345, 366)
859 foot.addSpan(204, 345, 366)
860 foot.addSpan(205, 345, 366)
861 foot.addSpan(206, 345, 366)
862 foot.addSpan(207, 345, 366)
863 foot.addSpan(208, 345, 366)
864 foot.addSpan(209, 345, 366)
865 foot.addSpan(210, 344, 366)
866 foot.addSpan(211, 344, 366)
867 foot.addSpan(212, 344, 366)
868 foot.addSpan(213, 344, 366)
869 foot.addSpan(214, 345, 366)
870 foot.addSpan(215, 345, 366)
871 foot.addSpan(216, 345, 366)
872 foot.addSpan(217, 345, 366)
873 foot.addSpan(218, 345, 366)
874 foot.addSpan(219, 345, 366)
875 foot.addSpan(220, 345, 366)
876 foot.addSpan(221, 345, 366)
877 foot.addSpan(222, 345, 366)
878 foot.addSpan(223, 345, 366)
879 foot.addSpan(224, 345, 365)
880 foot.addSpan(225, 345, 365)
881 foot.addSpan(226, 345, 365)
882 foot.addSpan(227, 345, 365)
883 foot.addSpan(228, 345, 365)
884 foot.addSpan(229, 345, 366)
885 foot.addSpan(230, 345, 366)
886 foot.addSpan(231, 345, 366)
887 foot.addSpan(232, 345, 366)
888 foot.addSpan(233, 345, 366)
889 foot.addSpan(234, 345, 366)
890 foot.addSpan(235, 345, 366)
891 foot.addSpan(236, 345, 366)
892 foot.addSpan(237, 345, 365)
893 foot.addSpan(238, 345, 365)
894 foot.addSpan(239, 345, 365)
895 foot.addSpan(240, 345, 366)
896 foot.addSpan(241, 345, 366)
897 foot.addSpan(242, 345, 365)
898 foot.addSpan(243, 345, 365)
899 foot.addSpan(244, 345, 365)
900 foot.addSpan(245, 345, 365)
901 foot.addSpan(246, 345, 365)
902 foot.addSpan(247, 345, 365)
903 foot.addSpan(248, 345, 365)
904 foot.addSpan(249, 345, 365)
905 foot.addSpan(250, 338, 341)
906 foot.addSpan(250, 345, 365)
907 foot.addSpan(251, 337, 343)
908 foot.addSpan(251, 345, 365)
909 foot.addSpan(252, 336, 365)
910 foot.addSpan(253, 336, 365)
911 foot.addSpan(254, 337, 365)
912 foot.addSpan(255, 337, 366)
913 foot.addSpan(256, 337, 366)
914 foot.addSpan(257, 337, 365)
915 foot.addSpan(258, 337, 365)
916 foot.addSpan(259, 338, 365)
917 foot.addSpan(260, 338, 365)
918 foot.addSpan(261, 339, 365)
919 foot.addSpan(262, 339, 365)
920 foot.addSpan(263, 341, 365)
921 foot.addSpan(264, 346, 365)
922 foot.addSpan(265, 346, 365)
923 foot.addSpan(266, 346, 365)
924 foot.addSpan(267, 346, 365)
925 foot.addSpan(268, 346, 365)
926 foot.addSpan(269, 346, 365)
927 foot.addSpan(270, 346, 365)
928 foot.addSpan(271, 346, 365)
929 foot.addSpan(272, 346, 365)
930 foot.addSpan(273, 346, 365)
931 foot.addSpan(274, 346, 365)
932 foot.addSpan(275, 346, 365)
933 foot.addSpan(276, 346, 365)
934 foot.addSpan(277, 346, 365)
935 foot.addSpan(278, 346, 365)
936 foot.addSpan(279, 346, 365)
937 foot.addSpan(280, 346, 365)
938 foot.addSpan(281, 346, 365)
939 foot.addSpan(282, 346, 365)
940 foot.addSpan(283, 346, 365)
941 foot.addSpan(284, 345, 365)
942 foot.addSpan(285, 342, 365)
943 foot.addSpan(286, 342, 365)
944 foot.addSpan(287, 341, 365)
945 foot.addSpan(288, 341, 365)
946 foot.addSpan(289, 340, 365)
947 foot.addSpan(290, 340, 365)
948 foot.addSpan(291, 339, 365)
949 foot.addSpan(292, 335, 365)
950 foot.addSpan(293, 334, 365)
951 foot.addSpan(294, 333, 365)
952 foot.addSpan(295, 333, 342)
953 foot.addSpan(295, 346, 366)
954 foot.addSpan(296, 333, 341)
955 foot.addSpan(296, 346, 366)
956 foot.addSpan(297, 333, 339)
957 foot.addSpan(297, 346, 366)
958 foot.addSpan(298, 333, 338)
959 foot.addSpan(298, 346, 366)
960 foot.addSpan(299, 346, 368)
961 foot.addSpan(300, 346, 370)
962 foot.addSpan(301, 346, 371)
963 foot.addSpan(302, 346, 372)
964 foot.addSpan(303, 346, 373)
965 foot.addSpan(304, 346, 374)
966 foot.addSpan(305, 346, 374)
967 foot.addSpan(306, 346, 375)
968 foot.addSpan(307, 346, 375)
969 foot.addSpan(308, 346, 375)
970 foot.addSpan(309, 345, 375)
971 foot.addSpan(310, 345, 375)
972 foot.addSpan(311, 345, 376)
973 foot.addSpan(312, 344, 376)
974 foot.addSpan(313, 344, 376)
975 foot.addSpan(314, 344, 376)
976 foot.addSpan(315, 344, 376)
977 foot.addSpan(316, 343, 376)
978 foot.addSpan(317, 343, 375)
979 foot.addSpan(318, 342, 375)
980 foot.addSpan(319, 341, 374)
981 foot.addSpan(320, 341, 373)
982 foot.addSpan(321, 341, 373)
983 foot.addSpan(322, 341, 372)
984 foot.addSpan(323, 341, 372)
985 foot.addSpan(324, 341, 371)
986 foot.addSpan(325, 341, 371)
987 foot.addSpan(326, 341, 370)
988 foot.addSpan(327, 342, 370)
989 foot.addSpan(328, 342, 369)
990 foot.addSpan(329, 342, 369)
991 foot.addSpan(330, 342, 367)
992 foot.addSpan(331, 343, 367)
993 foot.addSpan(332, 343, 366)
994 foot.addSpan(333, 343, 366)
995 foot.addSpan(334, 342, 366)
996 foot.addSpan(335, 342, 366)
997 foot.addSpan(336, 342, 366)
998 foot.addSpan(337, 342, 366)
999 foot.addSpan(338, 342, 366)
1000 foot.addSpan(339, 343, 366)
1001 foot.addSpan(340, 344, 366)
1002 foot.addSpan(341, 345, 365)
1003 foot.addSpan(342, 346, 365)
1004 foot.addSpan(343, 346, 365)
1005 foot.addSpan(344, 346, 365)
1006 foot.normalize()
1007 return foot
1010if __name__ == '__main__':
1011 main()