0s autopkgtest [14:49:58]: starting date and time: 2025-03-15 14:49:58+0000 0s autopkgtest [14:49:58]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [14:49:58]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.z_oxbvr5/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:glibc --apt-upgrade octave-image --timeout-short=300 --timeout-copy=20000 --timeout-test=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=glibc/2.41-1ubuntu2 -- lxd -r lxd-armhf-10.145.243.242 lxd-armhf-10.145.243.242:autopkgtest/ubuntu/plucky/armhf 20s autopkgtest [14:50:18]: testbed dpkg architecture: armhf 22s autopkgtest [14:50:20]: testbed apt version: 2.9.33 26s autopkgtest [14:50:24]: @@@@@@@@@@@@@@@@@@@@ test bed setup 28s autopkgtest [14:50:26]: testbed release detected to be: None 36s autopkgtest [14:50:34]: updating testbed package index (apt update) 38s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [126 kB] 38s Get:2 http://ftpmaster.internal/ubuntu plucky InRelease [257 kB] 38s Get:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease [126 kB] 39s Get:4 http://ftpmaster.internal/ubuntu plucky-security InRelease [126 kB] 39s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [101 kB] 39s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.8 kB] 39s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [404 kB] 39s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf Packages [81.0 kB] 40s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf c-n-f Metadata [1944 B] 40s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted armhf c-n-f Metadata [116 B] 40s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf Packages [326 kB] 40s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe armhf c-n-f Metadata [12.1 kB] 40s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf Packages [3472 B] 40s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse armhf c-n-f Metadata [332 B] 40s Get:15 http://ftpmaster.internal/ubuntu plucky/main Sources [1400 kB] 42s Get:16 http://ftpmaster.internal/ubuntu plucky/multiverse Sources [299 kB] 42s Get:17 http://ftpmaster.internal/ubuntu plucky/universe Sources [21.0 MB] 66s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf Packages [1378 kB] 68s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf c-n-f Metadata [29.4 kB] 68s Get:20 http://ftpmaster.internal/ubuntu plucky/restricted armhf c-n-f Metadata [108 B] 68s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf Packages [15.1 MB] 85s Get:22 http://ftpmaster.internal/ubuntu plucky/multiverse armhf Packages [172 kB] 86s Fetched 41.0 MB in 48s (846 kB/s) 87s Reading package lists... 93s autopkgtest [14:51:31]: upgrading testbed (apt dist-upgrade and autopurge) 95s Reading package lists... 95s Building dependency tree... 95s Reading state information... 96s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 96s Starting 2 pkgProblemResolver with broken count: 0 96s Done 96s Entering ResolveByKeep 97s 97s Calculating upgrade... 97s The following packages will be upgraded: 97s libc-bin libc6 locales python3-jinja2 sos strace 98s 6 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 98s Need to get 8642 kB of archives. 98s After this operation, 23.6 kB of additional disk space will be used. 98s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf libc6 armhf 2.41-1ubuntu2 [2932 kB] 101s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf libc-bin armhf 2.41-1ubuntu2 [545 kB] 101s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf locales all 2.41-1ubuntu2 [4246 kB] 106s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf strace armhf 6.13+ds-1ubuntu1 [445 kB] 107s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf python3-jinja2 all 3.1.5-2ubuntu1 [109 kB] 107s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf sos all 4.9.0-5 [365 kB] 108s Preconfiguring packages ... 108s Fetched 8642 kB in 10s (879 kB/s) 108s (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 ... 64655 files and directories currently installed.) 108s Preparing to unpack .../libc6_2.41-1ubuntu2_armhf.deb ... 108s Unpacking libc6:armhf (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 108s Setting up libc6:armhf (2.41-1ubuntu2) ... 108s (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 ... 64655 files and directories currently installed.) 108s Preparing to unpack .../libc-bin_2.41-1ubuntu2_armhf.deb ... 108s Unpacking libc-bin (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 109s Setting up libc-bin (2.41-1ubuntu2) ... 109s (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 ... 64655 files and directories currently installed.) 109s Preparing to unpack .../locales_2.41-1ubuntu2_all.deb ... 109s Unpacking locales (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 109s Preparing to unpack .../strace_6.13+ds-1ubuntu1_armhf.deb ... 109s Unpacking strace (6.13+ds-1ubuntu1) over (6.11-0ubuntu1) ... 109s Preparing to unpack .../python3-jinja2_3.1.5-2ubuntu1_all.deb ... 109s Unpacking python3-jinja2 (3.1.5-2ubuntu1) over (3.1.5-2) ... 109s Preparing to unpack .../archives/sos_4.9.0-5_all.deb ... 109s Unpacking sos (4.9.0-5) over (4.9.0-4) ... 110s Setting up sos (4.9.0-5) ... 110s Setting up locales (2.41-1ubuntu2) ... 111s Generating locales (this might take a while)... 113s en_US.UTF-8... done 113s Generation complete. 113s Setting up python3-jinja2 (3.1.5-2ubuntu1) ... 113s Setting up strace (6.13+ds-1ubuntu1) ... 113s Processing triggers for man-db (2.13.0-1) ... 114s Processing triggers for systemd (257.3-1ubuntu3) ... 116s Reading package lists... 117s Building dependency tree... 117s Reading state information... 117s Starting pkgProblemResolver with broken count: 0 117s Starting 2 pkgProblemResolver with broken count: 0 117s Done 117s Solving dependencies... 118s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 120s autopkgtest [14:51:58]: rebooting testbed after setup commands that affected boot 159s autopkgtest [14:52:37]: testbed running kernel: Linux 6.8.0-52-generic #53~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jan 15 18:10:51 UTC 2 184s autopkgtest [14:53:02]: @@@@@@@@@@@@@@@@@@@@ apt-source octave-image 194s Get:1 http://ftpmaster.internal/ubuntu plucky/universe octave-image 2.14.0-5build1 (dsc) [2123 B] 194s Get:2 http://ftpmaster.internal/ubuntu plucky/universe octave-image 2.14.0-5build1 (tar) [468 kB] 194s Get:3 http://ftpmaster.internal/ubuntu plucky/universe octave-image 2.14.0-5build1 (diff) [11.7 kB] 194s gpgv: Signature made Tue May 14 09:44:36 2024 UTC 194s gpgv: using RSA key 25E3FF2D7F469DBE7D0D4E50AFCFEC8E669CE1C2 194s gpgv: Can't check signature: No public key 194s dpkg-source: warning: cannot verify inline signature for ./octave-image_2.14.0-5build1.dsc: no acceptable signature found 194s autopkgtest [14:53:12]: testing package octave-image version 2.14.0-5build1 197s autopkgtest [14:53:15]: build not needed 199s autopkgtest [14:53:17]: test command1: preparing testbed 201s Reading package lists... 201s Building dependency tree... 201s Reading state information... 202s Starting pkgProblemResolver with broken count: 0 202s Starting 2 pkgProblemResolver with broken count: 0 202s Done 203s The following NEW packages will be installed: 203s aglfn appstream autoconf automake autopoint autotools-dev cme comerr-dev cpp 203s cpp-14 cpp-14-arm-linux-gnueabihf cpp-arm-linux-gnueabihf debhelper 203s debugedit dh-autoreconf dh-octave dh-octave-autopkgtest 203s dh-strip-nondeterminism diffstat dwz fontconfig fontconfig-config 203s fonts-dejavu-core fonts-dejavu-mono fonts-freefont-otf g++ g++-14 203s g++-14-arm-linux-gnueabihf g++-arm-linux-gnueabihf gcc gcc-14 203s gcc-14-arm-linux-gnueabihf gcc-arm-linux-gnueabihf gettext gfortran 203s gfortran-14 gfortran-14-arm-linux-gnueabihf gfortran-arm-linux-gnueabihf 203s gnuplot-data gnuplot-nox hdf5-helpers intltool-debian krb5-multidev 203s libaec-dev libaec0 libalgorithm-c3-perl libaliased-perl libamd3 libaom3 203s libapp-cmd-perl libappstream5 libapt-pkg-perl libarchive-zip-perl 203s libarpack2t64 libarray-intspan-perl libasan8 libasound2-data libasound2t64 203s libavahi-client3 libavahi-common-data libavahi-common3 203s libb-hooks-endofscope-perl libb-hooks-op-check-perl libb2-1 203s libberkeleydb-perl libblas-dev libblas3 libboolean-perl libbrotli-dev 203s libc-dev-bin libc6-dev libcairo2 libcamd3 libcapture-tiny-perl 203s libcarp-assert-more-perl libcc1-0 libccolamd3 libcgi-pm-perl libcholmod5 203s libclass-c3-perl libclass-data-inheritable-perl libclass-inspector-perl 203s libclass-load-perl libclass-method-modifiers-perl libclass-xsaccessor-perl 203s libclone-choose-perl libclone-perl libcolamd3 203s libconfig-model-backend-yaml-perl libconfig-model-dpkg-perl 203s libconfig-model-perl libconfig-tiny-perl libconst-fast-perl 203s libconvert-binhex-perl libcpanel-json-xs-perl libcrypt-dev libcups2t64 203s libcurl4-openssl-dev libcxsparse4 libdata-dpath-perl 203s libdata-messagepack-perl libdata-optlist-perl libdata-section-perl 203s libdata-validate-domain-perl libdata-validate-ip-perl 203s libdata-validate-uri-perl libdatrie1 libde265-0 libdebhelper-perl 203s libdeflate0 libdevel-callchecker-perl libdevel-size-perl 203s libdevel-stacktrace-perl libdouble-conversion3 libduktape207 libdw1t64 203s libdynaloader-functions-perl libegl-mesa0 libegl1 libemail-address-xs-perl 203s libencode-locale-perl liberror-perl libevent-2.1-7t64 203s libexception-class-perl libexporter-lite-perl libexporter-tiny-perl 203s libfftw3-bin libfftw3-dev libfftw3-double3 libfftw3-single3 203s libfile-basedir-perl libfile-find-rule-perl libfile-homedir-perl 203s libfile-listing-perl libfile-sharedir-perl libfile-stripnondeterminism-perl 203s libfile-which-perl libflac12t64 libfltk-gl1.3t64 libfltk1.3t64 203s libfont-ttf-perl libfontconfig1 libfontenc1 libfreetype6 libgbm1 203s libgcc-14-dev libgd3 libgetopt-long-descriptive-perl libgfortran-14-dev 203s libgfortran5 libgl-dev libgl1 libgl1-mesa-dri libgl2ps1.4 libglpk40 203s libglu1-mesa libglvnd0 libglx-dev libglx-mesa0 libglx0 libgmp-dev 203s libgmpxx4ldbl libgnutls-dane0t64 libgnutls-openssl27t64 libgnutls28-dev 203s libgomp1 libgraphicsmagick++-q16-12t64 libgraphicsmagick-q16-3t64 203s libgraphite2-3 libgssrpc4t64 libharfbuzz0b libhash-merge-perl libhdf5-310 203s libhdf5-cpp-310 libhdf5-dev libhdf5-fortran-310 libhdf5-hl-310 203s libhdf5-hl-cpp-310 libhdf5-hl-fortran-310 libheif-plugin-aomdec 203s libheif-plugin-libde265 libheif1 libhtml-form-perl 203s libhtml-html5-entities-perl libhtml-parser-perl libhtml-tagset-perl 203s libhtml-tokeparser-simple-perl libhtml-tree-perl libhttp-cookies-perl 203s libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libice6 203s libidn2-dev libimagequant0 libimport-into-perl libindirect-perl libinput-bin 203s libinput10 libio-html-perl libio-interactive-perl libio-socket-ssl-perl 203s libio-string-perl libio-stringy-perl libio-tiecombine-perl libipc-run3-perl 203s libipc-system-simple-perl libisl23 libiterator-perl libiterator-util-perl 203s libjack-jackd2-0 libjbig0 libjpeg-dev libjpeg-turbo8 libjpeg-turbo8-dev 203s libjpeg8 libjpeg8-dev libjson-maybexs-perl libjson-perl libjxl0.11 203s libkadm5clnt-mit12 libkadm5srv-mit12 libkdb5-10t64 libkrb5-dev liblapack-dev 203s liblapack3 liblcms2-2 libldap-dev liblerc4 liblist-compare-perl 203s liblist-moreutils-perl liblist-moreutils-xs-perl liblist-someutils-perl 203s liblist-utilsby-perl libllvm19 liblog-any-adapter-screen-perl 203s liblog-any-perl liblog-log4perl-perl libltdl7 liblua5.4-0 203s liblwp-mediatypes-perl liblwp-protocol-https-perl libmailtools-perl 203s libmarkdown2 libmd4c0 libmime-tools-perl libmldbm-perl 203s libmodule-implementation-perl libmodule-pluggable-perl 203s libmodule-runtime-perl libmoo-perl libmoox-aliases-perl libmouse-perl 203s libmousex-nativetraits-perl libmousex-strictconstructor-perl libmp3lame0 203s libmpc3 libmpg123-0t64 libmro-compat-perl libmtdev1t64 203s libnamespace-clean-perl libncurses-dev libnet-domain-tld-perl 203s libnet-http-perl libnet-ipv6addr-perl libnet-netmask-perl 203s libnet-smtp-ssl-perl libnet-ssleay-perl libnetaddr-ip-perl libnghttp2-dev 203s libnumber-compare-perl libobject-pad-perl libogg0 libopengl0 libopus0 203s libp11-kit-dev libpackage-stash-perl libpango-1.0-0 libpangocairo-1.0-0 203s libpangoft2-1.0-0 libparams-classify-perl libparams-util-perl 203s libparams-validate-perl libparse-debcontrol-perl libparse-recdescent-perl 203s libpath-iterator-rule-perl libpath-tiny-perl libpcre2-16-0 203s libperlio-gzip-perl libperlio-utf8-strict-perl libpixman-1-0 libpkgconf3 203s libpod-constants-perl libpod-parser-perl libpod-pom-perl libportaudio2 203s libproc-processtable-perl libproxy1v5 libpsl-dev libqhull-r8.0 libqrupdate1 203s libqscintilla2-qt6-15 libqscintilla2-qt6-l10n libqt6core5compat6 203s libqt6core6t64 libqt6dbus6 libqt6gui6 libqt6help6 libqt6network6 203s libqt6opengl6 libqt6openglwidgets6 libqt6printsupport6 libqt6sql6 203s libqt6widgets6 libqt6xml6 libraqm0 libreadline-dev libregexp-common-perl 203s libregexp-pattern-license-perl libregexp-pattern-perl 203s libregexp-wildcards-perl librole-tiny-perl librtmp-dev libsamplerate0 203s libsereal-decoder-perl libsereal-encoder-perl libset-intspan-perl 203s libsharpyuv0 libsm6 libsndfile1 libsoftware-copyright-perl 203s libsoftware-license-perl libsoftware-licensemoreutils-perl 203s libsort-versions-perl libspqr4 libssh2-1-dev libssl-dev libstdc++-14-dev 203s libstemmer0d libstrictures-perl libstring-copyright-perl 203s libstring-escape-perl libstring-license-perl libstring-rewriteprefix-perl 203s libsub-exporter-perl libsub-exporter-progressive-perl libsub-identify-perl 203s libsub-install-perl libsub-name-perl libsub-quote-perl libsub-uplevel-perl 203s libsuitesparseconfig7 libsyntax-keyword-try-perl libsz2 libtasn1-6-dev 203s libterm-readkey-perl libtest-exception-perl libtext-autoformat-perl 203s libtext-glob-perl libtext-levenshtein-damerau-perl 203s libtext-levenshteinxs-perl libtext-markdown-discount-perl 203s libtext-reform-perl libtext-template-perl libtext-unidecode-perl 203s libtext-xslate-perl libthai-data libthai0 libtiff6 libtime-duration-perl 203s libtime-moment-perl libtimedate-perl libtoml-tiny-perl libtool 203s libtry-tiny-perl libts0t64 libubsan1 libumfpack6 libunbound8 203s libunicode-utf8-perl liburi-perl libvariable-magic-perl libvorbis0a 203s libvorbisenc2 libvulkan1 libwacom-common libwacom9 libwayland-client0 203s libwayland-server0 libwebp7 libwebpmux3 libwmflite-0.2-7 203s libwww-mechanize-perl libwww-perl libwww-robotrules-perl libx11-dev 203s libx11-xcb1 libxau-dev libxaw7 libxcb-cursor0 libxcb-dri3-0 libxcb-glx0 203s libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-present0 libxcb-randr0 203s libxcb-render-util0 libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb-sync1 203s libxcb-util1 libxcb-xfixes0 libxcb-xinput0 libxcb-xkb1 libxcb1-dev 203s libxcursor1 libxdmcp-dev libxfixes3 libxfont2 libxft2 libxinerama1 203s libxkbcommon-x11-0 libxkbfile1 libxml-libxml-perl 203s libxml-namespacesupport-perl libxml-sax-base-perl libxml-sax-perl libxmu6 203s libxpm4 libxrandr2 libxrender1 libxs-parse-keyword-perl 203s libxs-parse-sublike-perl libxshmfence1 libxt6t64 libxxf86vm1 203s libyaml-libyaml-perl libyaml-pp-perl libyaml-tiny-perl libzstd-dev 203s licensecheck lintian linux-libc-dev lzip lzop m4 mesa-libgallium nettle-dev 203s octave octave-common octave-dev octave-image patchutils 203s perl-openssl-defaults pkgconf pkgconf-bin po-debconf rpcsvc-proto t1utils 203s tex-common texinfo texinfo-lib unzip x11-common x11-xkb-utils x11proto-dev 203s xorg-sgml-doctools xserver-common xtrans-dev xvfb zlib1g-dev 203s 0 upgraded, 473 newly installed, 0 to remove and 0 not upgraded. 203s Need to get 189 MB of archives. 203s After this operation, 595 MB of additional disk space will be used. 203s Get:1 http://ftpmaster.internal/ubuntu plucky/main armhf libstemmer0d armhf 2.2.0-4build1 [130 kB] 204s Get:2 http://ftpmaster.internal/ubuntu plucky/main armhf libappstream5 armhf 1.0.4-1 [211 kB] 204s Get:3 http://ftpmaster.internal/ubuntu plucky/main armhf appstream armhf 1.0.4-1 [67.3 kB] 204s Get:4 http://ftpmaster.internal/ubuntu plucky/main armhf m4 armhf 1.4.19-7 [238 kB] 204s Get:5 http://ftpmaster.internal/ubuntu plucky/main armhf autoconf all 2.72-3ubuntu1 [383 kB] 205s Get:6 http://ftpmaster.internal/ubuntu plucky/main armhf autotools-dev all 20220109.1 [44.9 kB] 205s Get:7 http://ftpmaster.internal/ubuntu plucky/main armhf automake all 1:1.17-3ubuntu1 [572 kB] 205s Get:8 http://ftpmaster.internal/ubuntu plucky/main armhf autopoint all 0.23.1-1 [619 kB] 206s Get:9 http://ftpmaster.internal/ubuntu plucky/main armhf libcapture-tiny-perl all 0.50-1 [20.7 kB] 206s Get:10 http://ftpmaster.internal/ubuntu plucky/main armhf libparams-util-perl armhf 1.102-3build1 [20.5 kB] 206s Get:11 http://ftpmaster.internal/ubuntu plucky/main armhf libsub-install-perl all 0.929-1 [9764 B] 206s Get:12 http://ftpmaster.internal/ubuntu plucky/main armhf libdata-optlist-perl all 0.114-1 [9708 B] 206s Get:13 http://ftpmaster.internal/ubuntu plucky/main armhf libb-hooks-op-check-perl armhf 0.22-3build2 [9174 B] 206s Get:14 http://ftpmaster.internal/ubuntu plucky/main armhf libdynaloader-functions-perl all 0.004-1 [11.4 kB] 206s Get:15 http://ftpmaster.internal/ubuntu plucky/main armhf libdevel-callchecker-perl armhf 0.009-1build1 [14.0 kB] 206s Get:16 http://ftpmaster.internal/ubuntu plucky/main armhf libparams-classify-perl armhf 0.015-2build6 [18.8 kB] 206s Get:17 http://ftpmaster.internal/ubuntu plucky/main armhf libmodule-runtime-perl all 0.016-2 [16.4 kB] 206s Get:18 http://ftpmaster.internal/ubuntu plucky/main armhf libtry-tiny-perl all 0.32-1 [21.2 kB] 206s Get:19 http://ftpmaster.internal/ubuntu plucky/main armhf libmodule-implementation-perl all 0.09-2 [12.0 kB] 206s Get:20 http://ftpmaster.internal/ubuntu plucky/main armhf libpackage-stash-perl all 0.40-1 [19.5 kB] 206s Get:21 http://ftpmaster.internal/ubuntu plucky/universe armhf libclass-load-perl all 0.25-2 [12.7 kB] 206s Get:22 http://ftpmaster.internal/ubuntu plucky/main armhf libio-stringy-perl all 2.113-2 [45.3 kB] 206s Get:23 http://ftpmaster.internal/ubuntu plucky/universe armhf libparams-validate-perl armhf 1.31-2build4 [52.9 kB] 206s Get:24 http://ftpmaster.internal/ubuntu plucky/main armhf libsub-exporter-perl all 0.990-1 [49.0 kB] 206s Get:25 http://ftpmaster.internal/ubuntu plucky/universe armhf libgetopt-long-descriptive-perl all 0.116-2 [25.0 kB] 206s Get:26 http://ftpmaster.internal/ubuntu plucky/universe armhf libio-tiecombine-perl all 1.005-3 [9464 B] 206s Get:27 http://ftpmaster.internal/ubuntu plucky/universe armhf libmodule-pluggable-perl all 5.2-5 [19.5 kB] 207s Get:28 http://ftpmaster.internal/ubuntu plucky/universe armhf libstring-rewriteprefix-perl all 0.009-1 [6310 B] 207s Get:29 http://ftpmaster.internal/ubuntu plucky/universe armhf libapp-cmd-perl all 0.337-2 [58.3 kB] 207s Get:30 http://ftpmaster.internal/ubuntu plucky/universe armhf libboolean-perl all 0.46-3 [8430 B] 207s Get:31 http://ftpmaster.internal/ubuntu plucky/universe armhf libsub-uplevel-perl all 0.2800-3 [11.6 kB] 207s Get:32 http://ftpmaster.internal/ubuntu plucky/universe armhf libtest-exception-perl all 0.43-3 [13.4 kB] 207s Get:33 http://ftpmaster.internal/ubuntu plucky/universe armhf libcarp-assert-more-perl all 2.8.0-1 [19.2 kB] 207s Get:34 http://ftpmaster.internal/ubuntu plucky/main armhf libfile-which-perl all 1.27-2 [12.5 kB] 207s Get:35 http://ftpmaster.internal/ubuntu plucky/main armhf libfile-homedir-perl all 1.006-2 [37.0 kB] 207s Get:36 http://ftpmaster.internal/ubuntu plucky/universe armhf libclone-choose-perl all 0.010-2 [7738 B] 207s Get:37 http://ftpmaster.internal/ubuntu plucky/universe armhf libhash-merge-perl all 0.302-1 [13.0 kB] 207s Get:38 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-perl all 4.10000-1 [81.9 kB] 207s Get:39 http://ftpmaster.internal/ubuntu plucky/main armhf libexporter-tiny-perl all 1.006002-1 [36.8 kB] 207s Get:40 http://ftpmaster.internal/ubuntu plucky/universe armhf liblist-moreutils-xs-perl armhf 0.430-4build1 [37.9 kB] 207s Get:41 http://ftpmaster.internal/ubuntu plucky/universe armhf liblist-moreutils-perl all 0.430-2 [38.2 kB] 207s Get:42 http://ftpmaster.internal/ubuntu plucky/universe armhf liblog-log4perl-perl all 1.57-1 [345 kB] 207s Get:43 http://ftpmaster.internal/ubuntu plucky/main armhf libmouse-perl armhf 2.5.11-1build1 [130 kB] 207s Get:44 http://ftpmaster.internal/ubuntu plucky/universe armhf libmousex-nativetraits-perl all 1.09-3 [53.2 kB] 208s Get:45 http://ftpmaster.internal/ubuntu plucky/universe armhf libmousex-strictconstructor-perl all 0.02-3 [4582 B] 208s Get:46 http://ftpmaster.internal/ubuntu plucky/universe armhf libparse-recdescent-perl all 1.967015+dfsg-4 [139 kB] 208s Get:47 http://ftpmaster.internal/ubuntu plucky/main armhf libpath-tiny-perl all 0.146-1 [47.5 kB] 208s Get:48 http://ftpmaster.internal/ubuntu plucky/universe armhf libpod-pom-perl all 2.01-4 [61.3 kB] 208s Get:49 http://ftpmaster.internal/ubuntu plucky/main armhf libregexp-common-perl all 2024080801-1 [162 kB] 208s Get:50 http://ftpmaster.internal/ubuntu plucky/main armhf libyaml-tiny-perl all 1.76-1 [24.2 kB] 208s Get:51 http://ftpmaster.internal/ubuntu plucky/universe armhf libconfig-model-perl all 2.155-1 [356 kB] 208s Get:52 http://ftpmaster.internal/ubuntu plucky/universe armhf libyaml-pp-perl all 0.39.0-1 [107 kB] 209s Get:53 http://ftpmaster.internal/ubuntu plucky/universe armhf cme all 1.041-1 [65.4 kB] 209s Get:54 http://ftpmaster.internal/ubuntu plucky/main armhf libisl23 armhf 0.27-1 [546 kB] 209s Get:55 http://ftpmaster.internal/ubuntu plucky/main armhf libmpc3 armhf 1.3.1-1build2 [47.1 kB] 209s Get:56 http://ftpmaster.internal/ubuntu plucky/main armhf cpp-14-arm-linux-gnueabihf armhf 14.2.0-17ubuntu3 [9220 kB] 220s Get:57 http://ftpmaster.internal/ubuntu plucky/main armhf cpp-14 armhf 14.2.0-17ubuntu3 [1030 B] 220s Get:58 http://ftpmaster.internal/ubuntu plucky/main armhf cpp-arm-linux-gnueabihf armhf 4:14.2.0-1ubuntu1 [5578 B] 220s Get:59 http://ftpmaster.internal/ubuntu plucky/main armhf cpp armhf 4:14.2.0-1ubuntu1 [22.4 kB] 220s Get:60 http://ftpmaster.internal/ubuntu plucky/main armhf libdebhelper-perl all 13.24.1ubuntu2 [95.4 kB] 220s Get:61 http://ftpmaster.internal/ubuntu plucky/main armhf libcc1-0 armhf 15-20250222-0ubuntu1 [38.9 kB] 220s Get:62 http://ftpmaster.internal/ubuntu plucky/main armhf libgomp1 armhf 15-20250222-0ubuntu1 [128 kB] 220s Get:63 http://ftpmaster.internal/ubuntu plucky/main armhf libasan8 armhf 15-20250222-0ubuntu1 [2955 kB] 223s Get:64 http://ftpmaster.internal/ubuntu plucky/main armhf libubsan1 armhf 15-20250222-0ubuntu1 [1191 kB] 224s Get:65 http://ftpmaster.internal/ubuntu plucky/main armhf libgcc-14-dev armhf 14.2.0-17ubuntu3 [897 kB] 226s Get:66 http://ftpmaster.internal/ubuntu plucky/main armhf gcc-14-arm-linux-gnueabihf armhf 14.2.0-17ubuntu3 [18.0 MB] 246s Get:67 http://ftpmaster.internal/ubuntu plucky/main armhf gcc-14 armhf 14.2.0-17ubuntu3 [506 kB] 246s Get:68 http://ftpmaster.internal/ubuntu plucky/main armhf gcc-arm-linux-gnueabihf armhf 4:14.2.0-1ubuntu1 [1218 B] 246s Get:69 http://ftpmaster.internal/ubuntu plucky/main armhf gcc armhf 4:14.2.0-1ubuntu1 [5004 B] 246s Get:70 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf libc-dev-bin armhf 2.41-1ubuntu2 [23.0 kB] 246s Get:71 http://ftpmaster.internal/ubuntu plucky/main armhf linux-libc-dev armhf 6.14.0-10.10 [1683 kB] 249s Get:72 http://ftpmaster.internal/ubuntu plucky/main armhf libcrypt-dev armhf 1:4.4.38-1 [120 kB] 249s Get:73 http://ftpmaster.internal/ubuntu plucky/main armhf rpcsvc-proto armhf 1.4.2-0ubuntu7 [62.2 kB] 249s Get:74 http://ftpmaster.internal/ubuntu plucky-proposed/main armhf libc6-dev armhf 2.41-1ubuntu2 [1396 kB] 250s Get:75 http://ftpmaster.internal/ubuntu plucky/main armhf libtool all 2.5.4-4 [168 kB] 250s Get:76 http://ftpmaster.internal/ubuntu plucky/main armhf dh-autoreconf all 20 [16.1 kB] 250s Get:77 http://ftpmaster.internal/ubuntu plucky/main armhf libarchive-zip-perl all 1.68-1 [90.2 kB] 250s Get:78 http://ftpmaster.internal/ubuntu plucky/main armhf libfile-stripnondeterminism-perl all 1.14.1-2 [20.3 kB] 250s Get:79 http://ftpmaster.internal/ubuntu plucky/main armhf dh-strip-nondeterminism all 1.14.1-2 [5064 B] 250s Get:80 http://ftpmaster.internal/ubuntu plucky/main armhf libdw1t64 armhf 0.192-4 [243 kB] 250s Get:81 http://ftpmaster.internal/ubuntu plucky/main armhf debugedit armhf 1:5.1-2 [46.7 kB] 250s Get:82 http://ftpmaster.internal/ubuntu plucky/main armhf dwz armhf 0.15-1build6 [116 kB] 250s Get:83 http://ftpmaster.internal/ubuntu plucky/main armhf gettext armhf 0.23.1-1 [1053 kB] 251s Get:84 http://ftpmaster.internal/ubuntu plucky/main armhf intltool-debian all 0.35.0+20060710.6 [23.2 kB] 251s Get:85 http://ftpmaster.internal/ubuntu plucky/main armhf po-debconf all 1.0.21+nmu1 [233 kB] 252s Get:86 http://ftpmaster.internal/ubuntu plucky/main armhf debhelper all 13.24.1ubuntu2 [895 kB] 253s Get:87 http://ftpmaster.internal/ubuntu plucky/universe armhf aglfn all 1.7+git20191031.4036a9c-2 [30.6 kB] 253s Get:88 http://ftpmaster.internal/ubuntu plucky/universe armhf gnuplot-data all 6.0.2+dfsg1-1 [75.4 kB] 253s Get:89 http://ftpmaster.internal/ubuntu plucky/main armhf libfreetype6 armhf 2.13.3+dfsg-1 [330 kB] 253s Get:90 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-dejavu-mono all 2.37-8 [502 kB] 254s Get:91 http://ftpmaster.internal/ubuntu plucky/main armhf fonts-dejavu-core all 2.37-8 [835 kB] 255s Get:92 http://ftpmaster.internal/ubuntu plucky/universe armhf fonts-freefont-otf all 20211204+svn4273-2 [4596 kB] 260s Get:93 http://ftpmaster.internal/ubuntu plucky/main armhf fontconfig-config armhf 2.15.0-2ubuntu1 [37.5 kB] 260s Get:94 http://ftpmaster.internal/ubuntu plucky/main armhf libfontconfig1 armhf 2.15.0-2ubuntu1 [114 kB] 260s Get:95 http://ftpmaster.internal/ubuntu plucky/main armhf libpixman-1-0 armhf 0.44.0-3 [183 kB] 260s Get:96 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-render0 armhf 1.17.0-2 [15.3 kB] 260s Get:97 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-shm0 armhf 1.17.0-2 [5774 B] 260s Get:98 http://ftpmaster.internal/ubuntu plucky/main armhf libxrender1 armhf 1:0.9.10-1.1build1 [16.0 kB] 260s Get:99 http://ftpmaster.internal/ubuntu plucky/main armhf libcairo2 armhf 1.18.2-2 [484 kB] 261s Get:100 http://ftpmaster.internal/ubuntu plucky/main armhf libsharpyuv0 armhf 1.5.0-0.1 [16.4 kB] 261s Get:101 http://ftpmaster.internal/ubuntu plucky/main armhf libaom3 armhf 3.12.0-1 [1235 kB] 262s Get:102 http://ftpmaster.internal/ubuntu plucky/main armhf libheif-plugin-aomdec armhf 1.19.7-1 [10.9 kB] 262s Get:103 http://ftpmaster.internal/ubuntu plucky/main armhf libde265-0 armhf 1.0.15-1build5 [157 kB] 263s Get:104 http://ftpmaster.internal/ubuntu plucky/main armhf libheif-plugin-libde265 armhf 1.19.7-1 [11.7 kB] 263s Get:105 http://ftpmaster.internal/ubuntu plucky/main armhf libheif1 armhf 1.19.7-1 [479 kB] 263s Get:106 http://ftpmaster.internal/ubuntu plucky/main armhf libimagequant0 armhf 2.18.0-1build1 [31.1 kB] 263s Get:107 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg-turbo8 armhf 2.1.5-3ubuntu2 [127 kB] 263s Get:108 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg8 armhf 8c-2ubuntu11 [2148 B] 263s Get:109 http://ftpmaster.internal/ubuntu plucky/main armhf libgraphite2-3 armhf 1.3.14-2ubuntu1 [64.8 kB] 263s Get:110 http://ftpmaster.internal/ubuntu plucky/main armhf libharfbuzz0b armhf 10.2.0-1 [464 kB] 264s Get:111 http://ftpmaster.internal/ubuntu plucky/main armhf libraqm0 armhf 0.10.2-1 [12.4 kB] 264s Get:112 http://ftpmaster.internal/ubuntu plucky/main armhf libdeflate0 armhf 1.23-1 [38.5 kB] 264s Get:113 http://ftpmaster.internal/ubuntu plucky/main armhf libjbig0 armhf 2.1-6.1ubuntu2 [24.9 kB] 264s Get:114 http://ftpmaster.internal/ubuntu plucky/main armhf liblerc4 armhf 4.0.0+ds-5ubuntu1 [160 kB] 264s Get:115 http://ftpmaster.internal/ubuntu plucky/main armhf libwebp7 armhf 1.5.0-0.1 [188 kB] 264s Get:116 http://ftpmaster.internal/ubuntu plucky/main armhf libtiff6 armhf 4.5.1+git230720-4ubuntu4 [179 kB] 265s Get:117 http://ftpmaster.internal/ubuntu plucky/main armhf libxpm4 armhf 1:3.5.17-1build2 [30.1 kB] 265s Get:118 http://ftpmaster.internal/ubuntu plucky/main armhf libgd3 armhf 2.3.3-12ubuntu3 [108 kB] 265s Get:119 http://ftpmaster.internal/ubuntu plucky/main armhf liblua5.4-0 armhf 5.4.7-1 [134 kB] 265s Get:120 http://ftpmaster.internal/ubuntu plucky/main armhf fontconfig armhf 2.15.0-2ubuntu1 [190 kB] 265s Get:121 http://ftpmaster.internal/ubuntu plucky/main armhf libthai-data all 0.1.29-2build1 [158 kB] 265s Get:122 http://ftpmaster.internal/ubuntu plucky/main armhf libdatrie1 armhf 0.2.13-3build1 [15.7 kB] 265s Get:123 http://ftpmaster.internal/ubuntu plucky/main armhf libthai0 armhf 0.1.29-2build1 [15.2 kB] 265s Get:124 http://ftpmaster.internal/ubuntu plucky/main armhf libpango-1.0-0 armhf 1.56.2-1 [216 kB] 266s Get:125 http://ftpmaster.internal/ubuntu plucky/main armhf libpangoft2-1.0-0 armhf 1.56.2-1 [43.6 kB] 266s Get:126 http://ftpmaster.internal/ubuntu plucky/main armhf libpangocairo-1.0-0 armhf 1.56.2-1 [25.1 kB] 266s Get:127 http://ftpmaster.internal/ubuntu plucky/main armhf libwebpmux3 armhf 1.5.0-0.1 [22.4 kB] 266s Get:128 http://ftpmaster.internal/ubuntu plucky/universe armhf gnuplot-nox armhf 6.0.2+dfsg1-1 [909 kB] 267s Get:129 http://ftpmaster.internal/ubuntu plucky/universe armhf dh-octave-autopkgtest all 1.8.0 [10.1 kB] 267s Get:130 http://ftpmaster.internal/ubuntu plucky/main armhf libapt-pkg-perl armhf 0.1.41build1 [66.6 kB] 267s Get:131 http://ftpmaster.internal/ubuntu plucky/main armhf libarray-intspan-perl all 2.004-2 [25.0 kB] 267s Get:132 http://ftpmaster.internal/ubuntu plucky/main armhf libyaml-libyaml-perl armhf 0.903.0+ds-1 [29.3 kB] 267s Get:133 http://ftpmaster.internal/ubuntu plucky/universe armhf libconfig-model-backend-yaml-perl all 2.134-2 [10.5 kB] 267s Get:134 http://ftpmaster.internal/ubuntu plucky/universe armhf libexporter-lite-perl all 0.09-2 [9748 B] 267s Get:135 http://ftpmaster.internal/ubuntu plucky/main armhf libencode-locale-perl all 1.05-3 [11.6 kB] 267s Get:136 http://ftpmaster.internal/ubuntu plucky/main armhf libtimedate-perl all 2.3300-2 [34.0 kB] 267s Get:137 http://ftpmaster.internal/ubuntu plucky/main armhf libhttp-date-perl all 6.06-1 [10.2 kB] 267s Get:138 http://ftpmaster.internal/ubuntu plucky/main armhf libfile-listing-perl all 6.16-1 [11.3 kB] 267s Get:139 http://ftpmaster.internal/ubuntu plucky/main armhf libhtml-tagset-perl all 3.24-1 [14.1 kB] 267s Get:140 http://ftpmaster.internal/ubuntu plucky/main armhf liburi-perl all 5.30-1 [94.4 kB] 267s Get:141 http://ftpmaster.internal/ubuntu plucky/main armhf libhtml-parser-perl armhf 3.83-1build1 [83.1 kB] 267s Get:142 http://ftpmaster.internal/ubuntu plucky/main armhf libhtml-tree-perl all 5.07-3 [200 kB] 267s Get:143 http://ftpmaster.internal/ubuntu plucky/main armhf libclone-perl armhf 0.47-1 [10.0 kB] 267s Get:144 http://ftpmaster.internal/ubuntu plucky/main armhf libio-html-perl all 1.004-3 [15.9 kB] 267s Get:145 http://ftpmaster.internal/ubuntu plucky/main armhf liblwp-mediatypes-perl all 6.04-2 [20.1 kB] 267s Get:146 http://ftpmaster.internal/ubuntu plucky/main armhf libhttp-message-perl all 7.00-2ubuntu1 [75.9 kB] 268s Get:147 http://ftpmaster.internal/ubuntu plucky/main armhf libhttp-cookies-perl all 6.11-1 [18.2 kB] 268s Get:148 http://ftpmaster.internal/ubuntu plucky/main armhf libhttp-negotiate-perl all 6.01-2 [12.4 kB] 268s Get:149 http://ftpmaster.internal/ubuntu plucky/main armhf perl-openssl-defaults armhf 7build3 [6628 B] 268s Get:150 http://ftpmaster.internal/ubuntu plucky/main armhf libnet-ssleay-perl armhf 1.94-3 [298 kB] 268s Get:151 http://ftpmaster.internal/ubuntu plucky/main armhf libio-socket-ssl-perl all 2.089-1 [200 kB] 268s Get:152 http://ftpmaster.internal/ubuntu plucky/main armhf libnet-http-perl all 6.23-1 [22.3 kB] 268s Get:153 http://ftpmaster.internal/ubuntu plucky/main armhf liblwp-protocol-https-perl all 6.14-1 [9040 B] 268s Get:154 http://ftpmaster.internal/ubuntu plucky/main armhf libwww-robotrules-perl all 6.02-1 [12.6 kB] 268s Get:155 http://ftpmaster.internal/ubuntu plucky/main armhf libwww-perl all 6.78-1 [139 kB] 268s Get:156 http://ftpmaster.internal/ubuntu plucky/main armhf liberror-perl all 0.17030-1 [23.5 kB] 268s Get:157 http://ftpmaster.internal/ubuntu plucky/universe armhf libparse-debcontrol-perl all 2.005-6 [20.4 kB] 268s Get:158 http://ftpmaster.internal/ubuntu plucky/universe armhf libsoftware-copyright-perl all 0.014-1 [14.5 kB] 268s Get:159 http://ftpmaster.internal/ubuntu plucky/universe armhf libalgorithm-c3-perl all 0.11-2 [10.2 kB] 268s Get:160 http://ftpmaster.internal/ubuntu plucky/universe armhf libclass-c3-perl all 0.35-2 [18.4 kB] 268s Get:161 http://ftpmaster.internal/ubuntu plucky/universe armhf libmro-compat-perl all 0.15-2 [10.1 kB] 268s Get:162 http://ftpmaster.internal/ubuntu plucky/universe armhf libdata-section-perl all 0.200008-1 [11.6 kB] 268s Get:163 http://ftpmaster.internal/ubuntu plucky/universe armhf libtext-template-perl all 1.61-1 [48.5 kB] 268s Get:164 http://ftpmaster.internal/ubuntu plucky/universe armhf libsoftware-license-perl all 0.104006-1 [117 kB] 268s Get:165 http://ftpmaster.internal/ubuntu plucky/universe armhf libsoftware-licensemoreutils-perl all 1.009-1 [21.5 kB] 269s Get:166 http://ftpmaster.internal/ubuntu plucky/main armhf libsort-versions-perl all 1.62-3 [7378 B] 269s Get:167 http://ftpmaster.internal/ubuntu plucky/universe armhf libtext-reform-perl all 1.20-5 [35.4 kB] 269s Get:168 http://ftpmaster.internal/ubuntu plucky/universe armhf libtext-autoformat-perl all 1.750000-2 [29.8 kB] 269s Get:169 http://ftpmaster.internal/ubuntu plucky/universe armhf libtext-levenshtein-damerau-perl all 0.41-3 [10.8 kB] 269s Get:170 http://ftpmaster.internal/ubuntu plucky/universe armhf libtoml-tiny-perl all 0.19-1 [21.6 kB] 269s Get:171 http://ftpmaster.internal/ubuntu plucky/main armhf libclass-inspector-perl all 1.36-3 [15.4 kB] 269s Get:172 http://ftpmaster.internal/ubuntu plucky/main armhf libfile-sharedir-perl all 1.118-3 [14.0 kB] 269s Get:173 http://ftpmaster.internal/ubuntu plucky/main armhf libindirect-perl armhf 0.39-2build5 [20.6 kB] 269s Get:174 http://ftpmaster.internal/ubuntu plucky/main armhf libxs-parse-keyword-perl armhf 0.48-2 [59.3 kB] 269s Get:175 http://ftpmaster.internal/ubuntu plucky/main armhf libxs-parse-sublike-perl armhf 0.37-1 [42.7 kB] 269s Get:176 http://ftpmaster.internal/ubuntu plucky/main armhf libobject-pad-perl armhf 0.820-1 [121 kB] 269s Get:177 http://ftpmaster.internal/ubuntu plucky/main armhf libsyntax-keyword-try-perl armhf 0.30-1 [24.0 kB] 269s Get:178 http://ftpmaster.internal/ubuntu plucky/main armhf libio-interactive-perl all 1.026-1 [10.8 kB] 269s Get:179 http://ftpmaster.internal/ubuntu plucky/main armhf liblog-any-perl all 1.717-1 [73.2 kB] 269s Get:180 http://ftpmaster.internal/ubuntu plucky/main armhf liblog-any-adapter-screen-perl all 0.141-1 [12.9 kB] 269s Get:181 http://ftpmaster.internal/ubuntu plucky/main armhf libsub-exporter-progressive-perl all 0.001013-3 [6718 B] 269s Get:182 http://ftpmaster.internal/ubuntu plucky/main armhf libvariable-magic-perl armhf 0.64-1build1 [33.4 kB] 269s Get:183 http://ftpmaster.internal/ubuntu plucky/main armhf libb-hooks-endofscope-perl all 0.28-1 [15.8 kB] 269s Get:184 http://ftpmaster.internal/ubuntu plucky/main armhf libsub-identify-perl armhf 0.14-3build4 [9396 B] 269s Get:185 http://ftpmaster.internal/ubuntu plucky/main armhf libsub-name-perl armhf 0.28-1 [10.0 kB] 269s Get:186 http://ftpmaster.internal/ubuntu plucky/main armhf libnamespace-clean-perl all 0.27-2 [14.0 kB] 269s Get:187 http://ftpmaster.internal/ubuntu plucky/main armhf libnumber-compare-perl all 0.03-3 [5974 B] 269s Get:188 http://ftpmaster.internal/ubuntu plucky/main armhf libtext-glob-perl all 0.11-3 [6780 B] 269s Get:189 http://ftpmaster.internal/ubuntu plucky/main armhf libpath-iterator-rule-perl all 1.015-2 [39.9 kB] 269s Get:190 http://ftpmaster.internal/ubuntu plucky/main armhf libpod-parser-perl all 1.67-1 [80.6 kB] 269s Get:191 http://ftpmaster.internal/ubuntu plucky/main armhf libpod-constants-perl all 0.19-2 [16.3 kB] 269s Get:192 http://ftpmaster.internal/ubuntu plucky/main armhf libset-intspan-perl all 1.19-3 [24.8 kB] 269s Get:193 http://ftpmaster.internal/ubuntu plucky/main armhf libstring-copyright-perl all 0.003014-1 [20.5 kB] 269s Get:194 http://ftpmaster.internal/ubuntu plucky/main armhf libstring-escape-perl all 2010.002-3 [16.1 kB] 269s Get:195 http://ftpmaster.internal/ubuntu plucky/main armhf libregexp-pattern-license-perl all 3.11.2-1 [85.3 kB] 269s Get:196 http://ftpmaster.internal/ubuntu plucky/main armhf libregexp-pattern-perl all 0.2.14-2 [17.6 kB] 269s Get:197 http://ftpmaster.internal/ubuntu plucky/main armhf libstring-license-perl all 0.0.11-1ubuntu1 [34.3 kB] 269s Get:198 http://ftpmaster.internal/ubuntu plucky/main armhf licensecheck all 3.3.9-1ubuntu1 [37.7 kB] 269s Get:199 http://ftpmaster.internal/ubuntu plucky/main armhf diffstat armhf 1.67-1 [28.9 kB] 270s Get:200 http://ftpmaster.internal/ubuntu plucky/main armhf libberkeleydb-perl armhf 0.66-1 [109 kB] 270s Get:201 http://ftpmaster.internal/ubuntu plucky/main armhf libclass-xsaccessor-perl armhf 1.19-4build6 [32.4 kB] 270s Get:202 http://ftpmaster.internal/ubuntu plucky/main armhf libconfig-tiny-perl all 2.30-1 [14.7 kB] 270s Get:203 http://ftpmaster.internal/ubuntu plucky/main armhf libconst-fast-perl all 0.014-2 [8034 B] 270s Get:204 http://ftpmaster.internal/ubuntu plucky/main armhf libcpanel-json-xs-perl armhf 4.39-1 [113 kB] 270s Get:205 http://ftpmaster.internal/ubuntu plucky/main armhf libaliased-perl all 0.34-3 [12.8 kB] 270s Get:206 http://ftpmaster.internal/ubuntu plucky/main armhf libclass-data-inheritable-perl all 0.10-1 [8038 B] 270s Get:207 http://ftpmaster.internal/ubuntu plucky/main armhf libdevel-stacktrace-perl all 2.0500-1 [22.1 kB] 270s Get:208 http://ftpmaster.internal/ubuntu plucky/main armhf libexception-class-perl all 1.45-1 [28.6 kB] 270s Get:209 http://ftpmaster.internal/ubuntu plucky/main armhf libiterator-perl all 0.03+ds1-2 [18.8 kB] 270s Get:210 http://ftpmaster.internal/ubuntu plucky/main armhf libiterator-util-perl all 0.02+ds1-2 [14.1 kB] 270s Get:211 http://ftpmaster.internal/ubuntu plucky/main armhf libdata-dpath-perl all 0.60-1 [37.3 kB] 270s Get:212 http://ftpmaster.internal/ubuntu plucky/main armhf libnet-domain-tld-perl all 1.75-4 [29.0 kB] 270s Get:213 http://ftpmaster.internal/ubuntu plucky/main armhf libdata-validate-domain-perl all 0.15-1 [10.4 kB] 271s Get:214 http://ftpmaster.internal/ubuntu plucky/main armhf libnet-ipv6addr-perl all 1.02-1 [21.0 kB] 271s Get:215 http://ftpmaster.internal/ubuntu plucky/main armhf libnet-netmask-perl all 2.0002-2 [24.8 kB] 271s Get:216 http://ftpmaster.internal/ubuntu plucky/main armhf libnetaddr-ip-perl armhf 4.079+dfsg-2build5 [79.0 kB] 271s Get:217 http://ftpmaster.internal/ubuntu plucky/main armhf libdata-validate-ip-perl all 0.31-1 [17.2 kB] 271s Get:218 http://ftpmaster.internal/ubuntu plucky/main armhf libdata-validate-uri-perl all 0.07-3 [10.8 kB] 271s Get:219 http://ftpmaster.internal/ubuntu plucky/main armhf libdevel-size-perl armhf 0.84-1build1 [18.8 kB] 271s Get:220 http://ftpmaster.internal/ubuntu plucky/main armhf libemail-address-xs-perl armhf 1.05-1build5 [26.5 kB] 271s Get:221 http://ftpmaster.internal/ubuntu plucky/main armhf libipc-system-simple-perl all 1.30-2 [22.3 kB] 271s Get:222 http://ftpmaster.internal/ubuntu plucky/main armhf libfile-basedir-perl all 0.09-2 [14.4 kB] 271s Get:223 http://ftpmaster.internal/ubuntu plucky/main armhf libfile-find-rule-perl all 0.34-3 [24.4 kB] 271s Get:224 http://ftpmaster.internal/ubuntu plucky/main armhf libio-string-perl all 1.08-4 [11.1 kB] 271s Get:225 http://ftpmaster.internal/ubuntu plucky/main armhf libfont-ttf-perl all 1.06-2 [323 kB] 272s Get:226 http://ftpmaster.internal/ubuntu plucky/main armhf libhtml-html5-entities-perl all 0.004-3 [21.6 kB] 272s Get:227 http://ftpmaster.internal/ubuntu plucky/main armhf libhtml-tokeparser-simple-perl all 3.16-4 [38.0 kB] 272s Get:228 http://ftpmaster.internal/ubuntu plucky/main armhf libipc-run3-perl all 0.049-1 [28.8 kB] 272s Get:229 http://ftpmaster.internal/ubuntu plucky/main armhf libjson-maybexs-perl all 1.004008-1 [11.1 kB] 272s Get:230 http://ftpmaster.internal/ubuntu plucky/main armhf liblist-compare-perl all 0.55-2 [62.9 kB] 272s Get:231 http://ftpmaster.internal/ubuntu plucky/main armhf liblist-someutils-perl all 0.59-1 [30.4 kB] 272s Get:232 http://ftpmaster.internal/ubuntu plucky/main armhf liblist-utilsby-perl all 0.12-2 [14.9 kB] 272s Get:233 http://ftpmaster.internal/ubuntu plucky/main armhf libmldbm-perl all 2.05-4 [16.0 kB] 272s Get:234 http://ftpmaster.internal/ubuntu plucky/main armhf libclass-method-modifiers-perl all 2.15-1 [16.1 kB] 272s Get:235 http://ftpmaster.internal/ubuntu plucky/main armhf libimport-into-perl all 1.002005-2 [10.7 kB] 272s Get:236 http://ftpmaster.internal/ubuntu plucky/main armhf librole-tiny-perl all 2.002004-1 [16.3 kB] 272s Get:237 http://ftpmaster.internal/ubuntu plucky/main armhf libsub-quote-perl all 2.006008-1ubuntu1 [20.7 kB] 272s Get:238 http://ftpmaster.internal/ubuntu plucky/main armhf libmoo-perl all 2.005005-1 [47.4 kB] 272s Get:239 http://ftpmaster.internal/ubuntu plucky/main armhf libstrictures-perl all 2.000006-1 [16.3 kB] 272s Get:240 http://ftpmaster.internal/ubuntu plucky/main armhf libmoox-aliases-perl all 0.001006-2 [6796 B] 272s Get:241 http://ftpmaster.internal/ubuntu plucky/main armhf libperlio-gzip-perl armhf 0.20-1build5 [13.5 kB] 273s Get:242 http://ftpmaster.internal/ubuntu plucky/main armhf libperlio-utf8-strict-perl armhf 0.010-1build4 [10.5 kB] 273s Get:243 http://ftpmaster.internal/ubuntu plucky/main armhf libproc-processtable-perl armhf 0.636-1build4 [35.6 kB] 273s Get:244 http://ftpmaster.internal/ubuntu plucky/main armhf libregexp-wildcards-perl all 1.05-3 [12.9 kB] 273s Get:245 http://ftpmaster.internal/ubuntu plucky/main armhf libsereal-decoder-perl armhf 5.004+ds-1build4 [94.1 kB] 273s Get:246 http://ftpmaster.internal/ubuntu plucky/main armhf libsereal-encoder-perl armhf 5.004+ds-1build4 [96.1 kB] 273s Get:247 http://ftpmaster.internal/ubuntu plucky/main armhf libterm-readkey-perl armhf 2.38-2build5 [22.6 kB] 273s Get:248 http://ftpmaster.internal/ubuntu plucky/main armhf libtext-levenshteinxs-perl armhf 0.03-5build5 [7482 B] 273s Get:249 http://ftpmaster.internal/ubuntu plucky/main armhf libmarkdown2 armhf 2.2.7-2.1 [31.0 kB] 273s Get:250 http://ftpmaster.internal/ubuntu plucky/main armhf libtext-markdown-discount-perl armhf 0.18-1 [12.0 kB] 273s Get:251 http://ftpmaster.internal/ubuntu plucky/main armhf libdata-messagepack-perl armhf 1.02-1build5 [29.5 kB] 273s Get:252 http://ftpmaster.internal/ubuntu plucky/main armhf libtext-xslate-perl armhf 3.5.9-2build1 [158 kB] 274s Get:253 http://ftpmaster.internal/ubuntu plucky/main armhf libtime-duration-perl all 1.21-2 [12.3 kB] 274s Get:254 http://ftpmaster.internal/ubuntu plucky/main armhf libtime-moment-perl armhf 0.44-2build5 [70.6 kB] 274s Get:255 http://ftpmaster.internal/ubuntu plucky/main armhf libunicode-utf8-perl armhf 0.62-2build4 [17.1 kB] 274s Get:256 http://ftpmaster.internal/ubuntu plucky/main armhf libcgi-pm-perl all 4.67-1 [185 kB] 274s Get:257 http://ftpmaster.internal/ubuntu plucky/main armhf libhtml-form-perl all 6.12-1 [31.1 kB] 274s Get:258 http://ftpmaster.internal/ubuntu plucky/main armhf libwww-mechanize-perl all 2.19-1ubuntu1 [93.3 kB] 274s Get:259 http://ftpmaster.internal/ubuntu plucky/main armhf libxml-namespacesupport-perl all 1.12-2 [13.5 kB] 274s Get:260 http://ftpmaster.internal/ubuntu plucky/main armhf libxml-sax-base-perl all 1.09-3 [18.9 kB] 274s Get:261 http://ftpmaster.internal/ubuntu plucky/main armhf libxml-sax-perl all 1.02+dfsg-4 [52.4 kB] 274s Get:262 http://ftpmaster.internal/ubuntu plucky/main armhf libxml-libxml-perl armhf 2.0207+dfsg+really+2.0134-5build1 [291 kB] 275s Get:263 http://ftpmaster.internal/ubuntu plucky/main armhf lzip armhf 1.25-2 [80.7 kB] 275s Get:264 http://ftpmaster.internal/ubuntu plucky/main armhf lzop armhf 1.04-2build3 [82.4 kB] 275s Get:265 http://ftpmaster.internal/ubuntu plucky/main armhf patchutils armhf 0.4.2-1build3 [73.2 kB] 275s Get:266 http://ftpmaster.internal/ubuntu plucky/main armhf t1utils armhf 1.41-4build3 [51.8 kB] 276s Get:267 http://ftpmaster.internal/ubuntu plucky/main armhf unzip armhf 6.0-28ubuntu6 [167 kB] 276s Get:268 http://ftpmaster.internal/ubuntu plucky/main armhf lintian all 2.121.1+nmu1ubuntu2 [1075 kB] 278s Get:269 http://ftpmaster.internal/ubuntu plucky/universe armhf libconfig-model-dpkg-perl all 3.010 [176 kB] 278s Get:270 http://ftpmaster.internal/ubuntu plucky/main armhf libconvert-binhex-perl all 1.125-3 [27.1 kB] 278s Get:271 http://ftpmaster.internal/ubuntu plucky/main armhf libnet-smtp-ssl-perl all 1.04-2 [6218 B] 278s Get:272 http://ftpmaster.internal/ubuntu plucky/main armhf libmailtools-perl all 2.22-1 [77.1 kB] 278s Get:273 http://ftpmaster.internal/ubuntu plucky/main armhf libmime-tools-perl all 5.515-1 [187 kB] 278s Get:274 http://ftpmaster.internal/ubuntu plucky/main armhf libsuitesparseconfig7 armhf 1:7.8.3+dfsg-3 [12.7 kB] 278s Get:275 http://ftpmaster.internal/ubuntu plucky/universe armhf libamd3 armhf 1:7.8.3+dfsg-3 [29.2 kB] 278s Get:276 http://ftpmaster.internal/ubuntu plucky/main armhf libblas3 armhf 3.12.1-2 [132 kB] 279s Get:277 http://ftpmaster.internal/ubuntu plucky/main armhf libgfortran5 armhf 15-20250222-0ubuntu1 [330 kB] 279s Get:278 http://ftpmaster.internal/ubuntu plucky/main armhf liblapack3 armhf 3.12.1-2 [2091 kB] 283s Get:279 http://ftpmaster.internal/ubuntu plucky/universe armhf libarpack2t64 armhf 3.9.1-4 [86.7 kB] 283s Get:280 http://ftpmaster.internal/ubuntu plucky/universe armhf libccolamd3 armhf 1:7.8.3+dfsg-3 [27.8 kB] 283s Get:281 http://ftpmaster.internal/ubuntu plucky/universe armhf libcamd3 armhf 1:7.8.3+dfsg-3 [26.0 kB] 283s Get:282 http://ftpmaster.internal/ubuntu plucky/main armhf libcolamd3 armhf 1:7.8.3+dfsg-3 [19.8 kB] 283s Get:283 http://ftpmaster.internal/ubuntu plucky/universe armhf libcholmod5 armhf 1:7.8.3+dfsg-3 [675 kB] 285s Get:284 http://ftpmaster.internal/ubuntu plucky/universe armhf libcxsparse4 armhf 1:7.8.3+dfsg-3 [70.1 kB] 285s Get:285 http://ftpmaster.internal/ubuntu plucky/main armhf libfftw3-double3 armhf 3.3.10-2fakesync1build1 [369 kB] 285s Get:286 http://ftpmaster.internal/ubuntu plucky/main armhf libfftw3-single3 armhf 3.3.10-2fakesync1build1 [581 kB] 287s Get:287 http://ftpmaster.internal/ubuntu plucky/main armhf libxfixes3 armhf 1:6.0.0-2build1 [9038 B] 287s Get:288 http://ftpmaster.internal/ubuntu plucky/main armhf libxcursor1 armhf 1:1.2.3-1 [18.0 kB] 287s Get:289 http://ftpmaster.internal/ubuntu plucky/main armhf libxft2 armhf 2.3.6-1build1 [37.4 kB] 287s Get:290 http://ftpmaster.internal/ubuntu plucky/main armhf libxinerama1 armhf 2:1.1.4-3build1 [5866 B] 287s Get:291 http://ftpmaster.internal/ubuntu plucky/universe armhf libfltk1.3t64 armhf 1.3.8-6.1build2 [553 kB] 288s Get:292 http://ftpmaster.internal/ubuntu plucky/main armhf libglvnd0 armhf 1.7.0-1build1 [83.7 kB] 288s Get:293 http://ftpmaster.internal/ubuntu plucky/main armhf libx11-xcb1 armhf 2:1.8.10-2 [7902 B] 288s Get:294 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-dri3-0 armhf 1.17.0-2 [7120 B] 288s Get:295 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-glx0 armhf 1.17.0-2 [22.6 kB] 288s Get:296 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-present0 armhf 1.17.0-2 [5940 B] 288s Get:297 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-xfixes0 armhf 1.17.0-2 [10.0 kB] 288s Get:298 http://ftpmaster.internal/ubuntu plucky/main armhf libxxf86vm1 armhf 1:1.1.4-1build4 [8068 B] 288s Get:299 http://ftpmaster.internal/ubuntu plucky/main armhf libllvm19 armhf 1:19.1.7-1ubuntu2 [27.8 MB] 347s Get:300 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-randr0 armhf 1.17.0-2 [17.0 kB] 347s Get:301 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-sync1 armhf 1.17.0-2 [8732 B] 347s Get:302 http://ftpmaster.internal/ubuntu plucky/main armhf libxshmfence1 armhf 1.3-1build5 [4464 B] 347s Get:303 http://ftpmaster.internal/ubuntu plucky/main armhf mesa-libgallium armhf 25.0.1-2ubuntu1 [8255 kB] 367s Get:304 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-server0 armhf 1.23.1-3 [30.3 kB] 367s Get:305 http://ftpmaster.internal/ubuntu plucky/main armhf libgbm1 armhf 25.0.1-2ubuntu1 [29.1 kB] 367s Get:306 http://ftpmaster.internal/ubuntu plucky/main armhf libvulkan1 armhf 1.4.304.0-1 [127 kB] 367s Get:307 http://ftpmaster.internal/ubuntu plucky/main armhf libgl1-mesa-dri armhf 25.0.1-2ubuntu1 [31.9 kB] 367s Get:308 http://ftpmaster.internal/ubuntu plucky/main armhf libglx-mesa0 armhf 25.0.1-2ubuntu1 [120 kB] 367s Get:309 http://ftpmaster.internal/ubuntu plucky/main armhf libglx0 armhf 1.7.0-1build1 [39.3 kB] 367s Get:310 http://ftpmaster.internal/ubuntu plucky/main armhf libgl1 armhf 1.7.0-1build1 [105 kB] 367s Get:311 http://ftpmaster.internal/ubuntu plucky/universe armhf libfltk-gl1.3t64 armhf 1.3.8-6.1build2 [36.6 kB] 368s Get:312 http://ftpmaster.internal/ubuntu plucky/universe armhf libgl2ps1.4 armhf 1.4.2+dfsg1-2build1 [37.7 kB] 368s Get:313 http://ftpmaster.internal/ubuntu plucky/main armhf libltdl7 armhf 2.5.4-4 [39.8 kB] 368s Get:314 http://ftpmaster.internal/ubuntu plucky/universe armhf libglpk40 armhf 5.0-1build2 [326 kB] 368s Get:315 http://ftpmaster.internal/ubuntu plucky/main armhf libopengl0 armhf 1.7.0-1build1 [36.2 kB] 368s Get:316 http://ftpmaster.internal/ubuntu plucky/main armhf libglu1-mesa armhf 9.0.2-1.1build1 [153 kB] 369s Get:317 http://ftpmaster.internal/ubuntu plucky/main armhf liblcms2-2 armhf 2.16-2 [137 kB] 369s Get:318 http://ftpmaster.internal/ubuntu plucky/universe armhf libjxl0.11 armhf 0.11.1-1 [1009 kB] 371s Get:319 http://ftpmaster.internal/ubuntu plucky/main armhf libwmflite-0.2-7 armhf 0.2.13-1.1build3 [63.2 kB] 371s Get:320 http://ftpmaster.internal/ubuntu plucky/universe armhf libgraphicsmagick-q16-3t64 armhf 1.4+really1.3.45+hg17689-1 [1230 kB] 373s Get:321 http://ftpmaster.internal/ubuntu plucky/universe armhf libgraphicsmagick++-q16-12t64 armhf 1.4+really1.3.45+hg17689-1 [97.9 kB] 373s Get:322 http://ftpmaster.internal/ubuntu plucky/universe armhf libaec0 armhf 1.1.3-1 [20.8 kB] 373s Get:323 http://ftpmaster.internal/ubuntu plucky/universe armhf libsz2 armhf 1.1.3-1 [5302 B] 373s Get:324 http://ftpmaster.internal/ubuntu plucky/universe armhf libhdf5-310 armhf 1.14.5+repack-3 [1410 kB] 376s Get:325 http://ftpmaster.internal/ubuntu plucky/main armhf libasound2-data all 1.2.13-1build1 [21.1 kB] 376s Get:326 http://ftpmaster.internal/ubuntu plucky/main armhf libasound2t64 armhf 1.2.13-1build1 [347 kB] 377s Get:327 http://ftpmaster.internal/ubuntu plucky/main armhf libopus0 armhf 1.5.2-2 [2875 kB] 382s Get:328 http://ftpmaster.internal/ubuntu plucky/main armhf libsamplerate0 armhf 0.2.2-4build1 [1341 kB] 385s Get:329 http://ftpmaster.internal/ubuntu plucky/main armhf libjack-jackd2-0 armhf 1.9.22~dfsg-4 [247 kB] 385s Get:330 http://ftpmaster.internal/ubuntu plucky/universe armhf libportaudio2 armhf 19.6.0-1.2build3 [60.9 kB] 385s Get:331 http://ftpmaster.internal/ubuntu plucky/universe armhf libqhull-r8.0 armhf 2020.2-6build1 [173 kB] 385s Get:332 http://ftpmaster.internal/ubuntu plucky/universe armhf libqrupdate1 armhf 1.1.5-1 [31.4 kB] 385s Get:333 http://ftpmaster.internal/ubuntu plucky/universe armhf libqscintilla2-qt6-l10n all 2.14.1+dfsg-1build4 [56.4 kB] 386s Get:334 http://ftpmaster.internal/ubuntu plucky/universe armhf libb2-1 armhf 0.98.1-1.1build1 [23.6 kB] 386s Get:335 http://ftpmaster.internal/ubuntu plucky/universe armhf libdouble-conversion3 armhf 3.3.1-1 [39.1 kB] 386s Get:336 http://ftpmaster.internal/ubuntu plucky/main armhf libpcre2-16-0 armhf 10.45-1 [207 kB] 386s Get:337 http://ftpmaster.internal/ubuntu plucky/universe armhf libqt6core6t64 armhf 6.8.2+dfsg-5 [1743 kB] 389s Get:338 http://ftpmaster.internal/ubuntu plucky/main armhf libwayland-client0 armhf 1.23.1-3 [23.3 kB] 389s Get:339 http://ftpmaster.internal/ubuntu plucky/main armhf libegl-mesa0 armhf 25.0.1-2ubuntu1 [100 kB] 389s Get:340 http://ftpmaster.internal/ubuntu plucky/main armhf libegl1 armhf 1.7.0-1build1 [29.8 kB] 389s Get:341 http://ftpmaster.internal/ubuntu plucky/main armhf x11-common all 1:7.7+23ubuntu3 [21.7 kB] 390s Get:342 http://ftpmaster.internal/ubuntu plucky/main armhf libice6 armhf 2:1.1.1-1 [36.5 kB] 390s Get:343 http://ftpmaster.internal/ubuntu plucky/main armhf libmtdev1t64 armhf 1.1.7-1 [13.0 kB] 390s Get:344 http://ftpmaster.internal/ubuntu plucky/main armhf libwacom-common all 2.14.0-1 [103 kB] 390s Get:345 http://ftpmaster.internal/ubuntu plucky/main armhf libwacom9 armhf 2.14.0-1 [23.6 kB] 390s Get:346 http://ftpmaster.internal/ubuntu plucky/main armhf libinput-bin armhf 1.27.1-1 [25.9 kB] 390s Get:347 http://ftpmaster.internal/ubuntu plucky/main armhf libinput10 armhf 1.27.1-1 [124 kB] 390s Get:348 http://ftpmaster.internal/ubuntu plucky/universe armhf libmd4c0 armhf 0.5.2-2 [38.2 kB] 390s Get:349 http://ftpmaster.internal/ubuntu plucky/universe armhf libqt6dbus6 armhf 6.8.2+dfsg-5 [245 kB] 391s Get:350 http://ftpmaster.internal/ubuntu plucky/main armhf libsm6 armhf 2:1.2.4-1 [15.1 kB] 391s Get:351 http://ftpmaster.internal/ubuntu plucky/universe armhf libts0t64 armhf 1.22-1.1build1 [59.4 kB] 391s Get:352 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-util1 armhf 0.4.1-1 [9468 B] 391s Get:353 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-image0 armhf 0.4.0-2build1 [9680 B] 391s Get:354 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-render-util0 armhf 0.3.10-1 [9444 B] 391s Get:355 http://ftpmaster.internal/ubuntu plucky/universe armhf libxcb-cursor0 armhf 0.1.5-1 [9952 B] 391s Get:356 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-icccm4 armhf 0.4.2-1 [9840 B] 391s Get:357 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-keysyms1 armhf 0.4.1-1 [8076 B] 391s Get:358 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-shape0 armhf 1.17.0-2 [6030 B] 391s Get:359 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-xinput0 armhf 1.17.0-2 [29.5 kB] 391s Get:360 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb-xkb1 armhf 1.17.0-2 [28.8 kB] 391s Get:361 http://ftpmaster.internal/ubuntu plucky/main armhf libxkbcommon-x11-0 armhf 1.7.0-2 [13.6 kB] 391s Get:362 http://ftpmaster.internal/ubuntu plucky/universe armhf libqt6gui6 armhf 6.8.2+dfsg-5 [2994 kB] 397s Get:363 http://ftpmaster.internal/ubuntu plucky/main armhf libavahi-common-data armhf 0.8-16ubuntu1 [30.9 kB] 397s Get:364 http://ftpmaster.internal/ubuntu plucky/main armhf libavahi-common3 armhf 0.8-16ubuntu1 [20.2 kB] 397s Get:365 http://ftpmaster.internal/ubuntu plucky/main armhf libavahi-client3 armhf 0.8-16ubuntu1 [24.1 kB] 397s Get:366 http://ftpmaster.internal/ubuntu plucky/main armhf libcups2t64 armhf 2.4.11-0ubuntu2 [243 kB] 397s Get:367 http://ftpmaster.internal/ubuntu plucky/universe armhf libqt6widgets6 armhf 6.8.2+dfsg-5 [2495 kB] 400s Get:368 http://ftpmaster.internal/ubuntu plucky/universe armhf libqt6printsupport6 armhf 6.8.2+dfsg-5 [208 kB] 401s Get:369 http://ftpmaster.internal/ubuntu plucky/universe armhf libqscintilla2-qt6-15 armhf 2.14.1+dfsg-1build4 [1026 kB] 402s Get:370 http://ftpmaster.internal/ubuntu plucky/universe armhf libqt6core5compat6 armhf 6.8.2-3 [130 kB] 402s Get:371 http://ftpmaster.internal/ubuntu plucky/universe armhf libqt6sql6 armhf 6.8.2+dfsg-5 [128 kB] 402s Get:372 http://ftpmaster.internal/ubuntu plucky/universe armhf libqt6help6 armhf 6.8.2-3 [179 kB] 402s Get:373 http://ftpmaster.internal/ubuntu plucky/main armhf libduktape207 armhf 2.7.0+tests-0ubuntu3 [123 kB] 403s Get:374 http://ftpmaster.internal/ubuntu plucky/main armhf libproxy1v5 armhf 0.5.9-1 [25.1 kB] 403s Get:375 http://ftpmaster.internal/ubuntu plucky/universe armhf libqt6network6 armhf 6.8.2+dfsg-5 [773 kB] 404s Get:376 http://ftpmaster.internal/ubuntu plucky/universe armhf libqt6opengl6 armhf 6.8.2+dfsg-5 [390 kB] 404s Get:377 http://ftpmaster.internal/ubuntu plucky/universe armhf libqt6openglwidgets6 armhf 6.8.2+dfsg-5 [41.1 kB] 404s Get:378 http://ftpmaster.internal/ubuntu plucky/universe armhf libqt6xml6 armhf 6.8.2+dfsg-5 [73.5 kB] 404s Get:379 http://ftpmaster.internal/ubuntu plucky/main armhf libogg0 armhf 1.3.5-3build1 [20.5 kB] 405s Get:380 http://ftpmaster.internal/ubuntu plucky/main armhf libflac12t64 armhf 1.4.3+ds-4 [143 kB] 405s Get:381 http://ftpmaster.internal/ubuntu plucky/main armhf libmp3lame0 armhf 3.100-6build1 [126 kB] 405s Get:382 http://ftpmaster.internal/ubuntu plucky/main armhf libmpg123-0t64 armhf 1.32.10-1 [158 kB] 405s Get:383 http://ftpmaster.internal/ubuntu plucky/main armhf libvorbis0a armhf 1.3.7-2 [86.7 kB] 405s Get:384 http://ftpmaster.internal/ubuntu plucky/main armhf libvorbisenc2 armhf 1.3.7-2 [72.9 kB] 405s Get:385 http://ftpmaster.internal/ubuntu plucky/main armhf libsndfile1 armhf 1.2.2-2 [201 kB] 406s Get:386 http://ftpmaster.internal/ubuntu plucky/universe armhf libspqr4 armhf 1:7.8.3+dfsg-3 [130 kB] 406s Get:387 http://ftpmaster.internal/ubuntu plucky/universe armhf libumfpack6 armhf 1:7.8.3+dfsg-3 [290 kB] 406s Get:388 http://ftpmaster.internal/ubuntu plucky/universe armhf libtext-unidecode-perl all 1.30-3 [105 kB] 406s Get:389 http://ftpmaster.internal/ubuntu plucky/universe armhf texinfo-lib armhf 7.1.1-1 [115 kB] 407s Get:390 http://ftpmaster.internal/ubuntu plucky/universe armhf tex-common all 6.19 [29.8 kB] 407s Get:391 http://ftpmaster.internal/ubuntu plucky/universe armhf texinfo all 7.1.1-1 [1272 kB] 408s Get:392 http://ftpmaster.internal/ubuntu plucky/universe armhf octave-common all 9.4.0-1 [6087 kB] 416s Get:393 http://ftpmaster.internal/ubuntu plucky/universe armhf octave armhf 9.4.0-1 [9025 kB] 428s Get:394 http://ftpmaster.internal/ubuntu plucky/main armhf libncurses-dev armhf 6.5+20250216-2 [345 kB] 429s Get:395 http://ftpmaster.internal/ubuntu plucky/main armhf libreadline-dev armhf 8.2-6 [153 kB] 429s Get:396 http://ftpmaster.internal/ubuntu plucky/universe armhf libhdf5-fortran-310 armhf 1.14.5+repack-3 [95.8 kB] 430s Get:397 http://ftpmaster.internal/ubuntu plucky/universe armhf libhdf5-hl-310 armhf 1.14.5+repack-3 [58.8 kB] 430s Get:398 http://ftpmaster.internal/ubuntu plucky/universe armhf libhdf5-hl-fortran-310 armhf 1.14.5+repack-3 [26.6 kB] 430s Get:399 http://ftpmaster.internal/ubuntu plucky/universe armhf libhdf5-cpp-310 armhf 1.14.5+repack-3 [125 kB] 430s Get:400 http://ftpmaster.internal/ubuntu plucky/universe armhf libhdf5-hl-cpp-310 armhf 1.14.5+repack-3 [11.1 kB] 430s Get:401 http://ftpmaster.internal/ubuntu plucky/main armhf zlib1g-dev armhf 1:1.3.dfsg+really1.3.1-1ubuntu1 [880 kB] 430s Get:402 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg-turbo8-dev armhf 2.1.5-3ubuntu2 [265 kB] 431s Get:403 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg8-dev armhf 8c-2ubuntu11 [1484 B] 431s Get:404 http://ftpmaster.internal/ubuntu plucky/main armhf libjpeg-dev armhf 8c-2ubuntu11 [1482 B] 431s Get:405 http://ftpmaster.internal/ubuntu plucky/universe armhf libaec-dev armhf 1.1.3-1 [17.3 kB] 431s Get:406 http://ftpmaster.internal/ubuntu plucky/main armhf libbrotli-dev armhf 1.1.0-2build4 [336 kB] 431s Get:407 http://ftpmaster.internal/ubuntu plucky/main armhf libidn2-dev armhf 2.3.7-2build2 [115 kB] 431s Get:408 http://ftpmaster.internal/ubuntu plucky/main armhf comerr-dev armhf 2.1-1.47.2-1ubuntu1 [44.1 kB] 432s Get:409 http://ftpmaster.internal/ubuntu plucky/main armhf libgssrpc4t64 armhf 1.21.3-4ubuntu2 [51.5 kB] 432s Get:410 http://ftpmaster.internal/ubuntu plucky/main armhf libkadm5clnt-mit12 armhf 1.21.3-4ubuntu2 [35.7 kB] 432s Get:411 http://ftpmaster.internal/ubuntu plucky/main armhf libkdb5-10t64 armhf 1.21.3-4ubuntu2 [35.2 kB] 432s Get:412 http://ftpmaster.internal/ubuntu plucky/main armhf libkadm5srv-mit12 armhf 1.21.3-4ubuntu2 [46.3 kB] 432s Get:413 http://ftpmaster.internal/ubuntu plucky/main armhf krb5-multidev armhf 1.21.3-4ubuntu2 [125 kB] 432s Get:414 http://ftpmaster.internal/ubuntu plucky/main armhf libkrb5-dev armhf 1.21.3-4ubuntu2 [11.9 kB] 432s Get:415 http://ftpmaster.internal/ubuntu plucky/main armhf libldap-dev armhf 2.6.9+dfsg-1~exp2ubuntu1 [289 kB] 432s Get:416 http://ftpmaster.internal/ubuntu plucky/main armhf libpkgconf3 armhf 1.8.1-4 [26.6 kB] 432s Get:417 http://ftpmaster.internal/ubuntu plucky/main armhf pkgconf-bin armhf 1.8.1-4 [21.2 kB] 432s Get:418 http://ftpmaster.internal/ubuntu plucky/main armhf pkgconf armhf 1.8.1-4 [16.8 kB] 432s Get:419 http://ftpmaster.internal/ubuntu plucky/main armhf libnghttp2-dev armhf 1.64.0-1 [106 kB] 433s Get:420 http://ftpmaster.internal/ubuntu plucky/main armhf libpsl-dev armhf 0.21.2-1.1build1 [75.6 kB] 433s Get:421 http://ftpmaster.internal/ubuntu plucky/main armhf libgmpxx4ldbl armhf 2:6.3.0+dfsg-3ubuntu1 [9152 B] 433s Get:422 http://ftpmaster.internal/ubuntu plucky/main armhf libgmp-dev armhf 2:6.3.0+dfsg-3ubuntu1 [290 kB] 433s Get:423 http://ftpmaster.internal/ubuntu plucky/main armhf libevent-2.1-7t64 armhf 2.1.12-stable-10 [127 kB] 433s Get:424 http://ftpmaster.internal/ubuntu plucky/main armhf libunbound8 armhf 1.22.0-1ubuntu1 [423 kB] 434s Get:425 http://ftpmaster.internal/ubuntu plucky/main armhf libgnutls-dane0t64 armhf 3.8.9-2ubuntu2 [34.9 kB] 434s Get:426 http://ftpmaster.internal/ubuntu plucky/main armhf libgnutls-openssl27t64 armhf 3.8.9-2ubuntu2 [34.8 kB] 434s Get:427 http://ftpmaster.internal/ubuntu plucky/main armhf libp11-kit-dev armhf 0.25.5-2ubuntu3 [23.5 kB] 434s Get:428 http://ftpmaster.internal/ubuntu plucky/main armhf libtasn1-6-dev armhf 4.20.0-2 [86.5 kB] 434s Get:429 http://ftpmaster.internal/ubuntu plucky/main armhf nettle-dev armhf 3.10.1-1 [1173 kB] 436s Get:430 http://ftpmaster.internal/ubuntu plucky/main armhf libgnutls28-dev armhf 3.8.9-2ubuntu2 [1023 kB] 437s Get:431 http://ftpmaster.internal/ubuntu plucky/main armhf librtmp-dev armhf 2.4+20151223.gitfa8646d.1-2build7 [62.9 kB] 437s Get:432 http://ftpmaster.internal/ubuntu plucky/main armhf libssl-dev armhf 3.4.1-1ubuntu1 [2381 kB] 440s Get:433 http://ftpmaster.internal/ubuntu plucky/main armhf libssh2-1-dev armhf 1.11.1-1 [270 kB] 441s Get:434 http://ftpmaster.internal/ubuntu plucky/main armhf libzstd-dev armhf 1.5.6+dfsg-2 [332 kB] 441s Get:435 http://ftpmaster.internal/ubuntu plucky/main armhf libcurl4-openssl-dev armhf 8.12.1-3ubuntu1 [462 kB] 442s Get:436 http://ftpmaster.internal/ubuntu plucky/universe armhf hdf5-helpers armhf 1.14.5+repack-3 [17.0 kB] 442s Get:437 http://ftpmaster.internal/ubuntu plucky/universe armhf libhdf5-dev armhf 1.14.5+repack-3 [3333 kB] 446s Get:438 http://ftpmaster.internal/ubuntu plucky/main armhf xorg-sgml-doctools all 1:1.11-1.1 [10.9 kB] 446s Get:439 http://ftpmaster.internal/ubuntu plucky/main armhf x11proto-dev all 2024.1-1 [606 kB] 447s Get:440 http://ftpmaster.internal/ubuntu plucky/main armhf libxau-dev armhf 1:1.0.11-1 [9034 B] 447s Get:441 http://ftpmaster.internal/ubuntu plucky/main armhf libxdmcp-dev armhf 1:1.1.5-1 [25.1 kB] 447s Get:442 http://ftpmaster.internal/ubuntu plucky/main armhf xtrans-dev all 1.4.0-1 [68.9 kB] 447s Get:443 http://ftpmaster.internal/ubuntu plucky/main armhf libxcb1-dev armhf 1.17.0-2 [85.0 kB] 447s Get:444 http://ftpmaster.internal/ubuntu plucky/main armhf libx11-dev armhf 2:1.8.10-2 [674 kB] 448s Get:445 http://ftpmaster.internal/ubuntu plucky/main armhf libglx-dev armhf 1.7.0-1build1 [14.2 kB] 448s Get:446 http://ftpmaster.internal/ubuntu plucky/main armhf libgl-dev armhf 1.7.0-1build1 [102 kB] 448s Get:447 http://ftpmaster.internal/ubuntu plucky/main armhf libblas-dev armhf 3.12.1-2 [141 kB] 448s Get:448 http://ftpmaster.internal/ubuntu plucky/main armhf liblapack-dev armhf 3.12.1-2 [2207 kB] 451s Get:449 http://ftpmaster.internal/ubuntu plucky/main armhf libfftw3-bin armhf 3.3.10-2fakesync1build1 [30.4 kB] 451s Get:450 http://ftpmaster.internal/ubuntu plucky/main armhf libfftw3-dev armhf 3.3.10-2fakesync1build1 [923 kB] 452s Get:451 http://ftpmaster.internal/ubuntu plucky/main armhf libgfortran-14-dev armhf 14.2.0-17ubuntu3 [370 kB] 453s Get:452 http://ftpmaster.internal/ubuntu plucky/main armhf gfortran-14-arm-linux-gnueabihf armhf 14.2.0-17ubuntu3 [9763 kB] 465s Get:453 http://ftpmaster.internal/ubuntu plucky/main armhf gfortran-14 armhf 14.2.0-17ubuntu3 [13.6 kB] 465s Get:454 http://ftpmaster.internal/ubuntu plucky/main armhf gfortran-arm-linux-gnueabihf armhf 4:14.2.0-1ubuntu1 [1026 B] 465s Get:455 http://ftpmaster.internal/ubuntu plucky/main armhf gfortran armhf 4:14.2.0-1ubuntu1 [1166 B] 465s Get:456 http://ftpmaster.internal/ubuntu plucky/main armhf libstdc++-14-dev armhf 14.2.0-17ubuntu3 [2573 kB] 469s Get:457 http://ftpmaster.internal/ubuntu plucky/main armhf g++-14-arm-linux-gnueabihf armhf 14.2.0-17ubuntu3 [10.5 MB] 482s Get:458 http://ftpmaster.internal/ubuntu plucky/main armhf g++-14 armhf 14.2.0-17ubuntu3 [21.8 kB] 482s Get:459 http://ftpmaster.internal/ubuntu plucky/main armhf g++-arm-linux-gnueabihf armhf 4:14.2.0-1ubuntu1 [966 B] 482s Get:460 http://ftpmaster.internal/ubuntu plucky/main armhf g++ armhf 4:14.2.0-1ubuntu1 [1084 B] 482s Get:461 http://ftpmaster.internal/ubuntu plucky/universe armhf octave-dev armhf 9.4.0-1 [457 kB] 483s Get:462 http://ftpmaster.internal/ubuntu plucky/universe armhf dh-octave all 1.8.0 [19.7 kB] 483s Get:463 http://ftpmaster.internal/ubuntu plucky/main armhf libfontenc1 armhf 1:1.1.8-1build1 [11.5 kB] 483s Get:464 http://ftpmaster.internal/ubuntu plucky/main armhf libxt6t64 armhf 1:1.2.1-1.2build1 [145 kB] 483s Get:465 http://ftpmaster.internal/ubuntu plucky/main armhf libxmu6 armhf 2:1.1.3-3build2 [40.4 kB] 483s Get:466 http://ftpmaster.internal/ubuntu plucky/main armhf libxaw7 armhf 2:1.0.16-1 [154 kB] 483s Get:467 http://ftpmaster.internal/ubuntu plucky/main armhf libxfont2 armhf 1:2.0.6-1build1 [80.3 kB] 483s Get:468 http://ftpmaster.internal/ubuntu plucky/main armhf libxkbfile1 armhf 1:1.1.0-1build4 [60.0 kB] 483s Get:469 http://ftpmaster.internal/ubuntu plucky/main armhf libxrandr2 armhf 2:1.5.4-1 [15.8 kB] 483s Get:470 http://ftpmaster.internal/ubuntu plucky/universe armhf octave-image armhf 2.14.0-5build1 [593 kB] 484s Get:471 http://ftpmaster.internal/ubuntu plucky/main armhf x11-xkb-utils armhf 7.7+9 [159 kB] 484s Get:472 http://ftpmaster.internal/ubuntu plucky/main armhf xserver-common all 2:21.1.16-1ubuntu1 [34.4 kB] 484s Get:473 http://ftpmaster.internal/ubuntu plucky/universe armhf xvfb armhf 2:21.1.16-1ubuntu1 [732 kB] 487s Fetched 189 MB in 4min 43s (671 kB/s) 487s Selecting previously unselected package libstemmer0d:armhf. 487s (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 ... 64655 files and directories currently installed.) 487s Preparing to unpack .../000-libstemmer0d_2.2.0-4build1_armhf.deb ... 487s Unpacking libstemmer0d:armhf (2.2.0-4build1) ... 487s Selecting previously unselected package libappstream5:armhf. 487s Preparing to unpack .../001-libappstream5_1.0.4-1_armhf.deb ... 487s Unpacking libappstream5:armhf (1.0.4-1) ... 487s Selecting previously unselected package appstream. 487s Preparing to unpack .../002-appstream_1.0.4-1_armhf.deb ... 487s Unpacking appstream (1.0.4-1) ... 487s Selecting previously unselected package m4. 487s Preparing to unpack .../003-m4_1.4.19-7_armhf.deb ... 487s Unpacking m4 (1.4.19-7) ... 487s Selecting previously unselected package autoconf. 487s Preparing to unpack .../004-autoconf_2.72-3ubuntu1_all.deb ... 487s Unpacking autoconf (2.72-3ubuntu1) ... 487s Selecting previously unselected package autotools-dev. 487s Preparing to unpack .../005-autotools-dev_20220109.1_all.deb ... 487s Unpacking autotools-dev (20220109.1) ... 487s Selecting previously unselected package automake. 487s Preparing to unpack .../006-automake_1%3a1.17-3ubuntu1_all.deb ... 487s Unpacking automake (1:1.17-3ubuntu1) ... 487s Selecting previously unselected package autopoint. 487s Preparing to unpack .../007-autopoint_0.23.1-1_all.deb ... 487s Unpacking autopoint (0.23.1-1) ... 487s Selecting previously unselected package libcapture-tiny-perl. 487s Preparing to unpack .../008-libcapture-tiny-perl_0.50-1_all.deb ... 487s Unpacking libcapture-tiny-perl (0.50-1) ... 487s Selecting previously unselected package libparams-util-perl. 487s Preparing to unpack .../009-libparams-util-perl_1.102-3build1_armhf.deb ... 487s Unpacking libparams-util-perl (1.102-3build1) ... 487s Selecting previously unselected package libsub-install-perl. 487s Preparing to unpack .../010-libsub-install-perl_0.929-1_all.deb ... 487s Unpacking libsub-install-perl (0.929-1) ... 487s Selecting previously unselected package libdata-optlist-perl. 487s Preparing to unpack .../011-libdata-optlist-perl_0.114-1_all.deb ... 487s Unpacking libdata-optlist-perl (0.114-1) ... 487s Selecting previously unselected package libb-hooks-op-check-perl:armhf. 487s Preparing to unpack .../012-libb-hooks-op-check-perl_0.22-3build2_armhf.deb ... 487s Unpacking libb-hooks-op-check-perl:armhf (0.22-3build2) ... 487s Selecting previously unselected package libdynaloader-functions-perl. 487s Preparing to unpack .../013-libdynaloader-functions-perl_0.004-1_all.deb ... 487s Unpacking libdynaloader-functions-perl (0.004-1) ... 487s Selecting previously unselected package libdevel-callchecker-perl:armhf. 487s Preparing to unpack .../014-libdevel-callchecker-perl_0.009-1build1_armhf.deb ... 487s Unpacking libdevel-callchecker-perl:armhf (0.009-1build1) ... 487s Selecting previously unselected package libparams-classify-perl:armhf. 487s Preparing to unpack .../015-libparams-classify-perl_0.015-2build6_armhf.deb ... 487s Unpacking libparams-classify-perl:armhf (0.015-2build6) ... 487s Selecting previously unselected package libmodule-runtime-perl. 487s Preparing to unpack .../016-libmodule-runtime-perl_0.016-2_all.deb ... 487s Unpacking libmodule-runtime-perl (0.016-2) ... 487s Selecting previously unselected package libtry-tiny-perl. 487s Preparing to unpack .../017-libtry-tiny-perl_0.32-1_all.deb ... 487s Unpacking libtry-tiny-perl (0.32-1) ... 487s Selecting previously unselected package libmodule-implementation-perl. 487s Preparing to unpack .../018-libmodule-implementation-perl_0.09-2_all.deb ... 487s Unpacking libmodule-implementation-perl (0.09-2) ... 487s Selecting previously unselected package libpackage-stash-perl. 488s Preparing to unpack .../019-libpackage-stash-perl_0.40-1_all.deb ... 488s Unpacking libpackage-stash-perl (0.40-1) ... 488s Selecting previously unselected package libclass-load-perl. 488s Preparing to unpack .../020-libclass-load-perl_0.25-2_all.deb ... 488s Unpacking libclass-load-perl (0.25-2) ... 488s Selecting previously unselected package libio-stringy-perl. 488s Preparing to unpack .../021-libio-stringy-perl_2.113-2_all.deb ... 488s Unpacking libio-stringy-perl (2.113-2) ... 488s Selecting previously unselected package libparams-validate-perl:armhf. 488s Preparing to unpack .../022-libparams-validate-perl_1.31-2build4_armhf.deb ... 488s Unpacking libparams-validate-perl:armhf (1.31-2build4) ... 488s Selecting previously unselected package libsub-exporter-perl. 488s Preparing to unpack .../023-libsub-exporter-perl_0.990-1_all.deb ... 488s Unpacking libsub-exporter-perl (0.990-1) ... 488s Selecting previously unselected package libgetopt-long-descriptive-perl. 488s Preparing to unpack .../024-libgetopt-long-descriptive-perl_0.116-2_all.deb ... 488s Unpacking libgetopt-long-descriptive-perl (0.116-2) ... 488s Selecting previously unselected package libio-tiecombine-perl. 488s Preparing to unpack .../025-libio-tiecombine-perl_1.005-3_all.deb ... 488s Unpacking libio-tiecombine-perl (1.005-3) ... 488s Selecting previously unselected package libmodule-pluggable-perl. 488s Preparing to unpack .../026-libmodule-pluggable-perl_5.2-5_all.deb ... 488s Unpacking libmodule-pluggable-perl (5.2-5) ... 488s Selecting previously unselected package libstring-rewriteprefix-perl. 488s Preparing to unpack .../027-libstring-rewriteprefix-perl_0.009-1_all.deb ... 488s Unpacking libstring-rewriteprefix-perl (0.009-1) ... 488s Selecting previously unselected package libapp-cmd-perl. 488s Preparing to unpack .../028-libapp-cmd-perl_0.337-2_all.deb ... 488s Unpacking libapp-cmd-perl (0.337-2) ... 488s Selecting previously unselected package libboolean-perl. 488s Preparing to unpack .../029-libboolean-perl_0.46-3_all.deb ... 488s Unpacking libboolean-perl (0.46-3) ... 488s Selecting previously unselected package libsub-uplevel-perl. 488s Preparing to unpack .../030-libsub-uplevel-perl_0.2800-3_all.deb ... 488s Unpacking libsub-uplevel-perl (0.2800-3) ... 488s Selecting previously unselected package libtest-exception-perl. 488s Preparing to unpack .../031-libtest-exception-perl_0.43-3_all.deb ... 488s Unpacking libtest-exception-perl (0.43-3) ... 488s Selecting previously unselected package libcarp-assert-more-perl. 488s Preparing to unpack .../032-libcarp-assert-more-perl_2.8.0-1_all.deb ... 488s Unpacking libcarp-assert-more-perl (2.8.0-1) ... 488s Selecting previously unselected package libfile-which-perl. 488s Preparing to unpack .../033-libfile-which-perl_1.27-2_all.deb ... 488s Unpacking libfile-which-perl (1.27-2) ... 488s Selecting previously unselected package libfile-homedir-perl. 488s Preparing to unpack .../034-libfile-homedir-perl_1.006-2_all.deb ... 488s Unpacking libfile-homedir-perl (1.006-2) ... 488s Selecting previously unselected package libclone-choose-perl. 488s Preparing to unpack .../035-libclone-choose-perl_0.010-2_all.deb ... 488s Unpacking libclone-choose-perl (0.010-2) ... 488s Selecting previously unselected package libhash-merge-perl. 488s Preparing to unpack .../036-libhash-merge-perl_0.302-1_all.deb ... 488s Unpacking libhash-merge-perl (0.302-1) ... 488s Selecting previously unselected package libjson-perl. 488s Preparing to unpack .../037-libjson-perl_4.10000-1_all.deb ... 488s Unpacking libjson-perl (4.10000-1) ... 488s Selecting previously unselected package libexporter-tiny-perl. 488s Preparing to unpack .../038-libexporter-tiny-perl_1.006002-1_all.deb ... 488s Unpacking libexporter-tiny-perl (1.006002-1) ... 488s Selecting previously unselected package liblist-moreutils-xs-perl. 488s Preparing to unpack .../039-liblist-moreutils-xs-perl_0.430-4build1_armhf.deb ... 488s Unpacking liblist-moreutils-xs-perl (0.430-4build1) ... 488s Selecting previously unselected package liblist-moreutils-perl. 488s Preparing to unpack .../040-liblist-moreutils-perl_0.430-2_all.deb ... 488s Unpacking liblist-moreutils-perl (0.430-2) ... 488s Selecting previously unselected package liblog-log4perl-perl. 488s Preparing to unpack .../041-liblog-log4perl-perl_1.57-1_all.deb ... 488s Unpacking liblog-log4perl-perl (1.57-1) ... 488s Selecting previously unselected package libmouse-perl:armhf. 488s Preparing to unpack .../042-libmouse-perl_2.5.11-1build1_armhf.deb ... 488s Unpacking libmouse-perl:armhf (2.5.11-1build1) ... 488s Selecting previously unselected package libmousex-nativetraits-perl. 488s Preparing to unpack .../043-libmousex-nativetraits-perl_1.09-3_all.deb ... 488s Unpacking libmousex-nativetraits-perl (1.09-3) ... 488s Selecting previously unselected package libmousex-strictconstructor-perl. 488s Preparing to unpack .../044-libmousex-strictconstructor-perl_0.02-3_all.deb ... 488s Unpacking libmousex-strictconstructor-perl (0.02-3) ... 488s Selecting previously unselected package libparse-recdescent-perl. 488s Preparing to unpack .../045-libparse-recdescent-perl_1.967015+dfsg-4_all.deb ... 488s Unpacking libparse-recdescent-perl (1.967015+dfsg-4) ... 488s Selecting previously unselected package libpath-tiny-perl. 488s Preparing to unpack .../046-libpath-tiny-perl_0.146-1_all.deb ... 488s Unpacking libpath-tiny-perl (0.146-1) ... 489s Selecting previously unselected package libpod-pom-perl. 489s Preparing to unpack .../047-libpod-pom-perl_2.01-4_all.deb ... 489s Unpacking libpod-pom-perl (2.01-4) ... 489s Selecting previously unselected package libregexp-common-perl. 489s Preparing to unpack .../048-libregexp-common-perl_2024080801-1_all.deb ... 489s Unpacking libregexp-common-perl (2024080801-1) ... 489s Selecting previously unselected package libyaml-tiny-perl. 489s Preparing to unpack .../049-libyaml-tiny-perl_1.76-1_all.deb ... 489s Unpacking libyaml-tiny-perl (1.76-1) ... 489s Selecting previously unselected package libconfig-model-perl. 489s Preparing to unpack .../050-libconfig-model-perl_2.155-1_all.deb ... 489s Unpacking libconfig-model-perl (2.155-1) ... 489s Selecting previously unselected package libyaml-pp-perl. 489s Preparing to unpack .../051-libyaml-pp-perl_0.39.0-1_all.deb ... 489s Unpacking libyaml-pp-perl (0.39.0-1) ... 489s Selecting previously unselected package cme. 489s Preparing to unpack .../052-cme_1.041-1_all.deb ... 489s Unpacking cme (1.041-1) ... 489s Selecting previously unselected package libisl23:armhf. 489s Preparing to unpack .../053-libisl23_0.27-1_armhf.deb ... 489s Unpacking libisl23:armhf (0.27-1) ... 489s Selecting previously unselected package libmpc3:armhf. 489s Preparing to unpack .../054-libmpc3_1.3.1-1build2_armhf.deb ... 489s Unpacking libmpc3:armhf (1.3.1-1build2) ... 489s Selecting previously unselected package cpp-14-arm-linux-gnueabihf. 489s Preparing to unpack .../055-cpp-14-arm-linux-gnueabihf_14.2.0-17ubuntu3_armhf.deb ... 489s Unpacking cpp-14-arm-linux-gnueabihf (14.2.0-17ubuntu3) ... 489s Selecting previously unselected package cpp-14. 489s Preparing to unpack .../056-cpp-14_14.2.0-17ubuntu3_armhf.deb ... 489s Unpacking cpp-14 (14.2.0-17ubuntu3) ... 489s Selecting previously unselected package cpp-arm-linux-gnueabihf. 489s Preparing to unpack .../057-cpp-arm-linux-gnueabihf_4%3a14.2.0-1ubuntu1_armhf.deb ... 489s Unpacking cpp-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 489s Selecting previously unselected package cpp. 489s Preparing to unpack .../058-cpp_4%3a14.2.0-1ubuntu1_armhf.deb ... 489s Unpacking cpp (4:14.2.0-1ubuntu1) ... 489s Selecting previously unselected package libdebhelper-perl. 489s Preparing to unpack .../059-libdebhelper-perl_13.24.1ubuntu2_all.deb ... 489s Unpacking libdebhelper-perl (13.24.1ubuntu2) ... 489s Selecting previously unselected package libcc1-0:armhf. 489s Preparing to unpack .../060-libcc1-0_15-20250222-0ubuntu1_armhf.deb ... 489s Unpacking libcc1-0:armhf (15-20250222-0ubuntu1) ... 489s Selecting previously unselected package libgomp1:armhf. 489s Preparing to unpack .../061-libgomp1_15-20250222-0ubuntu1_armhf.deb ... 489s Unpacking libgomp1:armhf (15-20250222-0ubuntu1) ... 489s Selecting previously unselected package libasan8:armhf. 489s Preparing to unpack .../062-libasan8_15-20250222-0ubuntu1_armhf.deb ... 489s Unpacking libasan8:armhf (15-20250222-0ubuntu1) ... 489s Selecting previously unselected package libubsan1:armhf. 489s Preparing to unpack .../063-libubsan1_15-20250222-0ubuntu1_armhf.deb ... 489s Unpacking libubsan1:armhf (15-20250222-0ubuntu1) ... 489s Selecting previously unselected package libgcc-14-dev:armhf. 489s Preparing to unpack .../064-libgcc-14-dev_14.2.0-17ubuntu3_armhf.deb ... 489s Unpacking libgcc-14-dev:armhf (14.2.0-17ubuntu3) ... 490s Selecting previously unselected package gcc-14-arm-linux-gnueabihf. 490s Preparing to unpack .../065-gcc-14-arm-linux-gnueabihf_14.2.0-17ubuntu3_armhf.deb ... 490s Unpacking gcc-14-arm-linux-gnueabihf (14.2.0-17ubuntu3) ... 490s Selecting previously unselected package gcc-14. 490s Preparing to unpack .../066-gcc-14_14.2.0-17ubuntu3_armhf.deb ... 490s Unpacking gcc-14 (14.2.0-17ubuntu3) ... 490s Selecting previously unselected package gcc-arm-linux-gnueabihf. 490s Preparing to unpack .../067-gcc-arm-linux-gnueabihf_4%3a14.2.0-1ubuntu1_armhf.deb ... 490s Unpacking gcc-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 490s Selecting previously unselected package gcc. 490s Preparing to unpack .../068-gcc_4%3a14.2.0-1ubuntu1_armhf.deb ... 490s Unpacking gcc (4:14.2.0-1ubuntu1) ... 490s Selecting previously unselected package libc-dev-bin. 490s Preparing to unpack .../069-libc-dev-bin_2.41-1ubuntu2_armhf.deb ... 490s Unpacking libc-dev-bin (2.41-1ubuntu2) ... 490s Selecting previously unselected package linux-libc-dev:armhf. 490s Preparing to unpack .../070-linux-libc-dev_6.14.0-10.10_armhf.deb ... 490s Unpacking linux-libc-dev:armhf (6.14.0-10.10) ... 490s Selecting previously unselected package libcrypt-dev:armhf. 490s Preparing to unpack .../071-libcrypt-dev_1%3a4.4.38-1_armhf.deb ... 490s Unpacking libcrypt-dev:armhf (1:4.4.38-1) ... 490s Selecting previously unselected package rpcsvc-proto. 490s Preparing to unpack .../072-rpcsvc-proto_1.4.2-0ubuntu7_armhf.deb ... 490s Unpacking rpcsvc-proto (1.4.2-0ubuntu7) ... 490s Selecting previously unselected package libc6-dev:armhf. 490s Preparing to unpack .../073-libc6-dev_2.41-1ubuntu2_armhf.deb ... 490s Unpacking libc6-dev:armhf (2.41-1ubuntu2) ... 491s Selecting previously unselected package libtool. 491s Preparing to unpack .../074-libtool_2.5.4-4_all.deb ... 491s Unpacking libtool (2.5.4-4) ... 491s Selecting previously unselected package dh-autoreconf. 491s Preparing to unpack .../075-dh-autoreconf_20_all.deb ... 491s Unpacking dh-autoreconf (20) ... 491s Selecting previously unselected package libarchive-zip-perl. 491s Preparing to unpack .../076-libarchive-zip-perl_1.68-1_all.deb ... 491s Unpacking libarchive-zip-perl (1.68-1) ... 491s Selecting previously unselected package libfile-stripnondeterminism-perl. 491s Preparing to unpack .../077-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... 491s Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... 491s Selecting previously unselected package dh-strip-nondeterminism. 491s Preparing to unpack .../078-dh-strip-nondeterminism_1.14.1-2_all.deb ... 491s Unpacking dh-strip-nondeterminism (1.14.1-2) ... 491s Selecting previously unselected package libdw1t64:armhf. 491s Preparing to unpack .../079-libdw1t64_0.192-4_armhf.deb ... 491s Unpacking libdw1t64:armhf (0.192-4) ... 491s Selecting previously unselected package debugedit. 491s Preparing to unpack .../080-debugedit_1%3a5.1-2_armhf.deb ... 491s Unpacking debugedit (1:5.1-2) ... 491s Selecting previously unselected package dwz. 491s Preparing to unpack .../081-dwz_0.15-1build6_armhf.deb ... 491s Unpacking dwz (0.15-1build6) ... 491s Selecting previously unselected package gettext. 491s Preparing to unpack .../082-gettext_0.23.1-1_armhf.deb ... 491s Unpacking gettext (0.23.1-1) ... 491s Selecting previously unselected package intltool-debian. 491s Preparing to unpack .../083-intltool-debian_0.35.0+20060710.6_all.deb ... 491s Unpacking intltool-debian (0.35.0+20060710.6) ... 491s Selecting previously unselected package po-debconf. 491s Preparing to unpack .../084-po-debconf_1.0.21+nmu1_all.deb ... 491s Unpacking po-debconf (1.0.21+nmu1) ... 491s Selecting previously unselected package debhelper. 491s Preparing to unpack .../085-debhelper_13.24.1ubuntu2_all.deb ... 491s Unpacking debhelper (13.24.1ubuntu2) ... 491s Selecting previously unselected package aglfn. 491s Preparing to unpack .../086-aglfn_1.7+git20191031.4036a9c-2_all.deb ... 491s Unpacking aglfn (1.7+git20191031.4036a9c-2) ... 491s Selecting previously unselected package gnuplot-data. 491s Preparing to unpack .../087-gnuplot-data_6.0.2+dfsg1-1_all.deb ... 491s Unpacking gnuplot-data (6.0.2+dfsg1-1) ... 491s Selecting previously unselected package libfreetype6:armhf. 491s Preparing to unpack .../088-libfreetype6_2.13.3+dfsg-1_armhf.deb ... 491s Unpacking libfreetype6:armhf (2.13.3+dfsg-1) ... 491s Selecting previously unselected package fonts-dejavu-mono. 491s Preparing to unpack .../089-fonts-dejavu-mono_2.37-8_all.deb ... 491s Unpacking fonts-dejavu-mono (2.37-8) ... 491s Selecting previously unselected package fonts-dejavu-core. 491s Preparing to unpack .../090-fonts-dejavu-core_2.37-8_all.deb ... 491s Unpacking fonts-dejavu-core (2.37-8) ... 491s Selecting previously unselected package fonts-freefont-otf. 491s Preparing to unpack .../091-fonts-freefont-otf_20211204+svn4273-2_all.deb ... 491s Unpacking fonts-freefont-otf (20211204+svn4273-2) ... 492s Selecting previously unselected package fontconfig-config. 492s Preparing to unpack .../092-fontconfig-config_2.15.0-2ubuntu1_armhf.deb ... 492s Unpacking fontconfig-config (2.15.0-2ubuntu1) ... 492s Selecting previously unselected package libfontconfig1:armhf. 492s Preparing to unpack .../093-libfontconfig1_2.15.0-2ubuntu1_armhf.deb ... 492s Unpacking libfontconfig1:armhf (2.15.0-2ubuntu1) ... 492s Selecting previously unselected package libpixman-1-0:armhf. 492s Preparing to unpack .../094-libpixman-1-0_0.44.0-3_armhf.deb ... 492s Unpacking libpixman-1-0:armhf (0.44.0-3) ... 492s Selecting previously unselected package libxcb-render0:armhf. 492s Preparing to unpack .../095-libxcb-render0_1.17.0-2_armhf.deb ... 492s Unpacking libxcb-render0:armhf (1.17.0-2) ... 492s Selecting previously unselected package libxcb-shm0:armhf. 492s Preparing to unpack .../096-libxcb-shm0_1.17.0-2_armhf.deb ... 492s Unpacking libxcb-shm0:armhf (1.17.0-2) ... 492s Selecting previously unselected package libxrender1:armhf. 492s Preparing to unpack .../097-libxrender1_1%3a0.9.10-1.1build1_armhf.deb ... 492s Unpacking libxrender1:armhf (1:0.9.10-1.1build1) ... 492s Selecting previously unselected package libcairo2:armhf. 492s Preparing to unpack .../098-libcairo2_1.18.2-2_armhf.deb ... 492s Unpacking libcairo2:armhf (1.18.2-2) ... 492s Selecting previously unselected package libsharpyuv0:armhf. 492s Preparing to unpack .../099-libsharpyuv0_1.5.0-0.1_armhf.deb ... 492s Unpacking libsharpyuv0:armhf (1.5.0-0.1) ... 492s Selecting previously unselected package libaom3:armhf. 492s Preparing to unpack .../100-libaom3_3.12.0-1_armhf.deb ... 492s Unpacking libaom3:armhf (3.12.0-1) ... 492s Selecting previously unselected package libheif-plugin-aomdec:armhf. 492s Preparing to unpack .../101-libheif-plugin-aomdec_1.19.7-1_armhf.deb ... 492s Unpacking libheif-plugin-aomdec:armhf (1.19.7-1) ... 492s Selecting previously unselected package libde265-0:armhf. 492s Preparing to unpack .../102-libde265-0_1.0.15-1build5_armhf.deb ... 492s Unpacking libde265-0:armhf (1.0.15-1build5) ... 492s Selecting previously unselected package libheif-plugin-libde265:armhf. 492s Preparing to unpack .../103-libheif-plugin-libde265_1.19.7-1_armhf.deb ... 492s Unpacking libheif-plugin-libde265:armhf (1.19.7-1) ... 492s Selecting previously unselected package libheif1:armhf. 492s Preparing to unpack .../104-libheif1_1.19.7-1_armhf.deb ... 492s Unpacking libheif1:armhf (1.19.7-1) ... 492s Selecting previously unselected package libimagequant0:armhf. 492s Preparing to unpack .../105-libimagequant0_2.18.0-1build1_armhf.deb ... 492s Unpacking libimagequant0:armhf (2.18.0-1build1) ... 492s Selecting previously unselected package libjpeg-turbo8:armhf. 492s Preparing to unpack .../106-libjpeg-turbo8_2.1.5-3ubuntu2_armhf.deb ... 492s Unpacking libjpeg-turbo8:armhf (2.1.5-3ubuntu2) ... 492s Selecting previously unselected package libjpeg8:armhf. 492s Preparing to unpack .../107-libjpeg8_8c-2ubuntu11_armhf.deb ... 492s Unpacking libjpeg8:armhf (8c-2ubuntu11) ... 492s Selecting previously unselected package libgraphite2-3:armhf. 492s Preparing to unpack .../108-libgraphite2-3_1.3.14-2ubuntu1_armhf.deb ... 492s Unpacking libgraphite2-3:armhf (1.3.14-2ubuntu1) ... 492s Selecting previously unselected package libharfbuzz0b:armhf. 492s Preparing to unpack .../109-libharfbuzz0b_10.2.0-1_armhf.deb ... 492s Unpacking libharfbuzz0b:armhf (10.2.0-1) ... 492s Selecting previously unselected package libraqm0:armhf. 493s Preparing to unpack .../110-libraqm0_0.10.2-1_armhf.deb ... 493s Unpacking libraqm0:armhf (0.10.2-1) ... 493s Selecting previously unselected package libdeflate0:armhf. 493s Preparing to unpack .../111-libdeflate0_1.23-1_armhf.deb ... 493s Unpacking libdeflate0:armhf (1.23-1) ... 493s Selecting previously unselected package libjbig0:armhf. 493s Preparing to unpack .../112-libjbig0_2.1-6.1ubuntu2_armhf.deb ... 493s Unpacking libjbig0:armhf (2.1-6.1ubuntu2) ... 493s Selecting previously unselected package liblerc4:armhf. 493s Preparing to unpack .../113-liblerc4_4.0.0+ds-5ubuntu1_armhf.deb ... 493s Unpacking liblerc4:armhf (4.0.0+ds-5ubuntu1) ... 493s Selecting previously unselected package libwebp7:armhf. 493s Preparing to unpack .../114-libwebp7_1.5.0-0.1_armhf.deb ... 493s Unpacking libwebp7:armhf (1.5.0-0.1) ... 493s Selecting previously unselected package libtiff6:armhf. 493s Preparing to unpack .../115-libtiff6_4.5.1+git230720-4ubuntu4_armhf.deb ... 493s Unpacking libtiff6:armhf (4.5.1+git230720-4ubuntu4) ... 493s Selecting previously unselected package libxpm4:armhf. 493s Preparing to unpack .../116-libxpm4_1%3a3.5.17-1build2_armhf.deb ... 493s Unpacking libxpm4:armhf (1:3.5.17-1build2) ... 493s Selecting previously unselected package libgd3:armhf. 493s Preparing to unpack .../117-libgd3_2.3.3-12ubuntu3_armhf.deb ... 493s Unpacking libgd3:armhf (2.3.3-12ubuntu3) ... 493s Selecting previously unselected package liblua5.4-0:armhf. 493s Preparing to unpack .../118-liblua5.4-0_5.4.7-1_armhf.deb ... 493s Unpacking liblua5.4-0:armhf (5.4.7-1) ... 493s Selecting previously unselected package fontconfig. 493s Preparing to unpack .../119-fontconfig_2.15.0-2ubuntu1_armhf.deb ... 493s Unpacking fontconfig (2.15.0-2ubuntu1) ... 493s Selecting previously unselected package libthai-data. 493s Preparing to unpack .../120-libthai-data_0.1.29-2build1_all.deb ... 493s Unpacking libthai-data (0.1.29-2build1) ... 493s Selecting previously unselected package libdatrie1:armhf. 493s Preparing to unpack .../121-libdatrie1_0.2.13-3build1_armhf.deb ... 493s Unpacking libdatrie1:armhf (0.2.13-3build1) ... 493s Selecting previously unselected package libthai0:armhf. 493s Preparing to unpack .../122-libthai0_0.1.29-2build1_armhf.deb ... 493s Unpacking libthai0:armhf (0.1.29-2build1) ... 493s Selecting previously unselected package libpango-1.0-0:armhf. 493s Preparing to unpack .../123-libpango-1.0-0_1.56.2-1_armhf.deb ... 493s Unpacking libpango-1.0-0:armhf (1.56.2-1) ... 493s Selecting previously unselected package libpangoft2-1.0-0:armhf. 493s Preparing to unpack .../124-libpangoft2-1.0-0_1.56.2-1_armhf.deb ... 493s Unpacking libpangoft2-1.0-0:armhf (1.56.2-1) ... 493s Selecting previously unselected package libpangocairo-1.0-0:armhf. 493s Preparing to unpack .../125-libpangocairo-1.0-0_1.56.2-1_armhf.deb ... 493s Unpacking libpangocairo-1.0-0:armhf (1.56.2-1) ... 493s Selecting previously unselected package libwebpmux3:armhf. 493s Preparing to unpack .../126-libwebpmux3_1.5.0-0.1_armhf.deb ... 493s Unpacking libwebpmux3:armhf (1.5.0-0.1) ... 493s Selecting previously unselected package gnuplot-nox. 493s Preparing to unpack .../127-gnuplot-nox_6.0.2+dfsg1-1_armhf.deb ... 493s Unpacking gnuplot-nox (6.0.2+dfsg1-1) ... 493s Selecting previously unselected package dh-octave-autopkgtest. 493s Preparing to unpack .../128-dh-octave-autopkgtest_1.8.0_all.deb ... 493s Unpacking dh-octave-autopkgtest (1.8.0) ... 493s Selecting previously unselected package libapt-pkg-perl. 493s Preparing to unpack .../129-libapt-pkg-perl_0.1.41build1_armhf.deb ... 493s Unpacking libapt-pkg-perl (0.1.41build1) ... 493s Selecting previously unselected package libarray-intspan-perl. 493s Preparing to unpack .../130-libarray-intspan-perl_2.004-2_all.deb ... 493s Unpacking libarray-intspan-perl (2.004-2) ... 493s Selecting previously unselected package libyaml-libyaml-perl. 493s Preparing to unpack .../131-libyaml-libyaml-perl_0.903.0+ds-1_armhf.deb ... 493s Unpacking libyaml-libyaml-perl (0.903.0+ds-1) ... 493s Selecting previously unselected package libconfig-model-backend-yaml-perl. 493s Preparing to unpack .../132-libconfig-model-backend-yaml-perl_2.134-2_all.deb ... 493s Unpacking libconfig-model-backend-yaml-perl (2.134-2) ... 493s Selecting previously unselected package libexporter-lite-perl. 493s Preparing to unpack .../133-libexporter-lite-perl_0.09-2_all.deb ... 493s Unpacking libexporter-lite-perl (0.09-2) ... 493s Selecting previously unselected package libencode-locale-perl. 493s Preparing to unpack .../134-libencode-locale-perl_1.05-3_all.deb ... 493s Unpacking libencode-locale-perl (1.05-3) ... 493s Selecting previously unselected package libtimedate-perl. 494s Preparing to unpack .../135-libtimedate-perl_2.3300-2_all.deb ... 494s Unpacking libtimedate-perl (2.3300-2) ... 494s Selecting previously unselected package libhttp-date-perl. 494s Preparing to unpack .../136-libhttp-date-perl_6.06-1_all.deb ... 494s Unpacking libhttp-date-perl (6.06-1) ... 494s Selecting previously unselected package libfile-listing-perl. 494s Preparing to unpack .../137-libfile-listing-perl_6.16-1_all.deb ... 494s Unpacking libfile-listing-perl (6.16-1) ... 494s Selecting previously unselected package libhtml-tagset-perl. 494s Preparing to unpack .../138-libhtml-tagset-perl_3.24-1_all.deb ... 494s Unpacking libhtml-tagset-perl (3.24-1) ... 494s Selecting previously unselected package liburi-perl. 494s Preparing to unpack .../139-liburi-perl_5.30-1_all.deb ... 494s Unpacking liburi-perl (5.30-1) ... 494s Selecting previously unselected package libhtml-parser-perl:armhf. 494s Preparing to unpack .../140-libhtml-parser-perl_3.83-1build1_armhf.deb ... 494s Unpacking libhtml-parser-perl:armhf (3.83-1build1) ... 494s Selecting previously unselected package libhtml-tree-perl. 494s Preparing to unpack .../141-libhtml-tree-perl_5.07-3_all.deb ... 494s Unpacking libhtml-tree-perl (5.07-3) ... 494s Selecting previously unselected package libclone-perl:armhf. 494s Preparing to unpack .../142-libclone-perl_0.47-1_armhf.deb ... 494s Unpacking libclone-perl:armhf (0.47-1) ... 494s Selecting previously unselected package libio-html-perl. 494s Preparing to unpack .../143-libio-html-perl_1.004-3_all.deb ... 494s Unpacking libio-html-perl (1.004-3) ... 494s Selecting previously unselected package liblwp-mediatypes-perl. 494s Preparing to unpack .../144-liblwp-mediatypes-perl_6.04-2_all.deb ... 494s Unpacking liblwp-mediatypes-perl (6.04-2) ... 494s Selecting previously unselected package libhttp-message-perl. 494s Preparing to unpack .../145-libhttp-message-perl_7.00-2ubuntu1_all.deb ... 494s Unpacking libhttp-message-perl (7.00-2ubuntu1) ... 494s Selecting previously unselected package libhttp-cookies-perl. 494s Preparing to unpack .../146-libhttp-cookies-perl_6.11-1_all.deb ... 494s Unpacking libhttp-cookies-perl (6.11-1) ... 494s Selecting previously unselected package libhttp-negotiate-perl. 494s Preparing to unpack .../147-libhttp-negotiate-perl_6.01-2_all.deb ... 494s Unpacking libhttp-negotiate-perl (6.01-2) ... 494s Selecting previously unselected package perl-openssl-defaults:armhf. 494s Preparing to unpack .../148-perl-openssl-defaults_7build3_armhf.deb ... 494s Unpacking perl-openssl-defaults:armhf (7build3) ... 494s Selecting previously unselected package libnet-ssleay-perl:armhf. 494s Preparing to unpack .../149-libnet-ssleay-perl_1.94-3_armhf.deb ... 494s Unpacking libnet-ssleay-perl:armhf (1.94-3) ... 494s Selecting previously unselected package libio-socket-ssl-perl. 494s Preparing to unpack .../150-libio-socket-ssl-perl_2.089-1_all.deb ... 494s Unpacking libio-socket-ssl-perl (2.089-1) ... 494s Selecting previously unselected package libnet-http-perl. 494s Preparing to unpack .../151-libnet-http-perl_6.23-1_all.deb ... 494s Unpacking libnet-http-perl (6.23-1) ... 494s Selecting previously unselected package liblwp-protocol-https-perl. 494s Preparing to unpack .../152-liblwp-protocol-https-perl_6.14-1_all.deb ... 494s Unpacking liblwp-protocol-https-perl (6.14-1) ... 494s Selecting previously unselected package libwww-robotrules-perl. 494s Preparing to unpack .../153-libwww-robotrules-perl_6.02-1_all.deb ... 494s Unpacking libwww-robotrules-perl (6.02-1) ... 494s Selecting previously unselected package libwww-perl. 494s Preparing to unpack .../154-libwww-perl_6.78-1_all.deb ... 494s Unpacking libwww-perl (6.78-1) ... 494s Selecting previously unselected package liberror-perl. 494s Preparing to unpack .../155-liberror-perl_0.17030-1_all.deb ... 494s Unpacking liberror-perl (0.17030-1) ... 494s Selecting previously unselected package libparse-debcontrol-perl. 494s Preparing to unpack .../156-libparse-debcontrol-perl_2.005-6_all.deb ... 494s Unpacking libparse-debcontrol-perl (2.005-6) ... 494s Selecting previously unselected package libsoftware-copyright-perl. 494s Preparing to unpack .../157-libsoftware-copyright-perl_0.014-1_all.deb ... 494s Unpacking libsoftware-copyright-perl (0.014-1) ... 494s Selecting previously unselected package libalgorithm-c3-perl. 494s Preparing to unpack .../158-libalgorithm-c3-perl_0.11-2_all.deb ... 494s Unpacking libalgorithm-c3-perl (0.11-2) ... 494s Selecting previously unselected package libclass-c3-perl. 494s Preparing to unpack .../159-libclass-c3-perl_0.35-2_all.deb ... 494s Unpacking libclass-c3-perl (0.35-2) ... 495s Selecting previously unselected package libmro-compat-perl. 495s Preparing to unpack .../160-libmro-compat-perl_0.15-2_all.deb ... 495s Unpacking libmro-compat-perl (0.15-2) ... 495s Selecting previously unselected package libdata-section-perl. 495s Preparing to unpack .../161-libdata-section-perl_0.200008-1_all.deb ... 495s Unpacking libdata-section-perl (0.200008-1) ... 495s Selecting previously unselected package libtext-template-perl. 495s Preparing to unpack .../162-libtext-template-perl_1.61-1_all.deb ... 495s Unpacking libtext-template-perl (1.61-1) ... 495s Selecting previously unselected package libsoftware-license-perl. 495s Preparing to unpack .../163-libsoftware-license-perl_0.104006-1_all.deb ... 495s Unpacking libsoftware-license-perl (0.104006-1) ... 495s Selecting previously unselected package libsoftware-licensemoreutils-perl. 495s Preparing to unpack .../164-libsoftware-licensemoreutils-perl_1.009-1_all.deb ... 495s Unpacking libsoftware-licensemoreutils-perl (1.009-1) ... 495s Selecting previously unselected package libsort-versions-perl. 495s Preparing to unpack .../165-libsort-versions-perl_1.62-3_all.deb ... 495s Unpacking libsort-versions-perl (1.62-3) ... 495s Selecting previously unselected package libtext-reform-perl. 495s Preparing to unpack .../166-libtext-reform-perl_1.20-5_all.deb ... 495s Unpacking libtext-reform-perl (1.20-5) ... 495s Selecting previously unselected package libtext-autoformat-perl. 495s Preparing to unpack .../167-libtext-autoformat-perl_1.750000-2_all.deb ... 495s Unpacking libtext-autoformat-perl (1.750000-2) ... 495s Selecting previously unselected package libtext-levenshtein-damerau-perl. 495s Preparing to unpack .../168-libtext-levenshtein-damerau-perl_0.41-3_all.deb ... 495s Unpacking libtext-levenshtein-damerau-perl (0.41-3) ... 495s Selecting previously unselected package libtoml-tiny-perl. 495s Preparing to unpack .../169-libtoml-tiny-perl_0.19-1_all.deb ... 495s Unpacking libtoml-tiny-perl (0.19-1) ... 495s Selecting previously unselected package libclass-inspector-perl. 495s Preparing to unpack .../170-libclass-inspector-perl_1.36-3_all.deb ... 495s Unpacking libclass-inspector-perl (1.36-3) ... 495s Selecting previously unselected package libfile-sharedir-perl. 495s Preparing to unpack .../171-libfile-sharedir-perl_1.118-3_all.deb ... 495s Unpacking libfile-sharedir-perl (1.118-3) ... 495s Selecting previously unselected package libindirect-perl. 495s Preparing to unpack .../172-libindirect-perl_0.39-2build5_armhf.deb ... 495s Unpacking libindirect-perl (0.39-2build5) ... 495s Selecting previously unselected package libxs-parse-keyword-perl. 495s Preparing to unpack .../173-libxs-parse-keyword-perl_0.48-2_armhf.deb ... 495s Unpacking libxs-parse-keyword-perl (0.48-2) ... 495s Selecting previously unselected package libxs-parse-sublike-perl:armhf. 495s Preparing to unpack .../174-libxs-parse-sublike-perl_0.37-1_armhf.deb ... 495s Unpacking libxs-parse-sublike-perl:armhf (0.37-1) ... 495s Selecting previously unselected package libobject-pad-perl. 495s Preparing to unpack .../175-libobject-pad-perl_0.820-1_armhf.deb ... 495s Unpacking libobject-pad-perl (0.820-1) ... 495s Selecting previously unselected package libsyntax-keyword-try-perl. 495s Preparing to unpack .../176-libsyntax-keyword-try-perl_0.30-1_armhf.deb ... 495s Unpacking libsyntax-keyword-try-perl (0.30-1) ... 495s Selecting previously unselected package libio-interactive-perl. 495s Preparing to unpack .../177-libio-interactive-perl_1.026-1_all.deb ... 495s Unpacking libio-interactive-perl (1.026-1) ... 495s Selecting previously unselected package liblog-any-perl. 495s Preparing to unpack .../178-liblog-any-perl_1.717-1_all.deb ... 495s Unpacking liblog-any-perl (1.717-1) ... 495s Selecting previously unselected package liblog-any-adapter-screen-perl. 495s Preparing to unpack .../179-liblog-any-adapter-screen-perl_0.141-1_all.deb ... 495s Unpacking liblog-any-adapter-screen-perl (0.141-1) ... 495s Selecting previously unselected package libsub-exporter-progressive-perl. 495s Preparing to unpack .../180-libsub-exporter-progressive-perl_0.001013-3_all.deb ... 495s Unpacking libsub-exporter-progressive-perl (0.001013-3) ... 495s Selecting previously unselected package libvariable-magic-perl. 496s Preparing to unpack .../181-libvariable-magic-perl_0.64-1build1_armhf.deb ... 496s Unpacking libvariable-magic-perl (0.64-1build1) ... 496s Selecting previously unselected package libb-hooks-endofscope-perl. 496s Preparing to unpack .../182-libb-hooks-endofscope-perl_0.28-1_all.deb ... 496s Unpacking libb-hooks-endofscope-perl (0.28-1) ... 496s Selecting previously unselected package libsub-identify-perl. 496s Preparing to unpack .../183-libsub-identify-perl_0.14-3build4_armhf.deb ... 496s Unpacking libsub-identify-perl (0.14-3build4) ... 496s Selecting previously unselected package libsub-name-perl:armhf. 496s Preparing to unpack .../184-libsub-name-perl_0.28-1_armhf.deb ... 496s Unpacking libsub-name-perl:armhf (0.28-1) ... 496s Selecting previously unselected package libnamespace-clean-perl. 496s Preparing to unpack .../185-libnamespace-clean-perl_0.27-2_all.deb ... 496s Unpacking libnamespace-clean-perl (0.27-2) ... 496s Selecting previously unselected package libnumber-compare-perl. 496s Preparing to unpack .../186-libnumber-compare-perl_0.03-3_all.deb ... 496s Unpacking libnumber-compare-perl (0.03-3) ... 496s Selecting previously unselected package libtext-glob-perl. 496s Preparing to unpack .../187-libtext-glob-perl_0.11-3_all.deb ... 496s Unpacking libtext-glob-perl (0.11-3) ... 496s Selecting previously unselected package libpath-iterator-rule-perl. 496s Preparing to unpack .../188-libpath-iterator-rule-perl_1.015-2_all.deb ... 496s Unpacking libpath-iterator-rule-perl (1.015-2) ... 496s Selecting previously unselected package libpod-parser-perl. 496s Preparing to unpack .../189-libpod-parser-perl_1.67-1_all.deb ... 496s Adding 'diversion of /usr/bin/podselect to /usr/bin/podselect.bundled by libpod-parser-perl' 496s Adding 'diversion of /usr/share/man/man1/podselect.1.gz to /usr/share/man/man1/podselect.bundled.1.gz by libpod-parser-perl' 496s Unpacking libpod-parser-perl (1.67-1) ... 496s Selecting previously unselected package libpod-constants-perl. 496s Preparing to unpack .../190-libpod-constants-perl_0.19-2_all.deb ... 496s Unpacking libpod-constants-perl (0.19-2) ... 496s Selecting previously unselected package libset-intspan-perl. 496s Preparing to unpack .../191-libset-intspan-perl_1.19-3_all.deb ... 496s Unpacking libset-intspan-perl (1.19-3) ... 496s Selecting previously unselected package libstring-copyright-perl. 496s Preparing to unpack .../192-libstring-copyright-perl_0.003014-1_all.deb ... 496s Unpacking libstring-copyright-perl (0.003014-1) ... 496s Selecting previously unselected package libstring-escape-perl. 496s Preparing to unpack .../193-libstring-escape-perl_2010.002-3_all.deb ... 496s Unpacking libstring-escape-perl (2010.002-3) ... 496s Selecting previously unselected package libregexp-pattern-license-perl. 496s Preparing to unpack .../194-libregexp-pattern-license-perl_3.11.2-1_all.deb ... 496s Unpacking libregexp-pattern-license-perl (3.11.2-1) ... 496s Selecting previously unselected package libregexp-pattern-perl. 496s Preparing to unpack .../195-libregexp-pattern-perl_0.2.14-2_all.deb ... 496s Unpacking libregexp-pattern-perl (0.2.14-2) ... 496s Selecting previously unselected package libstring-license-perl. 496s Preparing to unpack .../196-libstring-license-perl_0.0.11-1ubuntu1_all.deb ... 496s Unpacking libstring-license-perl (0.0.11-1ubuntu1) ... 496s Selecting previously unselected package licensecheck. 496s Preparing to unpack .../197-licensecheck_3.3.9-1ubuntu1_all.deb ... 496s Unpacking licensecheck (3.3.9-1ubuntu1) ... 496s Selecting previously unselected package diffstat. 496s Preparing to unpack .../198-diffstat_1.67-1_armhf.deb ... 496s Unpacking diffstat (1.67-1) ... 496s Selecting previously unselected package libberkeleydb-perl:armhf. 496s Preparing to unpack .../199-libberkeleydb-perl_0.66-1_armhf.deb ... 496s Unpacking libberkeleydb-perl:armhf (0.66-1) ... 496s Selecting previously unselected package libclass-xsaccessor-perl. 496s Preparing to unpack .../200-libclass-xsaccessor-perl_1.19-4build6_armhf.deb ... 496s Unpacking libclass-xsaccessor-perl (1.19-4build6) ... 496s Selecting previously unselected package libconfig-tiny-perl. 496s Preparing to unpack .../201-libconfig-tiny-perl_2.30-1_all.deb ... 496s Unpacking libconfig-tiny-perl (2.30-1) ... 496s Selecting previously unselected package libconst-fast-perl. 496s Preparing to unpack .../202-libconst-fast-perl_0.014-2_all.deb ... 496s Unpacking libconst-fast-perl (0.014-2) ... 497s Selecting previously unselected package libcpanel-json-xs-perl:armhf. 497s Preparing to unpack .../203-libcpanel-json-xs-perl_4.39-1_armhf.deb ... 497s Unpacking libcpanel-json-xs-perl:armhf (4.39-1) ... 497s Selecting previously unselected package libaliased-perl. 497s Preparing to unpack .../204-libaliased-perl_0.34-3_all.deb ... 497s Unpacking libaliased-perl (0.34-3) ... 497s Selecting previously unselected package libclass-data-inheritable-perl. 497s Preparing to unpack .../205-libclass-data-inheritable-perl_0.10-1_all.deb ... 497s Unpacking libclass-data-inheritable-perl (0.10-1) ... 497s Selecting previously unselected package libdevel-stacktrace-perl. 497s Preparing to unpack .../206-libdevel-stacktrace-perl_2.0500-1_all.deb ... 497s Unpacking libdevel-stacktrace-perl (2.0500-1) ... 497s Selecting previously unselected package libexception-class-perl. 497s Preparing to unpack .../207-libexception-class-perl_1.45-1_all.deb ... 497s Unpacking libexception-class-perl (1.45-1) ... 497s Selecting previously unselected package libiterator-perl. 497s Preparing to unpack .../208-libiterator-perl_0.03+ds1-2_all.deb ... 497s Unpacking libiterator-perl (0.03+ds1-2) ... 497s Selecting previously unselected package libiterator-util-perl. 497s Preparing to unpack .../209-libiterator-util-perl_0.02+ds1-2_all.deb ... 497s Unpacking libiterator-util-perl (0.02+ds1-2) ... 497s Selecting previously unselected package libdata-dpath-perl. 497s Preparing to unpack .../210-libdata-dpath-perl_0.60-1_all.deb ... 497s Unpacking libdata-dpath-perl (0.60-1) ... 497s Selecting previously unselected package libnet-domain-tld-perl. 497s Preparing to unpack .../211-libnet-domain-tld-perl_1.75-4_all.deb ... 497s Unpacking libnet-domain-tld-perl (1.75-4) ... 497s Selecting previously unselected package libdata-validate-domain-perl. 497s Preparing to unpack .../212-libdata-validate-domain-perl_0.15-1_all.deb ... 497s Unpacking libdata-validate-domain-perl (0.15-1) ... 497s Selecting previously unselected package libnet-ipv6addr-perl. 497s Preparing to unpack .../213-libnet-ipv6addr-perl_1.02-1_all.deb ... 497s Unpacking libnet-ipv6addr-perl (1.02-1) ... 497s Selecting previously unselected package libnet-netmask-perl. 497s Preparing to unpack .../214-libnet-netmask-perl_2.0002-2_all.deb ... 497s Unpacking libnet-netmask-perl (2.0002-2) ... 497s Selecting previously unselected package libnetaddr-ip-perl. 497s Preparing to unpack .../215-libnetaddr-ip-perl_4.079+dfsg-2build5_armhf.deb ... 497s Unpacking libnetaddr-ip-perl (4.079+dfsg-2build5) ... 497s Selecting previously unselected package libdata-validate-ip-perl. 497s Preparing to unpack .../216-libdata-validate-ip-perl_0.31-1_all.deb ... 497s Unpacking libdata-validate-ip-perl (0.31-1) ... 497s Selecting previously unselected package libdata-validate-uri-perl. 497s Preparing to unpack .../217-libdata-validate-uri-perl_0.07-3_all.deb ... 497s Unpacking libdata-validate-uri-perl (0.07-3) ... 497s Selecting previously unselected package libdevel-size-perl. 497s Preparing to unpack .../218-libdevel-size-perl_0.84-1build1_armhf.deb ... 497s Unpacking libdevel-size-perl (0.84-1build1) ... 497s Selecting previously unselected package libemail-address-xs-perl. 497s Preparing to unpack .../219-libemail-address-xs-perl_1.05-1build5_armhf.deb ... 497s Unpacking libemail-address-xs-perl (1.05-1build5) ... 497s Selecting previously unselected package libipc-system-simple-perl. 497s Preparing to unpack .../220-libipc-system-simple-perl_1.30-2_all.deb ... 497s Unpacking libipc-system-simple-perl (1.30-2) ... 497s Selecting previously unselected package libfile-basedir-perl. 497s Preparing to unpack .../221-libfile-basedir-perl_0.09-2_all.deb ... 497s Unpacking libfile-basedir-perl (0.09-2) ... 497s Selecting previously unselected package libfile-find-rule-perl. 497s Preparing to unpack .../222-libfile-find-rule-perl_0.34-3_all.deb ... 497s Unpacking libfile-find-rule-perl (0.34-3) ... 497s Selecting previously unselected package libio-string-perl. 497s Preparing to unpack .../223-libio-string-perl_1.08-4_all.deb ... 497s Unpacking libio-string-perl (1.08-4) ... 497s Selecting previously unselected package libfont-ttf-perl. 497s Preparing to unpack .../224-libfont-ttf-perl_1.06-2_all.deb ... 497s Unpacking libfont-ttf-perl (1.06-2) ... 497s Selecting previously unselected package libhtml-html5-entities-perl. 497s Preparing to unpack .../225-libhtml-html5-entities-perl_0.004-3_all.deb ... 497s Unpacking libhtml-html5-entities-perl (0.004-3) ... 497s Selecting previously unselected package libhtml-tokeparser-simple-perl. 498s Preparing to unpack .../226-libhtml-tokeparser-simple-perl_3.16-4_all.deb ... 498s Unpacking libhtml-tokeparser-simple-perl (3.16-4) ... 498s Selecting previously unselected package libipc-run3-perl. 498s Preparing to unpack .../227-libipc-run3-perl_0.049-1_all.deb ... 498s Unpacking libipc-run3-perl (0.049-1) ... 498s Selecting previously unselected package libjson-maybexs-perl. 498s Preparing to unpack .../228-libjson-maybexs-perl_1.004008-1_all.deb ... 498s Unpacking libjson-maybexs-perl (1.004008-1) ... 498s Selecting previously unselected package liblist-compare-perl. 498s Preparing to unpack .../229-liblist-compare-perl_0.55-2_all.deb ... 498s Unpacking liblist-compare-perl (0.55-2) ... 498s Selecting previously unselected package liblist-someutils-perl. 498s Preparing to unpack .../230-liblist-someutils-perl_0.59-1_all.deb ... 498s Unpacking liblist-someutils-perl (0.59-1) ... 498s Selecting previously unselected package liblist-utilsby-perl. 498s Preparing to unpack .../231-liblist-utilsby-perl_0.12-2_all.deb ... 498s Unpacking liblist-utilsby-perl (0.12-2) ... 498s Selecting previously unselected package libmldbm-perl. 498s Preparing to unpack .../232-libmldbm-perl_2.05-4_all.deb ... 498s Unpacking libmldbm-perl (2.05-4) ... 498s Selecting previously unselected package libclass-method-modifiers-perl. 498s Preparing to unpack .../233-libclass-method-modifiers-perl_2.15-1_all.deb ... 498s Unpacking libclass-method-modifiers-perl (2.15-1) ... 498s Selecting previously unselected package libimport-into-perl. 498s Preparing to unpack .../234-libimport-into-perl_1.002005-2_all.deb ... 498s Unpacking libimport-into-perl (1.002005-2) ... 498s Selecting previously unselected package librole-tiny-perl. 498s Preparing to unpack .../235-librole-tiny-perl_2.002004-1_all.deb ... 498s Unpacking librole-tiny-perl (2.002004-1) ... 498s Selecting previously unselected package libsub-quote-perl. 498s Preparing to unpack .../236-libsub-quote-perl_2.006008-1ubuntu1_all.deb ... 498s Unpacking libsub-quote-perl (2.006008-1ubuntu1) ... 498s Selecting previously unselected package libmoo-perl. 498s Preparing to unpack .../237-libmoo-perl_2.005005-1_all.deb ... 498s Unpacking libmoo-perl (2.005005-1) ... 498s Selecting previously unselected package libstrictures-perl. 498s Preparing to unpack .../238-libstrictures-perl_2.000006-1_all.deb ... 498s Unpacking libstrictures-perl (2.000006-1) ... 498s Selecting previously unselected package libmoox-aliases-perl. 498s Preparing to unpack .../239-libmoox-aliases-perl_0.001006-2_all.deb ... 498s Unpacking libmoox-aliases-perl (0.001006-2) ... 498s Selecting previously unselected package libperlio-gzip-perl. 498s Preparing to unpack .../240-libperlio-gzip-perl_0.20-1build5_armhf.deb ... 498s Unpacking libperlio-gzip-perl (0.20-1build5) ... 498s Selecting previously unselected package libperlio-utf8-strict-perl. 498s Preparing to unpack .../241-libperlio-utf8-strict-perl_0.010-1build4_armhf.deb ... 498s Unpacking libperlio-utf8-strict-perl (0.010-1build4) ... 498s Selecting previously unselected package libproc-processtable-perl:armhf. 498s Preparing to unpack .../242-libproc-processtable-perl_0.636-1build4_armhf.deb ... 498s Unpacking libproc-processtable-perl:armhf (0.636-1build4) ... 498s Selecting previously unselected package libregexp-wildcards-perl. 498s Preparing to unpack .../243-libregexp-wildcards-perl_1.05-3_all.deb ... 498s Unpacking libregexp-wildcards-perl (1.05-3) ... 498s Selecting previously unselected package libsereal-decoder-perl. 498s Preparing to unpack .../244-libsereal-decoder-perl_5.004+ds-1build4_armhf.deb ... 498s Unpacking libsereal-decoder-perl (5.004+ds-1build4) ... 498s Selecting previously unselected package libsereal-encoder-perl. 498s Preparing to unpack .../245-libsereal-encoder-perl_5.004+ds-1build4_armhf.deb ... 498s Unpacking libsereal-encoder-perl (5.004+ds-1build4) ... 498s Selecting previously unselected package libterm-readkey-perl. 498s Preparing to unpack .../246-libterm-readkey-perl_2.38-2build5_armhf.deb ... 498s Unpacking libterm-readkey-perl (2.38-2build5) ... 498s Selecting previously unselected package libtext-levenshteinxs-perl. 498s Preparing to unpack .../247-libtext-levenshteinxs-perl_0.03-5build5_armhf.deb ... 498s Unpacking libtext-levenshteinxs-perl (0.03-5build5) ... 498s Selecting previously unselected package libmarkdown2:armhf. 498s Preparing to unpack .../248-libmarkdown2_2.2.7-2.1_armhf.deb ... 498s Unpacking libmarkdown2:armhf (2.2.7-2.1) ... 498s Selecting previously unselected package libtext-markdown-discount-perl. 498s Preparing to unpack .../249-libtext-markdown-discount-perl_0.18-1_armhf.deb ... 498s Unpacking libtext-markdown-discount-perl (0.18-1) ... 498s Selecting previously unselected package libdata-messagepack-perl. 498s Preparing to unpack .../250-libdata-messagepack-perl_1.02-1build5_armhf.deb ... 498s Unpacking libdata-messagepack-perl (1.02-1build5) ... 498s Selecting previously unselected package libtext-xslate-perl:armhf. 499s Preparing to unpack .../251-libtext-xslate-perl_3.5.9-2build1_armhf.deb ... 499s Unpacking libtext-xslate-perl:armhf (3.5.9-2build1) ... 499s Selecting previously unselected package libtime-duration-perl. 499s Preparing to unpack .../252-libtime-duration-perl_1.21-2_all.deb ... 499s Unpacking libtime-duration-perl (1.21-2) ... 499s Selecting previously unselected package libtime-moment-perl. 499s Preparing to unpack .../253-libtime-moment-perl_0.44-2build5_armhf.deb ... 499s Unpacking libtime-moment-perl (0.44-2build5) ... 499s Selecting previously unselected package libunicode-utf8-perl. 499s Preparing to unpack .../254-libunicode-utf8-perl_0.62-2build4_armhf.deb ... 499s Unpacking libunicode-utf8-perl (0.62-2build4) ... 499s Selecting previously unselected package libcgi-pm-perl. 499s Preparing to unpack .../255-libcgi-pm-perl_4.67-1_all.deb ... 499s Unpacking libcgi-pm-perl (4.67-1) ... 499s Selecting previously unselected package libhtml-form-perl. 499s Preparing to unpack .../256-libhtml-form-perl_6.12-1_all.deb ... 499s Unpacking libhtml-form-perl (6.12-1) ... 499s Selecting previously unselected package libwww-mechanize-perl. 499s Preparing to unpack .../257-libwww-mechanize-perl_2.19-1ubuntu1_all.deb ... 499s Unpacking libwww-mechanize-perl (2.19-1ubuntu1) ... 499s Selecting previously unselected package libxml-namespacesupport-perl. 499s Preparing to unpack .../258-libxml-namespacesupport-perl_1.12-2_all.deb ... 499s Unpacking libxml-namespacesupport-perl (1.12-2) ... 499s Selecting previously unselected package libxml-sax-base-perl. 499s Preparing to unpack .../259-libxml-sax-base-perl_1.09-3_all.deb ... 499s Unpacking libxml-sax-base-perl (1.09-3) ... 499s Selecting previously unselected package libxml-sax-perl. 499s Preparing to unpack .../260-libxml-sax-perl_1.02+dfsg-4_all.deb ... 499s Unpacking libxml-sax-perl (1.02+dfsg-4) ... 499s Selecting previously unselected package libxml-libxml-perl. 499s Preparing to unpack .../261-libxml-libxml-perl_2.0207+dfsg+really+2.0134-5build1_armhf.deb ... 499s Unpacking libxml-libxml-perl (2.0207+dfsg+really+2.0134-5build1) ... 499s Selecting previously unselected package lzip. 499s Preparing to unpack .../262-lzip_1.25-2_armhf.deb ... 499s Unpacking lzip (1.25-2) ... 499s Selecting previously unselected package lzop. 499s Preparing to unpack .../263-lzop_1.04-2build3_armhf.deb ... 499s Unpacking lzop (1.04-2build3) ... 499s Selecting previously unselected package patchutils. 499s Preparing to unpack .../264-patchutils_0.4.2-1build3_armhf.deb ... 499s Unpacking patchutils (0.4.2-1build3) ... 499s Selecting previously unselected package t1utils. 499s Preparing to unpack .../265-t1utils_1.41-4build3_armhf.deb ... 499s Unpacking t1utils (1.41-4build3) ... 499s Selecting previously unselected package unzip. 499s Preparing to unpack .../266-unzip_6.0-28ubuntu6_armhf.deb ... 499s Unpacking unzip (6.0-28ubuntu6) ... 499s Selecting previously unselected package lintian. 499s Preparing to unpack .../267-lintian_2.121.1+nmu1ubuntu2_all.deb ... 499s Unpacking lintian (2.121.1+nmu1ubuntu2) ... 500s Selecting previously unselected package libconfig-model-dpkg-perl. 500s Preparing to unpack .../268-libconfig-model-dpkg-perl_3.010_all.deb ... 500s Unpacking libconfig-model-dpkg-perl (3.010) ... 500s Selecting previously unselected package libconvert-binhex-perl. 500s Preparing to unpack .../269-libconvert-binhex-perl_1.125-3_all.deb ... 500s Unpacking libconvert-binhex-perl (1.125-3) ... 500s Selecting previously unselected package libnet-smtp-ssl-perl. 500s Preparing to unpack .../270-libnet-smtp-ssl-perl_1.04-2_all.deb ... 500s Unpacking libnet-smtp-ssl-perl (1.04-2) ... 500s Selecting previously unselected package libmailtools-perl. 500s Preparing to unpack .../271-libmailtools-perl_2.22-1_all.deb ... 500s Unpacking libmailtools-perl (2.22-1) ... 500s Selecting previously unselected package libmime-tools-perl. 500s Preparing to unpack .../272-libmime-tools-perl_5.515-1_all.deb ... 500s Unpacking libmime-tools-perl (5.515-1) ... 500s Selecting previously unselected package libsuitesparseconfig7:armhf. 500s Preparing to unpack .../273-libsuitesparseconfig7_1%3a7.8.3+dfsg-3_armhf.deb ... 500s Unpacking libsuitesparseconfig7:armhf (1:7.8.3+dfsg-3) ... 500s Selecting previously unselected package libamd3:armhf. 500s Preparing to unpack .../274-libamd3_1%3a7.8.3+dfsg-3_armhf.deb ... 500s Unpacking libamd3:armhf (1:7.8.3+dfsg-3) ... 500s Selecting previously unselected package libblas3:armhf. 500s Preparing to unpack .../275-libblas3_3.12.1-2_armhf.deb ... 500s Unpacking libblas3:armhf (3.12.1-2) ... 500s Selecting previously unselected package libgfortran5:armhf. 500s Preparing to unpack .../276-libgfortran5_15-20250222-0ubuntu1_armhf.deb ... 500s Unpacking libgfortran5:armhf (15-20250222-0ubuntu1) ... 500s Selecting previously unselected package liblapack3:armhf. 500s Preparing to unpack .../277-liblapack3_3.12.1-2_armhf.deb ... 500s Unpacking liblapack3:armhf (3.12.1-2) ... 500s Selecting previously unselected package libarpack2t64:armhf. 500s Preparing to unpack .../278-libarpack2t64_3.9.1-4_armhf.deb ... 500s Unpacking libarpack2t64:armhf (3.9.1-4) ... 500s Selecting previously unselected package libccolamd3:armhf. 500s Preparing to unpack .../279-libccolamd3_1%3a7.8.3+dfsg-3_armhf.deb ... 500s Unpacking libccolamd3:armhf (1:7.8.3+dfsg-3) ... 500s Selecting previously unselected package libcamd3:armhf. 500s Preparing to unpack .../280-libcamd3_1%3a7.8.3+dfsg-3_armhf.deb ... 500s Unpacking libcamd3:armhf (1:7.8.3+dfsg-3) ... 500s Selecting previously unselected package libcolamd3:armhf. 500s Preparing to unpack .../281-libcolamd3_1%3a7.8.3+dfsg-3_armhf.deb ... 500s Unpacking libcolamd3:armhf (1:7.8.3+dfsg-3) ... 500s Selecting previously unselected package libcholmod5:armhf. 500s Preparing to unpack .../282-libcholmod5_1%3a7.8.3+dfsg-3_armhf.deb ... 500s Unpacking libcholmod5:armhf (1:7.8.3+dfsg-3) ... 500s Selecting previously unselected package libcxsparse4:armhf. 501s Preparing to unpack .../283-libcxsparse4_1%3a7.8.3+dfsg-3_armhf.deb ... 501s Unpacking libcxsparse4:armhf (1:7.8.3+dfsg-3) ... 501s Selecting previously unselected package libfftw3-double3:armhf. 501s Preparing to unpack .../284-libfftw3-double3_3.3.10-2fakesync1build1_armhf.deb ... 501s Unpacking libfftw3-double3:armhf (3.3.10-2fakesync1build1) ... 501s Selecting previously unselected package libfftw3-single3:armhf. 501s Preparing to unpack .../285-libfftw3-single3_3.3.10-2fakesync1build1_armhf.deb ... 501s Unpacking libfftw3-single3:armhf (3.3.10-2fakesync1build1) ... 501s Selecting previously unselected package libxfixes3:armhf. 501s Preparing to unpack .../286-libxfixes3_1%3a6.0.0-2build1_armhf.deb ... 501s Unpacking libxfixes3:armhf (1:6.0.0-2build1) ... 501s Selecting previously unselected package libxcursor1:armhf. 501s Preparing to unpack .../287-libxcursor1_1%3a1.2.3-1_armhf.deb ... 501s Unpacking libxcursor1:armhf (1:1.2.3-1) ... 501s Selecting previously unselected package libxft2:armhf. 501s Preparing to unpack .../288-libxft2_2.3.6-1build1_armhf.deb ... 501s Unpacking libxft2:armhf (2.3.6-1build1) ... 501s Selecting previously unselected package libxinerama1:armhf. 501s Preparing to unpack .../289-libxinerama1_2%3a1.1.4-3build1_armhf.deb ... 501s Unpacking libxinerama1:armhf (2:1.1.4-3build1) ... 501s Selecting previously unselected package libfltk1.3t64:armhf. 501s Preparing to unpack .../290-libfltk1.3t64_1.3.8-6.1build2_armhf.deb ... 501s Unpacking libfltk1.3t64:armhf (1.3.8-6.1build2) ... 501s Selecting previously unselected package libglvnd0:armhf. 501s Preparing to unpack .../291-libglvnd0_1.7.0-1build1_armhf.deb ... 501s Unpacking libglvnd0:armhf (1.7.0-1build1) ... 501s Selecting previously unselected package libx11-xcb1:armhf. 501s Preparing to unpack .../292-libx11-xcb1_2%3a1.8.10-2_armhf.deb ... 501s Unpacking libx11-xcb1:armhf (2:1.8.10-2) ... 501s Selecting previously unselected package libxcb-dri3-0:armhf. 501s Preparing to unpack .../293-libxcb-dri3-0_1.17.0-2_armhf.deb ... 501s Unpacking libxcb-dri3-0:armhf (1.17.0-2) ... 501s Selecting previously unselected package libxcb-glx0:armhf. 501s Preparing to unpack .../294-libxcb-glx0_1.17.0-2_armhf.deb ... 501s Unpacking libxcb-glx0:armhf (1.17.0-2) ... 501s Selecting previously unselected package libxcb-present0:armhf. 501s Preparing to unpack .../295-libxcb-present0_1.17.0-2_armhf.deb ... 501s Unpacking libxcb-present0:armhf (1.17.0-2) ... 501s Selecting previously unselected package libxcb-xfixes0:armhf. 501s Preparing to unpack .../296-libxcb-xfixes0_1.17.0-2_armhf.deb ... 501s Unpacking libxcb-xfixes0:armhf (1.17.0-2) ... 501s Selecting previously unselected package libxxf86vm1:armhf. 501s Preparing to unpack .../297-libxxf86vm1_1%3a1.1.4-1build4_armhf.deb ... 501s Unpacking libxxf86vm1:armhf (1:1.1.4-1build4) ... 501s Selecting previously unselected package libllvm19:armhf. 501s Preparing to unpack .../298-libllvm19_1%3a19.1.7-1ubuntu2_armhf.deb ... 501s Unpacking libllvm19:armhf (1:19.1.7-1ubuntu2) ... 502s Selecting previously unselected package libxcb-randr0:armhf. 502s Preparing to unpack .../299-libxcb-randr0_1.17.0-2_armhf.deb ... 502s Unpacking libxcb-randr0:armhf (1.17.0-2) ... 502s Selecting previously unselected package libxcb-sync1:armhf. 502s Preparing to unpack .../300-libxcb-sync1_1.17.0-2_armhf.deb ... 502s Unpacking libxcb-sync1:armhf (1.17.0-2) ... 502s Selecting previously unselected package libxshmfence1:armhf. 502s Preparing to unpack .../301-libxshmfence1_1.3-1build5_armhf.deb ... 502s Unpacking libxshmfence1:armhf (1.3-1build5) ... 502s Selecting previously unselected package mesa-libgallium:armhf. 502s Preparing to unpack .../302-mesa-libgallium_25.0.1-2ubuntu1_armhf.deb ... 502s Unpacking mesa-libgallium:armhf (25.0.1-2ubuntu1) ... 502s Selecting previously unselected package libwayland-server0:armhf. 502s Preparing to unpack .../303-libwayland-server0_1.23.1-3_armhf.deb ... 502s Unpacking libwayland-server0:armhf (1.23.1-3) ... 502s Selecting previously unselected package libgbm1:armhf. 502s Preparing to unpack .../304-libgbm1_25.0.1-2ubuntu1_armhf.deb ... 502s Unpacking libgbm1:armhf (25.0.1-2ubuntu1) ... 502s Selecting previously unselected package libvulkan1:armhf. 503s Preparing to unpack .../305-libvulkan1_1.4.304.0-1_armhf.deb ... 503s Unpacking libvulkan1:armhf (1.4.304.0-1) ... 503s Selecting previously unselected package libgl1-mesa-dri:armhf. 503s Preparing to unpack .../306-libgl1-mesa-dri_25.0.1-2ubuntu1_armhf.deb ... 503s Unpacking libgl1-mesa-dri:armhf (25.0.1-2ubuntu1) ... 503s Selecting previously unselected package libglx-mesa0:armhf. 503s Preparing to unpack .../307-libglx-mesa0_25.0.1-2ubuntu1_armhf.deb ... 503s Unpacking libglx-mesa0:armhf (25.0.1-2ubuntu1) ... 503s Selecting previously unselected package libglx0:armhf. 503s Preparing to unpack .../308-libglx0_1.7.0-1build1_armhf.deb ... 503s Unpacking libglx0:armhf (1.7.0-1build1) ... 503s Selecting previously unselected package libgl1:armhf. 503s Preparing to unpack .../309-libgl1_1.7.0-1build1_armhf.deb ... 503s Unpacking libgl1:armhf (1.7.0-1build1) ... 503s Selecting previously unselected package libfltk-gl1.3t64:armhf. 503s Preparing to unpack .../310-libfltk-gl1.3t64_1.3.8-6.1build2_armhf.deb ... 503s Unpacking libfltk-gl1.3t64:armhf (1.3.8-6.1build2) ... 503s Selecting previously unselected package libgl2ps1.4. 503s Preparing to unpack .../311-libgl2ps1.4_1.4.2+dfsg1-2build1_armhf.deb ... 503s Unpacking libgl2ps1.4 (1.4.2+dfsg1-2build1) ... 503s Selecting previously unselected package libltdl7:armhf. 503s Preparing to unpack .../312-libltdl7_2.5.4-4_armhf.deb ... 503s Unpacking libltdl7:armhf (2.5.4-4) ... 503s Selecting previously unselected package libglpk40:armhf. 503s Preparing to unpack .../313-libglpk40_5.0-1build2_armhf.deb ... 503s Unpacking libglpk40:armhf (5.0-1build2) ... 503s Selecting previously unselected package libopengl0:armhf. 503s Preparing to unpack .../314-libopengl0_1.7.0-1build1_armhf.deb ... 503s Unpacking libopengl0:armhf (1.7.0-1build1) ... 503s Selecting previously unselected package libglu1-mesa:armhf. 503s Preparing to unpack .../315-libglu1-mesa_9.0.2-1.1build1_armhf.deb ... 503s Unpacking libglu1-mesa:armhf (9.0.2-1.1build1) ... 503s Selecting previously unselected package liblcms2-2:armhf. 503s Preparing to unpack .../316-liblcms2-2_2.16-2_armhf.deb ... 503s Unpacking liblcms2-2:armhf (2.16-2) ... 503s Selecting previously unselected package libjxl0.11:armhf. 503s Preparing to unpack .../317-libjxl0.11_0.11.1-1_armhf.deb ... 503s Unpacking libjxl0.11:armhf (0.11.1-1) ... 503s Selecting previously unselected package libwmflite-0.2-7:armhf. 503s Preparing to unpack .../318-libwmflite-0.2-7_0.2.13-1.1build3_armhf.deb ... 503s Unpacking libwmflite-0.2-7:armhf (0.2.13-1.1build3) ... 503s Selecting previously unselected package libgraphicsmagick-q16-3t64. 503s Preparing to unpack .../319-libgraphicsmagick-q16-3t64_1.4+really1.3.45+hg17689-1_armhf.deb ... 503s Unpacking libgraphicsmagick-q16-3t64 (1.4+really1.3.45+hg17689-1) ... 503s Selecting previously unselected package libgraphicsmagick++-q16-12t64. 503s Preparing to unpack .../320-libgraphicsmagick++-q16-12t64_1.4+really1.3.45+hg17689-1_armhf.deb ... 503s Unpacking libgraphicsmagick++-q16-12t64 (1.4+really1.3.45+hg17689-1) ... 503s Selecting previously unselected package libaec0:armhf. 503s Preparing to unpack .../321-libaec0_1.1.3-1_armhf.deb ... 503s Unpacking libaec0:armhf (1.1.3-1) ... 503s Selecting previously unselected package libsz2:armhf. 503s Preparing to unpack .../322-libsz2_1.1.3-1_armhf.deb ... 503s Unpacking libsz2:armhf (1.1.3-1) ... 503s Selecting previously unselected package libhdf5-310:armhf. 503s Preparing to unpack .../323-libhdf5-310_1.14.5+repack-3_armhf.deb ... 503s Unpacking libhdf5-310:armhf (1.14.5+repack-3) ... 503s Selecting previously unselected package libasound2-data. 503s Preparing to unpack .../324-libasound2-data_1.2.13-1build1_all.deb ... 503s Unpacking libasound2-data (1.2.13-1build1) ... 503s Selecting previously unselected package libasound2t64:armhf. 503s Preparing to unpack .../325-libasound2t64_1.2.13-1build1_armhf.deb ... 503s Unpacking libasound2t64:armhf (1.2.13-1build1) ... 503s Selecting previously unselected package libopus0:armhf. 504s Preparing to unpack .../326-libopus0_1.5.2-2_armhf.deb ... 504s Unpacking libopus0:armhf (1.5.2-2) ... 504s Selecting previously unselected package libsamplerate0:armhf. 504s Preparing to unpack .../327-libsamplerate0_0.2.2-4build1_armhf.deb ... 504s Unpacking libsamplerate0:armhf (0.2.2-4build1) ... 504s Selecting previously unselected package libjack-jackd2-0:armhf. 504s Preparing to unpack .../328-libjack-jackd2-0_1.9.22~dfsg-4_armhf.deb ... 504s Unpacking libjack-jackd2-0:armhf (1.9.22~dfsg-4) ... 504s Selecting previously unselected package libportaudio2:armhf. 504s Preparing to unpack .../329-libportaudio2_19.6.0-1.2build3_armhf.deb ... 504s Unpacking libportaudio2:armhf (19.6.0-1.2build3) ... 504s Selecting previously unselected package libqhull-r8.0:armhf. 504s Preparing to unpack .../330-libqhull-r8.0_2020.2-6build1_armhf.deb ... 504s Unpacking libqhull-r8.0:armhf (2020.2-6build1) ... 504s Selecting previously unselected package libqrupdate1:armhf. 504s Preparing to unpack .../331-libqrupdate1_1.1.5-1_armhf.deb ... 504s Unpacking libqrupdate1:armhf (1.1.5-1) ... 504s Selecting previously unselected package libqscintilla2-qt6-l10n. 504s Preparing to unpack .../332-libqscintilla2-qt6-l10n_2.14.1+dfsg-1build4_all.deb ... 504s Unpacking libqscintilla2-qt6-l10n (2.14.1+dfsg-1build4) ... 504s Selecting previously unselected package libb2-1:armhf. 504s Preparing to unpack .../333-libb2-1_0.98.1-1.1build1_armhf.deb ... 504s Unpacking libb2-1:armhf (0.98.1-1.1build1) ... 504s Selecting previously unselected package libdouble-conversion3:armhf. 504s Preparing to unpack .../334-libdouble-conversion3_3.3.1-1_armhf.deb ... 504s Unpacking libdouble-conversion3:armhf (3.3.1-1) ... 504s Selecting previously unselected package libpcre2-16-0:armhf. 504s Preparing to unpack .../335-libpcre2-16-0_10.45-1_armhf.deb ... 504s Unpacking libpcre2-16-0:armhf (10.45-1) ... 504s Selecting previously unselected package libqt6core6t64:armhf. 504s Preparing to unpack .../336-libqt6core6t64_6.8.2+dfsg-5_armhf.deb ... 504s Unpacking libqt6core6t64:armhf (6.8.2+dfsg-5) ... 504s Selecting previously unselected package libwayland-client0:armhf. 504s Preparing to unpack .../337-libwayland-client0_1.23.1-3_armhf.deb ... 504s Unpacking libwayland-client0:armhf (1.23.1-3) ... 504s Selecting previously unselected package libegl-mesa0:armhf. 504s Preparing to unpack .../338-libegl-mesa0_25.0.1-2ubuntu1_armhf.deb ... 504s Unpacking libegl-mesa0:armhf (25.0.1-2ubuntu1) ... 504s Selecting previously unselected package libegl1:armhf. 504s Preparing to unpack .../339-libegl1_1.7.0-1build1_armhf.deb ... 504s Unpacking libegl1:armhf (1.7.0-1build1) ... 504s Selecting previously unselected package x11-common. 504s Preparing to unpack .../340-x11-common_1%3a7.7+23ubuntu3_all.deb ... 504s Unpacking x11-common (1:7.7+23ubuntu3) ... 504s Selecting previously unselected package libice6:armhf. 504s Preparing to unpack .../341-libice6_2%3a1.1.1-1_armhf.deb ... 504s Unpacking libice6:armhf (2:1.1.1-1) ... 504s Selecting previously unselected package libmtdev1t64:armhf. 504s Preparing to unpack .../342-libmtdev1t64_1.1.7-1_armhf.deb ... 504s Unpacking libmtdev1t64:armhf (1.1.7-1) ... 504s Selecting previously unselected package libwacom-common. 504s Preparing to unpack .../343-libwacom-common_2.14.0-1_all.deb ... 504s Unpacking libwacom-common (2.14.0-1) ... 504s Selecting previously unselected package libwacom9:armhf. 504s Preparing to unpack .../344-libwacom9_2.14.0-1_armhf.deb ... 504s Unpacking libwacom9:armhf (2.14.0-1) ... 504s Selecting previously unselected package libinput-bin. 504s Preparing to unpack .../345-libinput-bin_1.27.1-1_armhf.deb ... 505s Unpacking libinput-bin (1.27.1-1) ... 505s Selecting previously unselected package libinput10:armhf. 505s Preparing to unpack .../346-libinput10_1.27.1-1_armhf.deb ... 505s Unpacking libinput10:armhf (1.27.1-1) ... 505s Selecting previously unselected package libmd4c0:armhf. 505s Preparing to unpack .../347-libmd4c0_0.5.2-2_armhf.deb ... 505s Unpacking libmd4c0:armhf (0.5.2-2) ... 505s Selecting previously unselected package libqt6dbus6:armhf. 505s Preparing to unpack .../348-libqt6dbus6_6.8.2+dfsg-5_armhf.deb ... 505s Unpacking libqt6dbus6:armhf (6.8.2+dfsg-5) ... 505s Selecting previously unselected package libsm6:armhf. 505s Preparing to unpack .../349-libsm6_2%3a1.2.4-1_armhf.deb ... 505s Unpacking libsm6:armhf (2:1.2.4-1) ... 505s Selecting previously unselected package libts0t64:armhf. 505s Preparing to unpack .../350-libts0t64_1.22-1.1build1_armhf.deb ... 505s Unpacking libts0t64:armhf (1.22-1.1build1) ... 505s Selecting previously unselected package libxcb-util1:armhf. 505s Preparing to unpack .../351-libxcb-util1_0.4.1-1_armhf.deb ... 505s Unpacking libxcb-util1:armhf (0.4.1-1) ... 505s Selecting previously unselected package libxcb-image0:armhf. 505s Preparing to unpack .../352-libxcb-image0_0.4.0-2build1_armhf.deb ... 505s Unpacking libxcb-image0:armhf (0.4.0-2build1) ... 505s Selecting previously unselected package libxcb-render-util0:armhf. 505s Preparing to unpack .../353-libxcb-render-util0_0.3.10-1_armhf.deb ... 505s Unpacking libxcb-render-util0:armhf (0.3.10-1) ... 505s Selecting previously unselected package libxcb-cursor0:armhf. 505s Preparing to unpack .../354-libxcb-cursor0_0.1.5-1_armhf.deb ... 505s Unpacking libxcb-cursor0:armhf (0.1.5-1) ... 505s Selecting previously unselected package libxcb-icccm4:armhf. 505s Preparing to unpack .../355-libxcb-icccm4_0.4.2-1_armhf.deb ... 505s Unpacking libxcb-icccm4:armhf (0.4.2-1) ... 505s Selecting previously unselected package libxcb-keysyms1:armhf. 505s Preparing to unpack .../356-libxcb-keysyms1_0.4.1-1_armhf.deb ... 505s Unpacking libxcb-keysyms1:armhf (0.4.1-1) ... 505s Selecting previously unselected package libxcb-shape0:armhf. 505s Preparing to unpack .../357-libxcb-shape0_1.17.0-2_armhf.deb ... 505s Unpacking libxcb-shape0:armhf (1.17.0-2) ... 505s Selecting previously unselected package libxcb-xinput0:armhf. 505s Preparing to unpack .../358-libxcb-xinput0_1.17.0-2_armhf.deb ... 505s Unpacking libxcb-xinput0:armhf (1.17.0-2) ... 505s Selecting previously unselected package libxcb-xkb1:armhf. 505s Preparing to unpack .../359-libxcb-xkb1_1.17.0-2_armhf.deb ... 505s Unpacking libxcb-xkb1:armhf (1.17.0-2) ... 505s Selecting previously unselected package libxkbcommon-x11-0:armhf. 505s Preparing to unpack .../360-libxkbcommon-x11-0_1.7.0-2_armhf.deb ... 505s Unpacking libxkbcommon-x11-0:armhf (1.7.0-2) ... 505s Selecting previously unselected package libqt6gui6:armhf. 505s Preparing to unpack .../361-libqt6gui6_6.8.2+dfsg-5_armhf.deb ... 505s Unpacking libqt6gui6:armhf (6.8.2+dfsg-5) ... 505s Selecting previously unselected package libavahi-common-data:armhf. 505s Preparing to unpack .../362-libavahi-common-data_0.8-16ubuntu1_armhf.deb ... 505s Unpacking libavahi-common-data:armhf (0.8-16ubuntu1) ... 505s Selecting previously unselected package libavahi-common3:armhf. 505s Preparing to unpack .../363-libavahi-common3_0.8-16ubuntu1_armhf.deb ... 505s Unpacking libavahi-common3:armhf (0.8-16ubuntu1) ... 505s Selecting previously unselected package libavahi-client3:armhf. 505s Preparing to unpack .../364-libavahi-client3_0.8-16ubuntu1_armhf.deb ... 505s Unpacking libavahi-client3:armhf (0.8-16ubuntu1) ... 505s Selecting previously unselected package libcups2t64:armhf. 505s Preparing to unpack .../365-libcups2t64_2.4.11-0ubuntu2_armhf.deb ... 505s Unpacking libcups2t64:armhf (2.4.11-0ubuntu2) ... 506s Selecting previously unselected package libqt6widgets6:armhf. 506s Preparing to unpack .../366-libqt6widgets6_6.8.2+dfsg-5_armhf.deb ... 506s Unpacking libqt6widgets6:armhf (6.8.2+dfsg-5) ... 506s Selecting previously unselected package libqt6printsupport6:armhf. 506s Preparing to unpack .../367-libqt6printsupport6_6.8.2+dfsg-5_armhf.deb ... 506s Unpacking libqt6printsupport6:armhf (6.8.2+dfsg-5) ... 506s Selecting previously unselected package libqscintilla2-qt6-15:armhf. 506s Preparing to unpack .../368-libqscintilla2-qt6-15_2.14.1+dfsg-1build4_armhf.deb ... 506s Unpacking libqscintilla2-qt6-15:armhf (2.14.1+dfsg-1build4) ... 506s Selecting previously unselected package libqt6core5compat6:armhf. 506s Preparing to unpack .../369-libqt6core5compat6_6.8.2-3_armhf.deb ... 506s Unpacking libqt6core5compat6:armhf (6.8.2-3) ... 506s Selecting previously unselected package libqt6sql6:armhf. 506s Preparing to unpack .../370-libqt6sql6_6.8.2+dfsg-5_armhf.deb ... 506s Unpacking libqt6sql6:armhf (6.8.2+dfsg-5) ... 506s Selecting previously unselected package libqt6help6:armhf. 506s Preparing to unpack .../371-libqt6help6_6.8.2-3_armhf.deb ... 506s Unpacking libqt6help6:armhf (6.8.2-3) ... 506s Selecting previously unselected package libduktape207:armhf. 506s Preparing to unpack .../372-libduktape207_2.7.0+tests-0ubuntu3_armhf.deb ... 506s Unpacking libduktape207:armhf (2.7.0+tests-0ubuntu3) ... 506s Selecting previously unselected package libproxy1v5:armhf. 506s Preparing to unpack .../373-libproxy1v5_0.5.9-1_armhf.deb ... 506s Unpacking libproxy1v5:armhf (0.5.9-1) ... 506s Selecting previously unselected package libqt6network6:armhf. 506s Preparing to unpack .../374-libqt6network6_6.8.2+dfsg-5_armhf.deb ... 506s Unpacking libqt6network6:armhf (6.8.2+dfsg-5) ... 506s Selecting previously unselected package libqt6opengl6:armhf. 506s Preparing to unpack .../375-libqt6opengl6_6.8.2+dfsg-5_armhf.deb ... 506s Unpacking libqt6opengl6:armhf (6.8.2+dfsg-5) ... 506s Selecting previously unselected package libqt6openglwidgets6:armhf. 506s Preparing to unpack .../376-libqt6openglwidgets6_6.8.2+dfsg-5_armhf.deb ... 506s Unpacking libqt6openglwidgets6:armhf (6.8.2+dfsg-5) ... 506s Selecting previously unselected package libqt6xml6:armhf. 506s Preparing to unpack .../377-libqt6xml6_6.8.2+dfsg-5_armhf.deb ... 506s Unpacking libqt6xml6:armhf (6.8.2+dfsg-5) ... 506s Selecting previously unselected package libogg0:armhf. 506s Preparing to unpack .../378-libogg0_1.3.5-3build1_armhf.deb ... 506s Unpacking libogg0:armhf (1.3.5-3build1) ... 506s Selecting previously unselected package libflac12t64:armhf. 506s Preparing to unpack .../379-libflac12t64_1.4.3+ds-4_armhf.deb ... 506s Unpacking libflac12t64:armhf (1.4.3+ds-4) ... 506s Selecting previously unselected package libmp3lame0:armhf. 506s Preparing to unpack .../380-libmp3lame0_3.100-6build1_armhf.deb ... 506s Unpacking libmp3lame0:armhf (3.100-6build1) ... 506s Selecting previously unselected package libmpg123-0t64:armhf. 506s Preparing to unpack .../381-libmpg123-0t64_1.32.10-1_armhf.deb ... 506s Unpacking libmpg123-0t64:armhf (1.32.10-1) ... 506s Selecting previously unselected package libvorbis0a:armhf. 507s Preparing to unpack .../382-libvorbis0a_1.3.7-2_armhf.deb ... 507s Unpacking libvorbis0a:armhf (1.3.7-2) ... 507s Selecting previously unselected package libvorbisenc2:armhf. 507s Preparing to unpack .../383-libvorbisenc2_1.3.7-2_armhf.deb ... 507s Unpacking libvorbisenc2:armhf (1.3.7-2) ... 507s Selecting previously unselected package libsndfile1:armhf. 507s Preparing to unpack .../384-libsndfile1_1.2.2-2_armhf.deb ... 507s Unpacking libsndfile1:armhf (1.2.2-2) ... 507s Selecting previously unselected package libspqr4:armhf. 507s Preparing to unpack .../385-libspqr4_1%3a7.8.3+dfsg-3_armhf.deb ... 507s Unpacking libspqr4:armhf (1:7.8.3+dfsg-3) ... 507s Selecting previously unselected package libumfpack6:armhf. 507s Preparing to unpack .../386-libumfpack6_1%3a7.8.3+dfsg-3_armhf.deb ... 507s Unpacking libumfpack6:armhf (1:7.8.3+dfsg-3) ... 507s Selecting previously unselected package libtext-unidecode-perl. 507s Preparing to unpack .../387-libtext-unidecode-perl_1.30-3_all.deb ... 507s Unpacking libtext-unidecode-perl (1.30-3) ... 507s Selecting previously unselected package texinfo-lib. 507s Preparing to unpack .../388-texinfo-lib_7.1.1-1_armhf.deb ... 507s Unpacking texinfo-lib (7.1.1-1) ... 507s Selecting previously unselected package tex-common. 507s Preparing to unpack .../389-tex-common_6.19_all.deb ... 507s Unpacking tex-common (6.19) ... 507s Selecting previously unselected package texinfo. 507s Preparing to unpack .../390-texinfo_7.1.1-1_all.deb ... 507s Unpacking texinfo (7.1.1-1) ... 507s Selecting previously unselected package octave-common. 507s Preparing to unpack .../391-octave-common_9.4.0-1_all.deb ... 507s Unpacking octave-common (9.4.0-1) ... 507s Selecting previously unselected package octave. 507s Preparing to unpack .../392-octave_9.4.0-1_armhf.deb ... 507s Unpacking octave (9.4.0-1) ... 508s Selecting previously unselected package libncurses-dev:armhf. 508s Preparing to unpack .../393-libncurses-dev_6.5+20250216-2_armhf.deb ... 508s Unpacking libncurses-dev:armhf (6.5+20250216-2) ... 508s Selecting previously unselected package libreadline-dev:armhf. 508s Preparing to unpack .../394-libreadline-dev_8.2-6_armhf.deb ... 508s Unpacking libreadline-dev:armhf (8.2-6) ... 508s Selecting previously unselected package libhdf5-fortran-310:armhf. 508s Preparing to unpack .../395-libhdf5-fortran-310_1.14.5+repack-3_armhf.deb ... 508s Unpacking libhdf5-fortran-310:armhf (1.14.5+repack-3) ... 508s Selecting previously unselected package libhdf5-hl-310:armhf. 508s Preparing to unpack .../396-libhdf5-hl-310_1.14.5+repack-3_armhf.deb ... 508s Unpacking libhdf5-hl-310:armhf (1.14.5+repack-3) ... 508s Selecting previously unselected package libhdf5-hl-fortran-310:armhf. 508s Preparing to unpack .../397-libhdf5-hl-fortran-310_1.14.5+repack-3_armhf.deb ... 508s Unpacking libhdf5-hl-fortran-310:armhf (1.14.5+repack-3) ... 508s Selecting previously unselected package libhdf5-cpp-310:armhf. 508s Preparing to unpack .../398-libhdf5-cpp-310_1.14.5+repack-3_armhf.deb ... 508s Unpacking libhdf5-cpp-310:armhf (1.14.5+repack-3) ... 508s Selecting previously unselected package libhdf5-hl-cpp-310:armhf. 508s Preparing to unpack .../399-libhdf5-hl-cpp-310_1.14.5+repack-3_armhf.deb ... 508s Unpacking libhdf5-hl-cpp-310:armhf (1.14.5+repack-3) ... 508s Selecting previously unselected package zlib1g-dev:armhf. 508s Preparing to unpack .../400-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1ubuntu1_armhf.deb ... 508s Unpacking zlib1g-dev:armhf (1:1.3.dfsg+really1.3.1-1ubuntu1) ... 508s Selecting previously unselected package libjpeg-turbo8-dev:armhf. 508s Preparing to unpack .../401-libjpeg-turbo8-dev_2.1.5-3ubuntu2_armhf.deb ... 508s Unpacking libjpeg-turbo8-dev:armhf (2.1.5-3ubuntu2) ... 508s Selecting previously unselected package libjpeg8-dev:armhf. 508s Preparing to unpack .../402-libjpeg8-dev_8c-2ubuntu11_armhf.deb ... 508s Unpacking libjpeg8-dev:armhf (8c-2ubuntu11) ... 508s Selecting previously unselected package libjpeg-dev:armhf. 508s Preparing to unpack .../403-libjpeg-dev_8c-2ubuntu11_armhf.deb ... 508s Unpacking libjpeg-dev:armhf (8c-2ubuntu11) ... 508s Selecting previously unselected package libaec-dev:armhf. 508s Preparing to unpack .../404-libaec-dev_1.1.3-1_armhf.deb ... 508s Unpacking libaec-dev:armhf (1.1.3-1) ... 508s Selecting previously unselected package libbrotli-dev:armhf. 508s Preparing to unpack .../405-libbrotli-dev_1.1.0-2build4_armhf.deb ... 508s Unpacking libbrotli-dev:armhf (1.1.0-2build4) ... 508s Selecting previously unselected package libidn2-dev:armhf. 508s Preparing to unpack .../406-libidn2-dev_2.3.7-2build2_armhf.deb ... 508s Unpacking libidn2-dev:armhf (2.3.7-2build2) ... 508s Selecting previously unselected package comerr-dev:armhf. 508s Preparing to unpack .../407-comerr-dev_2.1-1.47.2-1ubuntu1_armhf.deb ... 508s Unpacking comerr-dev:armhf (2.1-1.47.2-1ubuntu1) ... 509s Selecting previously unselected package libgssrpc4t64:armhf. 509s Preparing to unpack .../408-libgssrpc4t64_1.21.3-4ubuntu2_armhf.deb ... 509s Unpacking libgssrpc4t64:armhf (1.21.3-4ubuntu2) ... 509s Selecting previously unselected package libkadm5clnt-mit12:armhf. 509s Preparing to unpack .../409-libkadm5clnt-mit12_1.21.3-4ubuntu2_armhf.deb ... 509s Unpacking libkadm5clnt-mit12:armhf (1.21.3-4ubuntu2) ... 509s Selecting previously unselected package libkdb5-10t64:armhf. 509s Preparing to unpack .../410-libkdb5-10t64_1.21.3-4ubuntu2_armhf.deb ... 509s Unpacking libkdb5-10t64:armhf (1.21.3-4ubuntu2) ... 509s Selecting previously unselected package libkadm5srv-mit12:armhf. 509s Preparing to unpack .../411-libkadm5srv-mit12_1.21.3-4ubuntu2_armhf.deb ... 509s Unpacking libkadm5srv-mit12:armhf (1.21.3-4ubuntu2) ... 509s Selecting previously unselected package krb5-multidev:armhf. 509s Preparing to unpack .../412-krb5-multidev_1.21.3-4ubuntu2_armhf.deb ... 509s Unpacking krb5-multidev:armhf (1.21.3-4ubuntu2) ... 509s Selecting previously unselected package libkrb5-dev:armhf. 509s Preparing to unpack .../413-libkrb5-dev_1.21.3-4ubuntu2_armhf.deb ... 509s Unpacking libkrb5-dev:armhf (1.21.3-4ubuntu2) ... 509s Selecting previously unselected package libldap-dev:armhf. 509s Preparing to unpack .../414-libldap-dev_2.6.9+dfsg-1~exp2ubuntu1_armhf.deb ... 509s Unpacking libldap-dev:armhf (2.6.9+dfsg-1~exp2ubuntu1) ... 509s Selecting previously unselected package libpkgconf3:armhf. 509s Preparing to unpack .../415-libpkgconf3_1.8.1-4_armhf.deb ... 509s Unpacking libpkgconf3:armhf (1.8.1-4) ... 509s Selecting previously unselected package pkgconf-bin. 509s Preparing to unpack .../416-pkgconf-bin_1.8.1-4_armhf.deb ... 509s Unpacking pkgconf-bin (1.8.1-4) ... 509s Selecting previously unselected package pkgconf:armhf. 509s Preparing to unpack .../417-pkgconf_1.8.1-4_armhf.deb ... 509s Unpacking pkgconf:armhf (1.8.1-4) ... 509s Selecting previously unselected package libnghttp2-dev:armhf. 509s Preparing to unpack .../418-libnghttp2-dev_1.64.0-1_armhf.deb ... 509s Unpacking libnghttp2-dev:armhf (1.64.0-1) ... 509s Selecting previously unselected package libpsl-dev:armhf. 509s Preparing to unpack .../419-libpsl-dev_0.21.2-1.1build1_armhf.deb ... 509s Unpacking libpsl-dev:armhf (0.21.2-1.1build1) ... 509s Selecting previously unselected package libgmpxx4ldbl:armhf. 509s Preparing to unpack .../420-libgmpxx4ldbl_2%3a6.3.0+dfsg-3ubuntu1_armhf.deb ... 509s Unpacking libgmpxx4ldbl:armhf (2:6.3.0+dfsg-3ubuntu1) ... 509s Selecting previously unselected package libgmp-dev:armhf. 509s Preparing to unpack .../421-libgmp-dev_2%3a6.3.0+dfsg-3ubuntu1_armhf.deb ... 509s Unpacking libgmp-dev:armhf (2:6.3.0+dfsg-3ubuntu1) ... 509s Selecting previously unselected package libevent-2.1-7t64:armhf. 509s Preparing to unpack .../422-libevent-2.1-7t64_2.1.12-stable-10_armhf.deb ... 509s Unpacking libevent-2.1-7t64:armhf (2.1.12-stable-10) ... 509s Selecting previously unselected package libunbound8:armhf. 509s Preparing to unpack .../423-libunbound8_1.22.0-1ubuntu1_armhf.deb ... 509s Unpacking libunbound8:armhf (1.22.0-1ubuntu1) ... 509s Selecting previously unselected package libgnutls-dane0t64:armhf. 509s Preparing to unpack .../424-libgnutls-dane0t64_3.8.9-2ubuntu2_armhf.deb ... 509s Unpacking libgnutls-dane0t64:armhf (3.8.9-2ubuntu2) ... 509s Selecting previously unselected package libgnutls-openssl27t64:armhf. 509s Preparing to unpack .../425-libgnutls-openssl27t64_3.8.9-2ubuntu2_armhf.deb ... 509s Unpacking libgnutls-openssl27t64:armhf (3.8.9-2ubuntu2) ... 509s Selecting previously unselected package libp11-kit-dev:armhf. 509s Preparing to unpack .../426-libp11-kit-dev_0.25.5-2ubuntu3_armhf.deb ... 509s Unpacking libp11-kit-dev:armhf (0.25.5-2ubuntu3) ... 509s Selecting previously unselected package libtasn1-6-dev:armhf. 510s Preparing to unpack .../427-libtasn1-6-dev_4.20.0-2_armhf.deb ... 510s Unpacking libtasn1-6-dev:armhf (4.20.0-2) ... 510s Selecting previously unselected package nettle-dev:armhf. 510s Preparing to unpack .../428-nettle-dev_3.10.1-1_armhf.deb ... 510s Unpacking nettle-dev:armhf (3.10.1-1) ... 510s Selecting previously unselected package libgnutls28-dev:armhf. 510s Preparing to unpack .../429-libgnutls28-dev_3.8.9-2ubuntu2_armhf.deb ... 510s Unpacking libgnutls28-dev:armhf (3.8.9-2ubuntu2) ... 510s Selecting previously unselected package librtmp-dev:armhf. 510s Preparing to unpack .../430-librtmp-dev_2.4+20151223.gitfa8646d.1-2build7_armhf.deb ... 510s Unpacking librtmp-dev:armhf (2.4+20151223.gitfa8646d.1-2build7) ... 510s Selecting previously unselected package libssl-dev:armhf. 510s Preparing to unpack .../431-libssl-dev_3.4.1-1ubuntu1_armhf.deb ... 510s Unpacking libssl-dev:armhf (3.4.1-1ubuntu1) ... 510s Selecting previously unselected package libssh2-1-dev:armhf. 510s Preparing to unpack .../432-libssh2-1-dev_1.11.1-1_armhf.deb ... 510s Unpacking libssh2-1-dev:armhf (1.11.1-1) ... 510s Selecting previously unselected package libzstd-dev:armhf. 510s Preparing to unpack .../433-libzstd-dev_1.5.6+dfsg-2_armhf.deb ... 510s Unpacking libzstd-dev:armhf (1.5.6+dfsg-2) ... 510s Selecting previously unselected package libcurl4-openssl-dev:armhf. 510s Preparing to unpack .../434-libcurl4-openssl-dev_8.12.1-3ubuntu1_armhf.deb ... 510s Unpacking libcurl4-openssl-dev:armhf (8.12.1-3ubuntu1) ... 510s Selecting previously unselected package hdf5-helpers. 510s Preparing to unpack .../435-hdf5-helpers_1.14.5+repack-3_armhf.deb ... 510s Unpacking hdf5-helpers (1.14.5+repack-3) ... 510s Selecting previously unselected package libhdf5-dev. 510s Preparing to unpack .../436-libhdf5-dev_1.14.5+repack-3_armhf.deb ... 510s Unpacking libhdf5-dev (1.14.5+repack-3) ... 510s Selecting previously unselected package xorg-sgml-doctools. 510s Preparing to unpack .../437-xorg-sgml-doctools_1%3a1.11-1.1_all.deb ... 510s Unpacking xorg-sgml-doctools (1:1.11-1.1) ... 510s Selecting previously unselected package x11proto-dev. 510s Preparing to unpack .../438-x11proto-dev_2024.1-1_all.deb ... 510s Unpacking x11proto-dev (2024.1-1) ... 511s Selecting previously unselected package libxau-dev:armhf. 511s Preparing to unpack .../439-libxau-dev_1%3a1.0.11-1_armhf.deb ... 511s Unpacking libxau-dev:armhf (1:1.0.11-1) ... 511s Selecting previously unselected package libxdmcp-dev:armhf. 511s Preparing to unpack .../440-libxdmcp-dev_1%3a1.1.5-1_armhf.deb ... 511s Unpacking libxdmcp-dev:armhf (1:1.1.5-1) ... 511s Selecting previously unselected package xtrans-dev. 511s Preparing to unpack .../441-xtrans-dev_1.4.0-1_all.deb ... 511s Unpacking xtrans-dev (1.4.0-1) ... 511s Selecting previously unselected package libxcb1-dev:armhf. 511s Preparing to unpack .../442-libxcb1-dev_1.17.0-2_armhf.deb ... 511s Unpacking libxcb1-dev:armhf (1.17.0-2) ... 511s Selecting previously unselected package libx11-dev:armhf. 511s Preparing to unpack .../443-libx11-dev_2%3a1.8.10-2_armhf.deb ... 511s Unpacking libx11-dev:armhf (2:1.8.10-2) ... 511s Selecting previously unselected package libglx-dev:armhf. 511s Preparing to unpack .../444-libglx-dev_1.7.0-1build1_armhf.deb ... 511s Unpacking libglx-dev:armhf (1.7.0-1build1) ... 511s Selecting previously unselected package libgl-dev:armhf. 511s Preparing to unpack .../445-libgl-dev_1.7.0-1build1_armhf.deb ... 511s Unpacking libgl-dev:armhf (1.7.0-1build1) ... 511s Selecting previously unselected package libblas-dev:armhf. 511s Preparing to unpack .../446-libblas-dev_3.12.1-2_armhf.deb ... 511s Unpacking libblas-dev:armhf (3.12.1-2) ... 511s Selecting previously unselected package liblapack-dev:armhf. 511s Preparing to unpack .../447-liblapack-dev_3.12.1-2_armhf.deb ... 511s Unpacking liblapack-dev:armhf (3.12.1-2) ... 511s Selecting previously unselected package libfftw3-bin. 511s Preparing to unpack .../448-libfftw3-bin_3.3.10-2fakesync1build1_armhf.deb ... 511s Unpacking libfftw3-bin (3.3.10-2fakesync1build1) ... 511s Selecting previously unselected package libfftw3-dev:armhf. 511s Preparing to unpack .../449-libfftw3-dev_3.3.10-2fakesync1build1_armhf.deb ... 511s Unpacking libfftw3-dev:armhf (3.3.10-2fakesync1build1) ... 511s Selecting previously unselected package libgfortran-14-dev:armhf. 511s Preparing to unpack .../450-libgfortran-14-dev_14.2.0-17ubuntu3_armhf.deb ... 511s Unpacking libgfortran-14-dev:armhf (14.2.0-17ubuntu3) ... 511s Selecting previously unselected package gfortran-14-arm-linux-gnueabihf. 511s Preparing to unpack .../451-gfortran-14-arm-linux-gnueabihf_14.2.0-17ubuntu3_armhf.deb ... 511s Unpacking gfortran-14-arm-linux-gnueabihf (14.2.0-17ubuntu3) ... 512s Selecting previously unselected package gfortran-14. 512s Preparing to unpack .../452-gfortran-14_14.2.0-17ubuntu3_armhf.deb ... 512s Unpacking gfortran-14 (14.2.0-17ubuntu3) ... 512s Selecting previously unselected package gfortran-arm-linux-gnueabihf. 512s Preparing to unpack .../453-gfortran-arm-linux-gnueabihf_4%3a14.2.0-1ubuntu1_armhf.deb ... 512s Unpacking gfortran-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 512s Selecting previously unselected package gfortran. 512s Preparing to unpack .../454-gfortran_4%3a14.2.0-1ubuntu1_armhf.deb ... 512s Unpacking gfortran (4:14.2.0-1ubuntu1) ... 512s Selecting previously unselected package libstdc++-14-dev:armhf. 512s Preparing to unpack .../455-libstdc++-14-dev_14.2.0-17ubuntu3_armhf.deb ... 512s Unpacking libstdc++-14-dev:armhf (14.2.0-17ubuntu3) ... 512s Selecting previously unselected package g++-14-arm-linux-gnueabihf. 512s Preparing to unpack .../456-g++-14-arm-linux-gnueabihf_14.2.0-17ubuntu3_armhf.deb ... 512s Unpacking g++-14-arm-linux-gnueabihf (14.2.0-17ubuntu3) ... 512s Selecting previously unselected package g++-14. 512s Preparing to unpack .../457-g++-14_14.2.0-17ubuntu3_armhf.deb ... 512s Unpacking g++-14 (14.2.0-17ubuntu3) ... 512s Selecting previously unselected package g++-arm-linux-gnueabihf. 512s Preparing to unpack .../458-g++-arm-linux-gnueabihf_4%3a14.2.0-1ubuntu1_armhf.deb ... 512s Unpacking g++-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 512s Selecting previously unselected package g++. 512s Preparing to unpack .../459-g++_4%3a14.2.0-1ubuntu1_armhf.deb ... 512s Unpacking g++ (4:14.2.0-1ubuntu1) ... 512s Selecting previously unselected package octave-dev. 512s Preparing to unpack .../460-octave-dev_9.4.0-1_armhf.deb ... 512s Unpacking octave-dev (9.4.0-1) ... 512s Selecting previously unselected package dh-octave. 512s Preparing to unpack .../461-dh-octave_1.8.0_all.deb ... 512s Unpacking dh-octave (1.8.0) ... 512s Selecting previously unselected package libfontenc1:armhf. 513s Preparing to unpack .../462-libfontenc1_1%3a1.1.8-1build1_armhf.deb ... 513s Unpacking libfontenc1:armhf (1:1.1.8-1build1) ... 513s Selecting previously unselected package libxt6t64:armhf. 513s Preparing to unpack .../463-libxt6t64_1%3a1.2.1-1.2build1_armhf.deb ... 513s Unpacking libxt6t64:armhf (1:1.2.1-1.2build1) ... 513s Selecting previously unselected package libxmu6:armhf. 513s Preparing to unpack .../464-libxmu6_2%3a1.1.3-3build2_armhf.deb ... 513s Unpacking libxmu6:armhf (2:1.1.3-3build2) ... 513s Selecting previously unselected package libxaw7:armhf. 513s Preparing to unpack .../465-libxaw7_2%3a1.0.16-1_armhf.deb ... 513s Unpacking libxaw7:armhf (2:1.0.16-1) ... 513s Selecting previously unselected package libxfont2:armhf. 513s Preparing to unpack .../466-libxfont2_1%3a2.0.6-1build1_armhf.deb ... 513s Unpacking libxfont2:armhf (1:2.0.6-1build1) ... 513s Selecting previously unselected package libxkbfile1:armhf. 513s Preparing to unpack .../467-libxkbfile1_1%3a1.1.0-1build4_armhf.deb ... 513s Unpacking libxkbfile1:armhf (1:1.1.0-1build4) ... 513s Selecting previously unselected package libxrandr2:armhf. 513s Preparing to unpack .../468-libxrandr2_2%3a1.5.4-1_armhf.deb ... 513s Unpacking libxrandr2:armhf (2:1.5.4-1) ... 513s Selecting previously unselected package octave-image:armhf. 513s Preparing to unpack .../469-octave-image_2.14.0-5build1_armhf.deb ... 513s Unpacking octave-image:armhf (2.14.0-5build1) ... 513s Selecting previously unselected package x11-xkb-utils. 513s Preparing to unpack .../470-x11-xkb-utils_7.7+9_armhf.deb ... 513s Unpacking x11-xkb-utils (7.7+9) ... 513s Selecting previously unselected package xserver-common. 513s Preparing to unpack .../471-xserver-common_2%3a21.1.16-1ubuntu1_all.deb ... 513s Unpacking xserver-common (2:21.1.16-1ubuntu1) ... 513s Selecting previously unselected package xvfb. 513s Preparing to unpack .../472-xvfb_2%3a21.1.16-1ubuntu1_armhf.deb ... 513s Unpacking xvfb (2:21.1.16-1ubuntu1) ... 513s Setting up libapt-pkg-perl (0.1.41build1) ... 513s Setting up libmodule-pluggable-perl (5.2-5) ... 513s Setting up libgraphite2-3:armhf (1.3.14-2ubuntu1) ... 513s Setting up libstring-escape-perl (2010.002-3) ... 513s Setting up libgnutls-openssl27t64:armhf (3.8.9-2ubuntu2) ... 513s Setting up libxcb-dri3-0:armhf (1.17.0-2) ... 513s Setting up liblcms2-2:armhf (2.16-2) ... 513s Setting up libberkeleydb-perl:armhf (0.66-1) ... 513s Setting up libpixman-1-0:armhf (0.44.0-3) ... 513s Setting up libllvm19:armhf (1:19.1.7-1ubuntu2) ... 513s Setting up libsharpyuv0:armhf (1.5.0-0.1) ... 513s Setting up libwayland-server0:armhf (1.23.1-3) ... 513s Setting up libaom3:armhf (3.12.0-1) ... 513s Setting up libx11-xcb1:armhf (2:1.8.10-2) ... 513s Setting up libfile-which-perl (1.27-2) ... 513s Setting up libdouble-conversion3:armhf (3.3.1-1) ... 513s Setting up libunicode-utf8-perl (0.62-2build4) ... 513s Setting up libset-intspan-perl (1.19-3) ... 513s Setting up libxcb-xfixes0:armhf (1.17.0-2) ... 513s Setting up libogg0:armhf (1.3.5-3build1) ... 513s Setting up libmouse-perl:armhf (2.5.11-1build1) ... 513s Setting up libzstd-dev:armhf (1.5.6+dfsg-2) ... 513s Setting up liblerc4:armhf (4.0.0+ds-5ubuntu1) ... 513s Setting up libpod-pom-perl (2.01-4) ... 513s Setting up libxpm4:armhf (1:3.5.17-1build2) ... 513s Setting up hdf5-helpers (1.14.5+repack-3) ... 513s Setting up libwmflite-0.2-7:armhf (0.2.13-1.1build3) ... 513s Setting up libregexp-pattern-perl (0.2.14-2) ... 513s Setting up libdata-messagepack-perl (1.02-1build5) ... 513s Setting up libclass-inspector-perl (1.36-3) ... 513s Setting up libxcb-xinput0:armhf (1.17.0-2) ... 513s Setting up libxrender1:armhf (1:0.9.10-1.1build1) ... 513s Setting up libdynaloader-functions-perl (0.004-1) ... 513s Setting up libdatrie1:armhf (0.2.13-3build1) ... 513s Setting up libtext-glob-perl (0.11-3) ... 513s Setting up libclass-method-modifiers-perl (2.15-1) ... 513s Setting up liblist-compare-perl (0.55-2) ... 513s Setting up libxcb-render0:armhf (1.17.0-2) ... 513s Setting up libclone-perl:armhf (0.47-1) ... 513s Setting up libarchive-zip-perl (1.68-1) ... 513s Setting up libsub-identify-perl (0.14-3build4) ... 513s Setting up libcpanel-json-xs-perl:armhf (4.39-1) ... 513s Setting up libglvnd0:armhf (1.7.0-1build1) ... 513s Setting up libio-stringy-perl (2.113-2) ... 513s Setting up libhtml-tagset-perl (3.24-1) ... 513s Setting up libts0t64:armhf (1.22-1.1build1) ... 513s Setting up liblog-any-perl (1.717-1) ... 513s Setting up libyaml-pp-perl (0.39.0-1) ... 513s Setting up libxcb-glx0:armhf (1.17.0-2) ... 513s Setting up libdevel-size-perl (0.84-1build1) ... 513s Setting up unzip (6.0-28ubuntu6) ... 513s Setting up libdebhelper-perl (13.24.1ubuntu2) ... 513s Setting up libregexp-pattern-license-perl (3.11.2-1) ... 513s Setting up libconvert-binhex-perl (1.125-3) ... 513s Setting up liblwp-mediatypes-perl (6.04-2) ... 513s Setting up libyaml-libyaml-perl (0.903.0+ds-1) ... 513s Setting up fonts-freefont-otf (20211204+svn4273-2) ... 513s Setting up libio-interactive-perl (1.026-1) ... 513s Setting up libxcb-keysyms1:armhf (0.4.1-1) ... 513s Setting up libxcb-shape0:armhf (1.17.0-2) ... 513s Setting up x11-common (1:7.7+23ubuntu3) ... 514s Setting up libtry-tiny-perl (0.32-1) ... 514s Setting up libdeflate0:armhf (1.23-1) ... 514s Setting up perl-openssl-defaults:armhf (7build3) ... 514s Setting up libmldbm-perl (2.05-4) ... 514s Setting up linux-libc-dev:armhf (6.14.0-10.10) ... 514s Setting up libxml-namespacesupport-perl (1.12-2) ... 514s Setting up m4 (1.4.19-7) ... 514s Setting up libevent-2.1-7t64:armhf (2.1.12-stable-10) ... 514s Setting up libclone-choose-perl (0.010-2) ... 514s Setting up libqhull-r8.0:armhf (2020.2-6build1) ... 514s Setting up libxcb-render-util0:armhf (0.3.10-1) ... 514s Setting up libtime-moment-perl (0.44-2build5) ... 514s Setting up libencode-locale-perl (1.05-3) ... 514s Setting up libxcb-shm0:armhf (1.17.0-2) ... 514s Setting up libxcb-icccm4:armhf (0.4.2-1) ... 514s Setting up texinfo-lib (7.1.1-1) ... 514s Setting up libmpg123-0t64:armhf (1.32.10-1) ... 514s Setting up libgomp1:armhf (15-20250222-0ubuntu1) ... 514s Setting up libconfig-tiny-perl (2.30-1) ... 514s Setting up libsereal-encoder-perl (5.004+ds-1build4) ... 514s Setting up liblist-utilsby-perl (0.12-2) ... 514s Setting up libyaml-tiny-perl (1.76-1) ... 514s Setting up libjbig0:armhf (2.1-6.1ubuntu2) ... 514s Setting up octave-common (9.4.0-1) ... 514s Setting up libregexp-common-perl (2024080801-1) ... 514s Setting up libpcre2-16-0:armhf (10.45-1) ... 514s Setting up libaec0:armhf (1.1.3-1) ... 514s Setting up libnet-netmask-perl (2.0002-2) ... 514s Setting up libopengl0:armhf (1.7.0-1build1) ... 514s Setting up libsub-install-perl (0.929-1) ... 514s Setting up libxcb-util1:armhf (0.4.1-1) ... 514s Setting up libpsl-dev:armhf (0.21.2-1.1build1) ... 514s Setting up libxxf86vm1:armhf (1:1.1.4-1build4) ... 514s Setting up libindirect-perl (0.39-2build5) ... 514s Setting up libxcb-xkb1:armhf (1.17.0-2) ... 514s Setting up libxcb-image0:armhf (0.4.0-2build1) ... 514s Setting up libnumber-compare-perl (0.03-3) ... 514s Setting up libdw1t64:armhf (0.192-4) ... 514s Setting up libxcb-present0:armhf (1.17.0-2) ... 514s Setting up liberror-perl (0.17030-1) ... 514s Setting up libasound2-data (1.2.13-1build1) ... 514s Setting up patchutils (0.4.2-1build3) ... 514s Setting up tex-common (6.19) ... 514s update-language: texlive-base not installed and configured, doing nothing! 514s Setting up libjson-maybexs-perl (1.004008-1) ... 514s Setting up libxml-sax-base-perl (1.09-3) ... 514s Setting up libio-string-perl (1.08-4) ... 514s Setting up libboolean-perl (0.46-3) ... 514s Setting up libnetaddr-ip-perl (4.079+dfsg-2build5) ... 514s Setting up xtrans-dev (1.4.0-1) ... 514s Setting up libfontenc1:armhf (1:1.1.8-1build1) ... 514s Setting up autotools-dev (20220109.1) ... 514s Setting up libblas3:armhf (3.12.1-2) ... 514s update-alternatives: using /usr/lib/arm-linux-gnueabihf/blas/libblas.so.3 to provide /usr/lib/arm-linux-gnueabihf/libblas.so.3 (libblas.so.3-arm-linux-gnueabihf) in auto mode 514s Setting up libclass-data-inheritable-perl (0.10-1) ... 514s Setting up libunbound8:armhf (1.22.0-1ubuntu1) ... 514s Setting up libpkgconf3:armhf (1.8.1-4) ... 514s Setting up libgmpxx4ldbl:armhf (2:6.3.0+dfsg-3ubuntu1) ... 514s Setting up libalgorithm-c3-perl (0.11-2) ... 514s Setting up rpcsvc-proto (1.4.2-0ubuntu7) ... 514s Setting up libasound2t64:armhf (1.2.13-1build1) ... 514s Setting up liblog-log4perl-perl (1.57-1) ... 514s Setting up libtext-reform-perl (1.20-5) ... 514s Setting up libgnutls-dane0t64:armhf (3.8.9-2ubuntu2) ... 514s Setting up libfreetype6:armhf (2.13.3+dfsg-1) ... 514s Setting up libfile-find-rule-perl (0.34-3) ... 514s Setting up libxfixes3:armhf (1:6.0.0-2build1) ... 514s Setting up libxcb-sync1:armhf (1.17.0-2) ... 514s Setting up libipc-system-simple-perl (1.30-2) ... 514s Setting up libio-tiecombine-perl (1.005-3) ... 514s Setting up libnet-domain-tld-perl (1.75-4) ... 514s Setting up libgssrpc4t64:armhf (1.21.3-4ubuntu2) ... 514s Setting up libperlio-utf8-strict-perl (0.010-1build4) ... 514s Setting up libldap-dev:armhf (2.6.9+dfsg-1~exp2ubuntu1) ... 514s Setting up aglfn (1.7+git20191031.4036a9c-2) ... 514s Setting up libxcb-cursor0:armhf (0.1.5-1) ... 514s Setting up lzip (1.25-2) ... 514s update-alternatives: using /usr/bin/lzip.lzip to provide /usr/bin/lzip (lzip) in auto mode 514s update-alternatives: using /usr/bin/lzip.lzip to provide /usr/bin/lzip-compressor (lzip-compressor) in auto mode 514s update-alternatives: using /usr/bin/lzip.lzip to provide /usr/bin/lzip-decompressor (lzip-decompressor) in auto mode 514s Setting up libavahi-common-data:armhf (0.8-16ubuntu1) ... 514s Setting up libopus0:armhf (1.5.2-2) ... 514s Setting up t1utils (1.41-4build3) ... 514s Setting up libxinerama1:armhf (2:1.1.4-3build1) ... 514s Setting up diffstat (1.67-1) ... 514s Setting up libimagequant0:armhf (2.18.0-1build1) ... 514s Setting up libxkbcommon-x11-0:armhf (1.7.0-2) ... 514s Setting up fonts-dejavu-mono (2.37-8) ... 514s Setting up libssl-dev:armhf (3.4.1-1ubuntu1) ... 514s Setting up libmpc3:armhf (1.3.1-1build2) ... 514s Setting up libvorbis0a:armhf (1.3.7-2) ... 514s Setting up libvariable-magic-perl (0.64-1build1) ... 514s Setting up libio-html-perl (1.004-3) ... 514s Setting up libxrandr2:armhf (2:1.5.4-1) ... 514s Setting up libtext-template-perl (1.61-1) ... 514s Setting up libpod-parser-perl (1.67-1) ... 514s Setting up autopoint (0.23.1-1) ... 514s Setting up libb-hooks-op-check-perl:armhf (0.22-3build2) ... 514s Setting up fonts-dejavu-core (2.37-8) ... 514s Setting up liblist-moreutils-xs-perl (0.430-4build1) ... 514s Setting up pkgconf-bin (1.8.1-4) ... 514s Setting up libjpeg-turbo8:armhf (2.1.5-3ubuntu2) ... 514s Setting up libqscintilla2-qt6-l10n (2.14.1+dfsg-1build4) ... 514s Setting up libltdl7:armhf (2.5.4-4) ... 514s Setting up libidn2-dev:armhf (2.3.7-2build2) ... 514s Setting up libfftw3-double3:armhf (3.3.10-2fakesync1build1) ... 514s Setting up libparams-util-perl (1.102-3build1) ... 514s Setting up libgfortran5:armhf (15-20250222-0ubuntu1) ... 514s Setting up libvulkan1:armhf (1.4.304.0-1) ... 514s Setting up libtime-duration-perl (1.21-2) ... 514s Setting up autoconf (2.72-3ubuntu1) ... 514s Setting up libtext-xslate-perl:armhf (3.5.9-2build1) ... 514s Setting up libsub-exporter-progressive-perl (0.001013-3) ... 514s Setting up libwebp7:armhf (1.5.0-0.1) ... 514s Setting up libarray-intspan-perl (2.004-2) ... 514s Setting up libcapture-tiny-perl (0.50-1) ... 514s Setting up libtimedate-perl (2.3300-2) ... 514s Setting up libexporter-lite-perl (0.09-2) ... 514s Setting up libubsan1:armhf (15-20250222-0ubuntu1) ... 514s Setting up libsub-name-perl:armhf (0.28-1) ... 514s Setting up dwz (0.15-1build6) ... 514s Setting up libdata-validate-domain-perl (0.15-1) ... 514s Setting up libproc-processtable-perl:armhf (0.636-1build4) ... 514s Setting up libparse-recdescent-perl (1.967015+dfsg-4) ... 514s Setting up libmtdev1t64:armhf (1.1.7-1) ... 514s Setting up libduktape207:armhf (2.7.0+tests-0ubuntu3) ... 514s Setting up libxshmfence1:armhf (1.3-1build5) ... 514s Setting up libcrypt-dev:armhf (1:4.4.38-1) ... 514s Setting up libxcb-randr0:armhf (1.17.0-2) ... 514s Setting up libpath-tiny-perl (0.146-1) ... 514s Setting up libasan8:armhf (15-20250222-0ubuntu1) ... 514s Setting up lzop (1.04-2build3) ... 514s Setting up libjson-perl (4.10000-1) ... 514s Setting up liblog-any-adapter-screen-perl (0.141-1) ... 514s Setting up librole-tiny-perl (2.002004-1) ... 514s Setting up debugedit (1:5.1-2) ... 514s Setting up libipc-run3-perl (0.049-1) ... 514s Setting up libmd4c0:armhf (0.5.2-2) ... 514s Setting up libregexp-wildcards-perl (1.05-3) ... 514s Setting up libmousex-strictconstructor-perl (0.02-3) ... 514s Setting up libfile-sharedir-perl (1.118-3) ... 514s Setting up libsub-uplevel-perl (0.2800-3) ... 514s Setting up libsuitesparseconfig7:armhf (1:7.8.3+dfsg-3) ... 514s Setting up liblua5.4-0:armhf (5.4.7-1) ... 514s Setting up libaliased-perl (0.34-3) ... 514s Setting up libharfbuzz0b:armhf (10.2.0-1) ... 514s Setting up libthai-data (0.1.29-2build1) ... 514s Setting up xorg-sgml-doctools (1:1.11-1.1) ... 514s Setting up libstrictures-perl (2.000006-1) ... 514s Setting up libsub-quote-perl (2.006008-1ubuntu1) ... 514s Setting up libdevel-stacktrace-perl (2.0500-1) ... 514s Setting up libclass-xsaccessor-perl (1.19-4build6) ... 514s Setting up libtext-autoformat-perl (1.750000-2) ... 514s Setting up libglu1-mesa:armhf (9.0.2-1.1build1) ... 514s Setting up libflac12t64:armhf (1.4.3+ds-4) ... 514s Setting up libtoml-tiny-perl (0.19-1) ... 514s Setting up libstemmer0d:armhf (2.2.0-4build1) ... 514s Setting up libxkbfile1:armhf (1:1.1.0-1build4) ... 514s Setting up libsort-versions-perl (1.62-3) ... 514s Setting up libexporter-tiny-perl (1.006002-1) ... 514s Setting up libgcc-14-dev:armhf (14.2.0-17ubuntu3) ... 514s Setting up libterm-readkey-perl (2.38-2build5) ... 514s Setting up libisl23:armhf (0.27-1) ... 514s Setting up libtext-unidecode-perl (1.30-3) ... 514s Setting up libde265-0:armhf (1.0.15-1build5) ... 514s Setting up libc-dev-bin (2.41-1ubuntu2) ... 514s Setting up libfont-ttf-perl (1.06-2) ... 514s Setting up libfile-homedir-perl (1.006-2) ... 514s Setting up libsamplerate0:armhf (0.2.2-4build1) ... 514s Setting up libtasn1-6-dev:armhf (4.20.0-2) ... 514s Setting up libwebpmux3:armhf (1.5.0-0.1) ... 514s Setting up libtext-levenshteinxs-perl (0.03-5build5) ... 514s Setting up libperlio-gzip-perl (0.20-1build5) ... 514s Setting up libjxl0.11:armhf (0.11.1-1) ... 514s Setting up libxfont2:armhf (1:2.0.6-1build1) ... 514s Setting up libhtml-html5-entities-perl (0.004-3) ... 514s Setting up libtext-levenshtein-damerau-perl (0.41-3) ... 514s Setting up libsereal-decoder-perl (5.004+ds-1build4) ... 514s Setting up libmarkdown2:armhf (2.2.7-2.1) ... 514s Setting up libcc1-0:armhf (15-20250222-0ubuntu1) ... 514s Setting up liburi-perl (5.30-1) ... 514s Setting up libnet-ipv6addr-perl (1.02-1) ... 514s Setting up libbrotli-dev:armhf (1.1.0-2build4) ... 514s Setting up libp11-kit-dev:armhf (0.25.5-2ubuntu3) ... 514s Setting up libmp3lame0:armhf (3.100-6build1) ... 514s Setting up libblas-dev:armhf (3.12.1-2) ... 514s update-alternatives: using /usr/lib/arm-linux-gnueabihf/blas/libblas.so to provide /usr/lib/arm-linux-gnueabihf/libblas.so (libblas.so-arm-linux-gnueabihf) in auto mode 514s Setting up libsz2:armhf (1.1.3-1) ... 514s Setting up libvorbisenc2:armhf (1.3.7-2) ... 514s Setting up cpp-14-arm-linux-gnueabihf (14.2.0-17ubuntu3) ... 514s Setting up libkadm5clnt-mit12:armhf (1.21.3-4ubuntu2) ... 514s Setting up libdata-validate-ip-perl (0.31-1) ... 514s Setting up libwacom-common (2.14.0-1) ... 514s Setting up libmousex-nativetraits-perl (1.09-3) ... 514s Setting up libemail-address-xs-perl (1.05-1build5) ... 514s Setting up libwayland-client0:armhf (1.23.1-3) ... 514s Setting up libnet-ssleay-perl:armhf (1.94-3) ... 514s Setting up libjpeg8:armhf (8c-2ubuntu11) ... 514s Setting up automake (1:1.17-3ubuntu1) ... 514s update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode 514s Setting up libgfortran-14-dev:armhf (14.2.0-17ubuntu3) ... 514s Setting up libb2-1:armhf (0.98.1-1.1build1) ... 514s Setting up x11proto-dev (2024.1-1) ... 514s Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... 514s Setting up gnuplot-data (6.0.2+dfsg1-1) ... 514s Setting up libice6:armhf (2:1.1.1-1) ... 514s Setting up libqt6core6t64:armhf (6.8.2+dfsg-5) ... 514s Setting up libhttp-date-perl (6.06-1) ... 514s Setting up mesa-libgallium:armhf (25.0.1-2ubuntu1) ... 514s Setting up liblapack3:armhf (3.12.1-2) ... 514s update-alternatives: using /usr/lib/arm-linux-gnueabihf/lapack/liblapack.so.3 to provide /usr/lib/arm-linux-gnueabihf/liblapack.so.3 (liblapack.so.3-arm-linux-gnueabihf) in auto mode 514s Setting up libproxy1v5:armhf (0.5.9-1) ... 514s Setting up libfile-basedir-perl (0.09-2) ... 514s Setting up gettext (0.23.1-1) ... 514s Setting up libarpack2t64:armhf (3.9.1-4) ... 514s Setting up libfftw3-single3:armhf (3.3.10-2fakesync1build1) ... 514s Setting up libgmp-dev:armhf (2:6.3.0+dfsg-3ubuntu1) ... 514s Setting up libamd3:armhf (1:7.8.3+dfsg-3) ... 514s Setting up libfile-listing-perl (6.16-1) ... 514s Setting up libxau-dev:armhf (1:1.0.11-1) ... 514s Setting up nettle-dev:armhf (3.10.1-1) ... 514s Setting up libkdb5-10t64:armhf (1.21.3-4ubuntu2) ... 514s Setting up libgbm1:armhf (25.0.1-2ubuntu1) ... 514s Setting up libcolamd3:armhf (1:7.8.3+dfsg-3) ... 514s Setting up libfftw3-bin (3.3.10-2fakesync1build1) ... 514s Setting up libwacom9:armhf (2.14.0-1) ... 514s Setting up fontconfig-config (2.15.0-2ubuntu1) ... 514s Setting up liblist-moreutils-perl (0.430-2) ... 514s Setting up libxcursor1:armhf (1:1.2.3-1) ... 514s Setting up libpod-constants-perl (0.19-2) ... 514s Setting up libgl1-mesa-dri:armhf (25.0.1-2ubuntu1) ... 514s Setting up libhash-merge-perl (0.302-1) ... 514s Setting up libsoftware-copyright-perl (0.014-1) ... 514s Setting up libaec-dev:armhf (1.1.3-1) ... 514s Setting up libavahi-common3:armhf (0.8-16ubuntu1) ... 514s Setting up libcxsparse4:armhf (1:7.8.3+dfsg-3) ... 514s Setting up libnet-http-perl (6.23-1) ... 514s Setting up libpath-iterator-rule-perl (1.015-2) ... 514s Setting up libtext-markdown-discount-perl (0.18-1) ... 514s Setting up gcc-14-arm-linux-gnueabihf (14.2.0-17ubuntu3) ... 514s Setting up libappstream5:armhf (1.0.4-1) ... 514s Setting up libexception-class-perl (1.45-1) ... 514s Setting up libclass-c3-perl (0.35-2) ... 514s Setting up libqrupdate1:armhf (1.1.5-1) ... 514s Setting up libdevel-callchecker-perl:armhf (0.009-1build1) ... 514s Setting up libxml-sax-perl (1.02+dfsg-4) ... 514s update-perl-sax-parsers: Registering Perl SAX parser XML::SAX::PurePerl with priority 10... 514s update-perl-sax-parsers: Updating overall Perl SAX parser modules info file... 515s Creating config file /etc/perl/XML/SAX/ParserDetails.ini with new version 515s Setting up libcamd3:armhf (1:7.8.3+dfsg-3) ... 515s Setting up pkgconf:armhf (1.8.1-4) ... 515s Setting up libinput-bin (1.27.1-1) ... 515s Setting up libxs-parse-sublike-perl:armhf (0.37-1) ... 515s Setting up intltool-debian (0.35.0+20060710.6) ... 515s Setting up libthai0:armhf (0.1.29-2build1) ... 515s Setting up libxdmcp-dev:armhf (1:1.1.5-1) ... 515s Setting up libegl-mesa0:armhf (25.0.1-2ubuntu1) ... 515s Setting up libdata-validate-uri-perl (0.07-3) ... 515s Setting up libxs-parse-keyword-perl (0.48-2) ... 515s Setting up libtest-exception-perl (0.43-3) ... 515s Setting up appstream (1.0.4-1) ... 515s ✔ Metadata cache was updated successfully. 515s Setting up libqt6xml6:armhf (6.8.2+dfsg-5) ... 515s Setting up libglpk40:armhf (5.0-1build2) ... 515s Setting up libqt6sql6:armhf (6.8.2+dfsg-5) ... 515s Setting up libstring-copyright-perl (0.003014-1) ... 515s Setting up libraqm0:armhf (0.10.2-1) ... 515s Setting up liblapack-dev:armhf (3.12.1-2) ... 515s update-alternatives: using /usr/lib/arm-linux-gnueabihf/lapack/liblapack.so to provide /usr/lib/arm-linux-gnueabihf/liblapack.so (liblapack.so-arm-linux-gnueabihf) in auto mode 515s Setting up libdata-optlist-perl (0.114-1) ... 515s Setting up cpp-14 (14.2.0-17ubuntu3) ... 515s Setting up libccolamd3:armhf (1:7.8.3+dfsg-3) ... 515s Setting up libxml-libxml-perl (2.0207+dfsg+really+2.0134-5build1) ... 515s update-perl-sax-parsers: Registering Perl SAX parser XML::LibXML::SAX::Parser with priority 50... 515s update-perl-sax-parsers: Registering Perl SAX parser XML::LibXML::SAX with priority 50... 515s update-perl-sax-parsers: Updating overall Perl SAX parser modules info file... 515s Replacing config file /etc/perl/XML/SAX/ParserDetails.ini with new version 515s Setting up dh-strip-nondeterminism (1.14.1-2) ... 515s Setting up libwww-robotrules-perl (6.02-1) ... 515s Setting up libsyntax-keyword-try-perl (0.30-1) ... 515s Setting up libjack-jackd2-0:armhf (1.9.22~dfsg-4) ... 515s Setting up libhdf5-310:armhf (1.14.5+repack-3) ... 515s Setting up libtiff6:armhf (4.5.1+git230720-4ubuntu4) ... 515s Setting up libhtml-parser-perl:armhf (3.83-1build1) ... 515s Setting up libkadm5srv-mit12:armhf (1.21.3-4ubuntu2) ... 515s Setting up libegl1:armhf (1.7.0-1build1) ... 515s Setting up libc6-dev:armhf (2.41-1ubuntu2) ... 515s Setting up libqt6core5compat6:armhf (6.8.2-3) ... 515s Setting up libfontconfig1:armhf (2.15.0-2ubuntu1) ... 515s Setting up libsndfile1:armhf (1.2.2-2) ... 515s Setting up libmro-compat-perl (0.15-2) ... 515s Setting up libhdf5-fortran-310:armhf (1.14.5+repack-3) ... 515s Setting up libstdc++-14-dev:armhf (14.2.0-17ubuntu3) ... 515s Setting up libsm6:armhf (2:1.2.4-1) ... 515s Setting up libfftw3-dev:armhf (3.3.10-2fakesync1build1) ... 515s Setting up libavahi-client3:armhf (0.8-16ubuntu1) ... 515s Setting up libio-socket-ssl-perl (2.089-1) ... 515s Setting up cpp-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 515s Setting up libsub-exporter-perl (0.990-1) ... 515s Setting up libqt6dbus6:armhf (6.8.2+dfsg-5) ... 515s Setting up libhttp-message-perl (7.00-2ubuntu1) ... 515s Setting up gfortran-14-arm-linux-gnueabihf (14.2.0-17ubuntu3) ... 515s Setting up libhtml-form-perl (6.12-1) ... 515s Setting up libhdf5-cpp-310:armhf (1.14.5+repack-3) ... 515s Setting up gcc-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 515s Setting up libiterator-perl (0.03+ds1-2) ... 515s Setting up libgnutls28-dev:armhf (3.8.9-2ubuntu2) ... 515s Setting up libinput10:armhf (1.27.1-1) ... 515s Setting up libnghttp2-dev:armhf (1.64.0-1) ... 515s Setting up libhdf5-hl-310:armhf (1.14.5+repack-3) ... 515s Setting up libportaudio2:armhf (19.6.0-1.2build3) ... 515s Setting up libhttp-negotiate-perl (6.01-2) ... 515s Setting up g++-14-arm-linux-gnueabihf (14.2.0-17ubuntu3) ... 515s Setting up fontconfig (2.15.0-2ubuntu1) ... 517s Regenerating fonts cache... done. 517s Setting up libjpeg-turbo8-dev:armhf (2.1.5-3ubuntu2) ... 517s Setting up libcarp-assert-more-perl (2.8.0-1) ... 517s Setting up libcholmod5:armhf (1:7.8.3+dfsg-3) ... 517s Setting up libxft2:armhf (2.3.6-1build1) ... 517s Setting up libncurses-dev:armhf (6.5+20250216-2) ... 517s Setting up libglx-mesa0:armhf (25.0.1-2ubuntu1) ... 517s Setting up libxcb1-dev:armhf (1.17.0-2) ... 517s Setting up libiterator-util-perl (0.02+ds1-2) ... 517s Setting up libglx0:armhf (1.7.0-1build1) ... 517s Setting up libhttp-cookies-perl (6.11-1) ... 517s Setting up libspqr4:armhf (1:7.8.3+dfsg-3) ... 517s Setting up po-debconf (1.0.21+nmu1) ... 517s Setting up libhtml-tree-perl (5.07-3) ... 517s Setting up libparams-classify-perl:armhf (0.015-2build6) ... 517s Setting up libpango-1.0-0:armhf (1.56.2-1) ... 517s Setting up libcgi-pm-perl (4.67-1) ... 517s Setting up libx11-dev:armhf (2:1.8.10-2) ... 517s Setting up libreadline-dev:armhf (8.2-6) ... 517s Setting up libcairo2:armhf (1.18.2-2) ... 517s Setting up gcc-14 (14.2.0-17ubuntu3) ... 517s Setting up gfortran-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 517s Setting up libobject-pad-perl (0.820-1) ... 517s Setting up libgl1:armhf (1.7.0-1build1) ... 517s Setting up libqt6gui6:armhf (6.8.2+dfsg-5) ... 517s Setting up libnet-smtp-ssl-perl (1.04-2) ... 517s Setting up libmodule-runtime-perl (0.016-2) ... 517s Setting up libmailtools-perl (2.22-1) ... 517s Setting up libconfig-model-perl (2.155-1) ... 517s Setting up libxt6t64:armhf (1:1.2.1-1.2build1) ... 517s Setting up comerr-dev:armhf (2.1-1.47.2-1ubuntu1) ... 517s Setting up texinfo (7.1.1-1) ... 517s Setting up zlib1g-dev:armhf (1:1.3.dfsg+really1.3.1-1ubuntu1) ... 517s Setting up libumfpack6:armhf (1:7.8.3+dfsg-3) ... 517s Setting up libconst-fast-perl (0.014-2) ... 517s Setting up libqt6network6:armhf (6.8.2+dfsg-5) ... 517s Setting up cpp (4:14.2.0-1ubuntu1) ... 517s Setting up libdata-section-perl (0.200008-1) ... 517s Setting up libglx-dev:armhf (1.7.0-1build1) ... 517s Setting up g++-14 (14.2.0-17ubuntu3) ... 517s Setting up libpangoft2-1.0-0:armhf (1.56.2-1) ... 517s Setting up libjpeg8-dev:armhf (8c-2ubuntu11) ... 517s Setting up libdata-dpath-perl (0.60-1) ... 517s Setting up gfortran-14 (14.2.0-17ubuntu3) ... 517s Setting up libfltk1.3t64:armhf (1.3.8-6.1build2) ... 517s Setting up libcups2t64:armhf (2.4.11-0ubuntu2) ... 517s Setting up libgl-dev:armhf (1.7.0-1build1) ... 517s Setting up libstring-rewriteprefix-perl (0.009-1) ... 517s Setting up libpangocairo-1.0-0:armhf (1.56.2-1) ... 517s Setting up krb5-multidev:armhf (1.21.3-4ubuntu2) ... 517s Setting up g++-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 517s Setting up libhdf5-hl-cpp-310:armhf (1.14.5+repack-3) ... 517s Setting up libconfig-model-backend-yaml-perl (2.134-2) ... 517s Setting up libhdf5-hl-fortran-310:armhf (1.14.5+repack-3) ... 517s Setting up libxmu6:armhf (2:1.1.3-3build2) ... 517s Setting up libtool (2.5.4-4) ... 517s Setting up libmodule-implementation-perl (0.09-2) ... 517s Setting up libpackage-stash-perl (0.40-1) ... 517s Setting up libimport-into-perl (1.002005-2) ... 517s Setting up libmoo-perl (2.005005-1) ... 517s Setting up libqt6opengl6:armhf (6.8.2+dfsg-5) ... 517s Setting up libjpeg-dev:armhf (8c-2ubuntu11) ... 517s Setting up liblist-someutils-perl (0.59-1) ... 517s Setting up libxaw7:armhf (2:1.0.16-1) ... 517s Setting up libmime-tools-perl (5.515-1) ... 517s Setting up libsoftware-license-perl (0.104006-1) ... 517s Setting up libclass-load-perl (0.25-2) ... 517s Setting up gcc (4:14.2.0-1ubuntu1) ... 517s Setting up libgl2ps1.4 (1.4.2+dfsg1-2build1) ... 517s Setting up libqt6widgets6:armhf (6.8.2+dfsg-5) ... 517s Setting up dh-autoreconf (20) ... 517s Setting up libfltk-gl1.3t64:armhf (1.3.8-6.1build2) ... 517s Setting up libkrb5-dev:armhf (1.21.3-4ubuntu2) ... 517s Setting up librtmp-dev:armhf (2.4+20151223.gitfa8646d.1-2build7) ... 517s Setting up libssh2-1-dev:armhf (1.11.1-1) ... 517s Setting up g++ (4:14.2.0-1ubuntu1) ... 517s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 517s Setting up libmoox-aliases-perl (0.001006-2) ... 517s Setting up libparams-validate-perl:armhf (1.31-2build4) ... 517s Setting up libqt6openglwidgets6:armhf (6.8.2+dfsg-5) ... 517s Setting up libb-hooks-endofscope-perl (0.28-1) ... 517s Setting up libqt6printsupport6:armhf (6.8.2+dfsg-5) ... 517s Setting up libsoftware-licensemoreutils-perl (1.009-1) ... 517s Setting up x11-xkb-utils (7.7+9) ... 517s Setting up libqt6help6:armhf (6.8.2-3) ... 517s Setting up libqscintilla2-qt6-15:armhf (2.14.1+dfsg-1build4) ... 517s Setting up debhelper (13.24.1ubuntu2) ... 517s Setting up gfortran (4:14.2.0-1ubuntu1) ... 517s update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f95 (f95) in auto mode 517s update-alternatives: warning: skip creation of /usr/share/man/man1/f95.1.gz because associated file /usr/share/man/man1/gfortran.1.gz (of link group f95) doesn't exist 517s update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f77 (f77) in auto mode 517s update-alternatives: warning: skip creation of /usr/share/man/man1/f77.1.gz because associated file /usr/share/man/man1/gfortran.1.gz (of link group f77) doesn't exist 517s Setting up libcurl4-openssl-dev:armhf (8.12.1-3ubuntu1) ... 517s Setting up libhdf5-dev (1.14.5+repack-3) ... 517s update-alternatives: using /usr/lib/arm-linux-gnueabihf/pkgconfig/hdf5-serial.pc to provide /usr/lib/arm-linux-gnueabihf/pkgconfig/hdf5.pc (hdf5.pc) in auto mode 517s Setting up libnamespace-clean-perl (0.27-2) ... 517s Setting up libstring-license-perl (0.0.11-1ubuntu1) ... 517s Setting up libgetopt-long-descriptive-perl (0.116-2) ... 517s Setting up xserver-common (2:21.1.16-1ubuntu1) ... 517s Setting up licensecheck (3.3.9-1ubuntu1) ... 517s Setting up libapp-cmd-perl (0.337-2) ... 517s Setting up xvfb (2:21.1.16-1ubuntu1) ... 517s Setting up cme (1.041-1) ... 517s Setting up libheif-plugin-aomdec:armhf (1.19.7-1) ... 517s Setting up libwww-perl (6.78-1) ... 517s Setting up libheif1:armhf (1.19.7-1) ... 517s Setting up libparse-debcontrol-perl (2.005-6) ... 517s Setting up libhtml-tokeparser-simple-perl (3.16-4) ... 517s Setting up libwww-mechanize-perl (2.19-1ubuntu1) ... 517s Setting up libgd3:armhf (2.3.3-12ubuntu3) ... 517s Setting up gnuplot-nox (6.0.2+dfsg1-1) ... 517s update-alternatives: using /usr/bin/gnuplot-nox to provide /usr/bin/gnuplot (gnuplot) in auto mode 517s Setting up liblwp-protocol-https-perl (6.14-1) ... 517s Setting up libheif-plugin-libde265:armhf (1.19.7-1) ... 517s Setting up libgraphicsmagick-q16-3t64 (1.4+really1.3.45+hg17689-1) ... 517s Setting up lintian (2.121.1+nmu1ubuntu2) ... 517s Setting up libgraphicsmagick++-q16-12t64 (1.4+really1.3.45+hg17689-1) ... 517s Setting up libconfig-model-dpkg-perl (3.010) ... 517s Setting up dh-octave-autopkgtest (1.8.0) ... 517s Setting up octave (9.4.0-1) ... 518s Setting up octave-dev (9.4.0-1) ... 518s Setting up octave-image:armhf (2.14.0-5build1) ... 518s Setting up dh-octave (1.8.0) ... 518s Processing triggers for libc-bin (2.41-1ubuntu2) ... 518s Processing triggers for man-db (2.13.0-1) ... 519s Processing triggers for udev (257.3-1ubuntu3) ... 520s Processing triggers for install-info (7.1.1-1) ... 528s autopkgtest [14:58:46]: test command1: DH_OCTAVE_TEST_ENV="xvfb-run -a" /usr/bin/dh_octave_check --use-installed-package 528s autopkgtest [14:58:46]: test command1: [----------------------- 530s Checking package... 530s Run the unit tests... 530s Checking m files ... 530s [inst/stdfilt.m] 530s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/stdfilt.m 530s ***** test 530s im = stdfilt (ones (5)); 530s assert (im, zeros (5)) 530s ***** test 530s A = zeros (3,3); 530s B = ones (3,3); 530s C = [1 1 1; 2 2 2; 3 3 3]; 530s D = C'; 530s E = ones (3,3); 530s E(2,2) = 2; 530s F = 3 .* ones (3,3); 530s F(2,2) = 1; 530s G = [-1 2 7; -5 2 8; -7 pi 9]; 530s H = [5 2 8; 1 -3 1; 5 1 0]; 530s A_out = [0 0 0; 0 0 0; 0 0 0]; 530s B_out = [0 0 0; 0 0 0; 0 0 0]; 530s C_out = repmat ([std([1 1 1 1 1 1 2 2 2]) 530s std([1 1 1 2 2 2 3 3 3]) 530s std([2 2 2 3 3 3 3 3 3])], [1 3]); 530s D_out = C_out'; 530s E_out = (1/3) .* ones (3,3); 530s F_out = (2/3) .* ones (3,3); 530s G_out = [std([-1 -1 2 -1 -1 2 -5 -5 2]), std([-1 2 7 -1 2 7 -5 2 8]), std([2 7 7 2 7 7 2 8 8]); 530s std([-1 -1 2 -5 -5 2 -7 -7 pi]), std([-1 2 7 -5 2 8 -7 pi 9]), std([2 7 7 2 8 8 pi 9 9]); 530s std([-5 -5 2 -7 -7 pi -7 -7 pi]), std([-5 2 8 -7 pi 9 -7 pi 9]), std([2 8 8 pi 9 9 pi 9 9])]; 530s H_out = [std([5 5 2 5 5 2 1 1 -3]), std([5 2 8 5 2 8 1 -3 1]), std([2 8 8 2 8 8 -3 1 1]); 530s std([5 5 2 1 1 -3 5 5 1]), std([5 2 8 1 -3 1 5 1 0]), std([2 8 8 -3 1 1 1 0 0]); 530s std([1 1 -3 5 5 1 5 5 1]), std([1 -3 1 5 1 0 5 1 0]), std([-3 1 1 1 0 0 1 0 0])]; 530s assert (stdfilt (A), A_out) 530s assert (stdfilt (B), B_out) 530s assert (stdfilt (C), C_out, 4*eps) 530s assert (stdfilt (D), D_out, 4*eps) 530s assert (stdfilt (E), E_out, 4*eps) 530s assert (stdfilt (F), F_out, 4*eps) 530s assert (stdfilt (G), G_out, 4*eps) 530s assert (stdfilt (H), H_out, 4*eps) 530s im = stdfilt (ones (5, 'logical')); 530s assert (im, zeros (5)) 530s im = stdfilt (ones (5, 'uint8')); 530s assert (im, zeros (5)) 530s assert (stdfilt (int8(H), H_out, 4*eps)) 530s assert (stdfilt (uint8(H), H_out, 4*eps)) 530s assert (stdfilt (int16(H), H_out, 4*eps)) 530s assert (stdfilt (uint16(H), H_out, 4*eps)) 530s assert (stdfilt (int32(H), H_out, 4*eps)) 530s assert (stdfilt (uint32(H), H_out, 4*eps)) 530s assert (stdfilt (int64(H), H_out, 4*eps)) 530s assert (stdfilt (uint64(H), H_out, 4*eps)) 530s assert (stdfilt (single(H), H_out, 4*eps)) 530s 2 tests, 2 passed, 0 known failure, 0 skipped 530s [inst/imimposemin.m] 530s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imimposemin.m 530s ***** shared im0, bw0, out0, out0_4 530s im0 = uint8 ([5 5 5 5 5; 530s 5 4 3 4 5; 530s 5 3 0 3 5; 530s 5 4 3 4 5; 530s 5 5 5 5 5]); 530s bw0 = false (5); 530s bw0(4, 4) = true; 530s out0 = im0 + 1; 530s out0(4, 4) = 0; 530s out0_4 = out0; 530s out0_4(3, 3) = 4; 530s ***** error imimposemin () 531s ***** error imimposemin (im0) 531s ***** error imimposemin ("hello", bw0) 531s ***** error imimposemin (i.*im0, bw0) 531s ***** error imimposemin (sparse (im0), bw0) 531s ***** error imimposemin (im0, ones (2)) 531s ***** error imimposemin (im0, 'hello') 531s ***** error imimposemin (im0, i .* double (bw0)) 531s ***** error imimposemin (im0, sparse (bw0)) 531s ***** error imimposemin (im0, bw0, 'hello') 531s ***** error imimposemin (im0, bw0, 3) 531s ***** assert (imimposemin (im0, bw0), out0) 531s ***** assert (imimposemin (im0, bw0, 8), out0) 531s ***** assert (imimposemin (im0, bw0, 4), out0_4) 531s ***** assert (imimposemin (im0, bw0, true (3)), out0) 531s ***** test 531s out = imimposemin (im0, bw0); 531s assert (size (out), size (im0)) 531s assert (class (out), "uint8") 531s ***** test 531s out = imimposemin (double (im0), bw0); 531s assert (size (out), size (im0)) 531s assert (class (out), "double") 531s ***** test 531s out = imimposemin (single (im0), bw0); 531s assert (size (out), size (im0)) 531s assert (class (out), "single") 531s ***** test 531s out = imimposemin (uint16 (im0), bw0); 531s assert (size (out), size (im0)) 531s assert (class (out), "uint16") 531s ***** test 531s im = cat (3, im0, im0, im0, im0); 531s bw = cat (3, bw0, bw0, bw0, bw0); 531s out = imimposemin (im, bw); 531s assert (size (out), size (im)) 531s ***** test 531s expected_double = double (im0); 531s expected_double += 0.005; 531s expected_double(4, 4) = -inf; 531s out = imimposemin (double (im0), bw0); 531s assert (out, expected_double, eps) 531s ***** test 531s im = uint8 (10 .* ones (10)); 531s im(6:8, 6:8) = 2; 531s im(2:4, 2:4) = 7; 531s im(3, 3) = 5; 531s im(2, 9) = 9; 531s im(3, 8) = 9; 531s im(9, 2) = 9; 531s im(8, 3) = 9; 531s bw = false (10); 531s bw(3, 3) = true; 531s bw(6:8, 6:8) = true; 531s expected = uint8 (11 .* ones(10)); 531s expected(2:4, 2:4) = 8; 531s expected(3, 3) = 0; 531s expected(6:8, 6:8) = 0; 531s expected_double = double (expected); 531s expected_double -= 0.992; 531s expected_double (expected_double < 0) = -inf; 531s out = imimposemin (im, bw); 531s assert (out, expected, eps) 531s out = imimposemin (double (im), bw); 531s assert (out, expected_double, eps) 531s 22 tests, 22 passed, 0 known failure, 0 skipped 531s [inst/bweuler.m] 531s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/bweuler.m 531s ***** demo 531s A=zeros(9,10); 531s A([2,5,8],2:9)=1; 531s A(2:8,[2,9])=1 531s bweuler(A) 531s # Euler number (objects minus holes) is 1-2=-1 in an 8-like object 531s ***** test 531s A=zeros(10,10); 531s A(2:9,3:8)=1; 531s A(4,4)=0; 531s A(8,8)=0; # not a hole 531s A(6,6)=0; 531s assert(bweuler(A),-1); 531s ***** test 531s A=zeros(10,10); 531s A(2:4,2:4)=1; 531s A(5:8,5:8)=1; 531s assert(bweuler(A,4),2); 531s assert(bweuler(A,8),1); 531s assert(bweuler(A),1); 531s ***** error <2 dimensions> bweuler (true (5, 5, 1, 5)) 531s 3 tests, 3 passed, 0 known failure, 0 skipped 531s [inst/mat2gray.m] 531s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/mat2gray.m 531s ***** assert(mat2gray([1 2 3]), [0 0.5 1]); # standard use 531s ***** assert(mat2gray(repmat ([1 2; 3 3], [1 1 3])), repmat ([0 0.5; 1 1], [1 1 3])); # setting min and max 531s ***** assert(mat2gray([1 2 3], [2 2]), [1 1 1]); # equal min and max 531s ***** assert(mat2gray([-1 0 0.5 3], [2 2]), [0 0 0.5 1]); # equal min and max 531s ***** test 531s ## SCALE is unset and all values in the input IMAGE are the same: 531s ## case 1: all values are in the [0 1] range] 531s assert (mat2gray ([.5 .5; .5 .5]), [.5 .5; .5 .5]) 531s ## case 2: all values are above the [0 1] range 531s assert (mat2gray ([3 3; 3 3]), [1 1; 1 1]) 531s ## case 2: all values are below the [0 1] range 531s assert (mat2gray ([-3 -3; -3 -3]), [0 0; 0 0]) 531s ***** assert(mat2gray([1 2 3], [3 1]), [1 0.5 0]); # max and min inverted 531s ***** assert (mat2gray ([-3 -2 -1]), [0 0.5 1]) 531s 7 tests, 7 passed, 0 known failure, 0 skipped 531s [inst/imdivide.m] 531s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imdivide.m 531s ***** assert (imdivide (uint8 ([23 250]), uint8 ([ 2 50])), uint8 ([ 12 5])); # default to first class 531s ***** assert (imdivide (uint8 ([56 255]), uint8 ([ 0 0])), uint8 ([255 255])); # dividing by zero works (tested in matlab) 531s ***** assert (imdivide (uint8 ([23 250]), 2), uint8 ([ 12 125])); # works subtracting a scalar 531s ***** assert (imdivide (uint8 ([23 250]), uint8 ([ 2 50]), "uint16"), uint16 ([ 12 5])); # defining output class works (not in matlab) 531s ***** assert (imdivide (logical ([1 1 0 0]), logical ([1 0 1 0])), double ([1 Inf 0 NaN])); # dividing logical matrix (tested in matlab) 531s ***** fail ("imdivide (uint8 ([23 250]), uint16 ([23 250]))"); # input needs to have same class 531s 6 tests, 6 passed, 0 known failure, 0 skipped 531s [inst/rgb2xyz.m] 531s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/rgb2xyz.m 531s ***** assert (rgb2xyz ([0 0 0]), [0, 0, 0], 1e-3) 531s ***** assert (rgb2xyz ([1 0 0]), [0.4125, 0.2127, 0.0193], 1e-3) 531s ***** assert (rgb2xyz ([1 1 0]), [0.7700, 0.9278, 0.1385], 1e-3) 531s ***** assert (rgb2xyz ([0 1 0]), [0.3576, 0.7152, 0.1192], 1e-3) 531s ***** assert (rgb2xyz ([0 1 1]), [0.5380, 0.7873, 1.0694], 1e-3) 531s ***** assert (rgb2xyz ([0 0 1]), [0.1804, 0.0722, 0.9502], 1e-3) 531s ***** assert (rgb2xyz ([1 0 1]), [0.5929, 0.2848, 0.9696], 1e-3) 531s ***** assert (rgb2xyz ([1 1 1]), [0.9505, 1.0000, 1.0888], 1e-3) 531s ***** assert (rgb2xyz ([0.5 0.5 0.5]), [0.2034, 0.2140, 0.2330], 1e-3) 531s ***** assert (rgb2xyz ([0.75 0 0]), [0.2155, 0.1111, 0.0101], 1e-3) 531s ***** assert (rgb2xyz ([0.5 0 0]), [0.0883, 0.0455, 0.0041], 1e-3) 531s ***** assert (rgb2xyz ([0.25 0 0]), [0.0210, 0.0108, 0.0010], 1e-3) 531s ***** assert (rgb2xyz ([1 0.5 0.5]), [0.5276, 0.3812, 0.2482], 1e-3) 531s ***** assert (rgb2xyz ([1.5 1 1]), [1.5845, 1.3269, 1.1185], 1e-3) 531s ***** test 531s rgb_map = rand (64, 3); 531s assert (xyz2rgb (rgb2xyz (rgb_map)), rgb_map, 2e-5); 531s ***** test 531s rgb_img = rand (64, 64, 3); 531s assert (xyz2rgb (rgb2xyz (rgb_img)), rgb_img, 2e-5); 531s ***** assert (rgb2xyz (sparse ([0 0 0])), [0 0 0], 1e-3) 531s ***** assert (rgb2xyz (sparse ([0 0 1])), [0.1804, 0.0722, 0.9502], 1e-3) 531s ***** assert (rgb2xyz (uint8([255 255 255])), [0.9505, 1.0000, 1.0888], 1e-3) 531s ***** assert (class (rgb2xyz (single([1 1 1]))), 'single') 531s ***** error rgb2xyz () 531s ***** error rgb2xyz (1,2) 531s ***** error rgb2xyz ({1}) 531s ***** error rgb2xyz (ones (2,2)) 531s ***** test 531s rgb = rand (16, 16, 3, 5); 531s xyz = zeros (size (rgb)); 531s for i = 1:5 531s xyz(:,:,:,i) = rgb2xyz (rgb(:,:,:,i)); 531s endfor 531s assert (rgb2xyz (rgb), xyz) 531s 25 tests, 25 passed, 0 known failure, 0 skipped 531s [inst/bwpack.m] 531s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/bwpack.m 531s ***** error id=Octave:invalid-fun-call bwpack () 531s ***** error id=Octave:invalid-input-arg bwpack ("text") 531s ***** xtest 531s ## bug #55521 531s assert (bwpack (eye (5)), uint32 ([1 2 4 8 16])) 531s ***** xtest 531s ## bug #55521 531s assert (bwpack (repmat (eye (4), 15, 1)), 531s uint32 ([286331153 572662306 1145324612 2290649224 531s 17895697 35791394 71582788 143165576])) 531s ***** xtest 531s ## bug #55521 531s assert (bwpack (ones (3, 3, 3, 3)), repmat (uint32 (7), 1, 3, 3, 3)) 531s ***** assert (bwpack (false (0, 10)), uint32 (zeros (0, 10))) 531s ***** assert (bwpack (false (0, 0)), uint32 (zeros (0, 0))) 531s ***** assert (bwpack (false (32, 0)), uint32 (zeros (1, 0))) 531s ***** assert (bwpack (false (33, 0)), uint32 (zeros (2, 0))) 531s ***** assert (bwpack (false (0, 10, 3)), uint32 (zeros (0, 10, 3))) 531s ***** assert (bwpack (false (33, 0, 3)), uint32 (zeros (2, 0, 3))) 531s ***** assert (bwpack (i), bwpack (logical (i))) 531s 12 tests, 12 passed, 0 known failure, 0 skipped 531s [inst/im2col.m] 531s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/im2col.m 531s ***** demo 531s ## Divide A using distinct blocks and then reverse the operation 531s A = [ 1:10 531s 11:20 531s 21:30 531s 31:40]; 531s B = im2col (A, [2 5], "distinct") 531s C = col2im (B, [2 5], [4 10], "distinct") 531s ***** test 531s a = rand (10); 531s assert (im2col (a, [5 5]), im2col (a, [5 5], "sliding")) 531s ***** test 531s a = rand (10); 531s assert (im2col (a, [5 5]), im2col (a, "indexed", [5 5])) 531s ***** error im2col (rand (20), [2 5], 10) 531s ***** error im2col (rand (20), [2 5], "wrong_block_type") 531s ***** error im2col (rand (10), [5 5], "sliding", 5) 531s ***** error im2col (rand (10), "indexed", [5 5], "sliding", 5) 532s ***** shared B, A, Bs, As, Ap, Bp0, Bp1, Bp0_3s 532s v = [1:10]'; 532s r = reshape (v, 2, 5); 532s B = [v v+20 v+40 v+10 v+30 v+50]; 532s A = [r r+10; r+20 r+30; r+40 r+50]; 532s As = [ 1 2 3 4 5 532s 6 7 8 9 10 532s 11 12 13 14 15]; 532s b1 = As(1:2, 1:4)(:); 532s b2 = As(2:3, 1:4)(:); 532s b3 = As(1:2, 2:5)(:); 532s b4 = As(2:3, 2:5)(:); 532s Bs = [b1, b2, b3, b4]; 532s Ap = A(:, 1:9); 532s Bp1 = Bp0 = B; 532s Bp0(9:10, 4:6) = 0; 532s Bp1(9:10, 4:6) = 1; 532s Bp0_3s = Bp0; 532s Bp0_3s(11:30, :) = 0; 532s ***** assert (im2col (A, [2 5], "distinct"), B); 532s ***** assert (im2col (Ap, [2 5], "distinct"), Bp0); 532s ***** assert (im2col (Ap, [2 5 3], "distinct"), Bp0_3s); 532s ***** assert (im2col (Ap, "indexed", [2 5], "distinct"), Bp1); 532s ***** assert (im2col (uint8 (Ap), "indexed", [2 5], "distinct"), uint8 (Bp0)); 532s ***** assert (im2col (uint16 (Ap), "indexed", [2 5], "distinct"), uint16 (Bp0)); 532s ***** assert (im2col (int16 (Ap), "indexed", [2 5], "distinct"), int16 (Bp1)); 532s ***** assert (im2col (uint32 (Ap), "indexed", [2 5], "distinct"), uint32 (Bp1)); 532s ***** assert (im2col (uint8 (A), [2 5], "distinct"), uint8 (B)); 532s ***** assert (im2col (single (A), [2 5], "distinct"), single (B)); 532s ***** assert (im2col (logical (A), [2 5], "distinct"), logical (B)); 532s ***** assert (im2col (uint8 (As), [2 4], "sliding"), uint8 (Bs)); 532s ***** assert (im2col (single (As), [2 4], "sliding"), single (Bs)); 532s ***** assert (im2col (logical (As), [2 4], "sliding"), logical (Bs)); 532s ***** assert (im2col (As, [2 4], "sliding"), Bs); 532s ***** assert (im2col (As, [3 5], "sliding"), As(:)); 532s ***** test 532s A = randi (9, 10, 9, 5); 532s ***** assert (convn (A, ones (3, 3, 3), "valid"), 532s reshape (sum (im2col (A, [3 3 3])), [8 7 3])); 532s 532s A = randi (9, 10, 9, 5, 7); 532s ***** assert (convn (A, ones (3, 3, 3), "valid"), 532s reshape (sum (im2col (A, [3 3 3])), [8 7 3 7])); 532s ***** assert (convn (A, ones (3, 4, 3), "valid"), 532s reshape (sum (im2col (A, [3 4 3])), [8 6 3 7])); 532s ***** assert (convn (A, ones (3, 5, 3, 2), "valid"), 532s reshape (sum (im2col (A, [3 5 3 2])), [8 5 3 6])); 532s ***** assert (im2col (1:8, [2 1]), zeros (2, 0)) 532s 28 tests, 28 passed, 0 known failure, 0 skipped 532s [inst/imextendedmin.m] 532s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imextendedmin.m 532s ***** shared im0, bw0_h2_out 532s im0 = uint8 ([5 5 5 5 5; 532s 5 4 3 4 5; 532s 5 3 0 3 5; 532s 5 4 3 4 5; 532s 5 5 5 5 5]); 532s bw0_h2_out = false (5); 532s bw0_h2_out(3,3) = true; 532s ***** error imextendedmin () 532s ***** error imextendedmin (im0) 532s ***** error imextendedmin ("hello", 2) 532s ***** error imextendedmin (i.*im0, 2) 532s ***** error imextendedmin (sparse (im0), 2) 532s ***** error imextendedmin (im0, -2) 532s ***** error imextendedmin (im0, 'a') 532s ***** error imextendedmin (im0, ones (2)) 532s ***** error imextendedmin (im0, 2*i) 532s ***** assert (imextendedmin (im0, 2), bw0_h2_out) 532s ***** assert (imextendedmin (double (im0), 2), bw0_h2_out) 532s ***** assert (imextendedmin (im0, 2, 8), bw0_h2_out) 532s ***** assert (imextendedmin (im0, 2, 4), bw0_h2_out) 532s ***** assert (imextendedmin (im0, 2, true (3)), bw0_h2_out) 532s ***** test 532s out = imextendedmin (im0, 2); 532s assert (size (out), size (im0)) 532s assert (class (out), "logical") 532s ***** test 532s out = imextendedmin (single (im0), 2); 532s assert (size (out), size (im0)) 532s assert (class (out), "logical") 532s ***** test 532s out = imextendedmin (uint8 (im0), 2); 532s assert (size (out), size (im0)) 532s assert (class (out), "logical") 532s ***** test 532s out = imextendedmin (uint16 (im0), 2); 532s assert (size (out), size (im0)) 532s assert (class (out), "logical") 532s ***** test 532s im = cat (3, im0, im0, im0, im0); 532s out = imextendedmin (im, 2); 532s assert (size (out), size (im)) 532s ***** test 532s im = 10 .* ones (10); 532s im(2:4, 2:4) = 7; 532s im(6:8, 6:8) = 2; 532s expected_4 = false (10); 532s expected_4(6:8, 6:8) = true; 532s expected_2 = expected_4; 532s expected_2(2:4, 2:4) = true; 532s out = imextendedmin (im, 4); 532s assert (out, expected_4, eps) 532s out = imextendedmin (0.1.*im, 0.4); 532s assert (out, expected_4, eps) 532s out = imextendedmin (im, 2); 532s assert (out, expected_2, eps) 532s ***** test 532s im2 = 10 .* ones (10); 532s im2(2:4, 2:4) = 7; 532s im2(6:9, 6:9)=2; 532s im2(5, 5)=2; 532s im2(6, 7)=10; 532s im2(7, 8)=10; 532s expected_8 = false (10); 532s expected_8(6:9, 6:9) = true; 532s expected_8(5, 5) = true; 532s expected_8(6, 7) = false; 532s expected_8(7, 8) = false; 532s expected_4 = expected_8; 532s expected_4(2:4, 2:4) = true; 532s out2 = imextendedmin (im2, 2); 532s assert (out2, expected_8, eps) 532s out2 = imextendedmin (im2, 2, 4); 532s assert (out2, expected_4, eps) 532s out2 = imextendedmin (im2, 2, 8); 532s assert (out2, expected_8, eps) 532s 21 tests, 21 passed, 0 known failure, 0 skipped 532s [inst/imquantize.m] 532s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imquantize.m 532s ***** error 532s imquantize (rand (5), [3 4 2 5]) 532s ***** error 532s imquantize (rand (5), [1 2 3], "foo") 532s ***** error 532s imquantize (rand (5), [1 2 3 4], 1:6) 532s ***** error 532s imquantize (rand (5), [1 2 3 4], 1:2) 532s ***** test 532s img = [-inf 0 10000000; -100000 -3 1/1000000; 5 5 10]; 532s [q, q_idx] = imquantize (img, 5); 532s assert (q, [1 1 2; 1 1 1; 1 1 2]) 532s assert (q_idx, q) 532s ***** test 532s img = [1:10; 11:20; 21:30; 31:40; 41:50; 51:60; 61:70]; 532s 532s expected_q = [ 532s 0 0 0 0 0 1 1 1 1 1 532s 1 1 1 1 1 5 5 5 5 5 532s 5 5 5 5 5 10 10 10 10 10 532s 20 20 20 20 20 20 20 20 20 20 532s 30 30 30 30 30 30 30 30 30 30 532s 30 30 30 30 30 30 30 30 30 30 532s 15 15 15 15 15 15 15 15 15 15]; 532s 532s expected_q_idx = [ 532s 1 1 1 1 1 2 2 2 2 2 532s 2 2 2 2 2 3 3 3 3 3 532s 3 3 3 3 3 4 4 4 4 4 532s 5 5 5 5 5 5 5 5 5 5 532s 6 6 6 6 6 6 6 6 6 6 532s 6 6 6 6 6 6 6 6 6 6 532s 7 7 7 7 7 7 7 7 7 7]; 532s 532s [q, q_idx] = imquantize (img, [5 15 25 30 40 60], [0 1 5 10 20 30 15]); 532s assert (q, expected_q) 532s assert (q_idx, expected_q_idx) 532s 532s [q, q_idx] = imquantize (single (img), [5 15 25 30 40 60], 532s [0 1 5 10 20 30 15]); 532s assert (q, expected_q) 532s assert (q_idx, expected_q_idx) 532s 532s [q, q_idx] = imquantize (uint8 (img), [5 15 25 30 40 60], 532s [0 1 5 10 20 30 15]); 532s assert (q, expected_q) 532s assert (q_idx, expected_q_idx) 532s 532s [q, q_idx] = imquantize (uint8 (img), uint8 ([5 15 25 30 40 60]), 532s [0 1 5 10 20 30 15]); 532s assert (q, expected_q) 532s assert (q_idx, expected_q_idx) 532s 532s [q, q_idx] = imquantize (uint8 (img), uint8 ([5 15 25 30 40 60]), 532s uint8 ([0 1 5 10 20 30 15])); 532s assert (q, uint8 (expected_q)) 532s assert (q_idx, expected_q_idx) 532s ***** test 532s img = randi ([0 255], 10, "uint8"); 532s [q, q_idx] = imquantize (img, [50 100 150 200]); 532s assert (class (q), "double") 532s assert (class (q_idx), "double") 532s 532s [q, q_idx] = imquantize (img, [50 100 150 200], uint16 ([5 7 8 9 2])); 532s assert (class (q), "uint16") 532s assert (class (q_idx), "double") 532s 532s [q, q_idx] = imquantize (img, [50 100 150 200], uint8 ([5 7 8 9 2])); 532s assert (class (q), "uint8") 532s assert (class (q_idx), "double") 532s ***** test 532s img = [1:10; 11:20; 21:30; 31:40; 41:50; 51:60; 61:70].'; 532s r_idx = reshape (randperm (numel (img)), size (img)); 532s 532s [quant, quant_idx] = imquantize (img, [5 15 25 30 40 60]); 532s [quant_r, quant_r_idx] = imquantize (img(r_idx), [5 15 25 30 40 60]); 532s 532s assert (imquantize (img(r_idx), [5 15 25 30 40 60]), quant(r_idx)) 532s assert (quant_r, quant_r_idx) 532s 8 tests, 8 passed, 0 known failure, 0 skipped 532s [inst/axes2pix.m] 532s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/axes2pix.m 532s ***** error id=Octave:invalid-fun-call axes2pix () 532s ***** error id=Octave:invalid-fun-call axes2pix (42) 532s ***** error id=Octave:invalid-fun-call axes2pix (42, [1, 2]) 533s ***** error id=Octave:invalid-input-arg axes2pix ([42, 43], [1, 2], [1, 2, 3]) 533s ***** error id=Octave:invalid-input-arg axes2pix (42, [1, 2; 3, 4], [1, 2, 3]) 533s ***** assert (axes2pix (42, [1 42], []), []) 533s ***** assert (axes2pix (240, [1, 240], 30), 30) 533s ***** assert (axes2pix (291, [1, 291], 30), 30) 533s ***** assert (axes2pix (240, [400.5, 520], 450), 100) 533s ***** assert (axes2pix (291, [-19, 271], 90), 110) 533s ***** assert (axes2pix (1, [1 1], [0, 1, 2, 3, 4]), [0, 1, 2, 3, 4]) 533s ***** assert (axes2pix (5, [1 1], [0, 1, 2, 3, 4]), [0, 1, 2, 3, 4]) 533s ***** assert (axes2pix (0, [1 1], [0, 1, 2, 3, 4]), [0, 1, 2, 3, 4]) 533s ***** assert (axes2pix (5, [5 1], [1, 2, 3, 4, 5]), [5, 4, 3, 2, 1]) 533s ***** assert (axes2pix (5, [3 -1], [1, 2, 3, 4, 5]), [3, 2, 1, 0, -1]) 533s ***** assert (axes2pix (25, [5 1], [1, 2, 3, 4, 5]), [25, 19, 13, 7, 1]) 533s ***** assert (axes2pix (1, [1 5], [1, 2, 3, 4, 5]), [1, 2, 3, 4, 5]) 533s ***** assert (axes2pix (1, [5 1], [-1, 0, 1, 2.5]), [-5, -4, -3, -1.5]) 533s ***** assert (axes2pix (1, [-10 -15], [-1, 0, 1.5]), [10, 11, 12.5]) 533s ***** assert (axes2pix (5, [5; 1], [1, 2, 3, 4, 5]), [5, 4, 3, 2, 1]) 533s ***** assert (axes2pix (5, [5; 1], [1; 2; 3; 4; 5]), [5; 4; 3; 2; 1]) 533s 21 tests, 21 passed, 0 known failure, 0 skipped 533s [inst/imclose.m] 533s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imclose.m 533s ***** shared in, out 533s in = [ 0 0 0 1 1 1 0 0 1 1 533s 0 1 0 1 1 1 0 0 0 1 533s 1 1 1 1 1 0 0 0 0 0 533s 0 1 1 1 1 0 0 0 0 0 533s 0 0 0 1 0 0 0 0 1 0 533s 0 0 0 0 0 0 0 1 1 1 533s 0 0 0 0 1 0 1 0 1 0 533s 0 0 0 1 1 1 1 1 0 0 533s 0 0 0 0 1 1 1 0 0 0 533s 0 0 0 1 1 1 0 0 0 0]; 533s 533s out = [ 1 1 1 1 1 1 1 1 1 1 533s 1 1 1 1 1 1 0 0 0 1 533s 1 1 1 1 1 0 0 0 0 1 533s 1 1 1 1 1 0 0 0 0 1 533s 0 0 0 1 1 0 0 0 1 1 533s 0 0 0 1 1 1 1 1 1 1 533s 0 0 0 1 1 1 1 1 1 1 533s 0 0 0 1 1 1 1 1 0 0 533s 0 0 0 1 1 1 1 0 0 0 533s 0 0 0 1 1 1 1 0 0 0]; 533s ***** assert (imclose (logical (in), ones (3)), logical (out)); 533s 533s out = [99 99 16 16 16 73 74 64 64 64 533s 98 88 16 16 16 73 71 64 64 64 533s 93 88 88 61 61 61 68 70 70 70 533s 93 88 88 61 61 61 68 71 71 71 533s 93 93 88 61 61 61 68 75 66 66 533s 79 79 82 90 90 49 49 49 49 66 533s 79 79 82 91 91 48 46 46 46 66 533s 79 79 82 95 97 48 46 46 46 72 533s 18 18 94 96 84 48 46 46 46 59 533s 18 18 100 96 84 50 50 50 50 59]; 533s ***** assert (imclose (magic (10), ones (3)), out); 533s ***** assert (imclose (uint8 (magic (10)), strel ("square", 3)), uint8 (out)); 533s 533s ## using a se that will be decomposed in 2 pieces 533s out =[ 99 99 88 74 74 74 74 70 70 70 533s 98 93 88 74 74 74 74 70 70 70 533s 93 93 88 74 74 74 74 70 70 70 533s 93 93 88 74 74 74 74 71 71 71 533s 93 93 88 75 75 75 75 75 75 75 533s 93 93 90 90 90 72 72 72 72 72 533s 93 93 91 91 91 72 72 72 72 72 533s 93 93 93 95 97 72 72 72 72 72 533s 94 94 94 96 97 72 72 72 72 72 533s 100 100 100 97 97 72 72 72 72 72]; 533s ***** assert (imclose (magic (10), ones(5)), out); 533s 533s ## using a weird non-symmetric and even-size se 533s out =[ 92 99 16 16 16 70 74 58 58 58 533s 98 88 60 73 16 73 69 70 64 58 533s 88 81 88 60 60 60 69 69 70 70 533s 87 87 61 68 61 60 68 69 71 69 533s 86 93 87 61 61 61 68 75 68 69 533s 23 82 89 89 90 45 68 45 68 66 533s 23 23 82 89 91 48 45 45 45 66 533s 79 23 82 95 97 46 48 46 45 72 533s 18 79 94 96 78 50 46 46 46 59 533s 18 18 100 94 94 78 50 50 46 59]; 533s ***** assert (imclose (magic (10), [1 0 0 0; 1 1 1 0; 0 1 0 1]), out); 533s 5 tests, 5 passed, 0 known failure, 0 skipped 533s [inst/deconvwnr.m] 533s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/deconvwnr.m 533s ***** shared im0, psf0, im0_out, psf1, im2, out2_0, out2_1, im3 533s im0 = ones (5, 5); 533s psf0 = ones (3, 3); 533s im0_out = 0.11111 .* ones (5, 5); 533s psf1 = [1 0 0; 0 1 0; 0 0 1]; 533s im2 = checkerboard (2, 2, 2); 533s out2_0 = [ 533s -0.4713 -0.2786 0.4229 0.5161 -0.2759 -0.4685 0.5131 0.4199; 533s -0.4713 -0.2786 0.4229 0.5161 -0.2759 -0.4685 0.5131 0.4199; 533s 0.5161 0.4229 -0.2786 -0.4713 0.4199 0.5131 -0.4685 -0.2759; 533s 0.5161 0.4229 -0.2786 -0.4713 0.4199 0.5131 -0.4685 -0.2759; 533s -0.4713 -0.2786 0.4229 0.5161 -0.2759 -0.4685 0.5131 0.4199; 533s -0.4713 -0.2786 0.4229 0.5161 -0.2759 -0.4685 0.5131 0.4199; 533s 0.5161 0.4229 -0.2786 -0.4713 0.4199 0.5131 -0.4685 -0.2759; 533s 0.5161 0.4229 -0.2786 -0.4713 0.4199 0.5131 -0.4685 -0.2759]; 533s out2_1 = [ 533s -0.0000 0.8481 0.4288 -0.4194 0.0000 0.2765 0.1373 -0.1392; 533s 0.5623 -0.0000 -0.4194 0.1429 0.5623 0.0000 -0.1392 0.4231; 533s 0.1429 -0.4194 0 0.5623 0.4231 -0.1392 0 0.5623; 533s -0.4194 0.4288 0.8481 0 -0.1392 0.1373 0.2765 0; 533s -0.0000 0.8481 0.4288 -0.4194 0.0000 0.2765 0.1373 -0.1392; 533s 0.5623 -0.0000 -0.4194 0.1429 0.5623 0.0000 -0.1392 0.4231; 533s 0.1429 -0.4194 0 0.5623 0.4231 -0.1392 0 0.5623; 533s -0.4194 0.4288 0.8481 0 -0.1392 0.1373 0.2765 0]; 533s im3 = rot90 (diag (0.5.*ones (1,8)) + diag (ones(1,7), 1)); 533s ***** error deconvwnr () 533s ***** error deconvwnr (ones (5)) 533s ***** assert (deconvwnr (ones (5), ones (3))) 533s ***** assert (deconvwnr (ones (5), ones (3), 0.7)) 533s ***** assert (deconvwnr (ones (5), ones (3), 0.5 .* ones (5))) 533s ***** assert (deconvwnr (ones (5, 5, 5), ones (3))) 533s ***** error deconvwnr (ones (5), ones (3), -0.7) 533s ***** error 533s deconvwnr (ones (5), ones (7)) 533s ***** error 533s deconvwnr (ones (5, 8, 2), ones (6, 5)) 533s ***** assert (deconvwnr (im0, psf0), im0_out, 1e-5) 533s ***** assert (deconvwnr (im0, single (psf0)), im0_out, 1e-5) 533s ***** assert (class (deconvwnr (im0, psf0)), "double") 533s ***** assert (deconvwnr (single (im0), psf0), single (im0_out), 1e-5) 533s ***** assert (class (deconvwnr (single (im0), psf0)), "single") 533s ***** assert (deconvwnr (im2uint8 (im0), psf0), im2uint8 (im0_out)) 533s ***** assert (class (deconvwnr (im2uint8 (im0), psf0)), "uint8") 533s ***** assert (deconvwnr (im2uint16 (im0), psf0), im2uint16 (im0_out)) 533s ***** assert (class (deconvwnr (im2uint16 (im0), psf0)), "uint16") 533s ***** assert (deconvwnr (im2int16 (im0), psf0), im2int16 (im0_out)) 533s ***** assert (class (deconvwnr (im2int16 (im0), psf0)), "int16") 533s ***** error deconvwnr (true (5), ones (3)) 533s ***** test 533s assert (deconvwnr (im0, psf0, 0.01), im0_out, 1e-4) 533s assert (deconvwnr (im0, psf1, 0.01), 0.333.*ones (5), 1e-4) 533s ***** test 533s im1 = magic (5)./25; 533s out1_0 = [ 533s -0.0820 0.5845 -0.4293 0.2372 -0.0214; 533s 0.6241 -0.5877 0.2768 0.0182 -0.0424; 533s -0.5481 0.3164 0.0578 -0.2009 0.6637; 533s 0.1580 0.0974 -0.1613 0.7033 -0.5085; 533s 0.1370 -0.1217 0.5449 -0.4689 0.1976]; 533s out1_1 = [ 533s -0.2959 -0.1363 0.4038 0.7595 0.1347; 533s -0.0191 0.3269 0.8768 0.0559 -0.3748; 533s 0.2481 0.7979 0.1731 -0.4517 0.0982; 533s 0.7210 0.2904 -0.5305 0.0194 0.3654; 533s 0.2116 -0.4132 -0.0575 0.4826 0.6422]; 533s assert (deconvwnr (im1, psf0, 0.01), out1_0, 1e-4) 533s assert (deconvwnr (im1, psf1, 0.01), out1_1, 1e-4) 533s ***** test 533s assert (deconvwnr (im2, psf0, 0.01), out2_0, 1e-4) 533s assert (deconvwnr (im2, psf1, 0.01), out2_1, 1e-4) 533s ***** test 533s out3_0_x = [ 533s -1.1111 1.0556 -0.4444 -0.1111 0.5556 -0.9444 0.8889 0.0556; 533s 1.0556 -0.7778 0.2222 0.5556 -1.2778 1.2222 0.0556 -0.7778; 533s -0.4444 0.2222 0.2222 -0.9444 1.2222 -0.2778 -0.4444 0.7222; 533s -0.1111 0.5556 -0.9444 0.8889 0.0556 -0.4444 0.3889 -0.4444; 533s 0.5556 -1.2778 1.2222 0.0556 -0.7778 0.7222 -0.4444 0.2222; 533s -0.9444 1.2222 -0.2778 -0.4444 0.7222 -0.7778 0.5556 0.2222; 533s 0.8889 0.0556 -0.4444 0.3889 -0.4444 0.5556 -0.1111 -0.9444; 533s 0.0556 -0.7778 0.7222 -0.4444 0.2222 0.2222 -0.9444 1.2222]; 533s out3_0_01 = [ 533s -0.5064 0.2140 0.1101 -0.0993 0.0297 -0.1942 0.3223 0.0772; 533s 0.2140 -0.0659 0.0375 0.0891 -0.4109 0.4783 0.2202 -0.2860; 533s 0.1101 0.0375 -0.0525 -0.3208 0.5721 0.0034 -0.1743 0.0939; 533s -0.0993 0.0891 -0.3208 0.4624 0.0936 -0.1150 -0.1395 -0.0135; 533s 0.0297 -0.4109 0.5721 0.0936 -0.2566 -0.0027 0.1101 0.1341; 533s -0.1942 0.4783 0.0034 -0.1150 -0.0027 -0.0659 0.2542 -0.0819; 533s 0.3223 0.2202 -0.1743 -0.1395 0.1101 0.2542 -0.3023 -0.3371; 533s 0.0772 -0.2860 0.0939 -0.0135 0.1341 -0.0819 -0.3371 0.6794]; 533s out3_0_00001 = [ 533s -1.1087 1.0520 -0.4419 -0.1112 0.5532 -0.9410 0.8864 0.0557; 533s 1.0520 -0.7746 0.2213 0.5537 -1.2742 1.2190 0.0565 -0.7759; 533s -0.4419 0.2213 0.2211 -0.9418 1.2196 -0.2767 -0.4433 0.7195; 533s -0.1112 0.5537 -0.9418 0.8870 0.0557 -0.4428 0.3864 -0.4425; 533s 0.5532 -1.2742 1.2196 0.0557 -0.7755 0.7188 -0.4419 0.2220; 533s -0.9410 1.2190 -0.2767 -0.4428 0.7188 -0.7746 0.5544 0.2206; 533s 0.8864 0.0565 -0.4433 0.3864 -0.4419 0.5544 -0.1121 -0.9418; 533s 0.0557 -0.7759 0.7195 -0.4425 0.2220 0.2206 -0.9418 1.2201]; 533s out3_0_3 = [ 533s -0.0893 -0.0089 0.0446 -0.0357 -0.0268 0.0268 0.0893 0.0446; 533s -0.0089 0.0223 -0.0089 -0.0357 -0.0089 0.1473 0.1161 0.0179; 533s 0.0446 -0.0089 -0.0357 -0.0089 0.1607 0.0804 -0.0089 -0.0357; 533s -0.0357 -0.0357 -0.0089 0.1652 0.0804 -0.0179 -0.0714 0.0045; 533s -0.0268 -0.0089 0.1607 0.0804 -0.0179 -0.0446 0.0446 -0.0000; 533s 0.0268 0.1473 0.0804 -0.0179 -0.0446 0.0223 0.0268 -0.0000; 533s 0.0893 0.1161 -0.0089 -0.0714 0.0446 0.0268 -0.1071 -0.0446; 533s 0.0446 0.0179 -0.0357 0.0045 0.0000 -0.0000 -0.0446 0.1652]; 533s out3_1_x = [ 533s -0.3333 0.1667 -0.6667 -0.3333 0.3333 0.1667 0.3333 0.1667; 533s 0.1667 -0.3333 -0.3333 0.3333 0.1667 0.3333 0.1667 0.3333; 533s -0.6667 -0.3333 0.6667 0.1667 0.3333 0.1667 0.3333 0.1667; 533s -0.3333 0.3333 0.1667 -0.3333 0.1667 0.3333 0.1667 -0.6667; 533s 0.3333 0.1667 0.3333 0.1667 0.6667 0.1667 -0.6667 -0.3333; 533s 0.1667 0.3333 0.1667 0.3333 0.1667 -0.3333 -0.3333 0.3333; 533s 0.3333 0.1667 0.3333 0.1667 -0.6667 -0.3333 -0.3333 0.1667; 533s 0.1667 0.3333 0.1667 -0.6667 -0.3333 0.3333 0.1667 0.6667]; 533s out3_1_01 = [ 533s -0.1868 0.1548 -0.5994 -0.2997 0.3097 0.1548 0.3097 0.1548; 533s 0.1548 -0.2997 -0.2997 0.3097 0.1548 0.3097 0.1548 0.3097; 533s -0.5994 -0.2997 0.4965 0.1548 0.3097 0.1548 0.3097 0.1548; 533s -0.2997 0.3097 0.1548 -0.1247 0.1548 0.3097 0.1548 -0.5994; 533s 0.3097 0.1548 0.3097 0.1548 0.4965 0.1548 -0.5994 -0.2997; 533s 0.1548 0.3097 0.1548 0.3097 0.1548 -0.2997 -0.2997 0.3097; 533s 0.3097 0.1548 0.3097 0.1548 -0.5994 -0.2997 -0.1868 0.1548; 533s 0.1548 0.3097 0.1548 -0.5994 -0.2997 0.3097 0.1548 0.4343]; 533s out3_1_00001 = [ 533s -0.3331 0.1667 -0.6666 -0.3333 0.3333 0.1667 0.3333 0.1667; 533s 0.1667 -0.3333 -0.3333 0.3333 0.1667 0.3333 0.1667 0.3333; 533s -0.6666 -0.3333 0.6664 0.1667 0.3333 0.1667 0.3333 0.1667; 533s -0.3333 0.3333 0.1667 -0.3330 0.1667 0.3333 0.1667 -0.6666; 533s 0.3333 0.1667 0.3333 0.1667 0.6664 0.1667 -0.6666 -0.3333; 533s 0.1667 0.3333 0.1667 0.3333 0.1667 -0.3333 -0.3333 0.3333; 533s 0.3333 0.1667 0.3333 0.1667 -0.6666 -0.3333 -0.3331 0.1667; 533s 0.1667 0.3333 0.1667 -0.6666 -0.3333 0.3333 0.1667 0.6663]; 533s out3_1_3 = [ 533s -0.0089 0.0625 -0.1250 -0.0625 0.1250 0.0625 0.1250 0.0625; 533s 0.0625 -0.0625 -0.0625 0.1250 0.0625 0.1250 0.0625 0.1250; 533s -0.1250 -0.0625 0.1339 0.0625 0.1250 0.0625 0.1250 0.0625; 533s -0.0625 0.1250 0.0625 0.0982 0.0625 0.1250 0.0625 -0.1250; 533s 0.1250 0.0625 0.1250 0.0625 0.1339 0.0625 -0.1250 -0.0625; 533s 0.0625 0.1250 0.0625 0.1250 0.0625 -0.0625 -0.0625 0.1250; 533s 0.1250 0.0625 0.1250 0.0625 -0.1250 -0.0625 -0.0089 0.0625; 533s 0.0625 0.1250 0.0625 -0.1250 -0.0625 0.1250 0.0625 0.0268]; 533s assert (deconvwnr (im3, psf0), out3_0_x, 1e-4) 533s assert (deconvwnr (im3, psf0, 0.1), out3_0_01, 1e-4) 533s assert (deconvwnr (im3, psf0, 0.0001), out3_0_00001, 1e-4) 533s assert (deconvwnr (im3, psf0, 3), out3_0_3, 1e-4) 533s assert (deconvwnr (im3, psf1), out3_1_x, 1e-4) 533s assert (deconvwnr (im3, psf1, 0.1), out3_1_01, 1e-4) 533s assert (deconvwnr (im3, psf1, 0.0001), out3_1_00001, 1e-4) 533s assert (deconvwnr (im3, psf1, 3), out3_1_3, 1e-4) 533s ***** test 533s im_rgb = cat (3, im2, im3, magic (8)./64); 533s out_rgb_0(:, :, 1) = out2_0; 533s out_rgb_0(:, :, 2) = [ 533s -0.9255 0.7869 -0.2553 -0.1154 0.3801 -0.6906 0.7000 0.0651; 533s 0.7869 -0.5407 0.1534 0.4141 -1.0064 0.9816 0.1222 -0.6335; 533s -0.2553 0.1534 0.1343 -0.7453 1.0211 -0.1936 -0.3586 0.5209; 533s -0.1154 0.4141 -0.7453 0.7468 0.0675 -0.3247 0.2023 -0.2996; 533s 0.3801 -1.0064 1.0211 0.0675 -0.6045 0.4711 -0.2553 0.2032; 533s -0.6906 0.9816 -0.1936 -0.3247 0.4711 -0.5407 0.4692 0.1052; 533s 0.7000 0.1222 -0.3586 0.2023 -0.2553 0.4692 -0.1868 -0.7477; 533s 0.0651 -0.6335 0.5209 -0.2996 0.2032 0.1052 -0.7477 1.0630]; 533s out_rgb_0(:, :, 3) = [ 533s -0.8118 0.8805 0.8341 -0.7963 -0.6343 0.8222 0.7757 -0.6188; 533s 0.5720 -0.4151 -0.3687 0.5565 0.3945 -0.3567 -0.3103 0.3791; 533s 0.2007 -0.0438 0.0026 0.1852 0.0232 0.0146 0.0610 0.0078; 533s -0.6880 0.7568 0.7104 -0.6725 -0.5105 0.6984 0.6520 -0.4951; 533s 0.6079 -0.5392 -0.5856 0.6234 0.7854 -0.5975 -0.6439 0.8008; 533s 0.1051 0.0519 0.0983 0.0896 -0.0724 0.1102 0.1566 -0.0879; 533s -0.2662 0.4231 0.4696 -0.2817 -0.4437 0.4815 0.5279 -0.4592; 533s 0.7317 -0.6629 -0.7093 0.7471 0.9091 -0.7213 -0.7677 0.9246]; 533s out_rgb_1(:, :, 1) = out2_1; 533s out_rgb_1(:, :, 2) = [ 533s -0.3110 0.1654 -0.6593 -0.3297 0.3308 0.1654 0.3308 0.1654; 533s 0.1654 -0.3297 -0.3297 0.3308 0.1654 0.3308 0.1654 0.3308; 533s -0.6593 -0.3297 0.6418 0.1654 0.3308 0.1654 0.3308 0.1654; 533s -0.3297 0.3308 0.1654 -0.3016 0.1654 0.3308 0.1654 -0.6593; 533s 0.3308 0.1654 0.3308 0.1654 0.6418 0.1654 -0.6593 -0.3297; 533s 0.1654 0.3308 0.1654 0.3308 0.1654 -0.3297 -0.3297 0.3308; 533s 0.3308 0.1654 0.3308 0.1654 -0.6593 -0.3297 -0.3110 0.1654; 533s 0.1654 0.3308 0.1654 -0.6593 -0.3297 0.3308 0.1654 0.6323]; 533s out_rgb_1(:, :, 3) = [ 533s -0.0240 0.3338 0.3335 0.0329 0.0344 0.1564 0.3942 0.0913; 533s 0.7871 0.6512 -0.5394 -0.2225 0.7287 0.5905 -0.3619 -0.2809; 533s 0.1333 -0.7196 0.2335 1.0291 0.0749 -0.5421 0.1728 0.9708; 533s -0.2201 0.4109 0.6487 -0.1632 -0.1617 0.4716 0.4713 -0.1048; 533s 0.4430 -0.1331 -0.1334 0.4999 0.5014 -0.3106 -0.0727 0.5582; 533s -0.6326 0.1654 0.8803 0.2633 -0.6910 0.1047 1.0577 0.2049; 533s 0.6191 0.7001 -0.2523 -0.3905 0.5607 0.8776 -0.3130 -0.4489; 533s 0.2469 -0.0561 0.1818 0.3038 0.3052 0.0047 0.0043 0.3621]; 533s assert (deconvwnr (im_rgb, psf0, 0.01), out_rgb_0, 1e-4) 533s assert (deconvwnr (im_rgb, psf1, 0.01), out_rgb_1, 1e-4) 533s ***** test 533s ## Test that psf and nsr can be of class single, but are usually 533s ## internally as doubles. Matlab requires everything all to be 533s ## double so this is Matlab incompatible behaviour by design. 533s nsr = 0.1; 533s psf1_recast = double (single (psf1)); 533s nsr_recast = double (single (0.1)); 533s deconvolved = deconvwnr (im2, psf1_recast, nsr_recast); 533s assert (deconvwnr (im2, single (psf1), single (nsr)), deconvolved) 533s assert (deconvwnr (im2, single (psf1), nsr_recast), deconvolved) 533s assert (deconvwnr (im2, psf1_recast, single (nsr)), deconvolved) 533s ***** demo 533s I = phantom (); 533s figure, imshow (I); 533s title ("Original image"); 533s psf = fspecial ("motion", 30, 15); 533s blurred = imfilter (I, psf, "conv"); 533s figure, imshow (blurred); 533s title ("Image with added motion blur"); 533s var_noise = 0.00005; 533s blurred_noisy = imnoise (blurred, "gaussian", 0, var_noise); 533s figure, imshow (blurred_noisy); 533s title ("Image with motion blur and added Gaussian noise"); 533s estimated_nsr = var_noise / (var(blurred_noisy(:)) - var_noise); 533s J = deconvwnr (blurred_noisy, psf, estimated_nsr); 533s figure, imshow (J) 533s title ({"restored image after Wiener deconvolution", 533s "with known PSF and estimated NSR"}); 533s 27 tests, 27 passed, 0 known failure, 0 skipped 533s [inst/grayslice.m] 533s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/grayslice.m 533s ***** test 533s expected = uint8 ([0 4 5 5 9]); 533s im = [0 0.45 0.5 0.55 1]; 533s assert (grayslice (im), expected) 533s assert (grayslice (im, 10), expected) 533s assert (grayslice (im, uint8 (10)), expected) 533s assert (grayslice (im, [.1 .2 .3 .4 .5 .6 .7 .8 .9]), expected) 533s ***** test 533s im = [0 0.45 0.5 0.55 1]; 533s assert (grayslice (im, 2), uint8 ([0 0 1 1 1])) 533s assert (grayslice (im, 3), uint8 ([0 1 1 1 2])) 533s assert (grayslice (im, 4), uint8 ([0 1 2 2 3])) 533s assert (grayslice (im, [0 0.5 1]), uint8 ([1 1 2 2 3])) 533s assert (grayslice (im, [0.5 1]), uint8 ([0 0 1 1 2])) 533s assert (grayslice (im, [0.6 1]), uint8 ([0 0 0 0 2])) 533s ***** test 533s im = [0 .55 1]; 533s assert (grayslice (im, 9), uint8 ([0 4 8])) 533s assert (grayslice (im, 9.1), uint8 ([0 5 8])) 533s assert (grayslice (im, 10), uint8 ([0 5 9])) 533s ***** assert (grayslice ([0 .5 1], [0 1 .5]), uint8 ([1 2 3])) 533s ***** test 533s ## 0 > N > 1 values are treated as if they are V and N=2 533s im = [0 .5 .55 .7 1]; 533s assert (grayslice (im, .5), uint8 ([0 1 1 1 1])) 533s assert (grayslice (im, .51), uint8 ([0 0 1 1 1])) 533s assert (grayslice (im, .7), uint8 ([0 0 0 1 1])) 533s assert (grayslice (im, 1), uint8 ([0 0 0 0 0])) 533s assert (grayslice (im, 1.2), uint8 ([0 0 0 0 0])) 533s ***** assert (grayslice ([0 .5 .7 1], [0 .5 1 2]), uint8 ([1 2 2 4])) 533s ***** assert (grayslice ([0 .45 .5 .65 .7 1], [.4 .5 .5 .7 .7 1]), 533s uint8 ([0 1 3 3 5 6])) 533s ***** assert (grayslice ([-.5 .1 .8 1.2], [-1 -.4 .05 .6 .9 1.1 2]), 533s uint8 ([1 3 4 7])) 533s ***** assert (grayslice ([0 .5 1], [-1 .5 1 2]), uint8 ([1 2 4])) 533s ***** assert (grayslice ([-2 -1 .5 1], [-1 .5 1]), uint8 ([0 1 2 3])) 533s ***** test 533s sliced = [ 533s repmat(0, [26 1]) 533s repmat(1, [25 1]) 533s repmat(2, [26 1]) 533s repmat(3, [25 1]) 533s repmat(4, [26 1]) 533s repmat(5, [25 1]) 533s repmat(6, [26 1]) 533s repmat(7, [25 1]) 533s repmat(8, [26 1]) 533s repmat(9, [26 1]) 533s ]; 533s sliced = uint8 (sliced(:).'); 533s assert (grayslice (uint8 (0:255)), sliced) 533s ***** assert (grayslice (uint8 (0:255), 255), uint8 ([0:254 254])) 533s ***** assert (class (grayslice (uint8 (0:255), 256)), "double") 533s ***** xtest 533s assert (grayslice (uint8 (0:255), 256), [1:256]) 533s 533s ## While the above fails, this passes and should continue to do so 533s ## since it's the actual formula in the documentation. 533s assert (grayslice (uint8 (0:255), 256), 533s grayslice (uint8 (0:255), (1:255)./256)) 533s !!!!! known failure 533s ASSERT errors for: assert (grayslice (uint8 (0:255), 256),[1:256]) 533s 533s Location | Observed | Expected | Reason 533s (129) 130 129 Abs err 1 exceeds tol 0 by 1 533s (130) 131 130 Abs err 1 exceeds tol 0 by 1 533s (131) 132 131 Abs err 1 exceeds tol 0 by 1 533s (132) 133 132 Abs err 1 exceeds tol 0 by 1 533s (133) 134 133 Abs err 1 exceeds tol 0 by 1 533s (134) 135 134 Abs err 1 exceeds tol 0 by 1 533s (135) 136 135 Abs err 1 exceeds tol 0 by 1 533s (136) 137 136 Abs err 1 exceeds tol 0 by 1 533s (137) 138 137 Abs err 1 exceeds tol 0 by 1 533s (138) 139 138 Abs err 1 exceeds tol 0 by 1 533s (139) 140 139 Abs err 1 exceeds tol 0 by 1 533s (140) 141 140 Abs err 1 exceeds tol 0 by 1 533s (141) 142 141 Abs err 1 exceeds tol 0 by 1 533s (142) 143 142 Abs err 1 exceeds tol 0 by 1 533s (143) 144 143 Abs err 1 exceeds tol 0 by 1 533s (144) 145 144 Abs err 1 exceeds tol 0 by 1 533s (145) 146 145 Abs err 1 exceeds tol 0 by 1 533s (146) 147 146 Abs err 1 exceeds tol 0 by 1 533s (147) 148 147 Abs err 1 exceeds tol 0 by 1 533s (148) 149 148 Abs err 1 exceeds tol 0 by 1 533s (149) 150 149 Abs err 1 exceeds tol 0 by 1 533s (150) 151 150 Abs err 1 exceeds tol 0 by 1 533s (151) 152 151 Abs err 1 exceeds tol 0 by 1 533s (152) 153 152 Abs err 1 exceeds tol 0 by 1 533s (153) 154 153 Abs err 1 exceeds tol 0 by 1 533s (154) 155 154 Abs err 1 exceeds tol 0 by 1 533s (155) 156 155 Abs err 1 exceeds tol 0 by 1 533s (156) 157 156 Abs err 1 exceeds tol 0 by 1 533s (157) 158 157 Abs err 1 exceeds tol 0 by 1 533s (158) 159 158 Abs err 1 exceeds tol 0 by 1 533s (159) 160 159 Abs err 1 exceeds tol 0 by 1 533s (160) 161 160 Abs err 1 exceeds tol 0 by 1 533s (161) 162 161 Abs err 1 exceeds tol 0 by 1 533s (162) 163 162 Abs err 1 exceeds tol 0 by 1 533s (163) 164 163 Abs err 1 exceeds tol 0 by 1 533s (164) 165 164 Abs err 1 exceeds tol 0 by 1 533s (165) 166 165 Abs err 1 exceeds tol 0 by 1 533s (166) 167 166 Abs err 1 exceeds tol 0 by 1 533s (167) 168 167 Abs err 1 exceeds tol 0 by 1 533s (168) 169 168 Abs err 1 exceeds tol 0 by 1 533s (169) 170 169 Abs err 1 exceeds tol 0 by 1 533s (170) 171 170 Abs err 1 exceeds tol 0 by 1 533s (171) 172 171 Abs err 1 exceeds tol 0 by 1 533s (172) 173 172 Abs err 1 exceeds tol 0 by 1 533s (173) 174 173 Abs err 1 exceeds tol 0 by 1 533s (174) 175 174 Abs err 1 exceeds tol 0 by 1 533s (175) 176 175 Abs err 1 exceeds tol 0 by 1 533s (176) 177 176 Abs err 1 exceeds tol 0 by 1 533s (177) 178 177 Abs err 1 exceeds tol 0 by 1 533s (178) 179 178 Abs err 1 exceeds tol 0 by 1 533s (179) 180 179 Abs err 1 exceeds tol 0 by 1 533s (180) 181 180 Abs err 1 exceeds tol 0 by 1 533s (181) 182 181 Abs err 1 exceeds tol 0 by 1 533s (182) 183 182 Abs err 1 exceeds tol 0 by 1 533s (183) 184 183 Abs err 1 exceeds tol 0 by 1 533s (184) 185 184 Abs err 1 exceeds tol 0 by 1 533s (185) 186 185 Abs err 1 exceeds tol 0 by 1 533s (186) 187 186 Abs err 1 exceeds tol 0 by 1 533s (187) 188 187 Abs err 1 exceeds tol 0 by 1 533s (188) 189 188 Abs err 1 exceeds tol 0 by 1 533s (189) 190 189 Abs err 1 exceeds tol 0 by 1 533s (190) 191 190 Abs err 1 exceeds tol 0 by 1 533s (191) 192 191 Abs err 1 exceeds tol 0 by 1 533s (192) 193 192 Abs err 1 exceeds tol 0 by 1 533s (193) 194 193 Abs err 1 exceeds tol 0 by 1 533s (194) 195 194 Abs err 1 exceeds tol 0 by 1 533s (195) 196 195 Abs err 1 exceeds tol 0 by 1 533s (196) 197 196 Abs err 1 exceeds tol 0 by 1 533s (197) 198 197 Abs err 1 exceeds tol 0 by 1 533s (198) 199 198 Abs err 1 exceeds tol 0 by 1 533s (199) 200 199 Abs err 1 exceeds tol 0 by 1 533s (200) 201 200 Abs err 1 exceeds tol 0 by 1 533s (201) 202 201 Abs err 1 exceeds tol 0 by 1 533s (202) 203 202 Abs err 1 exceeds tol 0 by 1 533s (203) 204 203 Abs err 1 exceeds tol 0 by 1 533s (204) 205 204 Abs err 1 exceeds tol 0 by 1 533s (205) 206 205 Abs err 1 exceeds tol 0 by 1 533s (206) 207 206 Abs err 1 exceeds tol 0 by 1 533s (207) 208 207 Abs err 1 exceeds tol 0 by 1 533s (208) 209 208 Abs err 1 exceeds tol 0 by 1 533s (209) 210 209 Abs err 1 exceeds tol 0 by 1 533s (210) 211 210 Abs err 1 exceeds tol 0 by 1 533s (211) 212 211 Abs err 1 exceeds tol 0 by 1 533s (212) 213 212 Abs err 1 exceeds tol 0 by 1 533s (213) 214 213 Abs err 1 exceeds tol 0 by 1 533s (214) 215 214 Abs err 1 exceeds tol 0 by 1 533s (215) 216 215 Abs err 1 exceeds tol 0 by 1 533s (216) 217 216 Abs err 1 exceeds tol 0 by 1 533s (217) 218 217 Abs err 1 exceeds tol 0 by 1 533s (218) 219 218 Abs err 1 exceeds tol 0 by 1 533s (219) 220 219 Abs err 1 exceeds tol 0 by 1 533s (220) 221 220 Abs err 1 exceeds tol 0 by 1 533s (221) 222 221 Abs err 1 exceeds tol 0 by 1 533s (222) 223 222 Abs err 1 exceeds tol 0 by 1 533s (223) 224 223 Abs err 1 exceeds tol 0 by 1 533s (224) 225 224 Abs err 1 exceeds tol 0 by 1 533s (225) 226 225 Abs err 1 exceeds tol 0 by 1 533s (226) 227 226 Abs err 1 exceeds tol 0 by 1 533s (227) 228 227 Abs err 1 exceeds tol 0 by 1 533s (228) 229 228 Abs err 1 exceeds tol 0 by 1 533s (229) 230 229 Abs err 1 exceeds tol 0 by 1 533s (230) 231 230 Abs err 1 exceeds tol 0 by 1 533s (231) 232 231 Abs err 1 exceeds tol 0 by 1 533s (232) 233 232 Abs err 1 exceeds tol 0 by 1 533s (233) 234 233 Abs err 1 exceeds tol 0 by 1 533s (234) 235 234 Abs err 1 exceeds tol 0 by 1 533s (235) 236 235 Abs err 1 exceeds tol 0 by 1 533s (236) 237 236 Abs err 1 exceeds tol 0 by 1 533s (237) 238 237 Abs err 1 exceeds tol 0 by 1 533s (238) 239 238 Abs err 1 exceeds tol 0 by 1 533s (239) 240 239 Abs err 1 exceeds tol 0 by 1 533s (240) 241 240 Abs err 1 exceeds tol 0 by 1 533s (241) 242 241 Abs err 1 exceeds tol 0 by 1 533s (242) 243 242 Abs err 1 exceeds tol 0 by 1 533s (243) 244 243 Abs err 1 exceeds tol 0 by 1 533s (244) 245 244 Abs err 1 exceeds tol 0 by 1 533s (245) 246 245 Abs err 1 exceeds tol 0 by 1 533s (246) 247 246 Abs err 1 exceeds tol 0 by 1 533s (247) 248 247 Abs err 1 exceeds tol 0 by 1 533s (248) 249 248 Abs err 1 exceeds tol 0 by 1 533s (249) 250 249 Abs err 1 exceeds tol 0 by 1 533s (250) 251 250 Abs err 1 exceeds tol 0 by 1 533s (251) 252 251 Abs err 1 exceeds tol 0 by 1 533s (252) 253 252 Abs err 1 exceeds tol 0 by 1 533s (253) 254 253 Abs err 1 exceeds tol 0 by 1 533s (254) 255 254 Abs err 1 exceeds tol 0 by 1 533s (255) 256 255 Abs err 1 exceeds tol 0 by 1 533s ***** test 533s ## Use of threshold in the [0 1] range for images of integer type does 533s ## not really work despite the Matlab documentation. It's Matlab 533s ## documentation that is wrong, see bug #55059 533s 533s assert (grayslice (uint8([0 100 200 255]), [.1 .4 .5]), 533s uint8 ([0 3 3 3])) 533s assert (grayslice (uint8([0 100 200 255]), [100 199 200 210]), 533s uint8 ([0 1 3 4])) 533s 533s ## P (penny) is a 2d image of class double in [1 255] range 533s q = warning ("query", "Octave:data-file-in-path"); 533s warning ("off", "Octave:data-file-in-path"); 533s load ("penny.mat"); 533s warning (q.state, "Octave:data-file-in-path"); 533s assert (grayslice (P), repmat (uint8 (9), size (P))) 533s ***** function gs = test_grayslice_v (I, v) 533s ## This is effectively what grayslice does but slower with a for 533s ## loop internally. 533s gs = zeros (size (I)); 533s for idx = 1:numel (v) 533s gs(I >= v(idx)) = idx; 533s endfor 533s if (numel (v) >= 256) 533s gs = gs +1; 533s else 533s gs = uint8 (gs); 533s endif 533s ***** endfunction 533s ***** test 533s q = warning ("query", "Octave:data-file-in-path"); 533s warning ("off", "Octave:data-file-in-path"); 533s load ("penny.mat"); 533s warning (q.state, "Octave:data-file-in-path"); 533s 533s ## The loaded P in penny.mat is of size 128x128, class double, and 533s ## with values in the [1 255] range 533s penny_uint8 = uint8 (P); 533s penny_double = im2double (penny_uint8); # rescales to [0 1] range] 533s 533s ## default of N = 10 533s expected = test_grayslice_v (penny_uint8, 533s [26 51 77 102 128 153 179 204 230]); 533s assert (grayslice (penny_uint8, 10), expected) 533s assert (grayslice (penny_uint8), expected) 533s 533s expected = test_grayslice_v (penny_double, 533s [.1 .2 .3 .4 .5 .6 .7 .8 .9]); 533s assert (grayslice (penny_double, 10), expected) 533s assert (grayslice (penny_double), expected) 533s ***** test 533s ## For images with more than 2d 533s q = warning ("query", "Octave:data-file-in-path"); 533s warning ("off", "Octave:data-file-in-path"); 533s load ("penny.mat"); 533s warning (q.state, "Octave:data-file-in-path"); 533s penny_double = im2double (uint8 (P)); 533s P_3d = repmat (penny_double, [1 1 3]); 533s P_5d = repmat (penny_double, [1 1 3 2 3]); 533s 533s v = [.3 .5 .7]; 533s expected_2d = test_grayslice_v (penny_double, v); 533s assert (grayslice (P_3d, v), repmat (expected_2d, [1 1 3])) 533s assert (grayslice (P_5d, v), repmat (expected_2d, [1 1 3 2 3])) 533s ***** test 533s q = warning ("query", "Octave:data-file-in-path"); 533s warning ("off", "Octave:data-file-in-path"); 533s load ("penny.mat"); 533s warning (q.state, "Octave:data-file-in-path"); 533s penny_double = uint8 (P); 533s 533s ## Test that change from uint8 to double happens at 256 exactly 533s assert (class (grayslice (penny_double, 255)), "uint8") 533s assert (class (grayslice (penny_double, 256)), "double") 533s 533s ## If returns in class double, it's +1. 533s v = [10 150 200]; 533s v_long = [v 256:600]; 533s assert (double (grayslice (penny_double, v)) +1, 533s grayslice (penny_double, v_long)) 533s ***** test 533s ## If there's a vector for floating point and goes outside the 533s ## range, it uses the last index of the vector. 533s q = warning ("query", "Octave:data-file-in-path"); 533s warning ("off", "Octave:data-file-in-path"); 533s load ("penny.mat"); 533s warning (q.state, "Octave:data-file-in-path"); 533s penny_double = im2double (uint8 (P)); 533s v = [.3 .5 .7 2:10]; 533s idx_1 = find (penny_double == 1); 533s assert (grayslice (penny_double, v)(idx_1), uint8 ([12; 12])) 533s ***** error x = grayslice ([1 2; 3 4], 0) 533s ***** error x = grayslice ([1 2; 3 4], -1) 533s ***** error x = grayslice ([1 2; 3 4], "foo") 533s ***** test 533s ## test output values for all input classes 533s 533s klasse = "uint8"; 533s im = cast ([intmin(klasse): intmax(klasse)], klasse); 533s erg05 = grayslice (im, 0.5); 533s first1_erg05 = im(find (erg05)(1)); 533s assert (first1_erg05, cast (1, klasse)); 533s erg5 = grayslice (im, 5); 533s first1_erg5 = im(find (erg5)(1)); 533s assert (first1_erg5, cast (51, klasse)); 533s ergint5 = grayslice (im, uint8 (5)); 533s first1_ergint5 = im(find (ergint5)(1)); 533s assert (first1_ergint5, cast (51, klasse)); 533s 533s klasse = "uint16"; 533s im = cast ([intmin(klasse): intmax(klasse)], klasse); 533s erg05 = grayslice (im, 0.5); 533s first1_erg05 = im(find (erg05)(1)); 533s assert (first1_erg05, cast (1, klasse)); 533s erg5 = grayslice (im, 5); 533s first1_erg5 = im(find (erg5)(1)); 533s assert (first1_erg5, cast (13107, klasse)); 533s ergint5 = grayslice (im, uint8 (5)); 533s first1_ergint5 = im(find (ergint5)(1)); 533s assert (first1_ergint5, cast (13107, klasse)); 533s 533s klasse = "int16"; 533s im = cast ([intmin(klasse): intmax(klasse)], klasse); 533s erg05 = grayslice (im, 0.5); 533s first1_erg05 = im(find (erg05)(1)); 533s assert (first1_erg05, cast (-32767, klasse)); 533s erg5 = grayslice (im, 5); 533s first1_erg5 = im(find (erg5)(1)); 533s assert (first1_erg5, cast (-19661, klasse)); 533s ergint5 = grayslice (im, uint8 (5)); 533s first1_ergint5 = im(find (ergint5)(1)); 533s assert (first1_ergint5, cast (-19661, klasse)); 533s 533s klasse = "single"; 533s im = cast ([0:0.001:1], klasse); 533s erg05 = grayslice (im, 0.5); 533s first1_erg05 = im(find (erg05)(1)); 533s assert (first1_erg05, cast (0.5, klasse)); 533s erg5 = grayslice (im, 5); 533s first1_erg5 = im(find (erg5)(1)); 533s assert (first1_erg5, cast (0.2, klasse)); 533s ergint5 = grayslice (im, uint8 (5)); 533s first1_ergint5 = im(find (ergint5)(1)); 533s assert (first1_ergint5, cast (0.2, klasse)); 533s 533s klasse = "double"; 533s im = cast ([0:0.001:1], klasse); 533s erg05 = grayslice (im, 0.5); 533s first1_erg05 = im(find (erg05)(1)); 533s assert (first1_erg05, cast (0.5, klasse)); 533s erg5 = grayslice (im, 5); 533s first1_erg5 = im(find (erg5)(1)); 533s assert (first1_erg5, cast (0.2, klasse)); 533s ergint5 = grayslice (im, uint8 (5)); 533s first1_ergint5 = im(find (ergint5)(1)); 533s assert (first1_ergint5, cast (0.2, klasse)); 533s 23 tests, 22 passed, 1 known failure, 0 skipped 533s [inst/xyz2lab.m] 533s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/xyz2lab.m 533s ***** assert (xyz2lab ([0, 0, 0]), [0 0 0], 5e-2) 533s ***** assert (xyz2lab ([0.4125, 0.2127, 0.0193]), [53.24, 80.09, 67.20], 5e-2) 533s ***** assert (xyz2lab ([0.7700, 0.9278, 0.1385]), [97.14, -21.55, 94.48], 5e-2) 533s ***** assert (xyz2lab ([0.3576, 0.7152, 0.1192]), [87.74, -86.18, 83.18], 5e-2) 533s ***** assert (xyz2lab ([0.5380, 0.7873, 1.0694]), [91.11, -48.09, -14.13], 5e-2) 533s ***** assert (xyz2lab ([0.1804, 0.07217, 0.9502]), [32.30, 79.19, -107.86], 5e-2) 533s ***** assert (xyz2lab ([0.5929, 0.28484, 0.9696]), [60.32, 98.24, -60.83], 5e-2) 533s ***** assert (xyz2lab ([0.9505, 1.0000, 1.0888]), [100, 0.00, 0.00], 5e-2) 533s ***** assert (xyz2lab ([0.2034, 0.2140, 0.2330]), [53.39, 0.00, 0.00], 5e-2) 533s ***** assert (xyz2lab ([0.2155, 0.1111, 0.0101]), [39.77, 64.51, 54.13], 5e-2) 533s ***** assert (xyz2lab ([0.0883, 0.0455, 0.0041]), [25.42, 47.91, 37.91], 5e-2) 533s ***** assert (xyz2lab ([0.02094, 0.0108, 0.00098]), [9.66, 29.68, 15.24], 5e-2) 533s ***** assert (xyz2lab ([0.5276, 0.3812, 0.2482]), [68.11, 48.39, 22.83], 5e-2) 533s ***** assert (xyz2lab ([1.5 1 1]), [100, 82.15, 5.60], 5e-2) 533s xyz_map = rand (64, 3); 533s assert (lab2xyz (xyz2lab (xyz_map)), xyz_map, 1e-5); 533s ***** test 533s xyz_img = rand (64, 64, 3); 533s assert (lab2xyz (xyz2lab (xyz_img)), xyz_img, 1e-5); 533s ***** assert (xyz2lab (sparse ([0 0 0])), [0 0 0], 5e-2) 533s ***** assert (class (xyz2lab (single([0.5 0.5 0.5]))), 'single') 533s ***** error xyz2lab () 534s ***** error xyz2lab (1,2) 534s ***** error xyz2lab ({1}) 534s ***** error xyz2lab (ones (2,2)) 534s ***** test 534s xyz = rand (16, 16, 3, 5); 534s lab = zeros (size (xyz)); 534s for i = 1:5 534s lab(:,:,:,i) = xyz2lab (xyz(:,:,:,i)); 534s endfor 534s assert (xyz2lab (xyz), lab) 534s 22 tests, 22 passed, 0 known failure, 0 skipped 534s [inst/iradon.m] 534s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/iradon.m 534s ***** assert (iradon (single ([0; 1; 1; 0]), 90)); 534s ***** assert (iradon (double ([0; 1; 1; 0]), 90)); 534s ***** assert (iradon (int8 ([0; 1; 1; 0]), 90)); 534s ***** assert (iradon (int16 ([0; 1; 1; 0]), 90)); 534s ***** assert (iradon (int32 ([0; 1; 1; 0]), 90)); 534s ***** assert (iradon (int64 ([0; 1; 1; 0]), 90)); 534s ***** assert (iradon (uint8 ([0; 1; 1; 0]), 90)); 534s ***** assert (iradon (uint16 ([0; 1; 1; 0]), 90)); 534s ***** assert (iradon (uint32 ([0; 1; 1; 0]), 90)); 534s ***** assert (iradon (uint64 ([0; 1; 1; 0]), 90)); 534s ***** assert (iradon (logical ([0; 1; 1; 0]), 90)); 534s ***** assert (iradon (ones (5), 1:5)); 534s ***** assert (iradon (ones (5), 1:5, 'nearest')); 534s ***** assert (iradon (ones (5), 1:5, 'linear')); 534s ***** assert (iradon (ones (5), 1:5, 'spline')); 534s ***** assert (iradon (ones (5), 1:5, 'pchip')); 534s ***** assert (iradon (ones (5), 1:5, 'linear', 'None')); 534s ***** assert (iradon (ones (5), 1:5, 'linear', 'Ram-Lak')); 534s ***** assert (iradon (ones (5), 1:5, 'linear', 'Shepp-Logan')); 534s ***** assert (iradon (ones (5), 1:5, 'linear', 'Cosine')); 534s ***** assert (iradon (ones (5), 1:5, 'linear', 'Hamming')); 534s ***** assert (iradon (ones (5), 1:5, 'linear', 'Hann')); 534s ***** assert (iradon (ones (5), 1:5, 'linear', 'None', 0.45)); 534s ***** assert (iradon (ones (5), 1:5, 'linear', 'None', 0.45, 5)); 534s ***** test 534s [R, F] = iradon (ones (5), 1:5); 534s assert(isvector(F)); 534s assert(ismatrix(R)); 534s ***** error iradon (); 534s ***** error iradon ('xxx'); 534s ***** error iradon (ones (2), 'xxx'); 534s ***** error iradon (ones (5), 1:5, 'foo'); 534s ***** error iradon (ones (5), 1:5, 'linear', 'foo'); 534s ***** error iradon (ones (5), 1:5, 'linear', 'none', 'foo'); 534s ***** error iradon (ones (5), 1:5, 'linear', 'none', 0.65, 'foo'); 534s ***** test 534s A = iradon([0; 1; 1; 0], 90); 534s A_matlab = 0.4671 .* ones (2); 534s assert (A, A_matlab, 0.02); # as Matlab compatible as iradon outputs currently get 534s ***** test 534s A = iradon (radon (ones (2, 2), 0:5), 0:5, "nearest", "none"); 534s A_matlab = [1, 1, 1, 1]' * [0.4264, 2.7859, 2.7152, 0.3557]; 534s assert (A, A_matlab, 0.0001); 534s ***** test 534s P = phantom (128); 534s R = radon (P, 0:179); 534s 534s IR = iradon (R, 0:179, [], [], [], 128); # (errors in Matlab because of []s) 534s D = P - IR; 534s maxdiff = max (abs (D(:))); 534s maxdiff_matlab = 0.3601; 534s assert (maxdiff, maxdiff_matlab, 0.002); 534s meandiff = mean (abs (D(:))); 534s meandiff_matlab = 0.0218; 534s assert (meandiff, meandiff_matlab, 0.001); 534s 534s filtername = "None"; 534s IR = iradon (R, 0:179, [], filtername, [], 128); 534s D = P - IR; 534s maxdiff = max (abs (D(:))); 534s maxdiff_matlab = 36.5671; 534s assert (maxdiff, maxdiff_matlab, 0.0001); 534s meandiff = mean (abs (D(:))); 534s meandiff_matlab = 24.6302; 534s assert (meandiff, meandiff_matlab, 0.0001); 534s 534s filtername = "Ram-Lak"; # is same as default 534s IR = iradon (R, 0:179, [], filtername, [], 128); 534s D = P - IR; 534s maxdiff = max (abs (D(:))); 534s maxdiff_matlab = 0.3601; 534s assert (maxdiff, maxdiff_matlab, 0.002); 534s meandiff = mean (abs (D(:))); 534s meandiff_matlab = 0.0218; 534s assert (meandiff, meandiff_matlab, 0.001); 534s 534s filtername = "Hamming"; 534s IR = iradon (R, 0:179, [], filtername, [], 128); 534s D = P - IR; 534s maxdiff = max (abs (D(:))); 534s maxdiff_matlab = 0.5171; 534s assert (maxdiff, maxdiff_matlab, 0.005); 534s meandiff = mean (abs (D(:))); 534s meandiff_matlab = 0.0278; 534s assert (meandiff, meandiff_matlab, 0.003); 534s 534s filtername = "Shepp-Logan"; 534s IR = iradon (R, 0:179, [], filtername, [], 128); 534s D = P - IR; 534s maxdiff = max (abs (D(:))); 534s maxdiff_matlab = 0.3941; 534s assert (maxdiff, maxdiff_matlab, 0.005); 534s meandiff = mean (abs (D(:))); 534s meandiff_matlab = 0.0226; 534s assert (meandiff, meandiff_matlab, 0.0015); 534s 534s filtername = "Cosine"; 534s IR = iradon (R, 0:179, [], filtername, [], 128); 534s D = P - IR; 534s maxdiff = max (abs (D(:))); 534s maxdiff_matlab = 0.4681; 534s assert (maxdiff, maxdiff_matlab, 0.005); 534s meandiff = mean (abs (D(:))); 534s meandiff_matlab = 0.0249; 534s assert (meandiff, meandiff_matlab, 0.002); 534s 534s filtername = "Hann"; 534s IR = iradon (R, 0:179, [], filtername, [], 128); 534s D = P - IR; 534s maxdiff = max (abs (D(:))); 534s maxdiff_matlab = 0.5334; 534s assert (maxdiff, maxdiff_matlab, 0.005); 534s meandiff = mean (abs (D(:))); 534s meandiff_matlab = 0.0285; 534s assert (meandiff, meandiff_matlab, 0.0025); 539s ***** demo 539s P = phantom (); 539s figure, imshow (P, []), title ("Original image") 539s projections = radon (P, 0:179); 539s reconstruction = iradon (projections, 0:179, 'Spline', 'Hann'); 539s figure, imshow (reconstruction, []), title ("Reconstructed image") 539s 35 tests, 35 passed, 0 known failure, 0 skipped 539s [inst/imgradientxy.m] 539s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imgradientxy.m 539s ***** test 539s A = [0 1 0 539s 1 1 1 539s 0 1 0]; 539s 539s [gxSobel, gySobel] = imgradientxy (A); 539s [gxSobel2, gySobel2] = imgradientxy (A, "Sobel"); 539s assert (gxSobel, 539s [ 3 0 -3 539s 4 0 -4 539s 3 0 -3]); 539s assert (gySobel, 539s [ 3 4 3 539s 0 0 0 539s -3 -4 -3]); 539s 539s ## test default method 539s assert(gxSobel, gxSobel2); 539s assert(gySobel, gySobel2); 539s 539s [gxPrewitt, gyPrewitt] = imgradientxy (A, "Prewitt"); 539s assert (gxPrewitt, 539s [ 2 0 -2 539s 3 0 -3 539s 2 0 -2]); 539s assert (gyPrewitt, 539s [ 2 3 2 539s 0 0 0 539s -2 -3 -2]); 539s 539s [gxCd, gyCd] = imgradientxy (A, "CentralDifference"); 539s assert (gxCd, 539s [ 0.5 0.0 -0.5 539s 0.5 0.0 -0.5 539s 0.5 0.0 -0.5]); 539s assert (gyCd, 539s [ 0.5 0.5 0.5 539s 0 0 0 539s -0.5 -0.5 -0.5]); 539s 539s [gxCd, gyCd] = imgradientxy (A, "Central"); 539s assert (gxCd, 539s [ 0.5 0.0 -0.5 539s 0.5 0.0 -0.5 539s 0.5 0.0 -0.5]); 539s assert (gyCd, 539s [ 0.5 0.5 0.5 539s 0 0 0 539s -0.5 -0.5 -0.5]); 539s 539s [gxId, gyId] = imgradientxy(A, "IntermediateDifference"); 539s assert (gxId, 539s [ 1 -1 0 539s 0 0 -1 539s 1 -1 0]); 539s assert (gyId, 539s [ 1 0 1 539s -1 0 -1 539s 0 -1 0]); 539s 539s [gxId, gyId] = imgradientxy(A, "Intermediate"); 539s assert (gxId, 539s [ 1 -1 0 539s 0 0 -1 539s 1 -1 0]); 539s assert (gyId, 539s [ 1 0 1 539s -1 0 -1 539s 0 -1 0]); 539s 1 test, 1 passed, 0 known failure, 0 skipped 539s [inst/imresize.m] 539s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imresize.m 539s ***** test 539s 539s in = [116 227 153 69 146 194 59 130 139 106 539s 2 47 137 249 90 75 16 24 158 44 539s 155 68 46 84 166 156 69 204 32 152 539s 71 221 137 230 210 153 192 115 30 118 539s 107 143 108 52 51 73 101 21 175 90 539s 54 158 143 77 26 168 113 229 165 225 539s 9 47 133 135 130 207 236 43 19 73]; 539s assert (imresize (uint8 (in), 1, "nearest"), uint8 (in)) 539s assert (imresize (uint8 (in), 1, "bicubic"), uint8 (in)) 539s 539s out = [116 116 227 227 153 153 69 69 146 146 194 194 59 59 130 130 139 139 106 106 539s 116 116 227 227 153 153 69 69 146 146 194 194 59 59 130 130 139 139 106 106 539s 2 2 47 47 137 137 249 249 90 90 75 75 16 16 24 24 158 158 44 44 539s 2 2 47 47 137 137 249 249 90 90 75 75 16 16 24 24 158 158 44 44 539s 155 155 68 68 46 46 84 84 166 166 156 156 69 69 204 204 32 32 152 152 539s 155 155 68 68 46 46 84 84 166 166 156 156 69 69 204 204 32 32 152 152 539s 71 71 221 221 137 137 230 230 210 210 153 153 192 192 115 115 30 30 118 118 539s 71 71 221 221 137 137 230 230 210 210 153 153 192 192 115 115 30 30 118 118 539s 107 107 143 143 108 108 52 52 51 51 73 73 101 101 21 21 175 175 90 90 539s 107 107 143 143 108 108 52 52 51 51 73 73 101 101 21 21 175 175 90 90 539s 54 54 158 158 143 143 77 77 26 26 168 168 113 113 229 229 165 165 225 225 539s 54 54 158 158 143 143 77 77 26 26 168 168 113 113 229 229 165 165 225 225 539s 9 9 47 47 133 133 135 135 130 130 207 207 236 236 43 43 19 19 73 73 539s 9 9 47 47 133 133 135 135 130 130 207 207 236 236 43 43 19 19 73 73]; 539s assert (imresize (uint8 (in), 2, "nearest"), uint8 (out)) 539s assert (imresize (uint8 (in), 2, "neAreST"), uint8 (out)) 539s assert (imresize (uint8 (in), [14 NaN], "nearest"), uint8 (out)) 539s assert (imresize (uint8 (in), [NaN 20], "nearest"), uint8 (out)) 539s 539s out = [116 116 227 227 153 153 69 69 146 146 194 194 59 59 130 130 139 139 106 106 539s 2 2 47 47 137 137 249 249 90 90 75 75 16 16 24 24 158 158 44 44 539s 155 155 68 68 46 46 84 84 166 166 156 156 69 69 204 204 32 32 152 152 539s 71 71 221 221 137 137 230 230 210 210 153 153 192 192 115 115 30 30 118 118 539s 107 107 143 143 108 108 52 52 51 51 73 73 101 101 21 21 175 175 90 90 539s 54 54 158 158 143 143 77 77 26 26 168 168 113 113 229 229 165 165 225 225 539s 9 9 47 47 133 133 135 135 130 130 207 207 236 236 43 43 19 19 73 73]; 539s assert (imresize (uint8 (in), [7 20], "nearest"), uint8 (out)) 539s 539s out = [116 227 153 69 146 194 59 130 139 106 539s 116 227 153 69 146 194 59 130 139 106 539s 2 47 137 249 90 75 16 24 158 44 539s 2 47 137 249 90 75 16 24 158 44 539s 155 68 46 84 166 156 69 204 32 152 539s 155 68 46 84 166 156 69 204 32 152 539s 71 221 137 230 210 153 192 115 30 118 539s 71 221 137 230 210 153 192 115 30 118 539s 107 143 108 52 51 73 101 21 175 90 539s 107 143 108 52 51 73 101 21 175 90 539s 54 158 143 77 26 168 113 229 165 225 539s 54 158 143 77 26 168 113 229 165 225 539s 9 47 133 135 130 207 236 43 19 73 539s 9 47 133 135 130 207 236 43 19 73]; 539s assert (imresize (uint8 (in), [14 10], "nearest"), uint8 (out)) 539s 539s assert (imresize (uint8 (in), 1.5, "box"), imresize (uint8 (in), 1.5, "MeTHoD", "nearest")) 539s assert (imresize (uint8 (in), "Scale", 1.5, "Method", "box"), imresize (uint8 (in), 1.5, {@(h) -0.5 < h & h <= 0.5, 1})) 539s assert (imresize (uint8 (in), 1.5, "bicubic"), imresize (uint8 (in), 1.5, "cubic")) 539s assert (imresize (uint8 (in), [NaN, size(in,2)*1.5], "bicubic"), imresize (uint8 (in), 1.5, "cubic")) 539s assert (imresize (uint8 (in), [size(in,1)*1.5, NaN], "bicubic"), imresize (uint8 (in), 1.5, "cubic")) 539s assert (imresize (uint8 (in), "outputsize", [size(in,1)*1.5, NaN], "method", "bicubic"), imresize (uint8 (in), 1.5, "cubic")) 539s assert (imresize (uint8 (in), 1.5, "linear"), imresize (uint8 (in), 1.5, "LIneAR")) 539s assert (imresize (uint8 (in), 1.5, "linear"), imresize (uint8 (in), 1.5, "triangle")) 539s ***** test 539s in = [116 227 153 69 146 194 59 130 139 106 539s 2 47 137 249 90 75 16 24 158 44 539s 155 68 46 84 166 156 69 204 32 152 539s 71 221 137 230 210 153 192 115 30 118 539s 107 143 108 52 51 73 101 21 175 90 539s 54 158 143 77 26 168 113 229 165 225 539s 9 47 133 135 130 207 236 43 19 73 539s 129 60 59 243 64 181 249 56 32 86]; 539s 539s out = imresize (in, 0.5, "nearest", "Antialiasing", false); 539s for x = 1:columns (out) 539s for y = 1:rows (out) 539s x_in = 2 * (x-1) + 1; 539s y_in = 2 * (y-1) + 1; 539s sub = in(y_in:y_in+1, x_in:x_in+1); 539s assert (any (any (sub == out(y, x)))) 539s endfor 539s endfor 539s 539s out = imresize (in, 0.5, "nearest", "Antialiasing", true); 539s for x = 1:columns (out) 539s for y = 1:rows (out) 539s x_in = 2 * (x-1) + 1; 539s y_in = 2 * (y-1) + 1; 539s val = mean (mean (in(y_in:y_in+1, x_in:x_in+1))); 539s assert (val, out(y, x)) 539s endfor 539s endfor 539s 539s out = imresize (in, "Scale", [0.5, 2], "Method", "nearest", "Antialiasing", true); 539s for x = 1:columns (out) 539s for y = 1:rows (out) 539s x_in = floor (0.5 * (x-1) + 1); 539s y_in = 2 * (y-1) + 1; 539s val = mean (in(y_in:y_in+1, x_in)); 539s assert (val, out(y, x)) 539s endfor 539s endfor 539s 539s out = imresize (in, "Scale", [2, 0.5], "Method", "nearest", "Antialiasing", true); 539s for x = 1:columns (out) 539s for y = 1:rows (out) 539s x_in = 2 * (x-1) + 1; 539s y_in = floor (0.5 * (y-1) + 1); 539s val = mean (in(y_in, x_in:x_in+1)); 539s assert (val, out(y, x)) 539s endfor 539s endfor 539s ***** test 539s 539s assert (imresize (repmat (5, [3 3]), 2), repmat (5, [6 6]), eps*100) 539s 539s assert (imresize (repmat (5, [3 3 2]), 2), repmat (5, [6 6 2]), eps*100) 539s ***** test 539s 539s for channels = 1:3 539s in = rand (5, 4, channels); 539s for method = {"nearest", "bilinear", "bicubic"} 539s out = imresize (in, 2, method{1}); 539s for i = 1:size (in, 3) 539s assert (out(:, :, i), imresize (in(:, :, i), 2, method{1})) 539s endfor 539s endfor 539s endfor 539s ***** test 539s 539s for channels = 1:3 539s in = rand (5, 4, channels); 539s out = imresize (in, [1, columns(in)], "nearest", "Antialiasing", true); 539s for i = 1:columns (in) 539s assert (out(1, i, :), mean (in(:, i, :), 1), 10*eps) 539s endfor 539s endfor 539s ***** test 539s 539s for channels = 1:3 539s in = rand (5, 4, channels); 539s out = imresize (in, [rows(in), 1], "nearest", "Antialiasing", true); 539s for i = 1:rows (in) 539s assert (out(i, 1, :), mean (in(i, :, :), 2), 10*eps) 539s endfor 539s endfor 539s ***** test 539s 539s for channels = 1:3 539s in = rand (5, 4, channels); 539s out = imresize (in, [1, 1], "nearest", "Antialiasing", true); 539s assert (out(1, 1, :), mean (mean (in(:, :, :))), 10*eps) 539s endfor 539s ***** test 539s 539s in = [116 227 153 69 146 194 59 130 139 106 539s 2 47 137 249 90 75 16 24 158 44 539s 155 68 46 84 166 156 69 204 32 152 539s 71 221 137 230 210 153 192 115 30 118 539s 107 143 108 52 51 73 101 21 175 90 539s 54 158 143 77 26 168 113 229 165 225 539s 9 47 133 135 130 207 236 43 19 73 539s 129 60 59 243 64 181 249 56 32 86]; 539s 539s out = [115 208 134 100 163 117 101 136 109 103 539s 26 61 149 182 95 53 41 116 73 60 539s 133 101 82 140 167 125 152 71 126 144 539s 88 184 137 164 142 145 110 81 104 108 539s 86 146 109 55 73 110 111 156 153 150 539s 33 104 131 100 130 184 147 97 133 142 539s 84 59 114 164 133 219 120 33 72 81 539s 126 60 104 181 116 218 125 38 77 86]; 539s assert (imresize (uint8 (in), 0.91, "bilinear", "Antialiasing", false), uint8 (out), 1) 539s 539s out = [116 172 215 165 111 82 133 170 171 81 95 132 138 123 106 539s 59 98 138 144 152 152 125 127 119 54 58 89 137 112 75 539s 27 39 62 110 172 202 123 96 78 36 40 68 123 100 62 539s 129 97 64 62 87 119 146 148 128 74 117 154 73 94 134 539s 113 129 136 101 125 162 183 172 151 135 146 139 53 83 135 539s 77 143 195 145 166 197 186 162 146 171 138 92 62 84 113 539s 101 129 149 120 98 81 78 82 91 111 77 56 132 123 95 539s 81 116 147 130 96 61 43 80 119 109 116 132 162 164 158 539s 46 93 139 141 114 80 50 109 168 141 166 189 151 171 200 539s 16 41 77 123 130 123 115 157 204 214 145 69 48 71 98 539s 69 62 61 89 143 174 112 146 202 235 147 46 30 53 80 539s 129 95 60 59 151 213 94 123 192 238 153 52 36 59 86]; 539s assert (imresize (uint8 (in), 1.5, "bilinear"), uint8 (out), 1) 539s 539s out = [ 98 152 126 58 112 539s 129 125 172 146 83 539s 116 96 80 116 164 539s 62 143 146 147 53]; 539s assert (imresize (uint8 (in), 0.5, "bilinear", "Antialiasing", false), uint8 (out), 1) 539s 539s out = [108 136 125 89 107 539s 111 132 143 114 99 539s 106 110 106 127 136 539s 75 124 154 142 75]; 539s assert (imresize (uint8 (in), 0.5, "bilinear", "Antialiasing", true), uint8 (out), 1) 539s 539s out = [116 185 199 143 80 117 164 177 76 103 133 135 110 106 539s 45 89 126 148 177 138 114 109 43 52 97 141 78 67 539s 59 57 73 114 177 145 114 96 45 71 99 108 88 85 539s 145 109 76 63 96 146 166 147 93 152 133 47 134 148 539s 82 157 174 137 201 208 186 156 174 145 90 42 111 122 539s 94 143 152 119 119 114 108 107 131 86 80 119 104 101 539s 87 126 139 114 69 49 67 109 106 102 126 167 145 141 539s 48 108 143 135 91 56 89 167 134 177 184 154 199 206 539s 15 44 88 133 129 121 149 204 219 124 55 44 85 92 539s 84 66 67 102 189 132 127 198 237 123 42 34 74 81 539s 129 86 60 82 220 131 108 190 241 128 47 39 79 86]; 539s assert (imresize (uint8 (in), 4/3, "bilinear"), uint8 (out), 1) 539s 539s lin = @(x) (1 - abs(x)) .* (abs(x) < 1); 539s 539s out = [ 47 90 24 44 539s 143 51 21 90 539s 60 64 56 86]; 539s assert (imresize (uint8 (in), 1/3, "bilinear", "Antialiasing", false), uint8 (out), 1) 539s assert (imresize (uint8 (in), 1/3, {lin, 2}, "Antialiasing", false), uint8 (out), 1) 539s 539s out = [115 131 101 102 539s 114 117 120 121 539s 91 147 116 76]; 539s assert (imresize (uint8 (in), 1/3, "bilinear", "Antialiasing", true), uint8 (out), 1) 539s assert (imresize (uint8 (in), 1/3, {lin, 2}, "Antialiasing", true), uint8 (out), 1) 539s ***** test 539s in = [116 227 153 69 146 194 59 130 139 106 539s 2 47 137 249 90 75 16 24 158 44 539s 155 68 46 84 166 156 69 204 32 152 539s 71 221 137 230 210 153 192 115 30 118 539s 107 143 108 52 51 73 101 21 175 90 539s 54 158 143 77 26 168 113 229 165 225 539s 9 47 133 135 130 207 236 43 19 73 539s 129 60 59 243 64 181 249 56 32 86]; 539s 539s out = [116 187 237 171 94 61 135 191 187 75 91 142 140 124 108 539s 43 92 143 149 164 163 119 123 118 44 38 80 151 118 62 539s 13 21 47 107 195 228 115 81 70 24 19 56 137 105 48 539s 146 98 49 49 71 107 148 159 132 58 124 176 61 85 146 539s 118 139 144 92 116 168 201 188 159 140 167 158 27 69 153 539s 61 151 218 145 174 219 201 164 146 187 148 84 48 76 115 539s 102 132 151 119 90 72 72 72 83 114 60 31 144 130 80 539s 81 121 154 133 87 41 19 67 116 95 108 140 183 180 163 539s 37 95 152 150 117 73 35 108 179 130 174 214 153 176 219 539s 3 29 73 131 136 120 116 162 214 229 147 54 35 62 96 539s 67 54 51 83 153 187 111 141 210 255 149 22 13 42 74 539s 142 99 53 43 164 237 77 103 197 254 159 42 31 59 91]; 539s assert (imresize (uint8 (in), 1.5, "bicubic"), uint8 (out), 1) 539s 539s out = [ 92 164 123 38 118 539s 139 116 188 167 69 539s 121 87 67 108 180 539s 54 153 141 149 42]; 539s assert (imresize (uint8 (in), 0.5, "bicubic", "Antialiasing", false), uint8 (out), 1) 539s 539s out = [105 140 126 81 109 539s 110 134 153 114 93 539s 108 108 94 127 146 539s 67 126 162 149 62]; 539s assert (imresize (uint8 (in), 0.5, "bicubic", "Antialiasing", true), uint8 (out), 1) 539s 539s out = [116 203 221 141 62 110 180 191 70 104 143 136 111 106 539s 26 78 126 156 200 139 103 103 33 28 92 158 67 46 539s 51 35 51 112 195 146 101 87 29 57 100 114 81 74 539s 159 110 63 50 82 148 179 152 83 173 147 27 143 170 539s 70 171 189 134 217 226 193 158 186 157 83 25 114 135 539s 91 152 162 116 118 114 102 98 138 65 60 127 92 84 539s 90 130 144 111 52 24 50 101 94 86 129 190 146 135 539s 41 114 157 139 89 37 82 178 125 192 203 154 213 227 539s 4 33 89 141 127 118 151 213 232 119 35 34 81 92 539s 88 61 54 97 203 129 115 203 255 119 18 24 70 81 539s 147 91 43 68 247 125 80 191 255 130 33 37 83 94]; 539s assert (imresize (uint8 (in), 4/3, "bicubic"), uint8 (out), 1) 539s 539s out = [ 47 90 24 44 539s 143 51 21 90 539s 60 64 56 86]; 539s assert (imresize (uint8 (in), 1/3, "bicubic", "Antialiasing", false), uint8 (out), 1) 539s 539s out = [115 135 97 101 539s 113 119 124 125 539s 81 157 118 64]; 539s assert (imresize (uint8 (in), 1/3, "bicubic", "Antialiasing", true), uint8 (out), 1) 539s ***** test 539s 539s in = checkerboard (1, [2 2]); 539s out = [0.5 0.35 539s 0.5 0.35]; 539s assert ( imresize (in, 0.5, "bilinear", "Antialiasing", false), out) 539s ***** test 539s 539s in = ones (2) + 1i; 539s out_nearest = imresize (in, 1.5, "nearest"); 539s assert (out_nearest, ones (3) + 1i); 539s out_linear = imresize (in, 1.5, "linear"); 539s assert (out_linear, ones (3) + 1i); 539s out_cubic = imresize (in, 1.5, "cubic"); 539s assert (out_cubic, ones (3) + 1i, 1e-14); 539s ***** test 539s 539s in = cat (3, 10, 10, 10); 539s expected = 10 * ones (2, 2, 3); # consistent with MATLAB behaviour 539s 539s out_nearest = imresize (in, [2, 2], "nearest"); 539s assert (out_nearest, expected); 539s out_linear = imresize (in, [2, 2], "linear"); 539s assert (out_linear, expected); 539s out_cubic = imresize (in, [2, 2], "cubic"); 539s assert (out_cubic, expected); 539s ***** test 539s 539s in_row = cat(3, [10,6], [10,6], [10,6]); 539s 539s plane_expected_nearest = [1; 1; 1] * [10, 10, 6, 6]; 539s out_expected = cat (3, plane_expected_nearest, plane_expected_nearest, plane_expected_nearest); 539s out_nearest = imresize (in_row, [3, 4], "nearest"); 539s assert (out_nearest, out_expected); 539s 539s plane_expected_linear = [1; 1; 1] * [10, 8, 6]; 539s out_expected = cat (3, plane_expected_linear, plane_expected_linear, plane_expected_linear); 539s out_linear = imresize (in_row, [3, 3], "linear"); 539s assert (out_linear, out_expected); 539s 539s plane_expected_cubic = [1; 1; 1] * [10.27777777777777, 8, 5.72222222222222]; # values from MATLAB 539s out_expected = cat (3, plane_expected_cubic, plane_expected_cubic, plane_expected_cubic); 539s out_cubic = imresize (in_row, [3, 3], "cubic"); 539s assert (out_cubic, out_expected, 1e-13); 539s 539s in_col = cat(3, [10;6], [10;6], [10;6]); 539s 539s plane_expected_nearest = [10; 10; 6; 6] * [1, 1, 1]; 539s out_expected = cat (3, plane_expected_nearest, plane_expected_nearest, plane_expected_nearest); 539s out_nearest = imresize (in_col, [4, 3], "nearest"); 539s assert (out_nearest, out_expected); 539s 539s plane_expected_linear = [10; 8; 6] * [1, 1, 1]; 539s out_expected = cat (3, plane_expected_linear, plane_expected_linear, plane_expected_linear); 539s out_linear = imresize (in_col, [3, 3], "linear"); 539s assert (out_linear, out_expected); 539s 539s plane_expected_cubic = [10.27777777777777; 8; 5.72222222222222] * [1, 1, 1]; # values from MATLAB 539s out_expected = cat (3, plane_expected_cubic, plane_expected_cubic, plane_expected_cubic); 539s out_cubic = imresize (in_col, [3, 3], "cubic"); 539s assert (out_cubic, out_expected, 1e-13); 539s ***** #test 539s r_big_int16 = randi(16000, 8000, 8000, "int16"); 539s r_big_double = randi(16000, 8000, 8000); 539s tic; imresize (r_big_int16, 100/8000); toc; 539s tic; imresize (r_big_double, 100/8000); toc; 539s 539s r_small_int16 = randi(16000, 100, 100, "int16"); 539s r_small_double = randi(16000, 100, 100); 539s tic; imresize (r_small_int16, 8000/100); toc; 539s tic; imresize (r_small_double, 8000/100); toc; 539s 13 tests, 13 passed, 0 known failure, 0 skipped 539s [inst/imrotate.m] 539s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imrotate.m 539s ***** test 539s ## Verify minimal loss across six rotations that add up to 360 +/- 1 deg.: 539s methods = { "nearest", "bilinear", "bicubic", "Fourier" }; 539s angles = [ 59 60 61 ]; 539s tolerances = [ 7.4 8.5 8.6 # nearest 539s 3.5 3.1 3.5 # bilinear 539s 2.7 2.0 2.7 # bicubic 539s 2.7 1.6 2.8 ]/8; # Fourier 539s 539s # This is peaks(50) without the dependency on the plot package 539s x = y = linspace(-3,3,50); 539s [X,Y] = meshgrid(x,y); 539s x = 3*(1-X).^2.*exp(-X.^2 - (Y+1).^2) ... 539s - 10*(X/5 - X.^3 - Y.^5).*exp(-X.^2-Y.^2) ... 539s - 1/3*exp(-(X+1).^2 - Y.^2); 539s 539s x -= min(x(:)); # Fourier does not handle neg. values well 539s x = x./max(x(:)); 539s for m = 1:(length(methods)) 539s y = x; 539s for i = 1:5 539s y = imrotate(y, 60, methods{m}, "crop", 0); 539s end 539s for a = 1:(length(angles)) 539s assert(norm((x - imrotate(y, angles(a), methods{m}, "crop", 0)) 539s (10:40, 10:40)) < tolerances(m,a)); 539s endfor 539s endfor 539s ***** xtest 539s ## Verify exactness of near-90 and 90-degree rotations: 539s X = rand(99); 539s for angle = [90 180 270] 539s for da = [-0.1 0.1] 539s Y = imrotate(X, angle + da , "nearest", :, 0); 539s Z = imrotate(Y, -(angle + da), "nearest", :, 0); 539s assert(norm(X - Z) == 0); # exact zero-sum rotation 539s assert(norm(Y - imrotate(X, angle, "nearest", :, 0)) == 0); # near zero-sum 539s endfor 539s endfor 539s !!!!! known failure 539s assert (norm (X - Z) == 0) failed 539s ***** test 539s ## Verify preserved pixel density: 539s methods = { "nearest", "bilinear", "bicubic", "Fourier" }; 539s ## This test does not seem to do justice to the Fourier method...: 539s tolerances = [ 4 2.2 2.0 209 ]; 539s range = 3:9:100; 539s for m = 1:(length(methods)) 539s t = []; 539s for n = range 539s t(end + 1) = sum(imrotate(eye(n), 20, methods{m}, :, 0)(:)); 539s endfor 539s assert(t, range, tolerances(m)); 539s endfor 540s ***** test 540s a = reshape (1:18, [2 3 3]); 540s 540s a90(:,:,1) = [5 6; 3 4; 1 2]; 540s a90(:,:,2) = a90(:,:,1) + 6; 540s a90(:,:,3) = a90(:,:,2) + 6; 540s 540s a180(:,:,1) = [6 4 2; 5 3 1]; 540s a180(:,:,2) = a180(:,:,1) + 6; 540s a180(:,:,3) = a180(:,:,2) + 6; 540s 540s am90(:,:,1) = [2 1; 4 3; 6 5]; 540s am90(:,:,2) = am90(:,:,1) + 6; 540s am90(:,:,3) = am90(:,:,2) + 6; 540s 540s assert (imrotate (a, 0), a); 540s assert (imrotate (a, 90), a90); 540s assert (imrotate (a, -90), am90); 540s assert (imrotate (a, 180), a180); 540s assert (imrotate (a, -180), a180); 540s assert (imrotate (a, 270), am90); 540s assert (imrotate (a, -270), a90); 540s assert (imrotate (a, 360), a); 540s ***** test 540s # bug #53309 540s in = ones (2, 4); 540s out = [0 1 1 0; 0 1 1 0]; 540s assert (imrotate (in, 90, "nearest", "crop"), out) 540s assert (imrotate (repmat (in, [1 1 3]), 90, "nearest", "crop"), 540s repmat (out, [1 1 3])) 540s ***** test 540s ## bug #53309 540s rgbs = { 540s rand(5, 4, 3), # normal path, does interpolation 540s rand(4, 4, 3), # rows and columns, same number, simple rotdim 540s rand(4, 6, 3), # rows and columns differents, but of length even 540s }; 540s for rgb_i = 1:numel(rgbs) 540s rgb = rgbs{rgb_i}; 540s rot = imrotate (rgb, 90, "nearest", "crop"); 540s for i = 1:3 540s assert (rot(:,:,i), imrotate (rgb(:,:,i), 90, "nearest", "crop")) 540s endfor 540s ## same check but with an integer class 540s rgb = im2uint8 (rgb); 540s rot = imrotate (rgb, 90, "nearest", "crop"); 540s assert (class (rgb), class (rot)) 540s for i = 1:3 540s assert (rot(:,:,i), imrotate (rgb(:,:,i), 90, "nearest", "crop")) 540s endfor 540s endfor 540s 6 tests, 5 passed, 1 known failure, 0 skipped 540s [inst/imtransform.m] 540s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imtransform.m 540s ***** demo 540s ## Various linear transforms 540s figure (); 540s im = [checkerboard(20, 2, 4); checkerboard(40, 1, 2)]; 540s %input space corners 540s incp = [1 1; 160 1; 160 160; 1 160]; 540s udata = [min(incp(:,1)) max(incp(:,1))]; 540s vdata = [min(incp(:,2)) max(incp(:,2))]; 540s subplot (2,3,1); 540s imshow (im) 540s hold on 540s plot (incp(:,1), incp(:,2), 'ob') 540s axis on 540s xlabel ('Original') 540s 540s % Translation and scaling 540s outcp = incp * 2; 540s outcp(:,1) += 200; 540s outcp(:,2) += 500; 540s T = maketform ('affine', incp(1:3,:), outcp(1:3,:)); 540s subplot (2,3,2); 540s [im2 xdata ydata] = imtransform (im, T, 'udata', udata, 540s 'vdata', vdata, 'fillvalues', 1); 540s imh = imshow (im2); set (imh, 'xdata', xdata, 'ydata', ydata) 540s set (gca, 'xlim', xdata, 'ylim', ydata) 540s axis on, hold on, xlabel ('Translation / Scaling'); 540s plot (outcp(:,1), outcp(:,2), 'or') 540s 540s % Shear 540s outcp = [1 1; 160 1; 140 160; -19 160]; % affine only needs 3 control points 540s T = maketform ('affine', incp(1:3,:), outcp(1:3,:)); 540s subplot (2,3,3); 540s [im2 xdata ydata] = imtransform (im, T, 'udata', udata, 540s 'vdata', vdata, 'fillvalues', 1); 540s imh = imshow (im2); set (imh, 'xdata', xdata, 'ydata', ydata) 540s set (gca, 'xlim', xdata, 'ylim', ydata) 540s axis on, hold on, xlabel ('Shear'); 540s plot (outcp(:,1), outcp(:,2), 'or') 540s 540s % Rotation 540s theta = pi/4; 540s T = maketform ('affine', [cos(theta) -sin(theta); ... 540s sin(theta) cos(theta); 0 0]); 540s outcp = tformfwd (T, incp); 540s subplot (2,3,4); 540s [im2 xdata ydata] = imtransform (im, T, 'udata', udata, 540s 'vdata', vdata, 'fillvalues', 1 ); 540s imh = imshow (im2); set (imh, 'xdata', xdata, 'ydata', ydata) 540s set (gca, 'xlim', xdata, 'ylim', ydata) 540s axis on, hold on, xlabel ('Rotation'); 540s plot (outcp(:,1), outcp(:,2), 'or') 540s 540s % Reflection around x axis 540s outcp = incp; 540s outcp(:,2) *= -1; 540s T = cp2tform (incp, outcp, 'similarity'); 540s subplot (2,3,5); 540s [im2 xdata ydata] = imtransform (im, T, 'udata', udata, 540s 'vdata', vdata, 'fillvalues', 1 ); 540s imh = imshow (im2); set (imh, 'xdata', xdata, 'ydata', ydata) 540s set (gca, 'xlim', xdata, 'ylim', ydata) 540s axis on, hold on, xlabel ('Reflection'); 540s plot (outcp(:,1), outcp(:,2), 'or') 540s 540s % Projection 540s outcp = [1 1; 160 -40; 220 220; 12 140]; 540s T = maketform ('projective', incp, outcp); 540s subplot (2,3,6); 540s [im2 xdata ydata] = imtransform (im, T, 'udata', udata, 540s 'vdata', vdata, 'fillvalues', 1 ); 540s imh = imshow (im2); set (imh, 'xdata', xdata, 'ydata', ydata) 540s set (gca, 'xlim', xdata, 'ylim', ydata) 540s axis on, hold on, xlabel ('Projection'); 540s plot (outcp(:,1), outcp(:,2), 'or') 540s ***** demo 540s ## Streched image 540s rad = 2; % minimum value: 4/pi 540s [uu vv] = meshgrid ((-2:2)/rad, (-2:2)/rad); 540s rescfactor = sin ((uu.^2 + vv.^2).^.5); 540s inpts = [(reshape (uu, numel (uu), 1)), (reshape (vv, numel (uu), 1))]; 540s xx = rescfactor .* sign(uu); 540s yy = rescfactor .* sign(vv); 540s outpts = [reshape(xx, numel (xx), 1) reshape(yy, numel (yy), 1)]; 540s 540s T = cp2tform (inpts, outpts, "polynomial", 4); 540s figure; 540s subplot (1,2,1) 540s im = zeros (800, 800, 3); 540s im(:,:,1) = checkerboard (100) > 0.2; 540s im(:,:,3) = checkerboard (100) < 0.2; 540s [im2 xdata ydata] = imtransform (im, T, 'udata', [-2 2], 540s 'vdata', [-2 2], 'fillvalues', 540s [0 1 0]); 540s imh = imshow (im2); 540s set (imh, 'xdata', xdata, 'ydata', ydata) 540s set (gca, 'xlim', xdata, 'ylim', ydata) 540s [im cmap] = imread ('default.img'); 540s subplot (1,2,2) 540s [im2 xdata ydata] = imtransform (im, T, 'udata', [-1 1], 540s 'vdata', [-1 1], 'fillvalues', 540s round (length (cmap) / 2)); 540s imh = imshow (im2, cmap); 540s ***** test 540s im = checkerboard (); 540s incp = [0 0; 0 1; 1 1]; 540s scl = 10; 540s outcp = scl * incp; 540s T = maketform ('affine', incp, outcp); 540s [im2 xdata ydata] = imtransform (im, T, 'udata', [0 1], 540s 'vdata', [0 1], 'size', [500 500]); 540s assert (xdata, scl * ([0 1])) 540s assert (ydata, scl * ([0 1])) 540s assert (size (im2), [500 500]) 540s ***** test 540s im = checkerboard (); 540s incp = [0 0; 0 1; 1 1]; 540s scl = 10; 540s outcp = scl * incp; 540s xyscale = scl; 540s T = maketform ('affine', incp, outcp); 540s [im2 xdata ydata] = imtransform (im, T, 'xyscale', xyscale); 540s assert (size (im2), size (im), 1) 540s ***** test 540s im = checkerboard (100, 10, 4); 540s theta = 2 * pi; 540s T = maketform ("affine", [cos(theta) -sin(theta); ... 540s sin(theta) cos(theta); 0 0]); 540s im2 = imtransform (im, T, "nearest", "xdata", [1 800], "ydata", [1 2000]); 540s im = im(2:end-1, 2:end-1); %avoid boundaries 540s im2 = im2(2:end-1, 2:end-1); 540s assert (im, im2) 541s ***** test 541s im = checkerboard (20, 10, 4); 541s theta = pi/6; 541s T = maketform ('affine', [cos(theta) -sin(theta); ... 541s sin(theta) cos(theta); 0 0]); 541s [im2, xdata] = imtransform (im, T); 541s nu = columns(im); 541s nv = rows(im); 541s nx = xdata(2); 541s diag = sqrt (nu^2 + nv^2); 541s ang = atan (nv / nu); 541s assert (nx, diag * abs (cos (theta - ang)), 541s diag * 1 / size (im2, 2)) 541s ***** test 541s im = rand (2); 541s tmat = [eye(2); 0 0]; 541s T = maketform ("affine", tmat); 541s im2 = imtransform (im, T, "xdata", [1 3]); 541s assert (im2(:,3), zeros (2,1)) 541s ***** test 541s im = rand (2); 541s tmat = [eye(2); 0 0]; 541s T = maketform ('affine', tmat); 541s im2 = imtransform (im, T, "xdata", [1 3]); 541s assert (size (im2), [2 3]) 541s ***** test 541s im = rand (2); 541s tmat = [eye(2); 0 0]; 541s T = maketform ('affine', tmat); 541s im2 = imtransform (im, T, "xyscale", [0.5 0.5]); 541s assert (size (im2), [3 3]) 541s ***** test 541s im = [1,2,3,4; 5,6,7,8; 9,10,11,12; 13,14,15,16]; 541s tmat = [eye(2); 0 0]; 541s T = maketform ('affine', tmat); 541s im2 = imtransform (im, T, 'xdata', [1 4], 'ydata', [4 1]); 541s assert (im2, [13,14,15,16; 9,10,11,12; 5,6,7,8; 1,2,3,4]) 541s 541s im2 = imtransform (im, T, 'xdata', [4 1], 'ydata', [1 4]); 541s assert (im2, [4,3,2,1; 8,7,6,5; 12,11,10,9; 16,15,14,13]) 541s 541s [im2, xd, yd] = imtransform (im, T, 'xdata', [4 1], 'ydata', [4 1]); 541s assert (im2, [16,15,14,13; 12,11,10,9; 8,7,6,5; 4,3,2,1]) 541s assert (xd, [4 1]) 541s assert (yd, [4 1]) 541s 541s ***** error imtransform () 541s ***** error imtransform (rand(2)) 541s ***** error ... 541s imtransform (rand(2), maketform ('affine', [eye(2); 0 0]), ... 541s 'udata', [1 2], 'vdata', [2 1]); 541s ***** error ... 541s imtransform (rand(2), maketform ('affine', [eye(2); 0 0]), ... 541s 'udata', [2 1], 'vdata', [1 2]); 541s 12 tests, 12 passed, 0 known failure, 0 skipped 541s [inst/iptnum2ordinal.m] 541s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/iptnum2ordinal.m 541s ***** assert (strcmp (iptnum2ordinal (1), 'first')); # simple works 541s ***** assert (strcmp (iptnum2ordinal (21), '21st')); # after 20, goes stupid 541s ***** assert (strcmp (iptnum2ordinal (100), '100th')); # use th correctly 541s ***** fail ("iptnum2ordinal (inf)"); # must be real 541s ***** fail ("iptnum2ordinal (0)"); # must be positive 541s ***** fail ("iptnum2ordinal (-1)"); # must be positive 541s ***** fail ("iptnum2ordinal (3.4)"); # must be integer 541s 7 tests, 7 passed, 0 known failure, 0 skipped 541s [inst/regionprops.m] 541s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/regionprops.m 541s ***** shared bw2d, gray2d, bw2d_over_bb, bw2d_insides 541s bw2d = logical ([ 541s 0 1 0 1 1 0 541s 0 1 1 0 1 1 541s 0 1 0 0 0 0 541s 0 0 0 1 1 1 541s 0 0 1 1 0 1]); 541s 541s gray2d = [ 541s 2 4 0 7 5 2 541s 3 0 4 9 3 7 541s 0 5 3 4 8 1 541s 9 2 0 5 8 6 541s 8 9 7 2 2 5]; 541s 541s ## For testing overlapping bounding boxes 541s bw2d_over_bb = logical ([ 541s 0 1 1 1 0 1 1 541s 1 1 0 0 0 0 1 541s 1 0 0 1 1 0 1 541s 1 0 0 1 1 0 0 541s 0 0 0 1 1 1 1]); 541s 541s ## For testing when there's regions inside regions 541s bw2d_insides = logical ([ 541s 0 0 0 0 0 0 0 0 541s 0 1 1 1 1 1 1 0 541s 0 1 0 0 0 0 1 0 541s 0 1 0 1 1 0 1 0 541s 0 1 0 1 1 0 1 0 541s 0 1 0 0 0 0 1 0 541s 0 1 1 1 1 1 1 0 541s 0 0 0 0 0 0 0 0]); 541s ***** function c = get_2d_centroid_for (idx) 541s subs = ind2sub ([5 6], idx); 541s m = false ([5 6]); 541s m(idx) = true; 541s y = sum ((1:5)' .* sum (m, 2) /sum (m(:))); 541s x = sum ((1:6) .* sum (m, 1) /sum (m(:))); 541s c = [x y]; 541s ***** endfunction 541s ***** assert (regionprops (bw2d, "Area"), struct ("Area", {8; 6})) 541s ***** assert (regionprops (double (bw2d), "Area"), struct ("Area", {14})) 541s ***** assert (regionprops (bwlabel (bw2d, 4), "Area"), struct ("Area", {4; 6; 4})) 541s ***** assert (regionprops (bw2d, "PixelIdxList"), 541s struct ("PixelIdxList", {[6; 7; 12; 8; 16; 21; 22; 27] 541s [15; 19; 20; 24; 29; 30]})) 541s ***** assert (regionprops (bwlabel (bw2d, 4), "PixelIdxList"), 541s struct ("PixelIdxList", {[6; 7; 8; 12] 541s [15; 19; 20; 24; 29; 30] 541s [16; 21; 22; 27]})) 541s ***** assert (regionprops (bw2d, "PixelList"), 541s struct ("PixelList", {[2 1; 2 2; 3 2; 2 3; 4 1; 5 1; 5 2; 6 2] 541s [3 5; 4 4; 4 5; 5 4; 6 4; 6 5]})) 541s ***** assert (regionprops (bwlabel (bw2d, 4), "PixelList"), 541s struct ("PixelList", {[2 1; 2 2; 2 3; 3 2] 541s [3 5; 4 4; 4 5; 5 4; 6 4; 6 5] 541s [4 1; 5 1; 5 2; 6 2]})) 541s ***** assert (regionprops (bw2d, gray2d, "PixelValues"), 541s struct ("PixelValues", {[4; 0; 4; 5; 7; 5; 3; 7] 541s [7; 5; 2; 8; 6; 5]})) 541s ***** assert (regionprops (bw2d, gray2d, "MaxIntensity"), 541s struct ("MaxIntensity", {7; 8})) 541s ***** assert (regionprops (bw2d, gray2d, "MinIntensity"), 541s struct ("MinIntensity", {0; 2})) 541s ***** assert (regionprops (bw2d, "BoundingBox"), 541s struct ("BoundingBox", {[1.5 0.5 5 3]; [2.5 3.5 4 2]})) 541s ***** assert (regionprops (bw2d, "Centroid"), 541s struct ("Centroid", {get_2d_centroid_for([6 7 8 12 16 21 22 27]) 541s get_2d_centroid_for([15 19 20 24 29 30])}), 541s 5 * eps) 541s ***** test 541s props = struct ("Area", {8; 6}, 541s "Centroid", {get_2d_centroid_for([6 7 8 12 16 21 22 27]) 541s get_2d_centroid_for([15 19 20 24 29 30])}, 541s "BoundingBox", {[1.5 0.5 5 3]; [2.5 3.5 4 2]}); 541s assert (regionprops (bw2d, "basic"), props, 5 * eps) 541s assert (regionprops (bwconncomp (bw2d, 8), "basic"), props, 5 * eps) 541s assert (regionprops (bwlabeln (bw2d, 8), "basic"), props, 5 * eps) 541s ***** test 541s props = struct ("Area", {4; 6; 4}, 541s "Centroid", {get_2d_centroid_for([6 7 8 12]) 541s get_2d_centroid_for([15 19 20 24 29 30]) 541s get_2d_centroid_for([16 21 22 27])}, 541s "BoundingBox", {[1.5 0.5 2 3]; [2.5 3.5 4 2]; [3.5 0.5 3 2]}); 541s assert (regionprops (bwconncomp (bw2d, 4), "basic"), props, 5 * eps) 541s assert (regionprops (bwlabeln (bw2d, 4), "basic"), props, 5 * eps) 541s ***** assert (regionprops (double (bw2d), "basic"), 541s struct ("Area", 14, 541s "Centroid", get_2d_centroid_for (find (bw2d)), 541s "BoundingBox", [1.5 0.5 5 5]), eps*1000) 541s ***** assert (regionprops ([0 0 1], "Centroid").Centroid, [3 1]) 541s ***** assert (regionprops ([0 0 1; 0 0 0], "Centroid").Centroid, [3 1]) 541s ***** assert (regionprops ([0 1 1], "Centroid").Centroid, [2.5 1]) 541s ***** assert (regionprops ([0 1 1; 0 0 0], "Centroid").Centroid, [2.5 1]) 541s ***** test 541s a = zeros (2, 3, 3); 541s a(:, :, 1) = [0 1 0; 0 0 0]; 541s a(:, :, 3) = a(:, :, 1); 541s c = regionprops (a, "centroid"); 541s assert (c.Centroid, [2 1 2]) 541s ***** test 541s d1=2; d2=4; d3=6; 541s a = ones (d1, d2, d3); 541s c = regionprops (a, "centroid"); 541s assert (c.Centroid, [mean(1:d2), mean(1:d1), mean(1:d3)], eps*1000) 541s ***** test 541s a = [0 0 2 2; 3 3 0 0; 0 1 0 1]; 541s c = regionprops (a, "centroid"); 541s assert (c(1).Centroid, [3 3]) 541s assert (c(2).Centroid, [3.5 1]) 541s assert (c(3).Centroid, [1.5 2]) 541s ***** test 541s ***** assert (regionprops (bw2d, gray2d, "WeightedCentroid"), 541s struct ("WeightedCentroid", 541s {sum([2 1; 2 2; 3 2; 2 3; 4 1; 5 1; 5 2; 6 2] 541s .* ([4; 0; 4; 5; 7; 5; 3; 7] / 35)) 541s sum([3 5; 4 4; 4 5; 5 4; 6 4; 6 5] 541s .* ([7; 5; 2; 8; 6; 5] / 33))}), 5 * eps) 541s ***** test 541s img = zeros (3, 9); 541s img(2, 1:9) = 0:0.1:0.8; 541s bw = im2bw (img, 0.5); 541s props = regionprops (bw, img, "WeightedCentroid"); 541s ix = 7:9; 541s x = sum (img(2,ix) .* (ix)) / sum (img(2,ix)); 541s assert (props(1).WeightedCentroid(1), x, 10*eps) 541s assert (props(1).WeightedCentroid(2), 2, 10*eps) 541s ***** assert (regionprops (bw2d, gray2d, "MeanIntensity"), 541s struct ("MeanIntensity", {mean([4 0 5 4 7 5 3 7]) 541s mean([7 5 2 8 6 5])})) 541s ***** assert (regionprops (bwlabel (bw2d, 4), gray2d, "MeanIntensity"), 541s struct ("MeanIntensity", {mean([4 0 5 4]) 541s mean([7 5 2 8 6 5]) 541s mean([7 5 3 7])})) 541s ***** assert (regionprops (bw2d, "SubarrayIdx"), 541s struct ("SubarrayIdx", {{[1 2 3], [2 3 4 5 6]} 541s {[4 5], [3 4 5 6]}})) 541s ***** assert (regionprops (bwlabel (bw2d, 4), "SubarrayIdx"), 541s struct ("SubarrayIdx", {{[1 2 3], [2 3]} 541s {[4 5], [3 4 5 6]} 541s {[1 2], [4 5 6]}})) 541s ***** test 541s out = struct ("Image", {logical([1 0 1 1 0; 1 1 0 1 1; 1 0 0 0 0]) 541s logical([0 1 1 1; 1 1 0 1])}); 541s assert (regionprops (bw2d, "Image"), out) 541s assert (regionprops (bw2d, gray2d, "Image"), out) 541s assert (regionprops (bwlabel (bw2d), "Image"), out) 541s ***** assert (regionprops (bwlabel (bw2d, 4), "Image"), 541s struct ("Image", {logical([1 0; 1 1; 1 0]) 541s logical([0 1 1 1; 1 1 0 1]) 541s logical([1 1 0; 0 1 1])})) 541s ***** test 541s out = struct ("Image", {logical([0 1 1 1; 1 1 0 0; 1 0 0 0; 1 0 0 0]) 541s logical([1 1 0 0; 1 1 0 0; 1 1 1 1]) 541s logical([1 1; 0 1; 0 1])}); 541s assert (regionprops (bw2d_over_bb, "Image"), out) 541s assert (regionprops (bwlabel (bw2d_over_bb), "Image"), out) 541s ***** test 541s out = struct ("Image", {logical([1 1 1 1 1 1 541s 1 0 0 0 0 1 541s 1 0 0 0 0 1 541s 1 0 0 0 0 1 541s 1 0 0 0 0 1 541s 1 1 1 1 1 1]) 541s logical([1 1; 1 1])}); 541s assert (regionprops (bw2d_insides, "Image"), out) 541s assert (regionprops (bwlabel (bw2d_insides), "Image"), out) 541s ***** test 541s l = uint8 ([ 541s 0 0 0 0 0 0 541s 0 1 1 1 1 0 541s 0 1 2 2 1 0 541s 0 1 2 2 1 0 541s 0 1 1 1 1 0 541s 0 0 0 0 0 0 541s ]); 541s assert (regionprops (l, "EulerNumber"), 541s struct ("EulerNumber", {0; 1})) 541s 541s l = uint8 ([ 541s 0 0 0 0 0 0 0 541s 0 1 1 1 1 1 0 541s 0 1 2 2 2 1 0 541s 0 1 2 3 2 1 0 541s 0 1 2 2 2 1 0 541s 0 1 1 1 1 1 0 541s 0 0 0 0 0 0 0 541s ]); 541s assert (regionprops (l, "EulerNumber"), 541s struct ("EulerNumber", {0; 0; 1})) 541s ***** test 541s l = uint8 ([ 541s 0 0 0 0 0 0 0 541s 0 1 1 1 1 1 0 541s 0 1 0 0 0 1 0 541s 0 1 0 1 0 1 0 541s 0 1 0 0 0 1 0 541s 0 1 1 1 1 1 0 541s 0 0 0 0 0 0 0 541s ]); 541s assert (regionprops (l, "EulerNumber"), 541s struct ("EulerNumber", 1)) 541s ***** test 541s l = uint8 ([ 541s 1 1 1 1 1 1 1 541s 1 1 2 1 2 2 1 541s 1 2 1 2 1 2 1 541s 1 1 2 1 2 1 1 541s 1 2 1 2 1 2 1 541s 1 2 2 1 2 1 1 541s 1 1 1 1 1 1 1 541s ]); 541s assert (regionprops (l, "EulerNumber"), 541s struct ("EulerNumber", {-9; -4})) 541s ***** test 541s l = uint8 ([ 541s 1 1 1 1 1 1 1 541s 1 1 4 1 5 5 1 541s 1 3 1 4 1 5 1 541s 1 1 3 1 4 1 1 541s 1 2 1 3 1 4 1 541s 1 2 2 1 3 1 1 541s 1 1 1 1 1 1 1 541s ]); 541s assert (regionprops (l, "EulerNumber"), 541s struct ("EulerNumber", {-9; 1; 1; 1; 1})) 541s ***** test 541s l = uint8 ([ 541s 1 1 1 1 1 1 1 541s 0 1 2 1 2 2 1 541s 1 2 1 2 1 2 1 541s 1 1 2 1 2 1 1 541s 1 2 1 2 1 2 1 541s 1 2 2 1 2 1 1 541s 1 1 1 1 1 1 1 541s ]); 541s filled = { 541s logical([ 541s 1 1 1 1 1 1 1 541s 0 1 1 1 1 1 1 541s 1 1 1 1 1 1 1 541s 1 1 1 1 1 1 1 541s 1 1 1 1 1 1 1 541s 1 1 1 1 1 1 1 541s 1 1 1 1 1 1 1 541s ]); 541s logical([ 541s 0 1 0 1 1 541s 1 1 1 1 1 541s 0 1 1 1 0 541s 1 1 1 1 1 541s 1 1 0 1 0 541s ]); 541s }; 541s assert (regionprops (l, {"FilledImage", "FilledArea"}), 541s struct ("FilledImage", filled, "FilledArea", {48; 19})) 541s ***** test 541s l = uint8 ([ 541s 0 0 0 0 0 0 0 541s 0 1 0 1 0 1 0 541s 0 1 0 1 0 1 0 541s 0 0 0 0 0 0 0 541s ]); 541s filled = logical ([ 541s 1 0 1 0 1 541s 1 0 1 0 1 541s ]); 541s assert (regionprops (l, {"FilledImage", "FilledArea"}), 541s struct ("FilledImage", filled, "FilledArea", 6)) 541s 541s l = uint8 ([ 541s 2 2 2 2 2 2 2 541s 2 1 2 1 2 1 2 541s 2 1 2 1 2 1 2 541s 2 2 2 2 2 2 2 541s ]); 541s filled = { 541s logical([ 541s 1 0 1 0 1 541s 1 0 1 0 1 541s ]); 541s true(4, 7) 541s }; 541s assert (regionprops (l, {"FilledImage", "FilledArea"}), 541s struct ("FilledImage", filled, "FilledArea", {6; 28})) 541s ***** test 541s l = uint8 ([ 541s 0 0 0 0 0 0 0 541s 0 1 1 1 1 1 0 541s 0 1 2 2 2 1 0 541s 0 1 2 3 2 1 0 541s 0 1 2 2 2 1 0 541s 0 1 1 1 1 1 0 541s 0 0 0 0 0 0 0 541s ]); 541s filled = {true(5, 5); true(3, 3); true}; 541s assert (regionprops (l, {"FilledImage", "FilledArea"}), 541s struct ("FilledImage", filled, "FilledArea", {25; 9; 1})) 541s ***** test 541s l = uint8 ([ 541s 1 1 1 2 0 0 541s 1 0 2 1 2 0 541s 1 2 0 1 0 2 541s 1 2 1 1 0 2 541s 0 1 2 2 2 2 541s ]); 541s filled = { 541s logical([ 541s 1 1 1 0 541s 1 1 1 1 541s 1 1 1 1 541s 1 1 1 1 541s 0 1 0 0 541s ]); 541s logical([ 541s 0 0 1 0 0 541s 0 1 1 1 0 541s 1 1 1 1 1 541s 1 1 1 1 1 541s 0 1 1 1 1 541s ]) 541s }; 541s assert (regionprops (l, {"FilledImage", "FilledArea"}), 541s struct ("FilledImage", filled, "FilledArea", {16; 18})) 541s ***** test 541s bw = false (5, 5, 5); 541s bw(2:4, 2:4, [1 5]) = true; 541s bw(2:4, [1 5], 2:4) = true; 541s bw([1 5], 2:4, 2:4) = true; 541s filled = bw; 541s filled(2:4, 2:4, 2:4) = true; 541s assert (regionprops (bw, {"FilledImage", "FilledArea"}), 541s struct ("FilledImage", filled, "FilledArea", 81)) 541s ***** test 541s l = uint8 ([ 541s 1 1 1 2 0 0 541s 1 0 2 1 2 0 541s 1 2 0 1 0 2 541s 1 2 1 1 0 2 541s 0 1 2 2 2 2 541s ]); 541s assert (regionprops (l, {"Extent"}), struct ("Extent", {0.55; 0.44})) 542s ***** test 542s bw = logical ([0 0 0; 0 1 0; 0 0 0]); 542s assert (regionprops (bw, {"MinorAxisLength", "MajorAxisLength", ... 542s "Eccentricity", "Orientation"}), 542s struct ("MajorAxisLength", 4 .* sqrt (1/12), 542s "MinorAxisLength", 4 .* sqrt (1/12), 542s "Eccentricity", 0, 542s "Orientation", 0)) 542s ***** test 542s a = eye (4); 542s t = regionprops (a, "majoraxislength"); 542s assert (t.MajorAxisLength, 6.4291, 1e-3); 542s t = regionprops (a, "minoraxislength"); 542s assert(t.MinorAxisLength, 1.1547 , 1e-3); 542s t = regionprops (a, "eccentricity"); 542s assert (t.Eccentricity, 0.98374 , 1e-3); 542s t = regionprops (a, "orientation"); 542s assert (t.Orientation, -45); 542s t = regionprops (a, "equivdiameter"); 542s assert (t.EquivDiameter, 2.2568, 1e-3); 542s ***** test 542s b = ones (5); 542s t = regionprops (b, "majoraxislength"); 542s assert (t.MajorAxisLength, 5.7735 , 1e-3); 542s t = regionprops (b, "minoraxislength"); 542s assert (t.MinorAxisLength, 5.7735 , 1e-3); 542s t = regionprops (b, "eccentricity"); 542s assert (t.Eccentricity, 0); 542s t = regionprops (b, "orientation"); 542s assert (t.Orientation, 0); 542s t = regionprops (b, "equivdiameter"); 542s assert (t.EquivDiameter, 5.6419, 1e-3); 542s ***** test 542s c = [0 0 1; 0 1 1; 1 1 0]; 542s t = regionprops (c, "minoraxislength"); 542s assert (t.MinorAxisLength, 1.8037 , 1e-3); 542s t = regionprops (c, "majoraxislength"); 542s assert (t.MajorAxisLength, 4.1633 , 1e-3); 542s t = regionprops (c, "eccentricity"); 542s assert (t.Eccentricity, 0.90128 , 1e-3); 542s t = regionprops (c, "orientation"); 542s assert (t.Orientation, 45); 542s t = regionprops (c, "equivdiameter"); 542s assert (t.EquivDiameter, 2.5231, 1e-3); 542s ***** test 542s bw = logical ([0 0 0 0; 0 1 1 0; 0 0 0 0]); 542s props = regionprops (bw, "Orientation"); 542s assert ([props.Orientation], 0, 0) 542s 542s props = regionprops (bw', "Orientation"); 542s assert ([props.Orientation], 90, 0) 542s 542s bw = logical ([0 0 0 0; 0 1 1 0; 0 1 1 0; 0 0 0 0]); 542s props = regionprops (bw, "Orientation"); 542s assert ([props.Orientation], 0, 0) 542s 542s bw = logical ([1 1 0 0 0 ; 0 0 1 1 0 ; 0 0 0 0 0; 0 0 0 0 0]); 542s props = regionprops (bw, "Orientation"); 542s assert ([props.Orientation], -22.5, eps (22.5)) 542s 542s bw = logical ([ 542s 1 1 0 0 1 542s 0 0 0 0 1 542s 0 0 0 0 0 542s 0 0 1 1 0 542s 1 0 1 1 0 542s 1 0 0 0 0 542s 0 1 0 0 0 542s 0 1 0 0 0]); 542s props = regionprops (bw, "Orientation"); 542s assert ([props.Orientation], [0 -67.5 0 90]) 542s ***** test 542s f = [0 0 0 0; 1 1 1 1; 0 1 1 1; 0 0 0 0]; 542s t = regionprops (f, "Extrema"); 542s shouldbe = [0.5 1.5; 4.5 1.5; 4.5 1.5; 4.5 3.5; 4.5 3.5; 1.5 3.5; 0.5 2.5; 0.5 1.5]; 542s assert (t.Extrema, shouldbe, eps); 542s ***** test 542s bw = false (5); 542s bw([8 12 13 14 18]) = true; 542s extrema = [2 1; 3 1; 4 2; 4 3; 3 4; 2 4; 1 3; 1 2] + 0.5; 542s assert (regionprops (bw, "extrema"), struct ("Extrema", extrema)) 542s ***** test 542s ext1 = [1 0; 5 0; 6 1; 6 2; 2 3; 1 3; 1 3; 1 0] + 0.5; 542s ext2 = [3 3; 6 3; 6 3; 6 5; 6 5; 2 5; 2 5; 2 4] + 0.5; 542s assert (regionprops (bw2d, "extrema"), struct ("Extrema", {ext1; ext2})) 542s ***** assert (regionprops (bw2d, "equivDiameter"), 542s struct ("EquivDiameter", {sqrt(4*8/pi); sqrt(4*6/pi)})) 542s ***** assert (regionprops (bw2d_over_bb, "equivDiameter"), 542s struct ("EquivDiameter", {sqrt(4*7/pi); sqrt(4*8/pi); sqrt(4*4/pi)})) 542s ***** assert (regionprops (bw2d_insides, "equivDiameter"), 542s struct ("EquivDiameter", {sqrt(4*20/pi); sqrt(4*4/pi)})) 542s ***** test 542s I = zeros (40); 542s disk = fspecial ("disk",10); 542s disk = disk ./ max (disk(:)); 542s I(10:30, 10:30) = disk; 542s bw = im2bw (I, 0.5); 542s props = regionprops (bw, "PerimeterOld"); 542s assert (props.PerimeterOld, 10*4 + (sqrt (2) * 4)*4, eps*100) 542s props = regionprops (bw, "Perimeter"); 542s assert (props.Perimeter, 59.876) 542s 542s props = regionprops (bwconncomp (bw), "PerimeterOld"); 542s assert (props.PerimeterOld, 10*4 + (sqrt (2) * 4)*4, eps*100) 542s props = regionprops (bwconncomp (bw), "Perimeter"); 542s assert (props.Perimeter, 59.876) 542s ***** assert (regionprops (bw2d, "PerimeterOld"), 542s struct ("PerimeterOld", {(sqrt (2)*6 + 4); (sqrt (2)*3 + 4)}), eps*10) 542s ***** assert (regionprops (bw2d, "Perimeter"), 542s struct ("Perimeter", {11.81; 7.683})) 542s ***** assert (regionprops (bw2d_insides, "PerimeterOld"), 542s struct ("PerimeterOld", {20; 4})) 542s ***** assert (regionprops (bw2d_insides, "Perimeter"), 542s struct ("Perimeter", {19.236; 3.556})) 542s ***** assert (regionprops (bwconncomp (bw2d_insides), "PerimeterOld"), 542s struct ("PerimeterOld", {20; 4})) 542s ***** assert (regionprops (bwconncomp (bw2d_insides), "Perimeter"), 542s struct ("Perimeter", {19.236; 3.556})) 542s ***** test 542s BW = false (5); 542s BW(2:4, 2:4) = true; # region with simple shape 542s hull_test = [4.5 4; 4.5 2; 4 1.5; 2 1.5; 1.5 2; 1.5 4; 2 4.5; 4 4.5]; 542s cimage_test = true(3); 542s carea_test = 9; 542s csolid_test = 1; 542s props = regionprops (BW, {'ConvexHull', 'ConvexImage', 'ConvexArea', 'Solidity'}); 542s hull = props.ConvexHull; 542s # test only for existence of the correct corner points 542s # because Matlab returns more points (than necessary) 542s # (The correct shape of the ConvexHull results will only 542s # be tested indirectly via the tests of ConvexArea.) 542s assert (sum (ismember (hull_test, hull, "rows")), rows (hull_test)) 542s assert (all (hull(1,:) == hull(end,:))) 542s cimage = props.ConvexImage; 542s assert (cimage, cimage_test); 542s carea = props.ConvexArea; 542s assert (carea, carea_test); 542s csolid = props.Solidity; 542s assert (csolid, csolid_test); 542s ***** test 542s BW = logical ([... # region with non-trivial shape 542s 0 0 0 0 0 0 0 0 0 0 0 0 0 0 542s 0 0 0 1 1 1 1 0 0 0 0 0 0 0 542s 0 0 1 1 1 1 1 0 0 0 0 0 0 0 542s 0 1 1 1 1 1 1 0 0 0 0 0 0 0 542s 0 0 1 1 1 1 1 1 1 1 1 0 0 0 542s 0 0 0 1 1 1 1 1 1 1 1 1 0 0 542s 0 0 0 0 1 1 1 1 1 1 1 1 1 0 542s 0 0 0 0 0 1 1 1 0 1 1 1 1 0 542s 0 0 0 0 0 0 1 0 0 0 1 1 1 0 542s 0 0 0 0 0 0 0 0 0 0 0 0 0 0]); 542s hull_test = [4 1.5; 1.5 4; 7 9.5; 13 9.5; 13.5 9; 13.5 7; 11 4.5; 7 1.5]; 542s cimage_test = logical ([... 542s 0 0 1 1 1 1 0 0 0 0 0 0 542s 0 1 1 1 1 1 1 1 0 0 0 0 542s 1 1 1 1 1 1 1 1 1 0 0 0 542s 0 1 1 1 1 1 1 1 1 1 0 0 542s 0 0 1 1 1 1 1 1 1 1 1 0 542s 0 0 0 1 1 1 1 1 1 1 1 1 542s 0 0 0 0 1 1 1 1 1 1 1 1 542s 0 0 0 0 0 1 1 1 1 1 1 1]); 542s carea_test = 62; 542s csolid_test = 0.8548; 542s props = regionprops (BW, {'ConvexHull', 'ConvexImage', 'ConvexArea', 'Solidity'}); 542s hull = props.ConvexHull; 542s assert (sum (ismember (hull_test, hull, "rows")), rows (hull_test)) 542s assert (all (hull(1,:) == hull(end,:))) 542s cimage = props.ConvexImage; 542s assert (cimage, cimage_test); 542s carea = props.ConvexArea; 542s assert (carea, carea_test); 542s csolid = props.Solidity; 542s assert (csolid, csolid_test, 1e-4); 542s ***** test 542s BW = false (7); 542s BW(2:6, 2:6) = true; 542s BW(4,4) = false; # region with hole 542s hull_test = [6.5 6; 6.5 2; 6 1.5; 2 1.5; 1.5 2; 1.5 6; 2 6.5; 6 6.5]; 542s cimage_test = true(5); 542s carea_test = 25; 542s csolid_test = 0.96; 542s props = regionprops (BW, {'ConvexHull', 'ConvexImage', 'ConvexArea', 'Solidity'}); 542s hull = props.ConvexHull; 542s assert (sum (ismember (hull_test, hull, "rows")), rows (hull_test)) 542s assert (all (hull(1,:) == hull(end,:))) 542s cimage = props.ConvexImage; 542s assert (cimage, cimage_test); 542s carea = props.ConvexArea; 542s assert (carea, carea_test); 542s csolid = props.Solidity; 542s assert (csolid, csolid_test, 1e-4); 542s ***** test 542s BW = false (5); 542s BW(3, 3) = true; # region with single pixel 542s hull_test = [3.5 3; 3 2.5; 2.5 3]; 542s cimage_test = true; 542s carea_test = 1; 542s csolid_test = 1; 542s props = regionprops (BW, {'ConvexHull', 'ConvexImage', 'ConvexArea', 'Solidity'}); 542s hull = props.ConvexHull; 542s assert (sum (ismember (hull_test, hull, "rows")), rows (hull_test)) 542s assert (all (hull(1,:) == hull(end,:))) 542s cimage = props.ConvexImage; 542s assert (cimage, cimage_test); 542s carea = props.ConvexArea; 542s assert (carea, carea_test); 542s csolid = props.Solidity; 542s assert (csolid, csolid_test); 542s ***** test 542s BW = false (5); 542s BW(3, 2:4) = true; # regions with pixel line 542s BW2 = BW'; 542s hull_test = [2 2.5; 1.5 3; 2 3.5; 4 3.5; 4.5 3; 4 2.5]; 542s hull_test2 = fliplr (hull_test); 542s cimage_test = true(1,3); 542s cimage_test2 = cimage_test'; 542s carea_test = 3; 542s csolid_test = 1; 542s props = regionprops (BW, {'ConvexHull', 'ConvexImage', 'ConvexArea', 'Solidity'}); 542s hull = props.ConvexHull; 542s assert (sum (ismember (hull_test, hull, "rows")), rows (hull_test)) 542s assert (all (hull(1,:) == hull(end,:))) 542s cimage = props.ConvexImage; 542s assert (cimage, cimage_test); 542s carea = props.ConvexArea; 542s assert (carea, carea_test); 542s csolid = props.Solidity; 542s assert (csolid, csolid_test); 542s props2 = regionprops (BW2, {'ConvexHull', 'ConvexImage', 'ConvexArea', 'Solidity'}); 542s hull2 = props2.ConvexHull; 542s assert (sum (ismember (hull_test2, hull2, "rows")), rows (hull_test2)) 542s assert (all (hull2(1,:) == hull2(end,:))) 542s cimage2 = props2.ConvexImage; 542s assert (cimage2, cimage_test2); 542s carea2 = props2.ConvexArea; 542s assert (carea2, carea_test); 542s csolid2 = props2.Solidity; 542s assert (csolid2, csolid_test); 542s ***** test 542s BW = logical ([ ... 542s 1 0 1 0 542s 1 0 1 0 542s 1 0 1 0 542s 1 0 1 0]); # two seperate regions 542s hull_test_1 = [1.5 1; 1 0.5; 0.5 1; 0.5 4; 1 4.5; 1.5 4]; 542s hull_test_2 = [3.5 1; 3 0.5; 2.5 1; 2.5 4; 3 4.5; 3.5 4]; 542s cimage_test_1 = true(4,1); 542s cimage_test_2 = true(4,1); 542s carea_test1 = 4; 542s carea_test2 = 4; 542s csolid_test1 = 1; 542s csolid_test2 = 1; 542s props = regionprops (BW, {'ConvexHull', 'ConvexImage', 'ConvexArea', 'Solidity'}); 542s hull1 = {props.ConvexHull}{1}; 542s assert (sum (ismember (hull_test_1, hull1, "rows")), rows (hull_test_1)) 542s assert (all (hull1(1,:) == hull1(end,:))) 542s hull2 = {props.ConvexHull}{2}; 542s assert (sum (ismember (hull_test_2, hull2, "rows")), rows (hull_test_2)) 542s assert (all (hull2(1,:) == hull2(end,:))) 542s cimage1 = {props.ConvexImage}{1}; 542s assert (cimage1, cimage_test_1); 542s cimage2 = {props.ConvexImage}{2}; 542s assert (cimage2, cimage_test_2); 542s carea1 = {props.ConvexArea}{1}; 542s assert (carea1, carea_test1); 542s carea2 = {props.ConvexArea}{2}; 542s assert (carea2, carea_test2); 542s csolid1 = {props.Solidity}{1}; 542s assert (csolid1, csolid_test1); 542s csolid2 = {props.Solidity}{2}; 542s assert (csolid2, csolid_test2); 542s ***** test 542s L = zeros (5); 542s L(1:2:5, :) = 1; # labelled region with 3 disconnected parts 542s hull_test = [5.5 5; 5.5 1; 5 0.5; 1 0.5; 0.5 1; 0.5 5; 1 5.5; 5 5.5]; 542s cimage_test = true(5); 542s carea_test = 25; 542s csolid_test = 0.6; 542s props = regionprops (L, {'ConvexHull', 'ConvexImage', 'ConvexArea', 'Solidity'}); 542s hull = props.ConvexHull; 542s assert (sum (ismember (hull_test, hull, "rows")), rows (hull_test)) 542s assert (all (hull(1,:) == hull(end,:))) 542s cimage = props.ConvexImage; 542s assert (cimage, cimage_test); 542s carea = props.ConvexArea; 542s assert (carea, carea_test); 542s csolid = props.Solidity; 542s assert (csolid, csolid_test); 542s ***** xtest 542s ## Matlab compatible, currently fails because of bug #50188 542s BW = false(4,16); 542s BW(2,2) = true; 542s BW(3,2:end-1) = true; # L-shaped region (small angle) 542s hull_test = [2 1.5; 1.5 2; 1.5 3; 2 3.5; 15 3.5; 15.5 3; 15 2.5]; 542s cimage_test = true (2,14); 542s cimage_test(1, 8:end) = false; # this is the Matlab result 542s carea_test = 21; 542s csolid_test = 0.7143; 542s props = regionprops (BW, {'ConvexHull', 'ConvexImage', 'ConvexArea', 'Solidity'}); 542s hull = props.ConvexHull; 542s assert (sum (ismember (hull_test, hull, "rows")), rows (hull_test)) 542s assert (all (hull(1,:) == hull(end,:))) 542s cimage = props.ConvexImage; 542s assert (cimage, cimage_test); 542s carea = props.ConvexArea; 542s assert (carea, carea_test); 542s csolid = props.Solidity; 542s assert (csolid, csolid_test, 1e-4); 542s !!!!! known failure 542s ASSERT errors for: assert (cimage,cimage_test) 542s 542s Location | Observed | Expected | Reason 542s (1,8) 1 0 Abs err 1 exceeds tol 0 by 1 542s ***** assert (regionprops ([1 0 1; 1 0 1], "Area"), struct ("Area", 4)) 542s ***** assert (regionprops ([1 0 2; 1 1 2], "Area"), struct ("Area", {3; 2})) 542s ***** assert (regionprops ([1 0 3; 1 1 3], "Area"), struct ("Area", {3; 0; 2})) 542s ***** assert (size (regionprops ([1 0 0; 0 0 2], "Area")), [2, 1]) 542s ***** error regionprops ([1 -2 0 3]) 542s ***** error regionprops ([1 1.5 0 3]) 542s ***** test 542s im = rand (5); 542s 542s ## First do this so we get a list of all supported properties and don't 542s ## have to update the list each time. 542s bw = false (5); 542s bw(13) = true; 542s props = regionprops (bw, im, "all"); 542s all_props = fieldnames (props); 542s 542s bw = false (5); 542s props = regionprops (bw, im, "all"); 542s assert (size (props), [0 1]) 542s assert (sort (all_props), sort (fieldnames (props))) 542s ***** test 542s im = rand (5); 542s 542s ## First do this so we get a list of all supported properties and don't 542s ## have to update the list each time. 542s labeled = zeros (5); 542s labeled(13) = 1; 542s props = regionprops (labeled, im, "all"); 542s all_props = fieldnames (props); 542s 542s labeled = zeros (5); 542s props = regionprops (labeled, im, "all"); 542s assert (size (props), [0 1]) 542s assert (sort (all_props), sort (fieldnames (props))) 542s ***** test 542s im = rand (5); 542s 542s ## First do this so we get a list of all supported properties and don't 542s ## have to update the list each time. 542s bw = false (5); 542s bw(13) = true; 542s props = regionprops (bwconncomp (bw), im, "all"); 542s all_props = fieldnames (props); 542s 542s bw = false (5); 542s props = regionprops (bwconncomp (bw), im, "all"); 542s assert (size (props), [0 1]) 542s assert (sort (all_props), sort (fieldnames (props))) 542s ***** test 542s bw = logical ([ 542s 0 1 1 1 1 542s 0 1 1 0 0 542s 0 0 0 0 0 542s 0 0 0 1 0 542s 0 1 1 1 0]); 542s props = regionprops (bw, "MajorAxisLength", "MinorAxisLength", 542s "Orientation"); 542s assert ([props.MajorAxisLength] ,[4.51354115 3.65148372], 1.e-8) 542s assert ([props.MinorAxisLength], [2.01801654 1.82574186], 1.e-8) 542s assert ([props.Orientation], [12.93317840 18.43494882], 1.e-8) 542s ***** warning 542s regionprops (rand (5, 5, 5) > 0.5, {"perimeter", "extrema"}); 542s ***** warning 542s regionprops (rand (5, 5) > 0.5, {"minintensity", "weightedcentroid"}); 542s ***** error 542s regionprops ([0 -1 3 4; 0 -1 3 4]) 542s ***** error 542s regionprops ([0 1.5 3 4; 0 1.5 3 4]) 542s ***** error 542s regionprops (int8 ([0 -1 3 4; 0 -1 3 4])) 542s ***** test # bug #52926 542s ## Perimeter of objects that would be connected with connectivity 8 542s ## but have been labeled with connectivity 4. 542s BW = logical ([1 1 1 0 0 0 0 0 542s 1 1 1 0 1 1 0 0 542s 1 1 1 0 1 1 0 0 542s 1 1 1 0 0 0 1 0 542s 1 1 1 0 0 0 1 0 542s 1 1 1 0 0 0 1 0 542s 1 1 1 0 0 1 1 0 542s 1 1 1 0 0 0 0 0]); 542s 542s L = bwlabel (BW, 4); 542s props = regionprops(L, "PerimeterOld"); 542s assert ([props.PerimeterOld], [18 4 6+sqrt(2)]) 542s props = regionprops(L, "Perimeter"); 542s assert ([props.Perimeter], [17.276 3.556 7.013]) 542s L = bwlabel (BW, 8); 542s props = regionprops(L, "PerimeterOld"); 542s assert ([props.PerimeterOld], [18 10+3*sqrt(2)]) 542s props = regionprops(L, "Perimeter"); 542s assert ([props.Perimeter], [17.276 13.108]) 542s ***** test 542s I = zeros(5); 542s I(3,3) = 1; 542s props = regionprops(I, "Perimeter"); 542s assert ([props.Perimeter], [0]) 542s I = zeros(5); 542s I(3,3:4) = 1; 542s props = regionprops (I, "Perimeter"); 542s assert ([props.Perimeter], [1.96]) 542s I = zeros(5); 542s I(3:4,3) = 1; 542s props = regionprops (I, "Perimeter"); 542s assert ([props.Perimeter], [1.96]) 542s I = zeros(5); 542s I(3,3) = 1; 542s I(4,4) = 1; 542s props = regionprops (I, "Perimeter"); 542s assert ([props.Perimeter], [2.812]) 542s I = zeros(5); 542s I(3,4) = 1; 542s I(4,3) = 1; 542s props = regionprops (I, "Perimeter"); 542s assert ([props.Perimeter], [2.812]) 542s I = zeros(5); 542s I(3:4,3:4) = 1; 542s props = regionprops (I, "Perimeter"); 542s assert ([props.Perimeter], [3.556]) 542s I = zeros(5); 542s I(3:4,3:4) = 1; 542s I(4,5) = 1; 542s props=regionprops (I, "Perimeter"); 542s assert ([props.Perimeter], [4.962]) 542s I = zeros(5); 542s I(3:4,3:4) = 1; 542s I(5,5) = 1; 542s props = regionprops (I, "Perimeter"); 542s assert ([props.Perimeter], [6.277], 4*eps) 542s I = zeros(5); 542s I(2,3) = 1; 542s I(3,2:4) = 1; 542s I(4,3) = 1; 542s props = regionprops (I, "Perimeter"); 542s assert ([props.Perimeter], [5.624]) 542s I = zeros(5); 542s I(2,3) = 1; 542s I(3,2:4) = 1; 542s I(4,3) = 1; 542s I(5,3) = 1; 542s props = regionprops (I, "Perimeter"); 542s assert ([props.Perimeter], [7.402], 4*eps) 542s I = zeros(5); 542s I(2,3) = 1; 542s I(3,2:4) = 1; 542s I(4,3) = 1; 542s I(5,4) = 1; 542s props = regionprops (I, "Perimeter"); 542s assert ([props.Perimeter], [8.436]) 542s I = zeros(5); 542s I(2,1:4) = 1; 542s I(3,4) = 1; 542s props = regionprops (I, "Perimeter"); 542s assert ([props.Perimeter], [7.013]) 542s ***** test # bug #61827 542s L = uint8 (checkerboard); 542s props = regionprops (L, "Centroid"); 542s assert ([props.Centroid], [40.5, 40.5], 1e-10) 542s 87 tests, 86 passed, 1 known failure, 0 skipped 542s [inst/isrgb.m] 542s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/isrgb.m 542s ***** assert (isrgb ("this is not a RGB image"), false); 542s ***** assert (isrgb (rand (5, 5)), false); 542s ***** assert (isrgb (rand (5, 5, 1, 5)), false); 542s ***** assert (isrgb (rand (5, 5, 3, 5)), true); 542s ***** assert (isrgb (rand (5, 5, 3)), true); 542s ***** assert (isrgb (ones (5, 5, 3)), true); 542s ***** assert (isrgb (ones (5, 5, 3) + eps), false); 542s ***** assert (isrgb (zeros (5, 5, 3) - eps), false); 542s ***** assert (isrgb (rand (5, 5, 3) > 0.5), false); 542s ***** assert (isrgb (randi ([-100 100], 5, 5, 3, "int16")), true) 542s 10 tests, 10 passed, 0 known failure, 0 skipped 542s [inst/@imref3d/imref3d.m] 542s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/@imref3d/imref3d.m 542s ***** error id=Octave:invalid-fun-call imref3d (1, 2, 3, 4, 5) 542s ***** error id=Octave:incorrect-size imref3d (42) 542s ***** error id=Octave:incorrect-size imref3d ([42]) 542s ***** error id=Octave:incorrect-size imref3d ([4, 2]) 542s ***** error id=Octave:incorrect-size imref3d ([4, 2, 3, 3]) 542s ***** error id=Octave:expected-integer imref3d ([4.2, 42]) 542s ***** error id=Octave:expected-positive imref3d ([0, 0]) 542s ***** error id=Octave:expected-positive imref3d ([-4, 2]) 542s ***** error id=Octave:expected-positive imref3d ([4, 2, 3], 0, 1, 2) 542s ***** error id=Octave:expected-positive imref3d ([4, 2, 3], 1, 0, 2) 542s ***** error id=Octave:expected-positive imref3d ([4, 2, 3], 1, 2, 0) 542s ***** error id=Octave:expected-real imref3d ([4, 2, 3], j, 1, 2) 542s ***** error id=Octave:expected-real imref3d ([4, 2, 3], 1, j, 2) 542s ***** error id=Octave:expected-real imref3d ([4, 2, 3], 1, 2, j) 542s ***** error id=Octave:expected-real imref3d ([4, 2, 3], [j, 2], [3, 4], [5, 6]) 542s ***** error id=Octave:expected-real imref3d ([4, 2, 3], [1, 2], [j, 4], [5, 6]) 542s ***** error id=Octave:expected-real imref3d ([4, 2, 3], [1, 2], [3, 4], [5, j]) 542s ***** error id=Octave:expected-vector imref3d ([4, 2, 3], [], [], []) 542s ***** error id=Octave:expected-vector imref3d ([4, 2, 3], [], [1], [2]) 542s ***** error id=Octave:expected-scalar imref3d ([4, 2, 3], [1], [], []) 542s ***** error id=Octave:incorrect-size imref3d ([4, 2, 3], [1, 2], [3, 4], [0]) 542s ***** error id=Octave:incorrect-size imref3d ([4, 2, 3], [1, 2], [3, 4, 5], [6, 7]) 542s ***** error id=Octave:incorrect-size imref3d ([4, 2, 3], [1, 2], [3, 4], [5, 6, 7]) 542s ***** error id=Octave:incorrect-size imref3d ([4, 2, 3], [1; 2], [3, 4], [5, 6]) 542s ***** error id=Octave:incorrect-size imref3d ([4, 2, 3], [1, 2], [3; 4], [5, 6]) 542s ***** error id=Octave:incorrect-size imref3d ([4, 2, 3], [1, 2], [3, 4], [5; 6]) 542s ***** error id=Octave:invalid-indexing imref3d().InvalidProperty 542s ***** error id=Octave:expected-increasing imref3d ([100, 200, 3], [1.5 0.5], [2.5, 3.5], [0.5, 1.5]) 542s ***** error id=Octave:expected-increasing imref3d ([100, 200, 3], [1.5 2.5], [2.5, 1.5], [0.5, 1.5]) 542s ***** error id=Octave:expected-increasing imref3d ([100, 200, 3], [1.5 2.5], [2.5, 3.5], [1.5, 0.5]) 542s ***** assert (imref3d ([4, 2, 3]).ImageSize, [4, 2, 3]) 542s ***** test 542s r = imref3d; 542s assert (r.XWorldLimits, [0.5, 2.5]) 542s assert (r.YWorldLimits, [0.5, 2.5]) 542s assert (r.ZWorldLimits, [0.5, 2.5]) 542s assert (r.ImageSize, [2, 2, 2]) 542s assert (r.PixelExtentInWorldX, 1) 542s assert (r.PixelExtentInWorldY, 1) 542s assert (r.PixelExtentInWorldZ, 1) 542s assert (r.ImageExtentInWorldX, 2) 542s assert (r.ImageExtentInWorldY, 2) 542s assert (r.ImageExtentInWorldZ, 2) 542s assert (r.XIntrinsicLimits, [0.5, 2.5]) 542s assert (r.YIntrinsicLimits, [0.5, 2.5]) 542s assert (r.ZIntrinsicLimits, [0.5, 2.5]) 542s ***** test 542s r = imref3d ([128, 128, 27]); 542s assert (r.XWorldLimits, [0.5, 128.5]) 542s assert (r.YWorldLimits, [0.5, 128.5]) 542s assert (r.ZWorldLimits, [0.5, 27.5]) 542s assert (r.ImageSize, [128, 128, 27]) 542s assert (r.PixelExtentInWorldX, 1) 542s assert (r.PixelExtentInWorldY, 1) 542s assert (r.PixelExtentInWorldZ, 1) 542s assert (r.ImageExtentInWorldX, 128) 542s assert (r.ImageExtentInWorldY, 128) 542s assert (r.ImageExtentInWorldZ, 27) 542s assert (r.XIntrinsicLimits, [0.5, 128.5]) 542s assert (r.YIntrinsicLimits, [0.5, 128.5]) 542s assert (r.ZIntrinsicLimits, [0.5, 27.5]) 542s ***** test 542s r = imref3d ([128, 128, 27], 2, 2, 4); 542s assert (r.XWorldLimits, [1, 257]) 542s assert (r.YWorldLimits, [1, 257]) 542s assert (r.ZWorldLimits, [2, 110]) 542s assert (r.ImageSize, [128, 128, 27]) 542s assert (r.PixelExtentInWorldX, 2) 542s assert (r.PixelExtentInWorldY, 2) 542s assert (r.PixelExtentInWorldZ, 4) 542s assert (r.ImageExtentInWorldX, 256) 542s assert (r.ImageExtentInWorldY, 256) 542s assert (r.ImageExtentInWorldZ, 108) 542s assert (r.XIntrinsicLimits, [0.5, 128.5]) 542s assert (r.YIntrinsicLimits, [0.5, 128.5]) 542s assert (r.ZIntrinsicLimits, [0.5, 27.5]) 542s ***** test 542s r = imref3d; 542s assert (r.XWorldLimits, [0.5, 2.5]) 542s assert (r.YWorldLimits, [0.5, 2.5]) 542s assert (r.ZWorldLimits, [0.5, 2.5]) 542s assert (r.ImageSize, [2, 2, 2]) 542s assert (r.PixelExtentInWorldX, 1) 542s assert (r.PixelExtentInWorldY, 1) 542s assert (r.PixelExtentInWorldZ, 1) 542s assert (r.ImageExtentInWorldX, 2) 542s assert (r.ImageExtentInWorldY, 2) 542s assert (r.ImageExtentInWorldZ, 2) 542s assert (r.XIntrinsicLimits, [0.5, 2.5]) 542s assert (r.YIntrinsicLimits, [0.5, 2.5]) 542s assert (r.ZIntrinsicLimits, [0.5, 2.5]) 542s r.ImageSize = [128, 128, 27]; 542s assert (r.XWorldLimits, [0.5, 2.5]) 542s assert (r.YWorldLimits, [0.5, 2.5]) 542s assert (r.ZWorldLimits, [0.5, 2.5]) 542s assert (r.ImageSize, [128, 128, 27]) 542s assert (r.PixelExtentInWorldX, 0.015625, 1e-6) 542s assert (r.PixelExtentInWorldY, 0.015625, 1e-6) 542s assert (r.PixelExtentInWorldZ, 0.074074, 1e-6) 542s assert (r.ImageExtentInWorldX, 2) 542s assert (r.ImageExtentInWorldY, 2) 542s assert (r.ImageExtentInWorldZ, 2) 542s assert (r.XIntrinsicLimits, [0.5, 128.5]) 542s assert (r.YIntrinsicLimits, [0.5, 128.5]) 542s assert (r.ZIntrinsicLimits, [0.5, 27.5]) 542s ***** test 542s r = imref3d; 542s assert (r.XWorldLimits, [0.5, 2.5]) 542s assert (r.YWorldLimits, [0.5, 2.5]) 542s assert (r.ZWorldLimits, [0.5, 2.5]) 542s assert (r.ImageSize, [2, 2, 2]) 542s assert (r.PixelExtentInWorldX, 1) 542s assert (r.PixelExtentInWorldY, 1) 542s assert (r.PixelExtentInWorldZ, 1) 542s assert (r.ImageExtentInWorldX, 2) 542s assert (r.ImageExtentInWorldY, 2) 542s assert (r.ImageExtentInWorldZ, 2) 542s assert (r.XIntrinsicLimits, [0.5, 2.5]) 542s assert (r.YIntrinsicLimits, [0.5, 2.5]) 542s assert (r.ZIntrinsicLimits, [0.5, 2.5]) 542s r.XWorldLimits = [-60, 13.33]; 542s r.YWorldLimits = [-900.8, -560.26]; 542s r.ZWorldLimits = [-302.48, 1500.333]; 542s assert (r.XWorldLimits, [-60, 13.33]) 542s assert (r.YWorldLimits, [-900.8, -560.26]) 542s assert (r.ZWorldLimits, [-302.48, 1500.333]) 542s assert (r.ImageSize, [2, 2, 2]) 542s assert (r.PixelExtentInWorldX, 36.6650) 542s assert (r.PixelExtentInWorldY, 170.27, 1e-5) 542s assert (r.PixelExtentInWorldZ, 901.4065) 542s assert (r.ImageExtentInWorldX, 73.33, 1e-5) 542s assert (r.ImageExtentInWorldY, 340.54, 1e-5) 542s assert (r.ImageExtentInWorldZ, 1802.813, 1e-5) 542s assert (r.XIntrinsicLimits, [0.5, 2.5]) 542s assert (r.YIntrinsicLimits, [0.5, 2.5]) 542s assert (r.ZIntrinsicLimits, [0.5, 2.5]) 543s ***** test 543s r = imref3d; 543s fail ("r.XWorldLimits = []", "") 543s fail ("r.XWorldLimits = [1]", "") 543s fail ("r.XWorldLimits = [j]", "") 543s fail ("r.XWorldLimits = [1; 2]", "") 543s fail ("r.YWorldLimits = []", "") 543s fail ("r.YWorldLimits = [1]", "") 543s fail ("r.YWorldLimits = [j]", "") 543s fail ("r.YWorldLimits = [1; 2]", "") 543s fail ("r.ZWorldLimits = []", "") 543s fail ("r.ZWorldLimits = [1]", "") 543s fail ("r.ZWorldLimits = [j]", "") 543s fail ("r.ZWorldLimits = [1; 2]", "") 543s 37 tests, 37 passed, 0 known failure, 0 skipped 543s [inst/@imref3d/contains.m] 543s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/@imref3d/contains.m 543s ***** error id=Octave:invalid-fun-call contains (imref3d) 543s ***** error id=Octave:invalid-fun-call contains (imref3d, 1) 543s ***** error id=Octave:invalid-fun-call contains (imref3d, 1, 2) 543s ***** error id=Octave:invalid-fun-call contains (imref3d, 1, 2, 3, 4) 543s ***** error id=Octave:invalid-input-arg contains (imref3d, [1, 2], 3, 4) 543s ***** error id=Octave:invalid-input-arg contains (imref3d, 1, [2, 3], 4) 543s ***** error id=Octave:invalid-input-arg contains (imref3d, 1, 2, [3, 4]) 543s ***** error id=Octave:expected-real contains (imref3d, 1j, 2, 3) 543s ***** error id=Octave:expected-real contains (imref3d, 1, 2j, 3) 543s ***** error id=Octave:expected-real contains (imref3d, 1, 2, 3j) 543s ***** test 543s r = imref3d ([128, 128, 27]); 543s assert (contains (r, [5, 6, 6, 8], [5, 10, 10, 257], [1, 27.5, 28, 1]), logical ([1, 1, 0, 0])) 543s 11 tests, 11 passed, 0 known failure, 0 skipped 543s [inst/@imref3d/intrinsicToWorld.m] 543s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/@imref3d/intrinsicToWorld.m 543s ***** error id=Octave:invalid-fun-call intrinsicToWorld (imref3d) 543s ***** error id=Octave:invalid-fun-call intrinsicToWorld (imref3d, 1) 543s ***** error id=Octave:invalid-fun-call intrinsicToWorld (imref3d, 1, 2) 543s ***** error id=Octave:invalid-fun-call intrinsicToWorld (imref3d, 1, 2, 3, 4) 543s ***** error id=Octave:expected-real intrinsicToWorld (imref3d, 1j, 2, 3) 543s ***** error id=Octave:expected-real intrinsicToWorld (imref3d, 1, 2j, 3) 543s ***** error id=Octave:expected-real intrinsicToWorld (imref3d, 1, j, 3j) 543s ***** error id=Octave:invalid-input-arg intrinsicToWorld (imref3d, [1, 2], 3, 4) 543s ***** error id=Octave:invalid-input-arg intrinsicToWorld (imref3d, 1, [2, 3], 4) 543s ***** error id=Octave:invalid-input-arg intrinsicToWorld (imref3d, 1, 2, [3, 4]) 543s ***** test 543s r = imref3d ([128, 128, 27], 2, 2, 4); 543s xI = [54, 71, 57, 70]; 543s yI = [46, 48, 79, 80]; 543s zI = [13, 13, 13, 13]; 543s [xW, yW, zW] = intrinsicToWorld (r, xI, yI, zI); 543s assert (xW, [108, 142, 114, 140]) 543s assert (yW, [92, 96, 158, 160]) 543s assert (zW, [52, 52, 52, 52]) 544s ***** test 544s [xW, yW, zW] = intrinsicToWorld (imref3d, -5.3, -2.8, -15.88); 544s assert (xW, -5.3) 544s assert (yW, -2.8) 544s assert (zW, -15.88, 1e-6) 544s ***** test 544s [xW, yW, zW] = intrinsicToWorld (imref3d, [1, 2; 3, 4], 544s [2, 3; 5, 9], 544s [-5, 8; 19, 42.8]); 544s assert (xW, [1, 2; 3, 4]) 544s assert (yW, [2, 3; 5, 9]) 544s assert (zW, [-5, 8; 19, 42.8]) 544s 13 tests, 13 passed, 0 known failure, 0 skipped 544s [inst/@imref3d/worldToIntrinsic.m] 544s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/@imref3d/worldToIntrinsic.m 544s ***** error id=Octave:invalid-fun-call worldToIntrinsic (imref3d) 544s ***** error id=Octave:invalid-fun-call worldToIntrinsic (imref3d, 1, 2) 544s ***** error id=Octave:invalid-fun-call worldToIntrinsic (imref3d, 1, 2, 3, 4) 544s ***** error id=Octave:expected-real worldToIntrinsic (imref3d, 1j, 2, 3) 544s ***** error id=Octave:expected-real worldToIntrinsic (imref3d, 1, 2j, 3) 544s ***** error id=Octave:expected-real worldToIntrinsic (imref3d, 1, 2, 3j) 544s ***** error id=Octave:invalid-input-arg worldToIntrinsic (imref3d, [1, 2], 3, 4) 544s ***** error id=Octave:invalid-input-arg worldToIntrinsic (imref3d, 1, [2, 3], 4) 544s ***** error id=Octave:invalid-input-arg worldToIntrinsic (imref3d, 1, 2, [3, 4]) 544s ***** test 544s r = imref3d ([128, 128, 27], 2, 2, 4); 544s xW = [108, 108, 108.2, 2]; 544s yW = [92, 92, 92, -1]; 544s zW = [52, 55, 52, 0.33]; 544s [xI, yI, zI] = worldToIntrinsic (r, xW, yW, zW); 544s assert (xI, [54, 54, 54.1, 1], 1e-6) 544s assert (yI, [46, 46, 46, -0.5], 1e-6) 544s assert (zI, [13, 13.75, 13, 0.0825], 1e-6) 544s 10 tests, 10 passed, 0 known failure, 0 skipped 544s [inst/@imref3d/worldToSubscript.m] 544s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/@imref3d/worldToSubscript.m 544s ***** error id=Octave:invalid-fun-call worldToSubscript (imref3d) 544s ***** error id=Octave:invalid-fun-call worldToSubscript (imref3d, 1) 544s ***** error id=Octave:invalid-fun-call worldToSubscript (imref3d, 1, 2) 544s ***** error id=Octave:invalid-fun-call worldToSubscript (imref3d, 1, 2, 3, 4) 544s ***** error id=Octave:expected-real worldToSubscript (imref3d, 1j, 2, 3) 544s ***** error id=Octave:expected-real worldToSubscript (imref3d, 1, 2j, 3) 544s ***** error id=Octave:expected-real worldToSubscript (imref3d, 1, 2, 3j) 544s ***** error id=Octave:invalid-input-arg worldToSubscript (imref3d, [1, 2], 3, 4) 544s ***** error id=Octave:invalid-input-arg worldToSubscript (imref3d, 1, [2, 3], 4) 544s ***** error id=Octave:invalid-input-arg worldToSubscript (imref3d, 1, 2, [3, 4]) 544s ***** test 544s r = imref3d ([128, 128, 27], 2, 2, 4); 544s xW = [108, 108, 113.2, 2]; 544s yW = [92, 92, 92, -1]; 544s zW = [52, 55, 52, 0.33]; 544s [rS, cS, pS] = worldToSubscript (r, xW, yW, zW); 544s assert (rS, [46, 46, 46, NaN]) 544s assert (cS, [54, 54, 57, NaN]) 544s assert (pS, [13, 14, 13, NaN]) 544s 11 tests, 11 passed, 0 known failure, 0 skipped 544s [inst/lab2uint16.m] 544s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/lab2uint16.m 544s ***** test 544s cm_uint16 = uint16 ([0 127 128 383 384 65151 65152 65279 65280 65281 65534 65535]); 544s cm_uint16 = repmat (cm_uint16(:), [1 3]); 544s im2d_uint16 = reshape (cm_uint16, [4 3 3]); 544s imnd_uint16 = permute (im2d_uint16, [1 4 3 2]); 544s 544s cm_uint8 = uint8 ([0 0 1 1 2 254 255 255 255 255 255 255]); 544s cm_uint8 = repmat (cm_uint8(:), [1 3]); 544s assert (lab2uint8 (cm_uint16), cm_uint8) 544s im2d_uint8 = reshape (cm_uint8, [4 3 3]); 544s assert (lab2uint8 (im2d_uint16), im2d_uint8) 544s assert (lab2uint8 (imnd_uint16), permute (im2d_uint8, [1 4 3 2])) 544s 544s l1 = 100/65280; 544s ab1 = 255/65280; 544s cm = [ 544s 0 -128 544s 127*l1 -128+(ab1*127) 544s 128*l1 -128+(ab1*128) 544s 383*l1 -128+(ab1*383) 544s 384*l1 -128+(ab1*384) 544s 65151*l1 -128+(ab1*65151) 544s 65152*l1 -128+(ab1*65152) 544s 65279*l1 -128+(ab1*65279) 544s 100 127 544s 65281*l1 -128+(ab1*65281) 544s 65534*l1 -128+(ab1*65534) 544s 65535*l1 -128+(ab1*65535)]; 544s cm(:,3) = cm(:,2); 544s im2d = reshape (cm, [4 3 3]); 544s imnd = permute (im2d, [1 4 3 2]); 544s 544s assert (lab2double (cm_uint16), cm) 544s assert (lab2double (im2d_uint16), im2d) 544s assert (lab2double (imnd_uint16), imnd) 544s 544s assert (lab2single (cm_uint16), single (cm)) 544s assert (lab2single (im2d_uint16), single (im2d)) 544s assert (lab2single (imnd_uint16), single (imnd)) 544s 1 test, 1 passed, 0 known failure, 0 skipped 544s [inst/im2int16.m] 544s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/im2int16.m 544s ***** assert (im2int16 (int16 ([-2 2 3])), int16 ([-2 2 3])); 544s ***** assert (im2int16 (uint16 ([0 65535])), int16 ([-32768 32767])); 544s ***** assert (im2int16 ([false true]), int16 ([-32768 32767])); 544s ***** assert (im2int16 ([true false]), int16 ([32767 -32768])); 544s ***** assert (im2int16 (uint8 ([0 127 128 255])), int16 ([-32768 -129 128 32767])); 544s ***** assert (im2int16 ([0 1.4/65535 1.5/65535 2/65535 1]), int16 ([-32768 -32767 -32766 -32766 32767])); 544s ***** assert (im2int16 ([0 0.5 1]), int16 ([-32768 0 32767])); 544s ***** assert (im2int16 ([-1 0 1 2]), int16 ([-32768 -32768 32767 32767])); 544s ***** error im2int16 ([1 2], "indexed"); 544s 9 tests, 9 passed, 0 known failure, 0 skipped 544s [inst/imhist.m] 544s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imhist.m 544s ***** shared nn, bb, enn, ebb 544s [nn, bb] = imhist(logical([0 1 0 0 1])); 544s ***** assert({nn, bb}, {[3 2]', [0 1]'}) 544s [nn, bb] = imhist([0 0.2 0.4 0.9 1], 5); 544s ***** assert({nn, bb}, {[1 1 1 0 2]', [0 0.25 0.5 0.75 1]'}) 544s [nn, bb] = imhist([-2 0 0.2 0.4 0.9 1 5], 5); 544s ***** assert({nn, bb}, {[2 1 1 0 3]', [0 0.25 0.5 0.75 1]'}) 544s [nn, bb] = imhist(uint8([0 32 255]), 256); 544s enn = zeros(256, 1); enn([1, 33, 256]) = 1; 544s ebb = 0:255; 544s ***** assert({nn, bb}, {enn, ebb'}) 544s [nn, bb] = imhist(int8([-50 0 100]), 31); 544s enn = zeros(31, 1); enn([10, 16, 28]) = 1; 544s ebb = -128:8.5:127; 544s ***** assert({nn, bb}, {enn, ebb'}) 544s 5 tests, 5 passed, 0 known failure, 0 skipped 544s [inst/imfilter.m] 544s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imfilter.m 544s ***** test 544s img = [ 544s 8 2 6 7 4 3 7 8 4 1 544s 9 9 1 1 4 7 3 3 8 1 544s 2 9 8 3 7 6 5 8 6 5 544s 9 5 9 1 8 2 7 3 5 8 544s 6 8 7 1 2 2 9 9 9 9 544s 1 2 7 8 5 5 9 4 3 2 544s 3 4 7 7 5 9 5 2 7 6 544s 5 9 4 3 6 4 2 3 7 5 544s 9 8 6 9 7 6 2 6 4 1 544s 9 9 2 1 7 3 3 5 6 4]; 544s 544s expected_corr = [ 544s 46 53 30 34 44 42 40 51 42 19 544s 48 66 57 42 46 50 59 58 49 34 544s 48 67 55 54 44 58 50 50 64 39 544s 44 77 52 43 28 55 57 75 70 50 544s 29 51 65 51 42 50 60 62 55 42 544s 23 44 58 59 63 59 55 57 50 36 544s 36 50 52 56 56 47 48 45 47 39 544s 51 64 70 62 56 50 40 38 41 31 544s 58 72 50 49 58 45 41 42 49 28 544s 27 37 27 21 19 26 16 23 24 17]; 544s assert (imfilter (img, [0 1 0; 2 1 1; 1 2 2]), expected_corr) 544s 544s ## test order of options (and matching with defaults) 544s assert (imfilter (img, [0 1 0; 2 1 1; 1 2 2], 0), expected_corr) 544s assert (imfilter (img, [0 1 0; 2 1 1; 1 2 2], "corr"), expected_corr) 544s assert (imfilter (img, [0 1 0; 2 1 1; 1 2 2], "corr", 0), expected_corr) 544s assert (imfilter (img, [0 1 0; 2 1 1; 1 2 2], 0, "corr"), expected_corr) 544s 544s expected_conv = [ 544s 21 31 23 22 21 28 29 26 22 6 544s 47 55 43 43 51 44 49 64 44 24 544s 56 69 53 34 47 50 57 48 52 37 544s 38 70 60 56 41 57 54 61 66 44 544s 46 67 53 48 32 54 59 65 63 46 544s 28 56 63 50 36 54 58 66 63 47 544s 20 43 55 62 67 57 52 53 44 28 544s 42 51 54 61 57 53 44 46 48 39 544s 53 70 63 50 57 42 38 38 43 33 544s 53 62 50 54 52 44 38 40 40 20]; 544s assert (imfilter (img, [0 1 0; 2 1 1; 1 2 2], "conv"), expected_conv) 544s 544s ## alternative class 544s assert (imfilter (single (img), [0 1 0; 2 1 1; 1 2 2]), 544s single (expected_corr)) 544s assert (imfilter (int8 (img), [0 1 0; 2 1 1; 1 2 2]), 544s int8 (expected_corr)) 544s assert (imfilter (uint8 (img), [0 1 0; 2 1 1; 1 2 2]), 544s uint8 (expected_corr)) 544s 544s assert (imfilter (single (img), [0 1 0; 2 1 1; 1 2 2], "conv"), 544s single (expected_conv)) 544s assert (imfilter (int8 (img), [0 1 0; 2 1 1; 1 2 2], "conv"), 544s int8 (expected_conv)) 544s assert (imfilter (uint8 (img), [0 1 0; 2 1 1; 1 2 2], "conv"), 544s uint8 (expected_conv)) 544s 544s ***** test 544s I = zeros (6); 544s I(2:3,2:3) = 1; 544s F = zeros (4); 544s F(2,2:3) = 1; 544s result = [0 0 0 0 0 0 544s 1 2 1 0 0 0 544s 1 2 1 0 0 0 544s 0 0 0 0 0 0 544s 0 0 0 0 0 0 544s 0 0 0 0 0 0]; 544s assert (imfilter (I, F), result) 544s 2 tests, 2 passed, 0 known failure, 0 skipped 544s [inst/applylut.m] 544s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/applylut.m 544s ***** demo 544s lut = makelut (@(x) sum (x (:)) >= 3, 3); 544s S = applylut (eye (5), lut); 544s disp (S) 544s ## Everything should be 0 despite a diagonal which doesn't reach borders. 544s ***** assert (prod (applylut (eye (3), makelut (@(x) x(1) == 1, 2)) == eye (3)), [1 1 1]); 544s ***** assert (prod (applylut (eye (3), makelut (@(x) x(2,2) == 1, 3)) == eye (3)), [1 1 1]); 544s ***** assert (prod (applylut (eye (3), makelut (@(x) x(3,3) == 1, 3)) == 544s applylut (eye (3), makelut (@(x) x(2,2) == 1, 2))), 544s [1 1 1]); 544s 3 tests, 3 passed, 0 known failure, 0 skipped 544s [inst/xyz2rgb.m] 545s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/xyz2rgb.m 545s ***** assert (xyz2rgb ([0, 0, 0]), [0 0 0], 1e-3) 545s ***** assert (xyz2rgb ([0.4125, 0.2127, 0.0193]), [1 0 0], 1e-3) 545s ***** assert (xyz2rgb ([0.7700, 0.9278, 0.1385]), [1 1 0], 1e-3) 545s ***** assert (xyz2rgb ([0.3576, 0.7152, 0.1192]), [0 1 0], 1e-3) 545s ***** assert (xyz2rgb ([0.5380, 0.7873, 1.0694]), [0 1 1], 1e-3) 545s ***** assert (xyz2rgb ([0.1804, 0.07217, 0.9502]), [0 0 1], 1e-3) 545s ***** assert (xyz2rgb ([0.5929, 0.28484, 0.9696]), [1 0 1], 1e-3) 545s ***** assert (xyz2rgb ([0.9505, 1.0000, 1.0888]), [1 1 1], 1e-3) 545s ***** assert (xyz2rgb ([0.2034, 0.2140, 0.2330]), [0.5 0.5 0.5], 1e-3) 545s ***** assert (xyz2rgb ([0.2155, 0.1111, 0.0101]), [0.75 0 0], 1e-3) 545s ***** assert (xyz2rgb ([0.0883, 0.0455, 0.0041]), [0.5 0 0], 1e-3) 545s ***** assert (xyz2rgb ([0.0210, 0.0108, 0.0010]), [0.25 0 0], 1e-3) 545s ***** assert (xyz2rgb ([0.5276, 0.3812, 0.2482]), [1 0.5 0.5], 1e-3) 545s ***** assert (xyz2rgb ([1.5 1 1]), [1.5712, 0.7109 0.9717], 1e-3) 545s ***** test 545s xyz_map = rand (64, 3); 545s assert (rgb2xyz (xyz2rgb (xyz_map)), xyz_map, 3e-4); 545s ***** test 545s xyz_img = rand (64, 64, 3); 545s assert (rgb2xyz (xyz2rgb (xyz_img)), xyz_img, 3e-4); 545s ***** assert (xyz2rgb (sparse ([0 0 0])), [0 0 0], 1e-3) 545s ***** assert (class (xyz2rgb (single([0.5 0.5 0.5]))), 'single') 545s ***** error xyz2rgb () 545s ***** error xyz2rgb (1,2) 545s ***** error xyz2rgb ({1}) 545s ***** error xyz2rgb (ones (2,2)) 545s ***** test 545s xyz = rand (16, 16, 3, 5); 545s rgb = zeros (size (xyz)); 545s for i = 1:5 545s rgb(:,:,:,i) = xyz2rgb (xyz(:,:,:,i)); 545s endfor 545s assert (xyz2rgb (xyz), rgb) 545s 23 tests, 23 passed, 0 known failure, 0 skipped 545s [inst/imapplymatrix.m] 545s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imapplymatrix.m 545s ***** error id=Octave:invalid-fun-call imapplymatrix () 545s ***** error id=Octave:invalid-fun-call imapplymatrix (42) 545s ***** error id=Octave:invalid-input-arg imapplymatrix (ones (2, 2, 2), 42) 545s ***** error id=Octave:invalid-input-arg imapplymatrix ([], ones (2, 2)) 545s ***** error id=Octave:invalid-input-arg imapplymatrix (ones (0, 2), ones (2, 2)) 545s ***** error id=Octave:invalid-input-arg imapplymatrix (ones (2, 0), ones (2, 2)) 545s ***** error id=Octave:invalid-input-arg imapplymatrix (4, 2, [2, 2]) 545s ***** error id=Octave:invalid-input-arg imapplymatrix (4, 2, [2, 2], "uint8") 545s ***** error id=Octave:invalid-input-arg imapplymatrix (4, 2, 0, 666) 545s ***** assert (imapplymatrix ([], []), []) 545s ***** assert (imapplymatrix ([], [], "uint16"), uint16 ([])) 545s ***** assert (imapplymatrix (1, 10, []), 10) 545s ***** assert (imapplymatrix (1, 10, ones (0, 5)), 10) 545s ***** assert (imapplymatrix (1, 10, ones (5, 0)), 10) 545s ***** assert (imapplymatrix (ones (0), ones (0), 3), []) 545s ***** assert (imapplymatrix (ones (0), ones (4, 0), 3), zeros (4, 0)) 545s ***** assert (imapplymatrix (ones (0), ones (0, 4), 3), zeros (0, 4)) 545s ***** assert (imapplymatrix (ones (2, 0), ones (0, 4), 3), zeros (0, 4)) 545s ***** assert (imapplymatrix (ones (0, 2), ones (0, 4), 3), zeros (0, 4)) 545s ***** assert (imapplymatrix (ones (0, 2), ones (0, 4, 0), 3), zeros (0, 4, 0)) 545s ***** assert (imapplymatrix("a", ones(2, 2)), nan (2, 2)) 545s ***** assert (imapplymatrix("abc", ones(2, 2)), nan (2, 2)) 545s ***** assert (imapplymatrix (1, 10), 10) 545s ***** assert (imapplymatrix (1, 10, 3), 13) 545s ***** assert (imapplymatrix (ones (1), uint8 (10), 3), uint8 (13)) 545s ***** assert (imapplymatrix (uint8 (ones (1)), 10, 3), double (13)) 545s ***** assert (imapplymatrix (uint8 (ones (1)), uint8 (10), 3), uint8 (13)) 545s ***** assert (imapplymatrix (2.6 * ones (1), uint8 (10), 4.7), uint8 (31)) 545s ***** assert (imapplymatrix (42, ones (1, 2)), 42 * ones (1, 2)) 545s ***** assert (imapplymatrix (42, ones (2, 1)), 42 * ones (2, 1)) 545s ***** assert (imapplymatrix (42, ones (2, 2)), 42 * ones (2, 2)) 545s ***** assert (imapplymatrix (42, ones (2, 2), 0.5), 42.5 * ones (2, 2)) 545s ***** assert (imapplymatrix ([4, 2], ones (2, 2, 2), 0.5), 6.5 * ones (2, 2)) 545s ***** assert (imapplymatrix ([4, 2; 545s 4, 2], ones (2, 2, 2), [0.5, 0.5]), 6.5 * ones (2, 2, 2)) 545s ***** assert (imapplymatrix ([4, 2; 545s 4, 2], ones (2, 2, 2), [0.5; 0.5]), 6.5 * ones (2, 2, 2)) 545s ***** assert (imapplymatrix ([1, 2, 3], ones (2, 2, 3)), 6 * ones (2, 2, 1)) 545s ***** assert (imapplymatrix ([1, 2, 3], ones (2, 2, 3), 1), 7 * ones (2, 2, 1)) 545s ***** test 545s expected = zeros (2, 2, 2, "uint8"); 545s expected(:, :, 1) = 7 * ones (2, 2); 545s expected(:, :, 2) = 16 * ones (2, 2); 545s I = uint8 (ones (2, 2, 3)); 545s assert (imapplymatrix ([1, 2, 3 545s 4, 5, 6], I, [1, 1]), expected) 545s ***** test 545s expected = zeros (2, 2, 2, 2, "uint16"); 545s expected(:, :, 1, 1) = 7 * ones (2, 2); 545s expected(:, :, 2, 1) = 16 * ones (2, 2); 545s expected(:, :, 1, 2) = 13 * ones (2, 2); 545s expected(:, :, 2, 2) = 31 * ones (2, 2); 545s I(:, :, :, 1) = uint16 (ones (2, 2, 3)); 545s I(:, :, :, 2) = 2 * uint16 (ones (2, 2, 3)); 545s assert (imapplymatrix ([1, 2, 3; 545s 4, 5, 6], I, [1, 1]), expected) 545s 39 tests, 39 passed, 0 known failure, 0 skipped 545s [inst/mean2.m] 545s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/mean2.m 545s ***** test 545s ## This throws a division by zero warning which Matlab does not, but 545s ## that's because Matlab does not throw such warnings in the first 545s ## place. Octave does, so we do not turn the warning off. 545s warning ("off", "Octave:divide-by-zero", "local"); 545s assert (mean2 ([]), NaN) 545s ***** assert (mean2 (logical ([1 1; 0 0])), 0.5) 545s ***** assert (mean2 (ones (3, 3, 3)), 1) 545s ***** assert (mean2 (i), i) 545s ***** assert (mean2 ([1 i]), [0.5+0.5i]) 545s ***** assert (mean2 (speye (3)), sparse (1/3)) 545s 6 tests, 6 passed, 0 known failure, 0 skipped 545s [inst/im2bw.m] 545s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/im2bw.m 545s ***** assert(im2bw ([0 0.4 0.5 0.6 1], 0.5), logical([0 0 0 1 1])); # basic usage 545s ***** assert(im2bw (uint8 ([0 100 255]), 0.5), logical([0 0 1])); # with a uint8 input 545s ***** warning bw = im2bw (logical ([0 1 0])); 545s ***** warning bw = im2bw (logical ([0 1 0]), 1); 545s ***** test 545s warning ("off", "all", "local"); 545s assert (im2bw (logical ([0 1 0])), logical ([0 1 0])) 545s assert (im2bw (logical ([0 1 0]), 0), logical ([0 1 0])) 545s assert (im2bw (logical ([0 1 0]), 1), logical ([0 1 0])) 545s ***** assert (nnz (im2bw (uint8 ([0:255]), 0.9)), 26) 545s ***** test 545s img = uint8 ([0:255]); 545s s = 0; 545s for i=0:.1:1 545s s += nnz (im2bw (img, i)); 545s endfor 545s assert (s, 1405) 545s ***** assert (nnz (im2bw (int16 ([-128:127]), 0.499)), 194) 545s ***** assert (nnz (im2bw (int16 ([-128:127]), 0.500)), 128) 545s ***** assert (nnz (im2bw (int16 ([-128:127]), 0.501)), 62) 545s ***** test 545s img = uint16 ([0:intmax("uint16")]); 545s s = 0; 545s for i=0:.1:1 545s s += nnz (im2bw (img, i)); 545s endfor 545s assert (s, 360445) 545s ***** test 545s img = int16 ([intmin("int16"):intmax("int16")]); 545s s = 0; 545s for i=0:.1:1 545s s += nnz (im2bw (img, i)); 545s endfor 545s assert (s, 360445) 545s ***** test 545s im = [((randn(10)/10)+.3) ((randn(10)/10)+.7)]; 545s assert (im2bw (im, "Otsu"), im2bw (im, graythresh (im, "Otsu"))) 545s assert (im2bw (im, "moments"), im2bw (im, graythresh (im, "moments"))) 545s ***** test 545s im = [((randn(10)/10)+.3) ((randn(10)/10)+.7)]; 545s im = reshape (im, [10 10 1 2]); 545s assert (im2bw (im, "Otsu"), im2bw (im, graythresh (im, "Otsu"))) 545s assert (im2bw (im, "moments"), im2bw (im, graythresh (im, "moments"))) 545s 14 tests, 14 passed, 0 known failure, 0 skipped 545s [inst/@strel/strel.m] 545s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/@strel/strel.m 545s ***** test 545s shape = logical ([0 0 0 1]); 545s assert (getnhood (strel (shape)), shape); 545s assert (getnhood (strel ("arbitrary", shape)), shape); 545s 545s height = [0 0 0 3]; 545s assert (getnhood (strel ("arbitrary", shape, height)), shape); 545s assert (getheight (strel ("arbitrary", shape, height)), height); 545s ***** test 545s shape = logical ([0 0 1]); 545s height = [-2 1 3]; ## this works for matlab compatibility 545s assert (getnhood (strel ("arbitrary", shape, height)), shape); 545s assert (getheight (strel ("arbitrary", shape, height)), height); 545s ***** test 545s shape = logical ([0 0 0 1 0 0 0 545s 0 1 1 1 1 1 0 545s 0 1 1 1 1 1 0 545s 1 1 1 1 1 1 1 545s 0 1 1 1 1 1 0 545s 0 1 1 1 1 1 0 545s 0 0 0 1 0 0 0]); 545s height = [ 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 545s 0.00000 0.33333 0.66667 0.74536 0.66667 0.33333 0.00000 545s 0.00000 0.66667 0.88192 0.94281 0.88192 0.66667 0.00000 545s 0.00000 0.74536 0.94281 1.00000 0.94281 0.74536 0.00000 545s 0.00000 0.66667 0.88192 0.94281 0.88192 0.66667 0.00000 545s 0.00000 0.33333 0.66667 0.74536 0.66667 0.33333 0.00000 545s 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000]; 545s assert (getnhood (strel ("ball", 3, 1)), shape); 545s assert (getheight (strel ("ball", 3, 1)), height, 0.0001); 545s ***** test 545s shape = logical ([0 0 0 1 0 0 0 545s 0 0 1 1 1 0 0 545s 0 1 1 1 1 1 0 545s 1 1 1 1 1 1 1 545s 0 1 1 1 1 1 0 545s 0 0 1 1 1 0 0 545s 0 0 0 1 0 0 0]); 545s assert (getnhood (strel ("diamond", 3)), shape); 545s ***** test 545s shape = logical ([0 0 0 1 0 0 0 545s 0 1 1 1 1 1 0 545s 0 1 1 1 1 1 0 545s 1 1 1 1 1 1 1 545s 0 1 1 1 1 1 0 545s 0 1 1 1 1 1 0 545s 0 0 0 1 0 0 0]); 545s assert (getnhood (strel ("disk", 3, 0)), shape); 545s ***** test 545s shape = logical ([1 1 1]); 545s assert (getnhood (strel ("line", 3.9, 20.17)), shape); 545s shape = logical ([0 0 1 545s 0 1 0 545s 1 0 0]); 545s assert (getnhood (strel ("line", 3.9, 20.18)), shape); 545s shape = logical ([1 0 0 0 0 0 0 0 0 545s 0 1 0 0 0 0 0 0 0 545s 0 0 1 0 0 0 0 0 0 545s 0 0 1 0 0 0 0 0 0 545s 0 0 0 1 0 0 0 0 0 545s 0 0 0 0 1 0 0 0 0 545s 0 0 0 0 0 1 0 0 0 545s 0 0 0 0 0 0 1 0 0 545s 0 0 0 0 0 0 1 0 0 545s 0 0 0 0 0 0 0 1 0 545s 0 0 0 0 0 0 0 0 1]); 545s assert (getnhood (strel ("line", 14, 130)), shape); 545s ***** test 545s se = strel ("octagon", 0); 545s seq = getsequence (se); 545s assert (getnhood (se), true (1)); 545s assert (getnhood (seq(1)), true (1)); 545s 545s se = strel ("octagon", 3); 545s seq = getsequence (se); 545s shape = logical ([0 0 1 1 1 0 0 545s 0 1 1 1 1 1 0 545s 1 1 1 1 1 1 1 545s 1 1 1 1 1 1 1 545s 1 1 1 1 1 1 1 545s 0 1 1 1 1 1 0 545s 0 0 1 1 1 0 0]); 545s assert (getnhood (se), shape); 545s assert (size (seq), [4 1]); 545s 545s templ1 = logical ([0 0 0; 1 1 1; 0 0 0]); 545s templ2 = logical ([0 1 0; 0 1 0; 0 1 0]); 545s templ3 = logical ([1 0 0; 0 1 0; 0 0 1]); 545s templ4 = logical ([0 0 1; 0 1 0; 1 0 0]); 545s assert ({getnhood(seq(1)) getnhood(seq(2)) getnhood(seq(3)) getnhood(seq(4))}, 545s {templ1 templ2 templ3 templ4}); 545s 545s seq = getsequence (strel ("octagon", 21)); 545s assert (size (seq), [28 1]); 545s assert (arrayfun (@(x) getnhood (seq(x)), 1:4:25, "UniformOutput", false), 545s repmat ({templ1}, 1, 7)); 545s assert (arrayfun (@(x) getnhood (seq(x)), 2:4:26, "UniformOutput", false), 545s repmat ({templ2}, 1, 7)); 545s assert (arrayfun (@(x) getnhood (seq(x)), 3:4:27, "UniformOutput", false), 545s repmat ({templ3}, 1, 7)); 545s assert (arrayfun (@(x) getnhood (seq(x)), 4:4:28, "UniformOutput", false), 545s repmat ({templ4}, 1, 7)); 545s ***** test 545s shape = logical ([1 1 0]'); 545s assert (getnhood (strel ("pair", [-1 0])), shape); 545s shape = logical ([1 0 0 0 0 0 0 545s 0 0 0 1 0 0 0 545s 0 0 0 0 0 0 0]); 545s assert (getnhood (strel ("pair", [-1 -3])), shape); 545s shape = logical ([0 0 0 0 0 0 0 545s 0 0 0 0 0 0 0 545s 0 0 0 1 0 0 0 545s 0 0 0 0 0 0 0 545s 0 0 0 0 0 0 1]); 545s assert (getnhood (strel ("pair", [2 3])), shape); 545s ***** test 545s assert (getnhood (strel ("rectangle", [10 5])), true (10, 5)); 545s assert (getnhood (strel ("square", 5)), true (5)); 545s ***** shared se, seq 545s se = strel ("square", 5); 545s seq = getsequence (se); 545s assert (class (se(1)), "strel") 545s assert (class (se(1,1)),"strel") 545s assert (class (seq), "strel") 545s assert (class (seq(1)), "strel") 545s assert (class (seq(2)), "strel") 545s assert (numel (se), 1) 545s assert (numel (seq), 2) 545s assert (getnhood (seq(1)), true (5, 1)) 545s assert (getnhood (seq(2)), true (1, 5)) 545s assert (size (se), [1 1]) 545s assert (size (seq), [2 1]) 545s assert (isscalar (se), true) 545s assert (isscalar (seq), false) 545s ***** error se(2); 545s ***** error seq(3); 545s ***** test 545s se = strel ("arbitrary", [1 0 0; 1 1 0; 0 1 0], [2 0 0; 3 1 0; 0 3 0]); 545s ref = reflect (se); 545s assert (getnhood (ref), logical([0 1 0; 0 1 1; 0 0 1])); 545s assert (getheight (ref), [0 3 0; 0 1 3; 0 0 2]); 545s ***** error strel() 546s ***** error strel("nonmethodthing", 2) 546s ***** error strel("arbitrary", "stuff") 546s ***** error strel("arbitrary", [0 0 1], [2 0 1; 4 5 1]) 546s ***** error strel("arbitrary", [0 0 1], "stuff") 546s ***** error strel("ball", -3, 1) 546s ***** error strel("diamond", -3) 546s ***** error strel("disk", -3) 546s ***** error strel("line", 0, 45) 546s ***** error strel("octagon", 3.5) 546s ***** error strel("octagon", 4) 546s ***** error strel("octagon", -1) 546s ***** error strel("pair", [45 67 90]) 546s ***** error strel("rectangle", 2) 546s ***** error strel("rectangle", [2 -5]) 546s ***** error strel("square", [34 1-2]) 546s 28 tests, 28 passed, 0 known failure, 0 skipped 546s [inst/imgradient.m] 546s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imgradient.m 546s ***** test 546s A = [0 1 0 546s 1 1 1 546s 0 1 0]; 546s 546s [gMag, gDir] = imgradient (A); 546s assert (gMag,[sqrt(18) 4 sqrt(18); 4 0 4; sqrt(18),4,sqrt(18)]); 546s assert (gDir,[-45 -90 -135; -0 -0 -180; 45 90 135]); 546s 546s ## the following just test if passing gx and gy separately gets 546s ## us the same as the image and method though imgradient 546s [gxSobel, gySobel] = imgradientxy (A, "Sobel"); 546s [gxPrewitt, gyPrewitt] = imgradientxy (A, "Prewitt"); 546s [gxCd, gyCd] = imgradientxy (A, "CentralDifference"); 546s [gxId, gyId] = imgradientxy (A, "IntermediateDifference"); 546s 546s assert (imgradient (A), 546s imgradient (gxSobel, gySobel)); 546s assert (imgradient (A, "Sobel"), 546s imgradient (gxSobel, gySobel)); 546s assert (imgradient (A, "Prewitt"), 546s imgradient(gxPrewitt, gyPrewitt)); 546s assert (imgradient (A, "CentralDifference"), 546s imgradient (gxCd, gyCd)); 546s assert (imgradient (A, "IntermediateDifference"), 546s imgradient (gxId, gyId)); 546s 1 test, 1 passed, 0 known failure, 0 skipped 546s [inst/wiener2.m] 546s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/wiener2.m 546s ***** shared im0, im0_out, im0_n 546s im0 = ones (5, 5); 546s im0_out = ones (5, 5); 546s im0_out(1:4:5, 1:4:5) = 0.67111; 546s im0_out(1:4:5, 2:4) = 0.78074; 546s im0_out(2:4, 1:4:5) = 0.78074; 546s im0_n = 0.1462; 546s ***** error wiener2 () 546s ***** assert (wiener2 (im0)) 546s ***** assert (wiener2 (im0, [2, 3])) 546s ***** assert (wiener2 (im0, 0.5)) 546s ***** assert (wiener2 (im0, [2, 3], 0.5)) 546s ***** error wiener2 (im0, [2, 3], 0.5, 2) 546s ***** test 546s [im_out, noise_out] = wiener2 (im0); 546s assert (size (im_out), size (im0)) 546s assert (class (noise_out), "double") 546s assert (numel (noise_out), 1) 546s ***** assert (wiener2 (im0), im0_out, 1e-5) 546s ***** assert (wiener2 (single (im0)), single (im0_out), 1e-5) 546s ***** assert (class (wiener2 (single (im0))), "single") 546s ***** assert (wiener2 (im2uint8 (im0)), im2uint8 (im0_out)) 546s ***** assert (class (wiener2 (im2uint8 (im0))), "uint8") 546s ***** assert (wiener2 (im2uint16 (im0)), im2uint16 (im0_out), 1) 546s ***** assert (class (wiener2 (im2uint16 (im0))), "uint16") 546s ***** assert (wiener2 (im2int16 (im0)), im2int16 (im0_out), 1) 546s ***** assert (class (wiener2 (im2int16 (im0))), "int16") 546s ***** test 546s im_out = wiener2 (im0); 546s assert (im_out, im0_out, 1e-4) 546s [out, n] = wiener2 (im0); 546s assert (out, im0_out, 1e-4) 546s assert (n, im0_n, 1e-4) 546s ***** test 546s im1 = zeros (5, 5); 546s im1(2:4, 2:4) = 1; 546s im1_out = [ 546s 0.1111 0.2222 0.2726 0.2222 0.1111; 546s 0.2222 0.5911 0.7274 0.5911 0.2222; 546s 0.2726 0.7274 1.0000 0.7274 0.2726; 546s 0.2222 0.5911 0.7274 0.5911 0.2222; 546s 0.1111 0.2222 0.2726 0.2222 0.1111]; 546s im1_n = 0.1817; 546s im1_out_55 = [ 546s 0.1600 0.2400 0.2400 0.2400 0.1600; 546s 0.2400 0.4667 0.4667 0.4667 0.2400; 546s 0.2400 0.4667 0.4667 0.4667 0.2400; 546s 0.2400 0.4667 0.4667 0.4667 0.2400; 546s 0.1600 0.2400 0.2400 0.2400 0.1600]; 546s im1_n_55 = 0.1920; 546s im1_out_05 = [ 546s 0.1111 0.2222 0.3333 0.2222 0.1111; 546s 0.2222 0.4444 0.6667 0.4444 0.2222; 546s 0.3333 0.6667 1.0000 0.6667 0.3333; 546s 0.2222 0.4444 0.6667 0.4444 0.2222; 546s 0.1111 0.2222 0.3333 0.2222 0.1111]; 546s im1_out_55_05 = [ 546s 0.1600 0.2400 0.2400 0.2400 0.1600; 546s 0.2400 0.3600 0.3600 0.3600 0.2400; 546s 0.2400 0.3600 0.3600 0.3600 0.2400; 546s 0.2400 0.3600 0.3600 0.3600 0.2400; 546s 0.1600 0.2400 0.2400 0.2400 0.1600]; 546s im1_out_35 = [ 546s 0.1333 0.2000 0.2000 0.2000 0.1333; 546s 0.2642 0.5156 0.5156 0.5156 0.2642; 546s 0.3230 0.6770 0.6770 0.6770 0.3230; 546s 0.2642 0.5156 0.5156 0.5156 0.2642; 546s 0.1333 0.2000 0.2000 0.2000 0.1333]; 546s im1_out_51 = [ 546s 0 0.2400 0.2400 0.2400 0 546s 0 0.7600 0.7600 0.7600 0 546s 0 0.7600 0.7600 0.7600 0 546s 0 0.7600 0.7600 0.7600 0 546s 0 0.2400 0.2400 0.2400 0]; 546s assert (wiener2 (im1), im1_out, 1e-4) 546s [out, n] = wiener2 (im1); 546s assert (out, im1_out, 1e-4) 546s assert (n, im1_n, 1e-4) 546s assert (wiener2 (im1, [5, 5]), im1_out_55, 1e-4) 546s [out, n] = wiener2 (im1, [5, 5]); 546s assert (out, im1_out_55, 1e-4) 546s assert (n, im1_n_55, 1e-4) 546s assert (wiener2 (im1, 0.5), im1_out_05, 1e-4) 546s assert (wiener2 (im1, [5, 5], 0.5), im1_out_55_05, 1e-4) 546s assert (wiener2 (im1, [3, 5]), im1_out_35, 1e-4) 546s assert (wiener2 (im1, [5, 1]), im1_out_51, 1e-4) 546s ***** test 546s ## Tests for even-sized neighbourhood 546s im1 = zeros (5, 5); 546s im1(2:4, 2:4) = 1; 546s 546s im1_out_23 = [ 546s 0.1667 0.2233 0.2978 0.2233 0.1667 546s 0.2233 0.7767 1.0000 0.7767 0.2233 546s 0.2233 0.7767 1.0000 0.7767 0.2233 546s 0.1667 0.5533 0.7022 0.5533 0.1667 546s 0 0 0 0 0]; 546s 546s im1_out_43 = [ 546s 0.1667 0.2813 0.3750 0.2813 0.1667 546s 0.2500 0.6250 0.7500 0.6250 0.2500 546s 0.2500 0.6250 0.7500 0.6250 0.2500 546s 0.1667 0.4375 0.6250 0.4375 0.1667 546s 0.0833 0.1667 0.2500 0.1667 0.0833]; 546s 546s im1_out_44 = [ 546s 0.2500 0.3018 0.3018 0.2500 0.1250 546s 0.3018 0.6647 0.6647 0.4971 0.1875 546s 0.3018 0.6647 0.6647 0.4971 0.1875 546s 0.2500 0.4971 0.4971 0.2500 0.1250 546s 0.1250 0.1875 0.1875 0.1250 0.0625]; 546s 546s assert (wiener2 (im1, [2, 3]), im1_out_23, 1e-4) 546s assert (wiener2 (im1, [4, 3]), im1_out_43, 1e-4) 546s assert (wiener2 (im1, [4, 4]), im1_out_44, 1e-4) 546s ***** test 546s im2 = zeros (5, 5); 546s im2(2:4, 2:4) = 70; 546s im2(3, 3) = 90; 546s im2 = uint8 (im2); 546s im2_out = uint8 ([ 546s 8 16 20 16 8 ; 546s 16 46 54 46 16; 546s 20 54 72 54 20; 546s 16 46 54 46 16; 546s 8 16 20 16 8 ]); 546s im2_n = 0.0146; 546s im2_out_55 = uint8 ([ 546s 12 18 18 18 12; 546s 18 32 32 32 18; 546s 18 32 35 32 18; 546s 18 32 32 32 18; 546s 12 18 18 18 12]); 546s im2_n_55 = 0.0160; 546s im2_out_03 = uint8 ([ 546s 8 16 23 16 8 ; 546s 16 33 49 33 16; 546s 23 49 72 49 23; 546s 16 33 49 33 16; 546s 8 16 23 16 8 ]); 546s im2_n_03 = 0.3000; 546s [out, n] = wiener2 (im2); 546s assert (out, im2_out) 546s assert (n, im2_n, 1e-4) 546s [out, n] = wiener2 (im2, [5, 5]); 546s assert (out, im2_out_55) 546s assert (n, im2_n_55, 1e-4) 546s [out, n] = wiener2 (im2, 0.3); 546s assert (out, im2_out_03) 546s assert (n, im2_n_03, 1e-4) 546s ***** test 546s im3 = zeros (5, 5); 546s im3(2:4, 2:4) = 70; 546s im3(3, 3) = 20; 546s im3 = uint8 (im3); 546s im3_out = uint8 ([ 546s 8 16 19 16 8 ; 546s 16 32 47 32 16; 546s 19 47 64 47 19; 546s 16 32 47 32 16; 546s 8 16 19 16 8 ]); 546s im3_n = 0.0134; 546s [out, n] = wiener2 (im3); 546s assert (out, im3_out) 546s assert (n, im3_n, 1e-4) 546s ***** test 546s im4 = 50 .* ones (5, 5); 546s im4(:, 1) = 200; 546s im4(:, 2) = 100; 546s im4 = uint8 (im4); 546s im4_out = uint8 ([ 546s 148 90 44 33 22; 546s 161 111 67 50 33; 546s 161 111 67 50 33; 546s 161 111 67 50 33; 546s 148 90 44 33 22]); 546s im4_n = 0.0398; 546s [out, n] = wiener2 (im4); 546s assert (out, im4_out) 546s assert (n, im4_n, 1e-4) 546s ***** test 546s im5 = zeros (100, 100); 546s im5(30, 30) = 1; 546s im5_out_center = [ 546s 0 0 0 0 0 0 0; 546s 0 0 0 0 0 0 0; 546s 0 0 0.0001 0.0001 0.0001 0 0; 546s 0 0 0.0001 0.9992 0.0001 0 0; 546s 0 0 0.0001 0.0001 0.0001 0 0; 546s 0 0 0 0 0 0 0; 546s 0 0 0 0 0 0 0]; 546s im5_n = 8.8889e-5; 546s [out, n] = wiener2 (im5); 546s out_center = out(27:33, 27:33); 546s assert (out_center, im5_out_center, 1e-4) 546s assert (n, im5_n, 1e-4) 546s ***** test 546s im = zeros (100, 10, 10); 546s im(5, 5, 5) = 1; 546s 546s [out, n] = wiener2 (im, [3 3]); 546s expected_out = im; 546s expected_out(4:6,4:6,5) = [ 546s 0.0001 0.0001 0.0001 546s 0.0001 0.9992 0.0001 546s 0.0001 0.0001 0.0001]; 546s assert (out, expected_out, eps) 546s 546s [out, n] = wiener2 (im, [3 3 3]); 546s expected_out = im; 546s expected_out(4:6,4:6,4:6) = 0.0001; 546s expected_out(5,5,5) = 0.9974; 546s assert (out, expected_out, eps) 546s 546s ## Default in ND, use nhood 3 even for singleton dimensions. 546s assert (wiener2 (im), wiener2 (im, [3 3 3])) 546s 546s im = reshape (im, [100 10 1 10]); 546s expected_out = im; 546s expected_out(4:6,4:6,1,4:6) = 0.0001/3; 546s expected_out(5,5,1,5) = 1-(80*(0.0001/3)); 546s assert (wiener2 (im), wiener2 (im, [3 3 3 3])) 546s assert (wiener2 (im), expected_out, eps) 546s 546s expected_out = im; 546s expected_out(4:6,4:6,1,4:6) = 0.0001; 546s expected_out(5,5,1,5) = 0.9974; 546s assert (wiener2 (im, [3 3 1 3]), expected_out, eps) 546s ***** test 546s expected = [0.2222 0.3926 0.3926 0.3926 0.2222]; 546s assert (wiener2 (ones (1, 5)), expected, .0001) 546s ***** assert (wiener2 ([]), []) 546s ***** assert (wiener2 (logical ([0 0; 1 1])), true (2, 2)) 546s ***** demo 546s I = phantom (); 546s J = imnoise (I, "gaussian", 0, 0.02); 546s figure, imshow (J); 546s title ("Image with added Gaussian noise"); 546s K = wiener2 (J, [5 5]); 546s figure, imshow (K); 546s title ("Image with noise reduced by wiener2 filtering"); 546s 27 tests, 27 passed, 0 known failure, 0 skipped 546s [inst/imopen.m] 546s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imopen.m 546s ***** shared in, out 546s in = [ 0 0 0 1 1 1 0 0 1 1 546s 0 1 0 1 1 1 0 0 0 1 546s 1 1 1 1 1 0 0 0 0 0 546s 0 1 1 1 1 0 0 0 0 0 546s 0 0 0 1 0 0 0 0 1 0 546s 0 0 0 0 0 0 0 1 1 1 546s 0 0 0 0 1 0 1 0 1 0 546s 0 0 0 1 1 1 1 1 0 0 546s 0 0 0 0 1 1 1 0 0 0 546s 0 0 0 1 1 1 0 0 0 0]; 546s 546s out = [ 0 0 0 1 1 1 0 0 0 0 546s 0 0 0 1 1 1 0 0 0 0 546s 0 0 0 0 0 0 0 0 0 0 546s 0 0 0 0 0 0 0 0 0 0 546s 0 0 0 0 0 0 0 0 0 0 546s 0 0 0 0 0 0 0 0 0 0 546s 0 0 0 0 0 0 0 0 0 0 546s 0 0 0 0 0 0 0 0 0 0 546s 0 0 0 0 0 0 0 0 0 0 546s 0 0 0 0 0 0 0 0 0 0]; 546s ***** assert (imopen (logical (in), ones (3)), logical (out)); 546s 546s out = [80 80 1 8 15 51 51 51 51 40 546s 80 80 7 8 15 54 55 55 55 40 546s 4 7 7 8 15 54 55 55 55 40 546s 17 17 17 7 3 54 55 55 55 28 546s 17 17 17 2 9 54 54 54 52 33 546s 17 17 17 29 29 29 29 26 33 33 546s 5 5 13 29 29 29 30 32 39 39 546s 6 6 13 29 29 29 30 32 39 39 546s 10 12 77 77 77 35 35 35 39 39 546s 10 12 77 77 77 35 35 35 27 27]; 546s ***** assert (imopen (magic (10), ones (3)), out); 546s ***** assert (imopen (uint8 (magic (10)), strel ("square", 3)), uint8 (out)); 546s 546s ## using a se that will be decomposed in 2 pieces 546s out =[ 1 1 1 8 15 40 40 40 40 40 546s 4 4 4 8 15 40 40 40 40 40 546s 4 4 4 8 15 40 40 40 40 40 546s 5 5 5 3 3 28 28 28 28 28 546s 5 5 5 2 9 28 28 28 28 28 546s 5 5 13 26 26 26 26 26 26 26 546s 5 5 13 29 29 29 29 29 27 27 546s 6 6 13 29 29 29 29 29 27 27 546s 6 6 13 29 29 29 29 29 27 27 546s 6 6 13 29 29 29 29 29 27 27]; 546s ***** assert (imopen (magic (10), ones(5)), out); 546s 546s ## using a weird non-symmetric and even-size se 546s out =[ 7 7 1 8 15 55 51 51 41 40 546s 7 7 7 8 16 55 55 55 51 41 546s 4 9 7 7 16 54 55 54 55 47 546s 25 25 9 9 3 52 54 52 54 28 546s 25 24 25 2 9 33 52 34 52 34 546s 17 24 29 31 29 30 33 26 33 34 546s 17 5 29 31 31 31 30 32 39 33 546s 10 6 13 35 35 29 31 32 45 39 546s 10 12 77 36 36 35 35 31 45 45 546s 11 12 77 77 77 36 36 35 27 45]; 546s ***** assert (imopen (magic (10), [1 0 0 0; 1 1 1 0; 0 1 0 1]), out); 546s 5 tests, 5 passed, 0 known failure, 0 skipped 546s [inst/colorangle.m] 546s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/colorangle.m 546s ***** error id=Octave:invalid-fun-call colorangle () 546s ***** error id=Octave:invalid-fun-call colorangle (1, 2, 3) 546s ***** error colorangle (2, 3) 546s ***** error colorangle ([1, 2], [3, 4]) 546s ***** error id=Octave:expected-real colorangle ([1, 2, 3j], [4, 5, 6]) 546s ***** error id=Octave:expected-real colorangle ([1, 2, 3], [4j, 5, 6]) 546s ***** error id=Octave:invalid-type colorangle ("abc", "def") 546s ***** test 546s assert (colorangle ([0 0 0], [0 1 0]), NaN) 546s assert (colorangle ([0 0 0], [0 1 1]), NaN) 546s assert (colorangle ([0 1 0], [0 0 0]), NaN) 546s assert (colorangle ([1 1 0], [0 0 0]), NaN) 546s assert (colorangle ([1 1 1], [1 1 1]), 0) 546s ***** assert (colorangle ([0 0 0], [0 0 0]), 0) 546s ***** assert (colorangle ([1 0 0], [-1 0 0]), 180) 546s ***** assert (colorangle ([0 0 1], [1 0 0]), 90) 546s ***** assert (colorangle ([0; 0; 1], [1 0 0]), 90) 546s ***** assert (colorangle ([0, 0, 1], [1; 0; 0]), 90) 546s ***** assert (colorangle ([0.5 0.61237 -0.61237], [0.86603 0.35355 -0.35355]), 30.000270917, 1e-4) 546s ***** assert (colorangle ([0.1582055390, 0.2722362096, 0.1620813305], [0.0717 0.1472 0.0975]), 5.09209927, 1e-6) 546s ***** assert (colorangle ([0.0659838500, 0.1261619536, 0.0690643667], [0.0717 0.1472 0.0975]), 5.10358588, 1e-6) 546s ***** assert (colorangle ([0.436871170, 0.7794672250, 0.4489702582], [0.0717 0.1472 0.0975]), 5.01339769, 1e-6) 546s ***** test 546s a = [1 0 0]; 546s b = [1 1 0]; 546s expected = colorangle (a, b); 546s assert (colorangle (a.', b.'), expected) 546s assert (colorangle (a, b.'), expected) 546s assert (colorangle (a.', b), expected) 546s assert (colorangle (vec (a, 3), b.'), expected) 546s ***** assert (colorangle ([1 0 0; 0 1 1], [1 1 1; 2 3 4]), 546s [colorangle([1 0 0], [1 1 1]); colorangle([0 1 1], [2 3 4])]) 546s ***** test 546s a = [1 0 0; 0.5 1 0; 0 1 1; 1 1 1]; 546s b = [0 1 0]; 546s expected = zeros (4, 1); 546s for i = 1:4 546s expected(i) = colorangle (a(i,:), b); 546s endfor 546s assert (colorangle (a, b), expected) 546s assert (colorangle (b, a), expected) 546s ***** xtest 546s a = [1 2 3]; 546s b = [2 3 4]; 546s c = [5 6 7]; 546s d = [3 1 1]; 546s 546s ac = colorangle (c, a); 546s bc = colorangle (b, c); 546s ad = colorangle (a, d); 546s bd = colorangle (b, d); 546s 546s assert (colorangle (a, cat (3, c, d)), 546s cat (3, [ac ad])) 546s 546s assert (colorangle (cat (3, a, b), cat (3, c, d)), 546s cat (3, [ac cd])) 546s 546s assert (colorangle (cat (1, a, b), cat (3, c, d)), 546s reshape ([ac bc ad bd], [2 2])) 546s !!!!! known failure 546s dot: sizes of X and Y must match 546s 21 tests, 20 passed, 1 known failure, 0 skipped 546s [inst/imregionalmin.m] 546s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imregionalmin.m 546s ***** test 546s a = [ 546s 7 3 9 3 10 3 546s 4 2 3 10 1 3 546s 1 4 6 9 4 10 546s 8 7 9 3 4 8 546s 5 9 3 3 8 9 546s 3 6 9 4 1 10]; 546s 546s a4 = logical ([ 546s 0 0 0 1 0 0 546s 0 1 0 0 1 0 546s 1 0 0 0 0 0 546s 0 0 0 1 0 0 546s 0 0 1 1 0 0 546s 1 0 0 0 1 0]); 546s assert (imregionalmin (a, 4), a4) 546s assert (imregionalmin (uint8 (a), 4), a4) 546s assert (imregionalmin (int8 (a), 4), a4) 546s 546s a8 = logical ([ 546s 0 0 0 0 0 0 546s 0 0 0 0 1 0 546s 1 0 0 0 0 0 546s 0 0 0 0 0 0 546s 0 0 0 0 0 0 546s 1 0 0 0 1 0]); 546s assert (imregionalmin (a), a8) 546s assert (imregionalmin (a, 8), a8) 546s assert (imregionalmin (uint8 (a), 8), a8) 546s assert (imregionalmin (int8 (a), 8), a8) 546s ***** test 546s a = [ 546s 4 8 5 -1 8 7 546s -1 4 0 7 1 1 546s 6 1 2 6 7 0 546s 6 1 5 -2 5 9 546s 1 4 -1 0 0 2 546s 4 6 1 0 7 1]; 546s 546s a4 = logical ([ 546s 0 0 0 1 0 0 546s 1 0 1 0 0 0 546s 0 1 0 0 0 1 546s 0 1 0 1 0 0 546s 1 0 1 0 0 0 546s 0 0 0 0 0 1]); 546s assert (imregionalmin (a, 4), a4) 546s assert (imregionalmin (int8 (a), 4), a4) 546s 546s a8 = logical ([ 546s 0 0 0 1 0 0 546s 1 0 0 0 0 0 546s 0 0 0 0 0 1 546s 0 0 0 1 0 0 546s 0 0 0 0 0 0 546s 0 0 0 0 0 0]); 546s assert (imregionalmin (a), a8) 546s assert (imregionalmin (a, 8), a8) 546s assert (imregionalmin (int8 (a), 8), a8) 546s ***** test 546s ## test float input images 546s im0 = peaks (); 546s im1 = im0 ./ 100; 546s max_pos_expected = [1; 49; 664; 1286; 1302; 2401]; 546s max0 = imregionalmin (im0); 546s max0_pos = find (max0); 546s max1 = imregionalmin (im1); 546s assert (max1, max0) 546s assert (max0_pos, max_pos_expected) 546s 3 tests, 3 passed, 0 known failure, 0 skipped 546s [inst/bwhitmiss.m] 546s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/bwhitmiss.m 546s ***** test 546s bw1 = repmat ([0 1 0 1 1], [3 1]); 546s bw2 = repmat ([0 1 0 0 0], [3 1]); 546s assert (bwhitmiss (bw1, [1; 0; 1], [1 0 1]), logical (bw2)) 546s assert (bwhitmiss (bw1, [0 1 0; -1 0 -1; 0 1 0]), logical (bw2)) 546s 1 test, 1 passed, 0 known failure, 0 skipped 546s [inst/isbw.m] 546s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/isbw.m 546s ***** shared img 546s img = round (rand (10)); 546s ***** assert (isbw (img, "non-logical"), true); 546s ***** assert (isbw (img, "logical"), false); 546s ***** assert (isbw (logical (img), "logical"), true); 546s ***** assert (isbw (logical (img), "non-logical"), true); 546s ***** test 546s img(1, 1) = 2; 546s assert (isbw (img, "non-logical"), false); 546s ***** test 546s a( 1, 1) = 1; 546s a(50, 50) = 2; 546s assert (isbw (a, "non-logical"), false); 546s ***** assert (isbw (rand (5, 5, 1, 4) > 0.5), true) 546s ***** assert (isbw (rand (5, 5, 3, 4) > 0.5), false) 546s ***** assert (isbw (rand (5, 5, 3) > 0.5), false) 546s ***** assert (isbw (rand (5, 5, 1, 3, 4) > 0.5), false) 546s ***** assert (isbw (randi ([0 1], 5, 5, 1, 4), "non-logical"), true) 546s ***** assert (isbw (randi ([0 1], 5, 5, 3, 4), "non-logical"), false) 546s ***** assert (isbw (randi ([0 1], 5, 5, 3), "non-logical"), false) 546s ***** assert (isbw (randi ([0 1], 5, 5, 1, 3, 4), "non-logical"), false) 546s ***** assert (isbw (single ([0 0 1]), "non-logical"), true) 546s ***** assert (isbw ([0 NaN 1], "non-logical"), false) 546s 16 tests, 16 passed, 0 known failure, 0 skipped 546s [inst/imbothat.m] 546s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imbothat.m 546s ***** assert (imbothat (ones (3), [1 1; 0 1]), zeros (3)); 546s ***** assert (imbothat (true (3), [1 1; 0 1]), false (3)); 546s ***** shared in, out, se 546s in = [ 0 0 0 1 1 1 0 0 1 1 546s 0 1 0 1 1 1 0 0 0 1 546s 1 1 1 1 1 0 0 0 0 0 546s 0 1 1 1 1 0 0 0 0 0 546s 0 0 0 1 0 0 0 0 1 0 546s 0 0 0 0 0 0 0 1 1 1 546s 0 0 0 0 1 0 1 0 1 0 546s 0 0 0 1 1 1 1 1 0 0 546s 0 0 0 0 1 1 1 0 0 0 546s 0 0 0 1 1 1 0 0 0 0]; 546s 546s out = [ 1 1 1 0 0 0 1 1 0 0 546s 1 0 1 0 0 0 0 0 0 0 546s 0 0 0 0 0 0 0 0 0 1 546s 1 0 0 0 0 0 0 0 0 1 546s 0 0 0 0 1 0 0 0 0 1 546s 0 0 0 1 1 1 1 0 0 0 546s 0 0 0 1 0 1 0 1 0 1 546s 0 0 0 0 0 0 0 0 0 0 546s 0 0 0 1 0 0 0 0 0 0 546s 0 0 0 0 0 0 1 0 0 0]; 546s ***** assert (imbothat (logical (in), ones (3)), logical (out)); 546s 546s out = [ 7 0 15 8 1 6 0 13 6 24 546s 0 8 9 2 0 0 16 7 0 23 546s 89 7 0 41 39 7 12 7 0 23 546s 8 1 69 40 58 1 6 2 0 43 546s 7 0 63 59 52 0 0 0 14 32 546s 62 55 6 7 0 7 0 23 16 1 546s 56 74 0 2 0 0 16 14 7 0 546s 0 73 69 0 0 19 15 8 1 0 546s 8 6 0 0 6 13 9 2 0 6 546s 7 0 0 19 0 14 7 0 23 0]; 546s ***** assert (imbothat (magic (10), ones (3)), out); 546s ***** assert (imbothat (uint8 (magic (10)), strel ("square", 3)), uint8 (out)); 546s 546s ## using a se that will be decomposed in 2 pieces 546s out =[ 7 0 87 66 59 7 0 19 12 30 546s 0 13 81 60 58 1 19 13 6 29 546s 89 12 0 54 52 20 18 7 0 23 546s 8 6 69 53 71 14 12 2 0 43 546s 7 0 63 73 66 14 7 0 23 41 546s 76 69 14 7 0 30 23 46 39 7 546s 70 88 9 2 0 24 42 40 33 6 546s 14 87 80 0 0 43 41 34 27 0 546s 84 82 0 0 19 37 35 28 26 19 546s 89 82 0 20 13 36 29 22 45 13]; 546s ***** assert (imbothat (magic (10), ones(5)), out); 546s 546s ## using a weird non-symmetric and even-size se 546s out =[ 0 0 15 8 1 3 0 7 0 18 546s 0 8 53 59 0 0 14 13 0 17 546s 84 0 0 40 38 6 13 6 0 23 546s 2 0 42 47 58 0 6 0 0 41 546s 0 0 62 59 52 0 0 0 16 35 546s 6 58 13 6 0 3 19 19 35 1 546s 0 18 0 0 0 0 15 13 6 0 546s 0 17 69 0 0 17 17 8 0 0 546s 8 67 0 0 0 15 9 2 0 6 546s 7 0 0 17 10 42 7 0 19 0]; 546s ***** assert (imbothat (magic (10), [1 0 0 0; 1 1 1 0; 0 1 0 1]), out); 546s 546s ## N dimensional and weird se 546s in = reshape (magic(16), [4 8 4 2]); 546s se = ones (3, 3, 3); 546s se(:,:,1) = [1 0 1; 0 1 1; 0 0 0]; 546s se(:,:,3) = [1 0 1; 0 1 1; 0 0 1]; 546s out = zeros (size (in)); 546s out(:,:,1,1) = [ 546s 0 17 81 145 237 146 64 0 546s 205 128 64 0 0 37 83 147 546s 175 111 47 0 0 64 117 181 546s 0 64 128 209 173 109 45 0]; 546s out(:,:,2,1) = [ 546s 235 142 78 18 0 23 69 133 546s 0 35 103 163 215 128 46 0 546s 0 64 128 195 183 123 48 0 546s 153 93 43 0 14 78 146 215]; 546s out(:,:,3,1) = [ 546s 0 25 89 153 229 142 64 0 546s 201 128 64 0 0 41 91 155 546s 167 103 57 0 0 64 125 189 546s 0 64 146 217 165 101 37 0]; 546s out(:,:,4,1) = [ 546s 227 142 78 14 0 31 77 141 546s 0 43 107 171 211 128 46 0 546s 0 64 128 203 179 115 48 0 546s 149 99 35 0 18 82 146 223]; 546s out(:,:,1,2) = [ 546s 0 33 97 161 221 146 64 0 546s 189 125 61 0 0 53 99 163 546s 159 95 31 0 0 64 128 197 546s 0 64 128 225 157 93 29 0]; 546s out(:,:,2,2) = [ 546s 219 142 78 18 0 39 85 149 546s 0 51 119 179 199 128 46 0 546s 0 64 128 211 167 107 43 0 546s 137 77 27 0 14 78 146 231]; 546s out(:,:,3,2) = [ 546s 0 41 105 169 213 142 64 0 546s 185 121 64 0 0 57 107 171 546s 151 87 41 0 0 64 128 205 546s 0 64 146 233 149 85 21 0]; 546s out(:,:,4,2) = [ 546s 211 142 78 14 0 47 93 157 546s 0 59 123 187 195 128 46 0 546s 0 64 128 219 163 99 35 0 546s 133 83 19 0 18 82 146 239]; 546s ***** assert (imbothat (in, se), out); 546s 8 tests, 8 passed, 0 known failure, 0 skipped 546s [inst/impyramid.m] 546s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/impyramid.m 546s ***** xtest 546s ## bug #51979 (results are not matlab compatible) 546s in = [116 227 153 69 146 194 59 130 139 106 546s 2 47 137 249 90 75 16 24 158 44 546s 155 68 46 84 166 156 69 204 32 152 546s 71 221 137 230 210 153 192 115 30 118 546s 107 143 108 52 51 73 101 21 175 90 546s 54 158 143 77 26 168 113 229 165 225 546s 9 47 133 135 130 207 236 43 19 73]; 546s 546s reduced = [ 546s 114 139 131 103 111 546s 97 122 141 111 100 546s 103 123 112 123 122 546s 47 107 134 153 94]; 546s 546s expanded = [ 546s 115 154 185 178 150 122 105 116 138 159 158 117 78 86 112 129 133 120 103 546s 69 98 128 141 146 152 152 139 125 127 121 87 55 58 81 113 131 112 84 546s 40 54 74 100 131 167 184 157 119 104 92 64 41 44 66 100 121 103 74 546s 76 69 65 75 97 130 153 148 131 122 108 80 61 79 103 105 98 97 98 546s 120 105 88 77 78 96 121 143 155 154 140 112 98 124 143 109 74 91 123 546s 117 129 134 119 107 125 153 173 180 172 156 143 138 146 140 96 60 83 122 546s 99 139 170 157 139 156 181 188 180 164 151 154 156 140 112 81 65 84 110 546s 101 136 163 153 133 132 138 136 130 122 120 130 133 108 82 86 99 104 104 546s 103 126 143 136 116 97 81 73 73 82 94 105 105 87 78 108 138 133 116 546s 90 116 139 139 122 96 69 52 53 80 109 114 111 116 128 148 163 164 160 546s 66 99 131 140 131 109 83 62 62 102 142 144 138 154 169 164 157 169 184 546s 41 68 99 121 130 122 107 92 95 133 173 182 172 156 135 114 105 121 142 546s 21 38 64 98 124 131 127 123 129 160 194 212 199 144 82 52 48 65 85]; 546s 546s assert (impyramid (uint8 (in), "reduce"), uint8 (reduced)) 546s assert (impyramid (uint8 (in), "expand"), uint8 (expanded)) 546s !!!!! known failure 546s ASSERT errors for: assert (impyramid (uint8 (in), "reduce"),uint8 (reduced)) 546s 546s Location | Observed | Expected | Reason 546s (2,4) 110 111 Abs err 0 exceeds tol 0 by 0 546s (2,5) 99 100 Abs err 0 exceeds tol 0 by 0 546s (3,5) 121 122 Abs err 0 exceeds tol 0 by 0 546s ***** test 546s in = randi ([0 255], [40 39 3 5], "uint8"); 546s red = impyramid (in, "reduce"); 546s for p = 1:3 546s for n = 1:5 546s assert (red(:,:,p,n), impyramid (in(:,:,p,n), "reduce")) 546s endfor 546s endfor 546s 546s exp = impyramid (in, "expand"); 546s for p = 1:3 546s for n = 1:5 546s assert (exp(:,:,p,n), impyramid (in(:,:,p,n), "expand")) 546s endfor 546s endfor 547s ***** xtest 547s ## bug #51979 (results are not matlab compatible) 547s in = repmat (uint8 (255), [10 10]); 547s assert (impyramid (in, "reduce"), repmat (uint8 (255), [5 5])) 547s assert (impyramid (in, "expand"), repmat (uint8 (255), [19 19])) 547s !!!!! known failure 547s ASSERT errors for: assert (impyramid (in, "expand"),repmat (uint8 (255), [19, 19])) 547s 547s Location | Observed | Expected | Reason 547s (1,1) 195 255 Abs err 0 exceeds tol 0 by 0 547s (2,1) 223 255 Abs err 0 exceeds tol 0 by 0 547s (3,1) 223 255 Abs err 0 exceeds tol 0 by 0 547s (4,1) 223 255 Abs err 0 exceeds tol 0 by 0 547s (5,1) 223 255 Abs err 0 exceeds tol 0 by 0 547s (6,1) 223 255 Abs err 0 exceeds tol 0 by 0 547s (7,1) 223 255 Abs err 0 exceeds tol 0 by 0 547s (8,1) 223 255 Abs err 0 exceeds tol 0 by 0 547s (9,1) 223 255 Abs err 0 exceeds tol 0 by 0 547s (10,1) 223 255 Abs err 0 exceeds tol 0 by 0 547s (11,1) 223 255 Abs err 0 exceeds tol 0 by 0 547s (12,1) 223 255 Abs err 0 exceeds tol 0 by 0 547s (13,1) 223 255 Abs err 0 exceeds tol 0 by 0 547s (14,1) 223 255 Abs err 0 exceeds tol 0 by 0 547s (15,1) 223 255 Abs err 0 exceeds tol 0 by 0 547s (16,1) 223 255 Abs err 0 exceeds tol 0 by 0 547s (17,1) 223 255 Abs err 0 exceeds tol 0 by 0 547s (18,1) 223 255 Abs err 0 exceeds tol 0 by 0 547s (19,1) 195 255 Abs err 0 exceeds tol 0 by 0 547s (1,2) 223 255 Abs err 0 exceeds tol 0 by 0 547s (19,2) 223 255 Abs err 0 exceeds tol 0 by 0 547s (1,3) 223 255 Abs err 0 exceeds tol 0 by 0 547s (19,3) 223 255 Abs err 0 exceeds tol 0 by 0 547s (1,4) 223 255 Abs err 0 exceeds tol 0 by 0 547s (19,4) 223 255 Abs err 0 exceeds tol 0 by 0 547s (1,5) 223 255 Abs err 0 exceeds tol 0 by 0 547s (19,5) 223 255 Abs err 0 exceeds tol 0 by 0 547s (1,6) 223 255 Abs err 0 exceeds tol 0 by 0 547s (19,6) 223 255 Abs err 0 exceeds tol 0 by 0 547s (1,7) 223 255 Abs err 0 exceeds tol 0 by 0 547s (19,7) 223 255 Abs err 0 exceeds tol 0 by 0 547s (1,8) 223 255 Abs err 0 exceeds tol 0 by 0 547s (19,8) 223 255 Abs err 0 exceeds tol 0 by 0 547s (1,9) 223 255 Abs err 0 exceeds tol 0 by 0 547s (19,9) 223 255 Abs err 0 exceeds tol 0 by 0 547s (1,10) 223 255 Abs err 0 exceeds tol 0 by 0 547s (19,10) 223 255 Abs err 0 exceeds tol 0 by 0 547s (1,11) 223 255 Abs err 0 exceeds tol 0 by 0 547s (19,11) 223 255 Abs err 0 exceeds tol 0 by 0 547s (1,12) 223 255 Abs err 0 exceeds tol 0 by 0 547s (19,12) 223 255 Abs err 0 exceeds tol 0 by 0 547s (1,13) 223 255 Abs err 0 exceeds tol 0 by 0 547s (19,13) 223 255 Abs err 0 exceeds tol 0 by 0 547s (1,14) 223 255 Abs err 0 exceeds tol 0 by 0 547s (19,14) 223 255 Abs err 0 exceeds tol 0 by 0 547s (1,15) 223 255 Abs err 0 exceeds tol 0 by 0 547s (19,15) 223 255 Abs err 0 exceeds tol 0 by 0 547s (1,16) 223 255 Abs err 0 exceeds tol 0 by 0 547s (19,16) 223 255 Abs err 0 exceeds tol 0 by 0 547s (1,17) 223 255 Abs err 0 exceeds tol 0 by 0 547s (19,17) 223 255 Abs err 0 exceeds tol 0 by 0 547s (1,18) 223 255 Abs err 0 exceeds tol 0 by 0 547s (19,18) 223 255 Abs err 0 exceeds tol 0 by 0 547s (1,19) 195 255 Abs err 0 exceeds tol 0 by 0 547s (2,19) 223 255 Abs err 0 exceeds tol 0 by 0 547s (3,19) 223 255 Abs err 0 exceeds tol 0 by 0 547s (4,19) 223 255 Abs err 0 exceeds tol 0 by 0 547s (5,19) 223 255 Abs err 0 exceeds tol 0 by 0 547s (6,19) 223 255 Abs err 0 exceeds tol 0 by 0 547s (7,19) 223 255 Abs err 0 exceeds tol 0 by 0 547s (8,19) 223 255 Abs err 0 exceeds tol 0 by 0 547s (9,19) 223 255 Abs err 0 exceeds tol 0 by 0 547s (10,19) 223 255 Abs err 0 exceeds tol 0 by 0 547s (11,19) 223 255 Abs err 0 exceeds tol 0 by 0 547s (12,19) 223 255 Abs err 0 exceeds tol 0 by 0 547s (13,19) 223 255 Abs err 0 exceeds tol 0 by 0 547s (14,19) 223 255 Abs err 0 exceeds tol 0 by 0 547s (15,19) 223 255 Abs err 0 exceeds tol 0 by 0 547s (16,19) 223 255 Abs err 0 exceeds tol 0 by 0 547s (17,19) 223 255 Abs err 0 exceeds tol 0 by 0 547s (18,19) 223 255 Abs err 0 exceeds tol 0 by 0 547s (19,19) 195 255 Abs err 0 exceeds tol 0 by 0 547s ***** xtest 547s ## bug #51979 (results are not matlab compatible) 547s in = logical ([ 547s 1 0 1 1 0 0 1 1 0 0 547s 1 1 0 0 0 1 0 0 1 0 547s 0 1 1 0 1 1 1 1 1 1 547s 1 0 1 0 1 0 1 0 1 1 547s 1 1 1 0 0 0 1 1 1 1 547s 0 0 1 1 0 0 1 0 0 0 547s 0 0 1 1 0 1 1 0 1 1 547s 1 1 0 0 1 0 0 0 1 0 547s 1 1 1 1 1 1 0 1 0 0 547s 1 1 0 0 1 0 0 0 1 0]); 547s 547s reduced = logical ([ 547s 1 1 0 1 0 547s 1 1 0 1 1 547s 1 1 0 1 1 547s 0 1 0 0 0 547s 1 1 1 0 0]); 547s 547s expanded = logical ([ 547s 1 1 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 547s 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 547s 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 547s 1 1 1 1 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 547s 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 547s 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 547s 1 1 0 1 1 0 0 0 1 0 0 1 1 1 0 1 1 1 1 547s 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 547s 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 547s 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 547s 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 547s 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 547s 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 547s 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 547s 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 547s 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 547s 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 547s 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 547s 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0]); 547s 547s assert (impyramid (in, "reduce"), reduced) 547s assert (impyramid (in, "expand"), expanded) 547s !!!!! known failure 547s ASSERT errors for: assert (impyramid (in, "reduce"),reduced) 547s 547s Location | Observed | Expected | Reason 547s (4,1) 1 0 Abs err 1 exceeds tol 0 by 1 547s (1,3) 1 0 Abs err 1 exceeds tol 0 by 1 547s (2,3) 1 0 Abs err 1 exceeds tol 0 by 1 547s (3,3) 1 0 Abs err 1 exceeds tol 0 by 1 547s (4,3) 1 0 Abs err 1 exceeds tol 0 by 1 547s (4,4) 1 0 Abs err 1 exceeds tol 0 by 1 547s (5,4) 1 0 Abs err 1 exceeds tol 0 by 1 547s (1,5) 1 0 Abs err 1 exceeds tol 0 by 1 547s (4,5) 1 0 Abs err 1 exceeds tol 0 by 1 547s (5,5) 1 0 Abs err 1 exceeds tol 0 by 1 547s 4 tests, 1 passed, 3 known failures, 0 skipped 547s [inst/colfilt.m] 547s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/colfilt.m 547s ***** demo 547s ## Perform moving average filter with a 4x4 window 547s A = magic (12) 547s colfilt (A, [4 4], "sliding", @mean) 547s ***** test 547s A = reshape (1:36, [6 6]); 547s assert (colfilt (A, [2 2], [3 3], "sliding", @sum), 547s conv2 (A, ones (2), "same")); 547s 1 test, 1 passed, 0 known failure, 0 skipped 547s [inst/impixel.m] 547s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/impixel.m 547s ***** shared img2d, img3d 547s img2d = uint8 (magic (10)); 547s img3d(:,:,1) = img2d; 547s img3d(:,:,2) = img2d + 1; 547s img3d(:,:,3) = img2d + 2; 547s img3d = uint8 (img3d); 547s 547s ***** assert (impixel (img2d, 2, 2), single ([80 80 80])); 547s ***** assert (impixel (img2d, -2, 2), single ([NA NA NA])); 547s 547s ***** assert (impixel (img2d, [1 10], [1 10]), single ([92 92 92; 59 59 59])); 547s ***** assert (impixel (img3d, [1 10], [1 10]), single ([92 93 94; 59 60 61])); 547s ***** assert (impixel (double (img2d), [1 10], [1 10]), [92 92 92; 59 59 59]); 547s 547s ***** assert (impixel ([1 10], [1 10], img2d, [1 10], [1 10]), single ([92 92 92; 59 59 59])); 547s ***** assert (impixel ([3 12], [-4 12], img2d, [1 10], [1 10]), single ([NA NA NA; 44 44 44])); 547s ***** assert (impixel ([3 5], [-4 3], img2d, [1 10], [1 10]), single ([NA NA NA; NA NA NA])); 547s 547s ## the following returns double because it's an indexed image 547s ***** assert (impixel ([3 12], [-4 12], img2d, gray (100), [1 10], [1 10]), [NA NA NA; 4/9 4/9 4/9]); 547s 9 tests, 9 passed, 0 known failure, 0 skipped 547s [inst/qtdecomp.m] 547s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/qtdecomp.m 547s ***** demo 547s full(qtdecomp(eye(8))) 547s %It finds 2 big blocks of 0 and it decomposes further where 0 and 1 are mixed. 547s ***** # Test if odd-sized limits split 547s ***** assert(full(qtdecomp(eye(5))), reshape([5,zeros(1,24)],5,5)); 547s ***** assert(full(qtdecomp(eye(6))), repmat(reshape([3,zeros(1,8)],3,3),2,2)); 547s ***** # Test 'equal' method 547s ***** test 547s a=ones(2,2); 547s b=[2,0;0,0]; 547s assert(full(qtdecomp(eye(4))), [a,b;b,a]); 547s ***** shared A, B2, B4 547s A=[ 1, 4, 2, 5,54,55,61,62; 547s 3, 6, 3, 1,58,53,67,65; 547s 3, 6, 3, 1,58,53,67,65; 547s 3, 6, 3, 1,58,53,67,65; 547s 23,42,42,42,99,99,99,99; 547s 27,42,42,42,99,99,99,99; 547s 23,22,26,25,99,99,99,99; 547s 22,22,24,22,99,99,99,99]; 547s B2=[2,0;0,0]; 547s B4=zeros(4); B4(1,1)=4; 547s ***** test 547s R=[ones(4,8); [ones(2),B2;ones(2,4)], B4]; 547s assert(full(qtdecomp(A)), R); 547s assert(full(qtdecomp(A,0)), R); 547s ***** # Test 'threshold' method 547s ***** test 547s R=[ones(4,8); [ones(2),B2;B2,ones(2)],B4]; 547s assert(full(qtdecomp(A,1)), R); 547s ***** test 547s R=[[B4,[B2,B2;B2,B2]]; [[ones(2),B2;B2,B2],B4]]; 547s assert(full(qtdecomp(A,10)), R); 547s ***** test 547s R=[[B4,[B2,B2;B2,B2]]; [[B2,B2;B2,B2],B4]]; 547s assert(full(qtdecomp(A,10,2)), R); 547s 547s assert(full(qtdecomp(A,100,[2, 4])), [B4,B4;B4,B4]); 547s ***** test 547s f = @(A, c1 = 54, c2 = 0, c3 = 0) (A (1, 1, :) != ((c1+c2+c3) * ones (1, 1, size (A, 3))))(:); 547s 547s assert(full(qtdecomp(A,f)),[ones(4),B4;ones(4,8)]); 547s assert(full(qtdecomp(A,f,54)),[ones(4),B4;ones(4,8)]); 547s assert(full(qtdecomp(A,f,4,40,10)),[ones(4),B4;ones(4,8)]); 547s ***** test 547s ***** # no params 547s first_eq=inline("(A(1,1,:)!=(54*ones(1,1,size(A,3))))(:)","A"); 547s assert(full(qtdecomp(A,first_eq)),[ones(4),B4;ones(4,8)]); 547s ***** test 547s ***** # 1 param 547s first_eq=inline("(A(1,1,:)!=(c*ones(1,1,size(A,3))))(:)","A","c"); 547s assert(full(qtdecomp(A,first_eq,54)),[ones(4),B4;ones(4,8)]); 547s ***** test 547s ***** # 3 params 547s first_eq=inline("(A(1,1,:)!=((c1+c2+c3)*ones(1,1,size(A,3))))(:)","A","c1","c2","c3"); 547s assert(full(qtdecomp(A,first_eq,4,40,10)),[ones(4),B4;ones(4,8)]); 547s 11 tests, 11 passed, 0 known failure, 0 skipped 547s [inst/im2single.m] 547s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/im2single.m 547s ***** assert (im2single (single ([1 2 3])), single ([1 2 3])); 547s ***** assert (im2single ([1 2 3]), single ([1 2 3])); 547s ***** assert (im2single (uint8 ([0 127 128 255])), single ([0 127/255 128/255 1])); 547s ***** assert (im2single (uint16 ([0 127 128 65535])), single ([0 127/65535 128/65535 1])); 547s ***** assert (im2single (int16 ([-32768 -32767 -32766 32767])), single ([0 1/65535 2/65535 1])); 547s ***** assert (im2single (uint8 ([0 1 255]), "indexed"), single ([1 2 256])); 547s ***** assert (im2single (uint16 ([0 1 2557]), "indexed"), single ([1 2 2558])); 547s ***** assert (im2single ([3 25], "indexed"), single ([3 25])); 547s ***** error im2single ([0 1 2], "indexed"); 547s ***** error im2single (int16 ([17 8]), "indexed"); 547s ***** error im2single (int16 ([-7 8]), "indexed"); 547s ***** error im2single ([false true], "indexed"); 547s 12 tests, 12 passed, 0 known failure, 0 skipped 547s [inst/qtsetblk.m] 547s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/qtsetblk.m 547s ***** demo 547s J=qtsetblk(eye(4),qtdecomp(eye(4)),2,ones(2,2,2)) 547s % Sets upper-right and lower-left blocks of 2*2 zeros to ones 547s ***** shared A, S 547s A=[ 1, 4, 2, 5,54,55,61,62; 547s 3, 6, 3, 1,58,53,67,65; 547s 3, 6, 3, 1,58,53,67,65; 547s 3, 6, 3, 1,58,53,67,65; 547s 23,42,42,42,99,99,99,99; 547s 27,42,42,42,99,99,99,99; 547s 23,22,26,25,99,99,99,99; 547s 22,22,24,22,99,99,99,99]; 547s S = qtdecomp (A, 10); 547s ***** test 547s R=A; 547s vals=zeros(4,4,2); 547s vals(:,:,1)=reshape([1:16],4,4); 547s vals(:,:,2)=reshape([21:36],4,4); 547s R(1:4,1:4)=reshape([1:16],4,4); 547s R(5:8,5:8)=reshape([21:36],4,4); 547s assert(qtsetblk(A,S,4,vals),R); 547s ***** test 547s R=A; 547s R(1:4,5:8)=1; 547s R(7:8,1:4)=1; 547s R(5:6,3:4)=1; 547s assert(qtsetblk(A,S,2,ones(2,2,7)),R); 547s ***** test 547s R=A; 547s R(5:6,1:2)=10; 547s assert(qtsetblk(A,S,1,ones(1,1,4)*10),R); 547s 3 tests, 3 passed, 0 known failure, 0 skipped 547s [inst/edge.m] 547s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/edge.m 547s ***** test 547s im = [ 547s 249 238 214 157 106 69 60 90 131 181 224 247 252 250 250 547s 250 242 221 165 112 73 62 91 133 183 225 248 252 250 251 547s 252 246 228 173 120 78 63 90 130 181 224 248 253 251 251 547s 253 248 232 185 132 87 62 80 116 170 217 244 253 251 252 547s 253 249 236 198 149 101 66 71 101 155 206 238 252 252 252 547s 254 250 240 210 164 115 73 69 92 143 196 232 252 253 252 547s 70 70 68 61 49 36 24 22 26 38 52 63 70 70 70 547s 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 547s 62 63 62 59 51 42 33 25 22 26 36 45 56 60 62 547s 252 253 252 246 221 190 157 114 90 90 118 157 203 235 248 547s 251 253 254 251 233 209 182 136 103 92 107 139 185 225 245 547s 251 253 254 253 243 227 206 163 128 108 110 133 175 217 242 547s 252 253 254 254 249 241 228 195 164 137 127 139 172 212 239 547s ] / 255; 547s 547s methods = {"kirsch", "prewitt", "sobel"}; 547s for m_i = 1:numel (methods) 547s method = methods{m_i}; 547s 547s bw = edge (im, method, 0.2, "both", "thinning"); 547s assert (edge (im, method, 0.2), bw) 547s 547s args = perms ({0.2, "both", "thinning"}); 547s for i = 1:rows (args) 547s assert (edge (im, method, args{i,:}), bw) 547s endfor 547s 547s bw = edge (im, method, 0.2, "vertical", "nothinning"); 547s args = perms ({0.2, "vertical", "nothinning"}); 547s for i = 1:rows (args) 547s assert (edge (im, method, args{i,:}), bw) 547s endfor 547s 547s bw = edge (im, method, 0.2, "vertical", "thinning"); 547s args = perms ({0.2, "vertical"}); 547s for i = 1:rows (args) 547s assert (edge (im, method, args{i,:}), bw) 547s endfor 547s 547s bw = edge (im, method, 0.2, "both", "nothinning"); 547s args = perms ({0.2, "nothinning"}); 547s for i = 1:rows (args) 547s assert (edge (im, method, args{i,:}), bw) 547s endfor 547s endfor 547s ***** error 547s bw = edge (rand (10), "sobel", 0.2, 0.4) 547s ***** error 547s bw = edge (rand (10), "sobel", "thinning", "nothinning") 547s ***** error 547s bw = edge (rand (10), "sobel", "both", "both") 547s ***** error 547s bw = edge (rand (10), "sobel", [0.2 0.7], "both", "thinning") 547s ***** error 547s bw = edge (rand (10), "kirsch", 0.2, 0.4) 547s ***** error 547s bw = edge (rand (10), "kirsch", "thinning", "nothinning") 547s ***** error 547s bw = edge (rand (10), "kirsch", "both", "both") 547s ***** error 547s bw = edge (rand (10), "kirsch", [0.2 0.7], "both", "thinning") 547s ***** error 547s bw = edge (rand (10), "prewitt", 0.2, 0.4) 547s ***** error 547s bw = edge (rand (10), "prewitt", "thinning", "nothinning") 547s ***** error 547s bw = edge (rand (10), "prewitt", "both", "both") 547s ***** error 547s bw = edge (rand (10), "prewitt", [0.2 0.7], "both", "thinning") 547s ***** test 547s im = [ 547s 249 238 214 157 106 69 60 90 131 181 224 247 252 250 250 547s 250 242 221 165 112 73 62 91 133 183 225 248 252 250 251 547s 252 246 228 173 120 78 63 90 130 181 224 248 253 251 251 547s 253 248 232 185 132 87 62 80 116 170 217 244 253 251 252 547s 253 249 236 198 149 101 66 71 101 155 206 238 252 252 252 547s 254 250 240 210 164 115 73 69 92 143 196 232 252 253 252 547s 70 70 68 61 49 36 24 22 26 38 52 63 70 70 70 547s 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 547s 62 63 62 59 51 42 33 25 22 26 36 45 56 60 62 547s 252 253 252 246 221 190 157 114 90 90 118 157 203 235 248 547s 251 253 254 251 233 209 182 136 103 92 107 139 185 225 245 547s 251 253 254 253 243 227 206 163 128 108 110 133 175 217 242 547s 252 253 254 254 249 241 228 195 164 137 127 139 172 212 239 547s ] / 255; 547s 547s bw = edge (im, "roberts", .2, "thinning"); 547s assert (edge (im, "roberts", 0.2), bw) 547s assert (edge (im, "roberts", "thinning", 0.2), bw) 547s 547s bw = edge (im, "roberts", .2, "nothinning"); 547s assert (edge (im, "roberts", "nothinning", 0.2), bw) 547s ***** error 547s bw = edge (rand (10), "roberts", 0.2, 0.4) 547s ***** error 547s bw = edge (rand (10), "roberts", "thinning", "nothinning") 547s ***** error 547s bw = edge (rand (10), "roberts", "both", "thinning") 547s ***** test 547s im = rand (10); 547s [~, thresh] = edge (im, "canny"); 547s assert (size (thresh), [1 2]) 547s [~, thresh] = edge (im, "canny", [.2 .6]); 547s assert (thresh, [.2 .6]) 547s [~, thresh] = edge (im, "canny", [.2; .6]); 547s assert (thresh, [.2 .6]) 547s ***** test 547s in = zeros (5); 547s in(3,3) = 1; 547s 547s E = logical ([ 547s 0 0 0 0 0 547s 0 0 1 0 0 547s 0 1 0 1 0 547s 0 0 1 0 0 547s 0 0 0 0 0]); 547s assert (edge (in), E) 547s assert (edge (uint8 (in.*100)), E) 547s assert (edge (in, "sobel"), E) 547s assert (edge (in, "sobel", 0), E) 547s assert (edge (in, "sobel", 1), false (5)) 547s 547s [E, auto_thresh] = edge (in); 547s assert (auto_thresh, 0.2449, 1e-4) 547s 547s V = logical([ 547s 0 0 0 0 0 547s 0 1 0 1 0 547s 0 1 0 1 0 547s 0 1 0 1 0 547s 0 0 0 0 0]); 547s assert (edge (in, "sobel", 0, "vertical"), V) 547s 547s H = logical ([ 547s 0 0 0 0 0 547s 0 1 1 1 0 547s 0 0 0 0 0 547s 0 1 1 1 0 547s 0 0 0 0 0]); 547s assert (edge (in, "sobel", 0, "horizontal"), H) 547s 547s V = false (5); 547s V(3,2) = true; 547s V(3,4) = true; 547s assert (edge (in, "sobel", [], "vertical"), V) 547s 547s H = false (5); 547s H(2,3) = true; 547s H(4,3) = true; 547s assert (edge (in, "sobel", [], "horizontal"), H) 547s ***** test 547s A = ones (5); 547s A(3, 3) = 0; 547s expected = logical ([ 547s 0 0 0 0 0 547s 0 0 1 0 0 547s 0 1 0 1 0 547s 0 0 1 0 0 547s 0 0 0 0 0]); 547s assert (edge (A), expected) 547s ***** test 547s in = zeros (5); 547s in(3, 3) = 1; 547s 547s E = logical ([ 547s 0 0 0 0 0 547s 0 1 0 1 0 547s 0 0 0 0 0 547s 0 1 0 1 0 547s 0 0 0 0 0]); 547s 547s assert (edge (in, "prewitt"), E) 547s 547s [~, auto_thresh] = edge (in, "prewitt"); 547s assert (auto_thresh, 0.2309, 1e-4) 547s 547s V = logical([ 547s 0 0 0 0 0 547s 0 1 0 1 0 547s 0 1 0 1 0 547s 0 1 0 1 0 547s 0 0 0 0 0]); 547s assert (edge (in, "prewitt", 0, "vertical"), V) 547s 547s H = logical ([ 547s 0 0 0 0 0 547s 0 1 1 1 0 547s 0 0 0 0 0 547s 0 1 1 1 0 547s 0 0 0 0 0]); 547s assert (edge (in, "prewitt", 0, "horizontal"), H) 547s ***** test 547s in = zeros (5); 547s in(3,3) = 1; 547s in(3,4) = 0.9; 547s 547s E = logical ([ 547s 0 0 0 0 0 547s 0 0 1 0 0 547s 0 0 1 0 0 547s 0 0 0 0 0 547s 0 0 0 0 0]); 547s 547s assert (edge (in, "roberts"), E) 547s 547s [~, auto_thresh] = edge (in, "roberts"); 547s assert (auto_thresh, 0.6591, 1e-4) 547s 547s E45 = [0 0 0 0 0 547s 0 -0.5 -0.45 0 0 547s 0 0 0.50 0.45 0 547s 0 0 0 0 0 547s 0 0 0 0 0]; 547s E135 = [0 0 0 0 0 547s 0 0 -0.50 -0.45 0 547s 0 0.5 0.45 0 0 547s 0 0 0 0 0 547s 0 0 0 0 0]; 547s 547s [~, ~, erg45, erg135] = edge (in, "roberts"); 547s assert (erg45, E45) 547s assert (erg135, E135) 547s ***** xtest 547s ## The edge image is correct and Matlab compatible so those should 547s ## pass. However, the threshold values used to generate the edge 547s ## image are not the same as Matlab. 547s 547s in_8 = fspecial ("gaussian", [8 8], 2); 547s in_8 /= in_8(4,4); 547s in_8_uint8 = im2uint8 (in_8); 547s 547s ## Matlab changed their implementation of the Canny method in 547s ## release 2011a. We are compatible with their new implementation 547s ## but for testing purposes, this is the expected result for the 547s ## old implementation. 547s out_8_old = logical ([ 547s 0 0 0 0 0 0 0 0 547s 0 0 0 1 1 0 0 0 547s 0 0 1 0 0 1 0 0 547s 0 1 0 0 0 0 1 0 547s 0 1 0 0 0 0 1 0 547s 0 0 1 0 0 1 0 0 547s 0 0 0 1 1 0 0 0 547s 0 0 0 0 0 0 0 0]); 547s 547s out_8 = logical ([ 547s 0 0 0 0 0 0 0 0 547s 0 1 1 1 1 1 0 0 547s 0 1 0 0 0 1 0 0 547s 0 1 0 0 0 1 0 0 547s 0 1 0 0 0 1 0 0 547s 0 1 1 1 1 1 0 0 547s 0 0 0 0 0 0 0 0 547s 0 0 0 0 0 0 0 0]); 547s out_thresh = [0.34375 0.859375]; 547s 547s [obs_edge, obs_thresh] = edge (in_8, "Canny"); 547s assert (obs_edge, out_8) 547s assert (obs_thresh, out_thresh) 547s 547s [obs_edge_givethresh, obs_thresh_givethresh] ... 547s = edge (in_8, "Canny", out_thresh); 547s assert (obs_edge_givethresh, out_8) 547s assert (obs_thresh_givethresh, out_thresh) 547s 547s [obs_edge_uint8, obs_thresh_uint8] = edge (in_8_uint8, "Canny"); 547s assert (obs_edge_uint8, out_8) 547s assert (obs_thresh_uint8, out_thresh) 547s !!!!! known failure 547s ASSERT errors for: assert (obs_thresh,out_thresh) 547s 547s Location | Observed | Expected | Reason 547s (1) 0.27112 0.34375 Abs err 0.072632 exceeds tol 0 by 0.07 547s (2) 0.67779 0.85938 Abs err 0.18158 exceeds tol 0 by 0.2 547s ***** xtest 547s ## The edge image is correct and Matlab compatible so those should 547s ## pass. However, the threshold values used to generate the edge 547s ## image are not the same as Matlab. 547s 547s in_9 = fspecial ("gaussian", [9 9], 2); 547s in_9 /= in_9(5,5); 547s 547s ## Matlab changed their implementation of the Canny method in 547s ## release 2011a. We are compatible with their new implementation 547s ## but for testing purposes, this is the expected result for the 547s ## old implementation. 547s out_9_old = logical ([ 547s 0 0 0 0 0 0 0 0 0 547s 0 0 0 0 0 0 0 0 0 547s 0 0 0 1 1 1 0 0 0 547s 0 0 1 0 0 0 1 0 0 547s 0 0 1 0 0 0 1 0 0 547s 0 0 1 0 0 0 1 0 0 547s 0 0 0 1 1 1 0 0 0 547s 0 0 0 0 0 0 0 0 0 547s 0 0 0 0 0 0 0 0 0]); 547s 547s out_9 = logical ([ 547s 0 0 0 0 0 0 0 0 0 547s 0 0 1 1 1 1 0 0 0 547s 0 1 1 0 0 1 1 0 0 547s 0 1 0 0 0 0 1 0 0 547s 0 1 0 0 0 0 1 0 0 547s 0 1 1 0 0 1 1 0 0 547s 0 0 1 1 1 1 0 0 0 547s 0 0 0 0 0 0 0 0 0 547s 0 0 0 0 0 0 0 0 0]); 547s out_thresh = [0.35 0.875]; 547s 547s [obs_edge, obs_thresh] = edge (in_9, "Canny"); 547s assert (obs_edge, out_9) 547s assert (obs_thresh, out_thresh) 547s 547s [obs_edge_givethresh, obs_thresh_givethresh] ... 547s = edge (in_9, "Canny", out_thresh); 547s assert (obs_edge_givethresh, out_9) 547s assert (obs_thresh_givethresh, out_thresh) 547s !!!!! known failure 547s ASSERT errors for: assert (obs_thresh,out_thresh) 547s 547s Location | Observed | Expected | Reason 547s (1) 0.261 0.35 Abs err 0.089001 exceeds tol 0 by 0.09 547s (2) 0.6525 0.875 Abs err 0.2225 exceeds tol 0 by 0.2 547s 24 tests, 22 passed, 2 known failures, 0 skipped 547s [inst/imcomplement.m] 547s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imcomplement.m 547s ***** assert (imcomplement (10), -9); 547s ***** assert (imcomplement (single (10)), single (-9)); 547s ***** assert (imcomplement (0.2), 0.8); 547s ***** assert (imcomplement (uint8 (0)), uint8 (255)); 547s ***** assert (imcomplement (uint8 (1)), uint8 (254)); 547s ***** assert (imcomplement (uint16 (0)), uint16 (65535)); 547s ***** assert (imcomplement (uint16 (1)), uint16 (65534)); 547s ***** assert (imcomplement (int8 (-128)), int8 ( 127)); 547s ***** assert (imcomplement (int8 ( 127)), int8 (-128)); 547s ***** assert (imcomplement (int16 (-1)), int16 ( 0)); 547s ***** assert (imcomplement (int16 ( 0)), int16 (-1)); 547s ***** assert (imcomplement (int16 ( 1)), int16 (-2)); 547s ***** assert (imcomplement ([true false true]), [false true false]) 547s ***** error imcomplement ("not an image") 547s 14 tests, 14 passed, 0 known failure, 0 skipped 547s [inst/imremap.m] 547s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imremap.m 547s ***** demo 547s ## Generate a synthetic image and show it 547s I = tril(ones(100)) + abs(rand(100)); I(I>1) = 1; 547s I(20:30, 20:30) = !I(20:30, 20:30); 547s I(70:80, 70:80) = !I(70:80, 70:80); 547s figure, imshow(I); 547s ## Resize the image to the double size and show it 547s [XI, YI] = meshgrid(linspace(1, 100, 200)); 547s warped = imremap(I, XI, YI); 547s figure, imshow(warped); 547s ***** demo 547s ## Generate a synthetic image and show it 547s I = tril(ones(100)) + abs(rand(100)); I(I>1) = 1; 547s I(20:30, 20:30) = !I(20:30, 20:30); 547s I(70:80, 70:80) = !I(70:80, 70:80); 547s figure, imshow(I); 547s ## Rotate the image around (0, 0) by -0.4 radians and show it 547s [XI, YI] = meshgrid(1:100); 547s R = [cos(-0.4) sin(-0.4); -sin(-0.4) cos(-0.4)]; 547s RXY = [XI(:), YI(:)] * R; 547s XI = reshape(RXY(:,1), [100, 100]); YI = reshape(RXY(:,2), [100, 100]); 547s warped = imremap(I, XI, YI); 547s figure, imshow(warped); 547s ***** test 547s 547s I = repmat([ 1 2 3 4 ], [4, 1]); 547s xi = [-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11]; 547s exp_rep = [ 1 1 1 1 1 1 1 1 2 3 4 4 4 4 4 4 4 4]; 547s exp_sym = [ 2 3 4 4 3 2 1 1 2 3 4 4 3 2 1 1 2 3]; 547s exp_ref = [ 2 1 2 3 4 3 2 1 2 3 4 3 2 1 2 3 4 3]; 547s exp_cir = [ 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3]; 547s yi = 2.5; 547s 547s # rectilinear grid codepath 547s assert (imremap (I, xi, yi, "bicubic", "replicate"), exp_rep); 547s assert (imremap (I, xi, yi, "bicubic", "symmetric"), exp_sym); 547s assert (imremap (I, xi, yi, "bicubic", "reflect"), exp_ref); 547s assert (imremap (I, xi, yi, "bicubic", "circular"), exp_cir); 547s 547s # meshgrid codepath 547s XI = [xi/2; xi; xi/2]; % cannot be reduced to vector, we will assert only middle row 547s YI = repmat ([1.5; yi; 3.5], [1, length(xi)]); 547s assert (imremap (I, XI, YI, "bicubic", "replicate")(2,:), exp_rep); 547s assert (imremap (I, XI, YI, "bicubic", "symmetric")(2,:), exp_sym); 547s assert (imremap (I, XI, YI, "bicubic", "reflect")(2,:), exp_ref); 547s assert (imremap (I, XI, YI, "bicubic", "circular")(2,:), exp_cir); 547s 1 test, 1 passed, 0 known failure, 0 skipped 547s [inst/integralImage3.m] 547s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/integralImage3.m 547s ***** test 547s assert (integralImage3 (zeros (4)), zeros (5, 5, 2)); 547s ***** test 547s J_res = zeros (2, 2, 2); 547s J_res(2, 2, 2) = 10; 547s assert (integralImage3 (10), J_res); 547s ***** test 547s J = integralImage3 (10); 547s assert (class (J), "double"); 547s J = integralImage3 (uint8 (10)); 547s assert (class (J), "double"); 547s ***** test 547s I = [1, 2; 3, 4]; 547s J = integralImage3 (I); 547s J_res = zeros (3, 3, 2); 547s J_res(2:3, 2:3, 2) = [1 3; 4 10]; 547s assert (J, J_res) 547s ***** test 547s I1 = [1, 2; 3, 4]; 547s I2 = [5, 6; 7, 8]; 547s I3 = [9, 10; 11, 12]; 547s I = cat (3, I1, I2, I3); 547s J = integralImage3 (I); 547s J2 = [0 0 0; 0 1 3; 0 4 10]; 547s J3 = [0 0 0; 0 6 14; 0 16 36]; 547s J4 = [0 0 0; 0 15 33; 0 36 78]; 547s J_res = cat (3, zeros (3), J2, J3, J4); 547s assert (J, J_res) 547s ***** test 547s I = magic (5); 547s J = integralImage3 (I); 547s J_res = zeros (6, 6, 2); 547s J_res(:, :, 2) = [0 0 0 0 0 0; 547s 0 17 41 42 50 65; 547s 0 40 69 77 99 130; 547s 0 44 79 100 142 195; 547s 0 54 101 141 204 260; 547s 0 65 130 195 260 325]; 547s assert (J, J_res) 547s ***** # test of 3d input image: 547s ***** test 547s K = magic (8); 547s K = reshape (K, [4 4 4]); 547s L = integralImage3 (K); 547s L1_ML = zeros (5); 547s L2_ML = [0 0 0 0 0; 547s 0 64 96 98 132; 547s 0 73 146 203 260; 547s 0 90 212 316 388; 547s 0 130 260 390 520]; 547s L3_ML = [0 0 0 0 0; 547s 0 67 134 197 260; 547s 0 130 260 390 520; 547s 0 193 386 583 780; 547s 0 260 520 780 1040]; 547s L4_ML = [0 0 0 0 0; 547s 0 127 222 291 392; 547s 0 203 406 593 780; 547s 0 287 606 903 1168; 547s 0 390 780 1170 1560]; 547s L5_ML = [0 0 0 0 0; 547s 0 134 268 394 520; 547s 0 260 520 780 1040; 547s 0 386 772 1166 1560; 547s 0 520 1040 1560 2080]; 547s L_ML = cat (3, L1_ML, L2_ML, L3_ML, L4_ML, L5_ML); 547s assert (L, L_ML) 547s ***** # test of 2d input image: 547s ***** test 547s X = ones (3); 547s Y = integralImage3 (X); 547s Y_ML = zeros (4, 4, 2); 547s Y_ML(:, :, 2) = [0 0 0 0; 0 1 2 3; 0 2 4 6; 0 3 6 9]; 547s assert(Y, Y_ML); 547s ***** error id=Octave:invalid-fun-call 547s integralImage3 (); 548s ***** error id=Octave:invalid-fun-call 548s integralImage3 (zeros (3), zeros (3)); 548s ***** error 548s integralImage3 ("abcd"); 548s ***** error 548s integralImage3 (1+i); 548s ***** error 548s integralImage3 (reshape (1:81, 3, 3, 3, 3)); 548s 13 tests, 13 passed, 0 known failure, 0 skipped 548s [inst/imextendedmax.m] 548s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imextendedmax.m 548s ***** shared im0, bw0_h2_out 548s im0 = uint8 ([0 0 0 0 0; 548s 0 1 2 1 0; 548s 0 2 5 2 0; 548s 0 1 2 1 0; 548s 0 0 0 0 0]); 548s bw0_h2_out = false (5); 548s bw0_h2_out(3,3) = true; 548s ***** error imextendedmax () 548s ***** error imextendedmax (im0) 548s ***** error imextendedmax ("hello", 2) 548s ***** error imextendedmax (i.*im0, 2) 548s ***** error imextendedmax (sparse (im0), 2) 548s ***** error imextendedmax (im0, -2) 548s ***** error imextendedmax (im0, 'a') 548s ***** error imextendedmax (im0, ones (2)) 548s ***** error imextendedmax (im0, 2*i) 548s ***** assert (imextendedmax (im0, 2), bw0_h2_out) 548s ***** assert (imextendedmax (double (im0), 2), bw0_h2_out) 548s ***** assert (imextendedmax (im0, 2, 8), bw0_h2_out) 548s ***** assert (imextendedmax (im0, 2, 4), bw0_h2_out) 548s ***** assert (imextendedmax (im0, 2, true (3)), bw0_h2_out) 548s ***** test 548s out = imextendedmax (im0, 2); 548s assert (size (out), size (im0)) 548s assert (class (out), "logical") 548s ***** test 548s out = imextendedmax (single (im0), 2); 548s assert (size (out), size (im0)) 548s assert (class (out), "logical") 548s ***** test 548s out = imextendedmax (uint8 (im0), 2); 548s assert (size (out), size (im0)) 548s assert (class (out), "logical") 548s ***** test 548s out = imextendedmax (uint16 (im0), 2); 548s assert (size (out), size (im0)) 548s assert (class (out), "logical") 548s ***** test 548s im = cat (3, im0, im0, im0, im0); 548s out = imextendedmax (im, 2); 548s assert (size (out), size (im)) 548s ***** test 548s im = zeros (10); 548s im(2:4, 2:4) = 3; 548s im(6:8, 6:8) = 8; 548s expected_4 = false (10); 548s expected_4(6:8, 6:8) = true; 548s expected_2 = expected_4; 548s expected_2(2:4, 2:4) = true; 548s out = imextendedmax (im, 4); 548s assert (out, expected_4, eps) 548s out = imextendedmax (0.1.*im, 0.4); 548s assert (out, expected_4, eps) 548s out = imextendedmax (im, 2); 548s assert (out, expected_2, eps) 548s ***** test 548s im2 = zeros (10); 548s im2(2:4, 2:4) = 3; 548s im2(6:9, 6:9)=8; 548s im2(5, 5)=8; 548s im2(6, 7)=0; 548s im2(7, 8)=0; 548s expected_8 = false (10); 548s expected_8(6:9, 6:9) = true; 548s expected_8(5, 5) = true; 548s expected_8(6, 7) = false; 548s expected_8(7, 8) = false; 548s expected_4 = expected_8; 548s expected_4(2:4, 2:4) = true; 548s out2 = imextendedmax (im2, 2); 548s assert (out2, expected_8, eps) 548s out2 = imextendedmax (im2, 2, 4); 548s assert (out2, expected_4, eps) 548s out2 = imextendedmax (im2, 2, 8); 548s assert (out2, expected_8, eps) 548s 21 tests, 21 passed, 0 known failure, 0 skipped 548s [inst/fspecial.m] 548s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/fspecial.m 548s ***** test 548s for i = 1:9 548s n = 2^i; 548s assert (sum (fspecial ("disk", n)(:)), 1, eps*n*n); 548s endfor 548s ***** test 548s for r = [3 5 9 17] 548s f = fspecial ("disk", r); 548s [X, Y] = meshgrid (-r:r, -r:r); 548s rhi = (abs (X) + 0.5).^2 + (abs (Y) + 0.5).^2; 548s rlo = (abs (X) - 0.5).^2 + (abs (Y) - 0.5).^2; 548s fhi = (rhi <= (r^2)); 548s flo = (rlo >= (r^2)); 548s for i = 1:(2*r+1) 548s for j = 1:(2*r+1) 548s if (fhi(i,j)) 548s assert (f(i,j), 1/(pi*r^2), eps); 548s endif 548s if (flo(i,j)) 548s assert (f(i,j), 0); 548s endif 548s endfor 548s endfor 548s endfor 550s ***** error 550s fspecial ("gaussian", 0) 550s ***** error 550s fspecial ("gaussian", 3.9) 550s ***** assert (fspecial ("gaussian"), fspecial ("gaussian", 3, 0.5)) 550s ***** assert (fspecial ("gaussian"), fspecial ("gaussian", [3 3], 0.5)) 550s ***** test 550s c = ([-1:1].^2) + ([-1:1]'.^2); 550s gauss = exp (- (c / (2 * (0.5 ^ 2)))); 550s f = gauss / sum (gauss(:)); 550s assert (fspecial ("gaussian"), f) 550s 550s expected = [ 550s 0.01134373655849507 0.08381950580221061 0.01134373655849507 550s 0.08381950580221061 0.61934703055717721 0.08381950580221061 550s 0.01134373655849507 0.08381950580221061 0.01134373655849507]; 550s assert (f, expected, eps) 550s ***** function f = f_gaussian_2d (hsize, sigma) 550s c = ([(-hsize(1)):(hsize(1))]'.^2) + ([(-hsize(2)):(hsize(2))].^2); 550s gauss = exp (- (c ./ (2 * (sigma .^ 2)))); 550s f = gauss ./ sum (gauss(:)); 550s ***** endfunction 550s ***** test 550s f = fspecial ("gaussian"); 550s assert (f, f_gaussian_2d ([1 1], .5)) 550s expected = [ 550s 0.01134373655849507 0.08381950580221061 0.01134373655849507 550s 0.08381950580221061 0.61934703055717721 0.08381950580221061 550s 0.01134373655849507 0.08381950580221061 0.01134373655849507]; 550s assert (f, expected, eps) 550s ***** test 550s f = fspecial ("gaussian", 7, 2); 550s assert (f, f_gaussian_2d ([3 3], 2)) 550s expected = [ 550s 0.00492233115934352 550s 0.00919612528958620 550s 0.01338028334410124 550s 0.01516184737296414 550s 0.01338028334410124 550s 0.00919612528958620 550s 0.00492233115934352 550s 0.00919612528958620 550s 0.01718062389630964 550s 0.02499766026691484 550s 0.02832606006174462 550s 0.02499766026691484 550s 0.01718062389630964 550s 0.00919612528958620 550s 0.01338028334410124 550s 0.02499766026691484 550s 0.03637138107390363 550s 0.04121417419979795 550s 0.03637138107390363 550s 0.02499766026691484 550s 0.01338028334410124 550s 0.01516184737296414 550s 0.02832606006174462 550s 0.04121417419979795 550s 0.04670177773892775]; 550s expected = reshape ([expected; expected((end-1):-1:1)], [7 7]); 550s assert (f, expected, eps) 550s ***** test 550s f = fspecial ("gaussian", [7 5], 2); 550s assert (f, f_gaussian_2d ([3 2], 2)) 550s expected = [ 550s 0.01069713252648568 550s 0.01998487459872362 550s 0.02907782096336423 550s 0.03294948784319031 550s 0.02907782096336423 550s 0.01998487459872362 550s 0.01069713252648568 550s 0.01556423598706978 550s 0.02907782096336423 550s 0.04230797985750011 550s 0.04794122192790870 550s 0.04230797985750011 550s 0.02907782096336423 550s 0.01556423598706978 550s 0.01763658993191515 550s 0.03294948784319031 550s 0.04794122192790870 550s 0.05432452146574315]; 550s expected = reshape ([expected; expected((end-1):-1:1)], [7 5]); 550s assert (f, expected, eps) 550s ***** test 550s f = fspecial ("gaussian", [4 2], 2); 550s expected = [0.10945587477855045 0.14054412522144952]; 550s expected = expected([1 1; 2 2; 2 2; 1 1]); 550s assert (f, expected, eps) 550s ***** test 550s expected =[0.04792235409415088 0.06153352068439959 0.07901060453704994]; 550s expected = expected([1 2 2 1; 2 3 3 2; 2 3 3 2; 1 2 2 1]); 550s assert (fspecial ("gaussian", 4, 2), expected) 550s ***** function f = f_gaussian_3d (lengths, sigma) 550s [x, y, z] = ndgrid (-lengths(1):lengths(1), -lengths(2):lengths(2), 550s -lengths(3):lengths(3)); 550s sig_22 = 2 * (sigma.^2); 550s f = exp (-((x.^2)/sig_22 + (y.^2)/sig_22 + (z.^2)/sig_22)); 550s f = f / sum (f(:)); 550s ***** endfunction 550s ***** test 550s obs = fspecial ("gaussian", [5 5 5]); 550s assert (obs, f_gaussian_3d ([2 2 2], .5)) 550s 550s u_values = [ 550s 0.00000000001837155 550s 0.00000000741161178 550s 0.00000005476481523 550s 0.00000299005759843 550s 0.00002209370333384 550s 0.00016325161336690 550s 0.00120627532940896 550s 0.00891323607975882 550s 0.06586040141635063 550s 0.48664620076350640]; 550s expected = zeros (5, 5, 5); 550s expected([1 5 21 25 101 105 121 125]) = u_values(1); 550s expected([2 4 6 10 16 20 22 24 26 30 46 50 76 80 96 100 102 104 106 110 116 120 122 124]) = u_values(2); 550s expected([3 11 15 23 51 55 71 75 103 111 115 123]) = u_values(3); 550s expected([7 9 17 19 27 29 31 35 41 45 47 49 77 79 81 85 91 95 97 99 107 109 117 119]) = u_values(4); 550s expected([8 12 14 18 28 36 40 48 52 54 56 60 66 70 72 74 78 86 90 98 108 112 114 118]) = u_values(5); 550s expected([13 53 61 65 73 113]) = u_values(6); 550s expected([32 34 42 44 82 84 92 94]) = u_values(7); 550s expected([33 37 39 43 57 59 67 69 83 87 89 93]) = u_values(8); 550s expected([38 58 62 64 68 88]) = u_values(9); 550s expected([63]) = u_values(10); 550s assert (obs, expected, 4 * eps) 550s ***** test 550s obs = fspecial ("gaussian", [5 5 5], 1); 550s assert (obs, f_gaussian_3d ([2 2 2], 1)) 550s 550s u_values = [ 550s 0.00016177781678373 550s 0.00072503787330278 550s 0.00119538536377748 550s 0.00324939431236223 550s 0.00535734551968363 550s 0.00883276951279243 550s 0.01456277497493249 550s 0.02400995686159072 550s 0.03958572658629712 550s 0.06526582943894763]; 550s expected = zeros (5, 5, 5); 550s expected([1 5 21 25 101 105 121 125]) = u_values(1); 550s expected([2 4 6 10 16 20 22 24 26 30 46 50 76 80 96 100 102 104 106 110 116 120 122 124]) = u_values(2); 550s expected([3 11 15 23 51 55 71 75 103 111 115 123]) = u_values(3); 550s expected([7 9 17 19 27 29 31 35 41 45 47 49 77 79 81 85 91 95 97 99 107 109 117 119]) = u_values(4); 550s expected([8 12 14 18 28 36 40 48 52 54 56 60 66 70 72 74 78 86 90 98 108 112 114 118]) = u_values(5); 550s expected([13 53 61 65 73 113]) = u_values(6); 550s expected([32 34 42 44 82 84 92 94]) = u_values(7); 550s expected([33 37 39 43 57 59 67 69 83 87 89 93]) = u_values(8); 550s expected([38 58 62 64 68 88]) = u_values(9); 550s expected([63]) = u_values(10); 550s assert (obs, expected, eps) 550s ***** test 550s obs = fspecial ("gaussian", [3 4 1 5], 3); 550s assert (find (obs == max (obs(:))), [29; 32]) 550s assert (size (obs), [3 4 1 5]) 550s assert (obs(:)(1:30), obs(:)(end:-1:31)) 550s ***** test 550s f = repmat (1/9, [3 3]); 550s assert (fspecial ("average", [3 3]), f) 550s 550s ## Test default 550s assert (fspecial ("average"), fspecial ("average", [3 3])) 550s assert (fspecial ("average"), fspecial ("average", [3])) 550s 550s f = repmat (1/21, [3 7]); 550s assert (fspecial ("average", [3 7]), f) 550s 550s f = repmat (1/40, [4 5 1 2]); 550s assert (fspecial ("average", [4 5 1 2]), f) 550s ## Behave even if it's a column vector 550s assert (fspecial ("average", [4 5 1 2]'), f) 550s 16 tests, 16 passed, 0 known failure, 0 skipped 550s [inst/isind.m] 550s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/isind.m 550s ***** assert (isind ([]), false); 550s ***** assert (isind (1:10), true); 550s ***** assert (isind (0:10), false); 550s ***** assert (isind (1), true); 550s ***** assert (isind (0), false); 550s ***** assert (isind ([1.3 2.4]), false); 550s ***** assert (isind ([1 2; 3 4]), true); 550s ***** assert (isind (randi (100, 10, 10, 1, 4)), true); 550s ***** assert (isind (randi (100, 10, 10, 3, 4)), false); 550s ***** assert (isind (randi (100, 10, 10, 1, 4, 2)), false); 550s 10 tests, 10 passed, 0 known failure, 0 skipped 550s [inst/col2im.m] 550s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/col2im.m 550s ***** demo 550s ## Divide A using distinct blocks and then reverse the operation 550s A = [ 1:10 550s 11:20 550s 21:30 550s 31:40]; 550s B = im2col (A, [2 5], "distinct") 550s C = col2im (B, [2 5], [4 10], "distinct") 550s ***** demo 550s ## Get sliding blocks of size from A into columns, calculate the 550s ## mean of each block (mean of each column), and reconstruct A 550s ## after a median filter. 550s A = reshape (1:24, [4 6]) 550s B = im2col (A, [2 3], "sliding") 550s C = mean (B); 550s col2im (C, [1 1], [3 4], "sliding") 550s ***** error col2im (ones (10), [5 5], [10 10], "wrong_block_type"); 550s ***** error col2im (ones (10), [1 1], [ 7 7], "sliding"); 550s ***** error col2im (ones (10), [3 3], [10 10], "distinct") 550s ***** error col2im (ones (10), [5 5], [10 11], "distinct"); 550s ***** assert (col2im (sum (im2col (magic (10), [3 3], "sliding")), [1 1], [8 8]), 550s convn (magic (10), ones (3, 3), "valid")); 550s ***** test 550s B = ones (1, (10-2+1)*(7-3+1)); 550s A = ones ((10-2+1), (7-3+1)); 550s assert (col2im (B, [2 3], [10 7]), A); 550s 550s ## same but different classes 550s assert (col2im (int16 (B), [2 3], [10 7]), int16 (A)); 550s assert (col2im (single (B), [2 3], [10 7]), single (A)); 550s assert (col2im (logical (B), [2 3], [10 7]), logical (A)); 550s ***** test 550s a = rand (10)(:); 550s assert (col2im (a, [1 1], [10 10]), col2im (a, [1 1], [10 10], "sliding")) 550s ***** shared A, B 550s v = [1:10]'; 550s r = reshape (1:10, [2 5]); 550s B = [v v+10 v+20 v+30 v+40 v+50]; 550s A = [r r+30 550s r+10 r+40 550s r+20 r+50]; 550s assert (col2im (B, [2 5], [6 10], "distinct"), A); 550s ***** assert (col2im (int16 (B), [2 5], [6 10], "distinct"), int16 (A)); 550s ***** assert (col2im (logical (B), [2 5], [6 10], "distinct"), logical (A)); 550s ***** assert (col2im (single (B), [2 5], [6 10], "distinct"), single (A)); 550s ***** test 550s a = rand (10, 8); 550s b = im2col (a, [5 5], "distinct"); 550s assert (col2im (b, [5 5], [10 8], "distinct"), a); 550s 550s a = rand (8); 550s b = im2col (a, [5 5], "distinct"); 550s assert (col2im (b, [5 5], [8 8], "distinct"), a); 550s ***** shared a, b 550s ## Same number of multiple dimensions 550s a = rand (10, 10, 10); 550s b = im2col (a, [5 5 5], "distinct"); 550s ***** assert (col2im (b, [5 5 5], [10 10 10], "distinct"), a); 550s 550s ## Different number of dimensions 550s a = rand (10, 10, 10); 550s b = im2col (a, [5 5], "distinct"); 550s ***** assert (col2im (b, [5 5], [10 10 10], "distinct"), a); 550s 550s ## Removing padding from multiple dimensions 550s a = rand (10, 10, 7); 550s b = im2col (a, [5 5 3], "distinct"); 550s ***** assert (col2im (b, [5 5 3], [10 10 7], "distinct"), a); 550s 550s a = rand (10, 10, 7); 550s b = im2col (a, [5 5 5 2], "distinct"); 550s ***** assert (col2im (b, [5 5 5 2], [10 10 7], "distinct"), a); 550s 15 tests, 15 passed, 0 known failure, 0 skipped 550s [inst/imregionalmax.m] 550s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imregionalmax.m 550s ***** test 550s a = [ 550s 7 3 9 3 10 3 550s 4 2 3 10 1 3 550s 1 4 6 9 4 10 550s 8 7 9 3 4 8 550s 5 9 3 3 8 9 550s 3 6 9 4 1 10]; 550s 550s a4 = [ 550s 1 0 1 0 1 0 550s 0 0 0 1 0 0 550s 0 0 0 0 0 1 550s 1 0 1 0 0 0 550s 0 1 0 0 0 0 550s 0 0 1 0 0 1]; 550s assert (imregionalmax (a, 4), logical (a4)) 550s a8 = [ 550s 1 0 0 0 1 0 550s 0 0 0 1 0 0 550s 0 0 0 0 0 1 550s 0 0 0 0 0 0 550s 0 0 0 0 0 0 550s 0 0 0 0 0 1]; 550s assert (imregionalmax (a, 8), logical (a8)) 550s assert (imregionalmax (a), logical (a8)) 550s ***** test 550s ## test float input images 550s im0 = peaks (); 550s im1 = im0 ./ 100; 550s max_pos_expected = [1000; 1214; 1691; 2353]; 550s max0 = imregionalmax (im0); 550s max0_pos = find (max0); 550s max1 = imregionalmax (im1); 550s assert (max1, max0) 550s assert (max0_pos, max_pos_expected) 550s 2 tests, 2 passed, 0 known failure, 0 skipped 550s [inst/findbounds.m] 550s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/findbounds.m 550s ***** test 550s im = checkerboard (); 550s theta = pi/6; 550s T = maketform ('affine', [cos(theta) -sin(theta); ... 550s sin(theta) cos(theta); 0 0]); 550s inbnd = [0 0; 1 1]; 550s outbnd = findbounds (T, inbnd); 550s diag = 2^.5; 550s ang = pi/4; 550s assert (diff (outbnd(:,1)), diag * abs (cos (theta - ang)), eps) 550s assert (diff (outbnd(:,2)), diag * abs (cos (theta - ang)), eps) 551s 1 test, 1 passed, 0 known failure, 0 skipped 551s [inst/rgb2lab.m] 551s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/rgb2lab.m 551s ***** assert (rgb2lab ([0 0 0]), [0, 0, 0], 1e-2) 551s ***** assert (rgb2lab ([1 0 0]), [53.24, 80.09, 67.20], 1e-2) 551s ***** assert (rgb2lab ([1 1 0]), [97.14, -21.55, 94.48], 1e-2) 551s ***** assert (rgb2lab ([0 1 0]), [87.74, -86.18, 83.18], 1e-2) 551s ***** assert (rgb2lab ([0 1 1]), [91.11, -48.09, -14.13], 1e-2) 551s ***** assert (rgb2lab ([0 0 1]), [32.30, 79.19, -107.86], 1e-2) 551s ***** assert (rgb2lab ([1 0 1]), [60.32, 98.24, -60.83], 1e-2) 551s ***** assert (rgb2lab ([1 1 1]), [100, 0.00, 0.00], 1e-2) 551s ***** assert (rgb2lab ([0.5 0.5 0.5]), [53.39, 0.00, 0.00], 1e-2) 551s ***** assert (rgb2lab ([0.75 0 0]), [39.77, 64.51, 54.13], 1e-2) 551s ***** assert (rgb2lab ([0.5 0 0]), [25.42, 47.91, 37.91], 1e-2) 551s ***** assert (rgb2lab ([0.25 0 0]), [9.66, 29.68, 15.24], 1e-2) 551s ***** assert (rgb2lab ([1 0.5 0.5]), [68.11, 48.39, 22.83], 1e-2) 551s ***** assert (rgb2lab ([1.5 1 1]), [111.47, 43.42, 17.98], 1e-2) 551s ***** test 551s rgb_map = rand (64, 3); 551s assert (lab2rgb (rgb2lab (rgb_map)), rgb_map, 2e-5); 551s ***** test 551s rgb_img = rand (64, 64, 3); 551s assert (lab2rgb (rgb2lab (rgb_img)), rgb_img, 2e-5); 551s ***** assert (rgb2lab (sparse ([0 0 1])), sparse ([32.30, 79.19, -107.86]), 1e-2) 551s ***** assert (rgb2lab (sparse ([0 1 1])), sparse ([91.11, -48.09, -14.13]), 1e-2) 551s ***** assert (rgb2lab (sparse ([1 1 1])), sparse ([100, 0.00, 0.00]), 1e-2) 551s ***** assert (rgb2lab (uint8([255 255 255])), [100, 0.00, 0.00], 1e-2) 551s ***** assert (class (rgb2lab (single([1 1 1]))), 'single') 551s ***** error rgb2lab () 551s ***** error rgb2lab (1,2) 551s ***** error rgb2lab ({1}) 551s ***** error rgb2lab (ones (2,2)) 551s ***** test 551s rgb = rand (16, 16, 3, 5); 551s lab = zeros (size (rgb)); 551s for i = 1:5 551s lab(:,:,:,i) = rgb2lab (rgb(:,:,:,i)); 551s endfor 551s assert (rgb2lab (rgb), lab) 551s 26 tests, 26 passed, 0 known failure, 0 skipped 551s [inst/lab2uint8.m] 551s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/lab2uint8.m 551s ***** test 551s cm_uint8 = uint8 ([0 1 2 3 4 127 128 200 254 255]); 551s cm_uint8 = repmat (cm_uint8(:), [1 3]); 551s im2d_uint8 = reshape (cm_uint8, [5 2 3]); 551s imnd_uint8 = permute (im2d_uint8, [1 4 3 2]); 551s 551s cm_uint16 = uint16 ([0 256 512 768 1024 32512 32768 51200 65024 65280]); 551s cm_uint16 = repmat (cm_uint16(:), [1 3]); 551s assert (lab2uint16 (cm_uint8), cm_uint16) 551s im2d_uint16 = reshape (cm_uint16, [5 2 3]); 551s assert (lab2uint16 (im2d_uint8), im2d_uint16) 551s assert (lab2uint16 (imnd_uint8), permute (im2d_uint16, [1 4 3 2])) 551s 551s l1 = 100/255; 551s cm = [ 551s 0 -128 -128 551s l1 -127 -127 551s 2*l1 -126 -126 551s 3*l1 -125 -125 551s 4*l1 -124 -124 551s 127*l1 -1 -1 551s 128*l1 0 0 551s 200*l1 72 72 551s 254*l1 126 126 551s 100 127 127]; 551s im2d = reshape (cm, [5 2 3]); 551s imnd = permute (im2d, [1 4 3 2]); 551s 551s assert (lab2double (cm_uint8), cm) 551s assert (lab2double (im2d_uint8), im2d) 551s assert (lab2double (imnd_uint8), imnd) 551s 551s assert (lab2single (cm_uint8), single (cm)) 551s assert (lab2single (im2d_uint8), single (im2d)) 551s assert (lab2single (imnd_uint8), single (imnd)) 551s 1 test, 1 passed, 0 known failure, 0 skipped 551s [inst/imfuse.m] 551s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imfuse.m 551s ***** error id=Octave:invalid-fun-call imfuse () 551s ***** error id=Octave:invalid-input-arg imfuse (1, 1, "xxx") 551s ***** error id=Octave:invalid-input-arg imfuse (1, 1, "interpolation") 551s ***** error id=Octave:invalid-input-arg imfuse (1, 1, "ColorChannels", [0 0 0]) 551s ***** error id=Octave:invalid-input-arg imfuse (1, 1, "ColorChannels", [1 1 1]) 551s ***** error id=Octave:invalid-input-arg imfuse (1, 1, "ColorChannels", [2 2 2]) 551s ***** error id=Octave:expected-less-equal imfuse (1, 1, "ColorChannels", [42 0 0]) 551s ***** error id=Octave:expected-greater-equal imfuse (1, 1, "ColorChannels", [-1 2 0]) 551s ***** error id=Octave:invalid-input-arg imfuse (1, 1, "ColorChannels", "deep-purple") 551s ***** assert (imfuse (1, 2, "blend"), uint8 (0)) 551s ***** assert (imfuse (1, 2, "blend", "Scaling", "independent"), uint8 (0)) 551s ***** assert (imfuse (1, 2, "blend", "Scaling", "joint"), uint8 (128)) 551s ***** assert (imfuse (1, 2, "blend", "Scaling", "none"), uint8 (255)) 551s ***** assert (imfuse (1, 2, "falsecolor"), uint8 (zeros (1, 1, 3))) 551s ***** test 551s a = [0 1 2]; 551s b = [0 10 20]; 551s expected = uint8 (repmat ([0 128 255], [1 1 3])); 551s assert (imfuse (a, b), expected); 551s ***** test 551s a = uint8 ([0 1 2]); 551s b = uint8 ([0 10 20]); 551s expected = uint8 (repmat ([0 128 255], [1 1 3])); 551s assert (imfuse (a, b), expected); 551s ***** test 551s a = uint8 ([0 1 2]); 551s b = uint8 ([0 10 20]); 551s expected = uint8 (repmat ([0 128 255], [1 1 3])); 551s assert (imfuse (a, b, "falsecolor"), expected); 551s ***** test 551s a = logical([0 1 1]); 551s b = logical([0 1 1]); 551s expected = uint8 (repmat ([0 255 255], [1 1 3])); 551s assert (imfuse (a, b), expected); 551s ***** test 551s a = logical([0 1 1]); 551s b = logical([0 1 1]); 551s expected = uint8 (repmat ([0 255 255], [1 1 3])); 551s assert (imfuse (a, b, "falsecolor"), expected); 551s ***** test 551s a = [0 1 2]; 551s b = [0 10 20]; 551s expected = uint8 (repmat ([0 255 255], [1 1 3])); 551s assert (imfuse (a, b, "Scaling", "none"), expected); 551s ***** test 551s a = uint8 ([0 1 2]); 551s b = uint8 ([0 10 20]); 551s expected = uint8 (zeros ([1, 3, 3])); 551s expected(:, :, 1) = [0 10 20]; 551s expected(:, :, 2) = [0 1 2]; 551s expected(:, :, 3) = [0 10 20]; 551s assert (imfuse (a, b, "Scaling", "none"), expected); 551s ***** test 551s a = [0 1 2]; 551s b = uint8 ([0 10 20]); 551s expected = uint8 (zeros ([1, 3, 3])); 551s expected(:, :, 1) = [0 10 20]; 551s expected(:, :, 2) = [0 255 255]; 551s expected(:, :, 3) = [0 10 20]; 551s assert (imfuse (a, b, "Scaling", "none"), expected); 551s ***** test 551s a = uint8 ([0 1 2]); 551s b = [0 10 20]; 551s expected = uint8 (zeros ([1, 3, 3])); 551s expected(:, :, 1) = [0 255 255]; 551s expected(:, :, 2) = [0 1 2]; 551s expected(:, :, 3) = [0 255 255]; 551s assert (imfuse (a, b, "Scaling", "none"), expected); 551s ***** test 551s a = [0 .1 2]; 551s b = [0 .01 .02]; 551s expected = uint8 (zeros ([1, 3, 3])); 551s expected(:, :, 1) = [0 3 5]; 551s expected(:, :, 2) = [0 26 255]; 551s expected(:, :, 3) = [0 3 5]; 551s assert (imfuse (a, b, "Scaling", "none"), expected); 551s ***** test 551s a = [0 1 2]; 551s b = [0 10 20]; 551s expected = uint8 (zeros ([1, 3, 3])); 551s expected(:, :, 1) = [0 128 255]; 551s expected(:, :, 2) = [0 13 26]; 551s expected(:, :, 3) = [0 128 255]; 551s assert (imfuse (a, b, "Scaling", "joint"), expected); 551s ***** test 551s a = uint8 ([0 1 2]); 551s b = [0 10 20]; 551s expected = uint8 (zeros ([1, 3, 3])); 551s expected(:, :, 1) = [0 128 255]; 551s expected(:, :, 2) = [0 13 26]; 551s expected(:, :, 3) = [0 128 255]; 551s assert (imfuse (a, b, "Scaling", "joint"), expected); 551s ***** test 551s a = [0 150 300]; 551s b = uint8 ([0 10 20]); 551s expected = uint8 (zeros ([1, 3, 3])); 551s expected(:, :, 1) = [0 9 17]; 551s expected(:, :, 2) = [0 128 255]; 551s expected(:, :, 3) = [0 9 17]; 551s assert (imfuse (a, b, "Scaling", "joint"), expected); 551s ***** test 551s a = uint8 ([0 1 2]); 551s b = uint8 ([0 10 20]); 551s expected = uint8 (zeros ([1, 3, 3])); 551s expected(:, :, 1) = [0 128 255]; 551s expected(:, :, 2) = [0 13 26]; 551s expected(:, :, 3) = [0 128 255]; 551s assert (imfuse (a, b, "Scaling", "joint"), expected); 551s ***** test 551s a = [0 1 2]; 551s b = [0 10 20]; 551s expected = uint8 (zeros ([1, 3, 3])); 551s expected(:, :, 1) = [0 0 0]; 551s expected(:, :, 2) = [0 128 255]; 551s expected(:, :, 3) = [0 13 26]; 551s assert (imfuse (a, b, "Scaling", "joint", "ColorChannels", [0 2 1]), expected); 551s ***** test 551s a = [0 1 2]; 551s b = [0 10 15]; 551s c = imfuse (a, b, "ColorChannels", "red-cyan"); 551s expected = uint8 (zeros (1, 3, 3)); 551s expected(:, :, 1) = [0 128 255]; 551s expected(:, :, 2) = [0 170 255]; 551s expected(:, :, 3) = [0 170 255]; 551s assert (c, expected); 551s ***** test 551s a = [0 1 2]; 551s b = [0 10 15]; 551s c = imfuse (a, b, "ColorChannels", "green-magenta"); 551s expected = uint8 (zeros (1, 3, 3)); 551s expected(:, :, 1) = [0 170 255]; 551s expected(:, :, 2) = [0 128 255]; 551s expected(:, :, 3) = [0 170 255]; 551s assert (c, expected); 551s ***** test 551s a = [0 5 2]; 551s b = [0 10 20]; 551s assert (imfuse (a, b, "diff"), uint8 ([0 213 255])); 551s ***** test 551s a = [0 5 2]; 551s b = [0 10 20]; 551s assert (imfuse (a, b, "diff", "Scaling", "joint"), uint8 ([0 71 255])); 551s ***** test 551s a = [0 5 2]; 551s b = [0 10 20]; 551s assert (imfuse (a, b, "blend"), uint8 ([0 192 179])); 551s ***** test 551s a = magic (5); 551s b = a'; 551s c = imfuse (a, b, "falsecolor"); 551s expected = zeros (5, 5, 3); 551s expected(:, :, 1) = [ 551s 170 234 32 96 106 551s 244 43 53 117 181 551s 0 64 128 191 255 551s 74 138 202 213 11 551s 149 159 223 21 85]; 551s expected(:, :, 2) = [ 551s 170 244 0 74 149 551s 234 43 64 138 159 551s 32 53 128 202 223 551s 96 117 191 213 21 551s 106 181 255 11 85]; 551s expected(:, :, 3) = [ 551s 170 234 32 96 106 551s 244 43 53 117 181 551s 0 64 128 191 255 551s 74 138 202 213 11 551s 149 159 223 21 85]; 551s assert (c, uint8 (expected)); 551s ***** test 551s a = magic (5); 551s b = a'; 551s assert (imfuse (uint8 (a), uint8 (b), "blend", "Scaling", "none"), 551s uint8 ([17 24 3 9 13 551s 24 5 7 13 17 551s 3 7 13 20 24 551s 9 13 20 21 3 551s 13 17 24 3 9])); 551s ***** test 551s a = magic (5); 551s b = 2 * a'; 551s assert (imfuse (a, b, "blend", "Scaling", "independent"), 551s uint8 ([170 239 16 85 128 551s 239 43 59 128 170 551s 16 59 128 197 239 551s 85 128 197 213 16 551s 128 170 239 16 85])); 551s ***** test 551s a = magic (5); 551s b = 2 * a'; 551s assert (imfuse (a, b, "blend", "Scaling", "joint"), 551s uint8 ([128 177 18 68 91 551s 180 34 44 94 130 551s 11 47 96 146 182 551s 63 99 149 159 13 551s 102 125 175 16 65])); 551s ***** test 551s a = [0 1.2 5]; 551s b = [5 6.13 12]; 551s assert (imfuse (a, b, "blend"), uint8 ([0 51 255])); 551s ***** test 551s a = [0 5 2]; 551s b = [0 10 20]; 551s assert (imfuse (a, b, "blend", "Scaling", "joint"), uint8 ([0 96 141])); 551s ***** test 551s a = [0 5 2]; 551s b = [0 10 20]; 551s assert (imfuse (a, b, "montage"), uint8 ([0 255 102 0 128 255])); 551s ***** test 551s a = zeros (1, 100); 551s b = 2 * ones (1, 100); 551s assert (imfuse (a, b, "montage"), uint8 ([zeros(1, 200)])); 551s assert (imfuse (a, b, "montage", "Scaling", "none"), 551s uint8 ([zeros(1, 100), 255 * ones(1, 100)])); 551s ***** test 551s a = zeros (1, 100, 3); 551s b = 2 * ones (1, 100); 551s assert (imfuse (a, b, "montage"), uint8 ([zeros(1, 200, 3)])); 551s ***** test 551s a = 0.1 * ones (50, 50); 551s b = 0.2 * ones (50, 50); 551s c = imfuse (a, b, "checkerboard", "Scaling", "none"); 551s d = imresize (repmat([26, 51; 51, 26], [8, 8]), [50, 50], "nearest"); 551s assert (all (c(:) == d(:))); 551s ***** test 551s a = zeros (2, 2); 551s b = zeros (2, 2); 551s ra = imref2d (size (a), [0, 2], [0, 2]); 551s rb = imref2d (size (b), [0, 2], [2, 4]); 551s [c, rc] = imfuse (a, ra, b, rb, "falsecolor"); 551s assert (rc.ImageSize, [4, 2]); 551s assert (rc.XWorldLimits, [0, 2]); 551s assert (rc.YWorldLimits, [0, 4]); 551s assert (rc.PixelExtentInWorldX, 1); 551s assert (rc.PixelExtentInWorldY, 1); 551s assert (rc.ImageExtentInWorldX, 2); 551s assert (rc.ImageExtentInWorldY, 4); 551s assert (rc.XIntrinsicLimits, [0.5, 2.5]); 551s assert (rc.YIntrinsicLimits, [0.5, 4.5]); 551s assert (c, uint8 (zeros (4, 2, 3))); 551s ***** xtest 551s a = zeros (5, 3); 551s b = ones (6, 5); 551s ra = imref2d (size (a), [15, 30], [2, 4]); 551s rb = imref2d (size (b), [10, 50], [5.5, 6.7]); 551s [c, rc] = imfuse (a, ra, b, rb, "falsecolor"); 551s assert (rc.ImageSize, [24, 8]); 551s assert (rc.XWorldLimits, [10, 50]); 551s assert (rc.YWorldLimits, [2, 6.7]); 551s assert (rc.PixelExtentInWorldX, 5); 551s assert (rc.PixelExtentInWorldY, 0.19583333, 10e-9); 551s assert (rc.ImageExtentInWorldX, 40); 551s assert (rc.ImageExtentInWorldY, 4.7); 551s assert (rc.XIntrinsicLimits, [0.5, 8.5]); 551s assert (rc.YIntrinsicLimits, [0.5, 24.5]); 551s expected = uint8 (zeros (24, 8, 3)); 551s expected(19:23, 2:7, 1) = 255 * ones (5, 6); 551s expected(19:23, 2:7, 3) = 255 * ones (5, 6); 551s assert (c, expected); 551s !!!!! known failure 551s ASSERT errors for: assert (c,expected) 551s 551s Location | Observed | Expected | Reason 551s (19,2,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (20,2,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (21,2,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (22,2,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (23,2,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (19,3,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (20,3,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (21,3,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (22,3,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (23,3,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (19,4,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (20,4,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (21,4,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (22,4,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (23,4,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (19,5,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (20,5,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (21,5,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (22,5,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (23,5,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (19,6,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (20,6,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (21,6,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (22,6,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (23,6,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (19,7,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (20,7,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (21,7,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (22,7,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (23,7,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (19,2,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (20,2,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (21,2,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (22,2,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (23,2,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (19,3,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (20,3,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (21,3,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (22,3,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (23,3,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (19,4,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (20,4,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (21,4,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (22,4,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (23,4,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (19,5,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (20,5,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (21,5,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (22,5,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (23,5,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (19,6,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (20,6,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (21,6,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (22,6,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (23,6,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (19,7,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (20,7,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (21,7,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (22,7,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (23,7,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s ***** test 551s a = uint8 (reshape (1:1:9, [1 3 3])); 551s b = uint8 (reshape (10:2:26, [1 3 3])); 551s c = imfuse (a, b); 551s expected = uint8 (zeros (1, 3, 3)); 551s expected(:, :, 1) = [0 128 255]; 551s expected(:, :, 2) = [0 128 255]; 551s expected(:, :, 3) = [0 128 255]; 551s assert (c, expected); 551s ***** test 551s a = uint8 (reshape (1:1:9, [1 3 3])); 551s b = uint8 (reshape (10:2:26, [1 3 3])); 551s c = imfuse (a, b, "Scaling", "independent"); 551s expected = uint8 (zeros (1, 3, 3)); 551s expected(:, :, 1) = [0 128 255]; 551s expected(:, :, 2) = [0 128 255]; 551s expected(:, :, 3) = [0 128 255]; 551s assert (c, expected); 551s ***** test 551s a = uint8 (reshape (1:1:9, [1 3 3])); 551s b = uint8 (reshape (10:2:26, [1 3 3])); 551s c = imfuse (a, b, "Scaling", "joint"); 551s expected = uint8 (zeros (1, 3, 3)); 551s expected(:, :, 1) = [191 223 255]; 551s expected(:, :, 2) = [0 16 32]; 551s expected(:, :, 3) = [191 223 255]; 551s assert (c, expected); 551s ***** test 551s a = uint8 (reshape (1:1:9, [1 3 3])); 551s b = uint8 (reshape (10:2:26, [1 3 3])); 551s c = imfuse (a, b, "Scaling", "none"); 551s expected = uint8 (zeros (1, 3, 3)); 551s expected(:, :, 1) = [15 17 19]; 551s expected(:, :, 2) = [3 4 5]; 551s expected(:, :, 3) = [15 17 19]; 551s assert (c, expected); 551s ***** xtest 551s a = zeros (5, 3); 551s b = ones (5, 3); 551s ra = imref2d (size (a), [10, 20], [30, 40]); 551s rb = imref2d (size (b), [10, 20], [30, 40]); 551s [c, rc] = imfuse (a, ra, b, rb, "falsecolor"); 551s expected = uint8 (zeros (5, 3, 3)); 551s expected(:, 1:2, 1) = 255 * ones (5, 2); 551s expected(:, 1:2, 3) = 255 * ones (5, 2); 551s assert (rc.ImageSize, [5, 3]); 551s assert (rc.XWorldLimits, [10, 20]); 551s assert (rc.YWorldLimits, [30, 40]); 551s assert (rc.PixelExtentInWorldX, 3.33333333, 10e-9); 551s assert (rc.PixelExtentInWorldY, 2); 551s assert (rc.ImageExtentInWorldX, 10); 551s assert (rc.ImageExtentInWorldY, 10); 551s assert (rc.XIntrinsicLimits, [0.5, 3.5]); 551s assert (rc.YIntrinsicLimits, [0.5, 5.5]); 551s assert (c, expected); 551s !!!!! known failure 551s ASSERT errors for: assert (c,expected) 551s 551s Location | Observed | Expected | Reason 551s (1,1,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (2,1,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (3,1,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (4,1,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (5,1,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (1,2,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (2,2,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (3,2,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (4,2,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (5,2,1) 0 255 Abs err 0 exceeds tol 0 by 0 551s (1,1,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (2,1,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (3,1,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (4,1,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (5,1,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (1,2,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (2,2,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (3,2,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (4,2,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s (5,2,3) 0 255 Abs err 0 exceeds tol 0 by 0 551s ***** test 551s a = zeros (5, 5); 551s b = ones (5, 5); 551s ra = imref2d (size (a), [10, 20], [30, 40]); 551s rb = imref2d (size (b), [10, 20], [30, 40]); 551s [c, rc] = imfuse (a, ra, b, rb, "falsecolor"); 551s expected = uint8 (zeros (5, 5, 3)); 551s assert (rc.ImageSize, [5, 5]); 551s assert (rc.XWorldLimits, [10, 20]); 551s assert (rc.YWorldLimits, [30, 40]); 551s assert (rc.PixelExtentInWorldX, 2); 551s assert (rc.PixelExtentInWorldY, 2); 551s assert (rc.ImageExtentInWorldX, 10); 551s assert (rc.ImageExtentInWorldY, 10); 551s assert (rc.XIntrinsicLimits, [0.5, 5.5]); 551s assert (rc.YIntrinsicLimits, [0.5, 5.5]); 551s assert (c, expected); 551s ***** test 551s a = magic (5); 551s b = ones (5, 5); 551s ra = imref2d (size (a), [10, 20], [30, 40]); 551s rb = imref2d (size (b), [10, 20], [30, 40]); 551s [c, rc] = imfuse (a, ra, b, rb, "falsecolor", "Scaling", "independent"); 551s expected = uint8 (zeros (5, 5, 3)); 551s expected(:, :, 2) = [ 551s 170 244 0 74 149 551s 234 43 64 138 159 551s 32 53 128 202 223 551s 96 117 191 213 21 551s 106 181 255 11 85]; 551s assert (rc.ImageSize, [5, 5]); 551s assert (rc.XWorldLimits, [10, 20]); 551s assert (rc.YWorldLimits, [30, 40]); 551s assert (rc.PixelExtentInWorldX, 2); 551s assert (rc.PixelExtentInWorldY, 2); 551s assert (rc.ImageExtentInWorldX, 10); 551s assert (rc.ImageExtentInWorldY, 10); 551s assert (rc.XIntrinsicLimits, [0.5, 5.5]); 551s assert (rc.YIntrinsicLimits, [0.5, 5.5]); 551s assert (c, expected); 551s 53 tests, 51 passed, 2 known failures, 0 skipped 551s [inst/affine3d.m] 551s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/affine3d.m 551s ***** test 551s Sx = 1.2; 551s Sy = 1.6; 551s Sz = 2.4; 551s A = [Sx 0 0 0; 0 Sy 0 0; 0 0 Sz 0; 0 0 0 1]; 551s tform = affine3d (A); 551s [X, Y, Z] = transformPointsForward (tform, 5, 10, 3); 551s assert ([X Y Z], [6 16 7.2], 5*eps) 551s [U, V, W] = transformPointsInverse (tform, X, Y, Z); 551s assert ([U V W], [5 10 3], eps) 551s assert (! isRigid (tform)) 551s assert (! isTranslation (tform)) 551s assert (! isSimilarity (tform)) 551s ***** test 551s A = [3 1 2 0; 4 5 8 0; 6 2 1 0; 0 0 0 1]; 551s tform = affine3d (A); 551s [X, Y, Z] = transformPointsForward (tform, 2, 3, 5); 551s assert (X, 48, eps) 551s assert (Y, 27, eps) 551s assert (Z, 33, eps) 551s [U, V, W] = transformPointsInverse (tform, X, Y, Z); 551s assert (U, 2, 50*eps) 551s assert (V, 3, 50*eps) 551s assert (W, 5, 50*eps) 551s assert (! isRigid (tform)) 551s assert (! isTranslation (tform)) 551s assert (! isSimilarity (tform)) 551s ***** test 551s A = [1 0 0 0; 0 1 0 0; 0 0 1 0; 5 10 1 1]; 551s tform = affine3d (A); 551s X = transformPointsForward (tform, [1 2 3; 4 5 6; 7 8 9]); 551s assert (round (X), [6, 12, 4; 9, 15, 7; 12, 18, 10]) 551s U = transformPointsInverse (tform, X); 551s assert (round (U), [1 2 3; 4 5 6; 7 8 9]) 551s assert (isRigid (tform)) 551s assert (isTranslation (tform)) 551s assert (isSimilarity (tform)) 551s ***** test 551s Sx = 1.2; 551s Sy = 1.6; 551s Sz = 2.4; 551s A = [Sx 0 0 0; 0 Sy 0 0; 0 0 Sz 0; 0 0 0 1]; 551s tform = affine3d (A); 551s [xlim, ylim, zlim] = outputLimits (tform, [1 128], [1 128], [1 27]); 551s assert (xlim, [ 1.2000 153.6000],1e-8) 551s assert (ylim, [1.6000 204.8000], 1e-8) 551s assert (zlim, [2.4000 64.8000], 1e-8) 551s ***** error affine3d (1, 2) 551s ***** error outputLimits (affine2d()) 551s ***** test 551s a = 23; 551s M = [cosd(a) 0 sind(a) 0; 551s 0 1 0 0; 551s -sind(a) 0 cosd(a) 0; 551s 0 0 0 1]; 551s tform = affine3d (M); 551s tform2 = invert (tform); 551s assert (tform.T * tform2.T, diag([1 1 1 1]), eps); 551s ***** test 551s tform = affine3d; 551s assert (tform.T, eye (4)) 551s assert (tform.Dimensionality, 3) 551s 8 tests, 8 passed, 0 known failure, 0 skipped 551s [inst/isgray.m] 551s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/isgray.m 551s ***** assert (isgray ([0 0 1; 1 0 1]), true) 551s ***** assert (isgray (zeros (3)), true) 551s ***** assert (isgray (ones (3)), true) 551s ***** test 551s a = rand (10); 551s assert (isgray (a), true); 551s a(5, 5) = 2; 551s assert (isgray (a), false); 551s ***** test 551s a = uint8 (randi (255, 10)); 551s assert (isgray (a), true); 551s a = int8 (a); 551s assert (isgray (a), false); 551s ***** test 551s a = rand (10); 551s a(50) = NaN; 551s assert (isgray (a), true); 551s ***** assert (isgray (rand (5, 5, 1, 4)), true); 551s ***** assert (isgray (rand (5, 5, 3, 4)), false); 551s ***** assert (isgray (rand (5, 5, 3)), false); 551s ***** assert (isgray (rand (5, 5, 1, 3, 4)), false); 551s ***** assert (isgray (rand (5, "single")), true) 551s ***** assert (isgray ([.1 .2 .3; .4 NaN .6; .7 .8 .9]), true) 551s ***** assert (isgray ([.1 .2 .3; NA NaN .6; .7 .8 .9]), true) 551s ***** assert (isgray ([.1 .2 .3; NA .5 .6; .7 .8 .9]), true) 551s ***** assert (isgray (NaN (5)), false) 551s ***** assert (isgray (NA (5)), false) 551s 16 tests, 16 passed, 0 known failure, 0 skipped 551s [inst/imsubtract.m] 551s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imsubtract.m 551s ***** assert (imsubtract (uint8 ([23 250]), uint8 ([24 50])), uint8 ([ 0 200])); # default to first class and truncate 551s ***** assert (imsubtract (uint8 ([23 250]), 10), uint8 ([13 240])); # works subtracting a scalar 551s ***** assert (imsubtract (uint8 ([23 250]), uint8 ([24 50]), "uint16"), uint16 ([ 0 200])); # defining output class works (not in matlab) 551s ***** assert (imsubtract (logical ([ 1 0]), logical ([ 1 1])), double ([ 0 -1])); # return double for two logical images 551s ***** assert (imsubtract (logical ([ 1 0]), logical ([ 1 1]), "logical"), logical ([ 0 0])); # this is matlab incompatible on purpose 551s ***** error imsubtract (uint8 ([23 250]), uint16 ([23 250])); 551s ***** warning imsubtract (uint8 ([23 250]), uint8 ([24 255]), "int8"); 551s ***** test 551s warning ("off", "all"); 551s assert (imsubtract (uint8 ([23 250]), uint8 ([24 255]), "int8"), 551s int8 ([-1 0])) 551s 8 tests, 8 passed, 0 known failure, 0 skipped 551s [inst/imclearborder.m] 551s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imclearborder.m 551s ***** test 551s a = logical ([ 551s 0 1 0 0 1 0 0 0 0 1 551s 1 0 0 0 0 1 0 0 0 0 551s 0 1 0 0 0 0 0 0 0 0 551s 1 0 1 0 1 0 1 0 0 1 551s 0 0 0 0 0 0 0 1 1 0 551s 0 0 1 0 0 1 0 1 0 0 551s 0 1 0 1 0 1 1 0 0 0 551s 0 0 0 1 0 0 0 0 0 0 551s 0 0 0 1 0 1 1 0 0 0 551s 0 0 0 1 1 0 0 0 1 0]); 551s 551s a4 = logical ([ 551s 0 0 0 0 0 0 0 0 0 0 551s 0 0 0 0 0 1 0 0 0 0 551s 0 1 0 0 0 0 0 0 0 0 551s 0 0 1 0 1 0 1 0 0 0 551s 0 0 0 0 0 0 0 1 1 0 551s 0 0 1 0 0 1 0 1 0 0 551s 0 1 0 0 0 1 1 0 0 0 551s 0 0 0 0 0 0 0 0 0 0 551s 0 0 0 0 0 1 1 0 0 0 551s 0 0 0 0 0 0 0 0 0 0]); 551s 551s a8 = logical ([ 551s 0 0 0 0 0 0 0 0 0 0 551s 0 0 0 0 0 0 0 0 0 0 551s 0 0 0 0 0 0 0 0 0 0 551s 0 0 0 0 1 0 0 0 0 0 551s 0 0 0 0 0 0 0 0 0 0 551s 0 0 0 0 0 0 0 0 0 0 551s 0 0 0 0 0 0 0 0 0 0 551s 0 0 0 0 0 0 0 0 0 0 551s 0 0 0 0 0 0 0 0 0 0 551s 0 0 0 0 0 0 0 0 0 0]); 551s 551s assert (imclearborder (a, 4), a4) 551s assert (imclearborder (a, [0 1 0; 1 1 1; 0 1 0]), a4) 551s assert (imclearborder (a), a8) 551s assert (imclearborder (a, 8), a8) 551s assert (imclearborder (a, ones (3)), a8) 551s ***** test 551s a = false (5, 5, 3); 551s a(2:4,2:4,:) = true; 551s assert (imclearborder (a, 4), a) 551s 551s a(1,2) = true; 551s a4 = a; 551s a4(:,:,1) = false; 551s assert (imclearborder (a, 4), a4) 551s 2 tests, 2 passed, 0 known failure, 0 skipped 551s [inst/entropyfilt.m] 551s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/entropyfilt.m 551s ***** test 551s a = log2 (9) * ones (5, 5); 551s b = -(2*log2 (2/9) + log2 (1/9))/3; 551s a(1,2:4) = b; 551s a(5,2:4) = b; 551s a(2:4,1) = b; 551s a(2:4,5) = b; 551s c = -(4*log2 (4/9) + 4*log2 (2/9) + log2 (1/9))/9; 551s a(1,1) = c; 551s a(5,1) = c; 551s a(1,5) = c; 551s a(5,5) = c; 551s assert (entropyfilt (uint8 (magic (5)), ones (3, 3)), a, 2*eps); 551s ***** test 551s assert (entropyfilt (uint8 (ones (10, 10))), zeros (10, 10)); 551s ***** test 551s A = zeros (3,3); 551s B = ones (3,3); 551s C = [1 1 1; 2 2 2; 3 3 3]; 551s D = C'; 551s E = ones (3,3); 551s E(2,2) = 2; 551s F = 3 .* ones (3,3); 551s F(2,2) = 1; 551s G = [-1 2 7; -5 2 8; -7 pi 9]; 551s H = [5 2 8; 1 -3 1; 5 1 0]; 551s Hf = mat2gray(H); 551s X = uint8(abs(H)); 551s P = [0.2 0.201 0.204; 0.202 0.203 0.205; 0.205 0.206 0.202]; 551s Q = uint16([100 101 103; 100 105 102; 100 102 103]); 551s R = uint8([1 2 3 4 5; 11 12 13 14 15; 21 22 4 5 6; 5 5 3 2 1; 15 14 14 14 14]); 551s Aout = zeros (3); 551s Bout = zeros (3); 551s Cout = zeros (3); 551s Dout = zeros (3); 551s Eout = zeros (3); 551s Fout = zeros (3); 551s Gout_1 = -sum([2 7]./9.*log2([2 7]./9)); 551s Gout_2 = -sum([3 6]./9.*log2([3 6]./9)); 551s Gout_3 = -sum([4 5]./9.*log2([4 5]./9)); 551s Gout = [Gout_1 Gout_2 Gout_3; Gout_1 Gout_2 Gout_3; Gout_1 Gout_2 Gout_3]; 551s Hout_5 = -sum([2 7]./9.*log2([2 7]./9)) ; 551s Hout = [0.8916 0.8256 0.7412; 0.8256 Hout_5 0.6913; 0.7412 0.6913 0.6355]; 551s Hfout_5 = -sum([3 2 1 1 1 1]./9.*log2([3 2 1 1 1 1]./9)); 551s Hfout = [2.3613 2.3296 2.2252; 2.4571 Hfout_5 2.3090; 2.4805 2.4488 2.3445]; 551s Xout_5 = -sum([1 1 1 1 2 3]./9.*log2([1 1 1 1 2 3]./9)); 551s Xout = [2.3613 2.3296 2.2252; 2.4571 Xout_5 2.3090; 2.4805 2.4488 2.3445]; 551s Pout_5 = -sum([1 2 6]./9.*log2([1 2 6]./9)); 551s Pout = [1.1137 1.1730 1.2251; 1.1595 Pout_5 1.2774; 1.1556 1.2183 1.2635]; 551s Qout = zeros(3); 551s Rout = [3.5143 3.5700 3.4871 3.4957 3.4825; 551s 3.4705 3.5330 3.4341 3.4246 3.3890; 551s 3.3694 3.4063 3.3279 3.3386 3.3030; 551s 3.3717 3.4209 3.3396 3.3482 3.3044; 551s 3.4361 3.5047 3.3999 3.4236 3.3879]; 551s assert (entropyfilt (A), Aout); 551s assert (entropyfilt (B), Bout); 551s assert (entropyfilt (C), Cout); 551s assert (entropyfilt (D), Dout); 551s assert (entropyfilt (E), Eout); 551s assert (entropyfilt (F), Fout); 551s assert (entropyfilt (G), Gout, 1e-4); 551s assert (entropyfilt (H), Hout, 1e-4); 551s assert (entropyfilt (Hf), Hfout, 1e-4); 551s assert (entropyfilt (X), Xout, 1e-4); 551s assert (entropyfilt (P), Pout, 1e-4); 551s assert (entropyfilt (Q), Qout); 551s assert (entropyfilt (R), Rout, 1e-4); 552s 3 tests, 3 passed, 0 known failure, 0 skipped 552s [inst/imsharpen.m] 552s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imsharpen.m 552s ***** test 552s A = zeros (7, 7); 552s A(4,4) = 1; 552s B = [ 552s 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 552s 0.00000 -0.00238 -0.01064 -0.01755 -0.01064 -0.00238 0.00000 552s 0.00000 -0.01064 -0.04771 -0.07866 -0.04771 -0.01064 0.00000 552s 0.00000 -0.01755 -0.07866 1.67032 -0.07866 -0.01755 0.00000 552s 0.00000 -0.01064 -0.04771 -0.07866 -0.04771 -0.01064 0.00000 552s 0.00000 -0.00238 -0.01064 -0.01755 -0.01064 -0.00238 0.00000 552s 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000]; 552s assert (imsharpen (A), B, 5e-6) 552s ***** test 552s A = zeros (7, 7); 552s A(4,4) = 1; 552s B = [ 552s -0.0035147 -0.0065663 -0.0095539 -0.0108259 -0.0095539 -0.0065663 -0.0035147 552s -0.0065663 -0.0122674 -0.0178490 -0.0202255 -0.0178490 -0.0122674 -0.0065663 552s -0.0095539 -0.0178490 -0.0259701 -0.0294280 -0.0259701 -0.0178490 -0.0095539 552s -0.0108259 -0.0202255 -0.0294280 1.7666538 -0.0294280 -0.0202255 -0.0108259 552s -0.0095539 -0.0178490 -0.0259701 -0.0294280 -0.0259701 -0.0178490 -0.0095539 552s -0.0065663 -0.0122674 -0.0178490 -0.0202255 -0.0178490 -0.0122674 -0.0065663 552s -0.0035147 -0.0065663 -0.0095539 -0.0108259 -0.0095539 -0.0065663 -0.0035147]; 552s assert (imsharpen (A, "radius", 2), B, 5e-8) 552s ***** test 552s A = zeros (7, 7); 552s A(4,4) = 1; 552s assert (imsharpen (A, "radius", 0.01), A) 552s ***** test 552s A = zeros (7, 7); 552s A(4,4) = 1; 552s B = A; 552s B(3:5,3:5) = -0.000000000011110; 552s B(3:5,4) = -0.000002981278097; 552s B(4,3:5) = -0.000002981278097; 552s B(4,4) = 1.000011925156828; 552s assert (imsharpen (A, "radius", 0.2), B, eps*10) 552s ***** test 552s A = zeros (7, 7); 552s A(4,4) = 1; 552s B = [ 552s 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 552s 0.00000 -0.00297 -0.01331 -0.02194 -0.01331 -0.00297 0.00000 552s 0.00000 -0.01331 -0.05963 -0.09832 -0.05963 -0.01331 0.00000 552s 0.00000 -0.02194 -0.09832 1.83790 -0.09832 -0.02194 0.00000 552s 0.00000 -0.01331 -0.05963 -0.09832 -0.05963 -0.01331 0.00000 552s 0.00000 -0.00297 -0.01331 -0.02194 -0.01331 -0.00297 0.00000 552s 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000]; 552s assert (imsharpen (A, "amount", 1), B, 5e-6) 552s ***** test 552s A = zeros (7, 7); 552s A(4,4) = 1; 552s B = zeros (7, 7); 552s B(4,4) = 1.670317742690299; 552s B(4,3) = -0.078656265079077; 552s B(3,4) = -0.078656265079077; 552s B(4,5) = -0.078656265079077; 552s B(5,4) = -0.078656265079077; 552s assert (imsharpen (A, "Threshold", 0.117341762), B, eps*10) 552s ***** test 552s A = zeros (7, 7); 552s A(4,4) = 1; 552s B = zeros (7, 7); 552s B(4,4) = 1.670317742690299; 552s assert (imsharpen (A, "Threshold", 0.117341763), B, eps*10) 552s ***** test 552s A = zeros (7, 7, "uint8"); 552s A(3:5,3:5) = 150; 552s B = zeros (7, 7, "uint8"); 552s B(3:5,3:5) = 211; 552s B(4,3:5) = 195; 552s B(3:5,4) = 195; 552s B(4,4) = 175; 552s assert (imsharpen (A), B) 552s ***** test 552s A = zeros (7, 7, "uint8"); 552s A(3:5,3:5) = 100; 552s B = zeros (7, 7, "uint8"); 552s B(3:5,3:5) = 173; 552s assert (imsharpen (A, "radius", 4), B) 552s ***** test 552s A = zeros (7, 7, 3, "uint8"); 552s A(4,4,:) = 255; 552s assert (imsharpen (A), A) 552s ***** xtest 552s A = zeros(7,7,3, "uint8"); 552s A(4,4,1) = 255; 552s B = A; 552s B(4,4,2) = 146; # Octave result is 145; 552s B(4,4,3) = 100; # Octave result is 99; 552s assert (imsharpen (A), B) 552s !!!!! known failure 552s ASSERT errors for: assert (imsharpen (A),B) 552s 552s Location | Observed | Expected | Reason 552s (4,4,2) 145 146 Abs err 0 exceeds tol 0 by 0 552s (4,4,3) 99 100 Abs err 0 exceeds tol 0 by 0 552s ***** xtest 552s A = zeros (7, 7, 3, "uint8"); 552s A(3:5,3:5,1) = 100; 552s A(3:5,3:5,2) = 150; 552s B = A; 552s B(3:5,3:5,1) = 164; 552s B(3:5,4,1) = 146; # Octave result is 147 552s B(4,3:5,1) = 146; # Octave result is 145 552s B(4,4,1) = 125; # Octave result is 126 552s B(3:5,3:5,2) = 213; 552s B(3:5,4,2) = 195; # Octave result is 196 552s B(4,3:5,2) = 195; # Octave result is 196 552s B(4,4,2) = 175; 552s B(3:5,3:5,3) = 79; 552s B(3:5,4,3) = 62; 552s B(4,3:5,3) = 62; 552s B(4,4,3) = 40; # Octave result is 39 552s assert (imsharpen (A), B) 552s !!!!! known failure 552s ASSERT errors for: assert (imsharpen (A),B) 552s 552s Location | Observed | Expected | Reason 552s (4,3,1) 147 146 Abs err 1 exceeds tol 0 by 1 552s (3,4,1) 147 146 Abs err 1 exceeds tol 0 by 1 552s (4,4,1) 126 125 Abs err 1 exceeds tol 0 by 1 552s (5,4,1) 147 146 Abs err 1 exceeds tol 0 by 1 552s (4,5,1) 147 146 Abs err 1 exceeds tol 0 by 1 552s (4,3,2) 196 195 Abs err 1 exceeds tol 0 by 1 552s (3,4,2) 196 195 Abs err 1 exceeds tol 0 by 1 552s (5,4,2) 196 195 Abs err 1 exceeds tol 0 by 1 552s (4,5,2) 196 195 Abs err 1 exceeds tol 0 by 1 552s (4,4,3) 39 40 Abs err 0 exceeds tol 0 by 0 552s ***** error imsharpen () 552s ***** error imsharpen (ones (3, 3), "Radius") 552s ***** error imsharpen (ones (3, 3), "Radius", 0) 552s ***** error imsharpen (ones (3, 3), "Amount", -1) 552s ***** error imsharpen (ones (3, 3), "Threshold", 1.5) 552s ***** error imsharpen (ones (3, 3), "Threshold", -1) 552s ***** error imsharpen (ones (3, 3), "foo") 552s ***** error imsharpen ("foo") 552s 20 tests, 18 passed, 2 known failures, 0 skipped 552s [inst/imgetfile.m] 552s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imgetfile.m 552s ***** assert (1) 552s 1 test, 1 passed, 0 known failure, 0 skipped 552s [inst/iptcheckmap.m] 552s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/iptcheckmap.m 552s ***** test ("iptcheckmap (jet(64), 'func', 'var', 2)"); # simple must work 552s ***** fail ("iptcheckmap (3, 'func', 'var', 2)"); # not a colormap 552s 2 tests, 2 passed, 0 known failure, 0 skipped 552s [inst/immultiply.m] 552s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/immultiply.m 552s ***** assert (immultiply (uint8 ([255 50]), uint16 ([300 50])), uint8 ([255 255])); # default to first class and truncate 552s ***** assert (immultiply (uint8 ([250 50]), uint16 ([ 3 4]), "uint32"), uint32 ([750 200])); # defining output class works (not in matlab?) 552s ***** assert (immultiply (uint8 ([255 50]), 4), uint8 ([255 200])); # works multiplying by a scalar 552s ***** assert (immultiply (logical ([ 1 0]), uint16 ([300 50])), uint16 ([300 0])); # output class defaults to whatever input is not logical 552s ***** assert (immultiply (logical ([ 1 0]), logical ([ 1 1])), double ([ 1 0])); # tested on matlab for compatibility 552s 5 tests, 5 passed, 0 known failure, 0 skipped 552s [inst/edgetaper.m] 552s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/edgetaper.m 552s ***** assert (class (edgetaper (rand (100), rand (16))), "double") 552s ***** assert (class (edgetaper (randi (255, 100, "uint8"), rand (16))), "uint8") 552s 2 tests, 2 passed, 0 known failure, 0 skipped 552s [inst/@imref2d/contains.m] 552s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/@imref2d/contains.m 552s ***** error id=Octave:invalid-fun-call contains (imref2d) 552s ***** error id=Octave:invalid-fun-call contains (imref2d, 1) 552s ***** error id=Octave:invalid-fun-call contains (imref2d, 1, 2, 3) 552s ***** error id=Octave:invalid-input-arg contains (imref2d, 1, [2, 3]) 552s ***** error id=Octave:invalid-input-arg contains (imref2d, [1, 2], 3) 552s ***** error id=Octave:expected-real contains (imref2d, 0, j) 552s ***** error id=Octave:expected-real contains (imref2d, j, 0) 552s ***** assert (contains (imref2d, [], []), logical( zeros (0, 0))) 552s ***** assert (contains (imref2d, [1, 2; 3, 4], [5, -6; 7, 8]), logical (zeros (2, 2))) 552s ***** test 552s r = imref2d ([256, 256]); 552s assert (contains(r, [5, 8, 8], [5, 10, 257]), logical([1, 1, 0])) 552s 10 tests, 10 passed, 0 known failure, 0 skipped 552s [inst/@imref2d/intrinsicToWorld.m] 552s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/@imref2d/intrinsicToWorld.m 552s ***** error id=Octave:invalid-fun-call intrinsicToWorld (imref2d) 552s ***** error id=Octave:invalid-fun-call intrinsicToWorld (imref2d, 1, 2, 3) 552s ***** error id=Octave:expected-real intrinsicToWorld (imref2d, 1j, 2) 552s ***** error id=Octave:expected-real intrinsicToWorld (imref2d, 1, 2j) 552s ***** error id=Octave:invalid-input-arg intrinsicToWorld (imref2d, [1, 2], 3) 552s ***** error id=Octave:invalid-input-arg intrinsicToWorld (imref2d, [1], [2, 3]) 552s ***** test 552s r = imref2d ([512, 512], 0.3125, 0.3125); 552s xIntrinsic = [34, 442]; 552s yIntrinsic = [172, 172]; 552s [xWorld, yWorld] = intrinsicToWorld (r, xIntrinsic, yIntrinsic); 552s assert (xWorld, [10.625, 138.125]) 552s assert (yWorld, [53.75, 53.75]) 552s ***** test 552s [xWorld, yWorld] = intrinsicToWorld (imref2d, -5.3, -2.8); 552s assert (xWorld, -5.3) 552s assert (yWorld, -2.8) 552s ***** test 552s [xW, yW] = intrinsicToWorld (imref2d, [1, 2; 3, 4], [2, 3; 5, 9]); 552s assert (xW, [1, 2; 3, 4]) 552s assert (yW, [2, 3; 5, 9]) 552s 9 tests, 9 passed, 0 known failure, 0 skipped 552s [inst/@imref2d/sizesMatch.m] 552s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/@imref2d/sizesMatch.m 552s ***** error id=Octave:invalid-fun-call sizesMatch (imref2d) 553s ***** test 553s I = zeros (256, 256); 553s r = imref2d ([256, 256]); 553s assert (sizesMatch (r, I), true) 553s I2 = zeros (246, 300); 553s assert (sizesMatch (r, I2), false) 553s ***** test 553s r = imref2d ([256, 256]); 553s assert (sizesMatch (r, []), false) 553s ***** test 553s r = imref2d ([256, 256]); 553s assert (sizesMatch (r, 42), false) 553s ***** test 553s r = imref2d ([256, 256]); 553s assert (sizesMatch (r, zeros (256, 256, 3, 2)), true) 553s ***** test 553s I = zeros (384, 512, 3); 553s r = imref2d (size (I)); 553s assert (sizesMatch (r, I), true) 553s 6 tests, 6 passed, 0 known failure, 0 skipped 553s [inst/@imref2d/imref2d.m] 553s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/@imref2d/imref2d.m 553s ***** error id=Octave:invalid-fun-call imref2d (1, 2, 3, 4) 553s ***** error id=Octave:invalid-input-arg imref2d (42) 553s ***** error id=Octave:invalid-input-arg imref2d ([42]) 553s ***** error id=Octave:expected-integer imref2d ([4.2, 42]) 553s ***** error id=Octave:expected-positive imref2d ([0, 0]) 553s ***** error id=Octave:expected-positive imref2d ([-4, 2]) 553s ***** error id=Octave:expected-positive imref2d ([4, 2], 0, 2) 553s ***** error id=Octave:expected-positive imref2d ([4, 2], 2, 0) 553s ***** error id=Octave:expected-real imref2d ([4, 2], j, 2) 553s ***** error id=Octave:expected-real imref2d ([4, 2], 2, j) 553s ***** error id=Octave:expected-real imref2d ([4, 2], [j, 2], [3, 4]) 553s ***** error id=Octave:expected-real imref2d ([4, 2], [1, 2], [j, 4]) 553s ***** error id=Octave:expected-vector imref2d ([4, 2], [], []) 553s ***** error id=Octave:expected-vector imref2d ([4, 2], [], [1]) 553s ***** error id=Octave:expected-scalar imref2d ([4, 2], [1], []) 553s ***** error id=Octave:incorrect-size imref2d ([4, 2], [1, 2], [0]) 553s ***** error id=Octave:incorrect-size imref2d ([4, 2], [1, 2], [1, 2, 3]) 553s ***** error id=Octave:incorrect-size imref2d ([4, 2], [1, 2, 3], [1, 2]) 553s ***** error id=Octave:incorrect-size imref2d ([4, 2], [1; 2], [1, 2]) 553s ***** error id=Octave:incorrect-size imref2d ([4, 2], [1, 2], [1; 2]) 553s ***** error id=Octave:invalid-indexing imref2d().InvalidProperty 553s ***** error id=Octave:expected-increasing imref2d ([100 200], [1.5 0.5], [2.5 3.5]) 553s ***** error id=Octave:expected-increasing imref2d ([100 200], [1.5 2.5], [2.5 1.5]) 553s ***** test 553s r = imref2d; 553s assert (r.XWorldLimits, [0.5, 2.5]) 553s assert (r.YWorldLimits, [0.5, 2.5]) 553s assert (r.ImageSize, [2, 2]) 553s assert (r.PixelExtentInWorldX, 1) 553s assert (r.PixelExtentInWorldY, 1) 553s assert (r.ImageExtentInWorldX, 2) 553s assert (r.ImageExtentInWorldY, 2) 553s assert (r.XIntrinsicLimits, [0.5, 2.5]) 553s assert (r.YIntrinsicLimits, [0.5, 2.5]) 553s ***** test 553s r = imref2d ([100, 200]); 553s assert (r.XWorldLimits, [0.5, 200.5]) 553s assert (r.YWorldLimits, [0.5, 100.5]) 553s assert (r.ImageSize, [100, 200]) 553s assert (r.PixelExtentInWorldX, 1) 553s assert (r.PixelExtentInWorldY, 1) 553s assert (r.ImageExtentInWorldX, 200) 553s assert (r.ImageExtentInWorldY, 100) 553s assert (r.XIntrinsicLimits, [0.5, 200.5]) 553s assert (r.YIntrinsicLimits, [0.5, 100.5]) 553s ***** test 553s xWorldLimits = [2, 5]; 553s yWorldLimits = [3, 6]; 553s r = imref2d ([291, 240], xWorldLimits, yWorldLimits); 553s assert (r.XWorldLimits, [2, 5]) 553s assert (r.YWorldLimits, [3, 6]) 553s assert (r.ImageSize, [291, 240]) 553s assert (r.PixelExtentInWorldX, 0.0125) 553s assert (r.PixelExtentInWorldY, 0.0103, 1e-3) 553s assert (r.ImageExtentInWorldX, 3) 553s assert (r.ImageExtentInWorldY, 3) 553s assert (r.XIntrinsicLimits, [0.5, 240.5]) 553s assert (r.YIntrinsicLimits, [0.5, 291.5]) 553s ***** test 553s pixelExtentInWorldX = 0.3125; 553s pixelExtentInWorldY = 0.3125; 553s r = imref2d ([512, 512], pixelExtentInWorldX, pixelExtentInWorldY); 553s assert (r.XWorldLimits, [0.15625, 160.1562], 1e-4) 553s assert (r.YWorldLimits, [0.15625, 160.1562], 1e-4) 553s assert (r.ImageSize, [512, 512]) 553s assert (r.PixelExtentInWorldX, 0.3125) 553s assert (r.PixelExtentInWorldY, 0.3125) 553s assert (r.ImageExtentInWorldX, 160) 553s assert (r.ImageExtentInWorldY, 160) 553s assert (r.XIntrinsicLimits, [0.5, 512.5]) 553s assert (r.YIntrinsicLimits, [0.5, 512.5]) 553s ***** test 553s pixelExtentInWorldX = 0.1; 553s pixelExtentInWorldY = 0.4; 553s r = imref2d ([100, 200], pixelExtentInWorldX, pixelExtentInWorldY); 553s assert (r.XWorldLimits, [0.05, 20.05], 1e-4) 553s assert (r.YWorldLimits, [0.2, 40.2], 1e-4) 553s assert (r.ImageSize, [100, 200]) 553s assert (r.PixelExtentInWorldX, 0.1) 553s assert (r.PixelExtentInWorldY, 0.4) 553s assert (r.ImageExtentInWorldX, 20) 553s assert (r.ImageExtentInWorldY, 40) 553s assert (r.XIntrinsicLimits, [0.5, 200.5]) 553s assert (r.YIntrinsicLimits, [0.5, 100.5]) 553s ***** test 553s r = imref2d; 553s assert (r.XWorldLimits, [0.5, 2.5]) 553s assert (r.YWorldLimits, [0.5, 2.5]) 553s assert (r.ImageSize, [2, 2]) 553s assert (r.PixelExtentInWorldX, 1) 553s assert (r.PixelExtentInWorldY, 1) 553s assert (r.ImageExtentInWorldX, 2) 553s assert (r.ImageExtentInWorldY, 2) 553s assert (r.XIntrinsicLimits, [0.5, 2.5]) 553s assert (r.YIntrinsicLimits, [0.5, 2.5]) 553s r.ImageSize = [800, 600]; 553s assert (r.XWorldLimits, [0.5, 2.5]) 553s assert (r.YWorldLimits, [0.5, 2.5]) 553s assert (r.ImageSize, [800, 600]) 553s assert (r.PixelExtentInWorldX, 0.003333, 1e-5) 553s assert (r.PixelExtentInWorldY, 0.0025) 553s assert (r.ImageExtentInWorldX, 2) 553s assert (r.ImageExtentInWorldY, 2) 553s assert (r.XIntrinsicLimits, [0.5, 600.5]) 553s assert (r.YIntrinsicLimits, [0.5, 800.5]) 553s ***** test 553s r = imref2d; 553s assert (r.XWorldLimits, [0.5, 2.5]) 553s assert (r.YWorldLimits, [0.5, 2.5]) 553s assert (r.ImageSize, [2, 2]) 553s assert (r.PixelExtentInWorldX, 1) 553s assert (r.PixelExtentInWorldY, 1) 553s assert (r.ImageExtentInWorldX, 2) 553s assert (r.ImageExtentInWorldY, 2) 553s assert (r.XIntrinsicLimits, [0.5, 2.5]) 553s assert (r.YIntrinsicLimits, [0.5, 2.5]) 553s r.XWorldLimits = [-60, 13.33]; 553s r.YWorldLimits = [-900.8, -560.26]; 553s assert (r.XWorldLimits, [-60, 13.33]) 553s assert (r.YWorldLimits, [-900.8, -560.26]) 553s assert (r.PixelExtentInWorldX, 36.6650) 553s assert (r.PixelExtentInWorldY, 170.27, 1e-5) 553s assert (r.ImageExtentInWorldX, 73.33, 1e-5) 553s assert (r.ImageExtentInWorldY, 340.54, 1e-5) 553s assert (r.XIntrinsicLimits, [0.5, 2.5]) 553s assert (r.YIntrinsicLimits, [0.5, 2.5]) 553s ***** test 553s r = imref2d; 553s fail ("r.XWorldLimits = []", "") 553s fail ("r.XWorldLimits = [1]", "") 553s fail ("r.XWorldLimits = [j]", "") 553s fail ("r.XWorldLimits = [1; 2]", "") 553s fail ("r.YWorldLimits = []", "") 553s fail ("r.YWorldLimits = [1]", "") 553s fail ("r.YWorldLimits = [j]", "") 553s fail ("r.YWorldLimits = [1; 2]", "") 553s ***** assert (imref2d ([4, 2, 3]).ImageSize, [4, 2]); 553s 32 tests, 32 passed, 0 known failure, 0 skipped 553s [inst/@imref2d/worldToIntrinsic.m] 553s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/@imref2d/worldToIntrinsic.m 553s ***** error id=Octave:invalid-fun-call worldToIntrinsic (imref2d) 553s ***** error id=Octave:invalid-fun-call worldToIntrinsic (imref2d, 1, 2, 3) 553s ***** error id=Octave:expected-real worldToIntrinsic (imref2d, 1j, 2) 553s ***** error id=Octave:expected-real worldToIntrinsic (imref2d, 1, 2j) 553s ***** error id=Octave:invalid-input-arg worldToIntrinsic (imref2d, [1, 2], 3) 553s ***** error id=Octave:invalid-input-arg worldToIntrinsic (imref2d, [1], [2, 3]) 553s ***** test 553s r = imref2d ([512, 512], 0.3125, 0.3125); 553s xW = [38.44, 39.44, 38.44, -0.2]; 553s yW = [68.75, 68.75, 75.75, -1]; 553s [xI, yI] = worldToIntrinsic (r, xW, yW); 553s assert (xI, [123.008, 126.208, 123.008, -0.64], 1e-6) 553s assert (yI, [220, 220, 242.4, -3.2], 1e-6) 553s 7 tests, 7 passed, 0 known failure, 0 skipped 553s [inst/@imref2d/worldToSubscript.m] 553s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/@imref2d/worldToSubscript.m 553s ***** error id=Octave:invalid-fun-call worldToSubscript (imref2d) 553s ***** error id=Octave:invalid-fun-call worldToSubscript (imref2d, 1, 2, 3) 553s ***** error id=Octave:expected-real worldToSubscript (imref2d, 1j, 2) 553s ***** error id=Octave:expected-real worldToSubscript (imref2d, 1, 2j) 553s ***** error id=Octave:invalid-input-arg worldToSubscript (imref2d, [1, 2], 3) 553s ***** error id=Octave:invalid-input-arg worldToSubscript (imref2d, [1], [2, 3]) 553s ***** test 553s r = imref2d ([512, 512], 0.3125, 0.3125); 553s xW = [38.44, 39.44, 38.44, -0.2]; 553s yW = [68.75, 68.75, 75.75, -1]; 553s [rS, cS] = worldToSubscript (r, xW, yW); 553s assert (rS, [220, 220, 242, NaN]) 553s assert (cS, [123, 126, 123, NaN]) 553s 7 tests, 7 passed, 0 known failure, 0 skipped 553s [inst/rgb2ycbcr.m] 553s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/rgb2ycbcr.m 553s ***** test 553s in(:,:,1) = magic (5); 553s in(:,:,2) = magic (5); 553s in(:,:,3) = magic (5); 553s out(:,:,1) = [31 37 17 23 29 553s 36 20 22 28 30 553s 19 21 27 33 35 553s 25 26 32 34 19 553s 25 31 37 18 24]; 553s out(:,:,2) = 128; 553s out(:,:,3) = 128; 553s assert (rgb2ycbcr (uint8 (in)), uint8 (out)); 553s ***** shared cbcr 553s cbcr = 0.5019607843137255; 553s out(1:10, 1) = linspace (16/255, 235/255, 10); 553s out(:, [2 3]) = cbcr; 553s assert (rgb2ycbcr (gray (10)), out, 0.00001); 553s ***** assert (rgb2ycbcr ([1 1 1]), [0.92157 cbcr cbcr], 0.0001); 553s ***** assert (class (rgb2ycbcr (single (rand (5, 5, 3)))), "single") 553s 3 tests, 3 passed, 0 known failure, 0 skipped 553s [inst/bwunpack.m] 553s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/bwunpack.m 553s ***** error id=Octave:invalid-fun-call bwunpack () 554s ***** error bwunpack (uint8 (1)) 554s ***** error bwunpack (uint32 (1), -1) 554s ***** error bwunpack (uint32 (1), 4.2) 554s ***** xtest 554s ## bug #55521 554s assert (bwunpack (uint32 (2.^[0:31])), logical (eye (32))) 554s ***** xtest 554s ## bug #55521 554s assert (bwunpack (uint32 (repmat (7, [1 3 3 3])), 3), true (3, 3, 3, 3)) 554s ***** assert (bwunpack (uint32 (zeros (0, 0))), false (0, 0)) 554s ***** assert (bwunpack (uint32 (zeros (0, 0)), 0), false (0, 0)) 554s ***** assert (bwunpack (uint32 (zeros (0, 5)), 0), false (0, 5)) 554s ***** assert (bwunpack (uint32 (zeros (0, 5, 7)), 0), false (0, 5, 7)) 554s ***** assert (bwunpack (uint32 (zeros (1, 0))), false (32, 0)) 554s ***** assert (bwunpack (uint32 (zeros (2, 0, 7))), false (64, 0, 7)) 554s ***** assert (bwunpack (uint32 (zeros (2, 0, 7))), false (64, 0, 7)) 554s ***** assert (bwunpack (uint32 (zeros (2, 0, 7)), 60), false (60, 0, 7)) 554s ***** error 554s bwunpack (uint32 (1), 1042) 554s 15 tests, 15 passed, 0 known failure, 0 skipped 554s [inst/roicolor.m] 554s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/roicolor.m 554s ***** demo 554s roicolor([1:10],2,4); 554s % Returns '1' where input values are between 2 and 4 (both included). 554s ***** assert(roicolor([1:10],2,4),logical([0,1,1,1,zeros(1,6)])); 554s ***** assert(roicolor([1,2;3,4],3,3),logical([0,0;1,0])); 554s ***** assert(roicolor([1,2;3,4],[1,4]),logical([1,0;0,1])); 554s 3 tests, 3 passed, 0 known failure, 0 skipped 554s [inst/bwmorph.m] 554s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/bwmorph.m 554s ***** demo 554s bwmorph (true (11), "shrink", Inf) 554s # Should return 0 matrix with 1 pixel set to 1 at (6,6) 554s ***** test 554s slBW = logical ([ 0 0 0 0 0 0 0 554s 0 1 0 0 0 0 0 554s 0 0 1 1 0 0 0 554s 0 0 1 1 0 0 0 554s 0 0 1 1 1 0 0 554s 0 0 1 1 1 0 0 554s 0 1 1 1 1 1 0 554s 0 1 1 1 1 1 0 554s 0 1 1 1 1 1 0 554s 0 1 1 1 1 1 0 554s 0 1 1 1 1 1 0 554s 0 0 0 0 0 0 0]); 554s 554s rslBW = logical ([ 0 0 0 0 0 0 0 554s 0 1 0 0 0 0 0 554s 0 0 1 1 0 0 0 554s 0 0 1 1 0 0 0 554s 0 0 0 0 0 0 0 554s 0 0 0 1 0 0 0 554s 0 0 0 1 0 0 0 554s 0 0 0 0 0 0 0 554s 0 0 0 1 0 0 0 554s 0 0 0 0 0 0 0 554s 0 0 0 0 0 0 0 554s 0 0 0 0 0 0 0]); 554s assert (bwmorph (slBW, "skel-lantuejoul", 1), [rslBW(1:5,:); false(7, 7)]); 554s assert (bwmorph (slBW, "skel-lantuejoul", 2), [rslBW(1:8,:); false(4, 7)]); 554s assert (bwmorph (slBW, "skel-lantuejoul", 3), rslBW); 554s assert (bwmorph (slBW, "skel-lantuejoul", Inf), rslBW); 554s ***** test 554s bw = [ 554s 0 1 1 1 1 1 554s 0 1 1 1 1 1 554s 0 1 1 1 1 1 554s 1 1 1 1 1 1 554s 1 1 1 1 1 1 554s 1 1 1 1 1 1 554s 1 1 1 1 1 0 554s 1 1 1 1 1 0 554s 1 1 1 1 1 0]; 554s 554s final = logical ([ 554s 0 1 0 0 0 1 554s 0 0 1 0 1 0 554s 0 0 0 1 0 0 554s 0 0 0 1 0 0 554s 0 0 1 1 0 0 554s 0 0 1 0 0 0 554s 0 0 1 0 0 0 554s 0 1 0 1 0 0 554s 1 0 0 0 1 0]); 554s assert (bwmorph (bw, "skel", Inf), final) 554s assert (bwmorph (bw, "skel", 3), final) 554s ***** error bwmorph ("not a matrix", "dilate") 554s ***** assert (bwmorph (magic (10), "dilate"), imdilate (logical (magic (10)), ones (3))); 554s ***** test 554s in = logical ([1 1 0 0 1 0 1 0 0 0 1 1 1 0 1 1 0 1 0 0 554s 1 1 1 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 0 0 554s 0 1 1 1 0 1 1 0 0 0 1 1 0 0 1 1 0 0 1 0 554s 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 554s 0 1 0 0 1 1 0 1 1 0 0 0 0 0 1 1 0 0 1 0 554s 0 0 1 1 1 1 1 0 0 1 0 1 1 1 0 0 1 0 0 1 554s 0 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 1 0 0 554s 1 0 1 1 1 0 1 1 0 1 0 0 1 1 1 0 0 1 0 0 554s 1 0 1 1 1 0 1 0 0 1 0 0 1 1 0 0 1 1 1 0 554s 1 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 554s 1 1 1 1 1 1 0 1 0 1 0 0 0 0 0 0 1 0 1 1 554s 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 554s 0 0 1 1 0 1 1 1 1 0 0 1 0 0 0 0 1 0 1 1 554s 0 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 0 0 554s 0 0 1 0 0 0 0 0 0 1 0 0 1 1 1 1 0 0 0 0 554s 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 554s 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 554s 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 1 1 1 554s 0 0 1 1 0 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 554s 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 1]); 554s se = strel ("arbitrary", ones (3)); 554s 554s assert (bwmorph (in, "dilate"), imdilate (in, se)); 554s assert (bwmorph (in, "dilate", 3), imdilate (imdilate (imdilate (in, se), se), se)); 554s assert (bwmorph (in, "bothat"), imbothat (in, se)); 554s assert (bwmorph (in, "tophat"), imtophat (in, se)); 554s assert (bwmorph (in, "open"), imopen (in, se)); 554s assert (bwmorph (in, "close"), imclose (in, se)); 554s ***** assert (bwmorph ([1 0 0; 1 0 1; 0 0 1], "bridge"), logical ([1 1 0; 1 1 1; 0 1 1])); 554s ***** assert (bwmorph ([0 0 0; 1 0 1; 0 0 1], "clean"), logical ([0 0 0; 0 0 1; 0 0 1])); 554s ***** assert (bwmorph ([0 0 0; 0 1 0; 0 0 0], "clean"), false (3)); 554s ***** assert (bwmorph ([0 1 0; 1 0 0; 0 0 0], "diag"), logical ([1 1 0; 1 1 0; 0 0 0])); 554s ***** test 554s in = logical ([0 1 0 1 0 554s 1 1 1 0 1 554s 1 0 0 1 0 554s 1 1 1 0 1 554s 1 1 1 1 1]); 554s out = logical ([0 1 0 1 0 554s 1 1 1 1 1 554s 1 0 0 1 0 554s 1 1 1 1 1 554s 1 1 1 1 1]); 554s assert (bwmorph (in, "fill"), out); 554s ***** assert (bwmorph ([1 1 1; 0 1 0; 1 1 1], "hbreak"), logical ([1 1 1; 0 0 0; 1 1 1])); 554s ***** test 554s in = logical ([0 1 0 0 0 554s 1 0 0 1 0 554s 1 0 1 0 0 554s 1 1 1 1 1 554s 1 1 1 1 1]); 554s 554s out = logical ([0 1 0 0 0 554s 1 0 0 1 0 554s 1 0 1 0 0 554s 1 1 0 1 1 554s 1 1 1 1 1]); 554s assert (bwmorph (in, "remove"), out); 554s 554s out = logical ([0 1 0 0 0 554s 1 0 0 1 0 554s 1 0 1 0 0 554s 1 1 0 1 1 554s 1 1 1 1 1]); 554s assert (bwmorph (in, "remove", Inf), out); 554s ***** xtest 554s ## tests for spur are failing (matlab incompatible) 554s in = logical ([0 1 0 0 0 554s 1 0 0 1 0 554s 1 0 1 0 0 554s 1 1 1 1 1 554s 1 1 1 1 1]); 554s 554s out = logical ([0 1 0 0 0 554s 1 0 0 0 0 554s 1 0 1 0 0 554s 1 1 1 1 1 554s 1 1 1 1 1]); 554s assert (bwmorph (in, "spur"), out); 554s 554s out = logical ([0 1 0 0 0 554s 1 0 0 0 0 554s 1 0 0 0 0 554s 1 1 1 1 1 554s 1 1 1 1 1]); 554s assert (bwmorph (in, "spur", Inf), out); 554s !!!!! known failure 554s ASSERT errors for: assert (bwmorph (in, "spur"),out) 554s 554s Location | Observed | Expected | Reason 554s (1,2) 0 1 Abs err 1 exceeds tol 0 by 1 554s ***** test 554s bw = false (3, 3); 554s bw(3, 1) = true; 554s out = bwmorph (bw, "thicken", 0); 554s assert (out, bw) 554s ***** test 554s bw = false (8, 7); 554s bw(8, 1) = true; 554s expected = logical ([ 554s 0 0 0 0 0 0 0 554s 1 0 0 0 0 0 0 554s 1 1 0 0 0 0 0 554s 1 1 1 0 0 0 0 554s 1 1 1 1 0 0 0 554s 1 1 1 1 1 0 0 554s 1 1 1 1 1 1 0 554s 1 1 1 1 1 1 1]); 554s out = bwmorph (bw, "thicken", 6); 554s assert (out, expected) 554s ***** test 554s bw = false (8, 7); 554s bw(2, 4) = true; 554s expected = logical ([ 554s 0 0 1 1 1 0 0 554s 0 1 1 1 1 1 0 554s 0 0 1 1 1 0 0 554s 0 0 0 1 0 0 0 554s 0 0 0 0 0 0 0 554s 0 0 0 0 0 0 0 554s 0 0 0 0 0 0 0 554s 0 0 0 0 0 0 0]); 554s out = bwmorph (bw, "thicken", 2); 554s assert (out, expected) 554s ***** test 554s bw = false (8, 7); 554s bw (6, 3) = true ; 554s expected1 = logical ([ 554s 0 0 0 0 0 0 0 554s 0 0 0 0 0 0 0 554s 0 0 0 0 0 0 0 554s 0 0 0 0 0 0 0 554s 0 0 1 0 0 0 0 554s 0 1 1 1 0 0 0 554s 0 0 1 0 0 0 0 554s 0 0 0 0 0 0 0]); 554s expected3 = logical ([ 554s 0 0 0 0 0 0 0 554s 0 0 0 0 0 0 0 554s 0 0 1 0 0 0 0 554s 0 1 1 1 0 0 0 554s 1 1 1 1 1 0 0 554s 1 1 1 1 1 1 0 554s 1 1 1 1 1 0 0 554s 0 1 1 1 0 0 0]); 554s out1 = bwmorph (bw, "thicken", 1); 554s out3 = bwmorph (bw, "thicken", 3); 554s assert (out1, expected1) 554s assert (out3, expected3) 554s ***** test 554s bw = false (10, 10); 554s bw(2, 3) = true; 554s bw(7, 7) = true; 554s out_inf = bwmorph (bw, "thicken", Inf); 554s assert (out_inf(1, 9), false) 554s ***** test 554s bw = false (3, 3); 554s bw(3, 1) = true; 554s out = bwmorph (bw, "thicken", 4); 554s assert (out, true (3, 3)) 554s ***** xtest 554s ## bug #44396 554s in = [ 554s 0 0 0 1 0 554s 1 1 1 1 0 554s 0 0 1 1 0 554s 0 0 1 1 0 554s 0 0 0 1 0]; 554s out = [ 554s 0 0 0 0 0 554s 0 1 1 0 0 554s 0 0 0 1 0 554s 0 0 0 0 0 554s 0 0 0 0 0]; 554s assert (bwmorph (in, "shrink"), logical (out)); 554s !!!!! known failure 554s ASSERT errors for: assert (bwmorph (in, "shrink"),logical (out)) 554s 554s Location | Observed | Expected | Reason 554s (2,4) 1 0 Abs err 1 exceeds tol 0 by 1 554s (3,4) 0 1 Abs err 1 exceeds tol 0 by 1 554s (4,4) 1 0 Abs err 1 exceeds tol 0 by 1 554s (5,4) 1 0 Abs err 1 exceeds tol 0 by 1 554s ***** test 554s H = false (7,7); 554s H(2:3,2:3) = 1; 554s H(5:6,5:6) = 1; 554s T = logical([0 0 0 0 0 0 0; 554s 0 0 0 0 0 0 0; 554s 0 1 0 0 0 0 0; 554s 0 0 0 0 0 0 0; 554s 0 0 0 0 0 0 0; 554s 0 0 0 0 1 0 0; 554s 0 0 0 0 0 0 0]); 554s out = bwmorph (H, "thin", 1); 554s assert (T, out) 554s 554s H(4:6,4:6) = 1; 554s T = logical([0 0 0 0 0 0 0; 554s 0 0 0 0 0 0 0; 554s 0 1 1 0 0 0 0; 554s 0 0 0 1 0 0 0; 554s 0 0 0 0 1 0 0; 554s 0 0 0 0 0 0 0; 554s 0 0 0 0 0 0 0]); 554s out = bwmorph (H, "thin", 1); 554s assert (T, out) 554s 554s H3 = [0 0 0 0 0 0; 554s 0 1 1 1 0 0; 554s 0 1 1 1 0 0; 554s 0 0 0 1 0 1; 554s 0 0 0 0 1 1; 554s 0 0 0 1 1 1]; 554s out3 = bwmorph (H3, "thin", 1); 554s expected3 = logical( 554s [0 0 0 0 0 0; 554s 0 0 0 0 0 0; 554s 0 1 1 0 0 0; 554s 0 0 0 1 0 1; 554s 0 0 0 0 1 0; 554s 0 0 0 1 1 0]); 554s assert (out3, expected3) 554s 554s out33 = bwmorph (H3, "thin", 2); 554s expected33 = logical( 554s [0 0 0 0 0 0; 554s 0 0 0 0 0 0; 554s 0 1 1 0 0 0; 554s 0 0 0 1 0 1; 554s 0 0 0 0 1 0; 554s 0 0 0 1 0 0]); 554s assert (out33, expected33) 554s 554s out333 = bwmorph (H3, "thin", inf); 554s assert (out333, expected33) 554s ***** test 554s in = logical ([ 554s 1 0 0 0 554s 0 1 0 0 554s 0 0 1 0 554s 0 0 0 0]); 554s out = logical ([ 554s 1 0 0 0 554s 0 0 0 0 554s 0 0 1 0 554s 0 0 0 0]); 554s assert (bwmorph (in, "endpoints"), out); 554s 554s A = logical ([0 0 0 0 0; 0 0 1 0 0; 0 1 1 1 0; 0 0 1 0 0; 0 0 0 0 0]); 554s B = logical ([0 0 0 0 0; 0 0 1 0 0; 0 1 0 1 0; 0 0 1 0 0; 0 0 0 0 0]); 554s assert (bwmorph (A, "endpoints"), B); 554s 554s A = logical ([0 0 0 0 0 0 0 0 554s 1 1 0 0 0 0 1 1 554s 0 0 1 1 1 1 0 0 554s 0 0 0 1 1 0 0 0 554s 0 0 1 1 1 1 0 0 554s 0 1 0 0 0 0 1 0 554s 1 0 0 0 0 0 0 1]); 554s B = logical ([0 0 0 0 0 0 0 0 554s 1 0 0 0 0 0 0 1 554s 0 0 0 0 0 0 0 0 554s 0 0 0 1 1 0 0 0 554s 0 0 0 0 0 0 0 0 554s 0 0 0 0 0 0 0 0 554s 1 0 0 0 0 0 0 1]); 554s assert (bwmorph (A, "endpoints"), B); 554s 554s A = logical([0 0 0 0 0; 0 1 1 1 0; 0 1 1 1 0; 0 1 1 1 0; 0 0 0 0 0]); 554s B = logical([0 0 0 0 0; 0 1 1 1 0; 0 1 0 1 0; 0 1 1 1 0; 0 0 0 0 0]); 554s assert (bwmorph (A, "endpoints"), B); 554s assert (bwmorph (B, "endpoints"), zeros (5, "logical")); 554s 554s A = logical([0,0,0,0,0,0,0,0,0,0,0,0,0,0 554s 0,0,1,1,1,1,1,1,1,1,1,1,0,0 554s 0,0,0,0,0,0,0,0,0,0,0,0,0,0]); 554s B = logical([0,0,0,0,0,0,0,0,0,0,0,0,0,0 554s 0,0,1,0,0,0,0,0,0,0,0,1,0,0 554s 0,0,0,0,0,0,0,0,0,0,0,0,0,0]); 554s C = logical([1,0,0,0,0,0,0,0,0,0,0,0,0,1 554s 1,1,0,0,0,0,0,0,0,0,0,0,1,1 554s 1,0,0,0,0,0,0,0,0,0,0,0,0,1]); 554s assert (bwmorph (!A, "endpoints"), C); 554s 22 tests, 20 passed, 2 known failures, 0 skipped 554s [inst/qtgetblk.m] 554s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/qtgetblk.m 554s ***** demo 554s [vals,r,c]=qtgetblk(eye(4),qtdecomp(eye(4)),2) 554s % Returns 2 blocks, at [1,3] and [3,1] (2*2 zeros blocks) 554s ***** shared A,S 554s A=[ 1, 4, 2, 5,54,55,61,62; 554s 3, 6, 3, 1,58,53,67,65; 554s 3, 6, 3, 1,58,53,67,65; 554s 3, 6, 3, 1,58,53,67,65; 554s 23,42,42,42,99,99,99,99; 554s 27,42,42,42,99,99,99,99; 554s 23,22,26,25,99,99,99,99; 554s 22,22,24,22,99,99,99,99]; 554s S=qtdecomp(A,10); 554s ***** test 554s [va]=qtgetblk(A,S,8); 554s [vb,r,c]=qtgetblk(A,S,8); 554s [vc,i]=qtgetblk(A,S,8); 554s assert(va, vb); 554s assert(va, vc); 554s assert(i,[]); 554s assert(r,[]); 554s assert(c,[]); 554s R=[]; 554s assert(va,R); 554s ***** test 554s [va]=qtgetblk(A,S,4); 554s [vb,r,c]=qtgetblk(A,S,4); 554s [vc,i]=qtgetblk(A,S,4); 554s assert(va, vb); 554s assert(va, vc); 554s assert(i, find(full(S)==4)); 554s assert(r,[1;5]); 554s assert(c,[1;5]); 554s R=zeros(4,4,2); 554s R(:,:,1)=A(1:4,1:4); 554s R(:,:,2)=A(5:8,5:8); 554s assert(va,R); 554s ***** test 554s [va]=qtgetblk(A,S,2); 554s [vb,r,c]=qtgetblk(A,S,2); 554s [vc,i]=qtgetblk(A,S,2); 554s assert(va, vb); 554s assert(va, vc); 554s assert(i, find(full(S)==2)); 554s assert(r,[7;5;7;1;3;1;3]); 554s assert(c,[1;3;3;5;5;7;7]); 554s R=zeros(2,2,7); 554s R(:,:,1)=A(7:8,1:2); 554s R(:,:,2)=A(5:6,3:4); 554s R(:,:,3)=A(7:8,3:4); 554s R(:,:,4)=A(1:2,5:6); 554s R(:,:,5)=A(3:4,5:6); 554s R(:,:,6)=A(1:2,7:8); 554s R(:,:,7)=A(3:4,7:8); 554s assert(va,R); 554s 3 tests, 3 passed, 0 known failure, 0 skipped 554s [inst/radon.m] 554s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/radon.m 554s ***** test 554s A = radon (ones (2,2), 30); 554s assert (A, [0 0 0.608253175473055 2.103325780167649 1.236538105676658 0.051882938682637 0]',1e-10) 554s ***** test 554s ***** # testing all types 554s A = radon (single (ones (2,2)), 90); 554s assert (A, B) 554s A = radon (double (ones (2,2)), 90); 554s assert (A, B) 554s A = radon (int8 (ones (2,2)), 90); 554s assert (A, B) 554s A = radon (int32 (ones (2,2)), 90); 554s assert (A, B) 554s A = radon (int64 (ones (2,2)), 90); 554s assert (A, B) 554s A = radon (uint8 (ones (2,2)), 90); 554s assert (A, B) 554s A = radon (uint16 (ones (2,2)), 90); 554s assert (A, B) 554s A = radon (uint32 (ones (2,2)), 90); 554s assert (A, B) 554s A = radon (uint64 (ones (2,2)), 90); 554s B = [0, 0.25, 1.75, 1.75, 0.25, 0. 0.]'; 554s assert (A, B) 554s bug #58567 554s A = radon (logical (ones (2,2)), 90); 554s assert (A, B) 554s ***** error 554s radon (); 554s ***** error 554s radon ('xxx'); 554s ***** error 554s radon (ones (2, 2), ones (2,2)); 554s ***** error 554s radon (ones (2, 2), 'xxx'); 554s 6 tests, 6 passed, 0 known failure, 0 skipped 554s [inst/imadd.m] 554s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imadd.m 554s ***** assert (imadd (uint8 ([23 250]), uint8 ([23 250])), uint8 ([46 255])); # default to first class and truncate 554s ***** assert (imadd (uint8 ([23 250]), 10), uint8 ([33 255])); # works adding a scalar 554s ***** assert (imadd (uint8 ([23 250]), uint8 ([23 250]), "uint16"), uint16 ([46 500])); # defining output class works 554s ***** assert (imadd (logical ([ 1 0]), logical ([ 1 1])), double ([ 2 1])); # return double for two logical images 554s ***** assert (imadd (logical ([ 1 0]), logical ([ 1 1]), "logical"), logical ([ 1 1])); # this is matlab incompatible on purpose 554s ***** fail ("imadd (uint8 ([23 250]), uint16 ([23 250]))"); # input need to have same class 554s 6 tests, 6 passed, 0 known failure, 0 skipped 554s [inst/lab2xyz.m] 554s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/lab2xyz.m 554s ***** assert (lab2xyz ([0, 0, 0]), [0 0 0], 1e-3) 554s ***** assert (lab2xyz ([53.24, 80.09, 67.20]), [0.4125, 0.2127, 0.0193], 1e-3) 554s ***** assert (lab2xyz ([97.14, -21.55, 94.48]), [0.7700, 0.9278, 0.1385], 1e-3) 554s ***** assert (lab2xyz ([87.74, -86.18, 83.18]), [0.3576, 0.7152, 0.1192], 1e-3) 554s ***** assert (lab2xyz ([91.11, -48.09, -14.13]), [0.5380, 0.7873, 1.0694], 1e-3) 554s ***** assert (lab2xyz ([32.30, 79.19, -107.86]), [0.1804, 0.07217, 0.9502], 1e-3) 554s ***** assert (lab2xyz ([60.32, 98.24, -60.83]), [0.5929, 0.28484, 0.9696], 1e-3) 554s ***** assert (lab2xyz ([100, 0.00, 0.00]), [0.9505, 1.0000, 1.0888], 1e-3) 554s ***** assert (lab2xyz ([53.39, 0.00, 0.00]), [0.2034, 0.2140, 0.2330], 1e-3) 554s ***** assert (lab2xyz ([39.77, 64.51, 54.13]), [0.2155, 0.1111, 0.0101], 1e-3) 554s ***** assert (lab2xyz ([25.42, 47.91, 37.91]), [0.0883, 0.0455, 0.0041], 1e-3) 554s ***** assert (lab2xyz ([9.66, 29.68, 15.24]), [0.02094, 0.0108, 0.00098], 1e-3) 554s ***** assert (lab2xyz ([68.11, 48.39, 22.83]), [0.5276, 0.3812, 0.2482], 1e-3) 554s ***** assert (lab2xyz ([150 130 130]), [4.596, 2.931, 0.519], 1e-3) 554s ***** test 554s lab_map = rand (64, 3); 554s lab_map(:,1) = lab_map(:,1) .* 100; 554s lab_map(:,2) = lab_map(:,2) .* 254 - 127; 554s lab_map(:,3) = lab_map(:,3) .* 254 - 127; 554s assert (xyz2lab (lab2xyz (lab_map)), lab_map, 1e-5); 554s ***** test 554s lab_img = rand (64, 64, 3); 554s lab_img(:,:,1) = lab_img(:,:,1) .* 100; 554s lab_img(:,:,2) = lab_img(:,:,2) .* 254 - 127; 554s lab_img(:,:,3) = lab_img(:,:,3) .* 254 - 127; 554s assert (xyz2lab (lab2xyz (lab_img)), lab_img, 1e-5); 554s ***** assert (lab2xyz (sparse ([0 0 0])), [0 0 0], 1e-3) 554s ***** assert (lab2xyz (sparse ([100, 0.00, 0.00])), [0.9505, 1.0000, 1.0888], 1e-3) 554s ***** assert (class (lab2xyz (single([50 50 50]))), 'single') 554s ***** error lab2xyz () 554s ***** error lab2xyz (1,2) 554s ***** error lab2xyz ({1}) 554s ***** error lab2xyz (ones (2,2)) 554s ***** test 554s lab = rand (16, 16, 3, 5); 554s lab(:,:,1,:) = lab(:,:,1,:) .* 100; 554s lab(:,:,2,:) = lab(:,:,2,:) .* 254 - 127; 554s lab(:,:,3,:) = lab(:,:,3,:) .* 254 - 127; 554s xyz = zeros (size (lab)); 554s for i = 1:5 554s xyz(:,:,:,i) = lab2xyz (lab(:,:,:,i)); 554s endfor 554s assert (lab2xyz (lab), xyz) 554s 24 tests, 24 passed, 0 known failure, 0 skipped 554s [inst/imlincomb.m] 554s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imlincomb.m 554s ***** assert (imlincomb (0.5, uint8 ([255 10]), 0.5, uint8 ([50 20])), 554s uint8 ([153 15])); # default to first class and truncate 554s ***** assert (imlincomb (0.5, uint8 ([255 10]), 0.5, uint8 ([50 20]), "uint16"), 554s uint16 ([153 15])); # defining output class works 554s ***** assert (imlincomb (0.5, uint8 ([255 10]), 0.5, uint8 ([50 20]), 10), 554s uint8 ([163 25])); # default to first class and truncate 554s ***** assert (imlincomb (0.5, uint8 ([255 10]), 0.5, uint8 ([50 20]), 1000, "uint16"), 554s uint16 ([1153 1015])); # defining output class works 554s ***** assert (imlincomb (0.5, uint8 ([255 10]), 0.5, uint8 ([50 20]), 1000), 554s uint8 ([255 255])); # defining output class works 554s 5 tests, 5 passed, 0 known failure, 0 skipped 554s [inst/immse.m] 554s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/immse.m 554s ***** error immse (rand (10), rand (12)) 554s ***** error immse (uint8 ([0 1 2 3]), uint16 ([0 1 2 3])) 554s ***** error immse (double ([0 1 2 3]), single ([0 1 2 3])) 554s ***** assert (immse (magic (5), magic (5)), 0) 554s ***** assert (immse (single (magic (5)), single (magic (5))), single (0)) 554s ***** assert (immse (uint8 (magic (5)), uint8 (magic (5))), 0) 554s 6 tests, 6 passed, 0 known failure, 0 skipped 554s [inst/imcrop.m] 554s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imcrop.m 554s ***** test 554s a = randi (255, [100 100]); 554s rect = [20 30 3 5]; 554s assert (nthargout ([1 2], @imcrop, a, rect), {a(30:35, 20:23) rect}); 554s assert (nthargout (2, @imcrop, a, rect), rect); 554s assert (nthargout ([3 4], 4, @imcrop, a, rect), {a(30:35, 20:23) rect}); 554s ***** test 554s rgb = randi (255, [100 100 3]); 554s rect = [20 30 3 5]; 554s assert (nthargout ([1 2], @imcrop, rgb, rect), {rgb(30:35, 20:23,:) rect}); 554s assert (nthargout (2, @imcrop, rgb, rect), rect); 554s assert (nthargout ([3 4], 4, @imcrop, rgb, rect), {rgb(30:35, 20:23,:) rect}); 554s ***** test 554s a = randi (255, [100 100]); 554s rect = [20 30 3 5]; 554s cmap = jet (255); 554s assert (nthargout ([1 2], @imcrop, a, cmap, rect), {a(30:35, 20:23) rect}); 554s assert (nthargout (2, @imcrop, a, cmap, rect), rect); 554s assert (nthargout ([3 4], 4, @imcrop, a, cmap, rect), {a(30:35, 20:23) rect}); 554s ***** test 554s a = rand (100) > 0.5; 554s rect = [20 30 3 5]; 554s assert (nthargout ([1 2], @imcrop, a, rect), {a(30:35, 20:23) rect}); 554s assert (nthargout (2, @imcrop, a, rect), rect); 554s assert (nthargout ([3 4], 4, @imcrop, a, rect), {a(30:35, 20:23) rect}); 554s ***** assert (imcrop (0, [0.5 0.5 0.9 0.9]), 0); 554s ***** assert (imcrop (zeros (5), [1 1 1 1]), zeros (2)); 554s ***** test 554s im = magic (5); 554s assert (imcrop (im, [1 1 5 5]), im) 554s assert (imcrop (im, [0 0 5 5]), im) 554s assert (imcrop (im, [1 1 2 5]), im(:,1:3)) 554s assert (imcrop (im, [1 -3 2 5]), im(1:2,1:3)) 554s assert (imcrop (im, [5 -3 2 5]), im(1:2,5)) 554s ***** test 554s im = [1:7] .* [1; 2; 3; 4; 5]; 554s assert (imcrop (im, [1 1 5 5]), im(:,1:6)) 554s assert (imcrop (im, [0 0 5 5]), im(:,1:5)) 554s assert (imcrop (im, [1 1 2 5]), im(:,1:3)) 554s assert (imcrop (im, [1 -3 2 7]), im(1:4,1:3)) 554s assert (imcrop (im, [7 -3 2 7]), im(1:4,7)) 554s ***** test 554s ## Matlab returns [] (size 0x0) for this cases, while we return 554s ## [] (size 2x0). We are not compatible by design. If it ever 554s ## becomes an issue to anyone we can review this decision. 554s assert (imcrop (magic (5), [6 -3 2 5]), zeros (2, 0)) 554s 9 tests, 9 passed, 0 known failure, 0 skipped 554s [inst/getrangefromclass.m] 554s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/getrangefromclass.m 554s ***** shared img 554s img = ones (5); 554s ***** assert (getrangefromclass (double (img)), [0 1]); # double returns [0 1] 554s ***** assert (getrangefromclass (single (img)), [0 1]); # single returns [0 1] 554s ***** assert (getrangefromclass (logical (img)), [0 1]); # logical returns [0 1] 554s ***** assert (getrangefromclass (int8 (img)), [-128 127]); # checks int 554s ***** assert (getrangefromclass (uint8 (img)), [0 255]); # checks unit 554s ***** fail ("getrangefromclass ('string')"); # fails with strings 554s ***** fail ("getrangefromclass ({3, 4})"); # fails with cells 554s 7 tests, 7 passed, 0 known failure, 0 skipped 554s [inst/houghlines.m] 554s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/houghlines.m 554s ***** shared BW0, theta0, rho0, peaks0_1, peaks0_2, lines0_1, lines0_2, BW1, theta1, rho1, peaks1, lines1 554s BW0 = logical([0 0 0 0 1; 0 0 0 1 0; 1 0 1 0 0; 0 1 0 0 0; 1 1 1 1 1]); 554s theta0 = [-90:89]; 554s rho0 = [-7:7]; 554s peaks0_1 = [11 130]; 554s peaks0_2 = [11 130; 4 1]; 554s lines0_1 = struct ("point1", {[1,5]}, "point2", {[5,1]}, "theta", {39}, "rho", {3}); 554s lines0_2 = struct ("point1", {[1,5], [1,5]}, "point2", {[5,1],[5,5]}, "theta", {39,-90}, "rho", {3, -4}); 554s BW1 = diag(ones(50,1)); 554s theta1 = [-90:89]; 554s rho1 = -70:70; 554s peaks1 = [71 46]; 554s lines1 = struct ("point1", {[1 1]}, "point2", {[50 50]}, "theta", {-45}, "rho", {0}); 554s ***** error houghlines () 555s ***** error houghlines (BW1) 555s ***** error houghlines (BW1, theta1) 555s ***** error houghlines (BW1, theta1, rho1) 555s ***** assert (houghlines (BW1, theta1, rho1, peaks1), lines1) 555s ***** error (houghlines (BW1, theta1, rho1, peaks1, [1 2 3])) 555s ***** assert (houghlines (BW1, theta1, rho1, peaks1, "FillGap", 5), lines1) 555s ***** assert (houghlines (BW1, theta1, rho1, peaks1, "MinLength", 2), lines1) 555s ***** assert (houghlines (BW1, theta1, rho1, peaks1, "FillGap", 5, "MinLength", 2), lines1) 555s ***** assert (houghlines (BW1, theta1, rho1, peaks1, "MinLength", 2, "FillGap", 5), lines1) 555s ***** error houghlines (BW1, theta1, rho1, peaks1, "MinLength", 2, [1 2 3]) 556s ***** error houghlines (BW1, theta1, rho1, peaks1, "MinLength", 2, "FillGap", 5, [1 2 3]) 556s ***** assert (houghlines (double (BW1), theta1, rho1, peaks1), lines1) 556s ***** error houghlines (ones(5, 5, 5), theta1, rho1, peaks1) 556s ***** error houghlines ("nonsense", theta1, rho1, peaks1) 556s ***** error houghlines (BW1, ones(5), rho1, peaks1) 556s ***** error houghlines (BW1, "nonsense", rho1, peaks1) 556s ***** error houghlines (BW1, theta1, ones(5), peaks1) 556s ***** error houghlines (BW1, theta1, "nonsense", peaks1) 556s ***** error houghlines (BW1, theta1, rho1, ones(5)) 556s ***** error houghlines (BW1, theta1, rho1, ones(2,2,2)) 556s ***** error houghlines (BW1, theta1, rho1, "nonsense") 556s ***** error houghlines (BW1, theta1, rho1, peaks1, "nonsense", 5) 556s ***** error houghlines (BW1, theta1, rho1, peaks1, "MinLength", -5) 556s ***** error houghlines (BW1, theta1, rho1, peaks1, "MinLength", [3 4]) 556s ***** error houghlines (BW1, theta1, rho1, peaks1, "MinLength", "nonsense") 556s ***** error houghlines (BW1, theta1, rho1, peaks1, "FillGap", -5) 556s ***** error houghlines (BW1, theta1, rho1, peaks1, "FillGap", [3 4]) 556s ***** error houghlines (BW1, theta1, rho1, peaks1, "FillGap", "nonsense") 556s ***** test 556s out = houghlines(BW0, theta0, rho0, peaks0_2, "MinLength", 1); 556s assert (out, lines0_2) # includes class = struct, size = [1,2] 556s ***** test # for empty output 556s n = 100; 556s BW = false (n); 556s a = 50; % line starts at left side at row a 556s b = 3; % slope of line is 1:b 556s for column = 1:n 556s if (rem (column, b) == 0) 556s row = a - column/b; 556s BW(row, column) = true; 556s BW(row, column+1) = true; 556s end 556s end 556s theta = [-90: 89]; 556s rho = [-141:141]; 556s peaks = [188, 163]; 556s out = houghlines(BW, theta, rho, peaks, 'FillGap', 1, 'MinLength', 5); 556s assert (out, struct([])) 556s ***** test 556s out0_1 = houghlines(BW0, theta0, rho0, peaks0_1, 'MinLength', 1); 556s out0_2 = houghlines(BW0, theta0, rho0, peaks0_2, 'MinLength', 1); 556s assert (out0_1, lines0_1); 556s assert (out0_2, lines0_2); 556s ***** test 556s out = houghlines(BW1, theta1, rho1, peaks1); 556s assert (out, lines1); 556s ***** test 556s n = 100; 556s BW = false (n); 556s a = 50; % line starts at left side at row a 556s b = 3; % slope of line is 1:b 556s for column = 1:n 556s if (rem (column, b) == 0) 556s row = a - column/b; 556s BW(row, column) = true; 556s BW(row, column+1) = true; 556s end 556s end 556s theta = [-90:89]; 556s rho = [-141:141]; 556s peaks = [188, 163]; 556s lines_1 = struct ("point1", {[99 17]}, "point2", {[3 49]}, "theta", {72}, "rho", {46}); 556s out_1 = houghlines(BW, theta, rho, peaks); 556s out_n = houghlines(BW, theta, rho, peaks, 'FillGap', 1, 'MinLength', 1); 556s assert (out_1, lines_1) 556s assert (size (out_n), [1, 29]) 556s ***** demo 556s I = checkerboard (30, 1, 1); 556s I = imnoise(I, "salt & pepper", 0.2); 556s figure, imshow (I); 556s title ("noisy image with some lines"); 556s BW = edge (I, "canny"); 556s figure, imshow(BW); 556s title ("edge image"); 556s [H, theta, rho] = hough (BW); 556s figure, imshow (mat2gray (H), [], "XData", theta, "YData", rho); 556s title ("Hough transform of edge image \n 2 peaks marked"); 556s axis on; xlabel("theta [degrees]"); ylabel("rho [pixels]"); 556s peaks = houghpeaks (H, 2); 556s peaks_rho = rho(peaks(:,1)); 556s peaks_theta = theta(peaks(:,2)); 556s hold on; plot (peaks_theta, peaks_rho, "sr"); hold off; 556s lines = houghlines (BW, theta, rho, peaks); 556s figure, imshow (I), hold on; 556s for n = 1:length (lines) 556s points = [lines(n).point1; lines(n).point2]; 556s plot (points(:,1), points(:,2), "r"); 556s endfor 556s title ("the two strongest lines (edges) in the image"), hold off; 556s 34 tests, 34 passed, 0 known failure, 0 skipped 556s [inst/rangefilt.m] 556s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/rangefilt.m 556s ***** test 556s im = rangefilt (ones (5)); 556s assert (im, zeros (5)); 556s ***** test 556s A = zeros (3,3); 556s B = ones (3,3); 556s C = [1 1 1; 2 2 2; 3 3 3]; 556s D = C'; 556s E = ones (3,3); 556s E(2,2) = 2; 556s F = 3 .* ones (3,3); 556s F(2,2) = 1; 556s G = [-1 2 7; -5 2 8; -7 pi 9]; 556s H = [5 2 8; 1 -3 1; 5 1 0]; 556s A_out = [0 0 0; 0 0 0; 0 0 0]; 556s B_out = [0 0 0; 0 0 0; 0 0 0]; 556s C_out = [1 1 1; 2 2 2; 1 1 1]; 556s D_out = [1 2 1; 1 2 1; 1 2 1]; 556s E_out = [1 1 1; 1 1 1; 1 1 1]; 556s F_out = [2 2 2; 2 2 2; 2 2 2]; 556s G_out = [7 13 6; 7+pi 16 7; 7+pi 16 7]; 556s H_out = [8 11 11; 8 11 11; 8 8 4]; 556s assert (rangefilt (A), A_out) 556s assert (rangefilt (B), B_out) 556s assert (rangefilt (C), C_out) 556s assert (rangefilt (D), D_out) 556s assert (rangefilt (E), E_out) 556s assert (rangefilt (F), F_out) 556s assert (rangefilt (G), G_out, eps) 556s assert (rangefilt (H), H_out) 556s 2 tests, 2 passed, 0 known failure, 0 skipped 556s [inst/histeq.m] 556s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/histeq.m 556s ***** assert (histeq ([]), []); 556s ***** assert (histeq (0), 1); 556s ***** assert (histeq (1), 1); 556s ***** assert (histeq (1.5), 1); 556s ***** assert (histeq (zeros (100, 200)), ones (100, 200)); # matrix 556s ***** xtest assert (histeq ([0 1]), [0.4920634921 1], 10^-8); 556s !!!!! known failure 556s ASSERT errors for: assert (histeq ([0, 1]),[0.4920634921, 1],10 ^ -8) 556s 556s Location | Observed | Expected | Reason 556s (1) 0.5 0.49206 Abs err 0.0079365 exceeds tol 1e-08 by 0.008 556s ***** xtest assert (histeq ([0 1]'), [0.4920634921 1]', 10^-8); # column array 556s !!!!! known failure 556s ASSERT errors for: assert (histeq ([0, 1]'),[0.4920634921, 1]',10 ^ -8) 556s 556s Location | Observed | Expected | Reason 556s (1) 0.5 0.49206 Abs err 0.0079365 exceeds tol 1e-08 by 0.008 556s ***** xtest assert (histeq ([0 255]), [0.4920634921 1], 10^-8); 556s !!!!! known failure 556s ASSERT errors for: assert (histeq ([0, 255]),[0.4920634921, 1],10 ^ -8) 556s 556s Location | Observed | Expected | Reason 556s (1) 0.5 0.49206 Abs err 0.0079365 exceeds tol 1e-08 by 0.008 556s ***** xtest assert (histeq (uint8 ([0 1])), [ 125 190]); # uint8 556s !!!!! known failure 556s ASSERT errors for: assert (histeq (uint8 ([0, 1])),[125, 190]) 556s 556s Location | Observed | Expected | Reason 556s (1) 0.5 125 Abs err 124.5 exceeds tol 0 by 1e+02 556s (2) 1 190 Abs err 189 exceeds tol 0 by 2e+02 556s ***** xtest assert (histeq (uint8 ([0 255])), [ 125 255]); 556s !!!!! known failure 556s ASSERT errors for: assert (histeq (uint8 ([0, 255])),[125, 255]) 556s 556s Location | Observed | Expected | Reason 556s (1) 0.5 125 Abs err 124.5 exceeds tol 0 by 1e+02 556s (2) 1 255 Abs err 254 exceeds tol 0 by 3e+02 556s ***** xtest assert (histeq (uint16 ([0 1])), [65535 65535]); # uint16 556s !!!!! known failure 556s ASSERT errors for: assert (histeq (uint16 ([0, 1])),[65535, 65535]) 556s 556s Location | Observed | Expected | Reason 556s (1) 0.5 65535 Abs err 65534 exceeds tol 0 by 7e+04 556s (2) 1 65535 Abs err 65534 exceeds tol 0 by 7e+04 556s ***** xtest assert (histeq (uint16 ([0 255])), [32247 48891]); 556s !!!!! known failure 556s ASSERT errors for: assert (histeq (uint16 ([0, 255])),[32247, 48891]) 556s 556s Location | Observed | Expected | Reason 556s (1) 0.5 32247 Abs err 32246 exceeds tol 0 by 3e+04 556s (2) 1 48891 Abs err 48890 exceeds tol 0 by 5e+04 556s ***** xtest assert (histeq (uint16 ([0 256])), [32247 48891]); 556s !!!!! known failure 556s ASSERT errors for: assert (histeq (uint16 ([0, 256])),[32247, 48891]) 556s 556s Location | Observed | Expected | Reason 556s (1) 0.5 32247 Abs err 32246 exceeds tol 0 by 3e+04 556s (2) 1 48891 Abs err 48890 exceeds tol 0 by 5e+04 556s ***** xtest assert (histeq (uint16 ([0 65535])), [32247 65535]); 556s !!!!! known failure 556s ASSERT errors for: assert (histeq (uint16 ([0, 65535])),[32247, 65535]) 556s 556s Location | Observed | Expected | Reason 556s (1) 0.5 32247 Abs err 32246 exceeds tol 0 by 3e+04 556s (2) 1 65535 Abs err 65534 exceeds tol 0 by 7e+04 556s ***** test assert (histeq ([0 1 1] ), [ 1/3 1 1] , 10^-8); 556s ***** test assert (histeq ([0 0 1]'), [ 2/3 2/3 1]', 10^-8); 556s ***** xtest assert (histeq ([0 1 2] ), [ 1/3 1 1] , 10^-8); 556s !!!!! known failure 556s ASSERT errors for: assert (histeq ([0, 1, 2]),[1 / 3, 1, 1],10 ^ -8) 556s 556s Location | Observed | Expected | Reason 556s (2) 0.66667 1 Abs err 0.33333 exceeds tol 1e-08 by 0.3 556s ***** xtest assert (histeq (uint8 ([0 1 2])), [ 85 125 215]); 556s !!!!! known failure 556s ASSERT errors for: assert (histeq (uint8 ([0, 1, 2])),[85, 125, 215]) 556s 556s Location | Observed | Expected | Reason 556s (1) 0.33333 85 Abs err 84.667 exceeds tol 0 by 8e+01 556s (2) 0.66667 125 Abs err 124.33 exceeds tol 0 by 1e+02 556s (3) 1 215 Abs err 214 exceeds tol 0 by 2e+02 556s ***** xtest assert (histeq (uint16 ([0 1 2])), [65535 65535 65535]); 556s !!!!! known failure 556s ASSERT errors for: assert (histeq (uint16 ([0, 1, 2])),[65535, 65535, 65535]) 556s 556s Location | Observed | Expected | Reason 556s (1) 0.33333 65535 Abs err 65535 exceeds tol 0 by 7e+04 556s (2) 0.66667 65535 Abs err 65534 exceeds tol 0 by 7e+04 556s (3) 1 65535 Abs err 65534 exceeds tol 0 by 7e+04 556s ***** xtest assert (histeq (uint16 ([0 100 200])), [43690 43690 55133]); 556s !!!!! known failure 556s ASSERT errors for: assert (histeq (uint16 ([0, 100, 200])),[43690, 43690, 55133]) 556s 556s Location | Observed | Expected | Reason 556s (1) 0.33333 43690 Abs err 43690 exceeds tol 0 by 4e+04 556s (2) 0.66667 43690 Abs err 43689 exceeds tol 0 by 4e+04 556s (3) 1 55133 Abs err 55132 exceeds tol 0 by 6e+04 556s ***** xtest 556s J = [20 32 57 81 105 125 150 174 198 223 247]; 556s assert (histeq (uint8 (0:10:100)), J); 556s !!!!! known failure 556s ASSERT errors for: assert (histeq (uint8 (0:10:100)),J) 556s 556s Location | Observed | Expected | Reason 556s (1) 0.090909 20 Abs err 19.909 exceeds tol 0 by 2e+01 556s (2) 0.18182 32 Abs err 31.818 exceeds tol 0 by 3e+01 556s (3) 0.27273 57 Abs err 56.727 exceeds tol 0 by 6e+01 556s (4) 0.36364 81 Abs err 80.636 exceeds tol 0 by 8e+01 556s (5) 0.45455 105 Abs err 104.55 exceeds tol 0 by 1e+02 556s (6) 0.54545 125 Abs err 124.45 exceeds tol 0 by 1e+02 556s (7) 0.63636 150 Abs err 149.36 exceeds tol 0 by 1e+02 556s (8) 0.72727 174 Abs err 173.27 exceeds tol 0 by 2e+02 556s (9) 0.81818 198 Abs err 197.18 exceeds tol 0 by 2e+02 556s (10) 0.90909 223 Abs err 222.09 exceeds tol 0 by 2e+02 556s (11) 1 247 Abs err 246 exceeds tol 0 by 2e+02 556s ***** xtest 556s J = [0.0793650794 556s 0.1269841270 556s 0.2222222222 556s 0.3174603175 556s 0.4126984127 556s 0.4920634921 556s 0.5873015873 556s 0.6825396825 556s 0.7777777778 556s 0.8730158730 556s 1.0000000000]; 556s assert (histeq (0:0.1:1), J', 10^-8); 556s !!!!! known failure 556s ASSERT errors for: assert (histeq (0:0.1:1),J',10 ^ -8) 556s 556s Location | Observed | Expected | Reason 556s (1) 0.090909 0.079365 Abs err 0.011544 exceeds tol 1e-08 by 0.01 556s (2) 0.18182 0.12698 Abs err 0.054834 exceeds tol 1e-08 by 0.05 556s (3) 0.27273 0.22222 Abs err 0.050505 exceeds tol 1e-08 by 0.05 556s (4) 0.36364 0.31746 Abs err 0.046176 exceeds tol 1e-08 by 0.05 556s (5) 0.45455 0.4127 Abs err 0.041847 exceeds tol 1e-08 by 0.04 556s (6) 0.54545 0.49206 Abs err 0.053391 exceeds tol 1e-08 by 0.05 556s (7) 0.63636 0.5873 Abs err 0.049062 exceeds tol 1e-08 by 0.05 556s (8) 0.72727 0.68254 Abs err 0.044733 exceeds tol 1e-08 by 0.04 556s (9) 0.81818 0.77778 Abs err 0.040404 exceeds tol 1e-08 by 0.04 556s (10) 0.90909 0.87302 Abs err 0.036075 exceeds tol 1e-08 by 0.04 556s 22 tests, 7 passed, 15 known failures, 0 skipped 556s [inst/otsuthresh.m] 556s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/otsuthresh.m 556s ***** test 556s histo = zeros (1, 256); 556s histo([ 29 33 37 41 46 50 54 58 62 66 70 74 78 82 ... 556s 86 90 94 98 102 106 110 114 118 122 126 131 135 139 ... 556s 143 147 151 155 159 163 167 171 175 179 183 187 191 195 ... 556s 199 203 207 211 216 220 224 228 232 236 240 244 248 252]) = ... 556s [2 27 51 144 132 108 43 29 22 21 22 20 10 16 17 12 13 14 12 13 ... 556s 15 25 19 20 23 37 23 65 92 84 87 54 50 54 33 73 76 64 57 58 47 ... 556s 48 30 27 22 20 20 11 12 12 11 7 17 31 37 31]; 556s assert (otsuthresh (histo), 114.5/255) 556s ***** test 556s I = max (phantom (), 0); 556s H = imhist (I); 556s assert (otsuthresh (H), 178/255) 556s assert (otsuthresh (H'), 178/255) 556s H = imhist (I, 10); 556s assert (otsuthresh (H), 170/255) 556s ***** assert (otsuthresh (100), 0) 556s ***** assert (otsuthresh (zeros (256, 1)), 0) 556s ***** assert (otsuthresh (zeros (5, 1)), 0) 556s ***** assert (otsuthresh (uint8 ([10 20 30])), 0.5) 556s ***** assert (otsuthresh (int32 ([100 200 300])), 0.5) 556s ***** assert (otsuthresh (int32 ([100 200])), 0) 556s ***** assert (otsuthresh (single ([10 20 30 40])), 1/3); 556s ***** assert (otsuthresh (uint16 ([10 20 30 40 50 60 70 80 90 100])), 5/9) 556s ***** assert (otsuthresh (int16 ([10 20 30 40 50 60 70 80 90 100])), 5/9) 556s ***** assert (otsuthresh (int16 (1:255)), 156/254) 556s ***** assert (otsuthresh (int16 (1:1023)), 631/1022) 556s ***** assert (otsuthresh (int8 (1:1023)), 541/1022) 556s ***** test 556s warning ("off", "Octave:data-file-in-path", "local"); 556s S = load ("penny.mat"); 556s h = imhist (uint8 (S.P)); 556s assert (otsuthresh (h), 94/255); 556s ***** test 556s I = max (phantom (), 0); 556s h = imhist (I, 5); 556s assert (otsuthresh (h), 0.625); 556s ***** error id=Octave:invalid-fun-call otsuthresh () 556s ***** error id=Octave:invalid-fun-call otsuthresh (ones (10), 5) 556s ***** error otsuthresh ([]) 556s ***** error otsuthresh ([Inf 10]) 556s ***** error otsuthresh ([10 NA]) 556s ***** error otsuthresh ([10 NaN]) 556s ***** error otsuthresh (zeros (5)) 556s ***** error otsuthresh ([10 -10]) 556s ***** error otsuthresh ("foo") 556s ***** demo 556s I = max (phantom (), 0); 556s figure; imshow (I); 556s title ("Original image"); 556s h = imhist (I); 556s t = otsuthresh (h); 556s J = im2bw (I); 556s figure; imshow (J); 556s title_line = sprintf ("Black and white image after thresholding, t=%g", 556s t*255); 556s title (title_line); 556s ***** demo 556s warning ("off", "Octave:data-file-in-path", "local"); 556s S = load ("penny.mat"); 556s I = uint8 (S.P); 556s figure; imshow (I); 556s title ("Original penny image"); 556s h = imhist (I); 556s t = otsuthresh (h); 556s J = im2bw (I); 556s figure; imshow (J); 556s title_line = sprintf ("Black and white penny image after thresholding, t=%g", 556s t*255); 556s title (title_line); 556s I = 255 - I; 556s figure; imshow(I); 556s title ("Negative penny image"); 556s h = imhist (I); 556s t = otsuthresh (h); 556s J = im2bw (I); 556s figure; imshow (J); 556s title_line = sprintf ("Black and white negative penny image after thresholding, t=%g", 556s t*255); 556s title (title_line); 556s 25 tests, 25 passed, 0 known failure, 0 skipped 556s [inst/padarray.m] 556s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/padarray.m 556s ***** demo 556s padarray([1,2,3;4,5,6],[2,1]) 556s % pads [1,2,3;4,5,6] with a whole border of 2 rows and 1 columns of 0 556s ***** demo 556s padarray([1,2,3;4,5,6],[2,1],5) 556s % pads [1,2,3;4,5,6] with a whole border of 2 rows and 1 columns of 5 556s ***** demo 556s padarray([1,2,3;4,5,6],[2,1],0,'pre') 556s % pads [1,2,3;4,5,6] with a left and top border of 2 rows and 1 columns of 0 556s ***** demo 556s padarray([1,2,3;4,5,6],[2,1],'circular') 556s % pads [1,2,3;4,5,6] with a whole 'circular' border of 2 rows and 1 columns 556s % border 'repeats' data as if we tiled blocks of data 556s ***** demo 556s padarray([1,2,3;4,5,6],[2,1],'replicate') 556s % pads [1,2,3;4,5,6] with a whole border of 2 rows and 1 columns which 556s % 'replicates' edge data 556s ***** demo 556s padarray([1,2,3;4,5,6],[2,1],'symmetric') 556s % pads [1,2,3;4,5,6] with a whole border of 2 rows and 1 columns which 556s % is symmetric to the data on the edge 556s ***** assert (padarray ([1;2], [1]), [0;1;2;0]); 556s ***** assert (padarray ([3 4], [0 2]), [0 0 3 4 0 0]); 556s ***** assert (padarray ([1 2 3; 4 5 6], [1 2]), 556s [zeros(1, 7); 0 0 1 2 3 0 0; 0 0 4 5 6 0 0; zeros(1, 7)]); 556s ***** test 556s assert (padarray ([1 2 3; 4 5 6], [3 2 1]), 556s cat(3, zeros(8, 7), 556s [ [ zeros(3, 7) ] 556s [zeros(2, 2) [1 2 3; 4 5 6] zeros(2, 2) ] 556s [ zeros(3,7)] ], 556s zeros (8, 7))); 556s ***** assert (padarray ([1 2], [4 5]), padarray ([1 2], [4 5], 0)); 556s ***** assert (padarray ([1 2], [4 5]), padarray ([1 2], [4 5], "both")); 556s ***** assert (padarray ([1;2], [1], i), [i; 1; 2; i]); 556s ***** assert (padarray ([1;2], [1], i, "pre"), [i; 1; 2]); 556s ***** assert (padarray ([1;2], [1], i, "post"), [1; 2; i]); 556s ***** assert (padarray ([1;2], [1], i, "both"), [i; 1; 2; i]); 556s ***** assert (padarray ([1 2], [0 1], i, "pre"), [i 1 2]); 556s ***** assert (padarray ([1 2], [0 1], i, "post"), [1 2 i]); 556s ***** assert (padarray ([1 2], [0 1], i, "both"), [i 1 2 i]); 557s ***** assert (padarray ([1 2], [0;1], i, "both"), [i 1 2 i]); 557s ***** test 557s A = [1 2 3; 4 5 6]; 557s B = repmat (A, 7, 9); 557s assert (padarray (A, [1 2], "circular", "pre"), B(2:4,2:6)); 557s assert (padarray (A, [1 2], "circular", "post"), B(3:5,4:8)); 557s assert (padarray (A, [1 2], "circular", "both"), B(2:5,2:8)); 557s ## This tests when padding is bigger than data 557s assert (padarray (A, [5 10], "circular", "both"), B(2:13,3:25)); 557s ***** test 557s A = int8 ([1 2 3; 4 5 6]); 557s B = repmat (A, 7, 9); 557s assert (padarray (A, [1 2], "circular", "pre"), B(2:4,2:6)); 557s assert (padarray (A, [1 2], "circular", "post"), B(3:5,4:8)); 557s assert (padarray (A, [1 2], "circular", "both"), B(2:5,2:8)); 557s ## This tests when padding is bigger than data 557s assert (padarray (A, [5 10], "circular", "both"), B(2:13,3:25)); 557s ***** test 557s A = [1 2; 3 4]; 557s B = kron (A, ones (10, 5)); 557s assert (padarray (A, [9 4], "replicate", "pre"), B(1:11,1:6)); 557s assert (padarray (A, [9 4], "replicate", "post"), B(10:20,5:10)); 557s assert (padarray (A, [9 4], "replicate", "both"), B); 557s ## same with uint class 557s assert (padarray (uint8 (A), [9 4], "replicate", "pre"), uint8 (B(1:11,1:6))); 557s assert (padarray (uint8 (A), [9 4], "replicate", "post"), uint8 (B(10:20,5:10))); 557s assert (padarray (uint8 (A), [9 4], "replicate", "both"), uint8 (B)); 557s ***** test 557s A = [1:3 557s 4:6]; 557s HA = [3:-1:1 557s 6:-1:4]; 557s VA = [4:6 557s 1:3]; 557s VHA = [6:-1:4 557s 3:-1:1]; 557s B = [VHA VA VHA 557s HA A HA 557s VHA VA VHA]; 557s assert (padarray (A, [1 2], "symmetric", "pre"), B(2:4,2:6)); 557s assert (padarray (A, [1 2], "symmetric", "post"), B(3:5,4:8)); 557s assert (padarray (A, [1 2], "symmetric", "both"), B(2:5,2:8)); 557s ## same with int class 557s assert (padarray (int16 (A), [1 2], "symmetric", "pre"), int16 (B(2:4,2:6))); 557s assert (padarray (int16 (A), [1 2], "symmetric", "post"), int16 (B(3:5,4:8))); 557s assert (padarray (int16 (A), [1 2], "symmetric", "both"), int16 (B(2:5,2:8))); 557s ***** assert (padarray (int8 ([1; 2]), [1]), int8 ([0; 1; 2; 0])); 557s ***** assert (padarray (uint8 ([3 4]), [0 2]), uint8 ([0 0 3 4 0 0])); 557s ***** assert (padarray (int16 ([1; 2]), [1], 4), int16 ([4; 1; 2; 4])); 557s ***** assert (padarray (uint16 ([1; 2]), [1], 0), uint16 ([0; 1; 2; 0])); 557s ***** assert (padarray (uint32 ([1; 2]), [1], 6, "post"), uint32 ([1; 2; 6])); 557s ***** assert (padarray (int32 ([1; 2]), [1], int32 (4), "pre"), int32 ([4; 1; 2])); 557s ***** test 557s in = [ 7 5 1 3 557s 5 3 3 4 557s 7 5 2 3 557s 6 1 3 8]; 557s padded = [ 557s 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 557s 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 557s 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 557s 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 557s 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 557s 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 557s 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 557s 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 557s 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 557s 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 557s 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 557s 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 557s 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 557s 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 557s 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 557s 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 557s 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 557s 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 557s 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 557s 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 557s 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 557s 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 557s 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 557s 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2]; 557s for ite = 1:10 557s assert (padarray (in, [ite ite], "symmetric"), padded((11-ite):(14+ite),(11-ite):(14+ite))); 557s assert (padarray (in, [ite ite], "symmetric", "pre"), padded((11-ite):14,(11-ite):14)); 557s assert (padarray (in, [ite ite], "symmetric", "post"), padded(11:(14+ite),11:(14+ite))); 557s endfor 557s ***** test 557s in = [ 7 5 4 9 557s 6 4 5 1 557s 5 3 3 3 557s 2 6 7 3]; 557s padded = [ 557s 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 557s 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 557s 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 557s 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 557s 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 557s 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 557s 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 557s 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 557s 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 557s 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 557s 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 557s 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 557s 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 557s 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 557s 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 557s 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 557s 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 557s 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 557s 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 557s 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 557s 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 557s 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 557s 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 557s 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4]; 557s for ite = 1:10 557s assert (padarray (in, [ite ite], "reflect"), padded((11-ite):(14+ite),(11-ite):(14+ite))); 557s assert (padarray (in, [ite ite], "reflect", "pre"), padded((11-ite):14,(11-ite):14)); 557s assert (padarray (in, [ite ite], "reflect", "post"), padded(11:(14+ite),11:(14+ite))); 557s endfor 557s 26 tests, 26 passed, 0 known failure, 0 skipped 557s [inst/imshowpair.m] 557s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imshowpair.m 557s ***** error id=Octave:invalid-fun-call imshowpair () 557s ***** error id=Octave:invalid-fun-call imshowpair (1) 557s ***** error id=Octave:invalid-input-arg imshowpair (uint8 (200.*rand (100)), ... 557s uint8 (200.*rand (100)), "interpolation") 557s ***** error id=Octave:invalid-input-arg imshowpair (uint8 (200.*rand (100)), ... 557s uint8 (200.*rand (100)), "xxxxx") 557s ***** error id=Octave:invalid-input-arg imshowpair (1, 1, "ColorChannels", [0 0 0]) 557s ***** error id=Octave:invalid-input-arg imshowpair (1, 1, "ColorChannels", [1 1 1]) 557s ***** error id=Octave:invalid-input-arg imshowpair (1, 1, "ColorChannels", [2 2 2]) 557s ***** error id=Octave:expected-less-equal imshowpair (1, 1, "ColorChannels", [42 0 0]) 557s ***** error id=Octave:expected-greater-equal imshowpair (1, 1, "ColorChannels", [-1 2 0]) 557s ***** error id=Octave:invalid-input-arg imshowpair (1, 1, "ColorChannels", "deep-purple") 557s ***** test 557s A = uint8 (200.*rand (100)); 557s B = uint8 (150.*rand (100)); 557s RA = imref2d (size (A), 0.5, 0.5); 557s RB = imref2d (size (B), 0.5, 0.5); 557s figure; 557s Ax=axes; 557s assert (imshowpair (A, B)); 557s assert (imshowpair (A, RA, B, RB)); 557s assert (imshowpair (A, B, "blend")); 557s assert (imshowpair (A, B, "falsecolor", "ColorChannels", "red-cyan")); 557s assert (imshowpair (A, B, "Parent", Ax)); 557s assert (imshowpair (A, B, "montage", "Scaling", "joint")); 557s close; 557s warning: using the gnuplot graphics toolkit is discouraged 557s 557s The gnuplot graphics toolkit is not actively maintained and has a number 557s of limitations that are unlikely to be fixed. Communication with gnuplot 557s uses a one-directional pipe and limited information is passed back to the 557s Octave interpreter so most changes made interactively in the plot window 557s will not be reflected in the graphics properties managed by Octave. For 557s example, if the plot window is closed with a mouse click, Octave will not 557s be notified and will not update its internal list of open figure windows. 557s The qt toolkit is recommended instead. 558s 11 tests, 11 passed, 0 known failure, 0 skipped 558s [inst/bwareafilt.m] 558s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/bwareafilt.m 558s ***** shared a2d, a3d 558s a2d = [1 0 0 0 0 0 1 0 0 1 558s 1 0 0 1 0 1 0 1 0 1 558s 1 0 1 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 1 0 0 0 0 0 0 0 0 558s 1 1 0 1 1 1 0 0 0 0 558s 1 1 0 1 0 0 0 1 0 0 558s 1 1 0 0 0 0 1 0 1 0 558s 1 1 0 0 0 0 0 0 0 0 558s 1 1 0 0 0 1 1 0 0 1]; 558s 558s a3d = a2d; 558s a3d(:,:,2) = [ 558s 0 0 0 0 0 0 0 0 0 0 558s 1 0 0 1 1 0 0 1 0 0 558s 0 0 0 1 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 1 0 0 0 0 0 0 0 0 558s 1 1 0 0 1 1 0 0 0 0 558s 1 1 0 1 0 0 0 0 0 0 558s 1 0 0 0 0 0 1 0 0 0 558s 0 1 0 0 0 0 0 0 0 1 558s 1 1 0 0 0 0 1 0 0 0]; 558s 558s a3d(:,:,3) = [ 558s 1 0 0 0 0 0 0 0 0 0 558s 0 1 0 1 1 0 0 1 0 0 558s 0 0 0 1 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 1 1 1 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 1 0 0 0 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 1 558s 1 1 0 0 0 0 0 0 0 0]; 558s ***** test 558s f2d = [0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 1 0 0 0 0 0 0 0 0 558s 1 1 0 1 1 1 0 0 0 0 558s 1 1 0 1 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 0]; 558s assert (bwareafilt (a2d, 2), logical (f2d)); 558s assert (bwareafilt (a2d, 2, 8), logical (f2d)); 558s assert (bwareafilt (a2d, 2, 4), logical (f2d)); 558s ***** test 558s f2d = [1 0 0 0 0 0 1 0 0 0 558s 1 0 0 0 0 1 0 1 0 0 558s 1 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 1 0 0 0 0 0 0 0 0 558s 1 1 0 1 1 1 0 0 0 0 558s 1 1 0 1 0 0 0 1 0 0 558s 1 1 0 0 0 0 1 0 1 0 558s 1 1 0 0 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 0]; 558s assert (bwareafilt (a2d, 5), logical (f2d)); 558s assert (bwareafilt (a2d, 5, 8), logical (f2d)); 558s ***** test 558s f2d = [0 0 0 0 0 0 1 0 0 1 558s 0 0 0 1 0 1 0 1 0 1 558s 0 0 1 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 1 0 0 558s 0 0 0 0 0 0 1 0 1 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 1 1 0 0 1]; 558s assert (bwareafilt (a2d, 11, "smallest", 4), logical (f2d)); 558s ***** test 558s f2d = [1 0 0 0 0 0 1 0 0 0 558s 1 0 0 0 0 1 0 1 0 0 558s 1 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 1 1 1 0 0 0 0 558s 0 0 0 1 0 0 0 1 0 0 558s 0 0 0 0 0 0 1 0 1 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0]; 558s assert (bwareafilt (a2d, [3 5]), logical (f2d)); 558s assert (bwareafilt (a2d, [3 5], 8), logical (f2d)); 558s ***** test 558s f2d = [1 0 0 0 0 0 0 0 0 0 558s 1 0 0 0 0 0 0 0 0 0 558s 1 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 1 1 1 0 0 0 0 558s 0 0 0 1 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0]; 558s assert (bwareafilt (a2d, [3 4], 4), logical (f2d)); 558s assert (bwareafilt (a2d, [3 4], [0 1 0; 1 1 1; 0 1 0]), logical (f2d)); 558s ***** test 558s f2d = [1 0 0 0 0 0 1 0 0 1 558s 1 0 0 1 0 1 0 1 0 1 558s 1 0 1 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 1 1 1 0 0 0 0 558s 0 0 0 1 0 0 0 1 0 0 558s 0 0 0 0 0 0 1 0 1 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 1 1 0 0 0]; 558s assert (bwareafilt (a2d, [2 4]), logical (f2d)); 558s assert (bwareafilt (a2d, [2 4], 8), logical (f2d)); 558s assert (bwareafilt (a2d, [2 4], ones (3)), logical (f2d)); 558s ***** test 558s f3d = [0 0 0 0 0 0 1 0 0 0 558s 0 0 0 1 0 1 0 1 0 0 558s 0 0 1 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 1 0 0 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 0]; 558s 558s f3d(:,:,2) = [ 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 1 1 0 0 1 0 0 558s 0 0 0 1 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 1 0 0 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 0 558s 1 0 0 0 0 0 0 0 0 0 558s 0 1 0 0 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 0]; 558s 558s f3d(:,:,3) = [ 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 1 1 0 0 1 0 0 558s 0 0 0 1 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 1 0 0 0 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 0]; 558s assert (bwareafilt (a3d, 2), logical (f3d)); 558s assert (bwareafilt (a3d, 2, 26), logical (f3d)); 558s assert (bwareafilt (a3d, 2, ones (3, 3, 3)), logical (f3d)); 558s ***** test 558s f3d = [0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 1 0 0 0 0 0 0 0 0 558s 1 1 0 1 1 1 0 0 0 0 558s 1 1 0 1 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 0]; 558s 558s f3d(:,:,2) = [ 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 1 0 0 0 0 0 0 0 0 558s 1 1 0 0 1 1 0 0 0 0 558s 1 1 0 1 0 0 0 0 0 0 558s 1 0 0 0 0 0 0 0 0 0 558s 0 1 0 0 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 0]; 558s 558s f3d(:,:,3) = [ 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 0 0 0 1 1 1 0 0 0 0 558s 0 0 0 0 0 0 0 0 0 0 558s 1 0 0 0 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 0 558s 1 1 0 0 0 0 0 0 0 0]; 558s assert (bwareafilt (a3d, 2, 6), logical (f3d)); 558s assert (bwareafilt (a3d, 2, conndef (3, "minimal")), logical (f3d)); 558s 8 tests, 8 passed, 0 known failure, 0 skipped 558s [inst/lab2double.m] 558s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/lab2double.m 558s ***** test 558s l_max_f = 100 + (25500 / 65280); 558s ab_max_f = 127 + (255 / 256); 558s cm = [ 558s -Inf 558s Inf 558s NaN 558s l_max_f 558s ab_max_f 558s -200 558s -129 558s -128 558s -128+(255/65280)*(0.499999) 558s -128+(255/65280)*(0.500001) # should be 0.5, but float rounding error 558s -128+(255/65280)*(0.500002) 558s -127 558s -1 558s 0 558s (100/65280)*(0.499999) 558s (100/65280)*(0.51) 558s (100/65280)*(0.500001) 558s 1 558s 99 558s 100 558s 101 558s 126 558s 127 558s 128 558s 254 558s 255 558s 256 558s 257]; 558s cm = repmat (cm, [1 3]); 558s im2d = reshape (cm, [7 4 3]); 558s imnd = permute (im2d, [1 4 3 2]); 558s 558s cm_uint8 = uint8 ([ 558s 0 0 0 558s 255 255 255 558s 255 255 255 558s 255 228 228 558s 255 255 255 558s 0 0 0 558s 0 0 0 558s 0 0 0 558s 0 0 0 558s 0 0 0 558s 0 0 0 558s 0 1 1 558s 0 127 127 558s 0 128 128 558s 0 128 128 558s 0 128 128 558s 0 128 128 558s 3 129 129 558s 252 227 227 558s 255 228 228 558s 255 229 229 558s 255 254 254 558s 255 255 255 558s 255 255 255 558s 255 255 255 558s 255 255 255 558s 255 255 255 558s 255 255 255]); 558s 558s assert (lab2uint8 (cm), cm_uint8) 558s im2d_uint8 = reshape (cm_uint8, [7 4 3]); 558s assert (lab2uint8 (im2d), im2d_uint8) 558s assert (lab2uint8 (imnd), permute (im2d_uint8, [1 4 3 2])) 558s 558s cm_uint16 = uint16 ([ 558s 0 0 0 558s 65535 65535 65535 558s 65535 65535 65535 558s 65535 58468 58468 558s 65535 65535 65535 558s 0 0 0 558s 0 0 0 558s 0 0 0 558s 0 0 0 558s 0 1 1 558s 0 1 1 558s 0 256 256 558s 0 32512 32512 558s 0 32768 32768 558s 0 32768 32768 558s 1 32768 32768 558s 1 32768 32768 558s 653 33024 33024 558s 64627 58112 58112 558s 65280 58368 58368 558s 65535 58624 58624 558s 65535 65024 65024 558s 65535 65280 65280 558s 65535 65535 65535 558s 65535 65535 65535 558s 65535 65535 65535 558s 65535 65535 65535 558s 65535 65535 65535]); 558s 558s assert (lab2uint16 (cm), cm_uint16) 558s im2d_uint16 = reshape (cm_uint16, [7 4 3]); 558s assert (lab2uint16 (im2d), im2d_uint16) 558s assert (lab2uint16 (imnd), permute (im2d_uint16, [1 4 3 2])) 558s 558s assert (lab2single (cm), single (cm)) 558s assert (lab2single (im2d), single (im2d)) 558s assert (lab2single (imnd), single (imnd)) 558s 1 test, 1 passed, 0 known failure, 0 skipped 558s [inst/hough.m] 558s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/hough.m 558s ***** shared BW0, BW1, BW2, BWx, BWy 558s 558s BW0 = false (5); 558s BW0(2,2) = true; 558s 558s BW1 = zeros (100, 100); 558s BW1(1,1) = 1; 558s BW1(100,100) = 1; 558s BW1(1,100) = 1; 558s BW1(100, 1) = 1; 558s BW1(50,50) = 1; 558s 558s n = 100; 558s BW2 = false (n); 558s a = 50; # line starts at left side at row a 558s b = 3; # slope of line is 1:b 558s for column = 1:n 558s if (rem (column, b) == 0) 558s row = a - column/b; 558s BW2(row, column) = true; 558s endif 558s endfor 558s 558s BWx = false (10); 558s BWx(:,5) = true; 558s 558s BWy = false (10); 558s BWy(5,:) = true; 558s ***** test 558s [H, T, R] = hough (BW1); 558s assert (size (H), [283 180]); 558s ***** test 558s [H, T, R] = hough (BW1, "Theta", [-90 0 45 79]); 558s assert (size (H), [283 4]); 558s ***** test 558s [H, T, R] = hough (BW1, "ThetaResolution", 0.5); 558s assert (size (H), [283 360]); 558s ***** error hough ("foo") 558s ***** test 558s I = [0 0 1 0; 1 1 1 1; 0 0 1 1; 0 0 1 0]; 558s I2 = I; 558s for v = [0.7 0.2 5] 558s I2(1,3) = v; 558s assert (hough (I2), hough (I)) 558s endfor 558s ***** error 558s [H, T, R] = hough (BW0, "Theta"); 558s ***** error 558s [H, T, R] = hough (BW0, "Theta", ones (10)); 558s ***** error 558s [H, T, R] = hough (BW0, "Theta", [5 -i 7]); 558s ***** error 558s [H, T, R] = hough (BW0, "RhoResolution", 0.5); 558s ***** test 558s [Hd, Td, Rd] = hough (BW0); 558s [H1, T1, R1] = hough (BW0, "RhoResolution", 1); 558s assert (Hd, H1) 558s assert (Td, T1) 558s assert (Rd, R1) 558s ***** test 558s [H, theta, rho] = hough (BW2); 558s H_max = max (H(:)); 558s H_size = size (H); 558s [~, max_idx_lin] = max (H(:)); 558s [max_row, max_column] = ind2sub (size (H), max_idx_lin); 558s theta_max = theta(max_column); 558s rho_max = rho(max_row); 558s assert (H_max , 33); 558s assert (H_size, [283 180]); 558s assert (max_row, 188); 558s assert (max_column, 163); 558s assert (theta_max, 72); 558s assert (rho_max, 46); 558s ***** test 558s [H, theta, rho] = hough (BW2, "Theta", [65:1:75]); 558s H_max = max (H(:)); 558s H_size = size (H); 558s [~, max_idx_lin] = max (H(:)); 558s [max_row, max_column] = ind2sub (size (H), max_idx_lin); 558s theta_max = theta(max_column); 558s rho_max = rho(max_row); 558s assert (H_max , 33); 558s assert (H_size, [283 11]); 558s assert (max_row, 188); 558s assert (max_column, 8); 558s assert (theta_max, 72); 558s assert (rho_max, 46); 558s ***** test 558s [H, theta, rho] = hough (BW2, "Theta", [-90:0.5:89.5]); 558s H_max = max (H(:)); 558s H_size = size (H); 558s [~, max_idx_lin] = max (H(:)); 558s [max_row, max_column] = ind2sub (size (H), max_idx_lin); 558s theta_max = theta(max_column); 558s rho_max = rho(max_row); 558s assert (H_max , 33); 558s assert (H_size, [283 360]); 558s assert (max_row, 188); 558s assert (max_column, 324); 558s assert (theta_max, 71.5); 558s assert (rho_max, 46); 558s ***** test 558s [H, theta, rho] = hough (BW2, "ThetaResolution", 0.5); 558s H_max = max (H(:)); 558s H_size = size (H); 558s [~, max_idx_lin] = max (H(:)); 558s [max_row, max_column] = ind2sub (size (H), max_idx_lin); 558s theta_max = theta(max_column); 558s rho_max = rho(max_row); 558s assert (H_max , 33); 558s assert (H_size, [283 360]); 558s assert (max_row, 188); 558s assert (max_column, 324); 558s assert (theta_max, 71.5); 558s assert (rho_max, 46); 558s ***** test 558s [H, theta, rho] = hough (BWx); 558s H_max = max (H(:)); 558s [~, max_idx_lin] = max (H(:)); 558s [max_row, max_column] = ind2sub (size (H), max_idx_lin); 558s theta_max = theta(max_column); 558s rho_max = rho(max_row); 558s assert (H_max , 10); 558s assert (max_column, 88); 558s assert (theta_max, -3); 558s assert (rho_max, 4); 558s ***** test 558s [H, theta, rho] = hough (BWx); 558s H_size = size (H); 558s [~, max_idx_lin] = max (H(:)); 558s [max_row, max_column] = ind2sub (size (H), max_idx_lin); 558s assert (H_size, [27 180]); 558s assert (max_row, 18); 558s ***** test 558s [H, theta, rho] = hough (BWy); 558s H_max = max (H(:)); 558s [~, max_idx_lin] = max (H(:)); 558s [max_row, max_column] = ind2sub (size (H), max_idx_lin); 558s theta_max = theta(max_column); 558s rho_max = rho(max_row); 558s assert (H_max , 10); 558s assert (max_column, 1); 558s assert (theta_max, -90); 558s assert (rho_max, -4); 558s ***** test 558s [H, theta, rho] = hough (BWy); 558s H_size = size (H); 558s [~, max_idx_lin] = max (H(:)); 558s [max_row, max_column] = ind2sub (size (H), max_idx_lin); 558s assert (H_size, [27 180]); 558s assert (max_row, 10); 558s ***** demo 558s BW = zeros (100, 150); 558s BW(30,:) = 1; 558s BW(:, 65) = 1; 558s BW(35:45, 35:50) = 1; 558s for i = 1:90 558s BW(i,i) = 1; 558s endfor 558s BW = imnoise (BW, "salt & pepper"); 558s figure (); 558s imshow (BW); 558s title ("BW"); 558s [H, theta, rho] = hough (BW); 558s H /= max (H(:)); 558s figure (); 558s imshow (H, "XData", theta, "YData", rho); 558s title ("hough transform of BW"); 558s axis on; 558s xlabel ("angle \\theta [degrees]"); 558s ylabel ("distance \\rho to origin [pixels]"); 558s 18 tests, 18 passed, 0 known failure, 0 skipped 558s [inst/montage.m] 558s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/montage.m 558s ***** function cdata = montage_cdata (varargin) 558s h = figure (); 558s set (h, "visible", "off"); 558s mh = montage (varargin{:}); 558s cdata = get (mh, "cdata"); 558s close (h); 558s ***** endfunction 558s ***** test 558s im = uint8 (ones (2, 2, 1, 5)) .* reshape ([1 2 3 4 5], [1 1 1 5]); 558s cdata = montage_cdata (im); 558s expected = uint8 ([ 558s 1 1 2 2 3 3 558s 1 1 2 2 3 3 558s 4 4 5 5 0 0 558s 4 4 5 5 0 0 558s ]); 558s assert (cdata, expected) 558s ***** test 558s im = uint8 (ones (2, 4, 1, 6)) .* reshape ([1 2 3 4 5 6], [1 1 1 6]); 558s cdata = montage_cdata (im); 558s expected = uint8 ([ 558s 1 1 1 1 2 2 2 2 558s 1 1 1 1 2 2 2 2 558s 3 3 3 3 4 4 4 4 558s 3 3 3 3 4 4 4 4 558s 5 5 5 5 6 6 6 6 558s 5 5 5 5 6 6 6 6 558s ]); 558s assert (cdata, expected) 558s 2 tests, 2 passed, 0 known failure, 0 skipped 558s [inst/ordfiltn.m] 558s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/ordfiltn.m 558s ***** shared b, f, s 558s b = [ 0 1 2 3 558s 1 8 12 12 558s 4 20 24 21 558s 7 22 25 18]; 558s 558s f = [ 8 12 12 12 558s 20 24 24 24 558s 22 25 25 25 558s 22 25 25 25]; 558s ***** assert (ordfiltn (b, 9, true (3)), f); 558s 558s f = [ 1 8 12 12 558s 8 20 21 21 558s 20 24 24 24 558s 20 24 24 24]; 559s ***** assert (ordfiltn (b, 8, true (3)), f); 559s 559s f = [ 1 2 8 12 559s 4 12 20 21 559s 8 22 22 21 559s 20 24 24 24]; 559s ***** assert (ordfiltn (b, 7, true (3), "symmetric"), f); 559s 559s f = [ 1 8 12 12 559s 4 20 24 21 559s 7 22 25 21 559s 7 22 25 21]; 559s ***** assert (ordfiltn (b, 3, true (3, 1)), f); 559s 559s f = [ 1 8 12 12 559s 4 20 24 18 559s 4 20 24 18 559s 4 20 24 18]; 559s ***** assert (ordfiltn (b, 3, true (4, 1)), f); 559s 559s f = [ 4 20 24 21 559s 7 22 25 21 559s 7 22 25 21 559s 7 22 25 21]; 559s ***** assert (ordfiltn (b, 4, true (4, 1)), f); 559s 559s s = [0 0 1 559s 0 0 1 559s 0 0 1]; 559s f = [ 2 8 12 12 559s 9 20 22 21 559s 21 25 24 24 559s 21 25 24 24]; 559s ***** assert (ordfiltn (b, 8, true (3), s), f); 559s 559s b(:,:,2) = b(:,:,1) - 1; 559s b(:,:,3) = b(:,:,2) - 1; 559s f(:,:,1) = [ 1 8 11 11 559s 8 20 21 21 559s 20 24 24 24 559s 20 24 24 24]; 559s f(:,:,2) = [ 6 10 11 11 559s 18 22 22 22 559s 20 24 24 24 559s 20 24 24 24]; 559s f(:,:,3) = [ 0 7 10 10 559s 7 19 20 20 559s 19 23 23 23 559s 19 23 23 23]; 559s ***** assert (ordfiltn (b, 25, true (3, 3, 3)), f); 559s 8 tests, 8 passed, 0 known failure, 0 skipped 559s [inst/imtophat.m] 559s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imtophat.m 559s ***** assert (imtophat (ones (3), [1 1; 0 1]), zeros (3)); 559s ***** assert (imtophat (true (3), [1 1; 0 1]), false (3)); 559s ***** shared in, out, se 559s in = [ 0 0 0 1 1 1 0 0 1 1 559s 0 1 0 1 1 1 0 0 0 1 559s 1 1 1 1 1 0 0 0 0 0 559s 0 1 1 1 1 0 0 0 0 0 559s 0 0 0 1 0 0 0 0 1 0 559s 0 0 0 0 0 0 0 1 1 1 559s 0 0 0 0 1 0 1 0 1 0 559s 0 0 0 1 1 1 1 1 0 0 559s 0 0 0 0 1 1 1 0 0 0 559s 0 0 0 1 1 1 0 0 0 0]; 559s 559s out = [ 0 0 0 0 0 0 0 0 1 1 559s 0 1 0 0 0 0 0 0 0 1 559s 1 1 1 1 1 0 0 0 0 0 559s 0 1 1 1 1 0 0 0 0 0 559s 0 0 0 1 0 0 0 0 1 0 559s 0 0 0 0 0 0 0 1 1 1 559s 0 0 0 0 1 0 1 0 1 0 559s 0 0 0 1 1 1 1 1 0 0 559s 0 0 0 0 1 1 1 0 0 0 559s 0 0 0 1 1 1 0 0 0 0]; 559s ***** assert (imtophat (logical (in), ones (3)), logical (out)); 559s 559s out = [12 19 0 0 0 16 23 0 7 0 559s 18 0 0 6 1 19 0 2 9 1 559s 0 74 81 12 7 0 1 8 15 7 559s 68 70 2 14 0 6 7 14 16 0 559s 69 76 8 0 0 7 14 21 0 1 559s 0 7 59 54 61 13 20 0 0 32 559s 18 0 69 60 62 19 0 0 0 27 559s 73 0 0 66 68 0 1 6 6 33 559s 0 0 17 19 1 0 2 9 7 14 559s 1 6 23 0 7 1 8 15 0 32]; 559s ***** assert (imtophat (magic (10), ones (3)), out); 559s ***** assert (imtophat (uint8 (magic (10)), strel ("square", 3)), uint8 (out)); 559s 559s ## using a se that will be decomposed in 2 pieces 559s out =[91 98 0 0 0 27 34 11 18 0 559s 94 76 3 6 1 33 15 17 24 1 559s 0 77 84 12 7 14 16 23 30 7 559s 80 82 14 18 0 32 34 41 43 0 559s 81 88 20 0 0 33 40 47 24 6 559s 12 19 63 57 64 16 23 0 7 39 559s 18 0 69 60 62 19 1 3 12 39 559s 73 0 0 66 68 0 2 9 18 45 559s 4 6 81 67 49 6 8 15 19 26 559s 5 12 87 48 55 7 14 21 0 32]; 559s ***** assert (imtophat (magic (10), ones(5)), out); 559s 559s ## using a weird non-symmetric and even-size se 559s out =[85 92 0 0 0 12 23 0 17 0 559s 91 73 0 6 0 18 0 2 13 0 559s 0 72 81 13 6 0 1 9 15 0 559s 60 62 10 12 0 8 8 17 17 0 559s 61 69 0 0 0 28 16 41 0 0 559s 0 0 47 52 61 12 16 0 0 31 559s 6 0 53 58 60 17 0 0 0 33 559s 69 0 0 60 62 0 0 6 0 33 559s 0 0 17 60 42 0 2 13 1 8 559s 0 6 23 0 7 0 7 15 0 14]; 559s ***** assert (imtophat (magic (10), [1 0 0 0; 1 1 1 0; 0 1 0 1]), out); 559s 559s ## N dimensional and weird se 559s in = reshape (magic(16), [4 8 4 2]); 559s se = ones (3, 3, 3); 559s se(:,:,1) = [1 0 1; 0 1 1; 0 0 0]; 559s se(:,:,3) = [1 0 1; 0 1 1; 0 0 1]; 559s out = zeros (size (in)); 559s out(:,:,1,1) = [ 559s 239 146 82 18 0 19 83 133 559s 0 35 99 163 219 128 64 0 559s 0 46 128 195 187 123 59 0 559s 157 93 47 0 14 78 142 211]; 559s out(:,:,2,1) = [ 559s 0 21 85 149 233 146 64 0 559s 205 128 64 0 0 41 87 151 559s 171 107 57 0 0 64 121 185 559s 0 64 142 213 169 105 41 0]; 559s out(:,:,3,1) = [ 559s 231 146 78 14 0 27 77 137 559s 0 43 107 167 211 128 64 0 559s 0 46 128 199 179 119 51 0 559s 149 85 39 0 18 78 142 219]; 559s out(:,:,4,1) = [ 559s 0 29 93 157 225 128 64 0 559s 197 128 64 0 0 31 95 159 559s 163 99 53 0 0 61 125 189 559s 0 64 146 221 161 97 33 0]; 559s out(:,:,1,2) = [ 559s 223 146 82 18 0 35 99 149 559s 0 48 115 179 203 128 64 0 559s 0 46 128 211 171 107 43 0 559s 141 77 31 0 14 78 142 227]; 559s out(:,:,2,2) = [ 559s 0 37 101 165 217 146 64 0 559s 189 125 64 0 0 57 103 167 559s 155 91 41 0 0 64 128 201 559s 0 64 142 229 153 89 25 0]; 559s out(:,:,3,2) = [ 559s 215 146 78 14 0 43 93 153 559s 0 48 123 183 195 128 64 0 559s 0 46 128 215 163 103 35 0 559s 133 69 23 0 18 78 142 235]; 559s out(:,:,4,2) = [ 559s 0 45 109 173 209 128 64 0 559s 181 117 64 0 0 47 111 175 559s 147 83 37 0 0 64 128 205 559s 0 64 146 237 145 81 17 0]; 559s ***** assert (imtophat (in, se), out); 559s 8 tests, 8 passed, 0 known failure, 0 skipped 559s [inst/im2uint8.m] 559s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/im2uint8.m 559s ***** assert (im2uint8 (uint8 ([1 2 3])), uint8 ([1 2 3])); 559s ***** assert (im2uint8 (uint16 ([0 65535])), uint8 ([0 255])); 559s ***** assert (im2uint8 ([0 0.5 1]), uint8 ([0 128 255])); 559s ***** assert (im2uint8 ([1 2]), uint8 ([255 255])); 559s ***** assert (im2uint8 ([-1 0 0.5 1 2]), uint8 ([0 0 128 255 255])); 559s ***** assert (im2uint8 (int16 ([-32768 0 32768])), uint8 ([0 128 255])); 559s ***** assert (im2uint8 ([false true]), uint8 ([0 255])); 559s ***** assert (im2uint8 ([true false]), uint8 ([255 0])); 559s ***** assert (im2uint8 ([1 256], "indexed"), uint8 ([0 255])); 559s ***** assert (im2uint8 ([3 25], "indexed"), uint8 ([2 24])); 559s ***** assert (im2uint8 (uint16 ([3 25]), "indexed"), uint8 ([3 25])); 559s ***** error im2uint8 ([0 1 2], "indexed"); 559s ***** error im2uint8 (int16 ([17 8]), "indexed"); 559s ***** error im2uint8 (int16 ([-7 8]), "indexed"); 559s ***** error im2uint8 ([false true], "indexed"); 559s ***** error im2uint8 (uint16 (256), "indexed"); 559s ***** error im2uint8 (257, "indexed"); 559s ***** assert (im2uint8 ((1:255) ./ 256), uint8 ([1:128 128:254])) 559s ***** assert (im2uint8 ((0:255) ./ 256), uint8 ([0:128 128:254])) 559s 19 tests, 19 passed, 0 known failure, 0 skipped 559s [inst/nlfilter.m] 559s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/nlfilter.m 559s ***** demo 559s ## creates a "wide" diagonal (although it can be performed more 559s ## efficiently with "imdilate (A, true (3))") 559s nlfilter (eye (10), [3 3], @(x) any (x(:) > 0)) 559s ***** assert (nlfilter (eye (4), [2 3], @(x) sum (x(:))), 559s [2 2 1 0 559s 1 2 2 1 559s 0 1 2 2 559s 0 0 1 1]); 559s ***** assert (nlfilter (eye (4), "indexed", [2 3], @(x) sum (x(:))), 559s [4 2 1 2 559s 3 2 2 3 559s 2 1 2 4 559s 4 3 4 5]); 559s ***** assert (nlfilter (eye (4), "indexed", [2 3], @(x, y) sum (x(:)) == y, 2), 559s logical ([0 1 0 1 559s 0 1 1 0 559s 1 0 1 0 559s 0 0 0 0])); 559s ***** assert (nlfilter (uint8 (eye (4)), "indexed", [2 3], @(x) sum (x(:))), 559s [2 2 1 0 559s 1 2 2 1 559s 0 1 2 2 559s 0 0 1 1]); 559s ***** assert (nlfilter (int16 (eye (4)), "indexed", [2 3], @(x) sum (x(:))), 559s [4 2 1 2 559s 3 2 2 3 559s 2 1 2 4 559s 4 3 4 5]); 559s ***** assert (nlfilter (uint8 (eye (4)), "indexed", [2 3], @(x) int8 (sum (x(:)))), 559s int8 ([2 2 1 0 559s 1 2 2 1 559s 0 1 2 2 559s 0 0 1 1])); 559s ***** test 559s ## Effect of out of border elements. 559s expected = [ 559s 0.5 6.0 6.0 0.5 0 559s 5.5 10.5 13.5 10.5 4.0 559s 6.5 12.5 13.5 13.5 1.5 559s 10.5 12.5 15.5 11.0 1.0 559s 5.0 10.5 6.0 1.0 0 559s ]; 559s assert (nlfilter (magic (5), [3 4], @(x) median (x(:))), expected) 559s ***** test 559s ## The center pixel of a sliding window when its length is even 559s ## sized is ceil ((size (NHOOD) +1) /2) 559s expected = [ 559s 24 24 24 16 16 559s 24 24 24 22 22 559s 23 23 22 22 22 559s 25 25 25 25 22 559s 25 25 25 25 21 559s ]; 559s assert (nlfilter (magic (5), [3 4], @(x) max (x(:))), expected) 559s ***** function dilated = imdilate_like_nlfilter (im, nhood) 559s even_nhood_dims = find (mod (size (nhood), 2) == 0); 559s for i = 1:even_nhood_dims 559s im = flip (im, i); 559s endfor 559s dilated = imdilate (im, nhood); 559s for i = 1:even_nhood_dims 559s dilated = flip (dilated, i); 559s endfor 559s ***** endfunction 559s ***** test 559s a = randi (65535, 20, 20, 20, "uint16"); 559s ## extra dimensions on matrix only 559s assert (nlfilter (a, [5 5], @(x) max(x(:))), imdilate (a, ones (5))) 559s ## extra dimensions on both matrix and block 559s assert (nlfilter (a, [5 5 5], @(x) max(x(:))), imdilate (a, ones ([5 5 5]))) 559s ## extra dimensions and padding 559s assert (nlfilter (a, [3 7], @(x) max(x(:))), imdilate (a, ones ([3 7]))) 559s assert (nlfilter (a, [3 7 3], @(x) max(x(:))), imdilate (a, ones ([3 7 3]))) 560s ***** test 560s a = randi (65535, 15, 15, 4, 8, 3, "uint16"); 560s assert (nlfilter (a, [3 4 7 5], @(x) max(x(:))), 560s imdilate_like_nlfilter (a, ones ([3 4 7 5]))) 561s ***** test 561s a = randi (65535, 15, 15, 4, 3, 8, "uint16"); 561s ord = ordfiltn (a, 3, ones ([3 7 3 1 5])); 561s assert (nlfilter (a, [3 7 3 1 5], @(x) sort (x(:))(3)), ord) 561s assert (nlfilter (a, [3 7 3 1 5], @(x, y) sort (x(:))(y), 3), ord) 563s 11 tests, 11 passed, 0 known failure, 0 skipped 563s [inst/labelmatrix.m] 563s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/labelmatrix.m 563s ***** test 563s cc = struct (); 563s cc.Connectivity = 8; 563s cc.ImageSize = [7 7]; 563s cc.NumObjects = 4; 563s cc.PixelIdxList = {[1;2], [5;7;12;13;14], [22;23], [26;32;33;36;37;38]}; 563s 563s l = uint8 ([ 563s 1 0 0 3 0 4 0 563s 1 0 0 3 0 4 0 563s 0 0 0 0 0 4 0 563s 0 0 0 0 4 0 0 563s 2 2 0 4 4 0 0 563s 0 2 0 0 0 0 0 563s 2 2 0 0 0 0 0 563s ]); 563s assert (labelmatrix (cc), l) 563s 1 test, 1 passed, 0 known failure, 0 skipped 563s [inst/medfilt2.m] 563s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/medfilt2.m 563s ***** shared b, f 563s b = [ 0 1 2 3 563s 1 8 12 12 563s 4 20 24 21 563s 7 22 25 18]; 563s f = [ 0 1 2 0 563s 1 4 12 3 563s 4 12 20 12 563s 0 7 20 0]; 563s ***** assert (medfilt2 (b), f); 563s 563s f = [ 0 1 2 3 563s 1 8 12 12 563s 4 20 24 18 563s 4 20 24 18]; 563s ***** assert (medfilt2 (b, true (3, 1)), f); 563s ***** assert (medfilt2 (b, [3 1]), f); 563s 563s f = [ 1 8 10 10 563s 1 8 12 12 563s 4 20 24 18 563s 7 20 24 18]; 563s ***** assert (medfilt2 (b, [3 1], 10), f); 563s ***** assert (medfilt2 (b, 10, [3 1]), f); 563s 563s f = [ 0.5 4.5 7.0 7.5 563s 2.5 14.0 18.0 15.0 563s 2.5 14.0 18.0 15.0 563s 2.0 10.0 12.0 9.0]; 563s ***** assert (medfilt2 (b, true (4, 1)), f); 563s ***** assert (medfilt2 (b, [4 1]), f); 563s ***** test 563s A = zeros (3, 3); 563s B = ones (3, 3); 563s C = [1 1 1; 2 2 2; 3 3 3]; 563s D = C'; 563s E = ones (3, 3); 563s E(2,2) = 2; 563s F = 3 .* ones (3, 3); 563s F(2,2) = 1; 563s G = [-1 2 7; -5 2 8; -7 pi 9]; 563s H = [5 2 8; 1 -3 1; 5 1 0]; 563s A_out = [0 0 0; 0 0 0; 0 0 0]; 563s B_out = [0 1 0; 1 1 1; 0 1 0]; 563s C_out = [0 1 0; 1 2 1; 0 2 0]; 563s D_out = [0 1 0; 1 2 2; 0 1 0]; 563s E_out = [0 1 0; 1 1 1; 0 1 0]; 563s F_out = [0 3 0; 3 3 3; 0 3 0]; 563s G_out = [0 0 0; 0 2 2; 0 0 0]; 563s H_out = [0 1 0; 1 1 0; 0 0 0]; 563s assert (medfilt2 (A), A_out); 563s assert (medfilt2 (B), B_out); 563s assert (medfilt2 (C), C_out); 563s assert (medfilt2 (D), D_out); 563s assert (medfilt2 (E), E_out); 563s assert (medfilt2 (F), F_out); 563s assert (medfilt2 (G), G_out); 563s assert (medfilt2 (H), H_out); 563s 8 tests, 8 passed, 0 known failure, 0 skipped 563s [inst/makelut.m] 563s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/makelut.m 563s ***** demo 563s makelut(@(x) sum(x(:))>=3, 2) 563s % Returns '1' if one or more values 563s % in the input matrix are 1 563s ***** assert(prod(makelut(@(x) sum(x(:))==2, 2)==makelut(@(x, a, b, c, d) sum(x(:))==a*b*c*d,2,2/(3*4*5),3,4,5))); # test multiple params 563s ***** assert(prod(makelut(@(x) x(1,1)==1, 2)==[zeros(2^3,1);ones(2^3,1)])==1); # test 2-by-2 563s ***** assert(prod(makelut(@(x) x(1,1)==1, 3)==[zeros(2^8,1);ones(2^8,1)])==1); # test 3-by-3 563s ***** assert(prod(makelut(@(x) x(1,1)==1, 4)==[zeros(2^15,1);ones(2^15,1)])==1); # test 4-by-4 565s ***** assert(prod(makelut(@(x) x(2,1)==1, 3)==[zeros(2^7,1);ones(2^7,1);zeros(2^7,1);ones(2^7,1)])==1); # another test for 3-by-3 565s 5 tests, 5 passed, 0 known failure, 0 skipped 565s [inst/houghpeaks.m] 565s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/houghpeaks.m 565s ***** shared im1 565s im1 = magic (5); 565s ***** error houghpeaks () 565s ***** error houghpeaks (1, 2, 3, 4, 5, 6, 7) 565s ***** assert (houghpeaks (im1)) 565s ***** assert (houghpeaks (im1, 2)) 565s ***** assert (houghpeaks (im1, "Threshold", 10)) 565s ***** assert (houghpeaks (im1, 2, "Threshold", 10)) 565s ***** assert (houghpeaks (im1, "NHoodSize", [3 3])) 565s ***** assert (houghpeaks (im1, 2, "NHoodSize", [3 3])) 565s ***** assert (houghpeaks (im1, "Threshold", 10, "NHoodSize", [3 3])) 565s ***** assert (houghpeaks (im1, "NHoodSize", [3 3], "Threshold", 10)) 565s ***** assert (houghpeaks (im1, 2, "Threshold", 10, "NHoodSize", [3 3])) 565s ***** assert (houghpeaks (im1, 2, "NHoodSize", [3 3], "Threshold", 10)) 566s ***** error houghpeaks (ones (5, 5, 5)) 566s ***** error houghpeaks ("hello") 566s ***** error houghpeaks (im1, 1.5) 566s ***** error houghpeaks (im1, -2) 566s ***** error houghpeaks (im1, [1 1]) 566s ***** error houghpeaks (im1, "Threshold", "hello") 566s ***** error houghpeaks (im1, "Threshold", -2) 566s ***** error houghpeaks (im1, "Threshold", [1 1]) 566s ***** error houghpeaks (im1, "NHoodSize", [3 3 3]) 566s ***** error houghpeaks (im1, "NHoodSize", "hello") 566s ***** error houghpeaks (im1, "NHoodSize", [-3 -3]) 566s ***** error houghpeaks (im1, "NHoodSize", [4 4]) 566s ***** test 566s out = houghpeaks (im1); 566s assert (size (out), [1 2]) 566s assert (class (out), "double") 566s ***** test 566s out = houghpeaks (im1, 3); 566s assert (size (out), [3 2]) 566s ***** test 566s expected = [5 3; 1 2; 3 5; 1 5]; 566s assert (houghpeaks (im1, 4), expected) # this checks for undocumented nhood >=3 566s assert (houghpeaks (im1, 4, "nhoodsize", [3,3]), expected) 566s assert (houghpeaks (im1, 4, "threshold", 10), expected) 566s assert (houghpeaks (im1, 4, "threshold", 24), expected(1:2,:)) 566s ***** test 566s im2 = magic (7); 566s expected_a = [7 4; 1 3; 3 1; 5 6]; 566s expected_b = [7 4; 1 3; 4 7; 1 7]; 566s assert (houghpeaks (im2, 4), expected_a) 566s assert (houghpeaks (im2, 4, "nhoodsize", [5,5]), expected_b) 566s assert (houghpeaks (im2, 4, "threshold", 24), expected_a) 566s assert (houghpeaks (im2, 4, "threshold", 47), expected_a(1:2,:)) 566s ***** test 566s im3 = magic (99); 566s expected_a = [99 50; 1 49; 3 47; 5 45; 7 43; 9 41; 11 39]; 566s expected_b = [99 50; 1 49; 7 43; 13 37; 19 31; 25 25; 31 19]; 566s expected_c = [99 50; 1 49; 2 48; 3 47; 4 46; 5 45; 6 44]; 566s assert (houghpeaks (im3, 7), expected_a) 566s assert (houghpeaks (im3, 7, "nhoodsize", [11 11]), expected_b) 566s assert (houghpeaks (im3, 7, "nhoodsize", [11 1]), expected_c) 566s assert (houghpeaks (im3, 7, "nhoodsize", [11 1]), expected_c) 566s ***** test 566s im4 = double (im2uint16 (peaks ())); 566s expected_a = [37 15; 39 15; 41 15; 15 16; 17 16]; 566s expected_b = [37 15; 15 16; 26 21; 37 26; 20 32]; 566s expected_c = [37 15; 15 16; 35 16; 15 17; 35 17]; 566s expected_d = [37 15; 38 15; 39 15; 40 15; 41 15]; 566s assert (houghpeaks (im4, 5), expected_a) 566s assert (houghpeaks (im4, 5, "nhoodsize", [21 21]), expected_b) 566s assert (houghpeaks (im4, 5, "nhoodsize", [21 1]), expected_c) 566s assert (houghpeaks (im4, 5, "nhoodsize", [1 21]), expected_d) 566s ***** test # tests use of anti-symmetry in H 566s im5 = zeros (6,4); im5(2,1) = 1; im5(5,4) = 2; 566s expected = [5 4; 2 1]; 566s assert (houghpeaks (im5, 2, "nhoodsize", [1 1]), expected); 566s assert (houghpeaks (im5, 2, "nhoodsize", [3 3]), expected(1,:)); 566s ***** test #test use of anti-symmetry in the other direction 566s im6 = magic (100); 566s expected_a = [1 1; 100 99; 1 4; 100 95; 1 8; 100 91; 1 12]; 566s expected_b = [1 1; 100 95; 1 8; 100 87; 1 16; 100 79; 1 24]; 566s expected_c = [1 1; 100 99; 100 98; 1 4; 1 5; 100 95; 100 94]; 566s expected_d = expected_b; 566s assert (houghpeaks (im6, 7), expected_a) 566s assert (houghpeaks (im6, 7, "nhoodsize", [11 11]), expected_b) 566s assert (houghpeaks (im6, 7, "nhoodsize", [11 1]), expected_c) 566s assert (houghpeaks (im6, 7, "nhoodsize", [1 11]), expected_d) 566s ***** test # test undocumented Matlab default value for nhoodsize 566s im = zeros (723, 180); 566s im(585,136) = 8; 566s im(593,135) = 7; 566s im(310,46) = 6; 566s expected = [585, 136; 310, 46]; 566s assert (houghpeaks (im, 2), expected) 566s ***** test 566s I = max (0, phantom ()); 566s H = hough (I); 566s P0 = [585, 136; 310, 46; 595, 136; 522, 104; 373, 46]; 566s assert (houghpeaks (H, 5), P0) 566s ***** demo 566s I = checkerboard (30, 1, 1); 566s I = imnoise(I, "salt & pepper", 0.2); 566s figure, imshow (I); 566s title ("noisy image with some lines"); 566s BW = edge (I, "canny"); 566s figure, imshow(BW); 566s title ("edge image"); 566s [H, theta, rho] = hough (BW); 566s figure, imshow (mat2gray (H), [],"XData",theta,"YData",rho); 566s title ("Hough transform of edge image \n 2 peaks marked"); 566s axis on; xlabel("theta [degrees]"); ylabel("rho [pixels]"); 566s peaks = houghpeaks (H, 2); 566s peaks_rho = rho(peaks(:,1)) 566s peaks_theta = theta(peaks(:,2)) 566s hold on; 566s plot(peaks_theta,peaks_rho,"sr"); 566s hold off; 566s 34 tests, 34 passed, 0 known failure, 0 skipped 566s [inst/lab2rgb.m] 566s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/lab2rgb.m 566s ***** assert (lab2rgb ([0 0 0]), [0, 0, 0], 1e-3) 566s ***** assert (lab2rgb ([53.24, 80.09, 67.20]), [1 0 0], 1e-3) 566s ***** assert (lab2rgb ([97.14, -21.55, 94.48]), [1 1 0], 1e-3) 566s ***** assert (lab2rgb ([87.74, -86.18, 83.18]), [0 1 0], 1e-3) 566s ***** assert (lab2rgb ([91.11, -48.09, -14.13]), [0 1 1], 1e-3) 566s ***** assert (lab2rgb ([32.30, 79.19, -107.86]), [0 0 1], 1e-3) 566s ***** assert (lab2rgb ([60.32, 98.24, -60.83]), [1 0 1], 1e-3) 566s ***** assert (lab2rgb ([100, 0.00, 0.00]), [1 1 1], 1e-3) 566s ***** assert (lab2rgb ([53.39, 0.00, 0.00]), [0.5 0.5 0.5], 1e-3) 566s ***** assert (lab2rgb ([39.77, 64.51, 54.13]), [0.75 0 0], 1e-3) 566s ***** assert (lab2rgb ([25.42, 47.91, 37.91]), [0.5 0 0], 1e-3) 566s ***** assert (lab2rgb ([9.66, 29.68, 15.24]), [0.25 0 0], 1e-3) 566s ***** assert (lab2rgb ([68.11, 48.39, 22.83]), [1 0.5 0.5], 1e-3) 566s ***** assert (lab2rgb ([150 130 130]), [2.714, 1.028, 0.492], 1e-3) 566s ***** test 566s lab_map = rand (64, 3); 566s lab_map(:,1) = lab_map(:,1) .* 100; 566s lab_map(:,2) = lab_map(:,2) .* 254 - 127; 566s lab_map(:,3) = lab_map(:,3) .* 254 - 127; 566s assert (rgb2lab (lab2rgb (lab_map)), lab_map, 5e-3); 566s ***** test 566s lab_img = rand (64, 64, 3); 566s lab_img(:,:,1) = lab_img(:,:,1) .* 100; 566s lab_img(:,:,2) = lab_img(:,:,2) .* 254 - 127; 566s lab_img(:,:,3) = lab_img(:,:,3) .* 254 - 127; 566s assert (rgb2lab (lab2rgb (lab_img)), lab_img, 5e-3); 566s ***** assert (lab2rgb (sparse ([0 0 0])), [0 0 0], 1e-3) 566s ***** assert (lab2rgb (sparse ([100, 0.00, 0.00])), [1 1 1], 1e-3) 566s ***** assert (class (lab2rgb (single([50 50 50]))), 'single') 566s ***** error lab2rgb () 566s ***** error lab2rgb (1,2) 566s ***** error lab2rgb ({1}) 566s ***** error lab2rgb (ones (2,2)) 566s ***** test 566s lab = rand (16, 16, 3, 5); 566s lab(:,:,1,:) = lab(:,:,1,:) .* 100; 566s lab(:,:,2,:) = lab(:,:,2,:) .* 254 - 127; 566s lab(:,:,3,:) = lab(:,:,3,:) .* 254 - 127; 566s rgb = zeros (size (lab)); 566s for i = 1:5 566s rgb(:,:,:,i) = lab2rgb (lab(:,:,:,i)); 566s endfor 566s assert (lab2rgb (lab), rgb) 566s 24 tests, 24 passed, 0 known failure, 0 skipped 566s [inst/fftconvn.m] 566s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/fftconvn.m 566s ***** function test_shapes (a, b, precision) 566s shapes = {"valid", "same", "full"}; 566s for i = 1:3 566s shape = shapes{i}; 566s assert (fftconvn (a, b, shape), convn (a, b, shape), precision); 566s endfor 566s assert (fftconvn (a, b), fftconvn (a, b, "full")); 566s ***** endfunction 566s ***** test test_shapes (randi (255, 100), randi (255, 10), 0.1) 566s ***** test test_shapes (randi (255, 100, 100), randi (255, 10, 10), 0.1) 566s ***** test test_shapes (randi (255, 100, 100, 100), randi (255, 10, 10, 10), 0.1) 570s ***** test test_shapes (randi (255, 100, 50, 20), randi (255, 10, 7), 0.1) 570s ***** test test_shapes (randi (255, 100, 50, 20), randi (255, 10), 0.1) 570s ***** test 570s for s = [55 56 57 58] 570s test_shapes (randi (255, 200, 200), randi (255, s, s), 0.1) 570s endfor 571s ***** test 571s for s = [203 204 205 206] 571s test_shapes (randi (255, s, s), randi (255, 52, 52), 0.1) 571s endfor 572s ***** test test_shapes (randi (255, 100, 100, "uint8"), randi (255, 10, 10, "uint8"), 0.1) 572s ***** test test_shapes (randi (255, 100, 100, "uint8"), randi (255, 10, 10), 0.1) 572s ***** test test_shapes (randi (255, 100, 100, "single"), randi (255, 10, 10, "single"), 0.9) 572s ***** test test_shapes (randi (255, 100, 100, "single"), randi (255, 10, 10), 0.9) 572s 11 tests, 11 passed, 0 known failure, 0 skipped 572s [inst/imfill.m] 572s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imfill.m 572s ***** test 572s I = uint8 (5.*[1 1 1; 1 0 1; 1 1 1]); 572s bw = logical ([1 1 1; 1 0 1; 1 1 1]); 572s I2 = uint8 (5.*ones (3)); 572s bw2 = logical (ones (3)); 572s 572s assert (imfill (int8 (I)), int8 (I2)) 572s assert (imfill (int16 (I)), int16 (I2)) 572s assert (imfill (int32 (I)), int32 (I2)) 572s assert (imfill (int64 (I)), int64 (I2)) 572s assert (imfill (uint8 (I)), uint8 (I2)) 572s assert (imfill (uint16 (I)), uint16 (I2)) 572s assert (imfill (uint32 (I)), uint32 (I2)) 572s assert (imfill (uint64 (I)), uint64 (I2)) 572s assert (imfill (single (I)), single (I2)) 572s assert (imfill (double (I)), double (I2)) 572s assert (imfill (bw, "holes"), bw2) 572s assert (imfill (uint8 (bw)), uint8 (bw2)) 572s ***** error 572s imfill (i + ones (3, 3)); # complex input 572s ***** error 572s imfill (sparse (double (I))); # sparse input 572s ***** error 572s imfill (); 572s ***** error 572s imfill (true (3), 4, "holes", 5) 573s ***** error 573s imfill (false (3), ones (2, 3)) 573s ***** error 573s imfill (false (3), ones (2, 3), 4) 573s ***** error 573s imfill (false (3)) 573s ***** error 573s imfill (false (3), 0, 4) 573s ***** warning 573s bw = logical ([1 1 1; 1 0 1; 1 1 1]); 573s assert (imfill (bw, [5 5]), bw) 573s assert (imfill (bw, 15), bw) 573s 573s bw = repmat (bw, [1 1 3]); 573s assert (imfill (bw, 30), bw) 573s assert (imfill (bw, [2 2 5]), bw) 573s ***** test 573s bw = logical ([1 0 0 0 0 0 0 0 573s 1 1 1 1 1 0 0 0 573s 1 0 0 0 1 0 1 0 573s 1 0 0 0 1 1 1 0 573s 1 1 1 1 0 1 1 1 573s 1 0 0 1 1 0 1 0 573s 1 0 0 0 1 0 1 0 573s 1 0 0 0 1 1 1 0]); 573s bw2 = logical ([1 0 0 0 0 0 0 0 573s 1 1 1 1 1 0 0 0 573s 1 1 1 1 1 0 1 0 573s 1 1 1 1 1 1 1 0 573s 1 1 1 1 1 1 1 1 573s 1 0 0 1 1 1 1 0 573s 1 0 0 0 1 1 1 0 573s 1 0 0 0 1 1 1 0]); 573s bw3 = logical ([1 0 0 0 0 0 0 0 573s 1 1 1 1 1 0 0 0 573s 1 1 1 1 1 0 1 0 573s 1 1 1 1 1 1 1 0 573s 1 1 1 1 0 1 1 1 573s 1 0 0 1 1 0 1 0 573s 1 0 0 0 1 0 1 0 573s 1 0 0 0 1 1 1 0]); 573s assert (imfill (bw, "holes"), bw2) 573s assert (imfill (bw, 8, "holes"), bw2) 573s assert (imfill (bw, 4, "holes"), bw2) 573s assert (imfill (bw, [3 3]), bw3) 573s assert (imfill (bw, 19), bw3) 573s assert (imfill (bw, [3 3], 4), bw3) 573s assert (imfill (bw, 19, 4), bw3) 573s assert (imfill (bw, [3 3], 8), bw2) 573s assert (imfill (bw, 19, 8), bw2) 573s assert (imfill (bw, [19; 20]), bw3) 573s assert (imfill (bw, [19; 20], 4), bw3) 573s assert (imfill (bw, [19; 20], 8), bw2) 573s ***** warning 573s bw = logical ([1 1 1 1 1 1 1 573s 1 0 0 0 0 0 1 573s 1 0 1 1 1 0 1 573s 1 0 1 0 1 0 1 573s 1 0 1 1 1 0 1 573s 1 0 0 0 0 0 1 573s 1 1 1 1 1 1 1]); 573s bw44 = logical ([1 1 1 1 1 1 1 573s 1 0 0 0 0 0 1 573s 1 0 1 1 1 0 1 573s 1 0 1 1 1 0 1 573s 1 0 1 1 1 0 1 573s 1 0 0 0 0 0 1 573s 1 1 1 1 1 1 1]); 573s bw9 = logical ([1 1 1 1 1 1 1 573s 1 1 1 1 1 1 1 573s 1 1 1 1 1 1 1 573s 1 1 1 0 1 1 1 573s 1 1 1 1 1 1 1 573s 1 1 1 1 1 1 1 573s 1 1 1 1 1 1 1]); 573s assert (imfill (bw, "holes"), logical (ones (7))) 573s assert (imfill (bw, [4 4]), bw44) 573s assert (imfill (bw, 9), bw9) 573s assert (imfill (bw, [4 4; 10 10]), bw44) 573s ***** test 573s bw = logical ([1 1 0 1 1]); 573s assert (imfill (bw, "holes"), bw) 573s bw = logical([1 1 0 1 1; 1 1 1 1 1]); 573s assert (imfill (bw, "holes"), bw) 573s ***** test 573s I = zeros (5); 573s I(:, [2 4]) = 1; 573s I2_expected = [0 1 1 1 0 573s 0 1 1 1 0 573s 0 1 1 1 0 573s 0 1 1 1 0 573s 0 1 1 1 0]; 573s I2 = imfill (I, [0 0 0; 1 1 1; 0 0 0], "holes"); 573s assert (I2, I2_expected) 573s ***** test 573s I = zeros (5); 573s I(:, [2 4]) = 1; 573s I2_expected = I; 573s I2 = imfill (I, [0 1 0; 0 1 0; 0 1 0], "holes"); 573s assert (I2, I2_expected) 573s ***** test # this test is Matlab compatible 573s I = zeros (5); 573s I(:, [2 4]) = 1; 573s I2_expected = inf .* ones (5); 573s I2 = imfill (I, [0 0 0; 0 1 0; 0 0 0], "holes"); 573s assert (I2, I2_expected) 573s ***** test 573s I = false (5); 573s I(:, [2 4]) = true; 573s I2_expected = true (5); 573s I2 = imfill (I, [0 0 0; 0 1 0; 0 0 0], "holes"); 573s assert (I2, I2_expected) 573s ***** test 573s I = uint8 ([10 20 80 85 20 573s 15 90 03 25 88 573s 05 85 02 50 83 573s 90 04 03 80 80 573s 10 81 83 85 30]); 573s I2 = uint8 ([10 20 80 85 20 573s 15 90 80 80 88 573s 05 85 80 80 83 573s 90 80 80 80 80 573s 10 81 83 85 30]); 573s I3 = uint8 ([10 20 80 85 20 573s 15 90 05 25 88 573s 05 85 05 50 83 573s 90 05 05 80 80 573s 10 81 83 85 30]); 573s assert (imfill (I), I2) 573s assert (imfill (I, 4), I2) 573s assert (imfill (I, 4, "holes"), I2) 573s assert (imfill (I, 8), I3) 573s assert (imfill (I, "holes"), I2) 573s ***** test 573s v_line = [0 1 0; 0 1 0; 0 1 0]; 573s h_line = [0 0 0; 1 1 1; 0 0 0]; 573s im = [0 1 0 0 1 0]; 573s 573s assert (imfill (im, h_line, "holes"), [0 1 1 1 1 0]) 573s assert (imfill (im, v_line, "holes"), [0 1 0 0 1 0]) 573s assert (imfill (im', h_line, "holes"), [0 1 0 0 1 0]') 573s assert (imfill (im', v_line, "holes"), [0 1 1 1 1 0]') 573s 573s im = repmat (im, [1 1 5]); 573s assert (imfill (im, h_line, "holes"), repmat ([0 1 1 1 1 0], [1 1 5])) 573s assert (imfill (im, v_line, "holes"), im) 573s 573s im = permute (im, [2 1 3]); 573s assert (imfill (im, h_line, "holes"), im) 573s assert (imfill (im, v_line, "holes"), repmat ([0 1 1 1 1 0]', [1 1 5])) 573s ***** test 573s im = logical ([0 0 0 0 0 0 573s 0 1 1 1 1 0 573s 0 1 0 0 1 0 573s 0 1 1 1 1 0 573s 0 0 0 0 0 0]); 573s fi = logical ([0 0 0 0 0 0 573s 0 1 1 1 1 0 573s 0 1 1 1 1 0 573s 0 1 1 1 1 0 573s 0 0 0 0 0 0]); 573s 573s assert (imfill (cat (3, im, im, im), 8, 'holes'), cat (3, fi, fi, fi)) 573s assert (imfill (cat (3, im, im, im), 'holes'), cat (3, im, im, im)) 573s assert (imfill (cat (3, fi, im, fi), 'holes'), cat (3, fi, fi, fi)) 573s ***** test 573s emp = false (5, 6); 573s im = logical ([0 0 0 0 0 0 573s 0 1 1 1 1 0 573s 0 1 0 1 0 1 573s 0 1 1 1 1 0 573s 0 0 0 0 0 0]); 573s fi = logical ([0 0 0 0 0 0 573s 0 1 1 1 1 0 573s 0 1 1 1 1 1 573s 0 1 1 1 1 0 573s 0 0 0 0 0 0]); 573s fi1 = logical ([0 0 0 0 0 0 573s 0 1 1 1 1 0 573s 0 1 1 1 0 1 573s 0 1 1 1 1 0 573s 0 0 0 0 0 0]); 573s fi2 = logical ([0 0 0 0 0 0 573s 0 1 1 1 1 0 573s 0 1 0 1 1 1 573s 0 1 1 1 1 0 573s 0 0 0 0 0 0]); 573s 573s assert (imfill (cat (3, im, im, im), [3 3 2]), cat (3, fi1, fi1, fi1)) 573s assert (imfill (cat (3, im, im, im), [3 5 2]), cat (3, fi2, fi2, fi2)) 573s assert (imfill (cat (3, im, im, im), [3 3 2; 3 5 2]), cat (3, fi, fi, fi)) 573s assert (imfill (cat (3, emp, im, emp), [3 3 2]), true (5, 6, 3)) 573s 21 tests, 21 passed, 0 known failure, 0 skipped 573s [inst/imhmax.m] 573s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imhmax.m 573s ***** shared im0, im0_h2_out 573s im0 = uint8 ([0 0 0 0 0; 573s 0 1 2 1 0; 573s 0 2 5 2 0; 573s 0 1 2 1 0; 573s 0 0 0 0 0]); 573s im0_h2_out = uint8 ([0 0 0 0 0; 573s 0 1 2 1 0; 573s 0 2 3 2 0; 573s 0 1 2 1 0; 573s 0 0 0 0 0]); 573s ***** error imhmax () 573s ***** error imhmax (im0) 573s ***** error imhmax ("hello", 2) 573s ***** error imhmax (i.*im0, 2) 573s ***** error imhmax (sparse (im0), 2) 573s ***** error imhmax (im0, -2) 573s ***** error imhmax (im0, 'a') 573s ***** error imhmax (im0, ones (2)) 573s ***** error imhmax (im0, 2*i) 573s ***** assert (imhmax (im0, 2), im0_h2_out) 573s ***** assert (imhmax (double (im0), 2), double (im0_h2_out)) 573s ***** assert (imhmax (im0, 2, 8), im0_h2_out) 573s ***** assert (imhmax (im0, 2, 4), im0_h2_out) 573s ***** assert (imhmax (im0, 2, true (3)), im0_h2_out) 573s ***** test 573s out = imhmax (double (im0), 2); 573s assert (size (out), size (im0)) 573s assert (class (out), "double") 573s ***** test 573s out = imhmax (single (im0), 2); 573s assert (size (out), size (im0)) 573s assert (class (out), "single") 573s ***** test 573s out = imhmax (uint8 (im0), 2); 573s assert (size (out), size (im0)) 573s assert (class (out), "uint8") 573s ***** test 573s out = imhmax (uint16 (im0), 2); 573s assert (size (out), size (im0)) 573s assert (class (out), "uint16") 573s ***** test 573s im = cat (3, im0, im0, im0, im0); 573s out = imhmax (im, 2); 573s assert (size (out), size (im)) 573s ***** test 573s im = zeros (10); 573s im(2:4, 2:4) = 3; 573s im(6:8, 6:8) = 8; 573s expected_4 = zeros (10); 573s expected_4(6:8, 6:8) = 4; 573s expected_2 = zeros (10); 573s expected_2(2:4, 2:4) = 1; 573s expected_2(6:8, 6:8) = 6; 573s out = imhmax (im, 4); 573s assert (out, expected_4, eps) 573s out = imhmax (im, 2); 573s assert (out, expected_2, eps) 573s out = imhmax (0.1 .* im, 0.4); 573s assert (out, 0.1 .* expected_4, eps) 573s ***** test 573s im2 = zeros (10); 573s im2(2:4, 2:4) = 3; 573s im2(6:9, 6:9)=8; 573s im2(5, 5)=8; 573s im2(6, 7)=0; 573s im2(7, 8)=0; 573s expected_4 = zeros (10); 573s expected_4(6:9, 6:9) = 4; 573s expected_4(5, 5) = 4; 573s expected_4(6, 7) = 0; 573s expected_4(7, 8) = 0; 573s expected_8 = expected_4; 573s expected_8(2:4, 2:4) = 3; 573s out2 = imhmax (im2, 4); 573s assert (out2, expected_8, eps) 573s out2 = imhmax (im2, 4, 4); 573s assert (out2, expected_4, eps) 573s out2 = imhmax (im2, 4, 8); 573s assert (out2, expected_8, eps) 573s 21 tests, 21 passed, 0 known failure, 0 skipped 573s [inst/checkerboard.m] 573s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/checkerboard.m 573s ***** demo 573s ## Simplest case, default checkerboard size: 573s ## 8 by 8 checkerboard, with squares 10 pixel wide 573s board = checkerboard (); 573s imshow (board) 573s ***** demo 573s ## Simplest case, default checkerboard size: 573s ## 8 by 16 checkerboard, with squares 5 pixel wide 573s board = checkerboard (5, 4, 8); 573s imshow (board) 573s ***** assert (checkerboard (0), zeros (0, 0)) 573s ***** assert (checkerboard (0, 3), zeros (0, 0)) 573s ***** assert (checkerboard (0, 2, 4), zeros (0, 0)) 573s ***** assert (checkerboard (0, 2, 4, 3), zeros (0, 0, 0)) 573s ***** assert (checkerboard (0, 2, 4, 3, 2), zeros (0, 0, 0, 0)) 573s ***** assert (checkerboard (1, 4, 2, 3, 0), zeros (8, 4, 6, 0)) 573s ***** assert (checkerboard (1, 4, 0, 3, 2), zeros (8, 0, 6, 4)) 573s ***** assert (checkerboard (2, 4, 0, 3, 2), zeros (16, 0, 12, 8)) 573s ***** test 573s out = zeros (80); 573s i1 = ((1:20:80) + (0:9)')(:); 573s i2 = ((11:20:80) + (0:9)')(:); 573s out(i1, i2) = 1; 573s out(i2, i1) = 1; 573s i1r = ((41:20:80) + (0:9)')(:); 573s i2r = ((51:20:80) + (0:9)')(:); 573s out(i2, i1r) = 0.7; 573s out(i1, i2r) = 0.7; 573s assert (checkerboard (), out) 573s assert (checkerboard (10, 4, 4), out) 573s assert (checkerboard (10, [4 4]), out) 573s assert (checkerboard (10, [4; 4]), out) 573s ***** test 573s out = zeros (8); 573s out(2:2:8, 1:2:8) = 1; 573s out(1:2:8, 2:2:8) = 1; 573s out(1:2:8, 6:2:8) = 0.7; 573s out(2:2:8, 5:2:8) = 0.7; 573s assert (checkerboard (1), out) 573s assert (checkerboard (1, 4), out) 573s assert (checkerboard (1, 4, 4), out) 573s assert (checkerboard (1, [4 4]), out) 573s ***** test 573s out = zeros (10); 573s out(2:2:10, 1:2:10) = 1; 573s out(1:2:10, 2:2:10) = 1; 573s out(1:2:10, 6:2:10) = 0.7; 573s out(2:2:10, 7:2:10) = 0.7; 573s assert (checkerboard (1, 5), out) 573s assert (checkerboard (1, 5, 5), out) 573s assert (checkerboard (1, [5 5]), out) 573s ***** test 573s out = zeros (20); 573s out([1:4:20 2:4:20], [3:4:20 4:4:20]) = 1; 573s out([3:4:20 4:4:20], [1:4:20 2:4:20]) = 1; 573s out([1:4:20 2:4:20], [11:4:20 12:4:20]) = 0.7; 573s out([3:4:20 4:4:20], [13:4:20 14:4:20]) = 0.7; 573s assert (checkerboard (2, 5), out) 573s assert (checkerboard (2, 5, 5), out) 573s assert (checkerboard (2, [5 5]), out) 573s ***** test 573s out = zeros (4, 4, 4); 573s out([1 3], 1, [1 3]) = 1; 573s out([2 4], 2, [1 3]) = 1; 573s out([1 3], 2, [2 4]) = 1; 573s out([2 4], 1, [2 4]) = 1; 573s out([1 3], 3, [1 3]) = 0.7; 573s out([2 4], 4, [1 3]) = 0.7; 573s out([1 3], 4, [2 4]) = 0.7; 573s out([2 4], 3, [2 4]) = 0.7; 573s assert (checkerboard (1, [2 2 2]), out) 573s assert (checkerboard (1, 2, 2, 2), out) 573s ***** test 573s out = zeros (8, 8, 8); 573s out([1 2 5 6], [1 2], [1 2 5 6]) = 1; 573s out([3 4 7 8], [3 4], [1 2 5 6]) = 1; 573s out([1 2 5 6], [3 4], [3 4 7 8]) = 1; 573s out([3 4 7 8], [1 2], [3 4 7 8]) = 1; 573s out([1 2 5 6], [5 6], [1 2 5 6]) = 0.7; 573s out([3 4 7 8], [7 8], [1 2 5 6]) = 0.7; 573s out([1 2 5 6], [7 8], [3 4 7 8]) = 0.7; 573s out([3 4 7 8], [5 6], [3 4 7 8]) = 0.7; 573s assert (checkerboard (2, [2 2 2]), out) 573s assert (checkerboard (2, 2, 2, 2), out) 573s 14 tests, 14 passed, 0 known failure, 0 skipped 573s [inst/bestblk.m] 573s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/bestblk.m 573s ***** demo 573s siz = bestblk ([200; 10], 50); 573s disp (siz) 573s ***** error bestblk ("string") 573s ***** error bestblk ([100 200], "string") 573s ***** error <2 elements> bestblk ([100], 5) 573s ***** assert (bestblk ([ 10 12], 2), [ 2 2]); 573s ***** assert (bestblk ([ 10 12], 3), [ 2 3]); 573s ***** assert (bestblk ([300 100], 150), [150 100]); 573s ***** assert (bestblk ([256 128], 17), [ 16 16]); 573s ***** assert (bestblk ([ 17 17], 3), [ 3 3]); 573s ***** assert (bestblk ([230 470]), bestblk ([230 470], 100)) 573s ***** assert (bestblk ([10 12 10], 3), [2 3 2]); 573s ***** assert (bestblk ([ 9 12 9], 3), [3 3 3]); 573s ***** assert (bestblk ([10 12 10 11], 5), [5 4 5 4]); 573s 12 tests, 12 passed, 0 known failure, 0 skipped 573s [inst/poly2mask.m] 573s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/poly2mask.m 573s ***** demo 573s s = [0:pi/4:2*pi]; 573s x = cos (s) * 90 + 101; 573s y = sin (s) * 90 + 101; 573s bw = poly2mask(x, y, 200, 200); 573s imshow (bw); 573s ***** demo 573s s = [0:2*pi/5:pi*4]; 573s s = s ([1, 3, 5, 2, 4, 6]); 573s x = cos (s) * 90 + 101; 573s y = sin (s) * 90 + 101; 573s bw = poly2mask (x, y, 200, 200); 573s imshow (bw); 573s ***** # Convex polygons 573s ***** shared xs, ys, Rs, xt, yt, Rt 573s xs=[3,3,10,10]; 573s ys=[4,12,12,4]; 573s Rs=zeros(16,14); 573s Rs(5:12,4:10)=1; 573s Rs=logical(Rs); 573s xt=[1,4,7]; 573s yt=[1,4,1]; 573s Rt=[0,0,0,0,0,0,0; 573s 0,0,1,1,1,1,0; 573s 0,0,0,1,1,0,0; 573s 0,0,0,1,0,0,0; 573s 0,0,0,0,0,0,0]; 573s Rt=logical(Rt); 573s ***** assert(poly2mask(xs,ys,16,14),Rs); # rectangle 573s ***** assert(poly2mask(xs,ys,8,7),Rs(1:8,1:7)); # clipped 573s ***** assert(poly2mask(xs-7,ys-8,8,7),Rs(9:16,8:14)); # more clipping 573s ***** assert(poly2mask(xt,yt,5,7),Rt); # triangle 573s ***** assert(poly2mask(xt,yt,3,3),Rt(1:3,1:3)); # clipped 573s ***** # Concave polygons 573s ***** test 573s x=[3,3,5,5,8,8,10,10]; 573s y=[4,12,12,8,8,11,11,4]; 573s R=zeros(16,14); 573s R(5:12,4:5)=1; 573s R(5:8,6:8)=1; 573s R(5:11,9:10)=1; 573s R=logical(R); 573s assert(poly2mask(x,y,16,14), R); 573s ***** # Complex polygons 573s ***** test 573s x=[1,5,1,5]; 573s y=[1,1,4,4]; 573s R=[0,0,0,0,0,0; 573s 0,0,1,1,0,0; 573s 0,0,1,1,0,0; 573s 0,1,1,1,1,0; 573s 0,0,0,0,0,0]; 573s R=logical(R); 573s assert(poly2mask(x,y,5,6), R); 573s 7 tests, 7 passed, 0 known failure, 0 skipped 573s [inst/ycbcr2rgb.m] 573s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/ycbcr2rgb.m 573s ***** assert (ycbcr2rgb (rgb2ycbcr (jet (10))), jet (10), 0.00001); 573s ***** assert (class (ycbcr2rgb (single (rand (5, 5, 3)))), "single") 573s 2 tests, 2 passed, 0 known failure, 0 skipped 573s [inst/imfindcircles.m] 573s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imfindcircles.m 573s ***** shared im0, rgb0, im1 573s im0 = [0 0 0 0 0; 573s 0 1 2 1 0; 573s 0 2 5 2 0; 573s 0 1 2 1 0; 573s 0 0 0 0 0]; 573s rgb0 = cat (3, im0, 3.*im0, 2.*im0); 573s im1 = zeros (20); 573s im1(2:6, 5:9) = 1; 573s im1(13:19, 13:19) = 1; 573s ***** function image = circlesimage (numx, numy, centersx, centersy, rs, values) 573s ## create an image with circles of given parameters 573s num = length (centersx); 573s image = zeros (numy, numx); 573s [indy, indx] = meshgrid (1:numx, 1:numy); 573s for n = 1:num 573s centerx = centersx(n); 573s centery = centersy(n); 573s r = rs(n); 573s value = values(n); 573s dist_squared = (indx - centerx).^ 2 + (indy - centery).^ 2; 573s image(dist_squared <= (r-0.5)^2) = value; 573s endfor 573s ***** endfunction 573s ***** error imfindcircles () 574s ***** error imfindcircles (im0) 574s ***** error imfindcircles (im0, [1 2 3]) 574s ***** error imfindcircles (im0, -3) 574s ***** error imfindcircles (im0, 4+2*i) 574s ***** error imfindcircles (ones (5,5,4), 2) 574s ***** error imfindcircles (ones (5,5,5,5), 2) 574s ***** error imfindcircles (im0, [2 1]) 574s ***** error imfindcircles (im0, 2, "rubbish") 574s ***** error imfindcircles (im0, 2, "more", "rubbish") 574s ***** error imfindcircles (im0, 2, "ObjectPolarity", "rubbish") 574s ***** error imfindcircles (im0, 2, "ObjectPolarity", 5) 574s ***** error imfindcircles (im0, 2, "ObjectPolarity") 574s ***** error imfindcircles (im0, 2, "Method", "rubbish") 574s ***** error imfindcircles (im0, 2, "Method", 5) 574s ***** error imfindcircles (im0, 2, "Method") 574s ***** error imfindcircles (im0, 2, "Sensitivity", "rubbish") 574s ***** error imfindcircles (im0, 2, "Sensitivity") 574s ***** error imfindcircles (im0, 2, "Sensitivity", -0.1) 574s ***** error imfindcircles (im0, 2, "Sensitivity", 1.1) 574s ***** error imfindcircles (im0, 2, "Sensitivity", [0.1 0.2]) 574s ***** error imfindcircles (im0, 2, "EdgeThreshold", "rubbish") 574s ***** error imfindcircles (im0, 2, "EdgeThreshold") 575s ***** error imfindcircles (im0, 2, "EdgeThreshold", -0.1) 575s ***** error imfindcircles (im0, 2, "EdgeThreshold", 1.1) 575s ***** error imfindcircles (im0, 2, "EdgeThreshold", [0.1 0.2]) 575s ***** error imfindcircles (im0, 2, "EdgeThreshold", 0.1, "ObjectPolarity", "bright", 575s "Sensitivity", 0.3, "Method", "PhaseCode", "more", 1) 575s ***** test # none of this should fail 575s imfindcircles (im0, 2); 575s imfindcircles (im0, [1 2]); 575s imfindcircles (logical (im0), 2); 575s imfindcircles (logical (im0), [1 2]); 575s imfindcircles (rgb0, 2); 575s imfindcircles (rgb0, [1 2]); 575s imfindcircles (uint8 (im0), 2); 575s imfindcircles (uint8 (im0), [1 2]); 575s imfindcircles (im0, 2, "ObjectPolarity", "bright"); 575s imfindcircles (im0, 2, "ObjectPolarity", "dark"); 575s imfindcircles (im0, 2, "Method", "PhaseCode"); 575s imfindcircles (im0, 2, "Sensitivity", 0.5); 575s imfindcircles (im0, 2, "EdgeThreshold", 0.5); 575s imfindcircles (im0, 2, "ObjectPolarity", "bright", "Method", "PhaseCode"); 575s imfindcircles (im0, 2, "ObjectPolarity", "bright", "Sensitivity", 0.3, 575s "Method", "PhaseCode"); 575s imfindcircles (im0, 2, "EdgeThreshold", 0.1, "ObjectPolarity", "bright", 575s "Sensitivity", 0.3, "Method", "PhaseCode"); 575s ***** test 575s centers = imfindcircles (im1, 2); 575s assert (size (centers, 2), 2) 575s assert (class (centers), "double") 575s ***** test 575s [centers, radii] = imfindcircles (im1, [1 5]); 575s assert (size (centers, 2), 2) 575s assert (size (radii, 2), 1) 575s assert (class (radii), "double") 575s ***** test 575s [centers, radii, strengths] = imfindcircles (im1, [1 5]); 575s assert (size (strengths, 2), 1) 575s assert (class (strengths), "double") 575s ***** error [a b c d] = imfindcircles (im0, 2); 575s ***** test ## sub-pixel accuracy of circle center 575s xs = [95.7]; 575s ys = [101.1]; 575s rs = [50]; 575s vals = [0.5]; 575s im = circlesimage (200, 200, xs, ys, rs, vals); 575s filt = ones (3) ./ 9; 575s im = imfilter (im, filt); 575s [centers, radii] = imfindcircles (im, [40 60]); 575s assert (centers, [101.1, 95.7], 0.1); 575s assert (radii, 50, 1); 575s ***** test 575s ## specificity to circular shapes and strengths output value 575s xs = [100 202]; 575s ys = [101, 203]; 575s rs = [40, 41]; 575s vals = [0.8, 0.9]; 575s im = circlesimage (300, 300, xs, ys, rs, vals); 575s filt = ones (3) ./ 9; 575s im = imfilter (im, filt); 575s im(30:170, 50:100) = 0; 575s im(20:120, 180:280) = 1; 575s [centers, radii, strengths] = imfindcircles (im, [30 50], "Sensitivity", 0.9); 575s assert (size (centers), [2 2]); 575s assert (centers, [203, 202; 101, 100], 1.5); 575s assert (radii, [40; 41], 2.5); 575s assert (strengths(1) / strengths(2) > 1.8, true); 575s ***** test # radius range parameter & dark circles 575s xs = [50, 420, 180]; 575s ys = [80, 100, 200]; 575s rs = [35, 30, 40]; 575s vals = [0.7, 0.8, 0.9]; 575s im = circlesimage (300, 500, xs, ys, rs, vals); 575s filt = ones (3) ./ 9; 575s im = imfilter (im, filt); 575s [centers1, radii1] = imfindcircles (im, [28 36]); 575s [centers2, radii2] = imfindcircles (im, [28 42]); 575s assert (size (centers1), [2 2]); 575s assert (centers1, [100 420; 80 50], 0.2); 575s assert (radii1, [30; 35], 2); 575s assert (size (centers2), [3 2]); 575s im_dark = 1-im; 575s [centers_dark, radii_dark, strengths_dark] = imfindcircles (im_dark, [25 42], "ObjectPolarity", "dark"); 575s assert (sortrows (centers_dark), [80 50; 100 420; 200 180], 0.2); 575s assert (sortrows (radii_dark), [30; 35; 40], 1); 575s ***** test # ability to find circles with big radius 575s xs = [111, 555, 341]; 575s ys = [222, 401, 161]; 575s rs = [45, 50, 150]; 575s vals = [0.6, 0.8, 0.7]; 575s im = circlesimage (400, 701, xs, ys, rs, vals); 575s [centers, radii] = imfindcircles (im, [140 160], "Sensitivity", 0.98); 575s assert (centers, [161, 341], 0.2); 575s assert (radii, 150, 1); 576s ***** test # overlapping circles 576s xs = [105, 155]; 576s ys = [202, 221]; 576s rs = [45, 50]; 576s vals = [0.5, 0.8]; 576s im = circlesimage(385, 422, xs, ys, rs, vals); 576s filt = ones (3) ./ 9; 576s im = imfilter (im, filt); 576s [centers, radii] = imfindcircles (im, [30 80]); 576s assert (centers, [221, 155; 202, 105], 0.5); 576s assert (radii, [50; 45], 1); 576s ***** test # overlapping circles, only 10 pixels apart 576s xs = [155, 155]; 576s ys = [175, 157]; 576s rs = [50, 50]; 576s vals = [0.7, 0.8]; 576s im = circlesimage (300, 300, xs, ys, rs, vals); 576s filt = ones (3) ./ 9; 576s im = imfilter (im, filt); 576s [centers, radii] = imfindcircles (im, [30 80], "Sensitivity", 0.95); 576s assert (centers, [157, 155; 175, 155], 1); 576s assert (radii, [50; 50], 1); 576s ***** test # edge threshold parameter 576s xs = [100 202]; 576s ys = [101, 203]; 576s rs = [40, 41]; 576s vals = [0.1, 0.9]; 576s im = circlesimage (300, 300, xs, ys, rs, vals); 576s filt = ones (3) ./ 9; 576s im= imfilter (im, filt); 576s [centers_auto, radii_auto] = imfindcircles (im, [30 50]); 576s [centers_0, radii_0] = imfindcircles (im, [30 50], "EdgeThreshold", 0); 576s [centers_05, radii_05] = imfindcircles (im, [30 50], "EdgeThreshold", 0.5); 576s assert (centers_auto, [203, 202], 0.2); 576s assert (radii_auto, 41, 1); 576s assert (centers_0, [101, 100; 203, 202], 0.2); 576s assert (radii_0, [40; 41], 1); 576s assert (centers_05, [203, 202], 0.2); 576s assert (radii_05, 41, 1); 576s ***** demo 576s ## First generate an input image: 576s model = [ 1.0 0.2 0.2 0.2 0.5 0 576s 1.0 0.3 0.3 -0.1 -0.2 0 576s -0.5 0.7 0.7 -0.5 0.5 0]; 576s im = phantom (model); 576s im(170:230,170:230) = 1; 576s im = imfilter (im, fspecial ("average", 3)); 576s im = imnoise (im, "salt & pepper"); 576s imshow (im); 576s 576s ## Find and show circles with radius between 20 and 50: 576s [centers, radii] = imfindcircles (im, [20 50]); 576s viscircles (centers, radii) 576s title ("found circles in red") 576s 39 tests, 39 passed, 0 known failure, 0 skipped 576s [inst/viscircles.m] 576s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/viscircles.m 576s ***** demo 576s centers = randi ([0 100], 5, 2); 576s radii = randi ([10 100], 5, 1); 576s axis equal 576s viscircles (centers, radii, 576s "Color", "magenta", 576s "LineStyle", ":", 576s "LineWidth", 5); 576s title ("5 random circles"); 576s #---------------------------------------------- 576s # the figure window shows 5 circles with random 576s # radii and positions 576s ***** test # old undocumented property 576s h = viscircles ([0 0], 1, "EdgeColor", "black"); 576s assert (get (get (h, "children")(1), "color"), [0 0 0]) 576s ***** test # old undocumented property 576s h = viscircles ([0 0], 1, "DrawBackgroundCircle", false); 576s assert (numel (get (h, "children")), 1) 576s ***** error ... 576s viscircles ([0 0], 1, "Color", "magenta", "EdgeColor", "black") 576s ***** test 576s centers = randi ([0 100], 5, 2); 576s radii = randi ([0 100], 5, 1); 576s h = viscircles (centers, radii); 576s close; 576s ***** test 576s centers = randi ([0 100], 5, 2); 576s radii = randi ([0 100], 5, 1); 576s figure (); 576s h = viscircles (gca (), centers, radii); 576s close; 576s ***** test 576s centers = randi ([0 100], 5, 2); 576s radii = randi ([0 100], 5, 1); 576s h = viscircles (centers, radii, "Color", "magenta", 576s "LineStyle", ":", "LineWidth", 5); 576s close; 576s ***** test 576s centers = randi ([0 100],5,2); 576s radii = randi ([0 100],5,1); 576s figure (); 576s h = viscircles (centers, radii, "Color", "magenta", 576s "LineStyle", ":", "LineWidth", 5); 576s close; 576s 7 tests, 7 passed, 0 known failure, 0 skipped 576s [inst/integralImage.m] 576s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/integralImage.m 576s ***** test 576s assert (integralImage (10), [0 0; 0 10]); 576s assert (integralImage (10, "rotated"), [0 0 0; 0 10 0]); 576s ***** test 576s J = integralImage (10); 576s assert (class(J), "double"); 576s J = integralImage (uint8(10)); 576s assert (class(J), "double"); 576s ***** test 576s I = [1, 2; 3, 4]; 576s J = integralImage (I); 576s J1 = [0 0 0; 0 1 3; 0 4 10]; 576s assert (J, J1) 576s J = integralImage (I, "rotated"); 576s J1 = [0 0 0 0; 0 1 2 0; 1 6 7 2]; 576s assert (J, J1) 576s ***** test 576s I1 = [1, 2; 3, 4]; 576s I2 = [5, 6; 7, 8]; 576s I3 = [9, 10; 11, 12]; 576s I = cat (3, I1, I2, I3); 576s J = integralImage (I); 576s J1 = [0 0 0; 0 1 3; 0 4 10]; 576s J2 = [0 0 0; 0 5 11; 0 12 26]; 576s J3 = [0 0 0; 0 9 19; 0 20 42]; 576s J0 = cat (3, J1, J2, J3); 576s assert (J, J0) 576s ***** test 576s I1 = [1, 2; 3, 4]; 576s I2 = [5, 6; 7, 8]; 576s I3 = [9, 10; 11, 12]; 576s I = cat (3, I1, I2, I3); 576s J = integralImage (I, "rotated"); 576s J1 = [0 0 0 0; 0 1 2 0; 1 6 7 2]; 576s J2 = [0 0 0 0; 0 5 6 0; 5 18 19 6]; 576s J3 = [0 0 0 0; 0 9 10 0; 9 30 31 10]; 576s J0 = cat (3, J1, J2, J3); 576s assert (J, J0) 576s ***** test 576s I = magic (5); 576s J = integralImage (I); 576s J_res = [0 0 0 0 0 0; 576s 0 17 41 42 50 65; 576s 0 40 69 77 99 130; 576s 0 44 79 100 142 195; 576s 0 54 101 141 204 260; 576s 0 65 130 195 260 325]; 576s assert (J, J_res) 576s 576s J = integralImage (I, "rotated"); 576s J_res_R = [0 0 0 0 0 0 0; 576s 0 17 24 1 8 15 0; 576s 17 64 47 40 38 39 15; 576s 64 74 91 104 105 76 39; 576s 74 105 149 188 183 130 76; 576s 105 170 232 272 236 195 130]; 576s assert (J, J_res_R) 577s ***** error 577s integralImage (); 577s ***** error 577s integralImage (1, "xxx", 2); 577s ***** error 577s integralImage ("abcd"); 577s ***** error 577s integralImage ([1 2; 3 4], "xxx"); 577s 10 tests, 10 passed, 0 known failure, 0 skipped 577s [inst/imtranslate.m] 577s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imtranslate.m 577s ***** test 577s obs = imtranslate (ones (5, 5), 2, 1, "crop"); 577s exp = zeros (5, 5); 577s exp(1:4, 3:5) = 1; 577s assert (obs, exp, eps * 10) 577s 577s obs = imtranslate (ones (5, 5), -2, -1, "crop"); 577s exp = zeros (5, 5); 577s exp(2:5, 1:3) = 1; 577s assert (obs, exp, eps * 10) 577s 1 test, 1 passed, 0 known failure, 0 skipped 577s [inst/imhmin.m] 577s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imhmin.m 577s ***** shared im0, im0_h2_out 577s im0 = uint8 ([5 5 5 5 5; 577s 5 4 3 4 5; 577s 5 3 0 3 5; 577s 5 4 3 4 5; 577s 5 5 5 5 5]); 577s im0_h2_out = uint8 ([5 5 5 5 5; 577s 5 4 3 4 5; 577s 5 3 2 3 5; 577s 5 4 3 4 5; 577s 5 5 5 5 5]); 577s ***** error imhmin () 577s ***** error imhmin (im0) 577s ***** error imhmin ("hello", 2) 577s ***** error imhmin (i.*im0, 2) 577s ***** error imhmin (sparse (im0), 2) 577s ***** error imhmin (im0, -2) 577s ***** error imhmin (im0, 'a') 577s ***** error imhmin (im0, ones (2)) 577s ***** error imhmin (im0, 2*i) 577s ***** assert (imhmin (im0, 2), im0_h2_out) 577s ***** assert (imhmin (double (im0), 2), double (im0_h2_out)) 577s ***** assert (imhmin (im0, 2, 8), im0_h2_out) 577s ***** assert (imhmin (im0, 2, 4), im0_h2_out) 577s ***** assert (imhmin (im0, 2, true (3)), im0_h2_out) 577s ***** test 577s out = imhmin (double (im0), 2); 577s assert (size (out), size (im0)) 577s assert (class (out), "double") 577s ***** test 577s out = imhmin (single (im0), 2); 577s assert (size (out), size (im0)) 577s assert (class (out), "single") 577s ***** test 577s out = imhmin (uint8 (im0), 2); 577s assert (size (out), size (im0)) 577s assert (class (out), "uint8") 577s ***** test 577s out = imhmin (uint16 (im0), 2); 577s assert (size (out), size (im0)) 577s assert (class (out), "uint16") 577s ***** test 577s im = cat (3, im0, im0, im0, im0); 577s out = imhmin (im, 2); 577s assert (size (out), size (im)) 577s ***** test 577s im = 10 .* ones (10); 577s im(2:4, 2:4) = 7; 577s im(6:8, 6:8) = 2; 577s expected_4 = 10 .* ones (10); 577s expected_4(6:8, 6:8) = 6; 577s expected_2 = 10 .* ones (10); 577s expected_2(6:8, 6:8) = 4; 577s expected_2(2:4, 2:4) = 9; 577s out = imhmin (im, 4); 577s assert (out, expected_4, eps) 577s out = imhmin (im, 2); 577s assert (out, expected_2, eps) 577s out = imhmin (0.1.*im, 0.4); 577s assert (out, 0.1 .* expected_4, eps) 577s ***** test 577s im2 = 10 .* ones (10); 577s im2(2:4, 2:4) = 7; 577s im2(6:9, 6:9)=2; 577s im2(5, 5)=2; 577s im2(6, 7)=10; 577s im2(7, 8)=10; 577s expected_4 = 10 .* ones (10); 577s expected_4(6:9, 6:9) = 6; 577s expected_4(5, 5) = 6; 577s expected_4(6, 7) = 10; 577s expected_4(7, 8) = 10; 577s expected_8 = expected_4; 577s expected_8(2:4, 2:4) = 7; 577s out2 = imhmin (im2, 4); 577s assert (out2, expected_8, eps) 577s out2 = imhmin (im2, 4, 4); 577s assert (out2, expected_4, eps) 577s out2 = imhmin (im2, 4, 8); 577s assert (out2, expected_8, eps) 577s 21 tests, 21 passed, 0 known failure, 0 skipped 577s [inst/im2uint16.m] 577s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/im2uint16.m 577s ***** assert (im2uint16 (uint16 ([1 2 3])), uint16 ([1 2 3])); 577s ***** assert (im2uint16 (uint8 ([0 127 128 255])), uint16 ([0 32639 32896 65535])); 577s ***** assert (im2uint16 ([0 0.5 1]), uint16 ([0 32768 65535])); 577s ***** assert (im2uint16 ([0 1/65535 1.4/65535 1.5/65535 1]), uint16 ([0 1 1 2 65535])); 577s ***** assert (im2uint16 ([1 2]), uint16 ([65535 65535])); 577s ***** assert (im2uint16 ([-1 0 0.5 1]), uint16 ([0 0 32768 65535])); 577s ***** assert (im2uint16 (int16 ([-32768 -1 0 32768])), uint16 ([0 32767 32768 65535])); 577s ***** assert (im2uint16 ([false true]), uint16 ([0 65535])); 577s ***** assert (im2uint16 ([true false]), uint16 ([65535 0])); 577s ***** assert (im2uint16 (uint8 ([3 25]), "indexed"), uint16 ([3 25])); 577s ***** assert (im2uint16 ([1 3 25], "indexed"), uint16 ([0 2 24])); 577s ***** error im2uint16 ([0 1 2], "indexed"); 577s ***** error im2uint16 (int16 ([17 8]), "indexed"); 577s ***** error im2uint16 (int16 ([-7 8]), "indexed"); 577s ***** error im2uint16 ([false true], "indexed"); 577s ***** error im2uint16 (65537, "indexed"); 577s 16 tests, 16 passed, 0 known failure, 0 skipped 577s [inst/imabsdiff.m] 577s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imabsdiff.m 577s ***** assert (imabsdiff (uint8 ([23 250]), uint8 ([26 50])), uint8 ([ 3 200])); # default to first class and abs works 577s ***** assert (imabsdiff (uint8 ([23 250]), uint8 ([24 50]), "uint16"), uint16 ([ 1 200])); # defining output class works (not in matlab) 577s ***** assert (imabsdiff (uint8 ([23 250]), uint8 ([24 255]), "int8"), int8 ([ 1 5])); # signed integers kinda work (not in matlab) 577s ***** assert (imabsdiff (logical ([ 1 0]), logical ([ 1 1])), double ([ 0 1])); # return double for two logical images 577s ***** fail ("imabsdiff (uint8 ([23 250]), 30"); # fails subtracting a scalar 577s ***** fail ("imabsdiff (uint8 ([23 250]), uint16 ([23 250]))"); # input need to have same class 577s 6 tests, 6 passed, 0 known failure, 0 skipped 577s [inst/ordfilt2.m] 577s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/ordfilt2.m 577s ***** test 577s order = 3; 577s domain = ones (3); 577s A = zeros (3,3); 577s B = ones (3,3); 577s C = [1 1 1; 2 2 2; 3 3 3]; 577s D = C'; 577s E = ones (3,3); 577s E(2,2) = 2; 577s F = 3 .* ones (3,3); 577s F(2,2) = 1; 577s G = [-1 2 7; -5 2 8; -7 pi 9]; 577s H = [5 2 8; 1 -3 1; 5 1 0]; 577s A_out = [0 0 0; 0 0 0; 0 0 0]; 577s B_out = [0 0 0; 0 1 0; 0 0 0]; 577s C_out = [0 0 0; 0 1 0; 0 0 0]; 577s D_out = [0 0 0; 0 1 0; 0 0 0]; 577s E_out = [0 0 0; 0 1 0; 0 0 0]; 577s F_out = [0 0 0; 0 3 0; 0 0 0]; 577s G_out = [0 0 0; -1 -1 0; 0 0 0]; 577s H_out = [0 0 0; 0 1 0; 0 0 0]; 577s assert (ordfilt2 (A, order, domain), A_out); 577s assert (ordfilt2 (B, order, domain), B_out); 577s assert (ordfilt2 (C, order, domain), C_out); 577s assert (ordfilt2 (D, order, domain), D_out); 577s assert (ordfilt2 (E, order, domain), E_out); 577s assert (ordfilt2 (F, order, domain), F_out); 577s assert (ordfilt2 (G, order, domain), G_out); 577s assert (ordfilt2 (H, order, domain), H_out); 577s 1 test, 1 passed, 0 known failure, 0 skipped 577s [inst/entropy.m] 577s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/entropy.m 577s ***** assert (entropy ([0 1]), 1) 577s ***** assert (entropy (uint8 ([0 1])), 1) 577s ***** assert (entropy ([0 0]), 0) 577s ***** assert (entropy ([0]), 0) 577s ***** assert (entropy ([1]), 0) 577s ***** assert (entropy ([0 .5; 2 0]), 1.5) 577s ***** assert (entropy (repmat ([0 .5; 2 0], 1, 1, 3)), 577s entropy ([0 .5; 2 0])) 577s ***** test 577s A = zeros (3,3); 577s B = ones (3,3); 577s C = [1 1 1; 2 2 2; 3 3 3]; 577s D = C'; 577s E = ones (3,3); 577s E(2,2)=2; 577s F = 3 .* ones (3,3); 577s F(2,2)=1; 577s G = [-1 2 7; -5 2 8; -7 pi 9]; 577s H = [5 2 8; 1 -3 1; 5 1 0]; 577s pG = [1 2] ./ 3; 577s G_out = -sum (pG.*log2 (pG)); 577s pH = [2 7] ./ 9; 577s H_out = -sum (pH.*log2 (pH)); 577s assert (entropy (A), 0, eps); 577s assert (entropy (B), 0, eps); 577s assert (entropy (C), 0, eps); 577s assert (entropy (D), 0, eps); 577s assert (entropy (E), 0, eps); 577s assert (entropy (F), 0, eps); 577s assert (entropy (G), G_out, eps); 577s assert (entropy (H), H_out, eps); 577s ***** test 577s A = uint8 (zeros (3,3)); 577s B = uint8 (ones (3,3)); 577s C = uint8 ([1 1 1; 2 2 2; 3 3 3]); 577s D = C'; 577s E = uint8 (ones (3,3)); 577s E(2,2)=2; 577s F = 3 .* uint8 (ones (3,3)); 577s F(2,2)=1; 577s G = uint8 ([0 2 7; 0 2 8; 0 3 9]); 577s H = uint8 ([5 2 8; 1 0 1; 5 1 0]); 577s pC = [1 1 1] ./ 3; 577s C_out = -sum (pC.*log2 (pC)); 577s D_out = C_out; 577s pE = [8 1] ./ 9; 577s E_out = -sum (pE.*log2 (pE)); 577s F_out = E_out; 577s pG = [3 2 1 1 1 1] ./ 9; 577s G_out = -sum (pG.*log2 (pG)); 577s pH = [2 3 1 2 1] ./ 9; 577s H_out = -sum (pH.*log2 (pH)); 577s assert (entropy (A), 0); 577s assert (entropy (B), 0); 577s assert (entropy (C), C_out, eps); 577s assert (entropy (D), D_out, eps); 577s assert (entropy (E), E_out, eps); 577s assert (entropy (F), F_out, eps); 577s assert (entropy (G), G_out, eps); 577s assert (entropy (H), H_out, eps); 577s ***** test 577s L1 = false (3,3); 577s L1(2,2)=true; 577s L2 = true (3,3); 577s L2(2,2)=false; 577s L3 = logical ([0 1 1; 0 1 1; 0 0 1]); 577s p12 = [1 8] ./ 9; 577s out12 = -sum (p12.*log2 (p12)); 577s p3 = [5 4] ./9; 577s out3 = -sum (p3.*log2 (p3)); 577s assert (entropy (L1), out12, eps); 577s assert (entropy (L2), out12, eps); 577s assert (entropy (L3), out3, eps); 577s 10 tests, 10 passed, 0 known failure, 0 skipped 577s [inst/graythresh.m] 577s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/graythresh.m 577s ***** shared img, histo 577s ## this is the old default.img that came with GNU Octave. While the current 577s ## is very very similar, is off just enough for us to get precision errors 577s img = uint8 (reshape ([138 138 138 142 142 138 142 138 138 117 105 81 69 61 53 40 49 45 40 36 40 45 53 49 65 73 121 166 210 243 247 247 247 239 235 178 154 170 150 150 162 174 190 190 194 186 178 170 154 182 198 174 117 138 138 142 138 142 142 146 142 138 138 130 109 97 81 73 69 57 53 53 57 61 61 69 73 77 105 121 158 219 243 243 247 243 243 243 206 150 158 158 158 150 158 182 186 190 194 186 174 190 206 198 162 138 142 138 142 146 138 142 142 138 146 142 134 142 130 121 101 97 85 85 81 81 81 85 93 85 73 57 61 93 150 194 215 239 243 243 243 223 166 138 158 158 154 142 162 178 190 190 198 186 182 186 174 162 182 146 142 138 142 142 146 142 146 146 146 146 142 142 142 134 125 101 85 73 65 69 73 73 57 40 53 49 57 69 85 125 166 182 178 178 174 150 130 121 146 146 150 142 166 182 190 182 174 166 162 170 194 198 138 138 146 146 138 146 146 146 146 142 150 146 146 142 130 93 65 45 45 49 45 40 49 40 49 49 49 49 61 81 113 142 150 154 154 146 142 134 125 125 138 134 125 146 162 178 178 178 166 186 202 206 186 142 142 142 134 142 146 142 150 142 146 142 146 146 130 81 53 49 49 45 49 40 36 36 32 36 36 36 53 73 89 125 150 146 134 138 146 138 146 138 142 117 117 113 117 146 166 174 178 182 178 178 170 146 142 142 138 142 146 142 142 146 150 138 146 142 130 73 49 40 49 57 65 69 73 61 61 53 57 53 61 77 77 97 113 138 134 130 138 142 150 146 150 134 138 121 121 101 121 150 158 154 142 150 162 166 178 138 138 146 142 142 142 142 146 146 142 142 130 73 57 49 36 49 65 77 85 89 85 81 81 81 85 93 93 97 105 117 125 150 158 154 162 162 166 154 134 150 130 125 113 138 182 174 154 130 178 227 239 239 134 138 142 138 142 142 146 146 138 150 125 61 49 32 32 45 49 57 65 85 101 105 101 101 109 125 117 113 109 138 134 125 166 178 170 162 150 170 162 170 150 146 150 138 125 162 186 182 142 206 247 247 243 138 138 138 138 142 142 146 146 146 130 85 45 45 36 40 53 45 57 69 97 125 130 130 134 138 146 142 134 142 158 138 117 146 174 170 174 178 170 174 170 166 154 162 158 130 134 170 178 158 190 243 247 247 142 142 142 142 142 146 146 142 138 89 53 45 40 45 45 49 57 77 93 125 138 150 154 158 158 162 154 150 166 174 142 73 125 174 178 174 182 182 178 178 174 166 174 174 162 125 154 170 174 170 227 247 251 142 138 142 142 142 142 142 138 105 61 40 40 32 40 40 49 61 89 117 146 154 158 162 170 170 174 162 166 174 182 150 65 146 166 174 186 198 198 198 190 178 178 174 174 158 134 154 198 194 174 202 251 251 146 142 142 142 146 150 138 134 69 40 40 36 32 40 45 45 65 101 134 150 158 166 174 178 174 174 174 170 170 174 142 73 150 162 178 194 202 202 194 194 178 178 154 134 125 138 154 198 194 186 190 243 251 150 146 146 146 146 150 130 109 53 45 28 40 40 36 32 49 73 101 130 154 162 170 170 170 178 182 178 178 174 158 142 121 146 158 178 174 186 190 186 186 174 146 105 109 113 130 150 178 202 190 186 243 251 146 146 146 146 150 142 109 73 49 40 32 40 40 45 40 53 69 93 130 154 162 170 174 178 182 182 186 182 178 154 146 130 138 142 150 170 182 178 174 166 150 117 97 105 113 130 150 150 174 182 190 243 251 146 146 154 146 150 134 105 53 40 45 45 40 40 36 36 40 69 105 134 162 170 174 178 182 182 182 186 190 186 178 170 158 154 150 162 182 182 174 174 174 150 113 109 113 113 130 150 162 186 186 190 239 251 154 150 146 150 146 125 77 49 36 40 36 40 36 28 40 36 77 113 138 150 170 170 174 186 190 190 190 194 190 186 194 190 170 162 174 194 174 182 170 170 158 121 113 113 113 146 158 170 210 215 215 206 243 150 146 150 150 150 113 57 49 40 45 45 49 49 40 32 45 85 113 142 170 178 174 182 194 190 194 194 198 198 198 210 210 182 162 170 190 182 186 170 170 162 130 121 113 121 146 154 150 198 215 206 210 215 150 150 150 150 150 105 49 45 40 49 49 57 40 49 49 53 85 121 158 182 178 174 182 198 194 194 194 194 202 202 194 186 174 154 162 166 178 174 170 170 170 158 117 113 130 150 154 121 182 194 206 215 206 158 150 150 150 146 97 45 36 49 49 49 40 40 49 49 65 97 130 154 174 174 174 186 194 194 194 194 198 198 186 170 158 154 158 138 158 162 170 190 182 174 170 138 138 142 154 134 142 146 170 206 219 215 150 150 158 158 150 85 36 40 40 40 40 45 45 49 49 65 97 130 146 166 166 174 182 190 194 194 194 194 190 182 162 158 150 158 182 186 178 198 206 198 190 174 154 174 174 142 142 170 170 166 202 223 219 158 150 150 150 146 85 40 45 40 40 36 45 53 45 49 53 93 117 130 154 162 174 190 186 194 194 194 190 186 178 162 162 170 174 182 198 210 206 210 198 198 182 170 178 174 158 154 194 194 174 198 210 215 150 154 158 150 150 85 49 45 40 40 32 36 53 40 45 53 81 109 142 158 158 174 178 182 190 190 194 190 190 178 170 174 178 186 190 190 206 215 202 206 194 186 178 182 174 154 170 198 210 186 186 202 215 150 154 150 154 150 97 45 40 40 40 36 36 45 40 45 73 89 113 142 158 158 174 174 182 186 186 194 186 182 178 174 170 105 166 206 186 190 202 198 194 190 182 182 174 166 154 162 198 215 202 182 202 219 154 150 154 150 146 117 61 45 45 45 36 53 53 49 53 77 93 101 125 158 162 174 174 178 174 186 190 182 182 186 182 182 77 125 198 194 186 190 190 178 178 178 162 162 162 154 186 210 227 210 190 206 223 154 150 154 150 154 138 65 45 45 45 40 49 49 40 53 65 77 89 113 150 158 166 166 170 178 182 186 182 170 170 170 162 81 117 186 190 186 182 178 186 174 166 162 150 130 154 194 227 227 219 202 202 219 154 154 150 154 146 146 89 45 40 45 40 49 49 36 40 57 65 89 109 138 146 158 158 170 170 178 182 178 162 150 158 154 113 146 186 182 178 182 178 170 170 162 146 138 138 146 202 223 231 219 210 190 215 130 130 130 130 130 130 109 45 53 40 32 36 40 45 53 61 65 81 97 117 130 138 150 158 158 178 170 162 158 138 142 150 146 166 178 174 174 170 170 170 162 158 138 117 117 142 202 223 239 223 215 186 206 61 61 65 69 69 65 57 36 40 36 32 40 40 53 57 53 57 69 93 105 109 130 138 142 154 162 150 138 142 125 121 150 162 170 170 166 170 170 170 166 162 138 121 113 130 170 202 223 227 231 202 178 182 45 49 45 40 40 40 45 45 45 45 36 40 32 49 61 61 57 65 73 81 101 109 121 130 142 146 121 89 93 117 113 134 154 174 166 162 166 170 170 162 154 150 142 150 223 186 194 215 231 227 206 182 174 49 40 45 45 49 49 45 49 49 49 49 40 36 45 57 69 65 61 65 69 85 93 109 109 117 109 89 57 57 81 97 113 154 162 166 162 170 158 158 162 154 162 174 231 239 178 186 210 231 239 210 194 178 49 36 49 45 49 49 49 45 45 49 49 36 40 40 45 36 53 53 53 57 57 69 69 73 69 61 57 45 45 65 89 105 125 142 146 150 150 154 162 170 174 223 235 247 231 178 178 206 227 227 223 198 190 40 53 36 45 40 40 40 40 45 40 40 45 45 45 45 40 53 49 49 45 53 45 32 36 36 36 36 40 49 45 61 73 89 93 97 113 125 142 186 202 239 239 243 251 239 198 166 194 215 235 227 215 202 40 45 36 32 36 40 40 45 40 40 45 49 45 49 45 49 40 40 45 49 40 45 45 45 49 49 32 40 49 40 49 57 69 81 101 134 170 206 235 243 243 239 247 251 247 210 170 186 202 231 231 227 210 49 45 49 40 40 40 49 45 40 40 45 45 45 40 45 45 45 49 40 49 40 49 45 45 36 40 40 45 45 45 45 65 121 150 210 239 243 243 247 243 243 247 251 251 239 223 178 174 194 219 239 231 219 36 45 45 40 40 49 40 45 49 49 40 40 45 49 40 40 45 49 45 40 49 45 40 40 40 49 40 45 40 49 49 121 162 215 247 247 247 247 247 243 247 251 251 251 247 239 223 194 186 202 215 210 210 36 45 45 40 40 49 40 45 32 36 49 36 45 49 40 40 45 40 36 40 45 45 40 40 40 36 45 32 40 49 57 121 142 215 243 247 243 247 243 247 251 251 251 251 247 247 247 227 186 194 190 190 182 40 32 45 32 45 40 45 45 49 45 40 45 49 36 40 45 32 40 45 45 49 45 45 45 45 53 49 53 45 45 40 69 97 186 239 243 247 247 247 251 251 251 251 251 243 243 231 202 202 206 206 186 170 53 40 40 40 40 40 36 32 32 36 45 53 49 32 36 32 36 32 40 49 40 40 45 40 40 53 45 49 49 40 32 40 49 138 219 235 247 247 251 251 251 251 251 247 243 235 198 206 210 198 190 186 186 73 69 61 57 61 49 53 40 49 45 40 49 49 49 57 57 53 49 53 53 45 40 45 40 45 49 45 49 45 40 32 53 69 101 215 231 247 247 247 247 251 251 251 243 235 219 194 202 202 186 186 190 194], [53 40])); 577s ***** assert (graythresh (img, "percentile"), 142/255); 577s ***** assert (graythresh (img, "percentile", 0.5), 142/255); 577s ***** assert (graythresh (img, "moments"), 142/255); 577s ***** assert (graythresh (img, "minimum"), 93/255); 578s ***** assert (graythresh (img, "maxentropy"), 150/255); 578s ***** assert (graythresh (img, "intermodes"), 99/255); 578s ***** assert (graythresh (img, "otsu"), 114.5/255); 578s histo = hist (img(:), 0:255); 578s ***** assert (graythresh (histo, "otsu"), 114.5/255); 578s ***** assert (graythresh (img, "mean"), 0.51445615982, 0.000000001); # here our results differ from ImageJ 578s ***** test 578s im = repmat (0.5, 100, 100); 578s [t, g] = graythresh (im); 578s assert (t, 0) 578s assert (g, 0) 578s ***** test 578s im = [-2 1 0; 43 .5 .2]; 578s clip_im = [ 0 1 0; 1 .5 .2]; 578s t = graythresh (clip_im); 578s assert (graythresh (im), t) 578s assert (graythresh (single (im)), t) 578s ***** test 578s H(1) = 100; 578s assert (graythresh (H), 0) 578s 12 tests, 12 passed, 0 known failure, 0 skipped 578s [inst/imcast.m] 578s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imcast.m 578s ***** test 578s im = randi ([0 255], 40, "uint8"); 578s assert (imcast (im, "uint8"), im2uint8 (im)) 578s assert (imcast (im, "uint16"), im2uint16 (im)) 578s assert (imcast (im, "single"), im2single (im)) 578s assert (imcast (im, "uint8", "indexed"), im2uint8 (im, "indexed")) 578s assert (imcast (im, "uint16", "indexed"), im2uint16 (im, "indexed")) 578s assert (imcast (im, "single", "indexed"), im2single (im, "indexed")) 578s ***** test 578s im = randi ([1 256], 40, "double"); 578s assert (imcast (im, "uint8"), im2uint8 (im)) 578s assert (imcast (im, "uint8", "indexed"), im2uint8 (im, "indexed")) 578s assert (imcast (im, "single", "indexed"), im2single (im, "indexed")) 578s ***** test 578s im = randi ([0 65535], 40, "uint16"); 578s assert (imcast (im, "uint8"), im2uint8 (im)) 578s assert (imcast (im, "single"), im2single (im)) 578s assert (imcast (im, "single", "indexed"), im2single (im, "indexed")) 578s ***** test 578s im = randi ([1 255], 40, "double"); 578s assert (imcast (im, "uint8", "indexed"), im2uint8 (im, "indexed")) 578s assert (imcast (im, "single", "indexed"), im2single (im, "indexed")) 578s ***** test 578s im = rand (40); 578s assert (imcast (im, "uint8"), im2uint8 (im)) 578s ***** error imcast (randi (127, 40, "int8"), "uint8") 578s ***** error imcast (randi (255, 40, "uint8"), "uint32") 578s ***** error imcast (randi (255, 40, "uint8"), "not a class") 578s ***** error imcast (randi ([0 65535], 40, "uint16"), "uint8", "indexed") 578s ***** assert (imcast ([0 1 .2; 2 -0 Inf], "logical"), logical ([0 1 1; 1 0 1])) 578s 10 tests, 10 passed, 0 known failure, 0 skipped 578s [inst/blockproc.m] 578s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/blockproc.m 578s ***** demo 578s blockproc (eye (6), [2, 2], @(x) any (x(:))) 578s # Returns a 3-by-3 diagonal 578s ***** assert (blockproc (eye (6), [2, 2], "sum"), 578s blockproc (eye (6), [2, 2], @sum)) 578s ***** assert (blockproc (eye (6), [2, 2], "sum"), 578s blockproc (eye (6), [2, 2], @(x) sum (x))) 578s ***** assert (blockproc (eye (6), [1,2], @sum), 578s kron (eye (3), [1; 1])) 578s ***** assert (blockproc (eye (6), [2,2], @(x) any (x(:))), 578s eye (3) != 0) 578s ***** assert (blockproc (eye (6), [1,2],[1,1], @(x) sum (x(:))), 578s [2,1,0; 3,2,0; 2,3,1; 1,3,2; 0,2,3; 0,1,2]) 578s ***** assert (blockproc (eye (6), "indexed", [1, 2], [1, 1], @(x) sum (x(:))), 578s [8,5,6; 6,2,3; 5,3,4; 4,3,5; 3,2,6; 6,5,8]) 578s ***** assert (blockproc (eye (6), [2,3],[4,3], @(x) sum (x(:))), 578s ones (3, 2) * 6) 578s ***** assert (blockproc (eye (6), [2, 2], @(x) int8 (sum (x(:)))), 578s eye (3, "int8") * 2) 578s ***** assert (blockproc (uint8 (eye (6)), [1,2], [1,1], @(x) sum (x(:))), 578s [2,1,0; 3,2,0; 2,3,1; 1,3,2; 0,2,3; 0,1,2]) 578s ***** assert (blockproc (uint8 (eye (6)), "indexed", [1,2], [1,1], @(x) sum (x(:))), 578s [2,1,0; 3,2,0; 2,3,1; 1,3,2; 0,2,3; 0,1,2]); 578s ***** assert (blockproc (uint16 (eye (6)), [1,2], [1,1], @(x) sum (x(:))), 578s [2,1,0; 3,2,0; 2,3,1; 1,3,2; 0,2,3; 0,1,2]); 578s ***** assert (blockproc (uint16 (eye (6)), "indexed", [1,2], [1,1], 578s @(x) sum (x(:))), 578s [2,1,0; 3,2,0; 2,3,1; 1,3,2; 0,2,3; 0,1,2]); 578s ***** assert (blockproc (eye (6), [2, 2], "sum"), 578s blockproc (eye (6), [2, 2], inline ("sum (x)", "x"))) 578s warning: inline is obsolete; use anonymous functions instead 578s 13 tests, 13 passed, 0 known failure, 0 skipped 578s [inst/imsmooth.m] 578s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imsmooth.m 578s ***** test 578s ## checking Bilateral Filter 578s 578s ## constant image remain the same after Bilateral Filter 578s A = uint8(255*ones(128,128)); 578s B = uint8(imsmooth(A, 'Bilateral', 2, 10)); 578s assert (A,B); 578s 578s ## Bilateral Filter does not smear outlayers 578s A = zeros(256,256); 578s A(128,128) = 256; 578s ## bilateral filter does not smear outlayers 578s B = imsmooth(A, 'Bilateral', 2, 10); 578s assert (A,B,1.e-140); 578s 578s ## When sigma_r is large the filter behaves almost 578s ## like the isotropic Gaussian filter 578s 578s A0 = fspecial ('gaussian',100,100); 578s A = uint8(A0/max(max(A0))*255); 578s B1 = imsmooth(A, 'Bilateral', 2, 100); 578s B2 = imsmooth(A, 'Gaussian', 2); 578s assert (B1,B2); 580s 1 test, 1 passed, 0 known failure, 0 skipped 580s [inst/label2rgb.m] 580s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/label2rgb.m 580s ***** function map = test_colormap (unused) 580s map = [0 0 0; 0.5 0.5 0.5; 0.125 0.125 0.125]; 580s ***** endfunction 580s ***** shared in, out, cmap 580s in = [ 0 1 1 0 2 2 0 3 3 580s 0 1 1 0 2 2 0 3 3]; 580s 580s out = [255 0 0 255 128 128 255 32 32 580s 255 0 0 255 128 128 255 32 32]; 580s out(:,:,2) = out(:,:,3) = out(:,:,1); 580s out = uint8(out); 580s 580s cmap = [0 0 0; 0.5 0.5 0.5; 0.125 0.125 0.125]; 580s ***** assert (label2rgb (in, cmap), out); 580s ***** assert (label2rgb (uint8 (in), cmap), out); 580s ***** assert (label2rgb (in, "test_colormap"), out); 580s ***** assert (label2rgb (in, @test_colormap), out); 580s 580s out(find (in == 0)) = 0; 580s ***** assert (label2rgb (in, cmap, "cyan"), out); 580s ***** assert (label2rgb (in, cmap, [0 1 1]), out); 580s 580s in(1) = 10; 580s ***** error label2rgb (in, cmap); 580s ***** error label2rgb (in, cmap, 89); 580s ***** error label2rgb (in, cmap, "g", "wrong"); 580s 9 tests, 9 passed, 0 known failure, 0 skipped 580s [inst/bwperim.m] 580s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/bwperim.m 580s ***** test 580s in = [ 1 1 1 1 0 1 1 0 1 1 580s 1 1 0 1 1 1 1 1 1 0 580s 1 1 1 0 1 1 1 1 1 1 580s 1 1 1 1 0 1 1 1 0 1 580s 1 1 1 0 1 1 1 1 1 0 580s 1 1 1 1 1 1 0 1 0 1 580s 1 1 1 1 1 1 1 1 1 0 580s 1 1 1 1 1 1 1 1 1 1 580s 1 1 1 1 1 1 0 0 1 1 580s 1 1 1 1 0 1 0 1 1 0]; 580s 580s out = [1 1 1 1 0 1 1 0 1 1 580s 1 1 0 1 1 0 0 1 1 0 580s 1 0 1 0 1 0 0 0 1 1 580s 1 0 0 1 0 1 0 1 0 1 580s 1 0 1 0 1 0 1 0 1 0 580s 1 0 0 1 0 1 0 1 0 1 580s 1 0 0 0 0 0 1 0 1 0 580s 1 0 0 0 0 0 1 1 0 1 580s 1 0 0 0 1 1 0 0 1 1 580s 1 1 1 1 0 1 0 1 1 0]; 580s assert (bwperim (in), logical (out)) 580s assert (bwperim (in, 4), logical (out)) 580s 580s out = [1 1 1 1 0 1 1 0 1 1 580s 1 1 0 1 1 1 1 1 1 0 580s 1 1 1 0 1 1 0 1 1 1 580s 1 0 1 1 0 1 0 1 0 1 580s 1 0 1 0 1 1 1 1 1 0 580s 1 0 1 1 1 1 0 1 0 1 580s 1 0 0 0 0 1 1 1 1 0 580s 1 0 0 0 0 1 1 1 1 1 580s 1 0 0 1 1 1 0 0 1 1 580s 1 1 1 1 0 1 0 1 1 0]; 580s assert (bwperim (in, 8), logical (out)) 580s 580s out = [1 1 1 1 0 1 1 0 1 1 580s 1 0 0 0 0 1 0 0 1 0 580s 1 0 0 0 0 0 0 1 0 1 580s 1 0 1 0 0 0 0 0 0 1 580s 1 0 0 0 0 1 0 1 0 0 580s 1 0 0 0 1 0 0 0 0 1 580s 1 0 0 0 0 0 0 1 0 0 580s 1 0 0 0 0 1 1 0 0 1 580s 1 0 0 1 0 1 0 0 1 1 580s 1 1 1 1 0 1 0 1 1 0]; 580s assert (bwperim (in, [1 0 0; 0 1 0; 0 0 1]), logical (out)) 580s ***** test 580s in = [ 0 0 0 0 0 0 0 580s 0 0 5 0 0 1 9 580s 0 Inf 9 7 0 0 0 580s 0 1.5 5 7 1 0 0 580s 0 0.5 -1 89 i 0 0 580s 0 4 10 15 1 0 0 580s 0 0 0 0 0 0 0]; 580s out = [0 0 0 0 0 0 0 580s 0 0 1 0 0 1 1 580s 0 1 0 1 0 0 0 580s 0 1 0 0 1 0 0 580s 0 1 0 0 1 0 0 580s 0 1 1 1 1 0 0 580s 0 0 0 0 0 0 0]; 580s assert (bwperim (in), logical (out)) 580s ***** test 580s in = reshape (magic(16), [8 8 4]) > 50; 580s out(:,:,1) = [ 580s 1 1 0 1 0 1 1 1 580s 0 1 1 1 1 1 0 1 580s 0 1 1 1 1 1 0 1 580s 1 1 0 1 1 1 1 1 580s 1 1 1 1 1 1 1 1 580s 1 1 1 0 1 0 1 1 580s 1 1 1 0 1 0 1 1 580s 1 0 1 1 1 1 1 0]; 580s out(:,:,2) = [ 580s 1 1 0 1 0 1 1 1 580s 0 1 1 0 1 1 0 1 580s 0 1 0 0 0 1 0 1 580s 1 0 1 0 0 0 1 1 580s 1 0 0 1 0 1 0 1 580s 1 0 1 0 1 0 1 1 580s 1 1 1 0 1 0 1 1 580s 1 0 1 1 1 1 1 0]; 580s out(:,:,3) = [ 580s 1 1 0 1 0 1 1 1 580s 0 1 1 0 1 1 0 1 580s 0 1 0 0 0 1 0 1 580s 1 0 0 0 0 0 1 1 580s 1 0 0 1 0 1 0 1 580s 1 0 1 0 1 0 1 1 580s 1 1 1 0 1 0 1 1 580s 1 0 1 1 1 1 1 0]; 580s out(:,:,4) = [ 580s 1 1 0 1 0 1 1 1 580s 0 1 1 1 1 1 0 1 580s 0 1 1 1 1 1 0 1 580s 1 1 1 1 1 1 1 1 580s 1 1 1 1 1 1 1 0 580s 1 1 1 0 1 0 1 1 580s 1 1 1 0 1 0 1 1 580s 1 0 1 1 1 1 1 0]; 580s assert (bwperim (in), logical (out)) 580s 580s out(:,:,1) = [ 580s 1 1 0 1 0 1 1 1 580s 0 1 1 1 1 1 0 1 580s 0 1 1 1 1 1 0 1 580s 1 1 0 1 1 1 1 1 580s 1 1 1 1 1 1 1 1 580s 1 1 1 0 1 0 1 1 580s 1 1 1 0 1 0 1 1 580s 1 0 1 1 1 1 1 0]; 580s out(:,:,2) = [ 580s 1 1 0 1 0 1 1 1 580s 0 1 1 1 1 1 0 1 580s 0 1 1 0 0 1 0 1 580s 1 1 1 1 0 1 1 1 580s 1 0 1 1 1 1 1 1 580s 1 0 1 0 1 0 1 1 580s 1 1 1 0 1 0 1 1 580s 1 0 1 1 1 1 1 0]; 580s out(:,:,3) = [ 580s 1 1 0 1 0 1 1 1 580s 0 1 1 1 1 1 0 1 580s 0 1 0 0 0 1 0 1 580s 1 1 0 0 0 1 1 1 580s 1 0 1 1 1 1 1 1 580s 1 0 1 0 1 0 1 1 580s 1 1 1 0 1 0 1 1 580s 1 0 1 1 1 1 1 0]; 580s out(:,:,4) = [ 580s 1 1 0 1 0 1 1 1 580s 0 1 1 1 1 1 0 1 580s 0 1 1 1 1 1 0 1 580s 1 1 1 1 1 1 1 1 580s 1 1 1 1 1 1 1 0 580s 1 1 1 0 1 0 1 1 580s 1 1 1 0 1 0 1 1 580s 1 0 1 1 1 1 1 0]; 580s assert (bwperim (in, 18), logical (out)) 580s ***** error bwperim ("text") 580s ***** error bwperim (rand (10), 5) 580s ***** error bwperim (rand (10), "text") 580s ***** test 580s a = false (5); 580s a(1:4,2:4) = true; 580s 580s p = false (5); 580s p(1:4,[2 4]) = true; 580s assert (bwperim (a, [0 0 0; 1 1 1; 0 0 0]), p) 580s ***** test 580s a = false (8, 8, 5); 580s a(4:5,4:5,2:4) = true; 580s a(2:7,2:7,3) = true; 580s assert (bwperim (a, 26), a) 580s 580s ## It is easy to forget that is correct 580s b = a; 580s b(4:5, 4:5, 3) = false; 580s assert (bwperim (a), b) 580s 580s c = a; 580s c(3:6,3:6,3) = false; 580s assert (bwperim (a, 4), c) 580s ***** test 580s conn_self = logical ([0 0 0; 0 1 0; 0 0 0]); 580s assert (bwperim (true), true) 580s assert (bwperim (true, conn_self), false) 580s assert (bwperim (true (1, 6)), true (1, 6)) 580s assert (bwperim (true (1, 6), conn_self), false (1, 6)) 580s assert (bwperim (true (6, 1)), true (6, 1)) 580s 580s bw_3d = true (1, 1, 6); 580s assert (bwperim (bw_3d), bw_3d) 580s assert (bwperim (bw_3d, conn_self), false (1, 1, 6)) 580s assert (bwperim (bw_3d, true (3)), bw_3d) 580s 580s perim_3d = bw_3d; 580s perim_3d(1, 1, 2:end-1) = false; 580s conn_3d = false (3, 3, 3); 580s conn_3d(2, 2, :) = true; 580s assert (bwperim (true (1, 1, 6), conn_3d), perim_3d) 580s 9 tests, 9 passed, 0 known failure, 0 skipped 580s [inst/imattributes.m] 580s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imattributes.m 580s ***** shared x, map, img, rgb, bw 580s [x, map] = imread ("default.img"); 580s rgb = ind2rgb (x, map); 580s img = ind2gray (x, map); 580s bw = im2bw (img); 580s ***** test 580s h = imshow (img); 580s a = imattributes (h); 580s assert ([a.("Height (rows)") a.("Width (columns)")], [53 40]); 580s assert (a.Class, "uint8"); 580s assert (a.("Image type"), "intensity"); 580s assert (a.("Minimum intensity"), uint8 (28)); 580s assert (a.("Maximum intensity"), uint8 (250)); 580s ***** xtest 580s h = imshow (rgb); 580s a = imattributes (h); 580s assert ([a.("Height (rows)") a.("Width (columns)")], [53 40]); 580s assert (a.Class, "uint8"); 580s assert (a.("Image type"), "truecolor"); 580s assert (isfield (a, "Minimum intensity"), false); 580s assert (isfield (a, "Maximum intensity"), false); 580s !!!!! known failure 580s ASSERT errors for: assert (a.Class,"uint8") 580s 580s Location | Observed | Expected | Reason 580s [] 'double' 'uint8' Strings don't match 580s ***** test 580s h = imshow (bw); 580s a = imattributes (h); 580s assert ([a.("Height (rows)") a.("Width (columns)")], [53 40]); 580s assert (a.Class, "logical"); 580s assert (a.("Image type"), "binary"); 580s assert (isfield (a, "Minimum intensity"), false); 580s assert (isfield (a, "Maximum intensity"), false); 580s ***** test 580s h = imshow (x, map); 580s a = imattributes (h); 580s assert ([a.("Height (rows)") a.("Width (columns)")], [53 40]); 580s assert (a.Class, "uint8"); 580s assert (a.("Image type"), "indexed"); 580s assert (a.("Minimum intensity"), uint8 (0)); 580s assert (a.("Maximum intensity"), uint8 (55)); 580s ***** test 580s h = imshow (img); 580s a1 = imattributes (); 580s a2 = imattributes (h); 580s assert (a1, a2); 580s 5 tests, 4 passed, 1 known failure, 0 skipped 580s [inst/imnoise.m] 580s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imnoise.m 580s ***** assert(var(imnoise(ones(10)/2,'gaussian')(:)),0.01,0.005) # probabilistic 580s ***** assert(length(find(imnoise(ones(10)/2,'salt & pepper')~=0.5)),5,10) # probabilistic 580s ***** assert(var(imnoise(ones(10)/2,'speckle')(:)),0.01,0.005) # probabilistic 580s ***** test 580s A = imnoise (.5 * ones (100), 'poisson'); 580s assert (class (A), 'double') 580s ***** test 580s A = imnoise (.5 * ones (100, 'single'), 'poisson'); 580s assert (class (A), 'single') 580s ***** test 580s A = imnoise (128 * ones (100, 'uint8'), 'poisson'); 580s assert (class (A), 'uint8') 580s ***** test 580s A = imnoise (256 * ones (100, 'uint16'), 'poisson'); 580s assert (class (A), 'uint16') 580s ***** demo 580s A = imnoise (2^7 * ones (100, 'uint8'), 'poisson'); 580s subplot (2, 2, 1) 580s imshow (A) 580s title ('uint8 image with poisson noise') 580s A = imnoise (2^15 * ones (100, 'uint16'), 'poisson'); 580s subplot (2, 2, 2) 580s imshow (A) 580s title ('uint16 image with poisson noise') 580s A = imnoise (.5 * ones (100), 'poisson'); 580s subplot (2, 2, 3) 580s imshow (A) 580s title ('double image with poisson noise') 580s A = imnoise (.5 * ones (100, 'single'), 'poisson'); 580s subplot (2, 2, 4) 580s imshow (A) 580s title ('single image with poisson noise') 580s 7 tests, 7 passed, 0 known failure, 0 skipped 580s [inst/lab2single.m] 580s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/lab2single.m 580s ***** test 580s l_max_f = 100 + (25500 / 65280); 580s ab_max_f = 127 + (255 / 256); 580s cm = [ 580s -Inf 580s Inf 580s NaN 580s l_max_f 580s ab_max_f 580s -200 580s -129 580s -128 580s -128+(255/65280)*(0.499) 580s -128+(255/65280)*(0.500) 580s -128+(255/65280)*(0.501) 580s -127 580s -1 580s 0 580s (100/65280)*(0.499999) 580s (100/65280)*(0.51) 580s (100/65280)*(0.500001) 580s 1 580s 99 580s 100 580s 101 580s 126 580s 127 580s 128 580s 254 580s 255 580s 256 580s 257]; 580s cm = repmat (single (cm), [1 3]); 580s im2d = reshape (cm, [7 4 3]); 580s imnd = permute (im2d, [1 4 3 2]); 580s 580s cm_uint8 = uint8 ([ 580s 0 0 0 580s 255 255 255 580s 255 255 255 580s 255 228 228 580s 255 255 255 580s 0 0 0 580s 0 0 0 580s 0 0 0 580s 0 0 0 580s 0 0 0 580s 0 0 0 580s 0 1 1 580s 0 127 127 580s 0 128 128 580s 0 128 128 580s 0 128 128 580s 0 128 128 580s 3 129 129 580s 252 227 227 580s 255 228 228 580s 255 229 229 580s 255 254 254 580s 255 255 255 580s 255 255 255 580s 255 255 255 580s 255 255 255 580s 255 255 255 580s 255 255 255]); 580s 580s assert (lab2uint8 (cm), cm_uint8) 580s im2d_uint8 = reshape (cm_uint8, [7 4 3]); 580s assert (lab2uint8 (im2d), im2d_uint8) 580s assert (lab2uint8 (imnd), permute (im2d_uint8, [1 4 3 2])) 580s 580s cm_uint16 = uint16 ([ 580s 0 0 0 580s 65535 65535 65535 580s 65535 65535 65535 580s 65535 58468 58468 580s 65535 65535 65535 580s 0 0 0 580s 0 0 0 580s 0 0 0 580s 0 0 0 580s 0 1 1 580s 0 1 1 580s 0 256 256 580s 0 32512 32512 580s 0 32768 32768 580s 0 32768 32768 580s 1 32768 32768 580s 1 32768 32768 580s 653 33024 33024 580s 64627 58112 58112 580s 65280 58368 58368 580s 65535 58624 58624 580s 65535 65024 65024 580s 65535 65280 65280 580s 65535 65535 65535 580s 65535 65535 65535 580s 65535 65535 65535 580s 65535 65535 65535 580s 65535 65535 65535]); 580s 580s assert (lab2uint16 (cm), cm_uint16) 580s im2d_uint16 = reshape (cm_uint16, [7 4 3]); 580s assert (lab2uint16 (im2d), im2d_uint16) 580s assert (lab2uint16 (imnd), permute (im2d_uint16, [1 4 3 2])) 580s 580s assert (lab2double (cm), double (cm)) 580s assert (lab2double (im2d), double (im2d)) 580s assert (lab2double (imnd), double (imnd)) 580s 1 test, 1 passed, 0 known failure, 0 skipped 580s [inst/fftconv2.m] 580s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/fftconv2.m 580s ***** xtest 580s a = repmat (1:10, 5); 580s b = repmat (10:-1:3, 7); 580s assert (fftconv2 (a, b), conv2 (a, b), 1.8e4*eps) 580s assert (fftconv2 (b, a), conv2 (b, a), 1.8e4*eps) 580s assert (fftconv2 (a, b, "full"), conv2 (a, b, "full"), 1.8e4*eps) 580s assert (fftconv2 (b, a, "full"), conv2 (b, a, "full"), 1.8e4*eps) 580s assert (fftconv2 (a, b, "same"), conv2 (a, b, "same"), 1.8e4*eps) 580s assert (fftconv2 (b, a, "same"), conv2 (b, a, "same"), 1.8e4*eps) 580s assert (isempty (fftconv2 (a, b, "valid"))); 580s assert (fftconv2 (b, a, "valid"), conv2 (b, a, "valid"), 1e4*eps) 580s !!!!! known failure 580s ASSERT errors for: assert (fftconv2 (b, a, "valid"),conv2 (b, a, "valid"),1e4 * eps) 580s 580s Location | Observed | Expected | Reason 580s (2,1) 9245-3.2818899e-14i 9245 Abs err 3.6381e-12 exceeds tol 2.2204e-12 by 1e-12 580s ***** test 580s x = 1:4; 580s y = 4:-1:1; 580s a = repmat(1:10, 5); 580s assert (fftconv2 (x, y, a), conv2 (x, y, a), 1e4*eps) 580s assert (fftconv2 (x, y, a, "full"), conv2 (x, y, a, "full"), 1e4*eps) 580s assert (fftconv2 (x, y, a, "same"), conv2 (x, y, a, "same"), 1e4*eps) 580s assert (fftconv2 (x, y, a, "valid"), conv2 (x, y, a, "valid"), 1e4*eps) 581s ***** demo 581s ## Draw a cross 581s z = zeros (101, 101); 581s z(50, :) = 1; 581s z(:, 50) = 1; 581s subplot (1, 3, 1) 581s imshow (z); 581s title ("Original thin cross") 581s 581s ## Draw a sinc blob 581s b = getheight (strel ("ball", 10, 1)); 581s subplot (1, 3, 2) 581s imshow (b); 581s title ("Sync blob") 581s 581s ## Convolve the cross with the blob 581s fc = real (fftconv2 (z, b, "same")); 581s subplot (1, 3, 3) 581s imshow (fc, [min(fc(:)) max(fc(:))]) 581s title ("Convolution in the frequency domain") 581s 2 tests, 1 passed, 1 known failure, 0 skipped 581s [inst/otf2psf.m] 581s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/otf2psf.m 581s ***** function otf = rand_otf (varargin) 581s otf = complex (rand (varargin{:}), rand (varargin{:})); 581s ***** endfunction 581s ***** test 581s otf = rand_otf (6, 1); 581s assert (otf2psf (otf), circshift (ifft (otf), 3), eps); 581s ***** test 581s otf = rand_otf (6, 6); 581s assert (otf2psf (otf), circshift (ifft2 (otf), [3 3]), eps); 581s ***** test 581s otf = rand_otf (6, 6, 6); 581s assert (otf2psf (otf), circshift (ifftn (otf), [3 3 3]), eps); 581s ***** test 581s otf = rand_otf (7, 1); 581s assert (otf2psf (otf), circshift (ifft (otf), 3), eps); 581s ***** test 581s otf = rand_otf (7, 7); 581s assert (otf2psf (otf), circshift (ifft2 (otf), [3 3]), eps); 581s ***** test 581s otf = rand_otf (6, 7, 8); 581s assert (otf2psf (otf), circshift (ifftn (otf), [3 3 4]), eps); 581s ***** test 581s otf = rand_otf (7, 1); 581s ppsf = circshift (ifft (otf), 3); 581s assert (otf2psf (otf, 6), ppsf(1:6), eps); 581s assert (otf2psf (otf, [6 1]), ppsf(1:6), eps); 581s ***** test 581s otf = rand_otf (7, 7); 581s ppsf = circshift (ifft2 (otf), [3 3]); 581s assert (otf2psf (otf, [6 1]), ppsf(1:6,4), eps); 581s ***** test 581s otf = rand_otf (6, 7); 581s ppsf = circshift (ifft2 (otf), [3 3]); 581s assert (otf2psf (otf, [6 6]), ppsf(:,1:6), eps); 581s ***** error otf2psf ("not a otf") 581s ***** error otf2psf (rand_otf (16), 18) 581s ***** error otf2psf (rand_otf (16), [14 18]) 581s ***** error otf2psf (rand_otf (16), [18 18]) 581s ***** error otf2psf (rand_otf (16, 1), 18) 581s ***** test 581s psf = fspecial ("gaussian", 16); 581s otf = psf2otf (psf); 581s assert (otf2psf (otf), psf, eps); 581s ***** xtest 581s psf = rand (16); 581s otf = psf2otf (psf); 581s assert (otf2psf (otf), psf, 4*eps); 581s ***** test 581s psf = rand (8); 581s otf = psf2otf (psf, [16 16]); 581s assert (otf2psf (otf, [8 8]), psf, 2*eps); 581s 17 tests, 17 passed, 0 known failure, 0 skipped 581s [inst/psf2otf.m] 581s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/psf2otf.m 581s ***** test 581s psf = rand (6, 1); 581s assert (psf2otf (psf), fft (circshift (psf, [-3])), eps); 581s ***** test 581s psf = rand (6, 6); 581s assert (psf2otf (psf), fft2 (circshift (psf, [-3 -3])), eps); 581s ***** test 581s psf = rand (6, 6, 6); 581s assert (psf2otf (psf), fftn (circshift (psf, [-3 -3 -3])), eps); 581s ***** test 581s psf = rand (7, 1); 581s assert (psf2otf (psf), fft (circshift (psf, [-3])), eps); 581s ***** test 581s psf = rand (7, 7); 581s assert (psf2otf (psf), fft2 (circshift (psf, [-3 -3])), eps); 581s ***** test 581s psf = rand (6, 7, 8); 581s assert (psf2otf (psf), fftn (circshift (psf, [-3 -3 -4])), eps); 581s ***** test 581s psf = rand (6, 1); 581s ppsf = [psf; 0]; 581s assert (psf2otf (psf, 7), fft (circshift (ppsf, [-3])), eps); 581s ***** test 581s psf = rand (6, 1); 581s ppsf = [[psf; 0] zeros(7, 6)]; 581s assert (psf2otf (psf, [7 7]), fft2 (circshift (ppsf, [-3 0])), eps); 581s ***** test 581s psf = rand (6, 6); 581s ppsf = [psf zeros(6, 1)]; 581s assert (psf2otf (psf, [6 7]), fft2 (circshift (ppsf, [-3 -3])), eps); 581s ***** error psf2otf ('foo') 581s ***** error psf2otf (rand (16), 14) 581s ***** error psf2otf (rand (16), [14 14]) 581s ***** error psf2otf (rand (16), [18]) 581s ***** error psf2otf (rand (16), [18 14]) 581s ***** test 581s psf = fspecial ("gaussian", 16) + 1i; 581s otf = psf2otf (psf); 581s assert (otf2psf (otf), psf, eps); 581s 15 tests, 15 passed, 0 known failure, 0 skipped 581s [inst/imadjust.m] 581s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/imadjust.m 581s ***** error imadjust ("bad argument"); 581s ***** error imadjust ([1:100], "bad argument", [], 1); 581s ***** error <2 row column per plane> imadjust ([1:100], [0 1 1], [], 1); 581s ***** error <2 row column per plane> imadjust ([1:100], [], [0 1 1], 1); 581s ***** error imadjust ([1:100], [], [], [0; 1]); 581s ***** error imadjust (rand (5, 5, 3), [], [], [0 1]); 581s ***** error imadjust ([1:100], [0; 1], [], -1); 581s ***** error imadjust ([1:100], [0; 5], []); 581s ***** error imadjust ([1:100], [-2; 1], []); 581s ***** error imadjust ([1:100], [], [0; 4]); 581s ***** error imadjust ([1:100], [], [-2; 1]); 581s ***** error imadjust (rand (5) > .5); 581s ***** test 581s im = [0.01:0.01:1]; 581s assert (imadjust (im), [0 linspace(0, 1, 98) 1], eps) 581s assert (imadjust (im), imadjust (im, stretchlim (im, 0.01), [0; 1], 1)) 581s assert (imadjust (im, []), imadjust (im, [0; 1], [0; 1], 1)) 581s assert (imadjust (im, [], []), imadjust (im, [0; 1], [0; 1], 1)) 581s assert (imadjust (im, [], [.25 .75]), imadjust (im, [0; 1], [.25; .75], 1)) 581s assert (imadjust (im, [.25; .75], []), imadjust (im, [.25; .75], [0; 1], 1)) 581s ***** assert (imadjust (linspace (0, 1), [], [.25 .75]), linspace (.25, .75, 100), eps) 581s ***** assert (imadjust (linspace (0, 1, 100),[1/99; 98/99]), 581s [0 linspace(0, 1, 98) 1], eps) 581s ***** shared cm 581s cm = [[0:8]' [1:9]' [2:10]'] / 10; 581s ***** assert (imadjust (cm, [0; 1], [0.5; 1]), (cm /2) + .5) 581s ***** assert (imadjust (cm, [0 1], [0.5 1]), (cm /2) + .5) 581s ***** assert (imadjust (cm, [0; 1], [.1 .2 .3; .7 .8 .9]), 581s (cm*.6) + [.1 .2 .3], eps) 581s ***** assert (imadjust (cm, [.2 .4 .6; .7 .8 .9], [0; 1]), 581s [[0 0 linspace(0, 1, 6) 1]' ... 581s [0 0 0 linspace(0, 1, 5) 1]' ... 581s [0 0 0 0 linspace(0, 1, 4) 1]'], eps) 581s ***** assert (imadjust (cm, [.2 .4 .6; .7 .8 .9], [0 .1 .2; .8 .9 1]), 581s [[0 0 linspace(0, .8, 6) .8]' ... 581s [.1 .1 .1 linspace(.1, .9, 5) .9]' ... 581s [.2 .2 .2 .2 linspace(.2, 1, 4) 1]'], eps) 581s ***** assert (imadjust (cm, [.2 .4 .6; .7 .8 .9], [0 .1 .2; .8 .9 1], [0.5 1 2]), 581s [[0 0 0 (((([.3 .4 .5 .6]-.2)/.5).^.5)*.8) .8 .8]' ... 581s [.1 .1 .1 linspace(.1, .9, 5) .9]' ... 581s [.2 .2 .2 .2 .2 ((((([.7 .8]-.6)/.3).^2).*.8)+.2) 1 1]'], eps*10) 581s ***** test 581s im = [-0.4:.1:0.8 581s 0.0:.1:1.2 581s 0.1:.1:1.3 581s -0.4:.2:2.0]; 581s 581s ## just clipping 581s assert (imadjust (im, [0; 1], [0; 1]), 581s [0 0 0 0 (0:.1:.8) 581s (0:.1:1) 1 1 581s (.1:.1:1) 1 1 1 581s 0 0 (0:.2:1) 1 1 1 1 1], eps) 581s 581s ## clipping and invert 581s assert (imadjust (im, [0; 1], [1; 0]), 581s [1 1 1 1 (1:-.1:.2) 581s (1:-.1:0) 0 0 581s (.9:-.1:0) 0 0 0 581s 1 1 (1:-.2:0) 0 0 0 0 0], eps) 581s 581s ## rescale 581s assert (imadjust (im, [.2; .7], [.1; .9]), 581s [1 1 1 1 1 1 1 2.6 4.2 5.8 7.4 9 9 581s 1 1 1 2.6 4.2 5.8 7.4 9 9 9 9 9 9 581s 1 1 2.6 4.2 5.8 7.4 9 9 9 9 9 9 9 581s 1 1 1 1 4.2 7.4 9 9 9 9 9 9 9]/10, eps) 581s 581s ## rescale and invert 581s assert (imadjust (im, [.2; .7], [.9; .1]), 581s [9 9 9 9 9 9 9 7.4 5.8 4.2 2.6 1 1 581s 9 9 9 7.4 5.8 4.2 2.6 1 1 1 1 1 1 581s 9 9 7.4 5.8 4.2 2.6 1 1 1 1 1 1 1 581s 9 9 9 9 5.8 2.6 1 1 1 1 1 1 1]/10, eps) 581s ***** assert (imadjust (linspace (0, 1), [], [], 2), linspace (0, 1) .^ 2) 581s ***** shared oRGB 581s oRGB = zeros (10, 1, 3); 581s oRGB(:,:,1) = [0 linspace(0,1,6) 1 1 1]'; 581s oRGB(:,:,2) = [0 0 linspace(0,1,6) 1 1]'; 581s oRGB(:,:,3) = [0 0 0 linspace(0,1,6) 1]'; 581s ***** assert (imadjust (oRGB, [0; 1], [0; 1]), oRGB) 581s ***** assert (imadjust (oRGB, [.2; .8], [0; 1]), 581s reshape ([[0 0 0 1/3 2/3 1 1 1 1 1]' 581s [0 0 0 0 1/3 2/3 1 1 1 1]' 581s [0 0 0 0 0 1/3 2/3 1 1 1]'], [10 1 3]), eps) 581s ***** assert (imadjust (oRGB, [.2; .8], [.1; .9]), 581s reshape ([[.1 .1 .1 (1/3)+(.1/3) (2/3)-(.1/3) .9 .9 .9 .9 .9]' 581s [.1 .1 .1 .1 (1/3)+(.1/3) (2/3)-(.1/3) .9 .9 .9 .9]' 581s [.1 .1 .1 .1 .1 (1/3)+(.1/3) (2/3)-(.1/3) .9 .9 .9]'], 581s [10 1 3]), eps) 581s ***** assert (imadjust (oRGB, [.2; .8], [.2; .8]), 581s reshape ([[2 2 2 4 6 8 8 8 8 8]' 581s [2 2 2 2 4 6 8 8 8 8]' 581s [2 2 2 2 2 4 6 8 8 8]']/10, [10 1 3]), eps) 581s ***** assert (imadjust (oRGB, [0; 1], [.1 .2 .3; .9 .8 .7]), 581s reshape ([[1 1 2.6 4.2 5.8 7.4 9 9 9 9]' 581s [2 2 2 3.2 4.4 5.6 6.8 8 8 8]' 581s [3 3 3 3 3.8 4.6 5.4 6.2 7 7]']/10, [10 1 3]), eps) 581s ***** assert (imadjust (oRGB, [.1 .2 .3; .9 .8 .7], [0; 1]), 581s reshape ([[0 0 .125 .375 .625 .875 1 1 1 1]' 581s [0 0 0 0 1/3 2/3 1 1 1 1]' 581s [0 0 0 0 0 .25 .75 1 1 1]'], [10 1 3]), eps*10) 581s ***** assert (imadjust (oRGB, [.1 .2 .3; .9 .8 .7], [.2 0 .4; .5 1 .7 ]), 581s reshape ([[.2 .2 .2375 .3125 .3875 .4625 .5 .5 .5 .5]' 581s [0 0 0 0 1/3 2/3 1 1 1 1]' 581s [.4 .4 .4 .4 .4 .475 .625 .7 .7 .7]'], [10 1 3]), eps) 581s ***** test 581s img = rand (4, 4, 2, 3, 4); 581s adj = zeros (4, 4, 2, 3, 4); 581s for p = 1:2 581s for q = 1:3 581s for r = 1:4 581s adj(:,:,p,q,r) = imadjust (img(:,:,p,q,r)); 581s endfor 581s endfor 581s endfor 581s assert (imadjust (img), adj) 581s ***** test 581s img = rand (4, 4, 2, 3, 2); 581s adj = zeros (4, 4, 2, 3, 2); 581s in = reshape ([ 3 5 7 9 11 13 15 17 19 21 23 25; 581s 97 95 93 91 89 87 85 83 81 79 77 75] / 100, [2 2 3 2]); 581s out = reshape ([ 5 7 9 11 14 15 17 19 21 23 25 27; 581s 95 93 91 89 87 85 83 81 79 77 75 73] / 100, [2 2 3 2]); 581s gamma = reshape (0.6:.1:1.7, [1 2 3 2]); 581s for p = 1:2 581s for q = 1:3 581s for r = 1:2 581s adj(:,:,p,q,r) = imadjust (img(:,:,p,q,r), in(:,p,q,r), 581s out(:,p,q,r), gamma(1,p,q,r)); 581s endfor 581s endfor 581s endfor 581s assert (imadjust (img, in, out, gamma), adj, eps) 581s ***** test 581s in = int16 (1:6); 581s assert (imadjust (in), int16 ([-32768 -19661 -6554 6553 19660 32767])) 581s assert (imadjust (in, []), in) 581s ***** test 581s in = uint8([ 581s 35 1 6 26 19 24 581s 3 32 7 21 23 25 581s 31 9 2 22 27 20 581s 8 28 33 17 10 15 581s 30 5 34 12 14 16 581s 4 36 29 13 18 11]); 581s out = uint8([ 581s 12 0 0 1 0 0 581s 0 8 0 0 0 0 581s 7 0 0 0 2 0 581s 0 3 9 0 0 0 581s 6 0 11 0 0 0 581s 0 13 4 0 0 0]); 581s assert (imadjust (in, [.1 .9], [0 1]), out); 581s ***** test 581s in = uint8([ 581s 140 4 24 104 76 96 581s 12 128 28 84 92 100 581s 124 36 8 88 108 80 581s 32 112 132 68 40 60 581s 120 20 136 48 56 64 581s 16 144 116 52 72 44]); 581s out = uint8([ 581s 143 0 0 98 63 88 581s 0 128 3 73 83 93 581s 123 13 0 78 103 68 581s 8 108 133 53 18 43 581s 118 0 138 28 38 48 581s 0 148 113 33 58 23]); 581s assert (imadjust (in, [.1 .9], [0 1]), out); 581s ***** xtest 581s in_u8 = randi ([0 255], 5, 5, 2, 3, "uint8"); 581s in_u16 = randi ([0 65535], 5, 5, 2, 3, "uint16"); 581s in_i16 = randi ([-32768 32767], 5, 5, 2, 3, "int16"); 581s in_u8_d = im2double (in_u8); 581s in_u16_d = im2double (in_u16); 581s in_i16_d = im2double (in_i16); 581s lim_u8 = eps + 0.5 / double (intmax ("uint8")); 581s lim_u16 = eps + 0.5 / double (intmax ("uint16")); 581s lim_i16 = eps + 0.5 / ( double (intmax("int16")) - double (intmin ("int16")) ); 581s 581s ## default values 581s assert (im2double (imadjust (in_u8)), imadjust (in_u8_d), lim_u8) 581s assert (im2double( imadjust (in_u16)), imadjust (in_u16_d), lim_u16) 581s assert (im2double( imadjust (in_i16)), imadjust (in_i16_d), lim_i16) 581s 581s ## single adjustment for all planes 581s args = {[.3; .7], [.1; .9], [1.5]}; 581s assert (im2double (imadjust (in_u8, args{:})), imadjust (in_u8_d, args{:}), lim_u8) 581s assert (im2double (imadjust (in_u16, args{:})), imadjust (in_u16_d, args{:}), lim_u16) 581s assert (im2double (imadjust (in_i16, args{:})), imadjust (in_i16_d, args{:}), lim_i16) 581s 581s ## single adjustment for all planes (mixed with some complement) 581s args = {reshape([.2 .3 .25 .1 0 .1; .9 .7 .85 .9 1 .8], [2 2 3]), 581s reshape([.1 .2 .05 .9 1 .3; .9 .85 .7 .1 0 .9], [2 2 3]), 581s reshape([1 .75 1 1.2 1.5 2], [1 2 3])}; 581s assert (im2double (imadjust (in_u8, args{:})), imadjust (in_u8_d, args{:}), lim_u8) 581s assert (im2double (imadjust (in_u16, args{:})), imadjust (in_u16_d, args{:}), lim_u16) 581s assert (im2double (imadjust (in_i16, args{:})), imadjust (in_i16_d, args{:}), lim_i16) 581s 581s ## test use of [] as limit and negative 581s args = {[], [.95; 0], 1.25}; 581s assert (im2double (imadjust (in_u8, args{:})), imadjust (in_u8_d, args{:}), lim_u8) 581s assert (im2double (imadjust (in_u16, args{:})), imadjust (in_u16_d, args{:}), lim_u16) 581s assert (im2double (imadjust (in_i16, args{:})), imadjust (in_i16_d, args{:}), lim_i16) 581s 36 tests, 36 passed, 0 known failure, 0 skipped 581s [inst/normxcorr2.m] 581s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/normxcorr2.m 581s ***** function offsets = get_max_offsets (c) 581s l = find (c == max (c(:))); 581s offsets = nthargout (1:ndims (c), @ind2sub, size (c), l); 581s ***** endfunction 581s ***** test 581s row_shift = 18; 581s col_shift = 20; 581s a = randi (255, 30, 30); 581s b = a(row_shift-10:row_shift, col_shift-7:col_shift); 581s c = normxcorr2 (b, a); 581s ## should return exact coordinates 581s assert (get_max_offsets (c), {row_shift col_shift}); 581s 581s ## Even with some small noise, should return exact coordinates 581s b = imnoise (b, "gaussian"); 581s c = normxcorr2 (b, a); 581s assert (get_max_offsets (c), {row_shift col_shift}); 581s ***** xtest 581s a = rand (10, 10); 581s c = normxcorr2 (a(5:7, 6:9), a); 581s assert (c(7, 9), 1, eps*100); 581s ***** test 581s a = 10 * randn (100, 100); 581s auto = normxcorr2 (a, a); 581s add_in = normxcorr2 (a, -a); 581s assert (auto, -add_in); 582s ***** test 582s a = 10 * randn (50, 50); 582s b = 10 * randn (100, 100); 582s do 582s scale = 100 * rand (); 582s until (scale != 0) 582s 582s assert (max ((normxcorr2 (scale*a,b) - normxcorr2 (a,b))(:)), 0, 1e-10); 582s assert (max ((normxcorr2 (a,scale*b) - normxcorr2 (a,b))(:)), 0, 1e-10); 582s 582s a_shift1 = a + scale * ones (size (a)); 582s b_shift1 = b + scale * ones (size (b)); 582s a_shift2 = a - scale * ones (size (a)); 582s b_shift2 = b - scale * ones (size (b)); 582s assert (max ((normxcorr2 (a_shift1,b) - normxcorr2 (a,b))(:)), 0, 1e-10); 582s assert (max ((normxcorr2 (a,b_shift1) - normxcorr2 (a,b))(:)), 0, 1e-10); 582s assert (max ((normxcorr2 (a_shift2,b) - normxcorr2 (a,b))(:)), 0, 1e-10); 582s assert (max ((normxcorr2 (a,b_shift2) - normxcorr2 (a,b))(:)), 0, 1e-10); 582s ***** test 582s a = randi (100, 15, 15, 15); 582s c = normxcorr2 (a(5:10, 2:6, 3:7), a); 582s assert (get_max_offsets (c), {10 6 7}); 582s 582s a = randi (100, 15, 15, 15); 582s c = normxcorr2 (a(5:10, 2:6, 1:1), a); 582s assert (get_max_offsets (c), {10 6 1}); 582s ***** warning normxcorr2 (rand (20), rand (5)); 582s ***** error normxcorr2 (rand (5)); 582s ***** error normxcorr2 (rand (5), rand (20), 2); 582s ***** test 582s a = [ 252 168 50 1 59; 582s 114 0 0 0 0] ./ 255; 582s b = [ 1 171 255 255 255 255 240 71 131 254 255 255 255; 582s 0 109 254 255 255 233 59 0 131 254 255 255 255; 582s 76 13 195 253 194 34 0 19 217 255 255 255 255; 582s 110 0 0 0 0 0 3 181 255 255 255 255 255; 582s 153 0 0 0 0 2 154 254 255 255 255 255 255]./255; 582s c = normxcorr2 (a, b); 582s assert (max (imag (c(:))), 0); 582s ***** test 582s img = [1 1 1 0]; 582s t = [1 1 0]; 582s c = normxcorr2 (t, img); 582s assert (c(3), 0) 582s 10 tests, 10 passed, 0 known failure, 0 skipped 582s [inst/stretchlim.m] 582s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/stretchlim.m 582s ***** error (stretchlim ()); 583s ***** error (stretchlim ("bad parameter")); 583s ***** error (stretchlim (zeros (10, 10), "bad parameter")); 583s ***** error (stretchlim (zeros (10, 10), 0.01, 2)); 583s ***** assert (stretchlim (0.01:.01:1), [0.02; 0.99]) 583s ***** assert (stretchlim (0.01:.01:1), stretchlim (0.01:.01:1, [0.01 0.99])) 583s ***** assert (stretchlim (0.01:.01:1, 0.15), stretchlim (0.01:.01:1, [0.15 0.85])) 583s ***** assert (stretchlim (0.01:.01:1, [0.01,0.95]), [0.02; 0.95], eps) 583s ***** assert (stretchlim (0.01:.01:1, 0), [0.01; 1]) 583s ***** test 583s im = rand (5); 583s assert (stretchlim (im, 0), [min(im(:)); max(im(:))]) 583s ***** test 583s im = rand (5, 5, 3); 583s assert (stretchlim (im, 0), 583s [min(im(:,:,1)(:)) min(im(:,:,2)(:)) min(im(:,:,3)(:)); 583s max(im(:,:,1)(:)) max(im(:,:,2)(:)) max(im(:,:,3)(:))]) 583s ***** test 583s im = rand (5); 583s assert (stretchlim (im, 0.03), [min(im(:)); max(im(:))]) 583s assert (stretchlim (im, 0.0399), [min(im(:)); max(im(:))]) 583s ***** assert (stretchlim (uint8 (1:100)), im2double (uint8 ([2; 99]))) 583s ***** assert (stretchlim (uint8 (1:100), .25), im2double (uint8 ([26; 75]))) 583s ***** assert (stretchlim (uint16 (1:1000)), im2double (uint16 ([11; 990]))) 583s ***** assert (stretchlim (int16 (-100:100)), im2double (int16 ([-98; 98]))) 583s ***** assert (stretchlim (single (0.01:.01:1)), 583s double (single (0.01:.01:1)([2; 99])).') 583s ***** assert (stretchlim (uint8 ([1 repmat(2, [1, 90]) 92:100]), 0.05), 583s im2double (uint8 ([2; 95]))) 583s ***** assert (stretchlim (uint8 ([1 repmat(2, [1 4]) 6:100]), 0.05), 583s im2double (uint8 ([6; 95]))) 583s ***** assert (stretchlim (uint8 ([1 repmat(2, [1 5]) 7:100]), 0.05), 583s im2double (uint8 ([2; 95]))) 583s ***** assert (stretchlim (uint8 ([1 repmat(2, [1 6]) 8:100]), 0.05), 583s im2double (uint8 ([2; 95]))) 583s ***** assert (stretchlim (uint8 ([1 repmat(2, [1 7]) 9:100]), 0.05), 583s im2double (uint8 ([2; 95]))) 583s ***** assert (stretchlim (uint8 ([1 repmat(2, [1 8]) 10:100]), 0.05), 583s im2double (uint8 ([2; 95]))) 583s ***** assert (stretchlim (uint8 ([1 repmat(2, [1 5]) repmat(3, [1 5]) 9:100]), 0.04), 583s im2double (uint8 ([2; 96]))) 583s ***** assert (stretchlim (uint8 ([1 repmat(2, [1 5]) repmat(3, [1 5]) 9:100]), 0.05), 583s im2double (uint8 ([2; 95]))) 583s ***** assert (stretchlim (uint8 ([1 repmat(2, [1 5]) repmat(3, [1 5]) 9:100]), 0.06), 583s im2double (uint8 ([3; 94]))) 583s ***** assert (stretchlim (uint8 ([1 repmat(2, [1 5]) repmat(3, [1 5]) 9:100]), 0.07), 583s im2double (uint8 ([3; 93]))) 583s ***** assert (stretchlim (uint8 ([1 repmat(2, [1 5]) repmat(3, [1 5]) 9:100]), 0.08), 583s im2double (uint8 ([3; 92]))) 583s ***** test 583s RGB = zeros (100, 1, 3, "uint16"); 583s RGB(:,:,1) = [1:1:100]; 583s RGB(:,:,2) = [2:2:200]; 583s RGB(:,:,3) = [4:4:400]; 583s assert (stretchlim (RGB) , im2double (uint16 ([2 4 8; 99 198 396]))) 583s ***** test 583s im6c = zeros (100, 1, 6, "uint16"); 583s im6c(:,:,1) = [1:1:100]; 583s im6c(:,:,2) = [2:2:200]; 583s im6c(:,:,3) = [4:4:400]; 583s im6c(:,:,4) = [8:8:800]; 583s im6c(:,:,5) = [16:16:1600]; 583s im6c(:,:,6) = [32:32:3200]; 583s assert (stretchlim (im6c) , 583s im2double (uint16 ([2 4 8 16 32 64; 99 198 396 792 1584 3168]))) 583s ***** test 583s im = [0 0 .1 .1 .1 .1 .2 .2 .2 .4 .4 .6 .6 .7 .7 .9 .9 .9 1 1]; 583s 583s assert (stretchlim (im), [0; 1]) 583s 583s ## Consider the returned lower limit in this test. A lower limit 583s ## of 0.1 will saturate two elements (10%), while 0.2 will saturate 583s ## 6 elements (30%). Both have the same distance to 20% but returning 583s ## 0.1 is Matlab compatible. 583s ## Now looking at the higher limit. A limit of .9 will saturate 583s ## 2 elements (10%), while a limit of 0.7 will saturate 5 elements (25%). 583s ## However, for Matlab compatibility we must return .9 even though 583s ## 25% would be closer to 20%. 583s ## Basically, it's not just rounded. 583s assert (stretchlim (im, .2), [0.1; 0.9]) 583s 583s assert (stretchlim (im, .15), [0.1; 0.9]) 583s assert (stretchlim (im, .1), [0.1; 0.9]) 583s assert (stretchlim (im, .25), [0.1; 0.7]) 583s 583s ## Reorder the vector of values (real images don't have the values 583s ## already sorted), just to be sure it all works. 583s im([6 3 16 11 7 17 14 8 5 19 15 1 2 4 18 13 9 20 10 12]) = im; 583s assert (stretchlim (im, .2), [0.1; 0.9]) 583s assert (stretchlim (im, .15), [0.1; 0.9]) 583s assert (stretchlim (im, .1), [0.1; 0.9]) 583s assert (stretchlim (im, .25), [0.1; 0.7]) 583s ***** assert (stretchlim (0.01:.001:1), [0.019; 0.991], eps) 583s ***** assert (stretchlim (0.01:.001:1, [0.01,0.95]), [0.019; 0.951], eps) 583s ***** assert (stretchlim (0.01:.001:1, 0), [0.01; 1]) 583s ***** assert (stretchlim (single (0.01:.001:1)), 583s double (single (0.01:.001:1)([10; 982])).') 583s ***** xtest 583s assert (stretchlim ([(.05:.05:1) (2:4)], 0.2), [0.25; 0.95], eps) 583s assert (stretchlim ([(.05:.05:1) (2:5)], 0.2), [0.25; 1]) 583s assert (stretchlim ([(.05:.05:1) (2:6)], 0.2), [0.3; 1]) 583s assert (stretchlim ([(.05:.05:1) (2:7)], 0.2), [0.3; 1]) 583s ***** test 583s assert (stretchlim ([(-6:0) (.05:.05:1)], 0.2), [0; 0.75], eps) 583s assert (stretchlim ([(-5:0) (.05:.05:1)], 0.2), [0; 0.75], eps) 583s ***** test 583s im = rand (4, 4, 2, 3, 2); 583s rv = zeros (2, 2, 3, 2); 583s for p = 1:2 583s for q = 1:3 583s for r = 1:2 583s rv(:,p,q,r) = stretchlim (im(:,:,p,q,r), 0.25); 583s endfor 583s endfor 583s endfor 583s assert (stretchlim (im, 0.25), rv) 583s ***** test 583s im = rand (4, 4, 2, 3, 2); 583s rv = zeros (2, 2, 3, 2); 583s for p = 1:2 583s for q = 1:3 583s for r = 1:2 583s rv(:,p,q,r) = stretchlim (im(:,:,p,q,r), 0); 583s endfor 583s endfor 583s endfor 583s assert (stretchlim (im, 0), rv) 583s ***** assert (stretchlim (zeros (5)), [0; 1]) 583s ***** assert (stretchlim (ones (5)), [0; 1]) 583s ***** assert (stretchlim (.6 * ones (5)), [0; 1]) 583s ***** assert (stretchlim (zeros (3, 3, 3, 3)), repmat ([0; 1], [1 3 3])) 583s ***** assert (stretchlim ([0 .5 .5 .5 .5 1], .2), [0; 1]) 583s ***** test 583s im = repmat ((magic (5) -1) / 24, [1 1 3 3]); 583s im(:,:,1,1) = 0; 583s im(:,:,2,2) = .5; 583s im(:,:,3,3) = 1; 583s lims = stretchlim (im, 0.2); 583s assert (size (lims), [2 3 3]) 583s assert (lims(:, [2 3 4 6 7 8]), 583s repmat ([(1/24)*round(24*.2); 1-((1/24)*round(24*.2))], [1 6]), eps) 583s assert (lims(:, [1 5 9]), repmat ([0; 1], [1 3])) 583s 45 tests, 45 passed, 0 known failure, 0 skipped 583s [inst/cp2tform.m] 583s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/cp2tform.m 583s ***** function [crw, cap] = coords (npt = 1000, scale = 2, dtheta = pi/3, 583s dx = 2, dy = -6, sig2noise = 1e32) 583s theta = (rand(npt, 1)*2-1)*2*pi; 583s R = rand(npt,1); 583s y = R.*sin(theta); 583s x = R.*cos(theta); 583s crw = [y x]; 583s 583s thetap = theta + dtheta; 583s Rap = R * scale; 583s 583s yap = Rap.*sin(thetap); 583s yap = yap + dy; 583s yap = yap + rand (size (yap)) * norm (yap) / sig2noise; 583s 583s xap = Rap.*cos(thetap); 583s xap = xap + dx; 583s xap = xap + rand (size (xap)) * norm (xap) / sig2noise; 583s cap = [yap xap]; 583s ***** endfunction 583s ***** test 583s npt = 100000; 583s [crw, cap] = coords (npt); 583s ttype = 'projective'; 583s T = cp2tform (crw, cap, ttype); 583s crw2 = tforminv (T, cap); 583s finalerr = norm (crw - crw2)/npt; 583s assert (finalerr < 2*eps, "norm = %3.2e ( > 2*eps)", finalerr) 583s ***** test 583s npt = 100000; 583s [crw, cap] = coords (npt); 583s ttype = 'affine'; 583s T = cp2tform (crw, cap, ttype); 583s crw2 = tforminv (T, cap); 583s finalerr = norm (crw - crw2)/npt; 583s assert (finalerr < 2*eps, "norm = %3.2e ( > 2*eps)", finalerr) 583s ***** xtest 583s npt = 100000; 583s [crw, cap] = coords (npt); 583s ttype = 'nonreflective similarity'; 583s T = cp2tform (crw, cap, ttype); 583s crw2 = tforminv (T, cap); 583s finalerr = norm (crw - crw2)/npt; 583s assert (finalerr < 3*eps, "norm = %3.2e ( > 3*eps)", finalerr) 583s ***** test 583s npt = 100000; 583s [crw, cap] = coords (npt); 583s cap(:,2) *= -1; % reflection around y axis 583s ttype = 'similarity'; 583s T = cp2tform (crw, cap, ttype); 583s crw2 = tforminv (T, cap); 583s finalerr = norm (crw - crw2)/npt; 583s assert (finalerr < 3*eps, "norm = %3.2e ( > 3*eps)", finalerr) 583s ***** xtest 583s npt = 100000; 583s [crw, cap] = coords (npt); 583s ttype = 'polynomial'; 583s ord = 2; 583s T = cp2tform (crw, cap, ttype, ord); 583s crw2 = tforminv (T, cap); 583s finalerr = norm (crw - crw2)/npt; 583s assert (finalerr < eps, "norm = %3.2e ( > eps)", finalerr) 583s ***** xtest 583s npt = 100000; 583s [crw, cap] = coords (npt); 583s ttype = 'polynomial'; 583s ord = 3; 583s T = cp2tform (crw, cap, ttype, ord); 583s crw2 = tforminv (T, cap); 583s finalerr = norm (crw - crw2)/npt; 583s assert (finalerr < eps, "norm = %3.2e ( > eps)", finalerr) 584s ***** xtest 584s npt = 100000; 584s [crw, cap] = coords (npt); 584s ttype = 'polynomial'; 584s ord = 4; 584s T = cp2tform (crw, cap, ttype, ord); 584s crw2 = tforminv (T, cap); 584s finalerr = norm (crw - crw2)/npt; 584s assert (finalerr < 6*eps, "norm = %3.2e ( > 6*eps)", finalerr) 584s 7 tests, 7 passed, 0 known failure, 0 skipped 584s [inst/affine2d.m] 584s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/inst/affine2d.m 584s ***** test 584s theta = 10; 584s A = [cosd(theta) -sind(theta) 0 584s sind(theta) cosd(theta) 0 584s 0 0 1]; 584s tform = affine2d (A); 584s [X, Y] = transformPointsForward (tform, 5, 10); 584s assert (X, 6.6605, 1.e-4) 584s assert (Y, 8.9798, 1.e-4) 584s 584s [U, V] = transformPointsInverse (tform, X, Y); 584s assert (U, 5, 5*eps) 584s assert (V, 10, 9*eps) 584s assert (isRigid (tform)) 584s assert (! isTranslation (tform)) 584s assert (isSimilarity (tform)) 584s ***** test 584s theta = 30; 584s tform = affine2d([ cosd(theta) sind(theta) 0 584s -sind(theta) cosd(theta) 0 584s 0 0 1]); 584s assert (tform.T, [ 0.86603 0.5 0 584s -0.5 0.86603 0 584s 0 0 1], 1.e-5); 584s invtform = invert(tform); 584s assert (invtform.T, [ 0.86603 -0.5 0 584s 0.5 0.86603 0 584s 0 0 1], 1.e-5); 584s assert (isRigid (tform)) 584s assert (! isTranslation (tform)) 584s assert (isSimilarity (tform)) 584s ***** test 584s tform = affine2d ([1 0 0; 0 1 0; 5 10 1]); 584s [X, Y] = transformPointsForward (tform, [1 2; 3 4; 5 6; 7 8]); 584s assert (round (X), [6; 8; 10; 12]) 584s assert (round (Y), [12; 14; 16; 18]) 584s 584s [U, V] = transformPointsInverse (tform, X, Y); 584s assert (round (U), [1; 3; 5; 7]) 584s assert (round (V), [2; 4; 6; 8]) 584s assert (isRigid (tform)) 584s assert (isTranslation (tform)) 584s assert (isSimilarity (tform)) 584s ***** test 584s tform = affine2d ([1 1e-16 0; 1e-16 1 0; 5 10 1]); 584s assert (isRigid (tform)) 584s tform = affine2d ([2 1e-16 0; 1e-16 1 0; 5 10 1]); 584s assert (! isRigid (tform)) 584s ***** test 584s theta = 10; 584s A = [cosd(theta) -sind(theta) 0 584s sind(theta) cosd(theta) 0 584s 0 0 1]; 584s tform = affine2d (A); 584s [xlim, ylim] = outputLimits (tform, [1 240], [1 291]); 584s assert (xlim, [1.1585 286.8855], 1.e-4) 584s assert (ylim, [-40.6908 286.4054], 1.e-4) 584s ***** test 584s A = [1 0 0 584s 0 1 0 584s 40 40 1]; 584s tform = affine2d (A); 584s assert (isRigid (tform)); 584s assert (isSimilarity (tform)); 584s assert (isTranslation (tform)); 584s ***** test 584s a = invert (affine2d ([1 2 0; 3 4 0; 10 20 1])); 584s b = affine2d(a.T); 584s assert (b.T, [-2, 1, 0; 1.5, -0.5, 0; -10, 0, 1], 5*eps) 584s ***** assert (isTranslation (affine2d ([1, 0, 0; 0, 1, 0; 40, 40, 1]))) 584s ***** assert (! isTranslation (affine2d ([1 0 0; 0 -1 0; 0 0 1]))) 584s ***** assert (! isRigid (affine2d ([1 0 0; 0 -1 0; 0 0 1]))) 584s ***** error affine2d ([0 0 0; 0 0 0]) 584s ***** error affine2d ([0 0 0 0 0 0 0 0 1]) 584s ***** error affine2d ([0 0 0; 0 0 0; 0 0 0]) 584s ***** error affine2d ([1 0 0; 0 1 1; 0 0 1]) 584s ***** error affine2d ([0 0 0; 0 0 0; 0 0 1]) 584s ***** error affine2d (1, 2) 584s ***** error outputLimits (affine2d()) 584s ***** test 584s tform = affine2d; 584s assert (tform.T, eye (3)) 584s assert (tform.Dimensionality, 2) 584s 18 tests, 18 passed, 0 known failure, 0 skipped 584s Checking C++ files ... 584s [src/watershed.cc] 584s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/src/watershed.cc 584s ***** test 584s ex = tril (ones (50), -1) + triu (repmat (2, [50 50]), 2); 584s ex(1, 1) = 1; 584s ex(end, end) = 1; 584s 584s in = ones (50); 584s in(end,1) = 0; 584s in(1,end) = 0; 584s assert (watershed (in), ex) 584s ***** test 584s ex = tril (ones (49), -1) + triu (repmat (2, [49 49]), 2); 584s ex(1, 1) = 1; 584s ex(end, end) = 1; 584s 584s in = ones (49); 584s in(end,1) = 0; 584s in(1,end) = 0; 584s assert (watershed (in), ex) 584s 584s c = (fspecial ('disk', 5) > 0) + 1; 584s in(20:30,20:30) = c; 584s c = (fspecial ('disk', 4) > 0) + 2; 584s in(21:29,21:29) = c; 584s assert (watershed (in), ex) 584s ***** test 584s ex = tril (ones (49), -1) + triu (repmat (2, [49 49]), 2); 584s ex(1:28,1:28) = (tril (ones (28) ,7) + triu (repmat (2, [28 28]), 10)); 584s ex(1,9) = 1; 584s ex(end,end) = 1; 584s ex(20:29, 29) = 0; 584s 584s in = ones (49); 584s in(end,1) = 0; 584s in(1,end) = 0; 584s c = (fspecial ("disk", 5) > 0) + 1; 584s in(1:11,38:48) = c; 584s 584s assert (watershed (in), ex) 584s ***** test 584s im = [ 584s 3 4 5 6 0 584s 2 3 4 5 6 584s 1 2 3 4 5 584s 0 1 2 3 4 584s 1 0 1 2 3]; 584s 584s labeled8 = [ 584s 1 1 1 0 2 584s 1 1 1 0 0 584s 1 1 1 1 1 584s 1 1 1 1 1 584s 1 1 1 1 1]; 584s labeled4 = [ 584s 1 1 1 0 3 584s 1 1 1 0 0 584s 1 1 0 2 2 584s 1 0 2 2 2 584s 0 2 2 2 2]; 584s labeled_weird = [ 584s 1 1 1 0 2 584s 1 1 1 1 0 584s 1 1 1 1 1 584s 1 1 1 1 1 584s 1 1 1 1 1]; 584s 584s assert (watershed (im), labeled8); 584s assert (watershed (im, 8), labeled8); 584s assert (watershed (im, 4), labeled4); 584s assert (watershed (im, [1 1 0; 1 1 1; 0 1 1]), labeled_weird); 584s ***** test 584s im = [ 584s 2 3 30 2 584s 3 30 3 30 584s 255 31 30 4 584s 2 255 31 30 584s 1 2 255 5]; 584s 584s labeled4 = [ 584s 1 1 0 4 584s 1 0 3 0 584s 0 2 0 5 584s 2 2 2 0 584s 2 2 0 6]; 584s labeled_weird = [ 584s 1 1 0 3 584s 1 1 1 0 584s 0 1 1 1 584s 2 0 0 0 584s 2 2 0 4]; 584s 584s assert (watershed (im, 4), labeled4); 584s assert (watershed (im, [1 1 0; 1 1 1; 0 1 1]), labeled_weird); 584s ***** xtest 584s ## The following test is required for Matlab compatibility. There must be 584s ## something specific about their implementation that causes it to return 584s ## this value. Even when solving it on paper, we get different results. 584s im = [ 584s 2 3 30 2 584s 3 30 3 30 584s 255 31 30 4 584s 2 255 31 30 584s 1 2 255 5]; 584s 584s labeled8 = [ 584s 1 1 0 3 584s 1 1 0 3 584s 0 0 0 0 584s 2 2 0 4 584s 2 2 0 4]; 584s assert (watershed (im), labeled8); 584s assert (watershed (im, 8), labeled8); 584s !!!!! known failure 584s ASSERT errors for: assert (watershed (im),labeled8) 584s 584s Location | Observed | Expected | Reason 584s (3,4) 3 0 Abs err 3 exceeds tol 0 by 3 584s (4,4) 0 4 Abs err 4 exceeds tol 0 by 4 584s ***** test 584s im = [ 584s 2 2 2 2 2 2 2 584s 2 2 30 30 30 2 2 584s 2 30 20 20 20 30 2 584s 40 40 20 20 20 40 40 584s 1 40 20 20 20 40 0 584s 1 1 40 20 40 0 0 584s 1 1 1 20 0 0 0]; 584s 584s labeled8 = [ 584s 1 1 1 1 1 1 1 584s 1 1 1 1 1 1 1 584s 1 1 1 1 1 1 1 584s 0 0 0 0 0 0 0 584s 2 2 2 0 3 3 3 584s 2 2 2 0 3 3 3 584s 2 2 2 0 3 3 3]; 584s labeled4 = [ 584s 1 1 1 1 1 1 1 584s 1 1 1 1 1 1 1 584s 1 1 1 1 1 1 1 584s 0 1 1 1 1 1 0 584s 2 0 1 1 1 0 3 584s 2 2 0 1 0 3 3 584s 2 2 2 0 3 3 3]; 584s labeled_weird = [ 584s 1 1 1 1 1 1 1 584s 1 1 1 1 1 1 1 584s 1 1 1 1 1 1 1 584s 0 1 1 0 0 0 0 584s 2 0 0 0 3 3 3 584s 2 2 0 3 3 3 3 584s 2 2 2 0 3 3 3]; 584s 584s assert (watershed (im), labeled8); 584s assert (watershed (im, 8), labeled8); 584s assert (watershed (im, 4), labeled4); 584s assert (watershed (im, [1 1 0; 1 1 1; 0 1 1]), labeled_weird); 584s ***** test 584s im = [ 584s 40 40 40 40 40 40 40 40 40 40 40 40 40 584s 40 3 3 5 5 5 10 10 10 10 15 20 40 584s 40 3 3 5 5 30 30 30 10 15 15 20 40 584s 40 3 3 5 30 20 20 20 30 15 15 20 40 584s 40 40 40 40 40 20 20 20 40 40 40 40 40 584s 40 10 10 10 40 20 20 20 40 10 10 10 40 584s 40 5 5 5 10 40 20 40 10 10 5 5 40 584s 40 1 3 5 10 15 20 15 10 5 1 0 40 584s 40 1 3 5 10 15 20 15 10 5 1 0 40 584s 40 40 40 40 40 40 40 40 40 40 40 40 40]; 584s 584s labeled8 = [ 584s 1 1 1 1 1 1 1 1 1 1 1 1 1 584s 1 1 1 1 1 1 1 1 1 1 1 1 1 584s 1 1 1 1 1 1 1 1 1 1 1 1 1 584s 1 1 1 1 1 1 1 1 1 1 1 1 1 584s 0 0 0 0 0 0 0 0 0 0 0 0 0 584s 2 2 2 2 2 2 0 3 3 3 3 3 3 584s 2 2 2 2 2 2 0 3 3 3 3 3 3 584s 2 2 2 2 2 2 0 3 3 3 3 3 3 584s 2 2 2 2 2 2 0 3 3 3 3 3 3 584s 2 2 2 2 2 2 0 3 3 3 3 3 3]; 584s labeled4 = [ 584s 1 1 1 1 1 1 1 1 1 1 1 1 1 584s 1 1 1 1 1 1 1 1 1 1 1 1 1 584s 1 1 1 1 1 1 1 1 1 1 1 1 1 584s 1 1 1 1 1 1 1 1 1 1 1 1 1 584s 0 0 0 0 1 1 1 1 1 0 0 0 0 584s 2 2 2 2 0 1 1 1 0 3 3 3 3 584s 2 2 2 2 2 0 1 0 3 3 3 3 3 584s 2 2 2 2 2 2 0 3 3 3 3 3 3 584s 2 2 2 2 2 2 0 3 3 3 3 3 3 584s 2 2 2 2 2 2 0 3 3 3 3 3 3]; 584s labeled_weird = [ 584s 1 1 1 1 1 1 1 1 1 1 1 1 1 584s 1 1 1 1 1 1 1 1 1 1 1 1 1 584s 1 1 1 1 1 1 1 1 1 1 1 1 1 584s 1 1 1 1 1 1 1 1 1 1 1 1 1 584s 0 0 0 0 1 1 0 0 0 0 0 0 0 584s 2 2 2 2 0 0 0 3 3 3 3 3 3 584s 2 2 2 2 2 0 3 3 3 3 3 3 3 584s 2 2 2 2 2 2 0 3 3 3 3 3 3 584s 2 2 2 2 2 2 0 3 3 3 3 3 3 584s 2 2 2 2 2 2 0 3 3 3 3 3 3]; 584s 584s assert (watershed (im), labeled8); 584s assert (watershed (im, 8), labeled8); 584s assert (watershed (im, 4), labeled4); 584s assert (watershed (im, [1 1 0; 1 1 1; 0 1 1]), labeled_weird); 584s ***** xtest 584s ## This test is failing for Matlab compatibility 584s im_full = [ 584s 1 2 10 3 8 7 5 584s 3 2 5 10 8 1 4 584s 1 8 2 3 8 3 6]; 584s 584s matlab_result_full = [ 584s 1 1 0 3 0 4 4 584s 0 0 0 0 0 4 4 584s 2 2 2 0 4 4 4]; 584s 584s assert (watershed (im_full), matlab_result_full); 584s 584s im_crop = [ 584s 2 10 3 8 7 5 584s 2 5 10 8 1 4 584s 8 2 3 8 3 6]; 584s 584s matlab_result_crop = [ 584s 1 0 2 0 3 3 584s 1 0 0 0 3 3 584s 1 1 1 0 3 3]; 584s 584s assert (watershed (im_crop), matlab_result_crop); 584s !!!!! known failure 584s ASSERT errors for: assert (watershed (im_full),matlab_result_full) 584s 584s Location | Observed | Expected | Reason 584s (3,4) 2 0 Abs err 2 exceeds tol 0 by 2 584s (3,5) 0 4 Abs err 4 exceeds tol 0 by 4 584s 9 tests, 7 passed, 2 known failures, 0 skipped 584s [src/bwfill.cc] 584s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/src/bwfill.cc 584s ***** test 584s A = [0 1 0 0 1; 1 0 1 0 0; 1 0 1 1 0; 1 1 1 0 0; 1 0 0 1 0]; 584s R4 = logical(ones(5)); 584s R8 = logical([1 1 0 0 1; 1 0 1 0 0; 1 0 1 1 0; 1 1 1 0 0; 1 0 0 1 0]); 584s assert (bwfill (A,1,1,4), R4) 584s assert (bwfill (A,1,1,8), R8) 584s assert (bwfill (A,1,1), R8) 584s B = logical([0 1 0 0 1; 1 0 1 0 0; 1 0 1 1 0; 1 1 1 0 0; 1 0 0 1 0]); 584s assert (bwfill (A,3,3,4), B) 584s assert (bwfill (A,3,3,8), B) 584s assert (bwfill (A,3,3), B) 584s C = logical ([0 1 1 1 1; 1 0 1 1 1; 1 0 1 1 1; 1 1 1 1 1; 1 0 0 1 1]); 584s assert (bwfill (A,3,1,8), C) 584s assert (bwfill (A,3,1,4), R4) 584s assert (bwfill (A, [3 1], [1 3], 4), R4); 584s D = logical([0 1 1 1 1; 1 0 1 1 1; 1 0 1 1 1; 1 1 1 1 1; 1 0 0 1 1]); 584s assert (bwfill (A, [3 1], [1 3], 8), D); 584s assert (bwfill (A, [3 1], [1 3]), D); 584s E = logical ([0 1 0 0 1; 1 0 1 0 0; 1 0 1 1 0; 1 1 1 0 0; 1 0 0 1 0]); 584s assert (bwfill (A, "holes", 4), E); 584s F = logical ([1 1 0 0 1; 1 1 1 0 0; 1 1 1 1 0; 1 1 1 0 0; 1 0 0 1 0]); 584s assert (bwfill (A, "holes", 8), F); 584s assert (bwfill (A, "holes"), F); 584s ***** error id=Octave:invalid-fun-call bwfill () 584s ***** error id=Octave:invalid-fun-call bwfill ("aaa") 585s ***** error id=Octave:invalid-fun-call bwfill (rand (5) > 0.5) 585s ***** error id=Octave:invalid-fun-call bwfill (rand (5) > 0.5, 2) 585s ***** error bwfill (rand (5) > 0.5, "holes", 1) 585s ***** error bwfill (rand (5) > 0.5, 2, 2, 5) 585s ***** error id=Octave:invalid-fun-call bwfill (rand (5) > 0.5, "xxx") 585s ***** error id=Octave:invalid-fun-call bwfill (rand (5) > 0.5, 2, 2, 4, 5) 585s ***** error id=Octave:invalid-fun-call bwfill (rand (5) > 0.5, "holes", 4, 2) 585s 10 tests, 10 passed, 0 known failure, 0 skipped 585s [src/bwlabeln.cc] 585s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/src/bwlabeln.cc 585s ***** shared a2d, a3d 585s a2d = [1 0 0 0 0 0 1 0 0 1 585s 1 0 0 1 0 1 0 1 0 1 585s 1 0 1 0 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 1 0 0 0 0 0 0 0 0 585s 1 1 0 1 1 1 0 0 0 0 585s 1 1 0 1 0 0 0 1 0 0 585s 1 1 0 0 0 0 1 0 1 0 585s 1 1 0 0 0 0 0 0 0 0 585s 1 1 0 0 0 1 1 0 0 1]; 585s 585s a3d = a2d; 585s a3d(:,:,2) = [ 585s 0 0 0 0 0 0 0 0 0 0 585s 1 0 0 1 1 0 0 1 0 0 585s 0 0 0 1 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 1 0 0 0 0 0 0 0 0 585s 1 1 0 0 1 1 0 0 0 0 585s 1 1 0 1 0 0 0 0 0 0 585s 1 0 0 0 0 0 1 0 0 0 585s 0 1 0 0 0 0 0 0 0 1 585s 1 1 0 0 0 0 1 0 0 0]; 585s 585s a3d(:,:,3) = [ 585s 1 0 0 0 0 0 0 0 0 0 585s 0 1 0 1 1 0 0 1 0 0 585s 0 0 0 1 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 0 0 1 1 1 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 1 0 0 0 0 0 0 0 0 0 585s 1 1 0 0 0 0 0 0 0 1 585s 1 1 0 0 0 0 0 0 0 0]; 585s ***** test 585s label2dc4 = [ 585s 1 0 0 0 0 0 8 0 0 13 585s 1 0 0 4 0 6 0 10 0 13 585s 1 0 3 0 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 2 0 0 0 0 0 0 0 0 585s 2 2 0 5 5 5 0 0 0 0 585s 2 2 0 5 0 0 0 11 0 0 585s 2 2 0 0 0 0 9 0 12 0 585s 2 2 0 0 0 0 0 0 0 0 585s 2 2 0 0 0 7 7 0 0 14]; 585s assert (bwlabeln (a2d, 4), label2dc4) 585s assert (bwlabeln (a2d, [0 1 0; 1 1 1; 0 1 0]), label2dc4) 585s assert (bwlabeln (a2d, conndef (2, "minimal")), label2dc4) 585s assert (bwlabeln (a2d, conndef (3, "minimal")), label2dc4) 585s ***** test 585s label2dc8 = [ 585s 1 0 0 0 0 0 5 0 0 8 585s 1 0 0 3 0 5 0 5 0 8 585s 1 0 3 0 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 2 0 0 0 0 0 0 0 0 585s 2 2 0 4 4 4 0 0 0 0 585s 2 2 0 4 0 0 0 7 0 0 585s 2 2 0 0 0 0 7 0 7 0 585s 2 2 0 0 0 0 0 0 0 0 585s 2 2 0 0 0 6 6 0 0 9]; 585s assert (bwlabeln (a2d, 8), label2dc8) 585s assert (bwlabeln (a2d, ones (3)), label2dc8) 585s assert (bwlabeln (a2d, conndef (2, "maximal")), label2dc8) 585s assert (bwlabeln (a2d, conndef (3, "maximal")), label2dc8) 585s ***** test 585s label3dc8 = [ 585s 1 0 0 0 0 0 5 0 0 8 585s 1 0 0 3 0 5 0 5 0 8 585s 1 0 3 0 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 2 0 0 0 0 0 0 0 0 585s 2 2 0 4 4 4 0 0 0 0 585s 2 2 0 4 0 0 0 7 0 0 585s 2 2 0 0 0 0 7 0 7 0 585s 2 2 0 0 0 0 0 0 0 0 585s 2 2 0 0 0 6 6 0 0 9]; 585s label3dc8(:,:,2) = [ 585s 0 0 0 0 0 0 0 0 0 0 585s 10 0 0 12 12 0 0 16 0 0 585s 0 0 0 12 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 11 0 0 0 0 0 0 0 0 585s 11 11 0 0 13 13 0 0 0 0 585s 11 11 0 13 0 0 0 0 0 0 585s 11 0 0 0 0 0 14 0 0 0 585s 0 11 0 0 0 0 0 0 0 17 585s 11 11 0 0 0 0 15 0 0 0]; 585s label3dc8(:,:,3) = [ 585s 18 0 0 0 0 0 0 0 0 0 585s 0 18 0 20 20 0 0 22 0 0 585s 0 0 0 20 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 0 0 21 21 21 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 19 0 0 0 0 0 0 0 0 0 585s 19 19 0 0 0 0 0 0 0 23 585s 19 19 0 0 0 0 0 0 0 0]; 585s assert (bwlabeln (a3d, 8), label3dc8) 585s assert (bwlabeln (a3d, ones (3, 3)), label3dc8) 585s assert (bwlabeln (a3d, conndef (2, "maximal")), label3dc8) 585s ***** test 585s label3dc26 = [ 585s 1 0 0 0 0 0 3 0 0 7 585s 1 0 0 3 0 3 0 3 0 7 585s 1 0 3 0 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 2 0 0 0 0 0 0 0 0 585s 2 2 0 4 4 4 0 0 0 0 585s 2 2 0 4 0 0 0 6 0 0 585s 2 2 0 0 0 0 6 0 6 0 585s 2 2 0 0 0 0 0 0 0 0 585s 2 2 0 0 0 5 5 0 0 6]; 585s label3dc26(:,:,2) = [ 585s 0 0 0 0 0 0 0 0 0 0 585s 1 0 0 3 3 0 0 3 0 0 585s 0 0 0 3 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 2 0 0 0 0 0 0 0 0 585s 2 2 0 0 4 4 0 0 0 0 585s 2 2 0 4 0 0 0 0 0 0 585s 2 0 0 0 0 0 6 0 0 0 585s 0 2 0 0 0 0 0 0 0 6 585s 2 2 0 0 0 0 5 0 0 0]; 585s label3dc26(:,:,3) = [ 585s 1 0 0 0 0 0 0 0 0 0 585s 0 1 0 3 3 0 0 3 0 0 585s 0 0 0 3 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 0 0 4 4 4 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 2 0 0 0 0 0 0 0 0 0 585s 2 2 0 0 0 0 0 0 0 6 585s 2 2 0 0 0 0 0 0 0 0]; 585s assert (bwlabeln (a3d, 26), label3dc26) 585s assert (bwlabeln (a3d, ones (3, 3, 3)), label3dc26) 585s assert (bwlabeln (a3d, conndef (3, "maximal")), label3dc26) 585s ***** test 585s label3dc18 = [ 585s 1 0 0 0 0 0 3 0 0 7 585s 1 0 0 3 0 3 0 3 0 7 585s 1 0 3 0 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 2 0 0 0 0 0 0 0 0 585s 2 2 0 4 4 4 0 0 0 0 585s 2 2 0 4 0 0 0 6 0 0 585s 2 2 0 0 0 0 6 0 6 0 585s 2 2 0 0 0 0 0 0 0 0 585s 2 2 0 0 0 5 5 0 0 8]; 585s label3dc18(:,:,2) = [ 585s 0 0 0 0 0 0 0 0 0 0 585s 1 0 0 3 3 0 0 3 0 0 585s 0 0 0 3 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 2 0 0 0 0 0 0 0 0 585s 2 2 0 0 4 4 0 0 0 0 585s 2 2 0 4 0 0 0 0 0 0 585s 2 0 0 0 0 0 6 0 0 0 585s 0 2 0 0 0 0 0 0 0 8 585s 2 2 0 0 0 0 5 0 0 0]; 585s label3dc18(:,:,3) = [ 585s 1 0 0 0 0 0 0 0 0 0 585s 0 1 0 3 3 0 0 3 0 0 585s 0 0 0 3 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 0 0 4 4 4 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 2 0 0 0 0 0 0 0 0 0 585s 2 2 0 0 0 0 0 0 0 8 585s 2 2 0 0 0 0 0 0 0 0]; 585s assert (bwlabeln (a3d, 18), label3dc18) 585s ***** test 585s label2dc3 = [ 585s 1 0 0 0 0 0 11 0 0 17 585s 1 0 0 5 0 8 0 14 0 17 585s 1 0 4 0 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 3 0 0 0 0 0 0 0 0 585s 2 3 0 6 7 9 0 0 0 0 585s 2 3 0 6 0 0 0 15 0 0 585s 2 3 0 0 0 0 12 0 16 0 585s 2 3 0 0 0 0 0 0 0 0 585s 2 3 0 0 0 10 13 0 0 18]; 585s assert (bwlabeln (a2d, [1 1 1]'), label2dc3) 585s 585s label3dc3 = label2dc3; 585s label3dc3(:,:,2) = [ 585s 0 0 0 0 0 0 0 0 0 0 585s 19 0 0 24 26 0 0 31 0 0 585s 0 0 0 24 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 22 0 0 0 0 0 0 0 0 585s 20 22 0 0 27 28 0 0 0 0 585s 20 22 0 25 0 0 0 0 0 0 585s 20 0 0 0 0 0 29 0 0 0 585s 0 23 0 0 0 0 0 0 0 32 585s 21 23 0 0 0 0 30 0 0 0]; 585s label3dc3(:,:,3) = [ 585s 33 0 0 0 0 0 0 0 0 0 585s 0 35 0 37 39 0 0 42 0 0 585s 0 0 0 37 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 0 0 0 38 40 41 0 0 0 0 585s 0 0 0 0 0 0 0 0 0 0 585s 34 0 0 0 0 0 0 0 0 0 585s 34 36 0 0 0 0 0 0 0 43 585s 34 36 0 0 0 0 0 0 0 0]; 585s assert (bwlabeln (a3d, [1 1 1]'), label3dc3) 585s ***** test 585s label2dc1 = zeros (size (a2d)); 585s label2dc1(a2d != 0) = 1:nnz (a2d); 585s assert (bwlabeln (a2d, [1]), label2dc1); 585s assert (bwlabeln (a2d, [0 1 0]'), label2dc1); 585s 585s label3dc1 = zeros (size (a3d)); 585s label3dc1(a3d != 0) = 1:nnz (a3d); 585s assert (bwlabeln (a3d, [1]), label3dc1); 585s assert (bwlabeln (a3d, [0 1 0]'), label3dc1); 585s ***** shared in 585s in = rand (10) > 0.8; 586s ***** assert (bwlabel (in, 4), bwlabeln (in, 4)); 586s ***** assert (bwlabel (in, 4), bwlabeln (in, [0 1 0; 1 1 1; 0 1 0])); 586s ***** assert (bwlabel (in, 8), bwlabeln (in, 8)); 586s ***** assert (bwlabel (in, 8), bwlabeln (in, [1 1 1; 1 1 1; 1 1 1])); 586s ***** assert (bwlabel (logical ([0 1 0; 0 0 0; 1 0 1])), [0 2 0; 0 0 0; 1 0 3]); 586s ***** assert (bwlabel ([0 1 0; 0 0 0; 1 0 1]), [0 2 0; 0 0 0; 1 0 3]); 586s ***** assert (bwlabel ([0 -1 0; 0 0 0; 5 0 0.2]), [0 2 0; 0 0 0; 1 0 3]); 586s ***** shared in, out 586s 586s in = [ 0 1 1 0 0 1 0 0 0 0 586s 0 0 0 1 0 0 0 0 0 1 586s 0 1 1 0 0 0 0 0 1 1 586s 1 0 0 0 0 0 0 1 0 0 586s 0 0 0 0 0 1 1 0 0 0 586s 0 0 0 0 0 0 0 0 0 0 586s 0 0 0 1 0 0 0 0 0 0 586s 0 0 0 0 1 1 0 1 0 0 586s 0 0 0 1 0 1 0 1 0 1 586s 1 1 0 0 0 0 0 1 1 0]; 586s 586s out = [ 0 3 3 0 0 9 0 0 0 0 586s 0 0 0 5 0 0 0 0 0 13 586s 0 4 4 0 0 0 0 0 13 13 586s 1 0 0 0 0 0 0 11 0 0 586s 0 0 0 0 0 10 10 0 0 0 586s 0 0 0 0 0 0 0 0 0 0 586s 0 0 0 6 0 0 0 0 0 0 586s 0 0 0 0 8 8 0 12 0 0 586s 0 0 0 7 0 8 0 12 0 14 586s 2 2 0 0 0 0 0 12 12 0]; 586s ***** assert (nthargout ([1 2], @bwlabel, in, 4), {out, 14}); 586s ***** assert (nthargout ([1 2], @bwlabel, logical (in), 4), {out, 14}); 586s 586s out = [ 0 3 3 0 0 7 0 0 0 0 586s 0 0 0 3 0 0 0 0 0 11 586s 0 4 4 0 0 0 0 0 11 11 586s 1 0 0 0 0 0 0 9 0 0 586s 0 0 0 0 0 8 8 0 0 0 586s 0 0 0 0 0 0 0 0 0 0 586s 0 0 0 5 0 0 0 0 0 0 586s 0 0 0 0 5 5 0 10 0 0 586s 0 0 0 6 0 5 0 10 0 12 586s 2 2 0 0 0 0 0 10 10 0]; 586s ***** assert (nthargout ([1 2], @bwlabel, in, 6), {out, 12}); 586s ***** assert (nthargout ([1 2], @bwlabel, logical (in), 6), {out, 12}); 586s 586s ## The labeled image is not the same as Matlab, but they are 586s ## labeled correctly. Do we really need to get them properly 586s ## ordered? (the algorithm in bwlabeln does it) 586s mout = [0 1 1 0 0 4 0 0 0 0 586s 0 0 0 1 0 0 0 0 0 5 586s 0 1 1 0 0 0 0 0 5 5 586s 1 0 0 0 0 0 0 5 0 0 586s 0 0 0 0 0 5 5 0 0 0 586s 0 0 0 0 0 0 0 0 0 0 586s 0 0 0 3 0 0 0 0 0 0 586s 0 0 0 0 3 3 0 6 0 0 586s 0 0 0 3 0 3 0 6 0 6 586s 2 2 0 0 0 0 0 6 6 0]; 586s 586s out = [ 0 2 2 0 0 4 0 0 0 0 586s 0 0 0 2 0 0 0 0 0 5 586s 0 2 2 0 0 0 0 0 5 5 586s 2 0 0 0 0 0 0 5 0 0 586s 0 0 0 0 0 5 5 0 0 0 586s 0 0 0 0 0 0 0 0 0 0 586s 0 0 0 3 0 0 0 0 0 0 586s 0 0 0 0 3 3 0 6 0 0 586s 0 0 0 3 0 3 0 6 0 6 586s 1 1 0 0 0 0 0 6 6 0]; 586s ***** assert (nthargout ([1 2], @bwlabel, in, 8), {out, 6}); 586s ***** assert (nthargout ([1 2], @bwlabel, logical (in), 8), {out, 6}); 586s 586s ***** error bwlabel (rand (10, 10, 10) > 0.8, 4) 586s ***** error bwlabel (rand (10) > 0.8, "text") 586s ***** error bwlabel ("text", 6) 586s 23 tests, 23 passed, 0 known failure, 0 skipped 586s [src/graycomatrix.cc] 586s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/src/graycomatrix.cc 586s ***** shared a 586s ***** test 586s a = [0 0 0 1 2; 586s 1 1 0 1 1; 586s 2 2 1 0 0; 586s 1 1 0 2 0; 586s 0 0 1 0 1]; 586s squeeze(graycomatrix(a, 3, 1, -pi/4)) == [4 2 0; 586s 2 3 2; 586s 1 2 0]; 586s 586s ***** assert(size(graycomatrix(a, 3, 1:5, [0:3]*-pi/4)), [3, 3, 5, 4]) 586s ***** demo 586s 586s # Pattern Recognition Engineering (Nadler & Smith) 586s # Digital Image Processing (Gonzales & Woods), p. 668 586s 586s a = [0 0 0 1 2; 586s 1 1 0 1 1; 586s 2 2 1 0 0; 586s 1 1 0 2 0; 586s 0 0 1 0 1]; 586s 586s graycomatrix(a, 3, 1, [0 1]*-pi/4) 586s 586s 2 tests, 2 passed, 0 known failure, 0 skipped 586s [src/bwdist.cc] 586s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/src/bwdist.cc 586s ***** shared bw 586s 586s bw = [0 1 0 1 0 1 1 0 586s 0 0 0 1 1 0 0 0 586s 0 0 0 1 1 0 0 0 586s 0 0 0 1 1 0 0 0 586s 0 0 1 1 1 1 1 1 586s 1 1 1 1 0 0 0 1 586s 1 1 1 0 0 0 1 0 586s 0 0 1 0 0 0 1 1]; 586s ***** test 586s out = [ 1.00000 0.00000 1.00000 0.00000 1.00000 0.00000 0.00000 1.00000 586s 1.41421 1.00000 1.00000 0.00000 0.00000 1.00000 1.00000 1.41421 586s 2.23607 2.00000 1.00000 0.00000 0.00000 1.00000 2.00000 2.00000 586s 2.00000 1.41421 1.00000 0.00000 0.00000 1.00000 1.00000 1.00000 586s 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 586s 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 0.00000 586s 0.00000 0.00000 0.00000 1.00000 1.41421 1.00000 0.00000 1.00000 586s 1.00000 1.00000 0.00000 1.00000 2.00000 1.00000 0.00000 0.00000]; 586s out = single (out); 586s 586s assert (bwdist (bw), out, 0.0001); # default is euclidean 586s assert (bwdist (bw, "euclidean"), out, 0.0001); 586s assert (bwdist (logical (bw), "euclidean"), out, 0.0001); 586s ***** test 586s out = [ 1 0 1 0 1 0 0 1 586s 1 1 1 0 0 1 1 1 586s 2 2 1 0 0 1 2 2 586s 2 1 1 0 0 1 1 1 586s 1 1 0 0 0 0 0 0 586s 0 0 0 0 1 1 1 0 586s 0 0 0 1 1 1 0 1 586s 1 1 0 1 2 1 0 0]; 586s out = single (out); 586s 586s assert (bwdist (bw, "chessboard"), out); 586s ***** test 586s out = [ 1 0 1 0 1 0 0 1 586s 2 1 1 0 0 1 1 2 586s 3 2 1 0 0 1 2 2 586s 2 2 1 0 0 1 1 1 586s 1 1 0 0 0 0 0 0 586s 0 0 0 0 1 1 1 0 586s 0 0 0 1 2 1 0 1 586s 1 1 0 1 2 1 0 0]; 586s out = single (out); 586s 586s assert (bwdist (bw, "cityblock"), out); 586s ***** test 586s out = [ 1.00000 0.00000 1.00000 0.00000 1.00000 0.00000 0.00000 1.00000 586s 1.41421 1.00000 1.00000 0.00000 0.00000 1.00000 1.00000 1.41421 586s 2.41421 2.00000 1.00000 0.00000 0.00000 1.00000 2.00000 2.00000 586s 2.00000 1.41421 1.00000 0.00000 0.00000 1.00000 1.00000 1.00000 586s 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 586s 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 0.00000 586s 0.00000 0.00000 0.00000 1.00000 1.41421 1.00000 0.00000 1.00000 586s 1.00000 1.00000 0.00000 1.00000 2.00000 1.00000 0.00000 0.00000]; 586s out = single (out); 586s 586s assert (bwdist (bw, "quasi-euclidean"), out, 0.0001); 586s 586s bw(logical (bw)) = 3; # there is no actual check if matrix is binary or 0 and 1 586s assert (bwdist (bw, "quasi-euclidean"), out, 0.0001); 586s 586s bw(logical (bw)) = -2; # anything non-zero is considered object 586s assert (bwdist (bw, "quasi-euclidean"), out, 0.0001); 586s ***** test 586s bw = [ 1 1 1 1 0 1 1 1 1 586s 1 1 1 1 0 1 1 1 1 586s 1 1 0 1 1 1 1 1 1 586s 0 1 1 1 1 1 1 1 1]; 586s 586s dist = [ 0 0 0 0 1 0 0 0 0 586s 0 0 0 0 1 0 0 0 0 586s 0 0 1 0 0 0 0 0 0 586s 1 0 0 0 0 0 0 0 0]; 586s dist = single (dist); 586s 586s c = [ 1 5 9 13 13 21 25 29 33 586s 2 6 10 14 14 22 26 30 34 586s 3 7 10 15 19 23 27 31 35 586s 8 8 12 16 20 24 28 32 36]; 586s c = uint32 (c); 586s 586s [dout, cout] = bwdist (bw, "euclidean"); 586s assert (dout, dist) 586s assert (cout, c) 586s ***** test 586s bw = [ 0 1 1 0 0 0 1 0 586s 0 0 0 0 0 0 0 0 586s 1 1 0 0 0 0 0 0 586s 0 0 0 0 0 0 1 0 586s 0 0 0 0 1 0 0 1 586s 0 0 0 0 0 0 0 0 586s 1 0 0 0 0 0 0 0 586s 0 0 1 0 0 1 1 0]; 586s out = single ([ 586s 1.00000 0.00000 0.00000 1.00000 2.00000 1.00000 0.00000 1.00000 586s 1.00000 1.00000 1.00000 sqrt(2) sqrt(2)+1 sqrt(2) 1.00000 sqrt(2) 586s 0.00000 0.00000 1.00000 2.00000 2.00000 sqrt(2) 1.00000 sqrt(2) 586s 1.00000 1.00000 sqrt(2) sqrt(2) 1.00000 1.00000 0.00000 1.00000 586s 2.00000 2.00000 2.00000 1.00000 0.00000 1.00000 1.00000 0.00000 586s 1.00000 sqrt(2) 2.00000 sqrt(2) 1.00000 sqrt(2) sqrt(2) 1.00000 586s 0.00000 1.00000 1.00000 sqrt(2) sqrt(2) 1.00000 1.00000 sqrt(2) 586s 1.00000 1.00000 0.00000 1.00000 1.00000 0.00000 0.00000 1.00000 586s ]); 586s assert (bwdist (bw, "quasi-euclidean"), out); 586s ***** error bwdist (bw, "not a valid method"); 586s ***** test 586s ## Special case of there being no foreground element (bug #50874) 586s expected_dist = single (Inf (2, 2)); 586s expected_idx = uint32 ([0 0; 0 0]); 586s 586s [dist, idx] = bwdist (false (2, 2)); 586s assert (dist, expected_dist) 586s assert (idx, expected_idx) 586s 586s [dist, idx] = bwdist (zeros (2, 2)); 586s assert (dist, expected_dist) 586s assert (idx, expected_idx) 586s ***** test 586s ## Special case of 1D input (bug #50874) 586s assert (bwdist ([1 0]), single ([0 1])) 586s assert (bwdist ([1 0]'), single ([0 1]')) 586s assert (bwdist ([0 1 0 0 0 0 1 1]), single ([1 0 1 2 2 1 0 0])) 586s assert (bwdist ([1 1 0 0 0 0 1 1]'), single ([0 0 1 2 2 1 0 0])') 586s assert (bwdist ([1 0], "euclidean"), single ([0 1])) 586s assert (bwdist ([1 0], "chessboard"), single ([0 1])) 586s assert (bwdist ([1 0], "cityblock"), single ([0 1])) 586s assert (bwdist ([1 0], "quasi-euclidean"), single ([0 1])) 586s ***** test 586s ## test 1D input with 2nd output argument (indices) (bug #50874) 586s expected_dist = single ([1 0 1]); 586s expected_idx = uint32 ([2 2 2]); 586s 586s [dist, idx] = bwdist ([0 1 0]); 586s assert (dist, expected_dist) 586s assert (idx, expected_idx) 586s 586s [dist, idx] = bwdist ([0 1 0]'); 586s assert (dist, expected_dist') 586s assert (idx, expected_idx') 586s 586s expected_dist = single ([0 0 1 0 0]); 586s expected_idx = uint32 ([1 2 2 4 5]); 586s [dist, idx] = bwdist ([1 1 0 1 1]); 586s assert (dist, expected_dist) 586s assert (idx, expected_idx) 586s 586s expected_dist = single ([1 0 1 2 1 0 0 0 1 1 0 0 0 0 1 2 3 4]); 586s expected_idx = uint32 ([2 2 2 2 6 6 7 8 8 11 11 12 13 14 14 14 14 14]); 586s [dist, idx] = bwdist ([0 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0]); 586s assert (dist, expected_dist) 586s assert (idx, expected_idx) 586s 586s expected_dist = single ([0 0 1 2 1 0 0 0 1 1 0 0 0 0 1 2 1 0]); 586s expected_idx = uint32 ([1 2 2 2 6 6 7 8 8 11 11 12 13 14 14 14 18 18]); 586s [dist, idx] = bwdist ([1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 1]); 586s assert (dist, expected_dist) 586s assert (idx, expected_idx) 586s ***** test 586s assert (bwdist ([0 0]), single ([Inf, Inf])) 586s assert (bwdist ([0 0]'), single ([Inf, Inf]')) 586s ***** xtest 586s ## This is Matlab incompatible because the bottom right corners is 586s ## equally distant to the top right and bottom left corners. However, 586s ## both are correct answers, and the returned value is just 586s ## implementation dependent. 586s bw = logical ([ 586s 0 0 1 586s 0 0 0 586s 1 0 0 586s ]); 586s expected_dist = single ([ 586s 2.0 1.0 0.0 586s 1.0 sqrt(2) 1.0 586s 0.0 1.0 2.0 586s ]); 586s expected_idx = uint32 ([ 586s 3 7 7 586s 3 3 7 586s 3 3 3 586s ]); 586s [dist, idx] = bwdist (bw); 586s assert (dist, expected_dist) 586s assert (idx, expected_idx) 586s !!!!! known failure 586s ASSERT errors for: assert (idx,expected_idx) 586s 586s Location | Observed | Expected | Reason 586s (3,3) 7 3 Abs err 4 exceeds tol 0 by 4 586s 12 tests, 11 passed, 1 known failure, 0 skipped 586s [src/intlut.cc] 586s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/src/intlut.cc 586s ***** assert (intlut (uint8 (1:4), uint8 ( 255:-1:0)), uint8 (254:-1:251)); 586s ***** assert (intlut (uint16 (1:4), uint16 (65535:-1:0)), uint16 (65534:-1:65531)); 586s ***** assert (intlut (int16 (1:4), int16 (32767:-1:-32768)), int16 (-2:-1:-5)); 586s ***** assert (intlut (uint8 (255), uint8 (0:255)), uint8 (255)); 586s ***** assert (intlut (uint16 (65535), uint16 (0:65535)), uint16 (65535)); 586s ***** assert (intlut (int16 (32767), int16 (-32768:32767)), int16 (32767)); 586s ***** error intlut () 586s ***** error intlut ("text") 586s ***** error intlut (1:20, uint8 (0:255)); 586s ***** error intlut (uint16 (1:20), uint8 (0:255)); 586s ***** error intlut (uint8 (1:20), uint8 (0:200)); 586s ***** error intlut (uint16 (1:20), uint16 (0:500)); 586s ***** error intlut (uint8 (56), uint8 (magic (16) -1)) 586s 13 tests, 13 passed, 0 known failure, 0 skipped 586s [src/conndef.cc] 586s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/src/conndef.cc 586s ***** assert (conndef (1, "minimal"), [1; 1; 1]); 586s ***** assert (conndef (2, "minimal"), [0 1 0; 1 1 1; 0 1 0]); 586s ***** test 586s C = zeros (3, 3, 3); 586s C(:,2,2) = 1; 586s C(2,:,2) = 1; 586s C(2,2,:) = 1; 586s assert (conndef (3, "minimal"), C); 586s ***** test 586s C = zeros (3, 3, 3, 3); 586s C(:,:,2,1) = [0 0 0 586s 0 1 0 586s 0 0 0]; 586s C(:,:,1,2) = [0 0 0 586s 0 1 0 586s 0 0 0]; 586s C(:,:,2,2) = [0 1 0 586s 1 1 1 586s 0 1 0]; 586s C(:,:,3,2) = [0 0 0 586s 0 1 0 586s 0 0 0]; 586s C(:,:,2,3) = [0 0 0 586s 0 1 0 586s 0 0 0]; 586s assert (conndef (4, "minimal"), C); 586s ***** assert (conndef (1, "maximal"), ones (3, 1)); 586s ***** assert (conndef (2, "maximal"), ones (3, 3)); 586s ***** assert (conndef (3, "maximal"), ones (3, 3, 3)); 586s ***** assert (conndef (4, "maximal"), ones (3, 3, 3, 3)); 586s ***** assert (nnz (conndef (3, "minimal")), 7) 586s ***** assert (nnz (conndef (4, "minimal")), 9) 586s ***** assert (nnz (conndef (5, "minimal")), 11) 586s ***** assert (nnz (conndef (6, "minimal")), 13) 586s ***** assert (find (conndef (3, "minimal")), [5 11 13 14 15 17 23](:)) 586s ***** assert (find (conndef (4, "minimal")), [14 32 38 40 41 42 44 50 68](:)) 586s ***** assert (find (conndef (5, "minimal")), 586s [ 41 95 113 119 121 122 123 125 131 149 203](:)) 586s ***** assert (find (conndef (6, "minimal")), 586s [ 122 284 338 356 362 364 365 366 368 374 392 446 608](:)) 586s ***** error conndef () 586s ***** error conndef (-2, "minimal") 586s ***** error conndef (char (2), "minimal") 586s ***** error conndef ("minimal", 3) 586s ***** error conndef (3, "invalid") 586s ***** error conndef (10) 586s ***** assert (conndef (2, "minimal"), conndef (4)) 586s ***** assert (conndef (2, "maximal"), conndef (8)) 586s ***** assert (conndef (3, "minimal"), conndef (6)) 586s ***** assert (conndef (3, "maximal"), conndef (26)) 586s ***** assert (conndef (18), reshape ([0 1 0 1 1 1 0 1 0 586s 1 1 1 1 1 1 1 1 1 586s 0 1 0 1 1 1 0 1 0], [3 3 3])) 586s ***** test iptcheckconn ( 4, "func", "var") 586s ***** test iptcheckconn ( 6, "func", "var") 586s ***** test iptcheckconn ( 8, "func", "var") 586s ***** test iptcheckconn (18, "func", "var") 586s ***** test iptcheckconn (26, "func", "var") 586s ***** test iptcheckconn (1, "func", "var") 586s ***** test iptcheckconn (ones (3, 1), "func", "var") 586s ***** test iptcheckconn (ones (3, 3), "func", "var") 586s ***** test iptcheckconn (ones (3, 3, 3), "func", "var") 586s ***** test iptcheckconn (ones (3, 3, 3, 3), "func", "var") 586s ***** error 586s iptcheckconn (3, "func", "VAR"); 586s ***** error 586s iptcheckconn ([1 1 1; 1 0 1; 1 1 1], "func", "VAR"); 586s ***** error 586s iptcheckconn ([1 2 1; 1 1 1; 1 1 1], "func", "VAR"); 586s ***** error 586s iptcheckconn ([0 1 1; 1 1 1; 1 1 1], "func", "VAR"); 586s ***** error 586s iptcheckconn (ones (3, 3, 3, 4), "func", "VAR"); 586s 42 tests, 42 passed, 0 known failure, 0 skipped 586s [src/hough_line.cc] 586s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/src/hough_line.cc 586s ***** test 586s I = zeros(100, 100); 586s I(1,1) = 1; I(100,100) = 1; I(1,100) = 1; I(100, 1) = 1; I(50,50) = 1; 586s [J, R] = houghtf(I); J = J / max(J(:)); 586s assert(size(J) == [length(R) 181]); 586s 586s ***** demo 586s I = zeros(100, 150); 586s I(30,:) = 1; I(:, 65) = 1; I(35:45, 35:50) = 1; 586s for i = 1:90, I(i,i) = 1;endfor 586s I = imnoise(I, 'salt & pepper'); 586s imshow(I); 586s J = houghtf(I); J = J / max(J(:)); 586s imshow(J); 586s 1 test, 1 passed, 0 known failure, 0 skipped 586s [src/__spatial_filtering__.cc] 587s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/src/__spatial_filtering__.cc 587s ***** error 587s __spatial_filtering__ (ones (10), ones (3), "std", ones (10), 0) 587s ***** error 587s __spatial_filtering__ (ones (10), ones (3), "std", ones (3, 3, 3), 0) 587s ***** error 587s __spatial_filtering__ (ones (10), ones (3), "std", ones (1, 9), 0) 587s ***** shared a, domain, s, out 587s a = [ 82 2 97 43 79 43 41 65 51 11 587s 60 65 21 56 94 77 36 38 75 39 587s 32 68 78 1 16 75 76 90 81 56 587s 43 90 82 41 36 1 87 19 18 63 587s 63 64 2 48 18 43 38 25 22 99 587s 12 46 90 79 3 92 39 79 10 22 587s 38 98 11 10 40 90 88 38 4 76 587s 54 37 9 4 33 98 36 47 53 57 587s 38 76 82 50 14 74 64 99 7 33 587s 88 96 41 62 84 89 97 23 41 3]; 587s 587s domain = ones (3); 587s s = zeros (3); 587s 587s out = [ 2 1 1 1 16 36 36 11 587s 21 1 1 1 1 1 18 18 587s 2 1 1 1 1 1 18 18 587s 2 2 2 1 1 1 10 10 587s 2 2 2 3 3 25 4 4 587s 9 4 3 3 3 36 4 4 587s 9 4 4 4 14 36 4 4 587s 9 4 4 4 14 23 7 3]; 587s ***** assert (__spatial_filtering__ (a, domain, "ordered", s, 1), out); 587s 587s out = [ 97 97 97 94 94 90 90 90 587s 90 90 94 94 94 90 90 90 587s 90 90 82 75 87 90 90 99 587s 90 90 90 92 92 92 87 99 587s 98 98 90 92 92 92 88 99 587s 98 98 90 98 98 98 88 79 587s 98 98 82 98 98 99 99 99 587s 96 96 84 98 98 99 99 99]; 587s ***** assert (__spatial_filtering__ (a, domain, "ordered", s, nnz (domain)), out); 587s 587s out = [ 60 43 43 43 43 43 51 51 587s 60 56 36 36 36 38 38 39 587s 63 48 18 18 36 38 25 25 587s 46 48 36 36 36 38 22 22 587s 38 46 11 40 39 39 25 22 587s 37 11 10 33 39 47 38 38 587s 38 11 11 33 40 64 38 38 587s 41 41 33 50 64 64 41 33]; 587s ***** assert (__spatial_filtering__ (a, domain, "ordered", s, 4), out); 587s 587s out = [ 31.223 33.788 35.561 31.011 26.096 20.630 20.403 24.712 587s 23.428 29.613 32.376 34.002 33.593 32.470 29.605 26.333 587s 27.834 32.890 29.903 24.207 30.083 32.497 31.898 32.600 587s 32.027 28.995 33.530 31.002 32.241 32.004 27.501 32.070 587s 34.682 36.030 33.046 33.745 32.509 27.352 28.607 34.180 587s 32.709 37.690 32.992 40.036 34.456 26.656 27.685 26.863 587s 30.971 36.227 25.775 34.873 29.917 25.269 32.292 30.410 587s 29.135 31.626 30.056 33.594 30.814 28.853 30.917 29.120]; 587s ***** assert (__spatial_filtering__ (a, domain, "std", s), out, 0.001); 587s 587s out = [ 95 96 96 93 78 54 54 79 587s 69 89 93 93 93 89 72 72 587s 88 89 81 74 86 89 72 81 587s 88 88 88 91 91 91 77 89 587s 96 96 88 89 89 67 84 95 587s 89 94 87 95 95 62 84 75 587s 89 94 78 94 84 63 95 95 587s 87 92 80 94 84 76 92 96]; 587s ***** assert (__spatial_filtering__ (a, domain, "range", s), out); 587s 587s domain = [ 1 1 0 587s 0 1 1 587s 0 1 0]; 587s 587s out = [ 2 2 1 16 36 36 38 39 587s 60 1 1 16 1 36 19 18 587s 32 2 1 1 1 19 18 18 587s 2 2 18 3 1 1 19 10 587s 46 2 2 3 18 38 10 4 587s 11 9 4 3 3 36 4 4 587s 9 4 4 10 36 36 38 4 587s 37 9 4 4 33 36 7 7]; 587s ***** assert (__spatial_filtering__ (a, domain, "ordered", s, 1), out); 587s 587s out = [ 82 97 97 94 79 76 90 81 587s 90 82 56 94 94 90 90 81 587s 90 82 78 36 87 87 90 90 587s 90 90 82 43 92 87 87 99 587s 98 90 79 92 92 88 79 25 587s 98 90 90 90 98 92 79 79 587s 98 98 50 98 98 90 99 57 587s 96 82 62 84 98 99 99 53]; 587s ***** assert (__spatial_filtering__ (a, domain, "ordered", s, nnz (domain)), out); 587s 587s out = [ 68 78 94 79 77 43 75 75 587s 78 78 41 75 77 87 81 75 587s 82 78 48 18 75 76 76 81 587s 64 90 79 41 43 39 79 22 587s 90 79 48 48 90 79 38 22 587s 46 46 79 79 92 88 47 76 587s 76 82 33 40 90 88 88 53 587s 82 50 50 74 89 98 47 47]; 587s ***** assert (__spatial_filtering__ (a, domain, "ordered", s, 4), out); 587s 587s out = [ 34.2389 39.2772 39.6699 31.6812 20.7364 16.5439 22.2419 17.2395 587s 11.9248 36.3084 21.6217 30.8350 36.4047 21.6726 30.9144 26.1017 587s 22.2980 33.2746 27.5808 14.5017 36.8890 29.0259 34.6020 33.2521 587s 32.2490 37.9579 26.9685 17.1959 32.5346 31.3847 33.5976 36.8280 587s 21.3354 40.1833 34.0044 33.9882 32.9894 24.1102 25.6613 9.0995 587s 35.4641 35.3794 39.0871 35.4753 39.9775 28.7193 26.7451 35.6553 587s 35.2179 45.3398 19.3210 35.2987 28.4042 24.0832 26.8421 25.0539 587s 23.4307 26.2812 26.3287 35.6959 25.2646 28.1016 34.9829 17.9221]; 587s ***** assert (__spatial_filtering__ (a, domain, "std", s), out, 0.001); 587s 587s out = [ 80 95 96 78 43 40 52 42 587s 30 81 55 78 93 54 71 63 587s 58 80 77 35 86 68 72 72 587s 88 88 64 40 91 86 68 89 587s 52 88 77 89 74 50 69 21 587s 87 81 86 87 95 56 75 75 587s 89 94 46 88 62 54 61 53 587s 59 73 58 80 65 63 92 46]; 587s ***** assert (__spatial_filtering__ (a, domain, "range", s), out); 587s 587s s = [ 1 -3 4 587s 6 -7 2 587s -1 3 -5]; 587s 587s out = [ -1 3 4 19 38 29 31 41 587s 61 3 -6 9 4 33 22 21 587s 33 5 -2 2 -6 21 12 11 587s 4 -5 20 6 -2 2 16 13 587s 39 -1 3 -4 19 32 12 3 587s 13 4 3 0 4 36 6 -3 587s 11 2 -3 11 38 29 35 1 587s 34 6 1 5 34 33 9 0]; 587s ***** assert (__spatial_filtering__ (a, domain, "ordered", s, 1), out); 587s 587s out = [ 83 94 98 87 80 79 93 84 587s 93 85 53 91 95 92 83 74 587s 84 75 79 29 89 80 87 91 587s 87 93 83 45 95 84 88 101 587s 101 83 72 94 93 91 72 26 587s 91 87 91 92 101 93 76 80 587s 95 99 53 100 91 91 102 59 587s 99 75 65 87 95 101 92 50]; 587s ***** assert (__spatial_filtering__ (a, domain, "ordered", s, nnz (domain)), out); 587s 587s out = [ 71 81 96 79 78 44 77 68 587s 80 71 44 77 78 90 83 72 587s 83 75 51 21 72 76 77 78 587s 57 91 82 42 40 42 82 20 587s 92 81 45 49 85 81 41 24 587s 43 47 76 80 90 81 50 78 587s 79 85 35 37 87 85 89 46 587s 84 52 43 76 92 100 44 48]; 587s ***** assert (__spatial_filtering__ (a, domain, "ordered", s, 4), out); 587s 587s out = [ 34.903 40.206 39.885 28.627 20.620 19.248 25.209 17.111 587s 14.536 35.865 23.221 32.230 34.903 23.923 28.879 22.621 587s 20.635 30.113 29.351 11.610 38.863 25.936 34.608 34.482 587s 29.811 40.998 28.279 17.897 34.666 29.978 36.150 38.213 587s 25.066 39.240 30.013 37.300 31.856 27.428 22.884 10.281 587s 31.890 34.761 39.645 37.526 39.336 27.031 25.648 39.285 587s 35.017 47.776 22.764 35.912 25.460 25.636 29.861 24.566 587s 25.213 25.000 26.391 38.451 24.631 31.305 31.118 20.611]; 587s ***** assert (__spatial_filtering__ (a, domain, "std", s), out, 0.001); 587s 587s out = [ 84 91 94 68 42 50 62 43 587s 32 82 59 82 91 59 61 53 587s 51 70 81 27 95 59 75 80 587s 83 98 63 39 97 82 72 88 587s 62 84 69 98 74 59 60 23 587s 78 83 88 92 97 57 70 83 587s 84 97 56 89 53 62 67 58 587s 65 69 64 82 61 68 83 50]; 587s ***** assert (__spatial_filtering__ (a, domain, "range", s), out); 587s 18 tests, 18 passed, 0 known failure, 0 skipped 587s [src/imreconstruct.cc] 587s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/src/imreconstruct.cc 587s ***** function recon = parallel_reconstruction (marker, mask, 587s conn = conndef (ndims (marker), "maximal")) 587s do 587s previous = marker; 587s marker = imdilate (marker, conn); 587s ## FIXME https://savannah.gnu.org/bugs/index.php?43712 587s if (strcmp (class (marker), "logical")) 587s marker = marker & mask; 587s else 587s marker = min (marker, mask); 587s endif 587s until (all ((marker == previous)(:))) 587s recon = marker; 587s ***** endfunction 587s ***** test 587s for cl = {"int8", "uint8", "int16", "uint16", "int32", "uint32"} 587s cl = cl{1}; 587s a = randi ([intmin(cl) intmax(cl)-30], 100, 100, cl); 587s b = a + randi (20, 100, 100, cl); 587s assert (imreconstruct (a, b), parallel_reconstruction (a, b)) 587s endfor 587s for cl = {"double", "single"} 587s cl = cl{1}; 587s a = (rand (100, 100, cl) - 0.5) .* 1000; 587s b = a + rand (100, 100, cl) * 100; 587s assert (imreconstruct (a, b), parallel_reconstruction (a, b)) 587s endfor 587s ***** test 587s for cl = {"int8", "uint8", "int16", "uint16", "int32", "uint32"} 587s cl = cl{1}; 587s a = randi ([intmin(cl) intmax(cl)-30], 100, 100, cl); 587s b = a + randi (20, 100, 100, cl); 587s c = [0 1 0; 1 1 1; 0 1 0]; 587s assert (imreconstruct (a, b, c), parallel_reconstruction (a, b, c)) 587s endfor 587s ***** test 587s a = randi (210, 100, 100); 587s b = a + randi (20, 100, 100); 587s c = ones (3, 1); 587s assert (imreconstruct (a, b, c), parallel_reconstruction (a, b, c)) 587s ***** test 587s a = randi (210, 500, 500, 10, 4); 587s b = a + randi (20, 500, 500, 10, 4); 587s c = ones (3, 3, 3); 587s assert (imreconstruct (a, b, c), parallel_reconstruction (a, b, c)) 605s ***** test 605s a = randi (210, 500, 500, 10, 4); 605s b = a + randi (20, 500, 500, 10, 4); 605s c = conndef (4, "minimal"); 605s assert (imreconstruct (a, b, c), parallel_reconstruction (a, b, c)) 614s ***** test 614s a = [ 0 0 0 0 0 0 0 1 0 0 614s 0 0 0 0 0 0 0 1 0 0 614s 1 0 0 0 0 0 0 0 0 0 614s 0 0 0 0 0 0 0 0 0 0 614s 0 0 0 0 0 0 0 1 0 0 614s 0 0 0 0 0 0 1 0 0 0 614s 0 0 0 0 0 0 0 0 0 0 614s 0 0 0 0 0 0 0 0 0 0 614s 0 0 0 0 1 0 0 0 0 0 614s 0 0 0 0 0 0 0 1 0 0]; 614s 614s b = [ 0 1 0 0 0 0 0 1 1 0 614s 1 1 0 0 0 1 0 1 1 0 614s 1 1 0 0 1 0 0 0 0 0 614s 1 1 0 0 0 1 1 0 0 0 614s 1 0 0 0 0 0 1 1 0 0 614s 0 1 0 0 0 0 1 1 0 0 614s 0 0 0 1 0 0 0 0 0 0 614s 0 0 0 0 1 1 0 0 0 0 614s 0 0 0 1 1 0 0 0 0 0 614s 1 0 0 0 1 0 0 1 0 1]; 614s 614s c = [ 0 1 0 0 0 0 0 1 1 0 614s 1 1 0 0 0 1 0 1 1 0 614s 1 1 0 0 1 0 0 0 0 0 614s 1 1 0 0 0 1 1 0 0 0 614s 1 0 0 0 0 0 1 1 0 0 614s 0 1 0 0 0 0 1 1 0 0 614s 0 0 0 1 0 0 0 0 0 0 614s 0 0 0 0 1 1 0 0 0 0 614s 0 0 0 1 1 0 0 0 0 0 614s 0 0 0 0 1 0 0 1 0 0]; 614s assert (imreconstruct (logical (a), logical (b)), logical (c)); 614s 614s c = [ 0 1 0 0 0 0 0 1 1 0 614s 1 1 0 0 0 0 0 1 1 0 614s 1 1 0 0 0 0 0 0 0 0 614s 1 1 0 0 0 1 1 0 0 0 614s 1 0 0 0 0 0 1 1 0 0 614s 0 0 0 0 0 0 1 1 0 0 614s 0 0 0 0 0 0 0 0 0 0 614s 0 0 0 0 1 1 0 0 0 0 614s 0 0 0 1 1 0 0 0 0 0 614s 0 0 0 0 1 0 0 1 0 0]; 614s assert (imreconstruct (logical (a), logical (b), [0 1 0; 1 1 1; 0 1 0]), 614s logical (c)); 614s ***** test 614s do 614s b = rand (100, 100, 100) > 0.98; 614s until (nnz (b) > 4) 614s b = imdilate (b, ones (5, 5, 5)); 614s a = false (size (b)); 614s f = find (b); 614s a(f(randi (numel (f), 6, 1))) = true; 614s assert (imreconstruct (a, b), parallel_reconstruction (a, b)) 615s ***** test 615s a = randi (200, 100,100, 10, 10); 615s b = a + randi (20, 100,100, 10, 10); 615s c1 = ones (3, 3, 3); 615s c2 = zeros (3, 3, 3, 3); 615s c2(:,:,:,2) = c1; 615s assert (imreconstruct (a, b, c1), imreconstruct (a, b, c2)) 616s ***** test 616s ## Values in MARKER above MASK should be clipped (bug #48794) 616s ## (well, treated internally as if they were clipped) 616s mask = logical ([1 1 1; 1 0 1; 1 1 1]); 616s assert (imreconstruct (true (3, 3), mask), mask) 616s 616s mask = ones (5, 5); 616s mask(2:4,2:4) = 0; 616s assert (imreconstruct (ones (5, 5), mask), mask) 616s 616s mask = ones (5, 5); 616s mask(2:4,2:4) = 0; 616s assert (imreconstruct (repmat (2, [5, 5]), mask), mask) 616s 616s mask = ones (5, 5); 616s mask(2:4,2:4) = 0; 616s assert (imreconstruct (repmat (2, [5, 5]), mask), mask) 616s 616s marker = ones (3, 3, 3, 3); 616s mask = marker; 616s mask(2, 2, 2, 2) = 0; 616s assert (imreconstruct (marker, mask), mask) 616s 616s marker = randi (210, 100, 100); 616s assert (imreconstruct (marker +1, marker), marker) 616s assert (imreconstruct (marker +1, marker), imreconstruct (marker, marker)) 616s 9 tests, 9 passed, 0 known failure, 0 skipped 616s [src/bwconncomp.cc] 616s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/src/bwconncomp.cc 616s ***** test 616s a = rand (10) > 0.5; 616s cc = bwconncomp (a, 4); 616s assert (cc.Connectivity, 4) 616s assert (cc.ImageSize, [10 10]) 616s 616s b = false (10); 616s for i = 1:numel (cc.PixelIdxList) 616s b(cc.PixelIdxList{i}) = true; 616s endfor 616s assert (a, b) 616s ***** test 616s a = rand (10, 13) > 0.5; 616s cc = bwconncomp (a, 4); 616s assert (cc.ImageSize, [10 13]) 616s 616s b = false (10, 13); 616s for i = 1:numel (cc.PixelIdxList) 616s b(cc.PixelIdxList{i}) = true; 616s endfor 616s assert (a, b) 616s ***** test 616s a = rand (15) > 0.5; 616s conn_8 = bwconncomp (a, 8); 616s assert (conn_8, bwconncomp (a)) 616s assert (conn_8, bwconncomp (a, ones (3))) 616s assert (conn_8.Connectivity, 8) 616s assert (bwconncomp (a, ones (3)).Connectivity, 8) 616s assert (bwconncomp (a, [0 1 0; 1 1 1; 0 1 0]).Connectivity, 4) 616s ***** test 616s bw = logical ([ 616s 1 0 0 1 0 1 0 616s 1 0 0 1 0 1 0 616s 0 0 0 0 0 1 0 616s 0 0 0 0 1 0 0 616s 1 1 0 1 1 0 0 616s 0 1 0 0 0 0 0 616s 1 1 0 0 0 0 0 616s ]); 616s cc = bwconncomp (bw); 616s cc = struct (); 616s cc.Connectivity = 8; 616s cc.ImageSize = [7 7]; 616s cc.NumObjects = 4; 616s ## The commented line has the results from Matlab. We return the 616s ## same result but in a slightly different order. Since the order 616s ## is not defined, it is not required for compatibility. 616s #cc.PixelIdxList = {[1;2], [5;7;12;13;14], [22;23], [26;32;33;36;37;38]}; 616s cc.PixelIdxList = {[1;2], [5;12;13;7;14], [22;23], [26;32;33;38;37;36]}; 616s assert (bwconncomp (bw), cc) 616s ***** test 616s ## test that PixelIdxList is a row vector 616s a = rand (40, 40) > 0.2; 616s cc = bwconncomp (a, 4); 616s assert (rows (cc.PixelIdxList), 1) 616s assert (columns (cc.PixelIdxList), cc.NumObjects) 616s ***** assert (bwconncomp (false (5)), struct ("ImageSize", [5 5], "NumObjects", 0, 616s "PixelIdxList", {cell(1, 0)}, 616s "Connectivity", 8)) 616s ***** test 616s in = [ 0 0 1 0 0 1 0 1 0 0 616s 0 0 1 0 0 0 0 0 1 1 616s 1 0 0 0 0 1 1 0 0 0 616s 1 0 0 0 1 0 0 0 0 0 616s 1 1 1 1 0 0 0 0 0 1 616s 0 1 0 1 1 0 0 1 0 0 616s 1 0 0 0 1 0 0 0 0 0 616s 0 0 0 1 1 0 0 1 0 0 616s 0 1 0 1 1 0 0 1 1 0 616s 0 1 0 1 1 1 0 0 1 0]; 616s assert (bwareaopen (in, 1, 4), logical (in)) 616s 616s out = [0 0 0 0 0 0 0 0 0 0 616s 0 0 0 0 0 0 0 0 0 0 616s 1 0 0 0 0 0 0 0 0 0 616s 1 0 0 0 0 0 0 0 0 0 616s 1 1 1 1 0 0 0 0 0 0 616s 0 1 0 1 1 0 0 0 0 0 616s 0 0 0 0 1 0 0 0 0 0 616s 0 0 0 1 1 0 0 0 0 0 616s 0 0 0 1 1 0 0 0 0 0 616s 0 0 0 1 1 1 0 0 0 0]; 616s assert (bwareaopen (logical (in), 10, 4), logical (out)) 616s assert (bwareaopen (in, 10, 4), logical (out)) 616s assert (bwareaopen (in, 10, [0 1 0; 1 1 1; 0 1 0]), logical (out)) 616s 616s out = [0 0 0 0 0 0 0 0 0 0 616s 0 0 0 0 0 0 0 0 0 0 616s 1 0 0 0 0 1 1 0 0 0 616s 1 0 0 0 1 0 0 0 0 0 616s 1 1 1 1 0 0 0 0 0 0 616s 0 1 0 1 1 0 0 0 0 0 616s 1 0 0 0 1 0 0 0 0 0 616s 0 0 0 1 1 0 0 0 0 0 616s 0 0 0 1 1 0 0 0 0 0 616s 0 0 0 1 1 1 0 0 0 0]; 616s assert (bwareaopen (in, 10, 8), logical (out)) 616s assert (bwareaopen (in, 10, ones (3)), logical (out)) 616s assert (bwareaopen (in, 10), logical (out)) 616s 616s out = [0 0 0 0 0 0 0 0 0 0 616s 0 0 0 0 0 0 0 0 0 0 616s 1 0 0 0 0 0 0 0 0 0 616s 1 0 0 0 0 0 0 0 0 0 616s 1 1 1 1 0 0 0 0 0 0 616s 0 1 0 1 1 0 0 0 0 0 616s 0 0 0 0 1 0 0 0 0 0 616s 0 0 0 1 1 0 0 1 0 0 616s 0 0 0 1 1 0 0 1 1 0 616s 0 0 0 1 1 1 0 0 1 0]; 616s assert (bwareaopen (in, 4, [1 1 0; 1 1 1; 0 1 1]), logical (out)) 616s ***** error bwareaopen ("not an image", 78, 8) 616s ***** error bwareaopen (rand (10) > 0.5, 10, 100) 616s ***** error bwareaopen (rand (10) > 0.5, 10, "maximal") 616s ***** error bwareaopen (rand (10) > 0.5, 10, [1 1 1; 0 1 1; 0 1 0]) 616s 11 tests, 11 passed, 0 known failure, 0 skipped 616s [src/imerode.cc] 616s >>>>> /tmp/autopkgtest.s8f0yn/build.GBb/src/src/imerode.cc 616s ***** assert (imerode (eye (3), [1]), eye (3)); 616s ***** assert (imerode (eye (3), []), Inf (3, 3)); 616s ***** test 616s im = [0 1 0 616s 1 1 1 616s 0 1 0]; 616s se = [1 0 0 616s 0 1 0 616s 0 1 1]; 616s assert (imerode (im, se), [0 1 0; 0 0 0; 0 1 0]); 616s assert (imerode (logical(im), se), logical ([0 1 0; 0 0 0; 0 1 0])); 616s assert (imerode (im, se, "full"), 616s [ 0 0 0 0 Inf 616s 1 0 1 0 Inf 616s 0 0 0 0 0 616s Inf 0 1 0 1 616s Inf Inf 0 1 0]); 616s assert (imerode (logical(im), se, "full"), 616s logical([0 0 0 0 1 616s 1 0 1 0 1 616s 0 0 0 0 0 616s 1 0 1 0 1 616s 1 1 0 1 0])); 616s ***** xtest 616s a = rand ([10 40 15 6 8 5]) > 0.2; 616s se = ones ([5 3 7]); 616s 616s ## the image is not really indexed but this way it is padded with 1s 616s assert (imerode (a, se), colfilt (a, "indexed", size (se), "sliding", @all)) 616s 616s assert (imerode (a, se, "valid"), convn (a, se, "valid") == nnz (se)) 616s ## again, we need to pad it ourselves because convn pads with zeros 616s b = true (size (a) + [4 2 6 0 0 0]); 616s b(3:12, 2:41, 4:18,:,:,:) = a; 616s assert (imdilate (b, se, "same"), convn (b, se, "same") > 0) 616s b = true (size (a) + [8 4 12 0 0 0]); 616s b(5:14, 3:42, 7:21,:,:,:) = a; 616s assert (imdilate (b, se, "full"), convn (b, se, "full") > 0) 621s ***** test 621s im = [0 0 0 0 0 0 0 621s 0 0 1 0 1 0 0 621s 0 0 1 1 0 1 0 621s 0 0 1 1 1 0 0 621s 0 0 0 0 0 0 0]; 621s se = [0 0 0 621s 0 1 0 621s 0 1 1]; 621s out = [0 0 0 0 0 0 0 621s 0 0 1 0 0 0 0 621s 0 0 1 1 0 0 0 621s 0 0 0 0 0 0 0 621s 0 0 0 0 0 0 0]; 621s assert (imerode (im, se), out); 621s assert (imerode (logical (im), se), logical (out)); 621s assert (imerode (im, logical (se)), out); 621s assert (imerode (logical (im), logical (se)), logical (out)); 621s 621s # with an even-size SE 621s se = [0 0 0 1 621s 0 1 0 0 621s 0 1 1 1]; 621s out = [0 0 0 0 0 0 0 621s 0 0 0 0 0 0 0 621s 0 0 1 0 0 0 0 621s 0 0 0 0 0 0 0 621s 0 0 0 0 0 0 0]; 621s assert (imerode (im, se), out); 621s out = [ 0 0 0 0 1 0 1 621s 0 0 1 0 1 1 0 621s 0 0 1 1 1 1 1 621s 0 0 1 1 1 1 1 621s 0 0 1 1 1 1 1]; 621s assert (imdilate (im, se), out); 621s ***** test 621s a = [ 82 2 97 43 79 43 41 65 51 11 621s 60 65 21 56 94 77 36 38 75 39 621s 32 68 78 1 16 75 76 90 81 56 621s 43 90 82 41 36 1 87 19 18 63 621s 63 64 2 48 18 43 38 25 22 99 621s 12 46 90 79 3 92 39 79 10 22 621s 38 98 11 10 40 90 88 38 4 76 621s 54 37 9 4 33 98 36 47 53 57 621s 38 76 82 50 14 74 64 99 7 33 621s 88 96 41 62 84 89 97 23 41 3]; 621s 621s domain = ones (3); 621s out = [ 2 1 1 1 16 36 36 11 621s 21 1 1 1 1 1 18 18 621s 2 1 1 1 1 1 18 18 621s 2 2 2 1 1 1 10 10 621s 2 2 2 3 3 25 4 4 621s 9 4 3 3 3 36 4 4 621s 9 4 4 4 14 36 4 4 621s 9 4 4 4 14 23 7 3]; 621s assert (imerode (a, domain, "valid"), out); 621s assert (imerode (uint8 (a), domain, "valid"), uint8 (out)); 621s assert (imerode (uint8 (a), strel ("arbitrary", domain), "valid"), uint8 (out)); 621s assert (imerode (uint8 (a), strel ("square", 3), "valid"), uint8 (out)); 621s 621s ***** ## Test for non-flat strel 621s assert (imerode (a, strel ("arbitrary", domain, ones (3)), "valid"), out -1); 621s 621s out = [ 97 97 97 94 94 90 90 90 621s 90 90 94 94 94 90 90 90 621s 90 90 82 75 87 90 90 99 621s 90 90 90 92 92 92 87 99 621s 98 98 90 92 92 92 88 99 621s 98 98 90 98 98 98 88 79 621s 98 98 82 98 98 99 99 99 621s 96 96 84 98 98 99 99 99]; 621s assert (imdilate (a, domain, "valid"), out); 621s assert (imdilate (uint8 (a), domain, "valid"), uint8 (out)); 621s 621s ***** ## Test for non-flat strel 621s assert (imdilate (a, strel ("arbitrary", domain, ones (3)), "valid"), out +1); 621s 621s ## test while using SE that can be decomposed and an actual sequence 621s domain = ones (5); 621s out = [ 2 1 1 1 1 1 16 11 11 11 621s 2 1 1 1 1 1 1 1 11 11 621s 2 1 1 1 1 1 1 1 11 11 621s 2 1 1 1 1 1 1 1 10 10 621s 2 1 1 1 1 1 1 1 4 4 621s 2 2 2 1 1 1 1 1 4 4 621s 2 2 2 2 2 3 3 4 4 4 621s 9 4 3 3 3 3 3 3 3 3 621s 9 4 4 4 4 4 4 3 3 3 621s 9 4 4 4 4 4 7 3 3 3]; 621s assert (imerode (a, domain), out); 621s assert (imerode (a, strel ("square", 5)), out); 621s assert (imerode (a, getsequence (strel ("square", 5))), out); 621s 621s ## using a non-symmetric SE 621s domain = [ 1 1 0 621s 0 1 1 621s 0 1 0]; 621s 621s out = [ 2 2 1 16 36 36 38 39 621s 60 1 1 16 1 36 19 18 621s 32 2 1 1 1 19 18 18 621s 2 2 18 3 1 1 19 10 621s 46 2 2 3 18 38 10 4 621s 11 9 4 3 3 36 4 4 621s 9 4 4 10 36 36 38 4 621s 37 9 4 4 33 36 7 7]; 621s assert (imerode (a, domain, "valid"), out); 621s assert (imerode (a, strel ("arbitrary", domain, ones (3)), "valid"), out -1); 621s 621s out = [ 78 97 56 94 94 90 90 81 621s 90 82 78 94 87 87 90 90 621s 90 90 82 43 75 87 90 99 621s 90 90 79 92 92 87 79 25 621s 98 90 90 90 92 92 79 79 621s 98 98 79 98 98 90 88 57 621s 98 82 50 74 98 99 99 53 621s 96 82 84 89 98 97 99 99]; 621s assert (imdilate (a, domain, "valid"), out); 621s assert (imdilate (a, strel ("arbitrary", domain, ones (3)), "valid"), out +1); 621s ***** test 621s im = reshape (magic(16), [4 8 4 2]); 621s se = true (3, 3, 3); 621s out = zeros (4, 8, 4, 2); 621s out(:,:,1,1) = [ 621s 3 3 46 2 2 2 47 47 621s 3 3 30 2 2 2 31 31 621s 17 17 16 16 16 20 13 13 621s 33 33 16 16 16 36 13 13]; 621s out(:,:,2,1) = [ 621s 3 3 46 2 2 2 43 43 621s 3 3 30 2 2 2 27 27 621s 17 17 12 12 12 20 13 13 621s 33 33 12 12 12 36 13 13]; 621s out(:,:,3,1) = [ 621s 3 3 42 6 6 6 43 43 621s 3 3 26 6 6 6 27 27 621s 21 21 12 12 12 20 9 9 621s 37 37 12 12 12 36 9 9]; 621s out(:,:,4,1) = [ 621s 7 7 42 6 6 6 43 43 621s 7 7 26 6 6 6 27 27 621s 21 21 12 12 12 24 9 9 621s 37 37 12 12 12 40 9 9]; 621s out(:,:,1,2) = [ 621s 11 11 38 10 10 10 39 39 621s 11 11 22 10 10 10 23 23 621s 25 25 8 8 8 28 5 5 621s 41 41 8 8 8 44 5 5]; 621s out(:,:,2,2) = [ 621s 11 11 38 10 10 10 35 35 621s 11 11 22 10 10 10 19 19 621s 25 25 4 4 4 28 5 5 621s 41 41 4 4 4 44 5 5]; 621s out(:,:,3,2) = [ 621s 11 11 34 14 14 14 35 35 621s 11 11 18 14 14 14 19 19 621s 29 29 4 4 4 28 1 1 621s 45 45 4 4 4 44 1 1]; 621s out(:,:,4,2) = [ 621s 15 15 34 14 14 14 35 35 621s 15 15 18 14 14 14 19 19 621s 29 29 4 4 4 32 1 1 621s 45 45 4 4 4 48 1 1]; 621s assert (imerode (im, se), out); 621s assert (imerode (uint16 (im), se), uint16 (out)); 621s 621s ## trying a more weird SE 621s se(:,:,1) = [1 0 1; 0 1 1; 0 0 0]; 621s se(:,:,3) = [1 0 1; 0 1 1; 0 0 1]; 621s out(:,:,1,1) = [ 621s 3 17 46 2 2 2 47 47 621s 17 3 30 2 2 2 31 31 621s 17 17 16 16 16 20 13 31 621s 33 33 16 16 16 36 13 13]; 621s out(:,:,2,1) = [ 621s 3 3 46 2 2 20 43 61 621s 3 3 30 2 20 2 27 43 621s 33 17 12 20 20 20 13 13 621s 51 33 12 12 30 36 13 13]; 621s out(:,:,3,1) = [ 621s 3 21 42 6 6 6 43 43 621s 21 3 26 6 6 6 27 27 621s 21 21 12 12 12 20 9 27 621s 37 37 12 12 12 36 9 9]; 621s out(:,:,4,1) = [ 621s 7 7 42 6 6 24 57 57 621s 7 7 26 6 24 6 43 43 621s 37 21 26 24 24 24 9 9 621s 55 37 12 12 26 40 9 9]; 621s out(:,:,1,2) = [ 621s 11 25 38 10 10 10 39 39 621s 25 11 22 10 10 10 23 23 621s 25 25 8 8 8 28 5 23 621s 41 41 8 8 8 44 5 5]; 621s out(:,:,2,2) = [ 621s 11 11 38 10 10 28 35 53 621s 11 11 22 10 22 10 19 35 621s 41 25 4 22 22 28 5 5 621s 59 41 4 4 22 44 5 5]; 621s out(:,:,3,2) = [ 621s 11 29 34 14 14 14 35 35 621s 29 11 18 14 14 14 19 19 621s 29 29 4 4 4 28 1 19 621s 45 45 4 4 4 44 1 1]; 621s out(:,:,4,2) = [ 621s 15 15 34 14 14 32 49 49 621s 15 15 18 14 18 14 35 35 621s 45 29 18 18 18 32 1 1 621s 63 45 4 4 18 48 1 1]; 621s assert (imerode (im, se), out); 621s assert (imerode (uint16 (im), se), uint16 (out)); 621s ***** error imerode (ones (10), 45) 621s ***** error imerode (ones (10), "some text") 621s ***** error imerode (ones (10), {23, 45}) 621s ***** error imerode (rand (10) > 10 , strel ("arbitrary", true (3), ones (3))) 621s ***** xtest 621s a = rand ([10 40 15 6 8 5]) > 0.8; 621s se = ones ([5 3 7]); 621s assert (imdilate (a, se), convn (a, se, "same") > 0) 621s assert (imdilate (a, se, "full"), convn (a, se, "full") > 0) 621s assert (imdilate (a, se, "valid"), convn (a, se, "valid") > 0) 621s assert (imdilate (a, se), colfilt (a, size (se), "sliding", @any)) 625s ***** test 625s im = reshape (magic(16), [4 8 4 2]); 625s se = true (3, 3, 3); 625s out = zeros (4, 8, 4, 2); 625s 625s out(:,:,1,1) = [ 625s 256 256 209 253 253 253 212 212 625s 256 256 225 253 253 253 228 228 625s 238 238 243 243 243 239 242 242 625s 222 222 243 243 243 223 242 242]; 625s out(:,:,2,1) = [ 625s 256 256 213 253 253 253 212 212 625s 256 256 229 253 253 253 228 228 625s 238 238 243 243 243 239 246 246 625s 222 222 243 243 243 223 246 246]; 625s out(:,:,3,1) = [ 625s 252 252 213 253 253 253 216 216 625s 252 252 229 253 253 253 232 232 625s 238 238 247 247 247 235 246 246 625s 222 222 247 247 247 219 246 246]; 625s out(:,:,4,1) = [ 625s 252 252 213 249 249 249 216 216 625s 252 252 229 249 249 249 232 232 625s 234 234 247 247 247 235 246 246 625s 218 218 247 247 247 219 246 246]; 625s out(:,:,1,2) = [ 625s 248 248 217 245 245 245 220 220 625s 248 248 233 245 245 245 236 236 625s 230 230 251 251 251 231 250 250 625s 214 214 251 251 251 215 250 250]; 625s out(:,:,2,2) = [ 625s 248 248 221 245 245 245 220 220 625s 248 248 237 245 245 245 236 236 625s 230 230 251 251 251 231 254 254 625s 214 214 251 251 251 215 254 254]; 625s out(:,:,3,2) = [ 625s 244 244 221 245 245 245 224 224 625s 244 244 237 245 245 245 240 240 625s 230 230 255 255 255 227 254 254 625s 214 214 255 255 255 211 254 254]; 625s out(:,:,4,2) = [ 625s 244 244 221 241 241 241 224 224 625s 244 244 237 241 241 241 240 240 625s 226 226 255 255 255 227 254 254 625s 210 210 255 255 255 211 254 254]; 625s assert (imdilate (im, se), out); 625s assert (imdilate (uint16 (im), se), uint16 (out)); 625s 625s ## trying a more weird SE 625s se(:,:,1) = [1 0 1; 0 1 1; 0 0 0]; 625s se(:,:,3) = [1 0 1; 0 1 1; 0 0 1]; 625s out(:,:,1,1) = [ 625s 256 256 209 239 253 253 212 194 625s 256 256 225 239 239 239 228 212 625s 222 222 243 239 243 239 242 242 625s 208 208 225 243 243 223 242 242]; 625s out(:,:,2,1) = [ 625s 256 256 213 253 253 253 212 212 625s 238 256 229 253 253 253 228 228 625s 238 238 243 243 243 239 246 228 625s 222 222 243 243 243 223 228 246]; 625s out(:,:,3,1) = [ 625s 252 252 213 235 253 253 216 198 625s 252 252 229 235 235 253 232 216 625s 222 238 247 235 247 235 246 246 625s 204 222 229 247 247 219 246 246]; 625s out(:,:,4,1) = [ 625s 252 252 213 249 249 249 216 216 625s 234 252 229 249 249 249 232 232 625s 234 234 247 247 247 235 246 232 625s 218 218 247 247 247 219 232 246]; 625s out(:,:,1,2) = [ 625s 248 248 217 231 245 245 220 202 625s 248 248 233 233 233 231 236 220 625s 214 214 251 233 251 231 250 250 625s 200 200 233 251 251 215 250 250]; 625s out(:,:,2,2) = [ 625s 248 248 221 245 245 245 220 220 625s 230 248 237 245 245 245 236 236 625s 230 230 251 251 251 231 254 236 625s 214 214 251 251 251 215 236 254]; 625s out(:,:,3,2) = [ 625s 244 244 221 227 245 245 224 206 625s 244 244 237 237 237 245 240 224 625s 214 230 255 237 255 227 254 254 625s 196 214 237 255 255 211 254 254]; 625s out(:,:,4,2) = [ 625s 244 244 221 241 241 241 224 224 625s 226 244 237 241 241 241 240 240 625s 226 226 255 255 255 227 254 240 625s 210 210 255 255 255 211 240 254]; 625s assert (imdilate (im, se), out); 625s assert (imdilate (uint16 (im), se), uint16 (out)); 625s ***** test # scalar blank SE 625s se = 0; 625s assert (imerode (5, se), Inf) 625s assert (imerode (true, se), true) 625s assert (imerode (false, se), true) 625s assert (imerode (uint8 (3), se), uint8 (255)) 625s 625s assert (imdilate (5, se), -Inf) 625s assert (imdilate (true, se), false) 625s assert (imdilate (false, se), false) 625s assert (imdilate (uint8 (3), se), uint8 (0)) 625s ***** test # empty SE 625s se = []; 625s assert (imerode (5, se), Inf) 625s assert (imerode (true, se), true) 625s assert (imerode (false, se), true) 625s assert (imerode (uint8 (3), se), uint8 (255)) 625s 625s assert (imdilate (5, se), -Inf) 625s assert (imdilate (true, se), false) 625s assert (imdilate (false, se), false) 625s assert (imdilate (uint8 (3), se), uint8 (0)) 625s ***** test # non-scalar blank SE 625s se = zeros (3, 3); 625s assert (imerode (5, se), Inf) 625s assert (imerode (true, se), true) 625s assert (imerode (false, se), true) 625s assert (imerode (uint8 (3), se), uint8 (255)) 625s 625s assert (imdilate (5, se), -Inf) 625s assert (imdilate(true, se), false) 625s assert (imdilate (false, se), false) 625s assert (imdilate (uint8 (3), se), uint8 (0)) 625s ***** test # erode only with out-of-border elements 625s se = [1 1 1; 1 0 1; 1 1 1]; 625s assert (imerode (5, se), Inf) 625s assert (imerode (true, se), true) 625s 625s assert (imdilate (5, se), -Inf) 625s assert (imdilate (true, se), false) 625s ***** test # only true elements of SE are out-of-border 625s se = [0 0 0; 1 0 0; 1 1 0]; 625s assert (imerode (zeros (3), se), [0 0 0; 0 0 0; Inf 0 0]) 625s assert (imerode (false (3), se), logical ([0 0 0; 0 0 0; 1 0 0])) 625s assert (imdilate (zeros (3), se), [0 0 -Inf; 0 0 0; 0 0 0]) 625s assert (imdilate (false (3), se), false (3, 3)) 625s 625s se = [0 0 0; 0 0 0; 1 1 1]; 625s assert (imerode (zeros (3, 3), se), [0 0 0; 0 0 0; Inf Inf Inf]) 625s assert (imerode (false (3, 3), se), logical ([0 0 0; 0 0 0; 1 1 1])) 625s assert (imdilate (zeros (3, 3), se), [-Inf -Inf -Inf; 0 0 0; 0 0 0]) 625s assert (imdilate (false (3, 3), se), false (3, 3)) 625s ***** test # only true elements of even-sized SE are out-of-border 625s se = logical ([0 1; 1 1]); 625s assert (imerode (false (3, 3), se), logical ([0 0 0; 0 0 0; 0 0 1])) 625s assert (imerode (zeros (3, 3), se), [0 0 0; 0 0 0; 0 0 Inf]) 625s 625s assert (imdilate (false (3, 3), se), false (3, 3)) 625s assert (imdilate (zeros (3, 3), se), [-Inf 0 0; 0 0 0; 0 0 0]) 625s 19 tests, 19 passed, 0 known failure, 0 skipped 625s Done running the unit tests. 625s Summary: 2033 tests, 1998 passed, 35 known failures, 0 skipped 625s autopkgtest [15:00:23]: test command1: -----------------------] 630s autopkgtest [15:00:28]: test command1: - - - - - - - - - - results - - - - - - - - - - 630s command1 PASS 634s autopkgtest [15:00:32]: @@@@@@@@@@@@@@@@@@@@ summary 634s command1 PASS