Bug#1060986: mrcal: FTBFS: make[2]: *** [Makefile.tests:85: test-nosampling] Error 1

Lucas Nussbaum lucas at debian.org
Tue Jan 16 19:39:54 GMT 2024


Source: mrcal
Version: 2.3-4
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20240115 ftbfs-trixie

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> make[2]: Entering directory '/<<PKGBUILDDIR>>'
> ========== RUNNING: test/test-pywrap-functions.py
> test-pywrap-functions.py:21: OK: knots_for_splined_models ux
> test-pywrap-functions.py:24: OK: knots_for_splined_models uy
> test-pywrap-functions.py:39: OK: lensmodel_metadata_and_config() keys
> test-pywrap-functions.py:42: All tests passed: 3 total
> ========== RUNNING: test/test-pylib-projections.py
> test-pylib-projections.py:22: OK: scale_focal__best_pinhole_fit
> test-pylib-projections.py:77: OK: scale_focal__best_pinhole_fit
> test-pylib-projections.py:86: OK: scale_focal__best_pinhole_fit
> test-pylib-projections.py:95: OK: scale_focal__best_pinhole_fit
> test-pylib-projections.py:106: OK: scale_focal__best_pinhole_fit
> test-pylib-projections.py:109: All tests passed: 5 total
> ========== RUNNING: test/test-poseutils.py
> test-poseutils.py:53: OK: Procrustes fit R
> test-poseutils.py:54: OK: Procrustes fit t
> test-poseutils.py:59: OK: Procrustes fit R (vectors)
> test-poseutils.py:62: OK: Rt/rt and invert
> test-poseutils.py:65: OK: compose_Rt
> test-poseutils.py:69: OK: compose_rt
> test-poseutils.py:73: OK: compose_r
> test-poseutils.py:78: OK: identity_Rt
> test-poseutils.py:82: OK: identity_rt
> test-poseutils.py:86: OK: transform_point_Rt
> test-poseutils.py:90: OK: transform_point_rt
> test-poseutils.py:94: OK: transform_point_Rt inverse
> test-poseutils.py:98: OK: transform_point_rt inverse
> test-poseutils.py:103: OK: R <-> quaternion transforms are inverses of one another
> test-poseutils.py:111: OK: R <-> quaternion transforms are inverses of one another. Broadcasted
> test-poseutils.py:116: OK: quat_from_R() shape
> test-poseutils.py:119: OK: quat_from_R() shape
> test-poseutils.py:122: OK: quat_from_R() shape
> test-poseutils.py:136: OK: quat_from_R() in-place
> test-poseutils.py:139: OK: quat_from_R() in-place
> test-poseutils.py:142: OK: R_from_quat() in-place
> test-poseutils.py:146: OK: R_from_quat() in-place
> test-poseutils.py:159: OK: qt_from_Rt() in-place
> test-poseutils.py:162: OK: qt_from_Rt() in-place
> test-poseutils.py:165: OK: Rt_from_qt() in-place
> test-poseutils.py:169: OK: Rt_from_qt() in-place
> test-poseutils.py:182: OK: R_from_r() for tiny rotations: th = 1e-12
> test-poseutils.py:187: OK: r_from_R() for tiny rotations: th = 1e-12
> test-poseutils.py:182: OK: R_from_r() for tiny rotations: th = 1e-11
> test-poseutils.py:187: OK: r_from_R() for tiny rotations: th = 1e-11
> test-poseutils.py:182: OK: R_from_r() for tiny rotations: th = 1e-10
> test-poseutils.py:187: OK: r_from_R() for tiny rotations: th = 1e-10
> test-poseutils.py:182: OK: R_from_r() for tiny rotations: th = 1e-09
> test-poseutils.py:187: OK: r_from_R() for tiny rotations: th = 1e-09
> test-poseutils.py:182: OK: R_from_r() for tiny rotations: th = 1e-08
> test-poseutils.py:187: OK: r_from_R() for tiny rotations: th = 1e-08
> test-poseutils.py:182: OK: R_from_r() for tiny rotations: th = 1e-07
> test-poseutils.py:187: OK: r_from_R() for tiny rotations: th = 1e-07
> test-poseutils.py:182: OK: R_from_r() for tiny rotations: th = 1e-06
> test-poseutils.py:187: OK: r_from_R() for tiny rotations: th = 1e-06
> test-poseutils.py:199: OK: skew_symmetric()
> test-poseutils.py:205: All tests passed: 41 total
> ========== RUNNING: test/test-cameramodel.py
> test-cameramodel.py:44: 
> test-cameramodel.py:45: 
> test-cameramodel.py:46: 
> test-cameramodel.py:52: 
> test-cameramodel.py:53: 
> test-cameramodel.py:54: 
> test-cameramodel.py:57: 
> test-cameramodel.py:58: 
> test-cameramodel.py:59: 
> test-cameramodel.py:64: 
> test-cameramodel.py:69: OK: read 'valid_intrinsics_region is None' properly
> test-cameramodel.py:84: OK: was able to set an open valid_intrinsics_region and to see it be closed
> test-cameramodel.py:88: OK: read 'valid_intrinsics_region' properly
> test-cameramodel.py:92: OK: was able to set an empty valid_intrinsics_region
> test-cameramodel.py:96: OK: read empty valid_intrinsics_region properly
> test-cameramodel.py:123: OK: extra spaces don't confuse the parser
> test-cameramodel.py:130: All tests passed: 16 total
> ========== RUNNING: test/test-poseutils-lib.py
> test-poseutils-lib.py:219: OK: identity_R
> test-poseutils-lib.py:222: OK: identity_Rt
> test-poseutils-lib.py:225: OK: identity_r
> test-poseutils-lib.py:228: OK: identity_rt
> test-poseutils-lib.py:235: OK: rotate_point_R result
> test-poseutils-lib.py:245: OK: rotate_point_R result
> test-poseutils-lib.py:248: OK: rotate_point_R J_R
> test-poseutils-lib.py:251: OK: rotate_point_R J_x
> test-poseutils-lib.py:260: OK: rotate_point_R result written in-place into x
> test-poseutils-lib.py:267: OK: rotate_point_R(inverted) result
> test-poseutils-lib.py:278: OK: rotate_point_R(inverted) result
> test-poseutils-lib.py:281: OK: rotate_point_R(inverted) J_R
> test-poseutils-lib.py:284: OK: rotate_point_R(inverted) J_x
> test-poseutils-lib.py:293: OK: rotate_point_R result written in-place into x
> test-poseutils-lib.py:300: OK: rotate_point_r result
> test-poseutils-lib.py:310: OK: rotate_point_r result
> test-poseutils-lib.py:313: OK: rotate_point_r J_r
> test-poseutils-lib.py:316: OK: rotate_point_r J_x
> test-poseutils-lib.py:324: OK: rotate_point_r result written in-place into x
> test-poseutils-lib.py:334: OK: rotate_point_r (with gradients) result written in-place into x
> test-poseutils-lib.py:337: OK: rotate_point_r (with gradients) result written in-place into x: J_r
> test-poseutils-lib.py:340: OK: rotate_point_r (with gradients) result written in-place into x: J_x
> test-poseutils-lib.py:346: OK: rotate_point_r(inverted) result
> test-poseutils-lib.py:357: OK: rotate_point_r(inverted) result
> test-poseutils-lib.py:360: OK: rotate_point_r(inverted) J_r
> test-poseutils-lib.py:363: OK: rotate_point_r(inverted) J_x
> test-poseutils-lib.py:372: OK: rotate_point_r(inverted) result written in-place into x
> test-poseutils-lib.py:381: OK: rotate_point_r(inverted, with-gradients) result written in-place into x
> test-poseutils-lib.py:384: OK: rotate_point_r(inverted, with-gradients result written in-place into x) J_r
> test-poseutils-lib.py:387: OK: rotate_point_r(inverted, with-gradients result written in-place into x) J_x
> test-poseutils-lib.py:396: OK: transform_point_Rt result
> test-poseutils-lib.py:405: OK: transform_point_Rt result
> test-poseutils-lib.py:408: OK: transform_point_Rt J_Rt
> test-poseutils-lib.py:411: OK: transform_point_Rt J_x
> test-poseutils-lib.py:420: OK: transform_point_Rt result written in-place into t
> test-poseutils-lib.py:426: OK: transform_point_Rt result written in-place into x
> test-poseutils-lib.py:435: OK: transform_point_Rt (with gradients) result written in-place into t
> test-poseutils-lib.py:438: OK: transform_point_Rt (with gradients) result written in-place into t: J_Rt
> test-poseutils-lib.py:441: OK: transform_point_Rt (with gradients) result written in-place into t: J_x
> test-poseutils-lib.py:449: OK: transform_point_Rt (with gradients) result written in-place into x
> test-poseutils-lib.py:452: OK: transform_point_Rt (with gradients) result written in-place into x: J_Rt
> test-poseutils-lib.py:455: OK: transform_point_Rt (with gradients) result written in-place into x: J_x
> test-poseutils-lib.py:462: OK: transform_point_Rt(inverted) result
> test-poseutils-lib.py:472: OK: transform_point_Rt(inverted) result
> test-poseutils-lib.py:475: OK: transform_point_Rt(inverted) J_Rt
> test-poseutils-lib.py:478: OK: transform_point_Rt(inverted) J_x
> test-poseutils-lib.py:488: OK: transform_point_Rt(inverted) result written in-place into t
> test-poseutils-lib.py:495: OK: transform_point_Rt(inverted) result written in-place into x
> test-poseutils-lib.py:505: OK: transform_point_Rt(inverted) (with gradients) result written in-place into t
> test-poseutils-lib.py:508: OK: transform_point_Rt(inverted) (with gradients) result written in-place into t: J_Rt
> test-poseutils-lib.py:511: OK: transform_point_Rt(inverted) (with gradients) result written in-place into t: J_x
> test-poseutils-lib.py:520: OK: transform_point_Rt(inverted) (with gradients) result written in-place into x
> test-poseutils-lib.py:523: OK: transform_point_Rt(inverted) (with gradients) result written in-place into x: J_Rt
> test-poseutils-lib.py:526: OK: transform_point_Rt(inverted) (with gradients) result written in-place into x: J_x
> test-poseutils-lib.py:535: OK: transform_point_rt result
> test-poseutils-lib.py:545: OK: transform_point_rt result
> test-poseutils-lib.py:548: OK: transform_point_rt J_rt
> test-poseutils-lib.py:551: OK: transform_point_rt J_x
> test-poseutils-lib.py:561: OK: transform_point_rt result written in-place into t
> test-poseutils-lib.py:568: OK: transform_point_rt result written in-place into x
> test-poseutils-lib.py:578: OK: transform_point_rt (with gradients) result written in-place into t
> test-poseutils-lib.py:581: OK: transform_point_rt (with gradients) result written in-place into t: J_rt
> test-poseutils-lib.py:584: OK: transform_point_rt (with gradients) result written in-place into t: J_x
> test-poseutils-lib.py:593: OK: transform_point_rt (with gradients) result written in-place into x
> test-poseutils-lib.py:596: OK: transform_point_rt (with gradients) result written in-place into x: J_rt
> test-poseutils-lib.py:599: OK: transform_point_rt (with gradients) result written in-place into x: J_x
> test-poseutils-lib.py:605: OK: transform_point_rt(inverted) result
> test-poseutils-lib.py:616: OK: transform_point_rt(inverted) result
> test-poseutils-lib.py:619: OK: transform_point_rt(inverted) J_rt
> test-poseutils-lib.py:622: OK: transform_point_rt(inverted) J_x
> test-poseutils-lib.py:632: OK: transform_point_rt(inverted) result written in-place into t
> test-poseutils-lib.py:639: OK: transform_point_rt(inverted) result written in-place into x
> test-poseutils-lib.py:649: OK: transform_point_rt(inverted, with gradients) result written in-place into t
> test-poseutils-lib.py:652: OK: transform_point_rt(inverted, with gradients) result written in-place into t: J_rt
> test-poseutils-lib.py:655: OK: transform_point_rt(inverted, with gradients) result written in-place into t: J_x
> test-poseutils-lib.py:664: OK: transform_point_rt(inverted, with gradients) result written in-place into x
> test-poseutils-lib.py:667: OK: transform_point_rt(inverted, with gradients) result written in-place into x: J_rt
> test-poseutils-lib.py:670: OK: transform_point_rt(inverted, with gradients) result written in-place into x: J_x
> test-poseutils-lib.py:679: OK: r_from_R result
> test-poseutils-lib.py:687: OK: r_from_R result
> test-poseutils-lib.py:690: OK: r_from_R J_R
> test-poseutils-lib.py:699: OK: r_from_R result, comparing with cv2.Rodrigues
> test-poseutils-lib.py:719: OK: r_from_R() can handle numerical fuzz
> test-poseutils-lib.py:724: OK: R_from_r result
> test-poseutils-lib.py:732: OK: R_from_r result
> test-poseutils-lib.py:735: OK: R_from_r J_r
> test-poseutils-lib.py:741: OK: R_from_r result for tiny r0
> test-poseutils-lib.py:749: OK: R_from_r result for tiny r0
> test-poseutils-lib.py:752: OK: R_from_r J_r for tiny r0
> test-poseutils-lib.py:763: OK: R_from_r result, comparing with cv2.Rodrigues
> test-poseutils-lib.py:766: OK: R_from_r J_r, comparing with cv2.Rodrigues
> test-poseutils-lib.py:773: OK: rt_from_Rt result
> test-poseutils-lib.py:781: OK: rt_from_Rt result
> test-poseutils-lib.py:784: OK: rt_from_Rt grad result
> test-poseutils-lib.py:789: OK: Rt_from_rt result
> test-poseutils-lib.py:797: OK: Rt_from_rt result
> test-poseutils-lib.py:800: OK: Rt_from_rt grad result
> test-poseutils-lib.py:805: OK: invert_Rt result
> test-poseutils-lib.py:812: OK: invert_Rt result written in-place
> test-poseutils-lib.py:817: OK: invert_R result
> test-poseutils-lib.py:824: OK: invert_R result written in-place
> test-poseutils-lib.py:829: OK: invert_rt result
> test-poseutils-lib.py:836: OK: invert_rt result written in-place
> test-poseutils-lib.py:845: OK: invert_rt with grad result
> test-poseutils-lib.py:848: OK: invert_rt drt/drt result
> test-poseutils-lib.py:857: OK: invert_rt with grad result written in-place
> test-poseutils-lib.py:860: OK: invert_rt with grad drt/drt result written in-place
> test-poseutils-lib.py:866: OK: compose_Rt result
> test-poseutils-lib.py:875: OK: compose_Rt result written in-place to Rt0
> test-poseutils-lib.py:882: OK: compose_Rt result written in-place to Rt1
> test-poseutils-lib.py:890: OK: compose_rt result
> test-poseutils-lib.py:899: OK: compose_rt result written in-place to rt0
> test-poseutils-lib.py:906: OK: compose_rt result written in-place to rt1
> test-poseutils-lib.py:911: OK: compose_rt result; calling _compose_rt() directly
> test-poseutils-lib.py:920: OK: compose_rt (calling _compose_rt() directly) written in-place to rt0
> test-poseutils-lib.py:927: OK: compose_rt (calling _compose_rt() directly) written in-place to rt1
> test-poseutils-lib.py:936: OK: compose_rt result
> test-poseutils-lib.py:939: OK: compose_rt drt2_drt0
> test-poseutils-lib.py:942: OK: compose_rt drt2_drt1
> test-poseutils-lib.py:954: OK: compose_rt (with gradients) result written in-place to rt0
> test-poseutils-lib.py:957: OK: compose_rt (with gradients) result written in-place to rt0: drt2_drt0
> test-poseutils-lib.py:960: OK: compose_rt (with gradients) result written in-place to rt0: drt2_drt1
> test-poseutils-lib.py:968: OK: compose_rt (with gradients) result written in-place to rt1
> test-poseutils-lib.py:971: OK: compose_rt (with gradients) result written in-place to rt1: drt2_drt0
> test-poseutils-lib.py:974: OK: compose_rt (with gradients) result written in-place to rt1: drt2_drt1
> test-poseutils-lib.py:980: OK: compose_Rt with 3 inputs
> test-poseutils-lib.py:989: OK: compose_rt with 3 inputs
> test-poseutils-lib.py:1015: OK: compose_r basic operation
> test-poseutils-lib.py:1020: OK: compose_r in-place output
> test-poseutils-lib.py:1028: OK: compose_r gradients: r01
> test-poseutils-lib.py:1031: OK: compose_r gradients: dr01_dr0
> test-poseutils-lib.py:1034: OK: compose_r gradients: dr01_dr1
> test-poseutils-lib.py:1041: OK: compose_r in-place gradients: r01
> test-poseutils-lib.py:1044: OK: compose_r in-place gradients: dr01_dr0
> test-poseutils-lib.py:1047: OK: compose_r in-place gradients: dr01_dr1
> test-poseutils-lib.py:1057: OK: compose_r in-place r1nearzero gradients: r01
> test-poseutils-lib.py:1060: OK: compose_r in-place r1nearzero gradients: dr01_dr0
> test-poseutils-lib.py:1063: OK: compose_r in-place r1nearzero gradients: dr01_dr1
> test-poseutils-lib.py:1072: OK: compose_r in-place r1zero gradients: r01
> test-poseutils-lib.py:1075: OK: compose_r in-place r1zero gradients: dr01_dr0
> test-poseutils-lib.py:1078: OK: compose_r in-place r1zero gradients: dr01_dr1
> test-poseutils-lib.py:1087: OK: compose_r in-place r1nearzero gradients: r01
> test-poseutils-lib.py:1090: OK: compose_r in-place r1nearzero gradients: dr01_dr0
> test-poseutils-lib.py:1093: OK: compose_r in-place r1nearzero gradients: dr01_dr1
> test-poseutils-lib.py:1102: OK: compose_r in-place r1zero gradients: r01
> test-poseutils-lib.py:1105: OK: compose_r in-place r1zero gradients: dr01_dr0
> test-poseutils-lib.py:1108: OK: compose_r in-place r1zero gradients: dr01_dr1
> test-poseutils-lib.py:1117: OK: compose_r in-place r0nearzero,r1nearzero gradients: r01
> test-poseutils-lib.py:1120: OK: compose_r in-place r0nearzero,r1nearzero gradients: dr01_dr0
> test-poseutils-lib.py:1123: OK: compose_r in-place r0nearzero,r1nearzero gradients: dr01_dr1
> test-poseutils-lib.py:1132: OK: compose_r in-place r0nearzero,r1zero gradients: r01
> test-poseutils-lib.py:1135: OK: compose_r in-place r0nearzero,r1zero gradients: dr01_dr0
> test-poseutils-lib.py:1138: OK: compose_r in-place r0nearzero,r1zero gradients: dr01_dr1
> test-poseutils-lib.py:1147: OK: compose_r in-place r0zero,r1nearzero gradients: r01
> test-poseutils-lib.py:1150: OK: compose_r in-place r0zero,r1nearzero gradients: dr01_dr0
> test-poseutils-lib.py:1153: OK: compose_r in-place r0zero,r1nearzero gradients: dr01_dr1
> test-poseutils-lib.py:1162: OK: compose_r in-place r0zero,r1zero gradients: r01
> test-poseutils-lib.py:1165: OK: compose_r in-place r0zero,r1zero gradients: dr01_dr0
> test-poseutils-lib.py:1168: OK: compose_r in-place r0zero,r1zero gradients: dr01_dr1
> test-poseutils-lib.py:1178: OK: compose_r in-place r0big,-r0big gradients: r01
> test-poseutils-lib.py:1181: OK: compose_r in-place r0big,-r0big gradients: dr01_dr0
> test-poseutils-lib.py:1184: OK: compose_r in-place r0big,-r0big gradients: dr01_dr1
> test-poseutils-lib.py:1193: OK: compose_r in-place r0nearzero,-r0nearzero gradients: r01
> test-poseutils-lib.py:1196: OK: compose_r in-place r0nearzero,-r0nearzero gradients: dr01_dr0
> test-poseutils-lib.py:1199: OK: compose_r in-place r0nearzero,-r0nearzero gradients: dr01_dr1
> test-poseutils-lib.py:1208: OK: compose_r in-place r0zero,-r0zero gradients: r01
> test-poseutils-lib.py:1211: OK: compose_r in-place r0zero,-r0zero gradients: dr01_dr0
> test-poseutils-lib.py:1214: OK: compose_r in-place r0zero,-r0zero gradients: dr01_dr1
> test-poseutils-lib.py:1236: OK: compose_r_tinyr0_gradientr0 in-place r1zero gradients: dr01_dr0
> test-poseutils-lib.py:1243: OK: compose_r_tinyr0_gradientr0 in-place r1nearzero gradients: dr01_dr0
> test-poseutils-lib.py:1250: OK: compose_r_tinyr0_gradientr0 in-place r1zero gradients: dr01_dr0
> test-poseutils-lib.py:1257: OK: compose_r_tinyr0_gradientr0 in-place r0zero,-r0zero gradients: dr01_dr0
> test-poseutils-lib.py:1261: All tests passed: 172 total
> ========== RUNNING: test/test-projections.py
> test-projections.py:341: OK: Projecting LENSMODEL_PINHOLE
> test-projections.py:341: OK: Projecting LENSMODEL_PINHOLE in-place
> test-projections.py:341: OK: Projecting LENSMODEL_PINHOLE with grad
> test-projections.py:341: OK: dq_dp LENSMODEL_PINHOLE
> test-projections.py:341: OK: dq_di LENSMODEL_PINHOLE
> test-projections.py:341: OK: Projecting LENSMODEL_PINHOLE with grad in-place
> test-projections.py:341: OK: dq_dp in-place
> test-projections.py:341: OK: dq_di in-place
> test-projections.py:341: OK: Unprojecting LENSMODEL_PINHOLE
> test-projections.py:341: OK: Unprojected v are normalized
> test-projections.py:341: OK: Unprojecting LENSMODEL_PINHOLE (normalized)
> test-projections.py:341: OK: Unprojected in-place v are normalized
> test-projections.py:341: OK: Unprojecting in-place LENSMODEL_PINHOLE
> test-projections.py:341: OK: Unprojecting LENSMODEL_PINHOLE with grad
> test-projections.py:341: OK: dv_dq: LENSMODEL_PINHOLE
> test-projections.py:341: OK: dv_di LENSMODEL_PINHOLE
> test-projections.py:341: OK: Unprojected v (with gradients) are normalized
> test-projections.py:341: OK: Unprojecting (normalized, with gradients) LENSMODEL_PINHOLE
> test-projections.py:341: OK: dv_dq (normalized v): LENSMODEL_PINHOLE
> test-projections.py:341: OK: dv_di (normalized v): LENSMODEL_PINHOLE
> test-projections.py:341: OK: Unprojected v (with gradients, in-place) are normalized
> test-projections.py:341: OK: Unprojecting (normalized, with gradients, in-place) LENSMODEL_PINHOLE
> test-projections.py:341: OK: dv_dq (normalized v, in-place): LENSMODEL_PINHOLE
> test-projections.py:341: OK: dv_di (normalized v, in-place): LENSMODEL_PINHOLE
> test-projections.py:341: OK: Unprojecting (non-normalized, with gradients, in-place) LENSMODEL_PINHOLE
> test-projections.py:341: OK: dv_dq (unnormalized v, in-place): LENSMODEL_PINHOLE
> test-projections.py:341: OK: dv_di (unnormalized v, in-place): LENSMODEL_PINHOLE
> test-projections.py:349: OK: Projecting LENSMODEL_STEREOGRAPHIC
> test-projections.py:349: OK: Projecting LENSMODEL_STEREOGRAPHIC in-place
> test-projections.py:349: OK: Projecting LENSMODEL_STEREOGRAPHIC with grad
> test-projections.py:349: OK: dq_dp LENSMODEL_STEREOGRAPHIC
> test-projections.py:349: OK: dq_di LENSMODEL_STEREOGRAPHIC
> test-projections.py:349: OK: Projecting LENSMODEL_STEREOGRAPHIC with grad in-place
> test-projections.py:349: OK: dq_dp in-place
> test-projections.py:349: OK: dq_di in-place
> test-projections.py:349: OK: Unprojecting LENSMODEL_STEREOGRAPHIC
> test-projections.py:349: OK: Unprojected v are normalized
> test-projections.py:349: OK: Unprojecting LENSMODEL_STEREOGRAPHIC (normalized)
> test-projections.py:349: OK: Unprojected in-place v are normalized
> test-projections.py:349: OK: Unprojecting in-place LENSMODEL_STEREOGRAPHIC
> test-projections.py:349: OK: Unprojecting LENSMODEL_STEREOGRAPHIC with grad
> test-projections.py:349: OK: dv_dq: LENSMODEL_STEREOGRAPHIC
> test-projections.py:349: OK: dv_di LENSMODEL_STEREOGRAPHIC
> test-projections.py:349: OK: Unprojected v (with gradients) are normalized
> test-projections.py:349: OK: Unprojecting (normalized, with gradients) LENSMODEL_STEREOGRAPHIC
> test-projections.py:349: OK: dv_dq (normalized v): LENSMODEL_STEREOGRAPHIC
> test-projections.py:349: OK: dv_di (normalized v): LENSMODEL_STEREOGRAPHIC
> test-projections.py:349: OK: Unprojected v (with gradients, in-place) are normalized
> test-projections.py:349: OK: Unprojecting (normalized, with gradients, in-place) LENSMODEL_STEREOGRAPHIC
> test-projections.py:349: OK: dv_dq (normalized v, in-place): LENSMODEL_STEREOGRAPHIC
> test-projections.py:349: OK: dv_di (normalized v, in-place): LENSMODEL_STEREOGRAPHIC
> test-projections.py:349: OK: Unprojecting (non-normalized, with gradients, in-place) LENSMODEL_STEREOGRAPHIC
> test-projections.py:349: OK: dv_dq (unnormalized v, in-place): LENSMODEL_STEREOGRAPHIC
> test-projections.py:349: OK: dv_di (unnormalized v, in-place): LENSMODEL_STEREOGRAPHIC
> test-projections.py:357: OK: Projecting LENSMODEL_LATLON
> test-projections.py:357: OK: Projecting LENSMODEL_LATLON in-place
> test-projections.py:357: OK: Projecting LENSMODEL_LATLON with grad
> test-projections.py:357: OK: dq_dp LENSMODEL_LATLON
> test-projections.py:357: OK: dq_di LENSMODEL_LATLON
> test-projections.py:357: OK: Projecting LENSMODEL_LATLON with grad in-place
> test-projections.py:357: OK: dq_dp in-place
> test-projections.py:357: OK: dq_di in-place
> test-projections.py:357: OK: Unprojecting LENSMODEL_LATLON
> test-projections.py:357: OK: Unprojected v are normalized
> test-projections.py:357: OK: Unprojecting LENSMODEL_LATLON (normalized)
> test-projections.py:357: OK: Unprojected in-place v are normalized
> test-projections.py:357: OK: Unprojecting in-place LENSMODEL_LATLON
> test-projections.py:357: OK: Unprojecting LENSMODEL_LATLON with grad
> test-projections.py:357: OK: dv_dq: LENSMODEL_LATLON
> test-projections.py:357: OK: dv_di LENSMODEL_LATLON
> test-projections.py:357: OK: Unprojected v (with gradients) are normalized
> test-projections.py:357: OK: Unprojecting (normalized, with gradients) LENSMODEL_LATLON
> test-projections.py:357: OK: dv_dq (normalized v): LENSMODEL_LATLON
> test-projections.py:357: OK: dv_di (normalized v): LENSMODEL_LATLON
> test-projections.py:357: OK: Unprojected v (with gradients, in-place) are normalized
> test-projections.py:357: OK: Unprojecting (normalized, with gradients, in-place) LENSMODEL_LATLON
> test-projections.py:357: OK: dv_dq (normalized v, in-place): LENSMODEL_LATLON
> test-projections.py:357: OK: dv_di (normalized v, in-place): LENSMODEL_LATLON
> test-projections.py:357: OK: Unprojecting (non-normalized, with gradients, in-place) LENSMODEL_LATLON
> test-projections.py:357: OK: dv_dq (unnormalized v, in-place): LENSMODEL_LATLON
> test-projections.py:357: OK: dv_di (unnormalized v, in-place): LENSMODEL_LATLON
> test-projections.py:365: OK: Projecting LENSMODEL_LONLAT
> test-projections.py:365: OK: Projecting LENSMODEL_LONLAT in-place
> test-projections.py:365: OK: Projecting LENSMODEL_LONLAT with grad
> test-projections.py:365: OK: dq_dp LENSMODEL_LONLAT
> test-projections.py:365: OK: dq_di LENSMODEL_LONLAT
> test-projections.py:365: OK: Projecting LENSMODEL_LONLAT with grad in-place
> test-projections.py:365: OK: dq_dp in-place
> test-projections.py:365: OK: dq_di in-place
> test-projections.py:365: OK: Unprojecting LENSMODEL_LONLAT
> test-projections.py:365: OK: Unprojected v are normalized
> test-projections.py:365: OK: Unprojecting LENSMODEL_LONLAT (normalized)
> test-projections.py:365: OK: Unprojected in-place v are normalized
> test-projections.py:365: OK: Unprojecting in-place LENSMODEL_LONLAT
> test-projections.py:365: OK: Unprojecting LENSMODEL_LONLAT with grad
> test-projections.py:365: OK: dv_dq: LENSMODEL_LONLAT
> test-projections.py:365: OK: dv_di LENSMODEL_LONLAT
> test-projections.py:365: OK: Unprojected v (with gradients) are normalized
> test-projections.py:365: OK: Unprojecting (normalized, with gradients) LENSMODEL_LONLAT
> test-projections.py:365: OK: dv_dq (normalized v): LENSMODEL_LONLAT
> test-projections.py:365: OK: dv_di (normalized v): LENSMODEL_LONLAT
> test-projections.py:365: OK: Unprojected v (with gradients, in-place) are normalized
> test-projections.py:365: OK: Unprojecting (normalized, with gradients, in-place) LENSMODEL_LONLAT
> test-projections.py:365: OK: dv_dq (normalized v, in-place): LENSMODEL_LONLAT
> test-projections.py:365: OK: dv_di (normalized v, in-place): LENSMODEL_LONLAT
> test-projections.py:365: OK: Unprojecting (non-normalized, with gradients, in-place) LENSMODEL_LONLAT
> test-projections.py:365: OK: dv_dq (unnormalized v, in-place): LENSMODEL_LONLAT
> test-projections.py:365: OK: dv_di (unnormalized v, in-place): LENSMODEL_LONLAT
> test-projections.py:373: OK: Projecting LENSMODEL_OPENCV4
> test-projections.py:373: OK: Projecting LENSMODEL_OPENCV4 in-place
> test-projections.py:373: OK: Projecting LENSMODEL_OPENCV4 with grad
> test-projections.py:373: OK: dq_dp LENSMODEL_OPENCV4
> test-projections.py:373: OK: dq_di LENSMODEL_OPENCV4
> test-projections.py:373: OK: Projecting LENSMODEL_OPENCV4 with grad in-place
> test-projections.py:373: OK: dq_dp in-place
> test-projections.py:373: OK: dq_di in-place
> test-projections.py:373: OK: Unprojecting LENSMODEL_OPENCV4
> test-projections.py:373: OK: Unprojected v are normalized
> test-projections.py:373: OK: Unprojecting LENSMODEL_OPENCV4 (normalized)
> test-projections.py:373: OK: Unprojected in-place v are normalized
> test-projections.py:373: OK: Unprojecting in-place LENSMODEL_OPENCV4
> test-projections.py:373: OK: Unprojecting LENSMODEL_OPENCV4 with grad
> test-projections.py:373: OK: dv_dq: LENSMODEL_OPENCV4
> test-projections.py:373: OK: dv_di LENSMODEL_OPENCV4
> test-projections.py:373: OK: Unprojected v (with gradients) are normalized
> test-projections.py:373: OK: Unprojecting (normalized, with gradients) LENSMODEL_OPENCV4
> test-projections.py:373: OK: dv_dq (normalized v): LENSMODEL_OPENCV4
> test-projections.py:373: OK: dv_di (normalized v): LENSMODEL_OPENCV4
> test-projections.py:373: OK: Unprojected v (with gradients, in-place) are normalized
> test-projections.py:373: OK: Unprojecting (normalized, with gradients, in-place) LENSMODEL_OPENCV4
> test-projections.py:373: OK: dv_dq (normalized v, in-place): LENSMODEL_OPENCV4
> test-projections.py:373: OK: dv_di (normalized v, in-place): LENSMODEL_OPENCV4
> test-projections.py:373: OK: Unprojecting (non-normalized, with gradients, in-place) LENSMODEL_OPENCV4
> test-projections.py:373: OK: dv_dq (unnormalized v, in-place): LENSMODEL_OPENCV4
> test-projections.py:373: OK: dv_di (unnormalized v, in-place): LENSMODEL_OPENCV4
> test-projections.py:380: OK: Projecting LENSMODEL_OPENCV5
> test-projections.py:380: OK: Projecting LENSMODEL_OPENCV5 in-place
> test-projections.py:380: OK: Projecting LENSMODEL_OPENCV5 with grad
> test-projections.py:380: OK: dq_dp LENSMODEL_OPENCV5
> test-projections.py:380: OK: dq_di LENSMODEL_OPENCV5
> test-projections.py:380: OK: Projecting LENSMODEL_OPENCV5 with grad in-place
> test-projections.py:380: OK: dq_dp in-place
> test-projections.py:380: OK: dq_di in-place
> test-projections.py:380: OK: Unprojecting LENSMODEL_OPENCV5
> test-projections.py:380: OK: Unprojected v are normalized
> test-projections.py:380: OK: Unprojecting LENSMODEL_OPENCV5 (normalized)
> test-projections.py:380: OK: Unprojected in-place v are normalized
> test-projections.py:380: OK: Unprojecting in-place LENSMODEL_OPENCV5
> test-projections.py:380: OK: Unprojecting LENSMODEL_OPENCV5 with grad
> test-projections.py:380: OK: dv_dq: LENSMODEL_OPENCV5
> test-projections.py:380: OK: dv_di LENSMODEL_OPENCV5
> test-projections.py:380: OK: Unprojected v (with gradients) are normalized
> test-projections.py:380: OK: Unprojecting (normalized, with gradients) LENSMODEL_OPENCV5
> test-projections.py:380: OK: dv_dq (normalized v): LENSMODEL_OPENCV5
> test-projections.py:380: OK: dv_di (normalized v): LENSMODEL_OPENCV5
> test-projections.py:380: OK: Unprojected v (with gradients, in-place) are normalized
> test-projections.py:380: OK: Unprojecting (normalized, with gradients, in-place) LENSMODEL_OPENCV5
> test-projections.py:380: OK: dv_dq (normalized v, in-place): LENSMODEL_OPENCV5
> test-projections.py:380: OK: dv_di (normalized v, in-place): LENSMODEL_OPENCV5
> test-projections.py:380: OK: Unprojecting (non-normalized, with gradients, in-place) LENSMODEL_OPENCV5
> test-projections.py:380: OK: dv_dq (unnormalized v, in-place): LENSMODEL_OPENCV5
> test-projections.py:380: OK: dv_di (unnormalized v, in-place): LENSMODEL_OPENCV5
> test-projections.py:387: OK: Projecting LENSMODEL_OPENCV8
> test-projections.py:387: OK: Projecting LENSMODEL_OPENCV8 in-place
> test-projections.py:387: OK: Projecting LENSMODEL_OPENCV8 with grad
> test-projections.py:387: OK: dq_dp LENSMODEL_OPENCV8
> test-projections.py:387: OK: dq_di LENSMODEL_OPENCV8
> test-projections.py:387: OK: Projecting LENSMODEL_OPENCV8 with grad in-place
> test-projections.py:387: OK: dq_dp in-place
> test-projections.py:387: OK: dq_di in-place
> test-projections.py:387: OK: Unprojecting LENSMODEL_OPENCV8
> test-projections.py:387: OK: Unprojected v are normalized
> test-projections.py:387: OK: Unprojecting LENSMODEL_OPENCV8 (normalized)
> test-projections.py:387: OK: Unprojected in-place v are normalized
> test-projections.py:387: OK: Unprojecting in-place LENSMODEL_OPENCV8
> test-projections.py:387: OK: Unprojecting LENSMODEL_OPENCV8 with grad
> test-projections.py:387: OK: dv_dq: LENSMODEL_OPENCV8
> test-projections.py:387: OK: dv_di LENSMODEL_OPENCV8
> test-projections.py:387: OK: Unprojected v (with gradients) are normalized
> test-projections.py:387: OK: Unprojecting (normalized, with gradients) LENSMODEL_OPENCV8
> test-projections.py:387: OK: dv_dq (normalized v): LENSMODEL_OPENCV8
> test-projections.py:387: OK: dv_di (normalized v): LENSMODEL_OPENCV8
> test-projections.py:387: OK: Unprojected v (with gradients, in-place) are normalized
> test-projections.py:387: OK: Unprojecting (normalized, with gradients, in-place) LENSMODEL_OPENCV8
> test-projections.py:387: OK: dv_dq (normalized v, in-place): LENSMODEL_OPENCV8
> test-projections.py:387: OK: dv_di (normalized v, in-place): LENSMODEL_OPENCV8
> test-projections.py:387: OK: Unprojecting (non-normalized, with gradients, in-place) LENSMODEL_OPENCV8
> test-projections.py:387: OK: dv_dq (unnormalized v, in-place): LENSMODEL_OPENCV8
> test-projections.py:387: OK: dv_di (unnormalized v, in-place): LENSMODEL_OPENCV8
> test-projections.py:394: OK: Projecting LENSMODEL_CAHVOR
> test-projections.py:394: OK: Projecting LENSMODEL_CAHVOR in-place
> test-projections.py:394: OK: Projecting LENSMODEL_CAHVOR with grad
> test-projections.py:394: OK: dq_dp LENSMODEL_CAHVOR
> test-projections.py:394: OK: dq_di LENSMODEL_CAHVOR
> test-projections.py:394: OK: Projecting LENSMODEL_CAHVOR with grad in-place
> test-projections.py:394: OK: dq_dp in-place
> test-projections.py:394: OK: dq_di in-place
> test-projections.py:394: OK: Unprojecting LENSMODEL_CAHVOR
> test-projections.py:394: OK: Unprojected v are normalized
> test-projections.py:394: OK: Unprojecting LENSMODEL_CAHVOR (normalized)
> test-projections.py:394: OK: Unprojected in-place v are normalized
> test-projections.py:394: OK: Unprojecting in-place LENSMODEL_CAHVOR
> test-projections.py:394: OK: Unprojecting LENSMODEL_CAHVOR with grad
> test-projections.py:394: OK: dv_dq: LENSMODEL_CAHVOR
> test-projections.py:394: OK: dv_di LENSMODEL_CAHVOR
> test-projections.py:394: OK: Unprojected v (with gradients) are normalized
> test-projections.py:394: OK: Unprojecting (normalized, with gradients) LENSMODEL_CAHVOR
> test-projections.py:394: OK: dv_dq (normalized v): LENSMODEL_CAHVOR
> test-projections.py:394: OK: dv_di (normalized v): LENSMODEL_CAHVOR
> test-projections.py:394: OK: Unprojected v (with gradients, in-place) are normalized
> test-projections.py:394: OK: Unprojecting (normalized, with gradients, in-place) LENSMODEL_CAHVOR
> test-projections.py:394: OK: dv_dq (normalized v, in-place): LENSMODEL_CAHVOR
> test-projections.py:394: OK: dv_di (normalized v, in-place): LENSMODEL_CAHVOR
> test-projections.py:394: OK: Unprojecting (non-normalized, with gradients, in-place) LENSMODEL_CAHVOR
> test-projections.py:394: OK: dv_dq (unnormalized v, in-place): LENSMODEL_CAHVOR
> test-projections.py:394: OK: dv_di (unnormalized v, in-place): LENSMODEL_CAHVOR
> test-projections.py:402: OK: Projecting LENSMODEL_CAHVORE_linearity=0.00
> test-projections.py:402: OK: Projecting LENSMODEL_CAHVORE_linearity=0.00 in-place
> test-projections.py:402: OK: Projecting LENSMODEL_CAHVORE_linearity=0.00 with grad
> test-projections.py:402: OK: dq_dp LENSMODEL_CAHVORE_linearity=0.00
> test-projections.py:402: OK: dq_di LENSMODEL_CAHVORE_linearity=0.00
> test-projections.py:402: OK: Projecting LENSMODEL_CAHVORE_linearity=0.00 with grad in-place
> test-projections.py:402: OK: dq_dp in-place
> test-projections.py:402: OK: dq_di in-place
> test-projections.py:402: OK: Unprojecting LENSMODEL_CAHVORE_linearity=0.00
> test-projections.py:402: OK: Unprojected v are normalized
> test-projections.py:402: OK: Unprojecting LENSMODEL_CAHVORE_linearity=0.00 (normalized)
> test-projections.py:402: OK: Unprojected in-place v are normalized
> test-projections.py:402: OK: Unprojecting in-place LENSMODEL_CAHVORE_linearity=0.00
> test-projections.py:402: OK: Unprojected v (with gradients) are normalized
> test-projections.py:402: OK: Unprojecting (normalized, with gradients) LENSMODEL_CAHVORE_linearity=0.00
> test-projections.py:402: OK: Unprojected v (with gradients, in-place) are normalized
> test-projections.py:402: OK: Unprojecting (normalized, with gradients, in-place) LENSMODEL_CAHVORE_linearity=0.00
> test-projections.py:402: OK: Unprojecting (non-normalized, with gradients, in-place) LENSMODEL_CAHVORE_linearity=0.00
> test-projections.py:411: OK: Projecting LENSMODEL_CAHVORE_linearity=0.00
> test-projections.py:411: OK: Projecting LENSMODEL_CAHVORE_linearity=0.00 in-place
> test-projections.py:411: OK: Projecting LENSMODEL_CAHVORE_linearity=0.00 with grad
> test-projections.py:411: OK: dq_dp LENSMODEL_CAHVORE_linearity=0.00
> test-projections.py:411: OK: dq_di LENSMODEL_CAHVORE_linearity=0.00
> test-projections.py:411: OK: Projecting LENSMODEL_CAHVORE_linearity=0.00 with grad in-place
> test-projections.py:411: OK: dq_dp in-place
> test-projections.py:411: OK: dq_di in-place
> test-projections.py:411: OK: Unprojecting LENSMODEL_CAHVORE_linearity=0.00
> test-projections.py:411: OK: Unprojected v are normalized
> test-projections.py:411: OK: Unprojecting LENSMODEL_CAHVORE_linearity=0.00 (normalized)
> test-projections.py:411: OK: Unprojected in-place v are normalized
> test-projections.py:411: OK: Unprojecting in-place LENSMODEL_CAHVORE_linearity=0.00
> test-projections.py:411: OK: Unprojected v (with gradients) are normalized
> test-projections.py:411: OK: Unprojecting (normalized, with gradients) LENSMODEL_CAHVORE_linearity=0.00
> test-projections.py:411: OK: Unprojected v (with gradients, in-place) are normalized
> test-projections.py:411: OK: Unprojecting (normalized, with gradients, in-place) LENSMODEL_CAHVORE_linearity=0.00
> test-projections.py:411: OK: Unprojecting (non-normalized, with gradients, in-place) LENSMODEL_CAHVORE_linearity=0.00
> test-projections.py:420: OK: Projecting LENSMODEL_CAHVORE_linearity=0.40
> test-projections.py:420: OK: Projecting LENSMODEL_CAHVORE_linearity=0.40 in-place
> test-projections.py:420: OK: Projecting LENSMODEL_CAHVORE_linearity=0.40 with grad
> test-projections.py:420: OK: dq_dp LENSMODEL_CAHVORE_linearity=0.40
> test-projections.py:420: OK: dq_di LENSMODEL_CAHVORE_linearity=0.40
> test-projections.py:420: OK: Projecting LENSMODEL_CAHVORE_linearity=0.40 with grad in-place
> test-projections.py:420: OK: dq_dp in-place
> test-projections.py:420: OK: dq_di in-place
> test-projections.py:420: OK: Unprojecting LENSMODEL_CAHVORE_linearity=0.40
> test-projections.py:420: OK: Unprojected v are normalized
> test-projections.py:420: OK: Unprojecting LENSMODEL_CAHVORE_linearity=0.40 (normalized)
> test-projections.py:420: OK: Unprojected in-place v are normalized
> test-projections.py:420: OK: Unprojecting in-place LENSMODEL_CAHVORE_linearity=0.40
> test-projections.py:420: OK: Unprojected v (with gradients) are normalized
> test-projections.py:420: OK: Unprojecting (normalized, with gradients) LENSMODEL_CAHVORE_linearity=0.40
> test-projections.py:420: OK: Unprojected v (with gradients, in-place) are normalized
> test-projections.py:420: OK: Unprojecting (normalized, with gradients, in-place) LENSMODEL_CAHVORE_linearity=0.40
> test-projections.py:420: OK: Unprojecting (non-normalized, with gradients, in-place) LENSMODEL_CAHVORE_linearity=0.40
> test-projections.py:434: OK: Projecting LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:434: OK: Projecting LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200 in-place
> test-projections.py:434: OK: Projecting LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200 with grad
> test-projections.py:434: OK: dq_dp LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:434: OK: dq_di LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:434: OK: Projecting LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200 with grad in-place
> test-projections.py:434: OK: dq_dp in-place
> test-projections.py:434: OK: dq_di in-place
> test-projections.py:434: OK: Unprojecting LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:434: OK: Unprojected v are normalized
> test-projections.py:434: OK: Unprojecting LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200 (normalized)
> test-projections.py:434: OK: Unprojected in-place v are normalized
> test-projections.py:434: OK: Unprojecting in-place LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:434: OK: Unprojecting LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200 with grad
> test-projections.py:434: OK: dv_dq: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:434: OK: dv_di LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:434: OK: Unprojected v (with gradients) are normalized
> test-projections.py:434: OK: Unprojecting (normalized, with gradients) LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:434: OK: dv_dq (normalized v): LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:434: OK: dv_di (normalized v): LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:434: OK: Unprojected v (with gradients, in-place) are normalized
> test-projections.py:434: OK: Unprojecting (normalized, with gradients, in-place) LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:434: OK: dv_dq (normalized v, in-place): LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:434: OK: dv_di (normalized v, in-place): LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:434: OK: Unprojecting (non-normalized, with gradients, in-place) LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:434: OK: dv_dq (unnormalized v, in-place): LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:434: OK: dv_di (unnormalized v, in-place): LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:475: OK: Projecting LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:475: OK: Projecting LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200 in-place
> test-projections.py:475: OK: Projecting LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200 with grad
> test-projections.py:475: OK: dq_dp LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:475: OK: dq_di LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:475: OK: Projecting LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200 with grad in-place
> test-projections.py:475: OK: dq_dp in-place
> test-projections.py:475: OK: dq_di in-place
> test-projections.py:475: OK: Unprojecting LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:475: OK: Unprojected v are normalized
> test-projections.py:475: OK: Unprojecting LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200 (normalized)
> test-projections.py:475: OK: Unprojected in-place v are normalized
> test-projections.py:475: OK: Unprojecting in-place LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:475: OK: Unprojecting LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200 with grad
> test-projections.py:475: OK: dv_dq: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:475: OK: dv_di LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:475: OK: Unprojected v (with gradients) are normalized
> test-projections.py:475: OK: Unprojecting (normalized, with gradients) LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:475: OK: dv_dq (normalized v): LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:475: OK: dv_di (normalized v): LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:475: OK: Unprojected v (with gradients, in-place) are normalized
> test-projections.py:475: OK: Unprojecting (normalized, with gradients, in-place) LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:475: OK: dv_dq (normalized v, in-place): LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:475: OK: dv_di (normalized v, in-place): LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:475: OK: Unprojecting (non-normalized, with gradients, in-place) LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:475: OK: dv_dq (unnormalized v, in-place): LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:475: OK: dv_di (unnormalized v, in-place): LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200
> test-projections.py:517: All tests passed: 324 total
> ========== RUNNING: test/test-projection--special-cases.py pinhole
> test-projection--special-cases.py:118: OK: project_pinhole()
> test-projection--special-cases.py:124: OK: project(pinhole) returns the same as project_pinhole()
> test-projection--special-cases.py:145: OK: unproject_pinhole()
> test-projection--special-cases.py:152: OK: unproject(pinhole,normalize = True) returns normalized vectors
> test-projection--special-cases.py:157: OK: unproject(pinhole,normalize = True, get_gradients=True) returns normalized vectors
> test-projection--special-cases.py:165: OK: unproject(pinhole) returns the same as unproject_pinhole()
> test-projection--special-cases.py:171: OK: project(unproject()) is an identity
> test-projection--special-cases.py:177: OK: project_pinhole(unproject_pinhole()) is an identity
> test-projection--special-cases.py:189: OK: project_pinhole() dq/dp
> test-projection--special-cases.py:199: OK: project(pinhole) dq/dp
> test-projection--special-cases.py:204: OK: project(pinhole) dq/di
> test-projection--special-cases.py:216: OK: unproject_pinhole() dv/dq
> test-projection--special-cases.py:234: OK: unproject(pinhole, normalize=False) dv/dq
> test-projection--special-cases.py:240: OK: unproject(pinhole, normalize=False) dv/di
> test-projection--special-cases.py:253: OK: unproject(pinhole, normalize=False) works in-place: v_unprojected
> test-projection--special-cases.py:258: OK: unproject(pinhole, normalize=False) works in-place: dv_dq
> test-projection--special-cases.py:263: OK: unproject(pinhole, normalize=False) works in-place: dv_di
> test-projection--special-cases.py:234: OK: unproject(pinhole, normalize=True) dv/dq
> test-projection--special-cases.py:240: OK: unproject(pinhole, normalize=True) dv/di
> test-projection--special-cases.py:253: OK: unproject(pinhole, normalize=True) works in-place: v_unprojected
> test-projection--special-cases.py:258: OK: unproject(pinhole, normalize=True) works in-place: dv_dq
> test-projection--special-cases.py:263: OK: unproject(pinhole, normalize=True) works in-place: dv_di
> test-projection--special-cases.py:269: All tests passed: 22 total
> ========== RUNNING: test/test-projection--special-cases.py stereographic
> test-projection--special-cases.py:118: OK: project_stereographic()
> test-projection--special-cases.py:124: OK: project(stereographic) returns the same as project_stereographic()
> test-projection--special-cases.py:145: OK: unproject_stereographic()
> test-projection--special-cases.py:152: OK: unproject(stereographic,normalize = True) returns normalized vectors
> test-projection--special-cases.py:157: OK: unproject(stereographic,normalize = True, get_gradients=True) returns normalized vectors
> test-projection--special-cases.py:165: OK: unproject(stereographic) returns the same as unproject_stereographic()
> test-projection--special-cases.py:171: OK: project(unproject()) is an identity
> test-projection--special-cases.py:177: OK: project_stereographic(unproject_stereographic()) is an identity
> test-projection--special-cases.py:189: OK: project_stereographic() dq/dp
> test-projection--special-cases.py:199: OK: project(stereographic) dq/dp
> test-projection--special-cases.py:204: OK: project(stereographic) dq/di
> test-projection--special-cases.py:216: OK: unproject_stereographic() dv/dq
> test-projection--special-cases.py:234: OK: unproject(stereographic, normalize=False) dv/dq
> test-projection--special-cases.py:240: OK: unproject(stereographic, normalize=False) dv/di
> test-projection--special-cases.py:253: OK: unproject(stereographic, normalize=False) works in-place: v_unprojected
> test-projection--special-cases.py:258: OK: unproject(stereographic, normalize=False) works in-place: dv_dq
> test-projection--special-cases.py:263: OK: unproject(stereographic, normalize=False) works in-place: dv_di
> test-projection--special-cases.py:234: OK: unproject(stereographic, normalize=True) dv/dq
> test-projection--special-cases.py:240: OK: unproject(stereographic, normalize=True) dv/di
> test-projection--special-cases.py:253: OK: unproject(stereographic, normalize=True) works in-place: v_unprojected
> test-projection--special-cases.py:258: OK: unproject(stereographic, normalize=True) works in-place: dv_dq
> test-projection--special-cases.py:263: OK: unproject(stereographic, normalize=True) works in-place: dv_di
> test-projection--special-cases.py:269: All tests passed: 22 total
> ========== RUNNING: test/test-projection--special-cases.py lonlat
> test-projection--special-cases.py:118: OK: project_lonlat()
> test-projection--special-cases.py:124: OK: project(lonlat) returns the same as project_lonlat()
> test-projection--special-cases.py:132: OK: unproject_lonlat() returns normalized vectors
> test-projection--special-cases.py:137: OK: unproject_lonlat()
> test-projection--special-cases.py:165: OK: unproject(lonlat) returns the same as unproject_lonlat()
> test-projection--special-cases.py:171: OK: project(unproject()) is an identity
> test-projection--special-cases.py:177: OK: project_lonlat(unproject_lonlat()) is an identity
> test-projection--special-cases.py:189: OK: project_lonlat() dq/dp
> test-projection--special-cases.py:199: OK: project(lonlat) dq/dp
> test-projection--special-cases.py:204: OK: project(lonlat) dq/di
> test-projection--special-cases.py:216: OK: unproject_lonlat() dv/dq
> test-projection--special-cases.py:234: OK: unproject(lonlat, normalize=False) dv/dq
> test-projection--special-cases.py:240: OK: unproject(lonlat, normalize=False) dv/di
> test-projection--special-cases.py:253: OK: unproject(lonlat, normalize=False) works in-place: v_unprojected
> test-projection--special-cases.py:258: OK: unproject(lonlat, normalize=False) works in-place: dv_dq
> test-projection--special-cases.py:263: OK: unproject(lonlat, normalize=False) works in-place: dv_di
> test-projection--special-cases.py:234: OK: unproject(lonlat, normalize=True) dv/dq
> test-projection--special-cases.py:240: OK: unproject(lonlat, normalize=True) dv/di
> test-projection--special-cases.py:253: OK: unproject(lonlat, normalize=True) works in-place: v_unprojected
> test-projection--special-cases.py:258: OK: unproject(lonlat, normalize=True) works in-place: dv_dq
> test-projection--special-cases.py:263: OK: unproject(lonlat, normalize=True) works in-place: dv_di
> test-projection--special-cases.py:269: All tests passed: 21 total
> ========== RUNNING: test/test-projection--special-cases.py latlon
> test-projection--special-cases.py:118: OK: project_latlon()
> test-projection--special-cases.py:124: OK: project(latlon) returns the same as project_latlon()
> test-projection--special-cases.py:132: OK: unproject_latlon() returns normalized vectors
> test-projection--special-cases.py:137: OK: unproject_latlon()
> test-projection--special-cases.py:165: OK: unproject(latlon) returns the same as unproject_latlon()
> test-projection--special-cases.py:171: OK: project(unproject()) is an identity
> test-projection--special-cases.py:177: OK: project_latlon(unproject_latlon()) is an identity
> test-projection--special-cases.py:189: OK: project_latlon() dq/dp
> test-projection--special-cases.py:199: OK: project(latlon) dq/dp
> test-projection--special-cases.py:204: OK: project(latlon) dq/di
> test-projection--special-cases.py:216: OK: unproject_latlon() dv/dq
> test-projection--special-cases.py:234: OK: unproject(latlon, normalize=False) dv/dq
> test-projection--special-cases.py:240: OK: unproject(latlon, normalize=False) dv/di
> test-projection--special-cases.py:253: OK: unproject(latlon, normalize=False) works in-place: v_unprojected
> test-projection--special-cases.py:258: OK: unproject(latlon, normalize=False) works in-place: dv_dq
> test-projection--special-cases.py:263: OK: unproject(latlon, normalize=False) works in-place: dv_di
> test-projection--special-cases.py:234: OK: unproject(latlon, normalize=True) dv/dq
> test-projection--special-cases.py:240: OK: unproject(latlon, normalize=True) dv/di
> test-projection--special-cases.py:253: OK: unproject(latlon, normalize=True) works in-place: v_unprojected
> test-projection--special-cases.py:258: OK: unproject(latlon, normalize=True) works in-place: dv_dq
> test-projection--special-cases.py:263: OK: unproject(latlon, normalize=True) works in-place: dv_di
> test-projection--special-cases.py:269: All tests passed: 21 total
> ========== RUNNING: test/test-gradients.py
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> *** stack smashing detected ***: terminated
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_PINHOLE extrinsics frames intrinsic-core intrinsic-distortions calobject-warp'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_PINHOLE extrinsics frames                intrinsic-distortions'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_PINHOLE extrinsics frames intrinsic-core'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_PINHOLE extrinsics frames'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_STEREOGRAPHIC extrinsics frames intrinsic-core intrinsic-distortions calobject-warp'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_STEREOGRAPHIC extrinsics                       intrinsic-distortions'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_STEREOGRAPHIC extrinsics frames intrinsic-core'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_STEREOGRAPHIC frames'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_CAHVOR  extrinsics frames intrinsic-core intrinsic-distortions calobject-warp'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_CAHVOR  extrinsics frames                intrinsic-distortions'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_CAHVOR  extrinsics frames intrinsic-core'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_CAHVOR  extrinsics frames'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_OPENCV4 extrinsics frames intrinsic-core intrinsic-distortions calobject-warp'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_OPENCV4 extrinsics frames                intrinsic-distortions'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_OPENCV4 extrinsics frames intrinsic-core'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_OPENCV4 extrinsics frames'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_CAHVOR  frames intrinsic-core intrinsic-distortions'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_CAHVOR  frames                intrinsic-distortions'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_CAHVOR  frames intrinsic-core'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_CAHVOR  frames'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_CAHVOR  extrinsics intrinsic-core intrinsic-distortions'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_CAHVOR  extrinsics                intrinsic-distortions'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_CAHVOR  extrinsics intrinsic-core'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_CAHVOR  extrinsics'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_CAHVOR  intrinsic-core intrinsic-distortions'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_CAHVOR                 intrinsic-distortions'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_CAHVOR  intrinsic-core'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_OPENCV4 frames intrinsic-core intrinsic-distortions'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_OPENCV4 frames                intrinsic-distortions'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_OPENCV4 frames intrinsic-core'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_OPENCV4 frames'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_OPENCV4 extrinsics intrinsic-core intrinsic-distortions'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_OPENCV4 extrinsics                intrinsic-distortions'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_OPENCV4 extrinsics intrinsic-core'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_OPENCV4 extrinsics'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_OPENCV4 intrinsic-core intrinsic-distortions'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_OPENCV4                intrinsic-distortions'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_OPENCV4 intrinsic-core'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_SPLINED_STEREOGRAPHIC_3 extrinsics intrinsic-distortions'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_SPLINED_STEREOGRAPHIC_3 frames extrinsics intrinsic-distortions calobject-warp'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_SPLINED_STEREOGRAPHIC_2 extrinsics intrinsic-distortions'
> test-gradients.py:189: FAILED: failed to check gradients for 'LENSMODEL_SPLINED_STEREOGRAPHIC_2 frames extrinsics intrinsic-distortions calobject-warp'
> test-gradients.py:229: Some tests failed: 42 out of 42
> ========== RUNNING: test/test-py-gradients.py
> test-py-gradients.py:111: OK: LENSMODEL_PINHOLE: Nintrinsics match for LENSMODEL_PINHOLE
> test-py-gradients.py:128: OK: LENSMODEL_PINHOLE: dq_dp matches for var 0
> test-py-gradients.py:128: OK: LENSMODEL_PINHOLE: dq_dp matches for var 1
> test-py-gradients.py:128: OK: LENSMODEL_PINHOLE: dq_dp matches for var 2
> test-py-gradients.py:144: OK: LENSMODEL_PINHOLE: dq_di matches for var 0
> test-py-gradients.py:144: OK: LENSMODEL_PINHOLE: dq_di matches for var 1
> test-py-gradients.py:144: OK: LENSMODEL_PINHOLE: dq_di matches for var 2
> test-py-gradients.py:144: OK: LENSMODEL_PINHOLE: dq_di matches for var 3
> test-py-gradients.py:111: OK: LENSMODEL_STEREOGRAPHIC: Nintrinsics match for LENSMODEL_STEREOGRAPHIC
> test-py-gradients.py:128: OK: LENSMODEL_STEREOGRAPHIC: dq_dp matches for var 0
> test-py-gradients.py:128: OK: LENSMODEL_STEREOGRAPHIC: dq_dp matches for var 1
> test-py-gradients.py:128: OK: LENSMODEL_STEREOGRAPHIC: dq_dp matches for var 2
> test-py-gradients.py:144: OK: LENSMODEL_STEREOGRAPHIC: dq_di matches for var 0
> test-py-gradients.py:144: OK: LENSMODEL_STEREOGRAPHIC: dq_di matches for var 1
> test-py-gradients.py:144: OK: LENSMODEL_STEREOGRAPHIC: dq_di matches for var 2
> test-py-gradients.py:144: OK: LENSMODEL_STEREOGRAPHIC: dq_di matches for var 3
> test-py-gradients.py:111: OK: LENSMODEL_OPENCV4: Nintrinsics match for LENSMODEL_OPENCV4
> test-py-gradients.py:128: OK: LENSMODEL_OPENCV4: dq_dp matches for var 0
> test-py-gradients.py:128: OK: LENSMODEL_OPENCV4: dq_dp matches for var 1
> test-py-gradients.py:128: OK: LENSMODEL_OPENCV4: dq_dp matches for var 2
> test-py-gradients.py:144: OK: LENSMODEL_OPENCV4: dq_di matches for var 0
> test-py-gradients.py:144: OK: LENSMODEL_OPENCV4: dq_di matches for var 1
> test-py-gradients.py:144: OK: LENSMODEL_OPENCV4: dq_di matches for var 2
> test-py-gradients.py:144: OK: LENSMODEL_OPENCV4: dq_di matches for var 3
> test-py-gradients.py:144: OK: LENSMODEL_OPENCV4: dq_di matches for var 4
> test-py-gradients.py:144: OK: LENSMODEL_OPENCV4: dq_di matches for var 5
> test-py-gradients.py:144: OK: LENSMODEL_OPENCV4: dq_di matches for var 6
> test-py-gradients.py:144: OK: LENSMODEL_OPENCV4: dq_di matches for var 7
> test-py-gradients.py:111: OK: LENSMODEL_CAHVOR: Nintrinsics match for LENSMODEL_CAHVOR
> test-py-gradients.py:128: OK: LENSMODEL_CAHVOR: dq_dp matches for var 0
> test-py-gradients.py:128: OK: LENSMODEL_CAHVOR: dq_dp matches for var 1
> test-py-gradients.py:128: OK: LENSMODEL_CAHVOR: dq_dp matches for var 2
> test-py-gradients.py:144: OK: LENSMODEL_CAHVOR: dq_di matches for var 0
> test-py-gradients.py:144: OK: LENSMODEL_CAHVOR: dq_di matches for var 1
> test-py-gradients.py:144: OK: LENSMODEL_CAHVOR: dq_di matches for var 2
> test-py-gradients.py:144: OK: LENSMODEL_CAHVOR: dq_di matches for var 3
> test-py-gradients.py:144: OK: LENSMODEL_CAHVOR: dq_di matches for var 4
> test-py-gradients.py:144: OK: LENSMODEL_CAHVOR: dq_di matches for var 5
> test-py-gradients.py:144: OK: LENSMODEL_CAHVOR: dq_di matches for var 6
> test-py-gradients.py:144: OK: LENSMODEL_CAHVOR: dq_di matches for var 7
> test-py-gradients.py:144: OK: LENSMODEL_CAHVOR: dq_di matches for var 8
> test-py-gradients.py:111: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: Nintrinsics match for LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200
> test-py-gradients.py:128: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_dp matches for var 0
> test-py-gradients.py:128: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_dp matches for var 1
> test-py-gradients.py:128: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_dp matches for var 2
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 0
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 1
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 2
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 3
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 4
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 5
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 6
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 7
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 8
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 9
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 10
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 11
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 12
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 13
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 14
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 15
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 16
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 17
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 18
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 19
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 20
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 21
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 22
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 23
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 24
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 25
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 26
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 27
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 28
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 29
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 30
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 31
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 32
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 33
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 34
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 35
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 36
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 37
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 38
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 39
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 40
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 41
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 42
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 43
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 44
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 45
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 46
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 47
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 48
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 49
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 50
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 51
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 52
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 53
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 54
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 55
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 56
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 57
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 58
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 59
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 60
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 61
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 62
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 63
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 64
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 65
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 66
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 67
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 68
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 69
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 70
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 71
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 72
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 73
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 74
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 75
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 76
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 77
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 78
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 79
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 80
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 81
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 82
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 83
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 84
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 85
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 86
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 87
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 88
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 89
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 90
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 91
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 92
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 93
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 94
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 95
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 96
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 97
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 98
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 99
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 100
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 101
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 102
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 103
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 104
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 105
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 106
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 107
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 108
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 109
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 110
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 111
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 112
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 113
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 114
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 115
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 116
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 117
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 118
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 119
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 120
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 121
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 122
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 123
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 124
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 125
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 126
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 127
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 128
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 129
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 130
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 131
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 132
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 133
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 134
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 135
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 136
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 137
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 138
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 139
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 140
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 141
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 142
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 143
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 144
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 145
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 146
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 147
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 148
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 149
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 150
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 151
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 152
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 153
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 154
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 155
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 156
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 157
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 158
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 159
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 160
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 161
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 162
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 163
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 164
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 165
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 166
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 167
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 168
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 169
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 170
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 171
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 172
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 173
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 174
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 175
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 176
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 177
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 178
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 179
> test-py-gradients.py:111: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: Nintrinsics match for LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200
> test-py-gradients.py:128: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_dp matches for var 0
> test-py-gradients.py:128: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_dp matches for var 1
> test-py-gradients.py:128: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_dp matches for var 2
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 0
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 1
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 2
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 3
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 4
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 5
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 6
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 7
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 8
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 9
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 10
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 11
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 12
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 13
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 14
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 15
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 16
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 17
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 18
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 19
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 20
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 21
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 22
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 23
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 24
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 25
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 26
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 27
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 28
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 29
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 30
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 31
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 32
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 33
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 34
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 35
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 36
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 37
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 38
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 39
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 40
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 41
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 42
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 43
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 44
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 45
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 46
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 47
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 48
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 49
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 50
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 51
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 52
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 53
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 54
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 55
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 56
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 57
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 58
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 59
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 60
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 61
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 62
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 63
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 64
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 65
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 66
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 67
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 68
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 69
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 70
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 71
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 72
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 73
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 74
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 75
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 76
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 77
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 78
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 79
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 80
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 81
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 82
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 83
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 84
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 85
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 86
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 87
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 88
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 89
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 90
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 91
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 92
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 93
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 94
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 95
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 96
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 97
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 98
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 99
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 100
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 101
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 102
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 103
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 104
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 105
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 106
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 107
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 108
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 109
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 110
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 111
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 112
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 113
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 114
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 115
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 116
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 117
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 118
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 119
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 120
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 121
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 122
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 123
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 124
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 125
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 126
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 127
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 128
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 129
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 130
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 131
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 132
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 133
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 134
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 135
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 136
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 137
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 138
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 139
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 140
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 141
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 142
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 143
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 144
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 145
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 146
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 147
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 148
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 149
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 150
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 151
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 152
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 153
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 154
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 155
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 156
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 157
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 158
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 159
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 160
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 161
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 162
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 163
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 164
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 165
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 166
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 167
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 168
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 169
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 170
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 171
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 172
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 173
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 174
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 175
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 176
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 177
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 178
> test-py-gradients.py:144: OK: LENSMODEL_SPLINED_STEREOGRAPHIC_order=2_Nx=11_Ny=8_fov_x_deg=200: dq_di matches for var 179
> test-py-gradients.py:147: All tests passed: 409 total
> ========== RUNNING: test/test-cahvor
> OK: projection_new[0] ~ projection_orig[0], as it should
> OK: projection_new[1] ~ projection_orig[1], as it should
> OK: projection_new_scaled3d[0] ~ projection_orig[0], as it should
> OK: projection_new_scaled3d[1] ~ projection_orig[1], as it should
> test/test-cahvor: all 4 tests passed
> ========== RUNNING: test/test-optimizer-callback.py
> test-optimizer-callback.py:170: OK: unpack(pack(J)) = J
> test-optimizer-callback.py:174: OK: pack(unpack(J)) = J
> test-optimizer-callback.py:188: OK: comparing x for case 0
> test-optimizer-callback.py:189: OK: comparing J for case 0
> test-optimizer-callback.py:170: OK: unpack(pack(J)) = J
> test-optimizer-callback.py:174: OK: pack(unpack(J)) = J
> test-optimizer-callback.py:188: OK: comparing x for case 1
> test-optimizer-callback.py:189: OK: comparing J for case 1
> test-optimizer-callback.py:170: OK: unpack(pack(J)) = J
> test-optimizer-callback.py:174: OK: pack(unpack(J)) = J
> test-optimizer-callback.py:188: OK: comparing x for case 2
> test-optimizer-callback.py:189: OK: comparing J for case 2
> test-optimizer-callback.py:170: OK: unpack(pack(J)) = J
> test-optimizer-callback.py:174: OK: pack(unpack(J)) = J
> test-optimizer-callback.py:188: OK: comparing x for case 3
> test-optimizer-callback.py:189: OK: comparing J for case 3
> test-optimizer-callback.py:170: OK: unpack(pack(J)) = J
> test-optimizer-callback.py:174: OK: pack(unpack(J)) = J
> test-optimizer-callback.py:188: OK: comparing x for case 4
> test-optimizer-callback.py:189: OK: comparing J for case 4
> test-optimizer-callback.py:170: OK: unpack(pack(J)) = J
> test-optimizer-callback.py:174: OK: pack(unpack(J)) = J
> test-optimizer-callback.py:188: OK: comparing x for case 5
> test-optimizer-callback.py:189: OK: comparing J for case 5
> test-optimizer-callback.py:193: All tests passed: 24 total
> ========== RUNNING: test/test-basic-sfm.py
> Segmentation fault
> ========== RUNNING: test/test-basic-calibration.py
> Segmentation fault
> ========== RUNNING: test/test-surveyed-calibration.py
> Segmentation fault
> ========== RUNNING: test/test-surveyed-calibration.py --distance 8
> Segmentation fault
> ========== RUNNING: test/test-surveyed-calibration.py --oversample 10
> Segmentation fault
> ========== RUNNING: test/test-projection-uncertainty.py --fixed cam0 --model splined
> Segmentation fault
> ========== RUNNING: test/test-linearizations.py
> Segmentation fault
> ========== RUNNING: test/test-lensmodel-string-manipulation
> OK: equal mrcal_lensmodel_from_name(&lensmodel, "LENSMODEL_CAHVOR") and (mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_CAHVOR}
> OK: equal mrcal_lensmodel_from_name(&lensmodel, "LENSMODEL_SPLINED_STEREOGRAPHIC") and (mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_INVALID_BADCONFIG}
> OK: equal mrcal_lensmodel_from_name(&lensmodel, "LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=30_Ny=20_fov_x_deg=200_") and (mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_INVALID_BADCONFIG}
> OK: equal mrcal_lensmodel_from_name(&lensmodel, "LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=30_Ny=20") and (mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_INVALID_BADCONFIG}
> OK: equal mrcal_lensmodel_from_name(&lensmodel, "LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=30_Ny=20__") and (mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_INVALID_BADCONFIG}
> OK: equal mrcal_lensmodel_from_name(&lensmodel, "LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=30_Ny=20_fov_x_deg=200 ") and (mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_INVALID_BADCONFIG}
> OK: equal mrcal_lensmodel_from_name(&lensmodel, "LENSMODEL_SPLINED_STEREOGRAPHIC__order=3_Nx=30_Ny=20_fov_x_deg=200") and (mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_INVALID_BADCONFIG}
> OK: equal mrcal_lensmodel_from_name(&lensmodel, "LENSMODEL_SPLINED_STEREOGRAPHICorder=3_Nx=30_Ny=20_fov_x_deg=200") and (mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_INVALID}
> OK: equal mrcal_lensmodel_from_name(&lensmodel, "LENSMODEL_CAHVORE_linearity=0.13") and ref
> OK: equal mrcal_lensmodel_from_name(&lensmodel, "LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=30_Ny=20_fov_x_deg=200") and ref
> OK: equal LENSMODEL_CAHVOR and LENSMODEL_CAHVOR
> OK: equal LENSMODEL_CAHVORE_linearity=... and LENSMODEL_CAHVORE_linearity=...
> OK: mrcal_lensmodel_name(buf, sizeof(buf), &(mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_CAHVOR}) is true
> OK: equal LENSMODEL_CAHVOR and LENSMODEL_CAHVOR
> OK: mrcal_lensmodel_name(buf, sizeof(buf), &(mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_CAHVORE, .LENSMODEL_CAHVORE__config = {.linearity = 0.12}}) is true
> OK: equal LENSMODEL_CAHVORE_linearity=0.12 and LENSMODEL_CAHVORE_linearity=0.12
> OK: !mrcal_lensmodel_name(buf_small, sizeof(buf_small), &(mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_CAHVOR}) is true
> OK: !mrcal_lensmodel_name(buf_small, sizeof(buf_small), &(mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_CAHVORE, .LENSMODEL_CAHVORE__config = {.linearity = 0.12}}) is true
> OK: equal LENSMODEL_SPLINED_STEREOGRAPHIC_order=..._Nx=..._Ny=..._fov_x_deg=... and LENSMODEL_SPLINED_STEREOGRAPHIC_order=..._Nx=..._Ny=..._fov_x_deg=...
> OK: mrcal_lensmodel_name(buf, sizeof(buf), &(mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_SPLINED_STEREOGRAPHIC}) is true
> OK: equal LENSMODEL_SPLINED_STEREOGRAPHIC_order=0_Nx=0_Ny=0_fov_x_deg=0 and LENSMODEL_SPLINED_STEREOGRAPHIC_order=0_Nx=0_Ny=0_fov_x_deg=0
> OK: mrcal_lensmodel_name(buf, sizeof(buf), &ref) is true
> OK: equal LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=30_Ny=20_fov_x_deg=200 and LENSMODEL_SPLINED_STEREOGRAPHIC_order=3_Nx=30_Ny=20_fov_x_deg=200
> OK: modelHasCore_fxfycxcy(&(mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_CAHVOR}) is true
> OK: modelHasCore_fxfycxcy(&(mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_OPENCV8}) is true
> OK: modelHasCore_fxfycxcy(&(mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_SPLINED_STEREOGRAPHIC}) is true
> OK: mrcal_lensmodel_num_params(&(mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_CAHVOR}) == 9, as it should
> OK: mrcal_lensmodel_num_params(&(mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_OPENCV8}) == 12, as it should
> OK: mrcal_lensmodel_num_params(&(mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_SPLINED_STEREOGRAPHIC, .LENSMODEL_SPLINED_STEREOGRAPHIC__config = { .order = 3, .Nx = 30, .Ny = 20, .fov_x_deg = 200 }}) == 4 + 30*20*2, as it should
> test/test-lensmodel-string-manipulation: all 29 tests passed
> ========== RUNNING: test/test-CHOLMOD-factorization.py
> test-CHOLMOD-factorization.py:31: OK: csr_matrix representation works as expected
> test-CHOLMOD-factorization.py:46: OK: solve_xt_JtJ_bt produces the correct result
> test-CHOLMOD-factorization.py:52: All tests passed: 2 total
> ========== RUNNING: test/test-projection-diff.py
> test-projection-diff.py:32: OK: Expected number of columns
> test-projection-diff.py:34: OK: Expected number of rows
> test-projection-diff.py:40: OK: diff(model,model) at infinity should be 0
> test-projection-diff.py:46: OK: diff(model,model) at infinity should produce a rotation of 0 deg
> test-projection-diff.py:50: OK: diff(model,model) at infinity should produce a translation of 0 m
> test-projection-diff.py:60: OK: diff(model,model) at 3m should be 0
> test-projection-diff.py:66: OK: diff(model,model) at 3m should produce a rotation of 0 deg
> test-projection-diff.py:70: OK: diff(model,model) at 3m should produce a translation of 0 m
> test-projection-diff.py:86: OK: Low-enough diff with high focus_radius
> test-projection-diff.py:96: OK: Low-enough diff with low focus_radius
> test-projection-diff.py:119: OK: implied_Rt10 solver moves translation sufficiently. Looking at difflen at center
> test-projection-diff.py:122: OK: implied_Rt10 solver moves translation sufficiently. Looking at mean(difflen)
> test-projection-diff.py:126: All tests passed: 12 total
> ========== RUNNING: test/test-graft-models.py
> test-graft-models.py:80: OK: Basic grafted intrinsics match
> test-graft-models.py:83: OK: Basic grafted extrinsics match
> test-graft-models.py:115: OK: Compensated projection ended up in the same place
> test-graft-models.py:119: All tests passed: 3 total
> ========== RUNNING: test/test-convert-lensmodel.py
> test-convert-lensmodel.py:94: FAILED: CAHVOR, sampled, intrinsics-only: convert failed: 
> test-convert-lensmodel.py:104: FAILED: CAHVOR, sampled at 3m: convert failed: 
> test-convert-lensmodel.py:113: FAILED: CAHVOR, sampled at 3000m: convert failed: 
> test-convert-lensmodel.py:122: FAILED: CAHVOR, sampled at 3000m,3m: convert failed: 
> test-convert-lensmodel.py:134: ../mrcal-doc-external isn't on this disk. Skipping non-sampled tests
> test-convert-lensmodel.py:146: Some tests failed: 4 out of 4
> ========== RUNNING: test/test-stereo.py
> test-stereo.py:43: OK: Generated models pass validation (LENSMODEL_LATLON)
> test-stereo.py:54: OK: model0 has the right lensmodel (LENSMODEL_LATLON)
> test-stereo.py:56: OK: model1 has the right lensmodel (LENSMODEL_LATLON)
> test-stereo.py:59: OK: vanilla stereo has a vanilla geometry (LENSMODEL_LATLON)
> test-stereo.py:62: OK: vanilla stereo: baseline (LENSMODEL_LATLON)
> test-stereo.py:74: OK: vanilla stereo: az0,el0 represent the same point (LENSMODEL_LATLON)
> test-stereo.py:101: OK: vanilla stereo: az pixel density (LENSMODEL_LATLON)
> test-stereo.py:107: OK: vanilla stereo: el pixel density (LENSMODEL_LATLON)
> test-stereo.py:117: OK: vanilla stereo: az_fov (LENSMODEL_LATLON)
> test-stereo.py:127: OK: vanilla stereo: el_fov (LENSMODEL_LATLON)
> test-stereo.py:160: OK: Generated models pass validation (LENSMODEL_LATLON)
> test-stereo.py:184: OK: complex stereo geometry (LENSMODEL_LATLON)
> test-stereo.py:191: OK: complex stereo: baseline (LENSMODEL_LATLON)
> test-stereo.py:204: OK: complex stereo: az0,el0 represent the same point (LENSMODEL_LATLON)
> test-stereo.py:231: OK: complex stereo: az pixel density (LENSMODEL_LATLON)
> test-stereo.py:237: OK: complex stereo: el pixel density (LENSMODEL_LATLON)
> test-stereo.py:247: OK: complex stereo: az_fov (LENSMODEL_LATLON)
> test-stereo.py:257: OK: complex stereo: el_fov (LENSMODEL_LATLON)
> test-stereo.py:315: OK: rectification map for camera 0 points (LENSMODEL_LATLON)
> test-stereo.py:318: OK: rectification map for camera 1 points (LENSMODEL_LATLON)
> test-stereo.py:323: OK: elevations of the same observed point match (LENSMODEL_LATLON)
> test-stereo.py:332: OK: stereo_range reports the right thing (LENSMODEL_LATLON)
> test-stereo.py:339: OK: stereo_range (1-element array) reports the right thing (LENSMODEL_LATLON)
> test-stereo.py:347: OK: stereo_range (scalar) reports the right thing (LENSMODEL_LATLON)
> test-stereo.py:357: OK: stereo_unproject reports the right thing (LENSMODEL_LATLON)
> test-stereo.py:364: OK: stereo_unproject (scalar) reports the right thing (LENSMODEL_LATLON)
> test-stereo.py:43: OK: Generated models pass validation (LENSMODEL_PINHOLE)
> test-stereo.py:54: OK: model0 has the right lensmodel (LENSMODEL_PINHOLE)
> test-stereo.py:56: OK: model1 has the right lensmodel (LENSMODEL_PINHOLE)
> test-stereo.py:59: OK: vanilla stereo has a vanilla geometry (LENSMODEL_PINHOLE)
> test-stereo.py:62: OK: vanilla stereo: baseline (LENSMODEL_PINHOLE)
> test-stereo.py:79: OK: vanilla stereo: az0,el0 represent the same point (LENSMODEL_PINHOLE)
> test-stereo.py:101: OK: vanilla stereo: az pixel density (LENSMODEL_PINHOLE)
> test-stereo.py:107: OK: vanilla stereo: el pixel density (LENSMODEL_PINHOLE)
> test-stereo.py:117: OK: vanilla stereo: az_fov (LENSMODEL_PINHOLE)
> test-stereo.py:127: OK: vanilla stereo: el_fov (LENSMODEL_PINHOLE)
> test-stereo.py:160: OK: Generated models pass validation (LENSMODEL_PINHOLE)
> test-stereo.py:184: OK: complex stereo geometry (LENSMODEL_PINHOLE)
> test-stereo.py:191: OK: complex stereo: baseline (LENSMODEL_PINHOLE)
> test-stereo.py:209: OK: complex stereo: az0,el0 represent the same point (LENSMODEL_PINHOLE)
> test-stereo.py:231: OK: complex stereo: az pixel density (LENSMODEL_PINHOLE)
> test-stereo.py:237: OK: complex stereo: el pixel density (LENSMODEL_PINHOLE)
> test-stereo.py:247: OK: complex stereo: az_fov (LENSMODEL_PINHOLE)
> test-stereo.py:257: OK: complex stereo: el_fov (LENSMODEL_PINHOLE)
> test-stereo.py:315: OK: rectification map for camera 0 points (LENSMODEL_PINHOLE)
> test-stereo.py:318: OK: rectification map for camera 1 points (LENSMODEL_PINHOLE)
> test-stereo.py:323: OK: elevations of the same observed point match (LENSMODEL_PINHOLE)
> test-stereo.py:332: OK: stereo_range reports the right thing (LENSMODEL_PINHOLE)
> test-stereo.py:339: OK: stereo_range (1-element array) reports the right thing (LENSMODEL_PINHOLE)
> test-stereo.py:347: OK: stereo_range (scalar) reports the right thing (LENSMODEL_PINHOLE)
> test-stereo.py:357: OK: stereo_unproject reports the right thing (LENSMODEL_PINHOLE)
> test-stereo.py:364: OK: stereo_unproject (scalar) reports the right thing (LENSMODEL_PINHOLE)
> test-stereo.py:368: All tests passed: 52 total
> ========== RUNNING: test/test-solvepnp.py
> test-solvepnp.py:55: OK: solvepnp-ultrawide-focal-too-long
> test-solvepnp.py:55: OK: solvepnp-wide-focal-too-wide
> test-solvepnp.py:59: All tests passed: 2 total
> ========== RUNNING: test/test-match-feature.py
> test-match-feature.py:63: OK: match_feature(method=TM_CCOEFF_NORMED) reports the correct pixel coordinate
> test-match-feature.py:76: OK: match_feature(method=TM_SQDIFF_NORMED) reports the correct pixel coordinate
> test-match-feature.py:89: OK: out-of-bounds search_radius works ok
> test-match-feature.py:95: OK: out-of-bounds search radius looks at the whole image
> test-match-feature.py:106: OK: failing correlation returns None
> test-match-feature.py:117: OK: Too-big template size throws an exception
> test-match-feature.py:121: All tests passed: 6 total
> ========== RUNNING: test/test-triangulation.py
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=0, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=0, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=0, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=1, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=1, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=1, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=2, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=2, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=2, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=3, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=3, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=3, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=4, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=4, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=4, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=5, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=5, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=5, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=6, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=6, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=6, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=7, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=7, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=7, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=8, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=8, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=8, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=9, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=9, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=9, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=10, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=10, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=10, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=11, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=11, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_geometric: grad(ip=11, ivar = 2)
> test-triangulation.py:167: OK: square-camera-geometry triangulate_geometric
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=0, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=0, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=0, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=1, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=1, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=1, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=2, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=2, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=2, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=3, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=3, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=3, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=4, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=4, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=4, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=5, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=5, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=5, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=6, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=6, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=6, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=7, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=7, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=7, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=8, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=8, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=8, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=9, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=9, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=9, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=10, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=10, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=10, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=11, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=11, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_l1: grad(ip=11, ivar = 2)
> test-triangulation.py:167: OK: square-camera-geometry triangulate_leecivera_l1
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=0, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=0, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=0, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=1, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=1, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=1, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=2, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=2, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=2, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=3, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=3, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=3, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=4, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=4, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=4, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=5, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=5, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=5, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=6, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=6, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=6, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=7, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=7, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=7, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=8, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=8, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=8, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=9, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=9, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=9, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=10, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=10, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=10, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=11, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=11, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_linf: grad(ip=11, ivar = 2)
> test-triangulation.py:167: OK: square-camera-geometry triangulate_leecivera_linf
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=0, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=0, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=0, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=1, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=1, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=1, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=2, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=2, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=2, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=3, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=3, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=3, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=4, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=4, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=4, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=5, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=5, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=5, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=6, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=6, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=6, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=7, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=7, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=7, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=8, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=8, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=8, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=9, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=9, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=9, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=10, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=10, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=10, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=11, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=11, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_mid2: grad(ip=11, ivar = 2)
> test-triangulation.py:180: OK: square-camera-geometry triangulate_leecivera_mid2 q0
> test-triangulation.py:185: OK: square-camera-geometry triangulate_leecivera_mid2 q1
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=0, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=0, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=0, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=1, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=1, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=1, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=2, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=2, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=2, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=3, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=3, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=3, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=4, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=4, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=4, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=5, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=5, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=5, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=6, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=6, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=6, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=7, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=7, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=7, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=8, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=8, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=8, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=9, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=9, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=9, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=10, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=10, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=10, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=11, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=11, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_leecivera_wmid2: grad(ip=11, ivar = 2)
> test-triangulation.py:180: OK: square-camera-geometry triangulate_leecivera_wmid2 q0
> test-triangulation.py:185: OK: square-camera-geometry triangulate_leecivera_wmid2 q1
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=0, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=0, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=0, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=1, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=1, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=1, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=2, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=2, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=2, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=3, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=3, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=3, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=4, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=4, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=4, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=5, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=5, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=5, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=6, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=6, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=6, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=7, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=7, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=7, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=8, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=8, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=8, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=9, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=9, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=9, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=10, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=10, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=10, ivar = 2)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=11, ivar = 0)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=11, ivar = 1)
> test-triangulation.py:144: OK: square-camera-geometry triangulate_lindstrom: grad(ip=11, ivar = 2)
> test-triangulation.py:167: OK: square-camera-geometry triangulate_lindstrom
> test-triangulation.py:167: OK: cameras-facing-each-other triangulate_geometric
> test-triangulation.py:167: OK: cameras-facing-each-other triangulate_leecivera_l1
> test-triangulation.py:167: OK: cameras-facing-each-other triangulate_leecivera_linf
> test-triangulation.py:180: OK: cameras-facing-each-other triangulate_leecivera_mid2 q0
> test-triangulation.py:185: OK: cameras-facing-each-other triangulate_leecivera_mid2 q1
> test-triangulation.py:180: OK: cameras-facing-each-other triangulate_leecivera_wmid2 q0
> test-triangulation.py:185: OK: cameras-facing-each-other triangulate_leecivera_wmid2 q1
> test-triangulation.py:167: OK: cameras-facing-each-other triangulate_lindstrom
> test-triangulation.py:167: OK: cameras-90deg-to-each-other triangulate_geometric
> test-triangulation.py:167: OK: cameras-90deg-to-each-other triangulate_leecivera_l1
> test-triangulation.py:167: OK: cameras-90deg-to-each-other triangulate_leecivera_linf
> test-triangulation.py:180: OK: cameras-90deg-to-each-other triangulate_leecivera_mid2 q0
> test-triangulation.py:185: OK: cameras-90deg-to-each-other triangulate_leecivera_mid2 q1
> test-triangulation.py:180: OK: cameras-90deg-to-each-other triangulate_leecivera_wmid2 q0
> test-triangulation.py:185: OK: cameras-90deg-to-each-other triangulate_leecivera_wmid2 q1
> test-triangulation.py:167: OK: cameras-90deg-to-each-other triangulate_lindstrom
> test-triangulation.py:256: All tests passed: 240 total
> ========== RUNNING: test/test-uncertainty-broadcasting.py --q-calibration-stdev 0.3 --q-observation-stdev 0.3 --q-observation-stdev-correlation 0.5
> Segmentation fault
> ========== RUNNING: test/test-parser-cameramodel
> cameramodel-parser.re(549): Garbage after trailing } at 200. Giving up
> cameramodel-parser.re(428): lensmodel defined more than once
> cameramodel-parser.re(480): extrinsics defined more than once
> cameramodel-parser.re(452): intrinsics defined more than once
> cameramodel-parser.re(492): imagersize defined more than once
> cameramodel-parser.re(458): Saw 'intrinsics' key, before a 'lensmodel' key. Make sure that a 'lensmodel' key exists, and that it appears in the file before the 'intrinsics'
> cameramodel-parser.re(575): Incomplete cameramodel. Need keys: lensmodel, intrinsics, extrinsics, imagersize
> cameramodel-parser.re(575): Incomplete cameramodel. Need keys: lensmodel, intrinsics, extrinsics, imagersize
> cameramodel-parser.re(575): Incomplete cameramodel. Need keys: lensmodel, intrinsics, extrinsics, imagersize
> cameramodel-parser.re(171): Error parsing double-precision value for intrinsics at 163. String: ''
> cameramodel-parser.re(283): Didn't see the closing )/] for the intrinsics at position 168. Expected 12 values, but the given list has more. Giving up.
> OK: m != NULL is true
> OK: m-> lensmodel.type == ((mrcal_cameramodel_t*)&cameramodel_ref)->lensmodel.type, as it should
> OK: m-> intrinsics ~ ((mrcal_cameramodel_t*)&cameramodel_ref)->intrinsics, as it should
> OK: m-> rt_cam_ref ~ ((mrcal_cameramodel_t*)&cameramodel_ref)->rt_cam_ref, as it should
> OK: (int*)m-> imagersize = (int*)((mrcal_cameramodel_t*)&cameramodel_ref)->imagersize, as it should
> OK: m != NULL is true
> OK: m-> lensmodel.type == ((mrcal_cameramodel_t*)&cameramodel_ref)->lensmodel.type, as it should
> OK: m-> intrinsics ~ ((mrcal_cameramodel_t*)&cameramodel_ref)->intrinsics, as it should
> OK: m-> rt_cam_ref ~ ((mrcal_cameramodel_t*)&cameramodel_ref)->rt_cam_ref, as it should
> OK: (int*)m-> imagersize = (int*)((mrcal_cameramodel_t*)&cameramodel_ref)->imagersize, as it should
> OK: m != NULL is true
> OK: m-> lensmodel.type == ((mrcal_cameramodel_t*)&cameramodel_ref)->lensmodel.type, as it should
> OK: m-> intrinsics ~ ((mrcal_cameramodel_t*)&cameramodel_ref)->intrinsics, as it should
> OK: m-> rt_cam_ref ~ ((mrcal_cameramodel_t*)&cameramodel_ref)->rt_cam_ref, as it should
> OK: (int*)m-> imagersize = (int*)((mrcal_cameramodel_t*)&cameramodel_ref)->imagersize, as it should
> OK: m != NULL is true
> OK: m-> lensmodel.type == ((mrcal_cameramodel_t*)&cameramodel_ref)->lensmodel.type, as it should
> OK: m-> intrinsics ~ ((mrcal_cameramodel_t*)&cameramodel_ref)->intrinsics, as it should
> OK: m-> rt_cam_ref ~ ((mrcal_cameramodel_t*)&cameramodel_ref)->rt_cam_ref, as it should
> OK: (int*)m-> imagersize = (int*)((mrcal_cameramodel_t*)&cameramodel_ref)->imagersize, as it should
> OK: m == NULL is true
> OK: m == NULL is true
> OK: m == NULL is true
> OK: m == NULL is true
> OK: m == NULL is true
> OK: m == NULL is true
> OK: m == NULL is true
> OK: m == NULL is true
> OK: m == NULL is true
> OK: m == NULL is true
> OK: m == NULL is true
> OK: write_cameramodel_succeeded is true
> OK: Nbytes_read > 0 is true
> OK: Nbytes_read < (int)sizeof(buf) is true
> OK: m != NULL is true
> OK: m-> lensmodel.type == ((mrcal_cameramodel_t*)&cameramodel_ref)->lensmodel.type, as it should
> OK: m-> intrinsics ~ ((mrcal_cameramodel_t*)&cameramodel_ref)->intrinsics, as it should
> OK: m-> rt_cam_ref ~ ((mrcal_cameramodel_t*)&cameramodel_ref)->rt_cam_ref, as it should
> OK: (int*)m-> imagersize = (int*)((mrcal_cameramodel_t*)&cameramodel_ref)->imagersize, as it should
> test/test-parser-cameramodel: all 39 tests passed
> ========== RUNNING: test/test-extrinsics-moved-since-calibration.py
> Segmentation fault
> ========== RUNNING: test/test-broadcasting.py
> test-broadcasting.py:23: OK: ref_calibration_object() baseline case: shape
> test-broadcasting.py:26: OK: ref_calibration_object() baseline case: dx
> test-broadcasting.py:29: OK: ref_calibration_object() baseline case: dy
> test-broadcasting.py:35: OK: ref_calibration_object() different x,y spacing: shape
> test-broadcasting.py:38: OK: ref_calibration_object() different x,y spacing: dx
> test-broadcasting.py:41: OK: ref_calibration_object() different x,y spacing: dy
> test-broadcasting.py:47: OK: ref_calibration_object() different x,y spacing, broadcasted: shape
> test-broadcasting.py:50: OK: ref_calibration_object() different x,y spacing, broadcasted: dx[0]
> test-broadcasting.py:53: OK: ref_calibration_object() different x,y spacing, broadcasted: dy[0]
> test-broadcasting.py:56: OK: ref_calibration_object() different x,y spacing, broadcasted: dx[1]
> test-broadcasting.py:59: OK: ref_calibration_object() different x,y spacing, broadcasted: dy[1]
> test-broadcasting.py:65: OK: ref_calibration_object() one calobject_warp: shape
> test-broadcasting.py:71: OK: ref_calibration_object() multiple calobject_warp: shape
> test-broadcasting.py:78: OK: ref_calibration_object() multiple calobject_warp, x,y spacing: shape
> test-broadcasting.py:85: All tests passed: 14 total
> ========== RUNNING: test/test-compute-chessboard-corners-parsing.py
> test-compute-chessboard-corners-parsing.py:90: OK: observations: all-or-none-no-weight
> test-compute-chessboard-corners-parsing.py:93: OK: indices_frame_camera: all-or-none-no-weight
> test-compute-chessboard-corners-parsing.py:96: OK: paths: all-or-none-no-weight
> test-compute-chessboard-corners-parsing.py:175: OK: observations: all-or-none
> test-compute-chessboard-corners-parsing.py:178: OK: indices_frame_camera: all-or-none
> test-compute-chessboard-corners-parsing.py:181: OK: paths: all-or-none
> test-compute-chessboard-corners-parsing.py:260: OK: observations: all-or-none-level
> test-compute-chessboard-corners-parsing.py:263: OK: indices_frame_camera: all-or-none-level
> test-compute-chessboard-corners-parsing.py:266: OK: paths: all-or-none-level
> test-compute-chessboard-corners-parsing.py:349: OK: observations: complicated
> test-compute-chessboard-corners-parsing.py:352: OK: indices_frame_camera: complicated
> test-compute-chessboard-corners-parsing.py:355: OK: paths: complicated
> test-compute-chessboard-corners-parsing.py:359: All tests passed: 12 total
> ========== RUNNING: test/test-rectification-maps.py
> test-rectification-maps.py:68: OK: Pixel error with (LENSMODEL_LATLON). Zoom = 0.6
> test-rectification-maps.py:68: OK: Pixel error with (LENSMODEL_LATLON). Zoom = 1.0
> test-rectification-maps.py:68: OK: Pixel error with (LENSMODEL_LATLON). Zoom = 10.0
> test-rectification-maps.py:68: OK: Pixel error with (LENSMODEL_PINHOLE). Zoom = 0.6
> test-rectification-maps.py:68: OK: Pixel error with (LENSMODEL_PINHOLE). Zoom = 1.0
> test-rectification-maps.py:68: OK: Pixel error with (LENSMODEL_PINHOLE). Zoom = 10.0
> test-rectification-maps.py:74: All tests passed: 6 total
> ========== RUNNING: test/test-save-load-image.py
> test-save-load-image.py:57: OK: Success saving 8bpp grayscale image
> test-save-load-image.py:66: OK: Success loading 8bpp grayscale image
> test-save-load-image.py:74: OK: load/save match for 8bpp grayscale
> test-save-load-image.py:57: OK: Success saving 16bpp grayscale image
> test-save-load-image.py:66: OK: Success loading 16bpp grayscale image
> test-save-load-image.py:74: OK: load/save match for 16bpp grayscale
> test-save-load-image.py:57: OK: Success saving 24bpp bgr image
> test-save-load-image.py:66: OK: Success loading 24bpp bgr image
> test-save-load-image.py:74: OK: load/save match for 24bpp bgr
> test-save-load-image.py:78: All tests passed: 9 total
> SOME TEST SETS FAILED:  test/test-gradients.py test/test-basic-sfm.py test/test-basic-calibration.py test/test-surveyed-calibration.py test/test-surveyed-calibration.py__--distance__8 test/test-surveyed-calibration.py__--oversample__10 test/test-projection-uncertainty.py__--fixed__cam0__--model__splined test/test-linearizations.py test/test-convert-lensmodel.py test/test-uncertainty-broadcasting.py__--q-calibration-stdev__0.3__--q-observation-stdev__0.3__--q-observation-stdev-correlation__0.5 test/test-extrinsics-moved-since-calibration.py !
> make[2]: *** [Makefile.tests:85: test-nosampling] Error 1


The full build log is available from:
http://qa-logs.debian.net/2024/01/15/mrcal_2.3-4_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240115;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240115&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.



More information about the debian-science-maintainers mailing list