Diff of the two buildlogs: -- --- b1/build.log 2025-11-21 16:41:44.588749417 +0000 +++ b2/build.log 2025-11-21 16:43:31.040866860 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri Nov 21 04:36:33 -12 2025 -I: pbuilder-time-stamp: 1763742993 +I: Current time: Fri Dec 25 13:04:47 +14 2026 +I: pbuilder-time-stamp: 1798153487 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration @@ -26,53 +26,85 @@ dpkg-source: info: applying 0003-NumPy-2-workaround.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/2072664/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/1202500/tmp/hooks/D01_modify_environment starting +debug: Running on codethink03-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Dec 24 23:04 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/1202500/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/1202500/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='arm64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='forky' - HOME='/root' - HOST_ARCH='arm64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="3" [2]="3" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.3.3(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 nocheck' + DIRSTACK=() + DISTRIBUTION=forky + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='51fc4a99ea1d44339ecec4f4c5a21124' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='2072664' - PS1='# ' - PS2='> ' + INVOCATION_ID=fed604c2d1fc40359b467de28391825c + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=1202500 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.iSqpnSUG/pbuilderrc_SBrX --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.iSqpnSUG/b1 --logfile b1/build.log mrcal_2.4.1-4.dsc' - SUDO_GID='109' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.iSqpnSUG/pbuilderrc_c6m7 --distribution forky --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.iSqpnSUG/b2 --logfile b2/build.log mrcal_2.4.1-4.dsc' + SUDO_GID=109 + SUDO_HOME=/var/lib/jenkins + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink04-arm64 6.12.57+deb13-cloud-arm64 #1 SMP Debian 6.12.57-1 (2025-11-05) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.12.57+deb13-cloud-arm64 #1 SMP Debian 6.12.57-1 (2025-11-05) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2072664/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/1202500/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -632,7 +664,7 @@ Get: 491 http://deb.debian.org/debian forky/main arm64 python3-scipy arm64 1.16.3-1 [14.0 MB] Get: 492 http://deb.debian.org/debian forky/main arm64 re2c arm64 4.3-2 [1018 kB] Get: 493 http://deb.debian.org/debian forky/main arm64 vnlog all 1.40-1 [97.0 kB] -Fetched 328 MB in 3s (104 MB/s) +Fetched 328 MB in 1s (293 MB/s) Preconfiguring packages ... Selecting previously unselected package libsystemd-shared:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19968 files and directories currently installed.) @@ -2242,8 +2274,8 @@ Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' -Local time is now: Fri Nov 21 16:38:39 UTC 2025. -Universal Time is now: Fri Nov 21 16:38:39 UTC 2025. +Local time is now: Thu Dec 24 23:05:44 UTC 2026. +Universal Time is now: Thu Dec 24 23:05:44 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libcap2-bin (1:2.75-10+b1) ... @@ -2673,7 +2705,11 @@ Solving dependencies... 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/mrcal-2.4.1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../mrcal_2.4.1-4_source.changes +I: user script /srv/workspace/pbuilder/1202500/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for forky +I: user script /srv/workspace/pbuilder/1202500/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/mrcal-2.4.1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../mrcal_2.4.1-4_source.changes dpkg-buildpackage: info: source package mrcal dpkg-buildpackage: info: source version 2.4.1-4 dpkg-buildpackage: info: source distribution unstable @@ -2774,9 +2810,9 @@ cc -Wall -Wextra -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/mrcal-2.4.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard --std=gnu99 -I/usr/include/suitesparse -Wno-missing-field-initializers -Wno-unused-variable -Wno-unused-parameter -Wno-missing-braces -MMD -MP -g -fno-omit-frame-pointer -DMRBUILD_VERSION='"2.4.1-4"' -Wdate-time -D_FORTIFY_SOURCE=2 -c -o test/test-lensmodel-string-manipulation.o test/test-lensmodel-string-manipulation.c cc -Wall -Wextra -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/mrcal-2.4.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard --std=gnu99 -I/usr/include/suitesparse -Wno-missing-field-initializers -Wno-unused-variable -Wno-unused-parameter -Wno-missing-braces -MMD -MP -g -fno-omit-frame-pointer -DMRBUILD_VERSION='"2.4.1-4"' -Wdate-time -D_FORTIFY_SOURCE=2 -c -o test/test-parser-cameramodel.o test/test-parser-cameramodel.c cc -Wall -Wextra -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/mrcal-2.4.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard --std=gnu99 -I/usr/include/suitesparse -Wno-cast-function-type -fno-strict-overflow -Wsign-compare -DNDEBUG -g -Wall -fPIC -I/usr/include/python3.13 -I/usr/lib/aarch64-linux-gnu/python3-numpy/numpy/_core/include -Wno-cast-function-type -Wno-int-conversion -Wno-missing-field-initializers -Wno-unused-variable -Wno-unused-parameter -Wno-missing-braces -MMD -MP -g -fno-omit-frame-pointer -DMRBUILD_VERSION='"2.4.1-4"' -Wdate-time -D_FORTIFY_SOURCE=2 -c -o mrcal-pywrap.o mrcal-pywrap.c -cc -Wall -Wextra -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/mrcal-2.4.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard --std=gnu99 -I/usr/include/suitesparse -Wno-array-bounds -Wno-cast-function-type -fno-strict-overflow -Wsign-compare -DNDEBUG -g -Wall -fPIC -I/usr/include/python3.13 -I/usr/lib/aarch64-linux-gnu/python3-numpy/numpy/_core/include -Wno-cast-function-type -Wno-int-conversion -Wno-missing-field-initializers -Wno-unused-variable -Wno-unused-parameter -Wno-missing-braces -MMD -MP -g -fno-omit-frame-pointer -DMRBUILD_VERSION='"2.4.1-4"' -Wdate-time -D_FORTIFY_SOURCE=2 -c -o triangulation-npsp-pywrap-GENERATED.o triangulation-npsp-pywrap-GENERATED.c -cc -Wall -Wextra -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/mrcal-2.4.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard --std=gnu99 -I/usr/include/suitesparse -Wno-array-bounds -Wno-cast-function-type -fno-strict-overflow -Wsign-compare -DNDEBUG -g -Wall -fPIC -I/usr/include/python3.13 -I/usr/lib/aarch64-linux-gnu/python3-numpy/numpy/_core/include -Wno-cast-function-type -Wno-int-conversion -Wno-missing-field-initializers -Wno-unused-variable -Wno-unused-parameter -Wno-missing-braces -MMD -MP -g -fno-omit-frame-pointer -DMRBUILD_VERSION='"2.4.1-4"' -Wdate-time -D_FORTIFY_SOURCE=2 -c -o poseutils-npsp-pywrap-GENERATED.o poseutils-npsp-pywrap-GENERATED.c cc -Wall -Wextra -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/mrcal-2.4.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard --std=gnu99 -I/usr/include/suitesparse -Wno-array-bounds -Wno-cast-function-type -fno-strict-overflow -Wsign-compare -DNDEBUG -g -Wall -fPIC -I/usr/include/python3.13 -I/usr/lib/aarch64-linux-gnu/python3-numpy/numpy/_core/include -Wno-cast-function-type -Wno-int-conversion -Wno-missing-field-initializers -Wno-unused-variable -Wno-unused-parameter -Wno-missing-braces -MMD -MP -g -fno-omit-frame-pointer -DMRBUILD_VERSION='"2.4.1-4"' -Wdate-time -D_FORTIFY_SOURCE=2 -c -o mrcal-npsp-pywrap-GENERATED.o mrcal-npsp-pywrap-GENERATED.c +cc -Wall -Wextra -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/mrcal-2.4.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard --std=gnu99 -I/usr/include/suitesparse -Wno-array-bounds -Wno-cast-function-type -fno-strict-overflow -Wsign-compare -DNDEBUG -g -Wall -fPIC -I/usr/include/python3.13 -I/usr/lib/aarch64-linux-gnu/python3-numpy/numpy/_core/include -Wno-cast-function-type -Wno-int-conversion -Wno-missing-field-initializers -Wno-unused-variable -Wno-unused-parameter -Wno-missing-braces -MMD -MP -g -fno-omit-frame-pointer -DMRBUILD_VERSION='"2.4.1-4"' -Wdate-time -D_FORTIFY_SOURCE=2 -c -o poseutils-npsp-pywrap-GENERATED.o poseutils-npsp-pywrap-GENERATED.c +cc -Wall -Wextra -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/mrcal-2.4.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard --std=gnu99 -I/usr/include/suitesparse -Wno-array-bounds -Wno-cast-function-type -fno-strict-overflow -Wsign-compare -DNDEBUG -g -Wall -fPIC -I/usr/include/python3.13 -I/usr/lib/aarch64-linux-gnu/python3-numpy/numpy/_core/include -Wno-cast-function-type -Wno-int-conversion -Wno-missing-field-initializers -Wno-unused-variable -Wno-unused-parameter -Wno-missing-braces -MMD -MP -g -fno-omit-frame-pointer -DMRBUILD_VERSION='"2.4.1-4"' -Wdate-time -D_FORTIFY_SOURCE=2 -c -o triangulation-npsp-pywrap-GENERATED.o triangulation-npsp-pywrap-GENERATED.c g++ -Wl,-z,relro -Wl,-z,now -Wl,--default-symver -shared -fPIC -Wl,-soname,libmrcal.so.4 mrcal.o mrcal-opencv.o mrcal-image.o stereo.o poseutils.o poseutils-opencv.o poseutils-uses-autodiff.o triangulation.o cahvore.o cameramodel-parser_GENERATED.o -ldogleg -lfreeimage -o libmrcal.so.4.0 /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libdogleg.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libfreeimage.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. @@ -2797,1947 +2833,14 @@ aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-rpath,'$ORIGIN'/.. -Wl,-z,relro -g -fwrapv -O2 -L/build/reproducible-path/mrcal-2.4.1 -Wl,-z,relro -Wl,-z,now triangulation-npsp-pywrap-GENERATED.o -lmrcal -o mrcal/_triangulation_npsp.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. -aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-rpath,'$ORIGIN'/.. -Wl,-z,relro -g -fwrapv -O2 -L/build/reproducible-path/mrcal-2.4.1 -Wl,-z,relro -Wl,-z,now mrcal-npsp-pywrap-GENERATED.o -lmrcal -o mrcal/_mrcal_npsp.cpython-313-aarch64-linux-gnu.so +aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-rpath,'$ORIGIN'/.. -Wl,-z,relro -g -fwrapv -O2 -L/build/reproducible-path/mrcal-2.4.1 -Wl,-z,relro -Wl,-z,now poseutils-npsp-pywrap-GENERATED.o -lmrcal -o mrcal/_poseutils_npsp.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. -aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-rpath,'$ORIGIN'/.. -Wl,-z,relro -g -fwrapv -O2 -L/build/reproducible-path/mrcal-2.4.1 -Wl,-z,relro -Wl,-z,now poseutils-npsp-pywrap-GENERATED.o -lmrcal -o mrcal/_poseutils_npsp.cpython-313-aarch64-linux-gnu.so +aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-rpath,'$ORIGIN'/.. -Wl,-z,relro -g -fwrapv -O2 -L/build/reproducible-path/mrcal-2.4.1 -Wl,-z,relro -Wl,-z,now mrcal-npsp-pywrap-GENERATED.o -lmrcal -o mrcal/_mrcal_npsp.cpython-313-aarch64-linux-gnu.so /lib/aarch64-linux-gnu/libc.so.6: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. /lib/ld-linux-aarch64.so.1: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. make[2]: Leaving directory '/build/reproducible-path/mrcal-2.4.1' make[1]: Leaving directory '/build/reproducible-path/mrcal-2.4.1' - debian/rules override_dh_auto_test -make[1]: Entering directory '/build/reproducible-path/mrcal-2.4.1' -make test-nosampling -make[2]: Entering directory '/build/reproducible-path/mrcal-2.4.1' -========== 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 -/build/reproducible-path/mrcal-2.4.1/test/test-gradients.py:99: SyntaxWarning: invalid escape sequence '\d' - m = re.search("^## Intrinsics: (\d+) variables per camera \((\d+) for the core, (\d+) for the rest; (\d+) total\). Starts at variable (-?\d+)", s, re.M) -/build/reproducible-path/mrcal-2.4.1/test/test-gradients.py:106: SyntaxWarning: invalid escape sequence '\d' - m = re.search("^## Extrinsics: \d+ variables per camera for all cameras except camera 0 \((\d+) total\). Starts at variable (-?\d+)", s, re.M) -/build/reproducible-path/mrcal-2.4.1/test/test-gradients.py:110: SyntaxWarning: invalid escape sequence '\d' - m = re.search("^## Frames: \d+ variables per frame \((\d+) total\). Starts at variable (-?\d+)", s, re.M) -/build/reproducible-path/mrcal-2.4.1/test/test-gradients.py:114: SyntaxWarning: invalid escape sequence '\d' - m = re.search("^## Discrete points: \d+ variables per point \((\d+) total\). Starts at variable (-?\d+)", s, re.M) -/build/reproducible-path/mrcal-2.4.1/test/test-gradients.py:118: SyntaxWarning: invalid escape sequence '\d' - m = re.search("^## calobject_warp: (\d+) variables. Starts at variable (-?\d+)", s, re.M) -/build/reproducible-path/mrcal-2.4.1/test/test-gradients.py:155: SyntaxWarning: invalid escape sequence '\d' - m = re.search("^## Measurement calobjects: (\d+) measurements. Starts at measurement (\d+)", s, re.M) -/build/reproducible-path/mrcal-2.4.1/test/test-gradients.py:159: SyntaxWarning: invalid escape sequence '\d' - m = re.search("^## Measurement points: (\d+) measurements. Starts at measurement (\d+)", s, re.M) -/build/reproducible-path/mrcal-2.4.1/test/test-gradients.py:163: SyntaxWarning: invalid escape sequence '\d' - m = re.search("^## Measurement regularization: (\d+) measurements. Starts at measurement (\d+)", s, re.M) -test-gradients.py:227: OK: 99%-percentile relative error=2.52608369581521e-08 for vars intrinsics-core, meas boards in LENSMODEL_PINHOLE extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=5.44282280447803e-09 for vars intrinsics-core, meas regularization in LENSMODEL_PINHOLE extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=5.70835825243019e-06 for vars extrinsics, meas boards in LENSMODEL_PINHOLE extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=2.0439755724731e-07 for vars frames, meas boards in LENSMODEL_PINHOLE extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=5.40802332053688e-06 for vars calobject_warp, meas boards in LENSMODEL_PINHOLE extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=5.70835825243019e-06 for vars extrinsics, meas boards in LENSMODEL_PINHOLE extrinsics frames intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=1.995903032279e-07 for vars frames, meas boards in LENSMODEL_PINHOLE extrinsics frames intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=2.52608369581521e-08 for vars intrinsics-core, meas boards in LENSMODEL_PINHOLE extrinsics frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=5.44282280447803e-09 for vars intrinsics-core, meas regularization in LENSMODEL_PINHOLE extrinsics frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=5.70835825243019e-06 for vars extrinsics, meas boards in LENSMODEL_PINHOLE extrinsics frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=2.0439755724731e-07 for vars frames, meas boards in LENSMODEL_PINHOLE extrinsics frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=5.70835825243019e-06 for vars extrinsics, meas boards in LENSMODEL_PINHOLE extrinsics frames -test-gradients.py:227: OK: 99%-percentile relative error=1.995903032279e-07 for vars frames, meas boards in LENSMODEL_PINHOLE extrinsics frames -test-gradients.py:227: OK: 99%-percentile relative error=2.52595740425957e-08 for vars intrinsics-core, meas boards in LENSMODEL_STEREOGRAPHIC extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=5.44282280447803e-09 for vars intrinsics-core, meas regularization in LENSMODEL_STEREOGRAPHIC extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=1.04835449550725e-05 for vars extrinsics, meas boards in LENSMODEL_STEREOGRAPHIC extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=5.7402958915408e-07 for vars frames, meas boards in LENSMODEL_STEREOGRAPHIC extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=7.57155328220064e-06 for vars calobject_warp, meas boards in LENSMODEL_STEREOGRAPHIC extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=1.07863494576098e-05 for vars extrinsics, meas boards in LENSMODEL_STEREOGRAPHIC extrinsics intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=2.52595740425957e-08 for vars intrinsics-core, meas boards in LENSMODEL_STEREOGRAPHIC extrinsics frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=5.44282280447803e-09 for vars intrinsics-core, meas regularization in LENSMODEL_STEREOGRAPHIC extrinsics frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=1.04835449550725e-05 for vars extrinsics, meas boards in LENSMODEL_STEREOGRAPHIC extrinsics frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=5.7402958915408e-07 for vars frames, meas boards in LENSMODEL_STEREOGRAPHIC extrinsics frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=5.60561211172018e-07 for vars frames, meas boards in LENSMODEL_STEREOGRAPHIC frames -test-gradients.py:227: OK: 99%-percentile relative error=6.56842157892105e-08 for vars intrinsics-core, meas boards in LENSMODEL_CAHVOR extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=5.44282280447803e-09 for vars intrinsics-core, meas regularization in LENSMODEL_CAHVOR extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=1.2965733840077e-05 for vars intrinsics-distortions, meas boards in LENSMODEL_CAHVOR extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=6.56465571303148e-11 for vars intrinsics-distortions, meas regularization in LENSMODEL_CAHVOR extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=5.30236802681044e-06 for vars extrinsics, meas boards in LENSMODEL_CAHVOR extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=6.42928550199362e-07 for vars frames, meas boards in LENSMODEL_CAHVOR extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=5.72357975276973e-06 for vars calobject_warp, meas boards in LENSMODEL_CAHVOR extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=1.37767068449843e-05 for vars intrinsics-distortions, meas boards in LENSMODEL_CAHVOR extrinsics frames intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=6.56465571303148e-11 for vars intrinsics-distortions, meas regularization in LENSMODEL_CAHVOR extrinsics frames intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=5.30236802681044e-06 for vars extrinsics, meas boards in LENSMODEL_CAHVOR extrinsics frames intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=6.31740566603178e-07 for vars frames, meas boards in LENSMODEL_CAHVOR extrinsics frames intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=6.56842157892105e-08 for vars intrinsics-core, meas boards in LENSMODEL_CAHVOR extrinsics frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=5.44282280447803e-09 for vars intrinsics-core, meas regularization in LENSMODEL_CAHVOR extrinsics frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=5.30236802681044e-06 for vars extrinsics, meas boards in LENSMODEL_CAHVOR extrinsics frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=6.42928550199362e-07 for vars frames, meas boards in LENSMODEL_CAHVOR extrinsics frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=5.30236802681044e-06 for vars extrinsics, meas boards in LENSMODEL_CAHVOR extrinsics frames -test-gradients.py:227: OK: 99%-percentile relative error=6.31740566603178e-07 for vars frames, meas boards in LENSMODEL_CAHVOR extrinsics frames -test-gradients.py:227: OK: 99%-percentile relative error=3.38519074046298e-07 for vars intrinsics-core, meas boards in LENSMODEL_OPENCV4 extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=5.44282280447803e-09 for vars intrinsics-core, meas regularization in LENSMODEL_OPENCV4 extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=2.01176091275929e-06 for vars intrinsics-distortions, meas boards in LENSMODEL_OPENCV4 extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=7.53315711460539e-11 for vars intrinsics-distortions, meas regularization in LENSMODEL_OPENCV4 extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=3.35403084767264e-06 for vars extrinsics, meas boards in LENSMODEL_OPENCV4 extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=1.00744179436773e-07 for vars frames, meas boards in LENSMODEL_OPENCV4 extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=7.45993723373611e-06 for vars calobject_warp, meas boards in LENSMODEL_OPENCV4 extrinsics frames intrinsic-core intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=2.01176091275929e-06 for vars intrinsics-distortions, meas boards in LENSMODEL_OPENCV4 extrinsics frames intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=7.53315711460539e-11 for vars intrinsics-distortions, meas regularization in LENSMODEL_OPENCV4 extrinsics frames intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=3.35403084767264e-06 for vars extrinsics, meas boards in LENSMODEL_OPENCV4 extrinsics frames intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=1.06397017755783e-07 for vars frames, meas boards in LENSMODEL_OPENCV4 extrinsics frames intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=3.38519074046298e-07 for vars intrinsics-core, meas boards in LENSMODEL_OPENCV4 extrinsics frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=5.44282280447803e-09 for vars intrinsics-core, meas regularization in LENSMODEL_OPENCV4 extrinsics frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=3.35403084767264e-06 for vars extrinsics, meas boards in LENSMODEL_OPENCV4 extrinsics frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=1.00744179436773e-07 for vars frames, meas boards in LENSMODEL_OPENCV4 extrinsics frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=3.35403084767264e-06 for vars extrinsics, meas boards in LENSMODEL_OPENCV4 extrinsics frames -test-gradients.py:227: OK: 99%-percentile relative error=1.06397017755783e-07 for vars frames, meas boards in LENSMODEL_OPENCV4 extrinsics frames -test-gradients.py:227: OK: 99%-percentile relative error=6.56842157892105e-08 for vars intrinsics-core, meas boards in LENSMODEL_CAHVOR frames intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=5.44282280447803e-09 for vars intrinsics-core, meas regularization in LENSMODEL_CAHVOR frames intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=1.2965733840077e-05 for vars intrinsics-distortions, meas boards in LENSMODEL_CAHVOR frames intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=6.56465571303148e-11 for vars intrinsics-distortions, meas regularization in LENSMODEL_CAHVOR frames intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=6.42928550199362e-07 for vars frames, meas boards in LENSMODEL_CAHVOR frames intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=1.37767068449843e-05 for vars intrinsics-distortions, meas boards in LENSMODEL_CAHVOR frames intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=6.56465571303148e-11 for vars intrinsics-distortions, meas regularization in LENSMODEL_CAHVOR frames intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=6.31740566603178e-07 for vars frames, meas boards in LENSMODEL_CAHVOR frames intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=6.56842157892105e-08 for vars intrinsics-core, meas boards in LENSMODEL_CAHVOR frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=5.44282280447803e-09 for vars intrinsics-core, meas regularization in LENSMODEL_CAHVOR frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=6.42928550199362e-07 for vars frames, meas boards in LENSMODEL_CAHVOR frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=6.31740566603178e-07 for vars frames, meas boards in LENSMODEL_CAHVOR frames -test-gradients.py:227: OK: 99%-percentile relative error=6.56842157892105e-08 for vars intrinsics-core, meas boards in LENSMODEL_CAHVOR extrinsics intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=5.44282280447803e-09 for vars intrinsics-core, meas regularization in LENSMODEL_CAHVOR extrinsics intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=1.28805483248944e-05 for vars intrinsics-distortions, meas boards in LENSMODEL_CAHVOR extrinsics intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=6.56465571303148e-11 for vars intrinsics-distortions, meas regularization in LENSMODEL_CAHVOR extrinsics intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=5.1872381184584e-06 for vars extrinsics, meas boards in LENSMODEL_CAHVOR extrinsics intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=1.2965733840077e-05 for vars intrinsics-distortions, meas boards in LENSMODEL_CAHVOR extrinsics intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=6.56465571303148e-11 for vars intrinsics-distortions, meas regularization in LENSMODEL_CAHVOR extrinsics intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=5.1872381184584e-06 for vars extrinsics, meas boards in LENSMODEL_CAHVOR extrinsics intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=6.56842157892105e-08 for vars intrinsics-core, meas boards in LENSMODEL_CAHVOR extrinsics intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=5.44282280447803e-09 for vars intrinsics-core, meas regularization in LENSMODEL_CAHVOR extrinsics intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=5.1872381184584e-06 for vars extrinsics, meas boards in LENSMODEL_CAHVOR extrinsics intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=5.1872381184584e-06 for vars extrinsics, meas boards in LENSMODEL_CAHVOR extrinsics -test-gradients.py:227: OK: 99%-percentile relative error=6.56842157892105e-08 for vars intrinsics-core, meas boards in LENSMODEL_CAHVOR intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=5.44282280447803e-09 for vars intrinsics-core, meas regularization in LENSMODEL_CAHVOR intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=1.28805483248944e-05 for vars intrinsics-distortions, meas boards in LENSMODEL_CAHVOR intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=6.56465571303148e-11 for vars intrinsics-distortions, meas regularization in LENSMODEL_CAHVOR intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=1.2965733840077e-05 for vars intrinsics-distortions, meas boards in LENSMODEL_CAHVOR intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=6.56465571303148e-11 for vars intrinsics-distortions, meas regularization in LENSMODEL_CAHVOR intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=6.56842157892105e-08 for vars intrinsics-core, meas boards in LENSMODEL_CAHVOR intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=5.44282280447803e-09 for vars intrinsics-core, meas regularization in LENSMODEL_CAHVOR intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=3.38519074046298e-07 for vars intrinsics-core, meas boards in LENSMODEL_OPENCV4 frames intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=5.44282280447803e-09 for vars intrinsics-core, meas regularization in LENSMODEL_OPENCV4 frames intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=2.01176091275929e-06 for vars intrinsics-distortions, meas boards in LENSMODEL_OPENCV4 frames intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=7.53315711460539e-11 for vars intrinsics-distortions, meas regularization in LENSMODEL_OPENCV4 frames intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=1.00744179436773e-07 for vars frames, meas boards in LENSMODEL_OPENCV4 frames intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=2.01176091275929e-06 for vars intrinsics-distortions, meas boards in LENSMODEL_OPENCV4 frames intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=7.53315711460539e-11 for vars intrinsics-distortions, meas regularization in LENSMODEL_OPENCV4 frames intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=1.06397017755783e-07 for vars frames, meas boards in LENSMODEL_OPENCV4 frames intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=3.38519074046298e-07 for vars intrinsics-core, meas boards in LENSMODEL_OPENCV4 frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=5.44282280447803e-09 for vars intrinsics-core, meas regularization in LENSMODEL_OPENCV4 frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=1.00744179436773e-07 for vars frames, meas boards in LENSMODEL_OPENCV4 frames intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=1.06397017755783e-07 for vars frames, meas boards in LENSMODEL_OPENCV4 frames -test-gradients.py:227: OK: 99%-percentile relative error=3.38519074046298e-07 for vars intrinsics-core, meas boards in LENSMODEL_OPENCV4 extrinsics intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=5.44282280447803e-09 for vars intrinsics-core, meas regularization in LENSMODEL_OPENCV4 extrinsics intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=1.92812417965943e-06 for vars intrinsics-distortions, meas boards in LENSMODEL_OPENCV4 extrinsics intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=7.53315711460539e-11 for vars intrinsics-distortions, meas regularization in LENSMODEL_OPENCV4 extrinsics intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=3.35403084767264e-06 for vars extrinsics, meas boards in LENSMODEL_OPENCV4 extrinsics intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=2.01176091275929e-06 for vars intrinsics-distortions, meas boards in LENSMODEL_OPENCV4 extrinsics intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=7.53315711460539e-11 for vars intrinsics-distortions, meas regularization in LENSMODEL_OPENCV4 extrinsics intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=3.35403084767264e-06 for vars extrinsics, meas boards in LENSMODEL_OPENCV4 extrinsics intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=3.38519074046298e-07 for vars intrinsics-core, meas boards in LENSMODEL_OPENCV4 extrinsics intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=5.44282280447803e-09 for vars intrinsics-core, meas regularization in LENSMODEL_OPENCV4 extrinsics intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=3.35403084767264e-06 for vars extrinsics, meas boards in LENSMODEL_OPENCV4 extrinsics intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=3.35403084767264e-06 for vars extrinsics, meas boards in LENSMODEL_OPENCV4 extrinsics -test-gradients.py:227: OK: 99%-percentile relative error=3.38519074046298e-07 for vars intrinsics-core, meas boards in LENSMODEL_OPENCV4 intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=5.44282280447803e-09 for vars intrinsics-core, meas regularization in LENSMODEL_OPENCV4 intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=1.92812417965943e-06 for vars intrinsics-distortions, meas boards in LENSMODEL_OPENCV4 intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=7.53315711460539e-11 for vars intrinsics-distortions, meas regularization in LENSMODEL_OPENCV4 intrinsic-core intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=2.01176091275929e-06 for vars intrinsics-distortions, meas boards in LENSMODEL_OPENCV4 intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=7.53315711460539e-11 for vars intrinsics-distortions, meas regularization in LENSMODEL_OPENCV4 intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=3.38519074046298e-07 for vars intrinsics-core, meas boards in LENSMODEL_OPENCV4 intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=5.44282280447803e-09 for vars intrinsics-core, meas regularization in LENSMODEL_OPENCV4 intrinsic-core -test-gradients.py:227: OK: 99%-percentile relative error=0.000343006776279778 for vars intrinsics-distortions, meas boards in LENSMODEL_SPLINED_STEREOGRAPHIC_3 extrinsics intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=1.23757846714941e-09 for vars intrinsics-distortions, meas regularization in LENSMODEL_SPLINED_STEREOGRAPHIC_3 extrinsics intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=1.35216865197634e-05 for vars extrinsics, meas boards in LENSMODEL_SPLINED_STEREOGRAPHIC_3 extrinsics intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=0.000346956531833215 for vars intrinsics-distortions, meas boards in LENSMODEL_SPLINED_STEREOGRAPHIC_3 frames extrinsics intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=1.23757846714941e-09 for vars intrinsics-distortions, meas regularization in LENSMODEL_SPLINED_STEREOGRAPHIC_3 frames extrinsics intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=1.41295707472178e-05 for vars extrinsics, meas boards in LENSMODEL_SPLINED_STEREOGRAPHIC_3 frames extrinsics intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=1.25428719342522e-06 for vars frames, meas boards in LENSMODEL_SPLINED_STEREOGRAPHIC_3 frames extrinsics intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=3.17402212090142e-05 for vars calobject_warp, meas boards in LENSMODEL_SPLINED_STEREOGRAPHIC_3 frames extrinsics intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=3.41386329219469e-05 for vars intrinsics-distortions, meas boards in LENSMODEL_SPLINED_STEREOGRAPHIC_2 extrinsics intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=1.23757846714941e-09 for vars intrinsics-distortions, meas regularization in LENSMODEL_SPLINED_STEREOGRAPHIC_2 extrinsics intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=9.01947723604115e-06 for vars extrinsics, meas boards in LENSMODEL_SPLINED_STEREOGRAPHIC_2 extrinsics intrinsic-distortions -test-gradients.py:227: OK: 99%-percentile relative error=3.41386329219469e-05 for vars intrinsics-distortions, meas boards in LENSMODEL_SPLINED_STEREOGRAPHIC_2 frames extrinsics intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=1.23757846714941e-09 for vars intrinsics-distortions, meas regularization in LENSMODEL_SPLINED_STEREOGRAPHIC_2 frames extrinsics intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=9.02931513960473e-06 for vars extrinsics, meas boards in LENSMODEL_SPLINED_STEREOGRAPHIC_2 frames extrinsics intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=1.03166440043619e-06 for vars frames, meas boards in LENSMODEL_SPLINED_STEREOGRAPHIC_2 frames extrinsics intrinsic-distortions calobject-warp -test-gradients.py:227: OK: 99%-percentile relative error=3.008029015901e-05 for vars calobject_warp, meas boards in LENSMODEL_SPLINED_STEREOGRAPHIC_2 frames extrinsics intrinsic-distortions calobject-warp -test-gradients.py:229: All tests passed: 138 total -========== 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 -test-basic-sfm.py:177: OK: Solved at ref coords with known-position points -test-basic-sfm.py:181: All tests passed: 1 total -========== RUNNING: test/test-basic-calibration.py -mrcal.c(5564): Threw out some outliers. New count = 5115/36000 (14.2%). Going again -mrcal.c(5564): Threw out some outliers. New count = 5145/36000 (14.3%). Going again -mrcal.c(5564): Threw out some outliers. New count = 5181/36000 (14.4%). Going again -mrcal.c(5564): Threw out some outliers. New count = 5202/36000 (14.4%). Going again -mrcal.c(5564): Threw out some outliers. New count = 5215/36000 (14.5%). Going again -test-basic-calibration.py:168: OK: num_states() -test-basic-calibration.py:171: OK: num_states_intrinsics() -test-basic-calibration.py:174: OK: num_intrinsics_optimization_params() -test-basic-calibration.py:177: OK: num_states_extrinsics() -test-basic-calibration.py:180: OK: num_states_frames() -test-basic-calibration.py:183: OK: num_states_points() -test-basic-calibration.py:186: OK: num_states_calobject_warp() -test-basic-calibration.py:190: OK: num_measurements_boards() -test-basic-calibration.py:193: OK: num_measurements_points() -test-basic-calibration.py:196: OK: num_measurements_regularization() -test-basic-calibration.py:214: OK: state_index_intrinsics() -test-basic-calibration.py:217: OK: state_index_extrinsics() -test-basic-calibration.py:220: OK: state_index_frames() -test-basic-calibration.py:223: OK: state_index_calobject_warp() -test-basic-calibration.py:227: OK: measurement_index_boards() -test-basic-calibration.py:230: OK: measurement_index_regularization() -test-basic-calibration.py:246: OK: Converged to a low RMS error -test-basic-calibration.py:250: OK: Recovered the calibration object shape -test-basic-calibration.py:255: OK: Residual have the expected distribution -test-basic-calibration.py:273: OK: Recovered extrinsic translation for camera 1 -test-basic-calibration.py:278: OK: Recovered extrinsic rotation for camera 1 -test-basic-calibration.py:273: OK: Recovered extrinsic translation for camera 2 -test-basic-calibration.py:278: OK: Recovered extrinsic rotation for camera 2 -test-basic-calibration.py:273: OK: Recovered extrinsic translation for camera 3 -test-basic-calibration.py:278: OK: Recovered extrinsic rotation for camera 3 -test-basic-calibration.py:287: OK: Recovered frame translation -test-basic-calibration.py:291: OK: Recovered frame rotation -test-basic-calibration.py:346: OK: Recovered intrinsics for camera 0 -test-basic-calibration.py:346: OK: Recovered intrinsics for camera 1 -test-basic-calibration.py:346: OK: Recovered intrinsics for camera 2 -test-basic-calibration.py:346: OK: Recovered intrinsics for camera 3 -test-basic-calibration.py:377: OK: make_perfect_observations() works for boards -test-basic-calibration.py:385: All tests passed: 32 total -========== RUNNING: test/test-surveyed-calibration.py -test-surveyed-calibration.py:495: OK: num_states() -test-surveyed-calibration.py:498: OK: num_states_intrinsics() -test-surveyed-calibration.py:501: OK: num_intrinsics_optimization_params() -test-surveyed-calibration.py:504: OK: num_states_extrinsics() -test-surveyed-calibration.py:507: OK: num_states_frames() -test-surveyed-calibration.py:510: OK: num_states_points() -test-surveyed-calibration.py:513: OK: num_states_calobject_warp() -test-surveyed-calibration.py:516: OK: num_measurements_boards() -test-surveyed-calibration.py:519: OK: num_measurements_points() -test-surveyed-calibration.py:522: OK: num_measurements_regularization() -test-surveyed-calibration.py:525: OK: state_index_intrinsics() -test-surveyed-calibration.py:528: OK: state_index_extrinsics() -test-surveyed-calibration.py:531: OK: measurement_index_points() -test-surveyed-calibration.py:534: OK: measurement_index_regularization() -test-surveyed-calibration.py:542: OK: Converged to a low RMS error -test-surveyed-calibration.py:550: OK: Residual have the expected distribution -test-surveyed-calibration.py:555: OK: Recovered extrinsic translation -test-surveyed-calibration.py:560: OK: Recovered extrinsic rotation -test-surveyed-calibration.py:617: OK: Recovered intrinsics -test-surveyed-calibration.py:637: OK: make_perfect_observations() works for points -test-surveyed-calibration.py:651: All tests passed: 20 total -========== RUNNING: test/test-surveyed-calibration.py --distance 8 -test-surveyed-calibration.py:495: OK: num_states() -test-surveyed-calibration.py:498: OK: num_states_intrinsics() -test-surveyed-calibration.py:501: OK: num_intrinsics_optimization_params() -test-surveyed-calibration.py:504: OK: num_states_extrinsics() -test-surveyed-calibration.py:507: OK: num_states_frames() -test-surveyed-calibration.py:510: OK: num_states_points() -test-surveyed-calibration.py:513: OK: num_states_calobject_warp() -test-surveyed-calibration.py:516: OK: num_measurements_boards() -test-surveyed-calibration.py:519: OK: num_measurements_points() -test-surveyed-calibration.py:522: OK: num_measurements_regularization() -test-surveyed-calibration.py:525: OK: state_index_intrinsics() -test-surveyed-calibration.py:528: OK: state_index_extrinsics() -test-surveyed-calibration.py:531: OK: measurement_index_points() -test-surveyed-calibration.py:534: OK: measurement_index_regularization() -test-surveyed-calibration.py:542: OK: Converged to a low RMS error -test-surveyed-calibration.py:550: OK: Residual have the expected distribution -test-surveyed-calibration.py:555: OK: Recovered extrinsic translation -test-surveyed-calibration.py:560: OK: Recovered extrinsic rotation -test-surveyed-calibration.py:617: OK: Recovered intrinsics -test-surveyed-calibration.py:637: OK: make_perfect_observations() works for points -test-surveyed-calibration.py:651: All tests passed: 20 total -========== RUNNING: test/test-surveyed-calibration.py --oversample 10 -test-surveyed-calibration.py:495: OK: num_states() -test-surveyed-calibration.py:498: OK: num_states_intrinsics() -test-surveyed-calibration.py:501: OK: num_intrinsics_optimization_params() -test-surveyed-calibration.py:504: OK: num_states_extrinsics() -test-surveyed-calibration.py:507: OK: num_states_frames() -test-surveyed-calibration.py:510: OK: num_states_points() -test-surveyed-calibration.py:513: OK: num_states_calobject_warp() -test-surveyed-calibration.py:516: OK: num_measurements_boards() -test-surveyed-calibration.py:519: OK: num_measurements_points() -test-surveyed-calibration.py:522: OK: num_measurements_regularization() -test-surveyed-calibration.py:525: OK: state_index_intrinsics() -test-surveyed-calibration.py:528: OK: state_index_extrinsics() -test-surveyed-calibration.py:531: OK: measurement_index_points() -test-surveyed-calibration.py:534: OK: measurement_index_regularization() -test-surveyed-calibration.py:542: OK: Converged to a low RMS error -test-surveyed-calibration.py:550: OK: Residual have the expected distribution -test-surveyed-calibration.py:555: OK: Recovered extrinsic translation -test-surveyed-calibration.py:560: OK: Recovered extrinsic rotation -test-surveyed-calibration.py:617: OK: Recovered intrinsics -test-surveyed-calibration.py:637: OK: make_perfect_observations() works for points -test-surveyed-calibration.py:651: All tests passed: 20 total -========== RUNNING: test/test-projection-uncertainty.py --fixed cam0 --model splined -test-projection-uncertainty.py:1091: OK: Regularization bias small-enough for camera 0 at distance=5.0 -test-projection-uncertainty.py:1091: OK: Regularization bias small-enough for camera 1 at distance=5.0 -test-projection-uncertainty.py:1091: OK: Regularization bias small-enough for camera 0 at distance=infinity -test-projection-uncertainty.py:1091: OK: Regularization bias small-enough for camera 1 at distance=infinity -test-projection-uncertainty.py:1112: OK: corresponding icam_extrinsics reported correctly for camera 0 -test-projection-uncertainty.py:1127: OK: var(dq) with full rt matches for camera 0 after moving, writing to disk, reading from disk -test-projection-uncertainty.py:1143: OK: var(dq) with rotation-only matches for camera 0 after moving, writing to disk, reading from disk -test-projection-uncertainty.py:1157: OK: var(dq) (infinity) is invariant to point scale for camera 0 -test-projection-uncertainty.py:1112: OK: corresponding icam_extrinsics reported correctly for camera 3 -test-projection-uncertainty.py:1127: OK: var(dq) with full rt matches for camera 3 after moving, writing to disk, reading from disk -test-projection-uncertainty.py:1143: OK: var(dq) with rotation-only matches for camera 3 after moving, writing to disk, reading from disk -test-projection-uncertainty.py:1157: OK: var(dq) (infinity) is invariant to point scale for camera 3 -test-projection-uncertainty.py:1164: All tests passed: 12 total -========== RUNNING: test/test-linearizations.py -test-linearizations.py:168: OK: Trivial, sanity-checking gradient check -test-linearizations.py:189: OK: diff(E) predicted -test-linearizations.py:197: OK: dE/db = 0 at the optimum: original -test-linearizations.py:223: OK: dE/db = 0 at the optimum: perturbed -test-linearizations.py:246: OK: dx follows the prediction -test-linearizations.py:283: OK: Predicted db from dqref: intrinsics -test-linearizations.py:288: OK: Predicted db from dqref: extrinsics -test-linearizations.py:294: OK: Predicted db from dqref: frames -test-linearizations.py:300: All tests passed: 8 total -========== 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_ABCD") and (mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_INVALID_TYPE} -OK: equal mrcal_lensmodel_from_name(&lensmodel, "LENSMODEL_SPLINED_STEREOGRAPHIC") and (mrcal_lensmodel_t){.type = MRCAL_LENSMODEL_INVALID_MISSINGCONFIG} -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_TYPE} -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 30 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: OK: CAHVOR, sampled, intrinsics-only: convert succeeded -test-convert-lensmodel.py:94: OK: Expected no warning about an aphysical translation -test-convert-lensmodel.py:94: OK: CAHVOR, sampled, intrinsics-only: low-enough diff at the center -test-convert-lensmodel.py:94: OK: CAHVOR, sampled, intrinsics-only: low-enough diff at 1/3 from top-left -test-convert-lensmodel.py:104: OK: CAHVOR, sampled at 3m: convert succeeded -test-convert-lensmodel.py:104: OK: Expected a warning about an aphysical translation -test-convert-lensmodel.py:104: OK: CAHVOR, sampled at 3m: low-enough diff at the center -test-convert-lensmodel.py:104: OK: CAHVOR, sampled at 3m: low-enough diff at 1/3 from top-left -test-convert-lensmodel.py:113: OK: CAHVOR, sampled at 3000m: convert succeeded -test-convert-lensmodel.py:113: OK: Expected a warning about an aphysical translation -test-convert-lensmodel.py:113: OK: CAHVOR, sampled at 3000m: low-enough diff at the center -test-convert-lensmodel.py:113: OK: CAHVOR, sampled at 3000m: low-enough diff at 1/3 from top-left -test-convert-lensmodel.py:122: OK: CAHVOR, sampled at 3000m,3m: convert succeeded -test-convert-lensmodel.py:122: OK: Expected no warning about an aphysical translation -test-convert-lensmodel.py:122: OK: CAHVOR, sampled at 3000m,3m: low-enough diff at the center -test-convert-lensmodel.py:122: OK: CAHVOR, sampled at 3000m,3m: low-enough diff at 1/3 from top-left -test-convert-lensmodel.py:134: ../mrcal-doc-external isn't on this disk. Skipping non-sampled tests -test-convert-lensmodel.py:146: All tests passed: 16 total -========== 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 -test-uncertainty-broadcasting.py:190: OK: point array has the right shape -test-uncertainty-broadcasting.py:194: OK: Big covariance (calibration) matrix has the right shape -test-uncertainty-broadcasting.py:197: OK: Big covariance (observation) matrix has the right shape -test-uncertainty-broadcasting.py:200: OK: Big covariance (joint) matrix has the right shape -test-uncertainty-broadcasting.py:216: OK: Covariance (joint) sub-matrix ipt=0 imp=0 -test-uncertainty-broadcasting.py:219: OK: Covariance (cal + obs) sub-matrix ipt=0 imp=0 -test-uncertainty-broadcasting.py:216: OK: Covariance (joint) sub-matrix ipt=0 imp=1 -test-uncertainty-broadcasting.py:219: OK: Covariance (cal + obs) sub-matrix ipt=0 imp=1 -test-uncertainty-broadcasting.py:216: OK: Covariance (joint) sub-matrix ipt=1 imp=0 -test-uncertainty-broadcasting.py:219: OK: Covariance (cal + obs) sub-matrix ipt=1 imp=0 -test-uncertainty-broadcasting.py:216: OK: Covariance (joint) sub-matrix ipt=1 imp=1 -test-uncertainty-broadcasting.py:219: OK: Covariance (cal + obs) sub-matrix ipt=1 imp=1 -test-uncertainty-broadcasting.py:216: OK: Covariance (joint) sub-matrix ipt=2 imp=0 -test-uncertainty-broadcasting.py:219: OK: Covariance (cal + obs) sub-matrix ipt=2 imp=0 -test-uncertainty-broadcasting.py:216: OK: Covariance (joint) sub-matrix ipt=2 imp=1 -test-uncertainty-broadcasting.py:219: OK: Covariance (cal + obs) sub-matrix ipt=2 imp=1 -test-uncertainty-broadcasting.py:216: OK: Covariance (joint) sub-matrix ipt=3 imp=0 -test-uncertainty-broadcasting.py:219: OK: Covariance (cal + obs) sub-matrix ipt=3 imp=0 -test-uncertainty-broadcasting.py:216: OK: Covariance (joint) sub-matrix ipt=3 imp=1 -test-uncertainty-broadcasting.py:219: OK: Covariance (cal + obs) sub-matrix ipt=3 imp=1 -test-uncertainty-broadcasting.py:216: OK: Covariance (joint) sub-matrix ipt=4 imp=0 -test-uncertainty-broadcasting.py:219: OK: Covariance (cal + obs) sub-matrix ipt=4 imp=0 -test-uncertainty-broadcasting.py:216: OK: Covariance (joint) sub-matrix ipt=4 imp=1 -test-uncertainty-broadcasting.py:219: OK: Covariance (cal + obs) sub-matrix ipt=4 imp=1 -test-uncertainty-broadcasting.py:223: All tests passed: 24 total -========== RUNNING: test/test-parser-cameramodel -cameramodel-parser.re(553): Garbage after trailing } at 200. Giving up -cameramodel-parser.re(432): lensmodel defined more than once -cameramodel-parser.re(484): extrinsics defined more than once -cameramodel-parser.re(456): intrinsics defined more than once -cameramodel-parser.re(496): imagersize defined more than once -cameramodel-parser.re(462): 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(579): Incomplete cameramodel. Need keys: lensmodel, intrinsics, extrinsics, imagersize -cameramodel-parser.re(579): Incomplete cameramodel. Need keys: lensmodel, intrinsics, extrinsics, imagersize -cameramodel-parser.re(579): Incomplete cameramodel. Need keys: lensmodel, intrinsics, extrinsics, imagersize -cameramodel-parser.re(175): Error parsing double-precision value for intrinsics at 163. String: '' -cameramodel-parser.re(287): 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 -test-extrinsics-moved-since-calibration.py:61: OK: Camera 0 unmoved -test-extrinsics-moved-since-calibration.py:61: OK: Camera 1 unmoved -test-extrinsics-moved-since-calibration.py:61: OK: Camera 2 unmoved -test-extrinsics-moved-since-calibration.py:61: OK: Camera 3 unmoved -test-extrinsics-moved-since-calibration.py:71: OK: Camera 0 moved -test-extrinsics-moved-since-calibration.py:71: OK: Camera 1 moved -test-extrinsics-moved-since-calibration.py:71: OK: Camera 2 moved -test-extrinsics-moved-since-calibration.py:71: OK: Camera 3 moved -test-extrinsics-moved-since-calibration.py:74: All tests passed: 8 total -========== 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:74: OK: Pixel error with (LENSMODEL_LATLON). Zoom = 0.6 -test-rectification-maps.py:74: OK: Pixel error with (LENSMODEL_LATLON). Zoom = 1.0 -test-rectification-maps.py:74: OK: Pixel error with (LENSMODEL_LATLON). Zoom = 10.0 -test-rectification-maps.py:74: OK: Pixel error with (LENSMODEL_PINHOLE). Zoom = 0.6 -test-rectification-maps.py:74: OK: Pixel error with (LENSMODEL_PINHOLE). Zoom = 1.0 -test-rectification-maps.py:74: OK: Pixel error with (LENSMODEL_PINHOLE). Zoom = 10.0 -test-rectification-maps.py:80: 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 -========== RUNNING: test/test-worst_direction_stdev.py -test-worst_direction_stdev.py:63: OK: Checking shape (2, 3, 5, 5) -test-worst_direction_stdev.py:63: OK: Checking shape (5, 5) -test-worst_direction_stdev.py:63: OK: Checking shape (3, 2, 2) -test-worst_direction_stdev.py:63: OK: Checking shape (2, 2) -test-worst_direction_stdev.py:63: OK: Checking shape (1, 1) -test-worst_direction_stdev.py:63: OK: Checking shape (1,) -test-worst_direction_stdev.py:63: OK: Checking shape () -test-worst_direction_stdev.py:67: All tests passed: 7 total -ALL TEST SETS PASSED! -make[2]: Leaving directory '/build/reproducible-path/mrcal-2.4.1' -make[1]: Leaving directory '/build/reproducible-path/mrcal-2.4.1' create-stamp debian/debhelper-build-stamp dh_prep debian/rules override_dh_auto_install @@ -4771,17 +2874,16 @@ /usr/bin/make-pod-from-help mrcal-show-residuals-board-observation > mrcal-show-residuals-board-observation.pod.tmp && cat footer.pod >> mrcal-show-residuals-board-observation.pod.tmp && mv mrcal-show-residuals-board-observation.pod.tmp mrcal-show-residuals-board-observation.pod /usr/bin/make-pod-from-help mrcal-show-residuals > mrcal-show-residuals.pod.tmp && cat footer.pod >> mrcal-show-residuals.pod.tmp && mv mrcal-show-residuals.pod.tmp mrcal-show-residuals.pod /usr/bin/make-pod-from-help mrcal-stereo > mrcal-stereo.pod.tmp && cat footer.pod >> mrcal-stereo.pod.tmp && mv mrcal-stereo.pod.tmp mrcal-stereo.pod -/build/reproducible-path/mrcal-2.4.1/./mrcal-cull-corners:190: SyntaxWarning: invalid escape sequence '\s' - if re.match('\s*(?:##|$)',l): -/build/reproducible-path/mrcal-2.4.1/./mrcal-cull-corners:202: SyntaxWarning: invalid escape sequence '\s' - if re.match('\s*(?:#|$)',l): pod2man --center="mrcal: camera projection, calibration toolkit" --name=MRCAL --release="mrcal 2.4.1-4" --section=1 mrcal-calibrate-cameras.pod mrcal-calibrate-cameras.1 -pod2man --center="mrcal: camera projection, calibration toolkit" --name=MRCAL --release="mrcal 2.4.1-4" --section=1 mrcal-convert-lensmodel.pod mrcal-convert-lensmodel.1 pod2man --center="mrcal: camera projection, calibration toolkit" --name=MRCAL --release="mrcal 2.4.1-4" --section=1 mrcal-show-distortion-off-pinhole.pod mrcal-show-distortion-off-pinhole.1 pod2man --center="mrcal: camera projection, calibration toolkit" --name=MRCAL --release="mrcal 2.4.1-4" --section=1 mrcal-show-splined-model-correction.pod mrcal-show-splined-model-correction.1 pod2man --center="mrcal: camera projection, calibration toolkit" --name=MRCAL --release="mrcal 2.4.1-4" --section=1 mrcal-show-projection-uncertainty.pod mrcal-show-projection-uncertainty.1 pod2man --center="mrcal: camera projection, calibration toolkit" --name=MRCAL --release="mrcal 2.4.1-4" --section=1 mrcal-show-projection-diff.pod mrcal-show-projection-diff.1 pod2man --center="mrcal: camera projection, calibration toolkit" --name=MRCAL --release="mrcal 2.4.1-4" --section=1 mrcal-reproject-points.pod mrcal-reproject-points.1 +/build/reproducible-path/mrcal-2.4.1/./mrcal-cull-corners:190: SyntaxWarning: invalid escape sequence '\s' + if re.match('\s*(?:##|$)',l): +/build/reproducible-path/mrcal-2.4.1/./mrcal-cull-corners:202: SyntaxWarning: invalid escape sequence '\s' + if re.match('\s*(?:#|$)',l): pod2man --center="mrcal: camera projection, calibration toolkit" --name=MRCAL --release="mrcal 2.4.1-4" --section=1 mrcal-reproject-image.pod mrcal-reproject-image.1 pod2man --center="mrcal: camera projection, calibration toolkit" --name=MRCAL --release="mrcal 2.4.1-4" --section=1 mrcal-graft-models.pod mrcal-graft-models.1 pod2man --center="mrcal: camera projection, calibration toolkit" --name=MRCAL --release="mrcal 2.4.1-4" --section=1 mrcal-to-cahvor.pod mrcal-to-cahvor.1 @@ -4797,6 +2899,7 @@ pod2man --center="mrcal: camera projection, calibration toolkit" --name=MRCAL --release="mrcal 2.4.1-4" --section=1 mrcal-show-residuals-board-observation.pod mrcal-show-residuals-board-observation.1 pod2man --center="mrcal: camera projection, calibration toolkit" --name=MRCAL --release="mrcal 2.4.1-4" --section=1 mrcal-show-residuals.pod mrcal-show-residuals.1 pod2man --center="mrcal: camera projection, calibration toolkit" --name=MRCAL --release="mrcal 2.4.1-4" --section=1 mrcal-stereo.pod mrcal-stereo.1 +pod2man --center="mrcal: camera projection, calibration toolkit" --name=MRCAL --release="mrcal 2.4.1-4" --section=1 mrcal-convert-lensmodel.pod mrcal-convert-lensmodel.1 mkdir -p /build/reproducible-path/mrcal-2.4.1/debian/tmp/usr/lib/aarch64-linux-gnu cp -P libmrcal.so.4.0 /build/reproducible-path/mrcal-2.4.1/debian/tmp/usr/lib/aarch64-linux-gnu ln -fs libmrcal.so.4.0 /build/reproducible-path/mrcal-2.4.1/debian/tmp/usr/lib/aarch64-linux-gnu/libmrcal.so.4 @@ -4853,8 +2956,8 @@ dpkg-deb: building package 'libmrcal4' in '../libmrcal4_2.4.1-4_arm64.deb'. dpkg-deb: building package 'libmrcal4-dbgsym' in '../libmrcal4-dbgsym_2.4.1-4_arm64.deb'. dpkg-deb: building package 'mrcal' in '../mrcal_2.4.1-4_arm64.deb'. -dpkg-deb: building package 'libmrcal-dev' in '../libmrcal-dev_2.4.1-4_arm64.deb'. dpkg-deb: building package 'python3-mrcal-dbgsym' in '../python3-mrcal-dbgsym_2.4.1-4_arm64.deb'. +dpkg-deb: building package 'libmrcal-dev' in '../libmrcal-dev_2.4.1-4_arm64.deb'. dpkg-deb: building package 'python3-mrcal' in '../python3-mrcal_2.4.1-4_arm64.deb'. dpkg-genbuildinfo --build=binary -O../mrcal_2.4.1-4_arm64.buildinfo dpkg-genchanges --build=binary -O../mrcal_2.4.1-4_arm64.changes @@ -4863,12 +2966,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/1202500/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/1202500/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/2072664 and its subdirectories -I: Current time: Fri Nov 21 04:41:43 -12 2025 -I: pbuilder-time-stamp: 1763743303 +I: removing directory /srv/workspace/pbuilder/1202500 and its subdirectories +I: Current time: Fri Dec 25 13:06:30 +14 2026 +I: pbuilder-time-stamp: 1798153590