Initializing planner! Corners (tracking_z=1) ll x=126.145, y=73.533, z=-24.232 ul x=126.145, y=74.574, z=-24.225 lr x=126.738, y=73.533, z=-24.232 Bounding box x: 126.145 to 126.738 y: 73.533 to 74.574 z: -24.232 to -24.225 per_col xs (0, 2), ys (126.14525, 126.49025) per_row xs (0, 5), ys (126.14525, 126.14525) per_col xs (0, 2), ys (73.53325, 73.53325) per_row xs (0, 5), ys (73.53325, 74.32625) per_col xs (0, 2), ys (-24.232, -24.232) per_row xs (0, 5), ys (-24.232, -24.225) Planner pipeline: odict_keys(['points-xy3p', 'kinematics', 'image-capture', 'image-save']) Running planner Generated by pyuscope on 2026-06-17 23:48:57 General notes: Pixel counts are for final scaled image as written to disk XY3P Ideally taking 16.6833 pictures (2.99134 X 5.5772) but actually taking 18 (3 X 6), 92.7% efficient Axis x 0.000000 to 0.592500 Ideal overlap: 0.300000, actual 0.30303 full delta: 0.592500 view: 960 pix border: 0.000000 Axis y 0.000000 to 1.040500 Ideal overlap: 0.300000, actual 0.359192 full delta: 1.040500 view: 960 pix border: 0.000000 Pano size (requested/actual): mm: 0.593 x, 1.041 y => 0.6 mm2 pix: 2299 x, 4036 y => 9.3 MP Image size: mm: 0.247 x, 0.247 y => 0.1 mm2 pix: 960 x, 960 y => 0.9 MP Step 1: raw sensor pixels: 1280w x 960h Step 2: crop {'top': 0, 'bottom': 0, 'left': 160, 'right': 160} Step 3: apply scalar 1.00 Step 4: final sensor pixels: 960w x 960h Derived: Ideal pictures: 3.0 x, 5.6 y => 16.7 Actual pictures: 3 x, 6 y => 18 Generated positions: 18 step: 0.173 x, 0.159 y tsettle_motion: 1.300 tsettle_hdr: 0.600 Output dir: data/scan/2026-06-18_03-48-57_broadcom Output extension: .jpg XY3P: 1 / 18 @ c=0, r=5, X126.269 Y73.657 Z-24.232 Captured: data/scan/2026-06-18_03-48-57_broadcom/c000_r005.jpg 1 / 18, ETA: 00:00:36.3865 @ 0.467206 items / sec XY3P: 2 / 18 @ c=1, r=5, X126.441 Y73.657 Z-24.232 Captured: data/scan/2026-06-18_03-48-57_broadcom/c001_r005.jpg 2 / 18, ETA: 00:00:36.2745 @ 0.441080 items / sec XY3P: 3 / 18 @ c=2, r=5, X126.614 Y73.657 Z-24.232 Captured: data/scan/2026-06-18_03-48-57_broadcom/c002_r005.jpg 3 / 18, ETA: 00:00:34.6573 @ 0.432809 items / sec XY3P: 4 / 18 @ c=2, r=4, X126.614 Y73.816 Z-24.231 Captured: data/scan/2026-06-18_03-48-57_broadcom/c002_r004.jpg 4 / 18, ETA: 00:00:32.6516 @ 0.428769 items / sec XY3P: 5 / 18 @ c=1, r=4, X126.441 Y73.816 Z-24.231 Captured: data/scan/2026-06-18_03-48-57_broadcom/c001_r004.jpg 5 / 18, ETA: 00:00:29.4471 @ 0.441469 items / sec XY3P: 6 / 18 @ c=0, r=4, X126.269 Y73.816 Z-24.231 Captured: data/scan/2026-06-18_03-48-57_broadcom/c000_r004.jpg 6 / 18, ETA: 00:00:26.6488 @ 0.450301 items / sec XY3P: 7 / 18 @ c=0, r=3, X126.269 Y73.974 Z-24.229 Captured: data/scan/2026-06-18_03-48-57_broadcom/c000_r003.jpg 7 / 18, ETA: 00:00:24.7084 @ 0.445191 items / sec XY3P: 8 / 18 @ c=1, r=3, X126.441 Y73.974 Z-24.229 Captured: data/scan/2026-06-18_03-48-57_broadcom/c001_r003.jpg 8 / 18, ETA: 00:00:22.6486 @ 0.441527 items / sec XY3P: 9 / 18 @ c=2, r=3, X126.614 Y73.974 Z-24.229 Captured: data/scan/2026-06-18_03-48-57_broadcom/c002_r003.jpg 9 / 18, ETA: 00:00:20.5152 @ 0.438697 items / sec XY3P: 10 / 18 @ c=2, r=2, X126.614 Y74.133 Z-24.228 Captured: data/scan/2026-06-18_03-48-57_broadcom/c002_r002.jpg 10 / 18, ETA: 00:00:18.3306 @ 0.436428 items / sec XY3P: 11 / 18 @ c=1, r=2, X126.441 Y74.133 Z-24.228 Captured: data/scan/2026-06-18_03-48-57_broadcom/c001_r002.jpg 11 / 18, ETA: 00:00:15.8523 @ 0.441575 items / sec XY3P: 12 / 18 @ c=0, r=2, X126.269 Y74.133 Z-24.228 Captured: data/scan/2026-06-18_03-48-57_broadcom/c000_r002.jpg 12 / 18, ETA: 00:00:13.4544 @ 0.445948 items / sec XY3P: 13 / 18 @ c=0, r=1, X126.269 Y74.291 Z-24.226 Captured: data/scan/2026-06-18_03-48-57_broadcom/c000_r001.jpg 13 / 18, ETA: 00:00:11.2725 @ 0.443557 items / sec XY3P: 14 / 18 @ c=1, r=1, X126.441 Y74.291 Z-24.226 Captured: data/scan/2026-06-18_03-48-57_broadcom/c001_r001.jpg 14 / 18, ETA: 00:00:09.0580 @ 0.441596 items / sec XY3P: 15 / 18 @ c=2, r=1, X126.614 Y74.291 Z-24.226 Captured: data/scan/2026-06-18_03-48-57_broadcom/c002_r001.jpg 15 / 18, ETA: 00:00:06.8201 @ 0.439872 items / sec XY3P: 16 / 18 @ c=2, r=0, X126.614 Y74.450 Z-24.225 Captured: data/scan/2026-06-18_03-48-57_broadcom/c002_r000.jpg 16 / 18, ETA: 00:00:04.5622 @ 0.438381 items / sec XY3P: 17 / 18 @ c=1, r=0, X126.441 Y74.450 Z-24.225 Captured: data/scan/2026-06-18_03-48-57_broadcom/c001_r000.jpg 17 / 18, ETA: 00:00:02.2644 @ 0.441600 items / sec XY3P: 18 / 18 @ c=0, r=0, X126.269 Y74.450 Z-24.225 Captured: data/scan/2026-06-18_03-48-57_broadcom/c000_r000.jpg 18 / 18, ETA: 00:00:00.0000 @ 0.444514 items / sec Cleaning up scan XY3P: returning XYZ at scan end to X126.269 Y73.657 Z-24.232 Done! Planner done! Took : 00:00:41.1096 RX planner done, result: ok