0s autopkgtest [13:48:42]: starting date and time: 2025-03-15 13:48:42+0000 0s autopkgtest [13:48:42]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [13:48:42]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.ukvz2zqd/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --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 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-big --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-arm64-26.secgroup --name adt-plucky-arm64-octave-image-20250315-134842-juju-7f2275-prod-proposed-migration-environment-2-bb4b33cb-7fb3-467c-9cbd-697d88e3cb65 --image adt/ubuntu-plucky-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_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'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 176s autopkgtest [13:51:38]: testbed dpkg architecture: arm64 176s autopkgtest [13:51:38]: testbed apt version: 2.9.33 176s autopkgtest [13:51:38]: @@@@@@@@@@@@@@@@@@@@ test bed setup 176s autopkgtest [13:51:38]: testbed release detected to be: None 177s autopkgtest [13:51:39]: updating testbed package index (apt update) 178s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [126 kB] 178s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 178s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 178s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 178s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [15.8 kB] 178s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [404 kB] 178s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [101 kB] 179s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [78.2 kB] 179s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 c-n-f Metadata [1976 B] 179s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 c-n-f Metadata [116 B] 179s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [346 kB] 179s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 c-n-f Metadata [15.8 kB] 179s Get:13 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [4948 B] 179s Get:14 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 c-n-f Metadata [572 B] 179s Fetched 1094 kB in 2s (632 kB/s) 180s Reading package lists... 181s Reading package lists... 181s Building dependency tree... 181s Reading state information... 182s Calculating upgrade... 182s Calculating upgrade... 182s The following packages will be upgraded: 182s python3-jinja2 strace 182s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 182s Need to get 608 kB of archives. 182s After this operation, 11.3 kB of additional disk space will be used. 182s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 strace arm64 6.13+ds-1ubuntu1 [499 kB] 183s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-jinja2 all 3.1.5-2ubuntu1 [109 kB] 184s Fetched 608 kB in 1s (666 kB/s) 184s (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 ... 117701 files and directories currently installed.) 184s Preparing to unpack .../strace_6.13+ds-1ubuntu1_arm64.deb ... 184s Unpacking strace (6.13+ds-1ubuntu1) over (6.11-0ubuntu1) ... 184s Preparing to unpack .../python3-jinja2_3.1.5-2ubuntu1_all.deb ... 184s Unpacking python3-jinja2 (3.1.5-2ubuntu1) over (3.1.5-2) ... 184s Setting up python3-jinja2 (3.1.5-2ubuntu1) ... 184s Setting up strace (6.13+ds-1ubuntu1) ... 184s Processing triggers for man-db (2.13.0-1) ... 185s Reading package lists... 185s Building dependency tree... 185s Reading state information... 186s Solving dependencies... 186s The following packages will be REMOVED: 186s libnsl2* libpython3.12-minimal* libpython3.12-stdlib* libpython3.12t64* 186s libunwind8* linux-headers-6.11.0-8* linux-headers-6.11.0-8-generic* 186s linux-image-6.11.0-8-generic* linux-modules-6.11.0-8-generic* 186s linux-tools-6.11.0-8* linux-tools-6.11.0-8-generic* 187s 0 upgraded, 0 newly installed, 11 to remove and 5 not upgraded. 187s After this operation, 267 MB disk space will be freed. 187s (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 ... 117701 files and directories currently installed.) 187s Removing linux-tools-6.11.0-8-generic (6.11.0-8.8) ... 187s Removing linux-tools-6.11.0-8 (6.11.0-8.8) ... 187s Removing libpython3.12t64:arm64 (3.12.9-1) ... 187s Removing libpython3.12-stdlib:arm64 (3.12.9-1) ... 187s Removing libnsl2:arm64 (1.3.0-3build3) ... 187s Removing libpython3.12-minimal:arm64 (3.12.9-1) ... 187s Removing libunwind8:arm64 (1.6.2-3.1) ... 187s Removing linux-headers-6.11.0-8-generic (6.11.0-8.8) ... 187s Removing linux-headers-6.11.0-8 (6.11.0-8.8) ... 189s Removing linux-image-6.11.0-8-generic (6.11.0-8.8) ... 189s I: /boot/vmlinuz.old is now a symlink to vmlinuz-6.14.0-10-generic 189s I: /boot/initrd.img.old is now a symlink to initrd.img-6.14.0-10-generic 189s /etc/kernel/postrm.d/initramfs-tools: 189s update-initramfs: Deleting /boot/initrd.img-6.11.0-8-generic 189s /etc/kernel/postrm.d/zz-flash-kernel: 189s flash-kernel: Kernel 6.11.0-8-generic has been removed. 189s flash-kernel: A higher version (6.14.0-10-generic) is still installed, no reflashing required. 189s /etc/kernel/postrm.d/zz-update-grub: 189s Sourcing file `/etc/default/grub' 189s Sourcing file `/etc/default/grub.d/50-cloudimg-settings.cfg' 190s Generating grub configuration file ... 190s Found linux image: /boot/vmlinuz-6.14.0-10-generic 190s Found initrd image: /boot/initrd.img-6.14.0-10-generic 190s Warning: os-prober will not be executed to detect other bootable partitions. 190s Systems on them will not be added to the GRUB boot configuration. 190s Check GRUB_DISABLE_OS_PROBER documentation entry. 190s Adding boot menu entry for UEFI Firmware Settings ... 190s done 190s Removing linux-modules-6.11.0-8-generic (6.11.0-8.8) ... 190s Processing triggers for libc-bin (2.41-1ubuntu1) ... 190s (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 ... 81650 files and directories currently installed.) 190s Purging configuration files for linux-image-6.11.0-8-generic (6.11.0-8.8) ... 191s Purging configuration files for libpython3.12-minimal:arm64 (3.12.9-1) ... 191s Purging configuration files for linux-modules-6.11.0-8-generic (6.11.0-8.8) ... 191s autopkgtest [13:51:53]: upgrading testbed (apt dist-upgrade and autopurge) 191s Reading package lists... 191s Building dependency tree... 191s Reading state information... 192s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 192s Starting 2 pkgProblemResolver with broken count: 0 192s Done 193s Entering ResolveByKeep 193s 193s Calculating upgrade... 194s The following packages will be upgraded: 194s libc-bin libc-dev-bin libc6 libc6-dev locales 194s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 194s Need to get 9530 kB of archives. 194s After this operation, 0 B of additional disk space will be used. 194s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libc6-dev arm64 2.41-1ubuntu2 [1750 kB] 195s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libc-dev-bin arm64 2.41-1ubuntu2 [24.0 kB] 195s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libc6 arm64 2.41-1ubuntu2 [2910 kB] 198s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libc-bin arm64 2.41-1ubuntu2 [600 kB] 199s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 locales all 2.41-1ubuntu2 [4246 kB] 203s Preconfiguring packages ... 203s Fetched 9530 kB in 9s (1050 kB/s) 203s (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 ... 81647 files and directories currently installed.) 203s Preparing to unpack .../libc6-dev_2.41-1ubuntu2_arm64.deb ... 203s Unpacking libc6-dev:arm64 (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 203s Preparing to unpack .../libc-dev-bin_2.41-1ubuntu2_arm64.deb ... 203s Unpacking libc-dev-bin (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 203s Preparing to unpack .../libc6_2.41-1ubuntu2_arm64.deb ... 203s Unpacking libc6:arm64 (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 204s Setting up libc6:arm64 (2.41-1ubuntu2) ... 204s (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 ... 81647 files and directories currently installed.) 204s Preparing to unpack .../libc-bin_2.41-1ubuntu2_arm64.deb ... 204s Unpacking libc-bin (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 204s Setting up libc-bin (2.41-1ubuntu2) ... 204s (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 ... 81647 files and directories currently installed.) 204s Preparing to unpack .../locales_2.41-1ubuntu2_all.deb ... 204s Unpacking locales (2.41-1ubuntu2) over (2.41-1ubuntu1) ... 204s Setting up locales (2.41-1ubuntu2) ... 205s Generating locales (this might take a while)... 207s en_US.UTF-8... done 207s Generation complete. 207s Setting up libc-dev-bin (2.41-1ubuntu2) ... 207s Setting up libc6-dev:arm64 (2.41-1ubuntu2) ... 207s Processing triggers for man-db (2.13.0-1) ... 208s Processing triggers for systemd (257.3-1ubuntu3) ... 209s Reading package lists... 209s Building dependency tree... 209s Reading state information... 210s Starting pkgProblemResolver with broken count: 0 210s Starting 2 pkgProblemResolver with broken count: 0 210s Done 210s Solving dependencies... 211s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 211s autopkgtest [13:52:13]: rebooting testbed after setup commands that affected boot 234s autopkgtest [13:52:36]: testbed running kernel: Linux 6.14.0-10-generic #10-Ubuntu SMP PREEMPT_DYNAMIC Wed Mar 12 15:45:31 UTC 2025 237s autopkgtest [13:52:39]: @@@@@@@@@@@@@@@@@@@@ apt-source octave-image 239s Get:1 http://ftpmaster.internal/ubuntu plucky/universe octave-image 2.14.0-5build1 (dsc) [2123 B] 239s Get:2 http://ftpmaster.internal/ubuntu plucky/universe octave-image 2.14.0-5build1 (tar) [468 kB] 239s Get:3 http://ftpmaster.internal/ubuntu plucky/universe octave-image 2.14.0-5build1 (diff) [11.7 kB] 239s gpgv: Signature made Tue May 14 09:44:36 2024 UTC 239s gpgv: using RSA key 25E3FF2D7F469DBE7D0D4E50AFCFEC8E669CE1C2 239s gpgv: Can't check signature: No public key 239s dpkg-source: warning: cannot verify inline signature for ./octave-image_2.14.0-5build1.dsc: no acceptable signature found 239s autopkgtest [13:52:41]: testing package octave-image version 2.14.0-5build1 240s autopkgtest [13:52:42]: build not needed 241s autopkgtest [13:52:43]: test command1: preparing testbed 242s Reading package lists... 242s Building dependency tree... 242s Reading state information... 242s Starting pkgProblemResolver with broken count: 0 242s Starting 2 pkgProblemResolver with broken count: 0 242s Done 243s The following NEW packages will be installed: 243s aglfn appstream autoconf automake autopoint autotools-dev cme comerr-dev cpp 243s cpp-14 cpp-14-aarch64-linux-gnu cpp-aarch64-linux-gnu debhelper debugedit 243s dh-autoreconf dh-octave dh-octave-autopkgtest dh-strip-nondeterminism 243s diffstat dwz fontconfig fontconfig-config fonts-dejavu-core 243s fonts-dejavu-mono fonts-freefont-otf g++ g++-14 g++-14-aarch64-linux-gnu 243s g++-aarch64-linux-gnu gcc gcc-14 gcc-14-aarch64-linux-gnu 243s gcc-aarch64-linux-gnu gettext gfortran gfortran-14 243s gfortran-14-aarch64-linux-gnu gfortran-aarch64-linux-gnu gnuplot-data 243s gnuplot-nox hdf5-helpers intltool-debian krb5-multidev libaec-dev libaec0 243s libalgorithm-c3-perl libaliased-perl libamd3 libaom3 libapp-cmd-perl 243s libappstream5 libapt-pkg-perl libarchive-zip-perl libarpack2t64 243s libarray-intspan-perl libasan8 libasound2-data libasound2t64 243s libavahi-client3 libavahi-common-data libavahi-common3 243s libb-hooks-endofscope-perl libb-hooks-op-check-perl libb2-1 243s libberkeleydb-perl libblas-dev libblas3 libboolean-perl libbrotli-dev 243s libcairo2 libcamd3 libcapture-tiny-perl libcarp-assert-more-perl libcc1-0 243s libccolamd3 libcgi-pm-perl libcholmod5 libclass-c3-perl 243s libclass-data-inheritable-perl libclass-inspector-perl libclass-load-perl 243s libclass-method-modifiers-perl libclass-xsaccessor-perl libclone-choose-perl 243s libclone-perl libcolamd3 libconfig-model-backend-yaml-perl 243s libconfig-model-dpkg-perl libconfig-model-perl libconfig-tiny-perl 243s libconst-fast-perl libconvert-binhex-perl libcpanel-json-xs-perl libcups2t64 243s libcurl4-openssl-dev libcxsparse4 libdata-dpath-perl 243s libdata-messagepack-perl libdata-optlist-perl libdata-section-perl 243s libdata-validate-domain-perl libdata-validate-ip-perl 243s libdata-validate-uri-perl libdatrie1 libde265-0 libdebhelper-perl 243s libdeflate0 libdevel-callchecker-perl libdevel-size-perl 243s libdevel-stacktrace-perl libdouble-conversion3 libduktape207 243s libdynaloader-functions-perl libegl-mesa0 libegl1 libemail-address-xs-perl 243s libencode-locale-perl liberror-perl libevent-2.1-7t64 243s libexception-class-perl libexporter-lite-perl libexporter-tiny-perl 243s libfftw3-bin libfftw3-dev libfftw3-double3 libfftw3-long3 libfftw3-single3 243s libfile-basedir-perl libfile-find-rule-perl libfile-homedir-perl 243s libfile-listing-perl libfile-sharedir-perl libfile-stripnondeterminism-perl 243s libfile-which-perl libflac12t64 libfltk-gl1.3t64 libfltk1.3t64 243s libfont-ttf-perl libfontconfig1 libfontenc1 libgbm1 libgcc-14-dev libgd3 243s libgetopt-long-descriptive-perl libgfortran-14-dev libgfortran5 libgl-dev 243s libgl1 libgl1-mesa-dri libgl2ps1.4 libglpk40 libglu1-mesa libglvnd0 243s libglx-dev libglx-mesa0 libglx0 libgmp-dev libgmpxx4ldbl libgnutls-dane0t64 243s libgnutls-openssl27t64 libgnutls28-dev libgomp1 243s libgraphicsmagick++-q16-12t64 libgraphicsmagick-q16-3t64 libgraphite2-3 243s libgssrpc4t64 libharfbuzz0b libhash-merge-perl libhdf5-310 libhdf5-cpp-310 243s libhdf5-dev libhdf5-fortran-310 libhdf5-hl-310 libhdf5-hl-cpp-310 243s libhdf5-hl-fortran-310 libheif-plugin-aomdec libheif-plugin-libde265 243s libheif1 libhtml-form-perl libhtml-html5-entities-perl libhtml-parser-perl 243s libhtml-tagset-perl libhtml-tokeparser-simple-perl libhtml-tree-perl 243s libhttp-cookies-perl libhttp-date-perl libhttp-message-perl 243s libhttp-negotiate-perl libhwasan0 libhwy1t64 libice6 libidn2-dev 243s libimagequant0 libimport-into-perl libindirect-perl libinput-bin libinput10 243s libio-html-perl libio-interactive-perl libio-socket-ssl-perl 243s libio-string-perl libio-stringy-perl libio-tiecombine-perl libipc-run3-perl 243s libipc-system-simple-perl libisl23 libiterator-perl libiterator-util-perl 243s libitm1 libjack-jackd2-0 libjbig0 libjpeg-dev libjpeg-turbo8 243s libjpeg-turbo8-dev libjpeg8 libjpeg8-dev libjson-maybexs-perl libjson-perl 243s libjxl0.11 libkadm5clnt-mit12 libkadm5srv-mit12 libkdb5-10t64 libkrb5-dev 243s liblapack-dev liblapack3 liblcms2-2 libldap-dev liblerc4 243s liblist-compare-perl liblist-moreutils-perl liblist-moreutils-xs-perl 243s liblist-someutils-perl liblist-utilsby-perl liblog-any-adapter-screen-perl 243s liblog-any-perl liblog-log4perl-perl liblsan0 libltdl7 liblua5.4-0 243s liblwp-mediatypes-perl liblwp-protocol-https-perl libmailtools-perl 243s libmarkdown2 libmd4c0 libmime-tools-perl libmldbm-perl 243s libmodule-implementation-perl libmodule-pluggable-perl 243s libmodule-runtime-perl libmoo-perl libmoox-aliases-perl libmouse-perl 243s libmousex-nativetraits-perl libmousex-strictconstructor-perl libmp3lame0 243s libmpc3 libmpg123-0t64 libmro-compat-perl libmtdev1t64 243s libnamespace-clean-perl libncurses-dev libnet-domain-tld-perl 243s libnet-http-perl libnet-ipv6addr-perl libnet-netmask-perl 243s libnet-smtp-ssl-perl libnet-ssleay-perl libnetaddr-ip-perl libnghttp2-dev 243s libnumber-compare-perl libobject-pad-perl libogg0 libopengl0 libopus0 243s libp11-kit-dev libpackage-stash-perl libpango-1.0-0 libpangocairo-1.0-0 243s libpangoft2-1.0-0 libparams-classify-perl libparams-util-perl 243s libparams-validate-perl libparse-debcontrol-perl libparse-recdescent-perl 243s libpath-iterator-rule-perl libpath-tiny-perl libpcre2-16-0 243s libperlio-gzip-perl libperlio-utf8-strict-perl libpixman-1-0 libpkgconf3 243s libpod-constants-perl libpod-parser-perl libpod-pom-perl libportaudio2 243s libproc-processtable-perl libproxy1v5 libpsl-dev libqhull-r8.0 libqrupdate1 243s libqscintilla2-qt6-15 libqscintilla2-qt6-l10n libqt6core5compat6 243s libqt6core6t64 libqt6dbus6 libqt6gui6 libqt6help6 libqt6network6 243s libqt6opengl6 libqt6openglwidgets6 libqt6printsupport6 libqt6sql6 243s libqt6widgets6 libqt6xml6 libraqm0 libreadline-dev libregexp-common-perl 243s libregexp-pattern-license-perl libregexp-pattern-perl 243s libregexp-wildcards-perl librole-tiny-perl librtmp-dev libsamplerate0 243s libsereal-decoder-perl libsereal-encoder-perl libset-intspan-perl 243s libsharpyuv0 libsm6 libsndfile1 libsoftware-copyright-perl 243s libsoftware-license-perl libsoftware-licensemoreutils-perl 243s libsort-versions-perl libspqr4 libssh2-1-dev libssl-dev libstdc++-14-dev 243s libstemmer0d libstrictures-perl libstring-copyright-perl 243s libstring-escape-perl libstring-license-perl libstring-rewriteprefix-perl 243s libsub-exporter-perl libsub-exporter-progressive-perl libsub-identify-perl 243s libsub-install-perl libsub-name-perl libsub-quote-perl libsub-uplevel-perl 243s libsuitesparseconfig7 libsyntax-keyword-try-perl libsz2 libtasn1-6-dev 243s libterm-readkey-perl libtest-exception-perl libtext-autoformat-perl 243s libtext-glob-perl libtext-levenshtein-damerau-perl 243s libtext-levenshteinxs-perl libtext-markdown-discount-perl 243s libtext-reform-perl libtext-template-perl libtext-unidecode-perl 243s libtext-xslate-perl libthai-data libthai0 libtiff6 libtime-duration-perl 243s libtime-moment-perl libtimedate-perl libtoml-tiny-perl libtool 243s libtry-tiny-perl libts0t64 libtsan2 libubsan1 libumfpack6 libunbound8 243s libunicode-utf8-perl libunwind8 liburi-perl libvariable-magic-perl 243s libvorbis0a libvorbisenc2 libvulkan1 libwacom-common libwacom9 243s libwayland-client0 libwayland-server0 libwebp7 libwebpmux3 libwmflite-0.2-7 243s libwww-mechanize-perl libwww-perl libwww-robotrules-perl libx11-dev 243s libx11-xcb1 libxau-dev libxaw7 libxcb-cursor0 libxcb-dri3-0 libxcb-glx0 243s libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-present0 libxcb-randr0 243s libxcb-render-util0 libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb-sync1 243s libxcb-util1 libxcb-xfixes0 libxcb-xinput0 libxcb-xkb1 libxcb1-dev 243s libxcursor1 libxdmcp-dev libxfixes3 libxfont2 libxft2 libxinerama1 243s libxkbcommon-x11-0 libxkbfile1 libxml-libxml-perl 243s libxml-namespacesupport-perl libxml-sax-base-perl libxml-sax-perl libxmu6 243s libxpm4 libxrandr2 libxrender1 libxs-parse-keyword-perl 243s libxs-parse-sublike-perl libxshmfence1 libxt6t64 libxxf86vm1 243s libyaml-libyaml-perl libyaml-pp-perl libyaml-tiny-perl libzstd-dev 243s licensecheck lintian lzip lzop m4 mesa-libgallium nettle-dev octave 243s octave-common octave-dev octave-image patchutils perl-openssl-defaults 243s pkgconf pkgconf-bin po-debconf t1utils tex-common texinfo texinfo-lib unzip 243s x11-common x11-xkb-utils x11proto-dev xorg-sgml-doctools xserver-common 243s xtrans-dev xvfb zlib1g-dev 243s 0 upgraded, 472 newly installed, 0 to remove and 0 not upgraded. 243s Need to get 183 MB of archives. 243s After this operation, 660 MB of additional disk space will be used. 243s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libstemmer0d arm64 2.2.0-4build1 [160 kB] 244s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 libappstream5 arm64 1.0.4-1 [239 kB] 244s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 appstream arm64 1.0.4-1 [72.3 kB] 244s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 m4 arm64 1.4.19-7 [244 kB] 244s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 autoconf all 2.72-3ubuntu1 [383 kB] 245s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 autotools-dev all 20220109.1 [44.9 kB] 245s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 automake all 1:1.17-3ubuntu1 [572 kB] 245s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 autopoint all 0.23.1-1 [619 kB] 246s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libcapture-tiny-perl all 0.50-1 [20.7 kB] 246s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 libparams-util-perl arm64 1.102-3build1 [20.6 kB] 246s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 libsub-install-perl all 0.929-1 [9764 B] 246s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 libdata-optlist-perl all 0.114-1 [9708 B] 246s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 libb-hooks-op-check-perl arm64 0.22-3build2 [9348 B] 246s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libdynaloader-functions-perl all 0.004-1 [11.4 kB] 246s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libdevel-callchecker-perl arm64 0.009-1build1 [14.0 kB] 246s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libparams-classify-perl arm64 0.015-2build6 [19.8 kB] 246s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libmodule-runtime-perl all 0.016-2 [16.4 kB] 246s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 libtry-tiny-perl all 0.32-1 [21.2 kB] 246s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 libmodule-implementation-perl all 0.09-2 [12.0 kB] 246s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 libpackage-stash-perl all 0.40-1 [19.5 kB] 246s Get:21 http://ftpmaster.internal/ubuntu plucky/universe arm64 libclass-load-perl all 0.25-2 [12.7 kB] 246s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-stringy-perl all 2.113-2 [45.3 kB] 246s Get:23 http://ftpmaster.internal/ubuntu plucky/universe arm64 libparams-validate-perl arm64 1.31-2build4 [52.1 kB] 246s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 libsub-exporter-perl all 0.990-1 [49.0 kB] 246s Get:25 http://ftpmaster.internal/ubuntu plucky/universe arm64 libgetopt-long-descriptive-perl all 0.116-2 [25.0 kB] 246s Get:26 http://ftpmaster.internal/ubuntu plucky/universe arm64 libio-tiecombine-perl all 1.005-3 [9464 B] 246s Get:27 http://ftpmaster.internal/ubuntu plucky/universe arm64 libmodule-pluggable-perl all 5.2-5 [19.5 kB] 246s Get:28 http://ftpmaster.internal/ubuntu plucky/universe arm64 libstring-rewriteprefix-perl all 0.009-1 [6310 B] 246s Get:29 http://ftpmaster.internal/ubuntu plucky/universe arm64 libapp-cmd-perl all 0.337-2 [58.3 kB] 246s Get:30 http://ftpmaster.internal/ubuntu plucky/universe arm64 libboolean-perl all 0.46-3 [8430 B] 246s Get:31 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsub-uplevel-perl all 0.2800-3 [11.6 kB] 246s Get:32 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtest-exception-perl all 0.43-3 [13.4 kB] 246s Get:33 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcarp-assert-more-perl all 2.8.0-1 [19.2 kB] 246s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 libfile-which-perl all 1.27-2 [12.5 kB] 246s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 libfile-homedir-perl all 1.006-2 [37.0 kB] 246s Get:36 http://ftpmaster.internal/ubuntu plucky/universe arm64 libclone-choose-perl all 0.010-2 [7738 B] 246s Get:37 http://ftpmaster.internal/ubuntu plucky/universe arm64 libhash-merge-perl all 0.302-1 [13.0 kB] 246s Get:38 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-perl all 4.10000-1 [81.9 kB] 246s Get:39 http://ftpmaster.internal/ubuntu plucky/main arm64 libexporter-tiny-perl all 1.006002-1 [36.8 kB] 246s Get:40 http://ftpmaster.internal/ubuntu plucky/universe arm64 liblist-moreutils-xs-perl arm64 0.430-4build1 [39.9 kB] 246s Get:41 http://ftpmaster.internal/ubuntu plucky/universe arm64 liblist-moreutils-perl all 0.430-2 [38.2 kB] 246s Get:42 http://ftpmaster.internal/ubuntu plucky/universe arm64 liblog-log4perl-perl all 1.57-1 [345 kB] 247s Get:43 http://ftpmaster.internal/ubuntu plucky/main arm64 libmouse-perl arm64 2.5.11-1build1 [133 kB] 247s Get:44 http://ftpmaster.internal/ubuntu plucky/universe arm64 libmousex-nativetraits-perl all 1.09-3 [53.2 kB] 247s Get:45 http://ftpmaster.internal/ubuntu plucky/universe arm64 libmousex-strictconstructor-perl all 0.02-3 [4582 B] 247s Get:46 http://ftpmaster.internal/ubuntu plucky/universe arm64 libparse-recdescent-perl all 1.967015+dfsg-4 [139 kB] 247s Get:47 http://ftpmaster.internal/ubuntu plucky/main arm64 libpath-tiny-perl all 0.146-1 [47.5 kB] 247s Get:48 http://ftpmaster.internal/ubuntu plucky/universe arm64 libpod-pom-perl all 2.01-4 [61.3 kB] 247s Get:49 http://ftpmaster.internal/ubuntu plucky/main arm64 libregexp-common-perl all 2024080801-1 [162 kB] 247s Get:50 http://ftpmaster.internal/ubuntu plucky/main arm64 libyaml-tiny-perl all 1.76-1 [24.2 kB] 247s Get:51 http://ftpmaster.internal/ubuntu plucky/universe arm64 libconfig-model-perl all 2.155-1 [356 kB] 248s Get:52 http://ftpmaster.internal/ubuntu plucky/universe arm64 libyaml-pp-perl all 0.39.0-1 [107 kB] 248s Get:53 http://ftpmaster.internal/ubuntu plucky/universe arm64 cme all 1.041-1 [65.4 kB] 248s Get:54 http://ftpmaster.internal/ubuntu plucky/main arm64 libisl23 arm64 0.27-1 [676 kB] 249s Get:55 http://ftpmaster.internal/ubuntu plucky/main arm64 libmpc3 arm64 1.3.1-1build2 [56.8 kB] 249s Get:56 http://ftpmaster.internal/ubuntu plucky/main arm64 cpp-14-aarch64-linux-gnu arm64 14.2.0-17ubuntu3 [10.6 MB] 259s Get:57 http://ftpmaster.internal/ubuntu plucky/main arm64 cpp-14 arm64 14.2.0-17ubuntu3 [1028 B] 259s Get:58 http://ftpmaster.internal/ubuntu plucky/main arm64 cpp-aarch64-linux-gnu arm64 4:14.2.0-1ubuntu1 [5558 B] 259s Get:59 http://ftpmaster.internal/ubuntu plucky/main arm64 cpp arm64 4:14.2.0-1ubuntu1 [22.4 kB] 259s Get:60 http://ftpmaster.internal/ubuntu plucky/main arm64 libdebhelper-perl all 13.24.1ubuntu2 [95.4 kB] 259s Get:61 http://ftpmaster.internal/ubuntu plucky/main arm64 libcc1-0 arm64 15-20250222-0ubuntu1 [44.2 kB] 259s Get:62 http://ftpmaster.internal/ubuntu plucky/main arm64 libgomp1 arm64 15-20250222-0ubuntu1 [146 kB] 259s Get:63 http://ftpmaster.internal/ubuntu plucky/main arm64 libitm1 arm64 15-20250222-0ubuntu1 [28.0 kB] 259s Get:64 http://ftpmaster.internal/ubuntu plucky/main arm64 libasan8 arm64 15-20250222-0ubuntu1 [2924 kB] 263s Get:65 http://ftpmaster.internal/ubuntu plucky/main arm64 liblsan0 arm64 15-20250222-0ubuntu1 [1319 kB] 264s Get:66 http://ftpmaster.internal/ubuntu plucky/main arm64 libtsan2 arm64 15-20250222-0ubuntu1 [2694 kB] 267s Get:67 http://ftpmaster.internal/ubuntu plucky/main arm64 libubsan1 arm64 15-20250222-0ubuntu1 [1178 kB] 268s Get:68 http://ftpmaster.internal/ubuntu plucky/main arm64 libhwasan0 arm64 15-20250222-0ubuntu1 [1642 kB] 270s Get:69 http://ftpmaster.internal/ubuntu plucky/main arm64 libgcc-14-dev arm64 14.2.0-17ubuntu3 [2593 kB] 273s Get:70 http://ftpmaster.internal/ubuntu plucky/main arm64 gcc-14-aarch64-linux-gnu arm64 14.2.0-17ubuntu3 [20.9 MB] 296s Get:71 http://ftpmaster.internal/ubuntu plucky/main arm64 gcc-14 arm64 14.2.0-17ubuntu3 [526 kB] 296s Get:72 http://ftpmaster.internal/ubuntu plucky/main arm64 gcc-aarch64-linux-gnu arm64 4:14.2.0-1ubuntu1 [1200 B] 296s Get:73 http://ftpmaster.internal/ubuntu plucky/main arm64 gcc arm64 4:14.2.0-1ubuntu1 [4998 B] 296s Get:74 http://ftpmaster.internal/ubuntu plucky/main arm64 libtool all 2.5.4-4 [168 kB] 296s Get:75 http://ftpmaster.internal/ubuntu plucky/main arm64 dh-autoreconf all 20 [16.1 kB] 296s Get:76 http://ftpmaster.internal/ubuntu plucky/main arm64 libarchive-zip-perl all 1.68-1 [90.2 kB] 296s Get:77 http://ftpmaster.internal/ubuntu plucky/main arm64 libfile-stripnondeterminism-perl all 1.14.1-2 [20.3 kB] 296s Get:78 http://ftpmaster.internal/ubuntu plucky/main arm64 dh-strip-nondeterminism all 1.14.1-2 [5064 B] 296s Get:79 http://ftpmaster.internal/ubuntu plucky/main arm64 debugedit arm64 1:5.1-2 [46.1 kB] 296s Get:80 http://ftpmaster.internal/ubuntu plucky/main arm64 dwz arm64 0.15-1build6 [113 kB] 297s Get:81 http://ftpmaster.internal/ubuntu plucky/main arm64 gettext arm64 0.23.1-1 [998 kB] 297s Get:82 http://ftpmaster.internal/ubuntu plucky/main arm64 intltool-debian all 0.35.0+20060710.6 [23.2 kB] 298s Get:83 http://ftpmaster.internal/ubuntu plucky/main arm64 po-debconf all 1.0.21+nmu1 [233 kB] 298s Get:84 http://ftpmaster.internal/ubuntu plucky/main arm64 debhelper all 13.24.1ubuntu2 [895 kB] 299s Get:85 http://ftpmaster.internal/ubuntu plucky/universe arm64 aglfn all 1.7+git20191031.4036a9c-2 [30.6 kB] 299s Get:86 http://ftpmaster.internal/ubuntu plucky/universe arm64 gnuplot-data all 6.0.2+dfsg1-1 [75.4 kB] 299s Get:87 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-dejavu-mono all 2.37-8 [502 kB] 299s Get:88 http://ftpmaster.internal/ubuntu plucky/main arm64 fonts-dejavu-core all 2.37-8 [835 kB] 300s Get:89 http://ftpmaster.internal/ubuntu plucky/universe arm64 fonts-freefont-otf all 20211204+svn4273-2 [4596 kB] 305s Get:90 http://ftpmaster.internal/ubuntu plucky/main arm64 fontconfig-config arm64 2.15.0-2ubuntu1 [37.5 kB] 305s Get:91 http://ftpmaster.internal/ubuntu plucky/main arm64 libfontconfig1 arm64 2.15.0-2ubuntu1 [144 kB] 305s Get:92 http://ftpmaster.internal/ubuntu plucky/main arm64 libpixman-1-0 arm64 0.44.0-3 [197 kB] 305s Get:93 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-render0 arm64 1.17.0-2 [16.6 kB] 305s Get:94 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-shm0 arm64 1.17.0-2 [5884 B] 305s Get:95 http://ftpmaster.internal/ubuntu plucky/main arm64 libxrender1 arm64 1:0.9.10-1.1build1 [18.8 kB] 305s Get:96 http://ftpmaster.internal/ubuntu plucky/main arm64 libcairo2 arm64 1.18.2-2 [560 kB] 306s Get:97 http://ftpmaster.internal/ubuntu plucky/main arm64 libsharpyuv0 arm64 1.5.0-0.1 [16.9 kB] 306s Get:98 http://ftpmaster.internal/ubuntu plucky/main arm64 libaom3 arm64 3.12.0-1 [1828 kB] 308s Get:99 http://ftpmaster.internal/ubuntu plucky/main arm64 libheif-plugin-aomdec arm64 1.19.7-1 [11.4 kB] 308s Get:100 http://ftpmaster.internal/ubuntu plucky/main arm64 libde265-0 arm64 1.0.15-1build5 [146 kB] 308s Get:101 http://ftpmaster.internal/ubuntu plucky/main arm64 libheif-plugin-libde265 arm64 1.19.7-1 [8890 B] 308s Get:102 http://ftpmaster.internal/ubuntu plucky/main arm64 libheif1 arm64 1.19.7-1 [371 kB] 309s Get:103 http://ftpmaster.internal/ubuntu plucky/main arm64 libimagequant0 arm64 2.18.0-1build1 [37.1 kB] 309s Get:104 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg-turbo8 arm64 2.1.5-3ubuntu2 [165 kB] 309s Get:105 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg8 arm64 8c-2ubuntu11 [2148 B] 309s Get:106 http://ftpmaster.internal/ubuntu plucky/main arm64 libgraphite2-3 arm64 1.3.14-2ubuntu1 [70.6 kB] 309s Get:107 http://ftpmaster.internal/ubuntu plucky/main arm64 libharfbuzz0b arm64 10.2.0-1 [490 kB] 309s Get:108 http://ftpmaster.internal/ubuntu plucky/main arm64 libraqm0 arm64 0.10.2-1 [14.9 kB] 309s Get:109 http://ftpmaster.internal/ubuntu plucky/main arm64 libdeflate0 arm64 1.23-1 [46.2 kB] 309s Get:110 http://ftpmaster.internal/ubuntu plucky/main arm64 libjbig0 arm64 2.1-6.1ubuntu2 [29.3 kB] 310s Get:111 http://ftpmaster.internal/ubuntu plucky/main arm64 liblerc4 arm64 4.0.0+ds-5ubuntu1 [167 kB] 310s Get:112 http://ftpmaster.internal/ubuntu plucky/main arm64 libwebp7 arm64 1.5.0-0.1 [194 kB] 310s Get:113 http://ftpmaster.internal/ubuntu plucky/main arm64 libtiff6 arm64 4.5.1+git230720-4ubuntu4 [193 kB] 310s Get:114 http://ftpmaster.internal/ubuntu plucky/main arm64 libxpm4 arm64 1:3.5.17-1build2 [35.1 kB] 310s Get:115 http://ftpmaster.internal/ubuntu plucky/main arm64 libgd3 arm64 2.3.3-12ubuntu3 [122 kB] 310s Get:116 http://ftpmaster.internal/ubuntu plucky/main arm64 liblua5.4-0 arm64 5.4.7-1 [158 kB] 310s Get:117 http://ftpmaster.internal/ubuntu plucky/main arm64 fontconfig arm64 2.15.0-2ubuntu1 [191 kB] 311s Get:118 http://ftpmaster.internal/ubuntu plucky/main arm64 libthai-data all 0.1.29-2build1 [158 kB] 311s Get:119 http://ftpmaster.internal/ubuntu plucky/main arm64 libdatrie1 arm64 0.2.13-3build1 [19.2 kB] 311s Get:120 http://ftpmaster.internal/ubuntu plucky/main arm64 libthai0 arm64 0.1.29-2build1 [18.2 kB] 311s Get:121 http://ftpmaster.internal/ubuntu plucky/main arm64 libpango-1.0-0 arm64 1.56.2-1 [237 kB] 311s Get:122 http://ftpmaster.internal/ubuntu plucky/main arm64 libpangoft2-1.0-0 arm64 1.56.2-1 [49.5 kB] 311s Get:123 http://ftpmaster.internal/ubuntu plucky/main arm64 libpangocairo-1.0-0 arm64 1.56.2-1 [27.6 kB] 311s Get:124 http://ftpmaster.internal/ubuntu plucky/main arm64 libwebpmux3 arm64 1.5.0-0.1 [25.4 kB] 311s Get:125 http://ftpmaster.internal/ubuntu plucky/universe arm64 gnuplot-nox arm64 6.0.2+dfsg1-1 [980 kB] 312s Get:126 http://ftpmaster.internal/ubuntu plucky/universe arm64 dh-octave-autopkgtest all 1.8.0 [10.1 kB] 312s Get:127 http://ftpmaster.internal/ubuntu plucky/main arm64 libapt-pkg-perl arm64 0.1.41build1 [67.7 kB] 312s Get:128 http://ftpmaster.internal/ubuntu plucky/main arm64 libarray-intspan-perl all 2.004-2 [25.0 kB] 312s Get:129 http://ftpmaster.internal/ubuntu plucky/main arm64 libyaml-libyaml-perl arm64 0.903.0+ds-1 [30.4 kB] 312s Get:130 http://ftpmaster.internal/ubuntu plucky/universe arm64 libconfig-model-backend-yaml-perl all 2.134-2 [10.5 kB] 312s Get:131 http://ftpmaster.internal/ubuntu plucky/universe arm64 libexporter-lite-perl all 0.09-2 [9748 B] 312s Get:132 http://ftpmaster.internal/ubuntu plucky/main arm64 libencode-locale-perl all 1.05-3 [11.6 kB] 313s Get:133 http://ftpmaster.internal/ubuntu plucky/main arm64 libtimedate-perl all 2.3300-2 [34.0 kB] 313s Get:134 http://ftpmaster.internal/ubuntu plucky/main arm64 libhttp-date-perl all 6.06-1 [10.2 kB] 313s Get:135 http://ftpmaster.internal/ubuntu plucky/main arm64 libfile-listing-perl all 6.16-1 [11.3 kB] 313s Get:136 http://ftpmaster.internal/ubuntu plucky/main arm64 libhtml-tagset-perl all 3.24-1 [14.1 kB] 313s Get:137 http://ftpmaster.internal/ubuntu plucky/main arm64 liburi-perl all 5.30-1 [94.4 kB] 313s Get:138 http://ftpmaster.internal/ubuntu plucky/main arm64 libhtml-parser-perl arm64 3.83-1build1 [85.3 kB] 313s Get:139 http://ftpmaster.internal/ubuntu plucky/main arm64 libhtml-tree-perl all 5.07-3 [200 kB] 313s Get:140 http://ftpmaster.internal/ubuntu plucky/main arm64 libclone-perl arm64 0.47-1 [10.4 kB] 313s Get:141 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-html-perl all 1.004-3 [15.9 kB] 313s Get:142 http://ftpmaster.internal/ubuntu plucky/main arm64 liblwp-mediatypes-perl all 6.04-2 [20.1 kB] 313s Get:143 http://ftpmaster.internal/ubuntu plucky/main arm64 libhttp-message-perl all 7.00-2ubuntu1 [75.9 kB] 313s Get:144 http://ftpmaster.internal/ubuntu plucky/main arm64 libhttp-cookies-perl all 6.11-1 [18.2 kB] 313s Get:145 http://ftpmaster.internal/ubuntu plucky/main arm64 libhttp-negotiate-perl all 6.01-2 [12.4 kB] 313s Get:146 http://ftpmaster.internal/ubuntu plucky/main arm64 perl-openssl-defaults arm64 7build3 [6628 B] 313s Get:147 http://ftpmaster.internal/ubuntu plucky/main arm64 libnet-ssleay-perl arm64 1.94-3 [307 kB] 313s Get:148 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-socket-ssl-perl all 2.089-1 [200 kB] 314s Get:149 http://ftpmaster.internal/ubuntu plucky/main arm64 libnet-http-perl all 6.23-1 [22.3 kB] 314s Get:150 http://ftpmaster.internal/ubuntu plucky/main arm64 liblwp-protocol-https-perl all 6.14-1 [9040 B] 314s Get:151 http://ftpmaster.internal/ubuntu plucky/main arm64 libwww-robotrules-perl all 6.02-1 [12.6 kB] 314s Get:152 http://ftpmaster.internal/ubuntu plucky/main arm64 libwww-perl all 6.78-1 [139 kB] 314s Get:153 http://ftpmaster.internal/ubuntu plucky/main arm64 liberror-perl all 0.17030-1 [23.5 kB] 314s Get:154 http://ftpmaster.internal/ubuntu plucky/universe arm64 libparse-debcontrol-perl all 2.005-6 [20.4 kB] 314s Get:155 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsoftware-copyright-perl all 0.014-1 [14.5 kB] 314s Get:156 http://ftpmaster.internal/ubuntu plucky/universe arm64 libalgorithm-c3-perl all 0.11-2 [10.2 kB] 314s Get:157 http://ftpmaster.internal/ubuntu plucky/universe arm64 libclass-c3-perl all 0.35-2 [18.4 kB] 314s Get:158 http://ftpmaster.internal/ubuntu plucky/universe arm64 libmro-compat-perl all 0.15-2 [10.1 kB] 314s Get:159 http://ftpmaster.internal/ubuntu plucky/universe arm64 libdata-section-perl all 0.200008-1 [11.6 kB] 314s Get:160 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtext-template-perl all 1.61-1 [48.5 kB] 314s Get:161 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsoftware-license-perl all 0.104006-1 [117 kB] 314s Get:162 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsoftware-licensemoreutils-perl all 1.009-1 [21.5 kB] 314s Get:163 http://ftpmaster.internal/ubuntu plucky/main arm64 libsort-versions-perl all 1.62-3 [7378 B] 314s Get:164 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtext-reform-perl all 1.20-5 [35.4 kB] 314s Get:165 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtext-autoformat-perl all 1.750000-2 [29.8 kB] 314s Get:166 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtext-levenshtein-damerau-perl all 0.41-3 [10.8 kB] 314s Get:167 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtoml-tiny-perl all 0.19-1 [21.6 kB] 314s Get:168 http://ftpmaster.internal/ubuntu plucky/main arm64 libclass-inspector-perl all 1.36-3 [15.4 kB] 314s Get:169 http://ftpmaster.internal/ubuntu plucky/main arm64 libfile-sharedir-perl all 1.118-3 [14.0 kB] 314s Get:170 http://ftpmaster.internal/ubuntu plucky/main arm64 libindirect-perl arm64 0.39-2build5 [21.7 kB] 314s Get:171 http://ftpmaster.internal/ubuntu plucky/main arm64 libxs-parse-keyword-perl arm64 0.48-2 [61.4 kB] 314s Get:172 http://ftpmaster.internal/ubuntu plucky/main arm64 libxs-parse-sublike-perl arm64 0.37-1 [42.3 kB] 314s Get:173 http://ftpmaster.internal/ubuntu plucky/main arm64 libobject-pad-perl arm64 0.820-1 [127 kB] 314s Get:174 http://ftpmaster.internal/ubuntu plucky/main arm64 libsyntax-keyword-try-perl arm64 0.30-1 [24.2 kB] 315s Get:175 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-interactive-perl all 1.026-1 [10.8 kB] 315s Get:176 http://ftpmaster.internal/ubuntu plucky/main arm64 liblog-any-perl all 1.717-1 [73.2 kB] 315s Get:177 http://ftpmaster.internal/ubuntu plucky/main arm64 liblog-any-adapter-screen-perl all 0.141-1 [12.9 kB] 315s Get:178 http://ftpmaster.internal/ubuntu plucky/main arm64 libsub-exporter-progressive-perl all 0.001013-3 [6718 B] 315s Get:179 http://ftpmaster.internal/ubuntu plucky/main arm64 libvariable-magic-perl arm64 0.64-1build1 [35.3 kB] 315s Get:180 http://ftpmaster.internal/ubuntu plucky/main arm64 libb-hooks-endofscope-perl all 0.28-1 [15.8 kB] 315s Get:181 http://ftpmaster.internal/ubuntu plucky/main arm64 libsub-identify-perl arm64 0.14-3build4 [9762 B] 315s Get:182 http://ftpmaster.internal/ubuntu plucky/main arm64 libsub-name-perl arm64 0.28-1 [10.5 kB] 315s Get:183 http://ftpmaster.internal/ubuntu plucky/main arm64 libnamespace-clean-perl all 0.27-2 [14.0 kB] 315s Get:184 http://ftpmaster.internal/ubuntu plucky/main arm64 libnumber-compare-perl all 0.03-3 [5974 B] 315s Get:185 http://ftpmaster.internal/ubuntu plucky/main arm64 libtext-glob-perl all 0.11-3 [6780 B] 315s Get:186 http://ftpmaster.internal/ubuntu plucky/main arm64 libpath-iterator-rule-perl all 1.015-2 [39.9 kB] 315s Get:187 http://ftpmaster.internal/ubuntu plucky/main arm64 libpod-parser-perl all 1.67-1 [80.6 kB] 315s Get:188 http://ftpmaster.internal/ubuntu plucky/main arm64 libpod-constants-perl all 0.19-2 [16.3 kB] 315s Get:189 http://ftpmaster.internal/ubuntu plucky/main arm64 libset-intspan-perl all 1.19-3 [24.8 kB] 315s Get:190 http://ftpmaster.internal/ubuntu plucky/main arm64 libstring-copyright-perl all 0.003014-1 [20.5 kB] 315s Get:191 http://ftpmaster.internal/ubuntu plucky/main arm64 libstring-escape-perl all 2010.002-3 [16.1 kB] 315s Get:192 http://ftpmaster.internal/ubuntu plucky/main arm64 libregexp-pattern-license-perl all 3.11.2-1 [85.3 kB] 315s Get:193 http://ftpmaster.internal/ubuntu plucky/main arm64 libregexp-pattern-perl all 0.2.14-2 [17.6 kB] 315s Get:194 http://ftpmaster.internal/ubuntu plucky/main arm64 libstring-license-perl all 0.0.11-1ubuntu1 [34.3 kB] 315s Get:195 http://ftpmaster.internal/ubuntu plucky/main arm64 licensecheck all 3.3.9-1ubuntu1 [37.7 kB] 315s Get:196 http://ftpmaster.internal/ubuntu plucky/main arm64 diffstat arm64 1.67-1 [29.1 kB] 315s Get:197 http://ftpmaster.internal/ubuntu plucky/main arm64 libberkeleydb-perl arm64 0.66-1 [117 kB] 315s Get:198 http://ftpmaster.internal/ubuntu plucky/main arm64 libclass-xsaccessor-perl arm64 1.19-4build6 [32.8 kB] 315s Get:199 http://ftpmaster.internal/ubuntu plucky/main arm64 libconfig-tiny-perl all 2.30-1 [14.7 kB] 315s Get:200 http://ftpmaster.internal/ubuntu plucky/main arm64 libconst-fast-perl all 0.014-2 [8034 B] 315s Get:201 http://ftpmaster.internal/ubuntu plucky/main arm64 libcpanel-json-xs-perl arm64 4.39-1 [114 kB] 315s Get:202 http://ftpmaster.internal/ubuntu plucky/main arm64 libaliased-perl all 0.34-3 [12.8 kB] 316s Get:203 http://ftpmaster.internal/ubuntu plucky/main arm64 libclass-data-inheritable-perl all 0.10-1 [8038 B] 316s Get:204 http://ftpmaster.internal/ubuntu plucky/main arm64 libdevel-stacktrace-perl all 2.0500-1 [22.1 kB] 316s Get:205 http://ftpmaster.internal/ubuntu plucky/main arm64 libexception-class-perl all 1.45-1 [28.6 kB] 316s Get:206 http://ftpmaster.internal/ubuntu plucky/main arm64 libiterator-perl all 0.03+ds1-2 [18.8 kB] 316s Get:207 http://ftpmaster.internal/ubuntu plucky/main arm64 libiterator-util-perl all 0.02+ds1-2 [14.1 kB] 316s Get:208 http://ftpmaster.internal/ubuntu plucky/main arm64 libdata-dpath-perl all 0.60-1 [37.3 kB] 316s Get:209 http://ftpmaster.internal/ubuntu plucky/main arm64 libnet-domain-tld-perl all 1.75-4 [29.0 kB] 316s Get:210 http://ftpmaster.internal/ubuntu plucky/main arm64 libdata-validate-domain-perl all 0.15-1 [10.4 kB] 316s Get:211 http://ftpmaster.internal/ubuntu plucky/main arm64 libnet-ipv6addr-perl all 1.02-1 [21.0 kB] 316s Get:212 http://ftpmaster.internal/ubuntu plucky/main arm64 libnet-netmask-perl all 2.0002-2 [24.8 kB] 316s Get:213 http://ftpmaster.internal/ubuntu plucky/main arm64 libnetaddr-ip-perl arm64 4.079+dfsg-2build5 [79.9 kB] 316s Get:214 http://ftpmaster.internal/ubuntu plucky/main arm64 libdata-validate-ip-perl all 0.31-1 [17.2 kB] 316s Get:215 http://ftpmaster.internal/ubuntu plucky/main arm64 libdata-validate-uri-perl all 0.07-3 [10.8 kB] 316s Get:216 http://ftpmaster.internal/ubuntu plucky/main arm64 libdevel-size-perl arm64 0.84-1build1 [19.1 kB] 316s Get:217 http://ftpmaster.internal/ubuntu plucky/main arm64 libemail-address-xs-perl arm64 1.05-1build5 [29.0 kB] 316s Get:218 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-system-simple-perl all 1.30-2 [22.3 kB] 316s Get:219 http://ftpmaster.internal/ubuntu plucky/main arm64 libfile-basedir-perl all 0.09-2 [14.4 kB] 316s Get:220 http://ftpmaster.internal/ubuntu plucky/main arm64 libfile-find-rule-perl all 0.34-3 [24.4 kB] 316s Get:221 http://ftpmaster.internal/ubuntu plucky/main arm64 libio-string-perl all 1.08-4 [11.1 kB] 316s Get:222 http://ftpmaster.internal/ubuntu plucky/main arm64 libfont-ttf-perl all 1.06-2 [323 kB] 317s Get:223 http://ftpmaster.internal/ubuntu plucky/main arm64 libhtml-html5-entities-perl all 0.004-3 [21.6 kB] 317s Get:224 http://ftpmaster.internal/ubuntu plucky/main arm64 libhtml-tokeparser-simple-perl all 3.16-4 [38.0 kB] 317s Get:225 http://ftpmaster.internal/ubuntu plucky/main arm64 libipc-run3-perl all 0.049-1 [28.8 kB] 317s Get:226 http://ftpmaster.internal/ubuntu plucky/main arm64 libjson-maybexs-perl all 1.004008-1 [11.1 kB] 317s Get:227 http://ftpmaster.internal/ubuntu plucky/main arm64 liblist-compare-perl all 0.55-2 [62.9 kB] 317s Get:228 http://ftpmaster.internal/ubuntu plucky/main arm64 liblist-someutils-perl all 0.59-1 [30.4 kB] 317s Get:229 http://ftpmaster.internal/ubuntu plucky/main arm64 liblist-utilsby-perl all 0.12-2 [14.9 kB] 317s Get:230 http://ftpmaster.internal/ubuntu plucky/main arm64 libmldbm-perl all 2.05-4 [16.0 kB] 317s Get:231 http://ftpmaster.internal/ubuntu plucky/main arm64 libclass-method-modifiers-perl all 2.15-1 [16.1 kB] 317s Get:232 http://ftpmaster.internal/ubuntu plucky/main arm64 libimport-into-perl all 1.002005-2 [10.7 kB] 317s Get:233 http://ftpmaster.internal/ubuntu plucky/main arm64 librole-tiny-perl all 2.002004-1 [16.3 kB] 317s Get:234 http://ftpmaster.internal/ubuntu plucky/main arm64 libsub-quote-perl all 2.006008-1ubuntu1 [20.7 kB] 317s Get:235 http://ftpmaster.internal/ubuntu plucky/main arm64 libmoo-perl all 2.005005-1 [47.4 kB] 317s Get:236 http://ftpmaster.internal/ubuntu plucky/main arm64 libstrictures-perl all 2.000006-1 [16.3 kB] 317s Get:237 http://ftpmaster.internal/ubuntu plucky/main arm64 libmoox-aliases-perl all 0.001006-2 [6796 B] 317s Get:238 http://ftpmaster.internal/ubuntu plucky/main arm64 libperlio-gzip-perl arm64 0.20-1build5 [14.6 kB] 317s Get:239 http://ftpmaster.internal/ubuntu plucky/main arm64 libperlio-utf8-strict-perl arm64 0.010-1build4 [11.1 kB] 317s Get:240 http://ftpmaster.internal/ubuntu plucky/main arm64 libproc-processtable-perl arm64 0.636-1build4 [35.5 kB] 317s Get:241 http://ftpmaster.internal/ubuntu plucky/main arm64 libregexp-wildcards-perl all 1.05-3 [12.9 kB] 317s Get:242 http://ftpmaster.internal/ubuntu plucky/main arm64 libsereal-decoder-perl arm64 5.004+ds-1build4 [101 kB] 317s Get:243 http://ftpmaster.internal/ubuntu plucky/main arm64 libsereal-encoder-perl arm64 5.004+ds-1build4 [104 kB] 317s Get:244 http://ftpmaster.internal/ubuntu plucky/main arm64 libterm-readkey-perl arm64 2.38-2build5 [23.2 kB] 317s Get:245 http://ftpmaster.internal/ubuntu plucky/main arm64 libtext-levenshteinxs-perl arm64 0.03-5build5 [8052 B] 317s Get:246 http://ftpmaster.internal/ubuntu plucky/main arm64 libmarkdown2 arm64 2.2.7-2.1 [37.2 kB] 317s Get:247 http://ftpmaster.internal/ubuntu plucky/main arm64 libtext-markdown-discount-perl arm64 0.18-1 [12.4 kB] 317s Get:248 http://ftpmaster.internal/ubuntu plucky/main arm64 libdata-messagepack-perl arm64 1.02-1build5 [30.1 kB] 317s Get:249 http://ftpmaster.internal/ubuntu plucky/main arm64 libtext-xslate-perl arm64 3.5.9-2build1 [161 kB] 317s Get:250 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-duration-perl all 1.21-2 [12.3 kB] 317s Get:251 http://ftpmaster.internal/ubuntu plucky/main arm64 libtime-moment-perl arm64 0.44-2build5 [72.1 kB] 317s Get:252 http://ftpmaster.internal/ubuntu plucky/main arm64 libunicode-utf8-perl arm64 0.62-2build4 [17.9 kB] 317s Get:253 http://ftpmaster.internal/ubuntu plucky/main arm64 libcgi-pm-perl all 4.67-1 [185 kB] 318s Get:254 http://ftpmaster.internal/ubuntu plucky/main arm64 libhtml-form-perl all 6.12-1 [31.1 kB] 318s Get:255 http://ftpmaster.internal/ubuntu plucky/main arm64 libwww-mechanize-perl all 2.19-1ubuntu1 [93.3 kB] 318s Get:256 http://ftpmaster.internal/ubuntu plucky/main arm64 libxml-namespacesupport-perl all 1.12-2 [13.5 kB] 318s Get:257 http://ftpmaster.internal/ubuntu plucky/main arm64 libxml-sax-base-perl all 1.09-3 [18.9 kB] 318s Get:258 http://ftpmaster.internal/ubuntu plucky/main arm64 libxml-sax-perl all 1.02+dfsg-4 [52.4 kB] 318s Get:259 http://ftpmaster.internal/ubuntu plucky/main arm64 libxml-libxml-perl arm64 2.0207+dfsg+really+2.0134-5build1 [297 kB] 318s Get:260 http://ftpmaster.internal/ubuntu plucky/main arm64 lzip arm64 1.25-2 [83.5 kB] 318s Get:261 http://ftpmaster.internal/ubuntu plucky/main arm64 lzop arm64 1.04-2build3 [82.8 kB] 318s Get:262 http://ftpmaster.internal/ubuntu plucky/main arm64 patchutils arm64 0.4.2-1build3 [75.3 kB] 318s Get:263 http://ftpmaster.internal/ubuntu plucky/main arm64 t1utils arm64 1.41-4build3 [61.0 kB] 319s Get:264 http://ftpmaster.internal/ubuntu plucky/main arm64 unzip arm64 6.0-28ubuntu6 [178 kB] 319s Get:265 http://ftpmaster.internal/ubuntu plucky/main arm64 lintian all 2.121.1+nmu1ubuntu2 [1075 kB] 320s Get:266 http://ftpmaster.internal/ubuntu plucky/universe arm64 libconfig-model-dpkg-perl all 3.010 [176 kB] 320s Get:267 http://ftpmaster.internal/ubuntu plucky/main arm64 libconvert-binhex-perl all 1.125-3 [27.1 kB] 320s Get:268 http://ftpmaster.internal/ubuntu plucky/main arm64 libnet-smtp-ssl-perl all 1.04-2 [6218 B] 320s Get:269 http://ftpmaster.internal/ubuntu plucky/main arm64 libmailtools-perl all 2.22-1 [77.1 kB] 320s Get:270 http://ftpmaster.internal/ubuntu plucky/main arm64 libmime-tools-perl all 5.515-1 [187 kB] 320s Get:271 http://ftpmaster.internal/ubuntu plucky/main arm64 libsuitesparseconfig7 arm64 1:7.8.3+dfsg-3 [13.2 kB] 320s Get:272 http://ftpmaster.internal/ubuntu plucky/universe arm64 libamd3 arm64 1:7.8.3+dfsg-3 [26.1 kB] 320s Get:273 http://ftpmaster.internal/ubuntu plucky/main arm64 libblas3 arm64 3.12.1-2 [161 kB] 321s Get:274 http://ftpmaster.internal/ubuntu plucky/main arm64 libgfortran5 arm64 15-20250222-0ubuntu1 [444 kB] 321s Get:275 http://ftpmaster.internal/ubuntu plucky/main arm64 liblapack3 arm64 3.12.1-2 [2307 kB] 323s Get:276 http://ftpmaster.internal/ubuntu plucky/universe arm64 libarpack2t64 arm64 3.9.1-4 [94.4 kB] 324s Get:277 http://ftpmaster.internal/ubuntu plucky/universe arm64 libccolamd3 arm64 1:7.8.3+dfsg-3 [25.5 kB] 324s Get:278 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcamd3 arm64 1:7.8.3+dfsg-3 [22.6 kB] 324s Get:279 http://ftpmaster.internal/ubuntu plucky/main arm64 libcolamd3 arm64 1:7.8.3+dfsg-3 [18.3 kB] 324s Get:280 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcholmod5 arm64 1:7.8.3+dfsg-3 [614 kB] 324s Get:281 http://ftpmaster.internal/ubuntu plucky/universe arm64 libcxsparse4 arm64 1:7.8.3+dfsg-3 [68.7 kB] 324s Get:282 http://ftpmaster.internal/ubuntu plucky/main arm64 libfftw3-double3 arm64 3.3.10-2fakesync1build1 [392 kB] 325s Get:283 http://ftpmaster.internal/ubuntu plucky/main arm64 libfftw3-single3 arm64 3.3.10-2fakesync1build1 [604 kB] 325s Get:284 http://ftpmaster.internal/ubuntu plucky/main arm64 libxfixes3 arm64 1:6.0.0-2build1 [11.2 kB] 325s Get:285 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcursor1 arm64 1:1.2.3-1 [22.2 kB] 325s Get:286 http://ftpmaster.internal/ubuntu plucky/main arm64 libxft2 arm64 2.3.6-1build1 [44.1 kB] 325s Get:287 http://ftpmaster.internal/ubuntu plucky/main arm64 libxinerama1 arm64 2:1.1.4-3build1 [6394 B] 325s Get:288 http://ftpmaster.internal/ubuntu plucky/universe arm64 libfltk1.3t64 arm64 1.3.8-6.1build2 [597 kB] 326s Get:289 http://ftpmaster.internal/ubuntu plucky/main arm64 libglvnd0 arm64 1.7.0-1build1 [60.6 kB] 326s Get:290 http://ftpmaster.internal/ubuntu plucky/main arm64 libx11-xcb1 arm64 2:1.8.10-2 [8020 B] 326s Get:291 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-dri3-0 arm64 1.17.0-2 [7606 B] 326s Get:292 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-glx0 arm64 1.17.0-2 [25.5 kB] 326s Get:293 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-present0 arm64 1.17.0-2 [6224 B] 326s Get:294 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-xfixes0 arm64 1.17.0-2 [10.6 kB] 326s Get:295 http://ftpmaster.internal/ubuntu plucky/main arm64 libxxf86vm1 arm64 1:1.1.4-1build4 [9130 B] 326s Get:296 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-randr0 arm64 1.17.0-2 [18.5 kB] 326s Get:297 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-sync1 arm64 1.17.0-2 [9688 B] 326s Get:298 http://ftpmaster.internal/ubuntu plucky/main arm64 libxshmfence1 arm64 1.3-1build5 [4938 B] 326s Get:299 http://ftpmaster.internal/ubuntu plucky/main arm64 mesa-libgallium arm64 25.0.1-2ubuntu1 [9450 kB] 336s Get:300 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-server0 arm64 1.23.1-3 [36.1 kB] 336s Get:301 http://ftpmaster.internal/ubuntu plucky/main arm64 libgbm1 arm64 25.0.1-2ubuntu1 [33.7 kB] 336s Get:302 http://ftpmaster.internal/ubuntu plucky/main arm64 libvulkan1 arm64 1.4.304.0-1 [158 kB] 336s Get:303 http://ftpmaster.internal/ubuntu plucky/main arm64 libgl1-mesa-dri arm64 25.0.1-2ubuntu1 [34.5 kB] 336s Get:304 http://ftpmaster.internal/ubuntu plucky/main arm64 libglx-mesa0 arm64 25.0.1-2ubuntu1 [151 kB] 336s Get:305 http://ftpmaster.internal/ubuntu plucky/main arm64 libglx0 arm64 1.7.0-1build1 [33.2 kB] 336s Get:306 http://ftpmaster.internal/ubuntu plucky/main arm64 libgl1 arm64 1.7.0-1build1 [106 kB] 337s Get:307 http://ftpmaster.internal/ubuntu plucky/universe arm64 libfltk-gl1.3t64 arm64 1.3.8-6.1build2 [42.1 kB] 337s Get:308 http://ftpmaster.internal/ubuntu plucky/universe arm64 libgl2ps1.4 arm64 1.4.2+dfsg1-2build1 [40.6 kB] 337s Get:309 http://ftpmaster.internal/ubuntu plucky/main arm64 libltdl7 arm64 2.5.4-4 [43.0 kB] 337s Get:310 http://ftpmaster.internal/ubuntu plucky/universe arm64 libglpk40 arm64 5.0-1build2 [337 kB] 337s Get:311 http://ftpmaster.internal/ubuntu plucky/main arm64 libopengl0 arm64 1.7.0-1build1 [35.1 kB] 337s Get:312 http://ftpmaster.internal/ubuntu plucky/main arm64 libglu1-mesa arm64 9.0.2-1.1build1 [139 kB] 337s Get:313 http://ftpmaster.internal/ubuntu plucky/universe arm64 libhwy1t64 arm64 1.2.0-3ubuntu3 [605 kB] 338s Get:314 http://ftpmaster.internal/ubuntu plucky/main arm64 liblcms2-2 arm64 2.16-2 [170 kB] 338s Get:315 http://ftpmaster.internal/ubuntu plucky/universe arm64 libjxl0.11 arm64 0.11.1-1 [937 kB] 339s Get:316 http://ftpmaster.internal/ubuntu plucky/main arm64 libwmflite-0.2-7 arm64 0.2.13-1.1build3 [68.6 kB] 340s Get:317 http://ftpmaster.internal/ubuntu plucky/universe arm64 libgraphicsmagick-q16-3t64 arm64 1.4+really1.3.45+hg17689-1 [1229 kB] 341s Get:318 http://ftpmaster.internal/ubuntu plucky/universe arm64 libgraphicsmagick++-q16-12t64 arm64 1.4+really1.3.45+hg17689-1 [112 kB] 341s Get:319 http://ftpmaster.internal/ubuntu plucky/universe arm64 libaec0 arm64 1.1.3-1 [22.0 kB] 341s Get:320 http://ftpmaster.internal/ubuntu plucky/universe arm64 libsz2 arm64 1.1.3-1 [5254 B] 341s Get:321 http://ftpmaster.internal/ubuntu plucky/universe arm64 libhdf5-310 arm64 1.14.5+repack-3 [1331 kB] 343s Get:322 http://ftpmaster.internal/ubuntu plucky/main arm64 libasound2-data all 1.2.13-1build1 [21.1 kB] 343s Get:323 http://ftpmaster.internal/ubuntu plucky/main arm64 libasound2t64 arm64 1.2.13-1build1 [390 kB] 343s Get:324 http://ftpmaster.internal/ubuntu plucky/main arm64 libopus0 arm64 1.5.2-2 [2891 kB] 346s Get:325 http://ftpmaster.internal/ubuntu plucky/main arm64 libsamplerate0 arm64 0.2.2-4build1 [1343 kB] 347s Get:326 http://ftpmaster.internal/ubuntu plucky/main arm64 libjack-jackd2-0 arm64 1.9.22~dfsg-4 [286 kB] 347s Get:327 http://ftpmaster.internal/ubuntu plucky/universe arm64 libportaudio2 arm64 19.6.0-1.2build3 [65.4 kB] 347s Get:328 http://ftpmaster.internal/ubuntu plucky/universe arm64 libqhull-r8.0 arm64 2020.2-6build1 [189 kB] 348s Get:329 http://ftpmaster.internal/ubuntu plucky/universe arm64 libqrupdate1 arm64 1.1.5-1 [38.6 kB] 348s Get:330 http://ftpmaster.internal/ubuntu plucky/universe arm64 libqscintilla2-qt6-l10n all 2.14.1+dfsg-1build4 [56.4 kB] 348s Get:331 http://ftpmaster.internal/ubuntu plucky/universe arm64 libb2-1 arm64 0.98.1-1.1build1 [17.1 kB] 348s Get:332 http://ftpmaster.internal/ubuntu plucky/universe arm64 libdouble-conversion3 arm64 3.3.1-1 [38.8 kB] 348s Get:333 http://ftpmaster.internal/ubuntu plucky/main arm64 libpcre2-16-0 arm64 10.45-1 [222 kB] 348s Get:334 http://ftpmaster.internal/ubuntu plucky/universe arm64 libqt6core6t64 arm64 6.8.2+dfsg-5 [1942 kB] 350s Get:335 http://ftpmaster.internal/ubuntu plucky/main arm64 libwayland-client0 arm64 1.23.1-3 [27.0 kB] 350s Get:336 http://ftpmaster.internal/ubuntu plucky/main arm64 libegl-mesa0 arm64 25.0.1-2ubuntu1 [122 kB] 350s Get:337 http://ftpmaster.internal/ubuntu plucky/main arm64 libegl1 arm64 1.7.0-1build1 [29.5 kB] 350s Get:338 http://ftpmaster.internal/ubuntu plucky/main arm64 x11-common all 1:7.7+23ubuntu3 [21.7 kB] 350s Get:339 http://ftpmaster.internal/ubuntu plucky/main arm64 libice6 arm64 2:1.1.1-1 [42.3 kB] 350s Get:340 http://ftpmaster.internal/ubuntu plucky/main arm64 libmtdev1t64 arm64 1.1.7-1 [14.6 kB] 350s Get:341 http://ftpmaster.internal/ubuntu plucky/main arm64 libwacom-common all 2.14.0-1 [103 kB] 351s Get:342 http://ftpmaster.internal/ubuntu plucky/main arm64 libwacom9 arm64 2.14.0-1 [26.7 kB] 351s Get:343 http://ftpmaster.internal/ubuntu plucky/main arm64 libinput-bin arm64 1.27.1-1 [23.5 kB] 351s Get:344 http://ftpmaster.internal/ubuntu plucky/main arm64 libinput10 arm64 1.27.1-1 [136 kB] 351s Get:345 http://ftpmaster.internal/ubuntu plucky/universe arm64 libmd4c0 arm64 0.5.2-2 [42.4 kB] 351s Get:346 http://ftpmaster.internal/ubuntu plucky/universe arm64 libqt6dbus6 arm64 6.8.2+dfsg-5 [273 kB] 351s Get:347 http://ftpmaster.internal/ubuntu plucky/main arm64 libsm6 arm64 2:1.2.4-1 [16.4 kB] 351s Get:348 http://ftpmaster.internal/ubuntu plucky/universe arm64 libts0t64 arm64 1.22-1.1build1 [63.9 kB] 351s Get:349 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-util1 arm64 0.4.1-1 [10.9 kB] 351s Get:350 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-image0 arm64 0.4.0-2build1 [10.8 kB] 351s Get:351 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-render-util0 arm64 0.3.10-1 [10.5 kB] 351s Get:352 http://ftpmaster.internal/ubuntu plucky/universe arm64 libxcb-cursor0 arm64 0.1.5-1 [10.6 kB] 351s Get:353 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-icccm4 arm64 0.4.2-1 [10.9 kB] 351s Get:354 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-keysyms1 arm64 0.4.1-1 [8802 B] 351s Get:355 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-shape0 arm64 1.17.0-2 [6246 B] 351s Get:356 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-xinput0 arm64 1.17.0-2 [34.2 kB] 351s Get:357 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb-xkb1 arm64 1.17.0-2 [32.5 kB] 351s Get:358 http://ftpmaster.internal/ubuntu plucky/main arm64 libxkbcommon-x11-0 arm64 1.7.0-2 [13.8 kB] 351s Get:359 http://ftpmaster.internal/ubuntu plucky/universe arm64 libqt6gui6 arm64 6.8.2+dfsg-5 [3283 kB] 355s Get:360 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-common-data arm64 0.8-16ubuntu1 [30.9 kB] 355s Get:361 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-common3 arm64 0.8-16ubuntu1 [22.9 kB] 355s Get:362 http://ftpmaster.internal/ubuntu plucky/main arm64 libavahi-client3 arm64 0.8-16ubuntu1 [26.9 kB] 355s Get:363 http://ftpmaster.internal/ubuntu plucky/main arm64 libcups2t64 arm64 2.4.11-0ubuntu2 [274 kB] 355s Get:364 http://ftpmaster.internal/ubuntu plucky/universe arm64 libqt6widgets6 arm64 6.8.2+dfsg-5 [2789 kB] 357s Get:365 http://ftpmaster.internal/ubuntu plucky/universe arm64 libqt6printsupport6 arm64 6.8.2+dfsg-5 [223 kB] 358s Get:366 http://ftpmaster.internal/ubuntu plucky/universe arm64 libqscintilla2-qt6-15 arm64 2.14.1+dfsg-1build4 [1137 kB] 359s Get:367 http://ftpmaster.internal/ubuntu plucky/universe arm64 libqt6core5compat6 arm64 6.8.2-3 [144 kB] 359s Get:368 http://ftpmaster.internal/ubuntu plucky/universe arm64 libqt6sql6 arm64 6.8.2+dfsg-5 [143 kB] 359s Get:369 http://ftpmaster.internal/ubuntu plucky/universe arm64 libqt6help6 arm64 6.8.2-3 [194 kB] 359s Get:370 http://ftpmaster.internal/ubuntu plucky/main arm64 libduktape207 arm64 2.7.0+tests-0ubuntu3 [144 kB] 359s Get:371 http://ftpmaster.internal/ubuntu plucky/main arm64 libproxy1v5 arm64 0.5.9-1 [27.2 kB] 359s Get:372 http://ftpmaster.internal/ubuntu plucky/universe arm64 libqt6network6 arm64 6.8.2+dfsg-5 [847 kB] 360s Get:373 http://ftpmaster.internal/ubuntu plucky/universe arm64 libqt6opengl6 arm64 6.8.2+dfsg-5 [432 kB] 361s Get:374 http://ftpmaster.internal/ubuntu plucky/universe arm64 libqt6openglwidgets6 arm64 6.8.2+dfsg-5 [43.6 kB] 361s Get:375 http://ftpmaster.internal/ubuntu plucky/universe arm64 libqt6xml6 arm64 6.8.2+dfsg-5 [82.2 kB] 361s Get:376 http://ftpmaster.internal/ubuntu plucky/main arm64 libogg0 arm64 1.3.5-3build1 [22.6 kB] 361s Get:377 http://ftpmaster.internal/ubuntu plucky/main arm64 libflac12t64 arm64 1.4.3+ds-4 [168 kB] 361s Get:378 http://ftpmaster.internal/ubuntu plucky/main arm64 libmp3lame0 arm64 3.100-6build1 [141 kB] 361s Get:379 http://ftpmaster.internal/ubuntu plucky/main arm64 libmpg123-0t64 arm64 1.32.10-1 [173 kB] 361s Get:380 http://ftpmaster.internal/ubuntu plucky/main arm64 libvorbis0a arm64 1.3.7-2 [95.0 kB] 361s Get:381 http://ftpmaster.internal/ubuntu plucky/main arm64 libvorbisenc2 arm64 1.3.7-2 [80.0 kB] 361s Get:382 http://ftpmaster.internal/ubuntu plucky/main arm64 libsndfile1 arm64 1.2.2-2 [209 kB] 362s Get:383 http://ftpmaster.internal/ubuntu plucky/universe arm64 libspqr4 arm64 1:7.8.3+dfsg-3 [130 kB] 362s Get:384 http://ftpmaster.internal/ubuntu plucky/universe arm64 libumfpack6 arm64 1:7.8.3+dfsg-3 [249 kB] 362s Get:385 http://ftpmaster.internal/ubuntu plucky/universe arm64 libtext-unidecode-perl all 1.30-3 [105 kB] 362s Get:386 http://ftpmaster.internal/ubuntu plucky/universe arm64 texinfo-lib arm64 7.1.1-1 [134 kB] 362s Get:387 http://ftpmaster.internal/ubuntu plucky/universe arm64 tex-common all 6.19 [29.8 kB] 362s Get:388 http://ftpmaster.internal/ubuntu plucky/universe arm64 texinfo all 7.1.1-1 [1272 kB] 363s Get:389 http://ftpmaster.internal/ubuntu plucky/universe arm64 octave-common all 9.4.0-1 [6087 kB] 370s Get:390 http://ftpmaster.internal/ubuntu plucky/universe arm64 octave arm64 9.4.0-1 [9031 kB] 380s Get:391 http://ftpmaster.internal/ubuntu plucky/main arm64 libncurses-dev arm64 6.5+20250216-2 [389 kB] 381s Get:392 http://ftpmaster.internal/ubuntu plucky/main arm64 libreadline-dev arm64 8.2-6 [179 kB] 381s Get:393 http://ftpmaster.internal/ubuntu plucky/universe arm64 libhdf5-fortran-310 arm64 1.14.5+repack-3 [109 kB] 381s Get:394 http://ftpmaster.internal/ubuntu plucky/universe arm64 libhdf5-hl-310 arm64 1.14.5+repack-3 [59.8 kB] 381s Get:395 http://ftpmaster.internal/ubuntu plucky/universe arm64 libhdf5-hl-fortran-310 arm64 1.14.5+repack-3 [31.8 kB] 381s Get:396 http://ftpmaster.internal/ubuntu plucky/universe arm64 libhdf5-cpp-310 arm64 1.14.5+repack-3 [117 kB] 382s Get:397 http://ftpmaster.internal/ubuntu plucky/universe arm64 libhdf5-hl-cpp-310 arm64 1.14.5+repack-3 [11.6 kB] 382s Get:398 http://ftpmaster.internal/ubuntu plucky/main arm64 zlib1g-dev arm64 1:1.3.dfsg+really1.3.1-1ubuntu1 [894 kB] 383s Get:399 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg-turbo8-dev arm64 2.1.5-3ubuntu2 [306 kB] 383s Get:400 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg8-dev arm64 8c-2ubuntu11 [1484 B] 383s Get:401 http://ftpmaster.internal/ubuntu plucky/main arm64 libjpeg-dev arm64 8c-2ubuntu11 [1482 B] 383s Get:402 http://ftpmaster.internal/ubuntu plucky/universe arm64 libaec-dev arm64 1.1.3-1 [19.3 kB] 383s Get:403 http://ftpmaster.internal/ubuntu plucky/main arm64 libbrotli-dev arm64 1.1.0-2build4 [359 kB] 384s Get:404 http://ftpmaster.internal/ubuntu plucky/main arm64 libidn2-dev arm64 2.3.7-2build2 [120 kB] 384s Get:405 http://ftpmaster.internal/ubuntu plucky/main arm64 comerr-dev arm64 2.1-1.47.2-1ubuntu1 [45.1 kB] 384s Get:406 http://ftpmaster.internal/ubuntu plucky/main arm64 libgssrpc4t64 arm64 1.21.3-4ubuntu2 [58.5 kB] 384s Get:407 http://ftpmaster.internal/ubuntu plucky/main arm64 libkadm5clnt-mit12 arm64 1.21.3-4ubuntu2 [40.3 kB] 384s Get:408 http://ftpmaster.internal/ubuntu plucky/main arm64 libkdb5-10t64 arm64 1.21.3-4ubuntu2 [40.9 kB] 385s Get:409 http://ftpmaster.internal/ubuntu plucky/main arm64 libkadm5srv-mit12 arm64 1.21.3-4ubuntu2 [53.8 kB] 385s Get:410 http://ftpmaster.internal/ubuntu plucky/main arm64 krb5-multidev arm64 1.21.3-4ubuntu2 [125 kB] 385s Get:411 http://ftpmaster.internal/ubuntu plucky/main arm64 libkrb5-dev arm64 1.21.3-4ubuntu2 [11.9 kB] 385s Get:412 http://ftpmaster.internal/ubuntu plucky/main arm64 libldap-dev arm64 2.6.9+dfsg-1~exp2ubuntu1 [318 kB] 385s Get:413 http://ftpmaster.internal/ubuntu plucky/main arm64 libpkgconf3 arm64 1.8.1-4 [31.4 kB] 386s Get:414 http://ftpmaster.internal/ubuntu plucky/main arm64 pkgconf-bin arm64 1.8.1-4 [20.9 kB] 386s Get:415 http://ftpmaster.internal/ubuntu plucky/main arm64 pkgconf arm64 1.8.1-4 [16.7 kB] 386s Get:416 http://ftpmaster.internal/ubuntu plucky/main arm64 libnghttp2-dev arm64 1.64.0-1 [120 kB] 386s Get:417 http://ftpmaster.internal/ubuntu plucky/main arm64 libpsl-dev arm64 0.21.2-1.1build1 [77.2 kB] 386s Get:418 http://ftpmaster.internal/ubuntu plucky/main arm64 libgmpxx4ldbl arm64 2:6.3.0+dfsg-3ubuntu1 [10.1 kB] 386s Get:419 http://ftpmaster.internal/ubuntu plucky/main arm64 libgmp-dev arm64 2:6.3.0+dfsg-3ubuntu1 [335 kB] 387s Get:420 http://ftpmaster.internal/ubuntu plucky/main arm64 libevent-2.1-7t64 arm64 2.1.12-stable-10 [140 kB] 387s Get:421 http://ftpmaster.internal/ubuntu plucky/main arm64 libunbound8 arm64 1.22.0-1ubuntu1 [437 kB] 388s Get:422 http://ftpmaster.internal/ubuntu plucky/main arm64 libgnutls-dane0t64 arm64 3.8.9-2ubuntu2 [24.4 kB] 388s Get:423 http://ftpmaster.internal/ubuntu plucky/main arm64 libgnutls-openssl27t64 arm64 3.8.9-2ubuntu2 [24.4 kB] 388s Get:424 http://ftpmaster.internal/ubuntu plucky/main arm64 libp11-kit-dev arm64 0.25.5-2ubuntu3 [23.5 kB] 388s Get:425 http://ftpmaster.internal/ubuntu plucky/main arm64 libtasn1-6-dev arm64 4.20.0-2 [91.1 kB] 388s Get:426 http://ftpmaster.internal/ubuntu plucky/main arm64 nettle-dev arm64 3.10.1-1 [1190 kB] 390s Get:427 http://ftpmaster.internal/ubuntu plucky/main arm64 libgnutls28-dev arm64 3.8.9-2ubuntu2 [1143 kB] 391s Get:428 http://ftpmaster.internal/ubuntu plucky/main arm64 librtmp-dev arm64 2.4+20151223.gitfa8646d.1-2build7 [69.4 kB] 391s Get:429 http://ftpmaster.internal/ubuntu plucky/main arm64 libssl-dev arm64 3.4.1-1ubuntu1 [3287 kB] 395s Get:430 http://ftpmaster.internal/ubuntu plucky/main arm64 libssh2-1-dev arm64 1.11.1-1 [286 kB] 395s Get:431 http://ftpmaster.internal/ubuntu plucky/main arm64 libzstd-dev arm64 1.5.6+dfsg-2 [353 kB] 396s Get:432 http://ftpmaster.internal/ubuntu plucky/main arm64 libcurl4-openssl-dev arm64 8.12.1-3ubuntu1 [506 kB] 396s Get:433 http://ftpmaster.internal/ubuntu plucky/universe arm64 hdf5-helpers arm64 1.14.5+repack-3 [17.0 kB] 396s Get:434 http://ftpmaster.internal/ubuntu plucky/universe arm64 libhdf5-dev arm64 1.14.5+repack-3 [3581 kB] 401s Get:435 http://ftpmaster.internal/ubuntu plucky/main arm64 xorg-sgml-doctools all 1:1.11-1.1 [10.9 kB] 401s Get:436 http://ftpmaster.internal/ubuntu plucky/main arm64 x11proto-dev all 2024.1-1 [606 kB] 402s Get:437 http://ftpmaster.internal/ubuntu plucky/main arm64 libxau-dev arm64 1:1.0.11-1 [10.2 kB] 402s Get:438 http://ftpmaster.internal/ubuntu plucky/main arm64 libxdmcp-dev arm64 1:1.1.5-1 [26.4 kB] 403s Get:439 http://ftpmaster.internal/ubuntu plucky/main arm64 xtrans-dev all 1.4.0-1 [68.9 kB] 403s Get:440 http://ftpmaster.internal/ubuntu plucky/main arm64 libxcb1-dev arm64 1.17.0-2 [91.7 kB] 403s Get:441 http://ftpmaster.internal/ubuntu plucky/main arm64 libx11-dev arm64 2:1.8.10-2 [746 kB] 404s Get:442 http://ftpmaster.internal/ubuntu plucky/main arm64 libglx-dev arm64 1.7.0-1build1 [14.2 kB] 404s Get:443 http://ftpmaster.internal/ubuntu plucky/main arm64 libgl-dev arm64 1.7.0-1build1 [102 kB] 404s Get:444 http://ftpmaster.internal/ubuntu plucky/main arm64 libblas-dev arm64 3.12.1-2 [126 kB] 404s Get:445 http://ftpmaster.internal/ubuntu plucky/main arm64 liblapack-dev arm64 3.12.1-2 [4439 kB] 410s Get:446 http://ftpmaster.internal/ubuntu plucky/main arm64 libfftw3-long3 arm64 3.3.10-2fakesync1build1 [653 kB] 411s Get:447 http://ftpmaster.internal/ubuntu plucky/main arm64 libfftw3-bin arm64 3.3.10-2fakesync1build1 [34.1 kB] 411s Get:448 http://ftpmaster.internal/ubuntu plucky/main arm64 libfftw3-dev arm64 3.3.10-2fakesync1build1 [1523 kB] 413s Get:449 http://ftpmaster.internal/ubuntu plucky/main arm64 libgfortran-14-dev arm64 14.2.0-17ubuntu3 [498 kB] 413s Get:450 http://ftpmaster.internal/ubuntu plucky/main arm64 gfortran-14-aarch64-linux-gnu arm64 14.2.0-17ubuntu3 [11.4 MB] 426s Get:451 http://ftpmaster.internal/ubuntu plucky/main arm64 gfortran-14 arm64 14.2.0-17ubuntu3 [13.6 kB] 426s Get:452 http://ftpmaster.internal/ubuntu plucky/main arm64 gfortran-aarch64-linux-gnu arm64 4:14.2.0-1ubuntu1 [1022 B] 426s Get:453 http://ftpmaster.internal/ubuntu plucky/main arm64 gfortran arm64 4:14.2.0-1ubuntu1 [1166 B] 426s Get:454 http://ftpmaster.internal/ubuntu plucky/main arm64 libstdc++-14-dev arm64 14.2.0-17ubuntu3 [2499 kB] 429s Get:455 http://ftpmaster.internal/ubuntu plucky/main arm64 g++-14-aarch64-linux-gnu arm64 14.2.0-17ubuntu3 [12.1 MB] 442s Get:456 http://ftpmaster.internal/ubuntu plucky/main arm64 g++-14 arm64 14.2.0-17ubuntu3 [21.8 kB] 442s Get:457 http://ftpmaster.internal/ubuntu plucky/main arm64 g++-aarch64-linux-gnu arm64 4:14.2.0-1ubuntu1 [956 B] 442s Get:458 http://ftpmaster.internal/ubuntu plucky/main arm64 g++ arm64 4:14.2.0-1ubuntu1 [1080 B] 442s Get:459 http://ftpmaster.internal/ubuntu plucky/universe arm64 octave-dev arm64 9.4.0-1 [459 kB] 443s Get:460 http://ftpmaster.internal/ubuntu plucky/universe arm64 dh-octave all 1.8.0 [19.7 kB] 443s Get:461 http://ftpmaster.internal/ubuntu plucky/main arm64 libfontenc1 arm64 1:1.1.8-1build1 [13.9 kB] 443s Get:462 http://ftpmaster.internal/ubuntu plucky/main arm64 libunwind8 arm64 1.6.2-3.1 [53.5 kB] 443s Get:463 http://ftpmaster.internal/ubuntu plucky/main arm64 libxt6t64 arm64 1:1.2.1-1.2build1 [168 kB] 443s Get:464 http://ftpmaster.internal/ubuntu plucky/main arm64 libxmu6 arm64 2:1.1.3-3build2 [47.5 kB] 443s Get:465 http://ftpmaster.internal/ubuntu plucky/main arm64 libxaw7 arm64 2:1.0.16-1 [184 kB] 444s Get:466 http://ftpmaster.internal/ubuntu plucky/main arm64 libxfont2 arm64 1:2.0.6-1build1 [88.7 kB] 444s Get:467 http://ftpmaster.internal/ubuntu plucky/main arm64 libxkbfile1 arm64 1:1.1.0-1build4 [69.4 kB] 444s Get:468 http://ftpmaster.internal/ubuntu plucky/main arm64 libxrandr2 arm64 2:1.5.4-1 [19.6 kB] 444s Get:469 http://ftpmaster.internal/ubuntu plucky/universe arm64 octave-image arm64 2.14.0-5build1 [608 kB] 445s Get:470 http://ftpmaster.internal/ubuntu plucky/main arm64 x11-xkb-utils arm64 7.7+9 [165 kB] 445s Get:471 http://ftpmaster.internal/ubuntu plucky/main arm64 xserver-common all 2:21.1.16-1ubuntu1 [34.4 kB] 445s Get:472 http://ftpmaster.internal/ubuntu plucky/universe arm64 xvfb arm64 2:21.1.16-1ubuntu1 [870 kB] 447s Fetched 183 MB in 3min 22s (905 kB/s) 447s Selecting previously unselected package libstemmer0d:arm64. 447s (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 ... 81647 files and directories currently installed.) 447s Preparing to unpack .../000-libstemmer0d_2.2.0-4build1_arm64.deb ... 447s Unpacking libstemmer0d:arm64 (2.2.0-4build1) ... 447s Selecting previously unselected package libappstream5:arm64. 447s Preparing to unpack .../001-libappstream5_1.0.4-1_arm64.deb ... 447s Unpacking libappstream5:arm64 (1.0.4-1) ... 447s Selecting previously unselected package appstream. 447s Preparing to unpack .../002-appstream_1.0.4-1_arm64.deb ... 447s Unpacking appstream (1.0.4-1) ... 447s Selecting previously unselected package m4. 447s Preparing to unpack .../003-m4_1.4.19-7_arm64.deb ... 447s Unpacking m4 (1.4.19-7) ... 447s Selecting previously unselected package autoconf. 447s Preparing to unpack .../004-autoconf_2.72-3ubuntu1_all.deb ... 447s Unpacking autoconf (2.72-3ubuntu1) ... 447s Selecting previously unselected package autotools-dev. 447s Preparing to unpack .../005-autotools-dev_20220109.1_all.deb ... 447s Unpacking autotools-dev (20220109.1) ... 447s Selecting previously unselected package automake. 447s Preparing to unpack .../006-automake_1%3a1.17-3ubuntu1_all.deb ... 447s Unpacking automake (1:1.17-3ubuntu1) ... 447s Selecting previously unselected package autopoint. 447s Preparing to unpack .../007-autopoint_0.23.1-1_all.deb ... 447s Unpacking autopoint (0.23.1-1) ... 447s Selecting previously unselected package libcapture-tiny-perl. 447s Preparing to unpack .../008-libcapture-tiny-perl_0.50-1_all.deb ... 447s Unpacking libcapture-tiny-perl (0.50-1) ... 447s Selecting previously unselected package libparams-util-perl. 447s Preparing to unpack .../009-libparams-util-perl_1.102-3build1_arm64.deb ... 447s Unpacking libparams-util-perl (1.102-3build1) ... 448s Selecting previously unselected package libsub-install-perl. 448s Preparing to unpack .../010-libsub-install-perl_0.929-1_all.deb ... 448s Unpacking libsub-install-perl (0.929-1) ... 448s Selecting previously unselected package libdata-optlist-perl. 448s Preparing to unpack .../011-libdata-optlist-perl_0.114-1_all.deb ... 448s Unpacking libdata-optlist-perl (0.114-1) ... 448s Selecting previously unselected package libb-hooks-op-check-perl:arm64. 448s Preparing to unpack .../012-libb-hooks-op-check-perl_0.22-3build2_arm64.deb ... 448s Unpacking libb-hooks-op-check-perl:arm64 (0.22-3build2) ... 448s Selecting previously unselected package libdynaloader-functions-perl. 448s Preparing to unpack .../013-libdynaloader-functions-perl_0.004-1_all.deb ... 448s Unpacking libdynaloader-functions-perl (0.004-1) ... 448s Selecting previously unselected package libdevel-callchecker-perl:arm64. 448s Preparing to unpack .../014-libdevel-callchecker-perl_0.009-1build1_arm64.deb ... 448s Unpacking libdevel-callchecker-perl:arm64 (0.009-1build1) ... 448s Selecting previously unselected package libparams-classify-perl:arm64. 448s Preparing to unpack .../015-libparams-classify-perl_0.015-2build6_arm64.deb ... 448s Unpacking libparams-classify-perl:arm64 (0.015-2build6) ... 448s Selecting previously unselected package libmodule-runtime-perl. 448s Preparing to unpack .../016-libmodule-runtime-perl_0.016-2_all.deb ... 448s Unpacking libmodule-runtime-perl (0.016-2) ... 448s Selecting previously unselected package libtry-tiny-perl. 448s Preparing to unpack .../017-libtry-tiny-perl_0.32-1_all.deb ... 448s Unpacking libtry-tiny-perl (0.32-1) ... 448s Selecting previously unselected package libmodule-implementation-perl. 448s Preparing to unpack .../018-libmodule-implementation-perl_0.09-2_all.deb ... 448s Unpacking libmodule-implementation-perl (0.09-2) ... 448s Selecting previously unselected package libpackage-stash-perl. 448s Preparing to unpack .../019-libpackage-stash-perl_0.40-1_all.deb ... 448s Unpacking libpackage-stash-perl (0.40-1) ... 448s Selecting previously unselected package libclass-load-perl. 448s Preparing to unpack .../020-libclass-load-perl_0.25-2_all.deb ... 448s Unpacking libclass-load-perl (0.25-2) ... 448s Selecting previously unselected package libio-stringy-perl. 448s Preparing to unpack .../021-libio-stringy-perl_2.113-2_all.deb ... 448s Unpacking libio-stringy-perl (2.113-2) ... 448s Selecting previously unselected package libparams-validate-perl:arm64. 448s Preparing to unpack .../022-libparams-validate-perl_1.31-2build4_arm64.deb ... 448s Unpacking libparams-validate-perl:arm64 (1.31-2build4) ... 448s Selecting previously unselected package libsub-exporter-perl. 448s Preparing to unpack .../023-libsub-exporter-perl_0.990-1_all.deb ... 448s Unpacking libsub-exporter-perl (0.990-1) ... 448s Selecting previously unselected package libgetopt-long-descriptive-perl. 448s Preparing to unpack .../024-libgetopt-long-descriptive-perl_0.116-2_all.deb ... 448s Unpacking libgetopt-long-descriptive-perl (0.116-2) ... 448s Selecting previously unselected package libio-tiecombine-perl. 448s Preparing to unpack .../025-libio-tiecombine-perl_1.005-3_all.deb ... 448s Unpacking libio-tiecombine-perl (1.005-3) ... 448s Selecting previously unselected package libmodule-pluggable-perl. 448s Preparing to unpack .../026-libmodule-pluggable-perl_5.2-5_all.deb ... 448s Unpacking libmodule-pluggable-perl (5.2-5) ... 448s Selecting previously unselected package libstring-rewriteprefix-perl. 448s Preparing to unpack .../027-libstring-rewriteprefix-perl_0.009-1_all.deb ... 448s Unpacking libstring-rewriteprefix-perl (0.009-1) ... 448s Selecting previously unselected package libapp-cmd-perl. 448s Preparing to unpack .../028-libapp-cmd-perl_0.337-2_all.deb ... 448s Unpacking libapp-cmd-perl (0.337-2) ... 448s Selecting previously unselected package libboolean-perl. 448s Preparing to unpack .../029-libboolean-perl_0.46-3_all.deb ... 448s Unpacking libboolean-perl (0.46-3) ... 448s Selecting previously unselected package libsub-uplevel-perl. 448s Preparing to unpack .../030-libsub-uplevel-perl_0.2800-3_all.deb ... 448s Unpacking libsub-uplevel-perl (0.2800-3) ... 448s Selecting previously unselected package libtest-exception-perl. 448s Preparing to unpack .../031-libtest-exception-perl_0.43-3_all.deb ... 448s Unpacking libtest-exception-perl (0.43-3) ... 448s Selecting previously unselected package libcarp-assert-more-perl. 448s Preparing to unpack .../032-libcarp-assert-more-perl_2.8.0-1_all.deb ... 448s Unpacking libcarp-assert-more-perl (2.8.0-1) ... 448s Selecting previously unselected package libfile-which-perl. 448s Preparing to unpack .../033-libfile-which-perl_1.27-2_all.deb ... 448s Unpacking libfile-which-perl (1.27-2) ... 448s Selecting previously unselected package libfile-homedir-perl. 448s Preparing to unpack .../034-libfile-homedir-perl_1.006-2_all.deb ... 448s Unpacking libfile-homedir-perl (1.006-2) ... 448s Selecting previously unselected package libclone-choose-perl. 448s Preparing to unpack .../035-libclone-choose-perl_0.010-2_all.deb ... 448s Unpacking libclone-choose-perl (0.010-2) ... 448s Selecting previously unselected package libhash-merge-perl. 448s Preparing to unpack .../036-libhash-merge-perl_0.302-1_all.deb ... 448s Unpacking libhash-merge-perl (0.302-1) ... 448s Selecting previously unselected package libjson-perl. 448s Preparing to unpack .../037-libjson-perl_4.10000-1_all.deb ... 448s Unpacking libjson-perl (4.10000-1) ... 448s Selecting previously unselected package libexporter-tiny-perl. 448s Preparing to unpack .../038-libexporter-tiny-perl_1.006002-1_all.deb ... 448s Unpacking libexporter-tiny-perl (1.006002-1) ... 449s Selecting previously unselected package liblist-moreutils-xs-perl. 449s Preparing to unpack .../039-liblist-moreutils-xs-perl_0.430-4build1_arm64.deb ... 449s Unpacking liblist-moreutils-xs-perl (0.430-4build1) ... 449s Selecting previously unselected package liblist-moreutils-perl. 449s Preparing to unpack .../040-liblist-moreutils-perl_0.430-2_all.deb ... 449s Unpacking liblist-moreutils-perl (0.430-2) ... 449s Selecting previously unselected package liblog-log4perl-perl. 449s Preparing to unpack .../041-liblog-log4perl-perl_1.57-1_all.deb ... 449s Unpacking liblog-log4perl-perl (1.57-1) ... 449s Selecting previously unselected package libmouse-perl:arm64. 449s Preparing to unpack .../042-libmouse-perl_2.5.11-1build1_arm64.deb ... 449s Unpacking libmouse-perl:arm64 (2.5.11-1build1) ... 449s Selecting previously unselected package libmousex-nativetraits-perl. 449s Preparing to unpack .../043-libmousex-nativetraits-perl_1.09-3_all.deb ... 449s Unpacking libmousex-nativetraits-perl (1.09-3) ... 449s Selecting previously unselected package libmousex-strictconstructor-perl. 449s Preparing to unpack .../044-libmousex-strictconstructor-perl_0.02-3_all.deb ... 449s Unpacking libmousex-strictconstructor-perl (0.02-3) ... 449s Selecting previously unselected package libparse-recdescent-perl. 449s Preparing to unpack .../045-libparse-recdescent-perl_1.967015+dfsg-4_all.deb ... 449s Unpacking libparse-recdescent-perl (1.967015+dfsg-4) ... 449s Selecting previously unselected package libpath-tiny-perl. 449s Preparing to unpack .../046-libpath-tiny-perl_0.146-1_all.deb ... 449s Unpacking libpath-tiny-perl (0.146-1) ... 449s Selecting previously unselected package libpod-pom-perl. 449s Preparing to unpack .../047-libpod-pom-perl_2.01-4_all.deb ... 449s Unpacking libpod-pom-perl (2.01-4) ... 449s Selecting previously unselected package libregexp-common-perl. 449s Preparing to unpack .../048-libregexp-common-perl_2024080801-1_all.deb ... 449s Unpacking libregexp-common-perl (2024080801-1) ... 449s Selecting previously unselected package libyaml-tiny-perl. 449s Preparing to unpack .../049-libyaml-tiny-perl_1.76-1_all.deb ... 449s Unpacking libyaml-tiny-perl (1.76-1) ... 449s Selecting previously unselected package libconfig-model-perl. 449s Preparing to unpack .../050-libconfig-model-perl_2.155-1_all.deb ... 449s Unpacking libconfig-model-perl (2.155-1) ... 449s Selecting previously unselected package libyaml-pp-perl. 449s Preparing to unpack .../051-libyaml-pp-perl_0.39.0-1_all.deb ... 449s Unpacking libyaml-pp-perl (0.39.0-1) ... 449s Selecting previously unselected package cme. 449s Preparing to unpack .../052-cme_1.041-1_all.deb ... 449s Unpacking cme (1.041-1) ... 449s Selecting previously unselected package libisl23:arm64. 449s Preparing to unpack .../053-libisl23_0.27-1_arm64.deb ... 449s Unpacking libisl23:arm64 (0.27-1) ... 449s Selecting previously unselected package libmpc3:arm64. 449s Preparing to unpack .../054-libmpc3_1.3.1-1build2_arm64.deb ... 449s Unpacking libmpc3:arm64 (1.3.1-1build2) ... 449s Selecting previously unselected package cpp-14-aarch64-linux-gnu. 449s Preparing to unpack .../055-cpp-14-aarch64-linux-gnu_14.2.0-17ubuntu3_arm64.deb ... 449s Unpacking cpp-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 449s Selecting previously unselected package cpp-14. 449s Preparing to unpack .../056-cpp-14_14.2.0-17ubuntu3_arm64.deb ... 449s Unpacking cpp-14 (14.2.0-17ubuntu3) ... 449s Selecting previously unselected package cpp-aarch64-linux-gnu. 449s Preparing to unpack .../057-cpp-aarch64-linux-gnu_4%3a14.2.0-1ubuntu1_arm64.deb ... 449s Unpacking cpp-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 449s Selecting previously unselected package cpp. 449s Preparing to unpack .../058-cpp_4%3a14.2.0-1ubuntu1_arm64.deb ... 449s Unpacking cpp (4:14.2.0-1ubuntu1) ... 449s Selecting previously unselected package libdebhelper-perl. 450s Preparing to unpack .../059-libdebhelper-perl_13.24.1ubuntu2_all.deb ... 450s Unpacking libdebhelper-perl (13.24.1ubuntu2) ... 450s Selecting previously unselected package libcc1-0:arm64. 450s Preparing to unpack .../060-libcc1-0_15-20250222-0ubuntu1_arm64.deb ... 450s Unpacking libcc1-0:arm64 (15-20250222-0ubuntu1) ... 450s Selecting previously unselected package libgomp1:arm64. 450s Preparing to unpack .../061-libgomp1_15-20250222-0ubuntu1_arm64.deb ... 450s Unpacking libgomp1:arm64 (15-20250222-0ubuntu1) ... 450s Selecting previously unselected package libitm1:arm64. 450s Preparing to unpack .../062-libitm1_15-20250222-0ubuntu1_arm64.deb ... 450s Unpacking libitm1:arm64 (15-20250222-0ubuntu1) ... 450s Selecting previously unselected package libasan8:arm64. 450s Preparing to unpack .../063-libasan8_15-20250222-0ubuntu1_arm64.deb ... 450s Unpacking libasan8:arm64 (15-20250222-0ubuntu1) ... 450s Selecting previously unselected package liblsan0:arm64. 450s Preparing to unpack .../064-liblsan0_15-20250222-0ubuntu1_arm64.deb ... 450s Unpacking liblsan0:arm64 (15-20250222-0ubuntu1) ... 450s Selecting previously unselected package libtsan2:arm64. 450s Preparing to unpack .../065-libtsan2_15-20250222-0ubuntu1_arm64.deb ... 450s Unpacking libtsan2:arm64 (15-20250222-0ubuntu1) ... 450s Selecting previously unselected package libubsan1:arm64. 450s Preparing to unpack .../066-libubsan1_15-20250222-0ubuntu1_arm64.deb ... 450s Unpacking libubsan1:arm64 (15-20250222-0ubuntu1) ... 450s Selecting previously unselected package libhwasan0:arm64. 450s Preparing to unpack .../067-libhwasan0_15-20250222-0ubuntu1_arm64.deb ... 450s Unpacking libhwasan0:arm64 (15-20250222-0ubuntu1) ... 450s Selecting previously unselected package libgcc-14-dev:arm64. 450s Preparing to unpack .../068-libgcc-14-dev_14.2.0-17ubuntu3_arm64.deb ... 450s Unpacking libgcc-14-dev:arm64 (14.2.0-17ubuntu3) ... 450s Selecting previously unselected package gcc-14-aarch64-linux-gnu. 450s Preparing to unpack .../069-gcc-14-aarch64-linux-gnu_14.2.0-17ubuntu3_arm64.deb ... 450s Unpacking gcc-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 451s Selecting previously unselected package gcc-14. 451s Preparing to unpack .../070-gcc-14_14.2.0-17ubuntu3_arm64.deb ... 451s Unpacking gcc-14 (14.2.0-17ubuntu3) ... 451s Selecting previously unselected package gcc-aarch64-linux-gnu. 451s Preparing to unpack .../071-gcc-aarch64-linux-gnu_4%3a14.2.0-1ubuntu1_arm64.deb ... 451s Unpacking gcc-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 451s Selecting previously unselected package gcc. 451s Preparing to unpack .../072-gcc_4%3a14.2.0-1ubuntu1_arm64.deb ... 451s Unpacking gcc (4:14.2.0-1ubuntu1) ... 451s Selecting previously unselected package libtool. 451s Preparing to unpack .../073-libtool_2.5.4-4_all.deb ... 451s Unpacking libtool (2.5.4-4) ... 451s Selecting previously unselected package dh-autoreconf. 451s Preparing to unpack .../074-dh-autoreconf_20_all.deb ... 451s Unpacking dh-autoreconf (20) ... 451s Selecting previously unselected package libarchive-zip-perl. 451s Preparing to unpack .../075-libarchive-zip-perl_1.68-1_all.deb ... 451s Unpacking libarchive-zip-perl (1.68-1) ... 451s Selecting previously unselected package libfile-stripnondeterminism-perl. 451s Preparing to unpack .../076-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... 451s Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... 451s Selecting previously unselected package dh-strip-nondeterminism. 451s Preparing to unpack .../077-dh-strip-nondeterminism_1.14.1-2_all.deb ... 451s Unpacking dh-strip-nondeterminism (1.14.1-2) ... 451s Selecting previously unselected package debugedit. 451s Preparing to unpack .../078-debugedit_1%3a5.1-2_arm64.deb ... 451s Unpacking debugedit (1:5.1-2) ... 451s Selecting previously unselected package dwz. 451s Preparing to unpack .../079-dwz_0.15-1build6_arm64.deb ... 451s Unpacking dwz (0.15-1build6) ... 451s Selecting previously unselected package gettext. 451s Preparing to unpack .../080-gettext_0.23.1-1_arm64.deb ... 451s Unpacking gettext (0.23.1-1) ... 451s Selecting previously unselected package intltool-debian. 451s Preparing to unpack .../081-intltool-debian_0.35.0+20060710.6_all.deb ... 451s Unpacking intltool-debian (0.35.0+20060710.6) ... 451s Selecting previously unselected package po-debconf. 451s Preparing to unpack .../082-po-debconf_1.0.21+nmu1_all.deb ... 451s Unpacking po-debconf (1.0.21+nmu1) ... 451s Selecting previously unselected package debhelper. 451s Preparing to unpack .../083-debhelper_13.24.1ubuntu2_all.deb ... 451s Unpacking debhelper (13.24.1ubuntu2) ... 451s Selecting previously unselected package aglfn. 451s Preparing to unpack .../084-aglfn_1.7+git20191031.4036a9c-2_all.deb ... 451s Unpacking aglfn (1.7+git20191031.4036a9c-2) ... 451s Selecting previously unselected package gnuplot-data. 451s Preparing to unpack .../085-gnuplot-data_6.0.2+dfsg1-1_all.deb ... 451s Unpacking gnuplot-data (6.0.2+dfsg1-1) ... 451s Selecting previously unselected package fonts-dejavu-mono. 451s Preparing to unpack .../086-fonts-dejavu-mono_2.37-8_all.deb ... 451s Unpacking fonts-dejavu-mono (2.37-8) ... 451s Selecting previously unselected package fonts-dejavu-core. 451s Preparing to unpack .../087-fonts-dejavu-core_2.37-8_all.deb ... 451s Unpacking fonts-dejavu-core (2.37-8) ... 451s Selecting previously unselected package fonts-freefont-otf. 451s Preparing to unpack .../088-fonts-freefont-otf_20211204+svn4273-2_all.deb ... 451s Unpacking fonts-freefont-otf (20211204+svn4273-2) ... 451s Selecting previously unselected package fontconfig-config. 451s Preparing to unpack .../089-fontconfig-config_2.15.0-2ubuntu1_arm64.deb ... 452s Unpacking fontconfig-config (2.15.0-2ubuntu1) ... 452s Selecting previously unselected package libfontconfig1:arm64. 452s Preparing to unpack .../090-libfontconfig1_2.15.0-2ubuntu1_arm64.deb ... 452s Unpacking libfontconfig1:arm64 (2.15.0-2ubuntu1) ... 452s Selecting previously unselected package libpixman-1-0:arm64. 452s Preparing to unpack .../091-libpixman-1-0_0.44.0-3_arm64.deb ... 452s Unpacking libpixman-1-0:arm64 (0.44.0-3) ... 452s Selecting previously unselected package libxcb-render0:arm64. 452s Preparing to unpack .../092-libxcb-render0_1.17.0-2_arm64.deb ... 452s Unpacking libxcb-render0:arm64 (1.17.0-2) ... 452s Selecting previously unselected package libxcb-shm0:arm64. 452s Preparing to unpack .../093-libxcb-shm0_1.17.0-2_arm64.deb ... 452s Unpacking libxcb-shm0:arm64 (1.17.0-2) ... 452s Selecting previously unselected package libxrender1:arm64. 452s Preparing to unpack .../094-libxrender1_1%3a0.9.10-1.1build1_arm64.deb ... 452s Unpacking libxrender1:arm64 (1:0.9.10-1.1build1) ... 452s Selecting previously unselected package libcairo2:arm64. 452s Preparing to unpack .../095-libcairo2_1.18.2-2_arm64.deb ... 452s Unpacking libcairo2:arm64 (1.18.2-2) ... 452s Selecting previously unselected package libsharpyuv0:arm64. 452s Preparing to unpack .../096-libsharpyuv0_1.5.0-0.1_arm64.deb ... 452s Unpacking libsharpyuv0:arm64 (1.5.0-0.1) ... 452s Selecting previously unselected package libaom3:arm64. 452s Preparing to unpack .../097-libaom3_3.12.0-1_arm64.deb ... 452s Unpacking libaom3:arm64 (3.12.0-1) ... 452s Selecting previously unselected package libheif-plugin-aomdec:arm64. 452s Preparing to unpack .../098-libheif-plugin-aomdec_1.19.7-1_arm64.deb ... 452s Unpacking libheif-plugin-aomdec:arm64 (1.19.7-1) ... 452s Selecting previously unselected package libde265-0:arm64. 452s Preparing to unpack .../099-libde265-0_1.0.15-1build5_arm64.deb ... 452s Unpacking libde265-0:arm64 (1.0.15-1build5) ... 452s Selecting previously unselected package libheif-plugin-libde265:arm64. 452s Preparing to unpack .../100-libheif-plugin-libde265_1.19.7-1_arm64.deb ... 452s Unpacking libheif-plugin-libde265:arm64 (1.19.7-1) ... 452s Selecting previously unselected package libheif1:arm64. 452s Preparing to unpack .../101-libheif1_1.19.7-1_arm64.deb ... 452s Unpacking libheif1:arm64 (1.19.7-1) ... 452s Selecting previously unselected package libimagequant0:arm64. 452s Preparing to unpack .../102-libimagequant0_2.18.0-1build1_arm64.deb ... 452s Unpacking libimagequant0:arm64 (2.18.0-1build1) ... 452s Selecting previously unselected package libjpeg-turbo8:arm64. 452s Preparing to unpack .../103-libjpeg-turbo8_2.1.5-3ubuntu2_arm64.deb ... 452s Unpacking libjpeg-turbo8:arm64 (2.1.5-3ubuntu2) ... 452s Selecting previously unselected package libjpeg8:arm64. 452s Preparing to unpack .../104-libjpeg8_8c-2ubuntu11_arm64.deb ... 452s Unpacking libjpeg8:arm64 (8c-2ubuntu11) ... 452s Selecting previously unselected package libgraphite2-3:arm64. 452s Preparing to unpack .../105-libgraphite2-3_1.3.14-2ubuntu1_arm64.deb ... 452s Unpacking libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 452s Selecting previously unselected package libharfbuzz0b:arm64. 452s Preparing to unpack .../106-libharfbuzz0b_10.2.0-1_arm64.deb ... 452s Unpacking libharfbuzz0b:arm64 (10.2.0-1) ... 452s Selecting previously unselected package libraqm0:arm64. 452s Preparing to unpack .../107-libraqm0_0.10.2-1_arm64.deb ... 452s Unpacking libraqm0:arm64 (0.10.2-1) ... 452s Selecting previously unselected package libdeflate0:arm64. 452s Preparing to unpack .../108-libdeflate0_1.23-1_arm64.deb ... 452s Unpacking libdeflate0:arm64 (1.23-1) ... 452s Selecting previously unselected package libjbig0:arm64. 452s Preparing to unpack .../109-libjbig0_2.1-6.1ubuntu2_arm64.deb ... 452s Unpacking libjbig0:arm64 (2.1-6.1ubuntu2) ... 452s Selecting previously unselected package liblerc4:arm64. 452s Preparing to unpack .../110-liblerc4_4.0.0+ds-5ubuntu1_arm64.deb ... 452s Unpacking liblerc4:arm64 (4.0.0+ds-5ubuntu1) ... 452s Selecting previously unselected package libwebp7:arm64. 452s Preparing to unpack .../111-libwebp7_1.5.0-0.1_arm64.deb ... 452s Unpacking libwebp7:arm64 (1.5.0-0.1) ... 453s Selecting previously unselected package libtiff6:arm64. 453s Preparing to unpack .../112-libtiff6_4.5.1+git230720-4ubuntu4_arm64.deb ... 453s Unpacking libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 453s Selecting previously unselected package libxpm4:arm64. 453s Preparing to unpack .../113-libxpm4_1%3a3.5.17-1build2_arm64.deb ... 453s Unpacking libxpm4:arm64 (1:3.5.17-1build2) ... 453s Selecting previously unselected package libgd3:arm64. 453s Preparing to unpack .../114-libgd3_2.3.3-12ubuntu3_arm64.deb ... 453s Unpacking libgd3:arm64 (2.3.3-12ubuntu3) ... 453s Selecting previously unselected package liblua5.4-0:arm64. 453s Preparing to unpack .../115-liblua5.4-0_5.4.7-1_arm64.deb ... 453s Unpacking liblua5.4-0:arm64 (5.4.7-1) ... 453s Selecting previously unselected package fontconfig. 453s Preparing to unpack .../116-fontconfig_2.15.0-2ubuntu1_arm64.deb ... 453s Unpacking fontconfig (2.15.0-2ubuntu1) ... 453s Selecting previously unselected package libthai-data. 453s Preparing to unpack .../117-libthai-data_0.1.29-2build1_all.deb ... 453s Unpacking libthai-data (0.1.29-2build1) ... 453s Selecting previously unselected package libdatrie1:arm64. 453s Preparing to unpack .../118-libdatrie1_0.2.13-3build1_arm64.deb ... 453s Unpacking libdatrie1:arm64 (0.2.13-3build1) ... 453s Selecting previously unselected package libthai0:arm64. 453s Preparing to unpack .../119-libthai0_0.1.29-2build1_arm64.deb ... 453s Unpacking libthai0:arm64 (0.1.29-2build1) ... 453s Selecting previously unselected package libpango-1.0-0:arm64. 453s Preparing to unpack .../120-libpango-1.0-0_1.56.2-1_arm64.deb ... 453s Unpacking libpango-1.0-0:arm64 (1.56.2-1) ... 453s Selecting previously unselected package libpangoft2-1.0-0:arm64. 453s Preparing to unpack .../121-libpangoft2-1.0-0_1.56.2-1_arm64.deb ... 453s Unpacking libpangoft2-1.0-0:arm64 (1.56.2-1) ... 453s Selecting previously unselected package libpangocairo-1.0-0:arm64. 453s Preparing to unpack .../122-libpangocairo-1.0-0_1.56.2-1_arm64.deb ... 453s Unpacking libpangocairo-1.0-0:arm64 (1.56.2-1) ... 453s Selecting previously unselected package libwebpmux3:arm64. 453s Preparing to unpack .../123-libwebpmux3_1.5.0-0.1_arm64.deb ... 453s Unpacking libwebpmux3:arm64 (1.5.0-0.1) ... 453s Selecting previously unselected package gnuplot-nox. 453s Preparing to unpack .../124-gnuplot-nox_6.0.2+dfsg1-1_arm64.deb ... 453s Unpacking gnuplot-nox (6.0.2+dfsg1-1) ... 453s Selecting previously unselected package dh-octave-autopkgtest. 453s Preparing to unpack .../125-dh-octave-autopkgtest_1.8.0_all.deb ... 453s Unpacking dh-octave-autopkgtest (1.8.0) ... 453s Selecting previously unselected package libapt-pkg-perl. 453s Preparing to unpack .../126-libapt-pkg-perl_0.1.41build1_arm64.deb ... 453s Unpacking libapt-pkg-perl (0.1.41build1) ... 453s Selecting previously unselected package libarray-intspan-perl. 453s Preparing to unpack .../127-libarray-intspan-perl_2.004-2_all.deb ... 453s Unpacking libarray-intspan-perl (2.004-2) ... 453s Selecting previously unselected package libyaml-libyaml-perl. 453s Preparing to unpack .../128-libyaml-libyaml-perl_0.903.0+ds-1_arm64.deb ... 453s Unpacking libyaml-libyaml-perl (0.903.0+ds-1) ... 453s Selecting previously unselected package libconfig-model-backend-yaml-perl. 453s Preparing to unpack .../129-libconfig-model-backend-yaml-perl_2.134-2_all.deb ... 453s Unpacking libconfig-model-backend-yaml-perl (2.134-2) ... 453s Selecting previously unselected package libexporter-lite-perl. 453s Preparing to unpack .../130-libexporter-lite-perl_0.09-2_all.deb ... 453s Unpacking libexporter-lite-perl (0.09-2) ... 453s Selecting previously unselected package libencode-locale-perl. 453s Preparing to unpack .../131-libencode-locale-perl_1.05-3_all.deb ... 453s Unpacking libencode-locale-perl (1.05-3) ... 453s Selecting previously unselected package libtimedate-perl. 453s Preparing to unpack .../132-libtimedate-perl_2.3300-2_all.deb ... 453s Unpacking libtimedate-perl (2.3300-2) ... 453s Selecting previously unselected package libhttp-date-perl. 453s Preparing to unpack .../133-libhttp-date-perl_6.06-1_all.deb ... 453s Unpacking libhttp-date-perl (6.06-1) ... 453s Selecting previously unselected package libfile-listing-perl. 453s Preparing to unpack .../134-libfile-listing-perl_6.16-1_all.deb ... 453s Unpacking libfile-listing-perl (6.16-1) ... 453s Selecting previously unselected package libhtml-tagset-perl. 453s Preparing to unpack .../135-libhtml-tagset-perl_3.24-1_all.deb ... 453s Unpacking libhtml-tagset-perl (3.24-1) ... 453s Selecting previously unselected package liburi-perl. 453s Preparing to unpack .../136-liburi-perl_5.30-1_all.deb ... 453s Unpacking liburi-perl (5.30-1) ... 453s Selecting previously unselected package libhtml-parser-perl:arm64. 453s Preparing to unpack .../137-libhtml-parser-perl_3.83-1build1_arm64.deb ... 453s Unpacking libhtml-parser-perl:arm64 (3.83-1build1) ... 453s Selecting previously unselected package libhtml-tree-perl. 453s Preparing to unpack .../138-libhtml-tree-perl_5.07-3_all.deb ... 453s Unpacking libhtml-tree-perl (5.07-3) ... 453s Selecting previously unselected package libclone-perl:arm64. 454s Preparing to unpack .../139-libclone-perl_0.47-1_arm64.deb ... 454s Unpacking libclone-perl:arm64 (0.47-1) ... 454s Selecting previously unselected package libio-html-perl. 454s Preparing to unpack .../140-libio-html-perl_1.004-3_all.deb ... 454s Unpacking libio-html-perl (1.004-3) ... 454s Selecting previously unselected package liblwp-mediatypes-perl. 454s Preparing to unpack .../141-liblwp-mediatypes-perl_6.04-2_all.deb ... 454s Unpacking liblwp-mediatypes-perl (6.04-2) ... 454s Selecting previously unselected package libhttp-message-perl. 454s Preparing to unpack .../142-libhttp-message-perl_7.00-2ubuntu1_all.deb ... 454s Unpacking libhttp-message-perl (7.00-2ubuntu1) ... 454s Selecting previously unselected package libhttp-cookies-perl. 454s Preparing to unpack .../143-libhttp-cookies-perl_6.11-1_all.deb ... 454s Unpacking libhttp-cookies-perl (6.11-1) ... 454s Selecting previously unselected package libhttp-negotiate-perl. 454s Preparing to unpack .../144-libhttp-negotiate-perl_6.01-2_all.deb ... 454s Unpacking libhttp-negotiate-perl (6.01-2) ... 454s Selecting previously unselected package perl-openssl-defaults:arm64. 454s Preparing to unpack .../145-perl-openssl-defaults_7build3_arm64.deb ... 454s Unpacking perl-openssl-defaults:arm64 (7build3) ... 454s Selecting previously unselected package libnet-ssleay-perl:arm64. 454s Preparing to unpack .../146-libnet-ssleay-perl_1.94-3_arm64.deb ... 454s Unpacking libnet-ssleay-perl:arm64 (1.94-3) ... 454s Selecting previously unselected package libio-socket-ssl-perl. 454s Preparing to unpack .../147-libio-socket-ssl-perl_2.089-1_all.deb ... 454s Unpacking libio-socket-ssl-perl (2.089-1) ... 454s Selecting previously unselected package libnet-http-perl. 454s Preparing to unpack .../148-libnet-http-perl_6.23-1_all.deb ... 454s Unpacking libnet-http-perl (6.23-1) ... 454s Selecting previously unselected package liblwp-protocol-https-perl. 454s Preparing to unpack .../149-liblwp-protocol-https-perl_6.14-1_all.deb ... 454s Unpacking liblwp-protocol-https-perl (6.14-1) ... 454s Selecting previously unselected package libwww-robotrules-perl. 454s Preparing to unpack .../150-libwww-robotrules-perl_6.02-1_all.deb ... 454s Unpacking libwww-robotrules-perl (6.02-1) ... 454s Selecting previously unselected package libwww-perl. 454s Preparing to unpack .../151-libwww-perl_6.78-1_all.deb ... 454s Unpacking libwww-perl (6.78-1) ... 454s Selecting previously unselected package liberror-perl. 454s Preparing to unpack .../152-liberror-perl_0.17030-1_all.deb ... 454s Unpacking liberror-perl (0.17030-1) ... 454s Selecting previously unselected package libparse-debcontrol-perl. 454s Preparing to unpack .../153-libparse-debcontrol-perl_2.005-6_all.deb ... 454s Unpacking libparse-debcontrol-perl (2.005-6) ... 454s Selecting previously unselected package libsoftware-copyright-perl. 454s Preparing to unpack .../154-libsoftware-copyright-perl_0.014-1_all.deb ... 454s Unpacking libsoftware-copyright-perl (0.014-1) ... 454s Selecting previously unselected package libalgorithm-c3-perl. 454s Preparing to unpack .../155-libalgorithm-c3-perl_0.11-2_all.deb ... 454s Unpacking libalgorithm-c3-perl (0.11-2) ... 454s Selecting previously unselected package libclass-c3-perl. 454s Preparing to unpack .../156-libclass-c3-perl_0.35-2_all.deb ... 454s Unpacking libclass-c3-perl (0.35-2) ... 454s Selecting previously unselected package libmro-compat-perl. 454s Preparing to unpack .../157-libmro-compat-perl_0.15-2_all.deb ... 454s Unpacking libmro-compat-perl (0.15-2) ... 454s Selecting previously unselected package libdata-section-perl. 454s Preparing to unpack .../158-libdata-section-perl_0.200008-1_all.deb ... 454s Unpacking libdata-section-perl (0.200008-1) ... 454s Selecting previously unselected package libtext-template-perl. 454s Preparing to unpack .../159-libtext-template-perl_1.61-1_all.deb ... 454s Unpacking libtext-template-perl (1.61-1) ... 454s Selecting previously unselected package libsoftware-license-perl. 454s Preparing to unpack .../160-libsoftware-license-perl_0.104006-1_all.deb ... 454s Unpacking libsoftware-license-perl (0.104006-1) ... 454s Selecting previously unselected package libsoftware-licensemoreutils-perl. 454s Preparing to unpack .../161-libsoftware-licensemoreutils-perl_1.009-1_all.deb ... 454s Unpacking libsoftware-licensemoreutils-perl (1.009-1) ... 454s Selecting previously unselected package libsort-versions-perl. 454s Preparing to unpack .../162-libsort-versions-perl_1.62-3_all.deb ... 454s Unpacking libsort-versions-perl (1.62-3) ... 454s Selecting previously unselected package libtext-reform-perl. 454s Preparing to unpack .../163-libtext-reform-perl_1.20-5_all.deb ... 454s Unpacking libtext-reform-perl (1.20-5) ... 454s Selecting previously unselected package libtext-autoformat-perl. 455s Preparing to unpack .../164-libtext-autoformat-perl_1.750000-2_all.deb ... 455s Unpacking libtext-autoformat-perl (1.750000-2) ... 455s Selecting previously unselected package libtext-levenshtein-damerau-perl. 455s Preparing to unpack .../165-libtext-levenshtein-damerau-perl_0.41-3_all.deb ... 455s Unpacking libtext-levenshtein-damerau-perl (0.41-3) ... 455s Selecting previously unselected package libtoml-tiny-perl. 455s Preparing to unpack .../166-libtoml-tiny-perl_0.19-1_all.deb ... 455s Unpacking libtoml-tiny-perl (0.19-1) ... 455s Selecting previously unselected package libclass-inspector-perl. 455s Preparing to unpack .../167-libclass-inspector-perl_1.36-3_all.deb ... 455s Unpacking libclass-inspector-perl (1.36-3) ... 455s Selecting previously unselected package libfile-sharedir-perl. 455s Preparing to unpack .../168-libfile-sharedir-perl_1.118-3_all.deb ... 455s Unpacking libfile-sharedir-perl (1.118-3) ... 455s Selecting previously unselected package libindirect-perl. 455s Preparing to unpack .../169-libindirect-perl_0.39-2build5_arm64.deb ... 455s Unpacking libindirect-perl (0.39-2build5) ... 455s Selecting previously unselected package libxs-parse-keyword-perl. 455s Preparing to unpack .../170-libxs-parse-keyword-perl_0.48-2_arm64.deb ... 455s Unpacking libxs-parse-keyword-perl (0.48-2) ... 455s Selecting previously unselected package libxs-parse-sublike-perl:arm64. 455s Preparing to unpack .../171-libxs-parse-sublike-perl_0.37-1_arm64.deb ... 455s Unpacking libxs-parse-sublike-perl:arm64 (0.37-1) ... 455s Selecting previously unselected package libobject-pad-perl. 455s Preparing to unpack .../172-libobject-pad-perl_0.820-1_arm64.deb ... 455s Unpacking libobject-pad-perl (0.820-1) ... 455s Selecting previously unselected package libsyntax-keyword-try-perl. 455s Preparing to unpack .../173-libsyntax-keyword-try-perl_0.30-1_arm64.deb ... 455s Unpacking libsyntax-keyword-try-perl (0.30-1) ... 455s Selecting previously unselected package libio-interactive-perl. 455s Preparing to unpack .../174-libio-interactive-perl_1.026-1_all.deb ... 455s Unpacking libio-interactive-perl (1.026-1) ... 455s Selecting previously unselected package liblog-any-perl. 455s Preparing to unpack .../175-liblog-any-perl_1.717-1_all.deb ... 455s Unpacking liblog-any-perl (1.717-1) ... 455s Selecting previously unselected package liblog-any-adapter-screen-perl. 455s Preparing to unpack .../176-liblog-any-adapter-screen-perl_0.141-1_all.deb ... 455s Unpacking liblog-any-adapter-screen-perl (0.141-1) ... 455s Selecting previously unselected package libsub-exporter-progressive-perl. 455s Preparing to unpack .../177-libsub-exporter-progressive-perl_0.001013-3_all.deb ... 455s Unpacking libsub-exporter-progressive-perl (0.001013-3) ... 455s Selecting previously unselected package libvariable-magic-perl. 455s Preparing to unpack .../178-libvariable-magic-perl_0.64-1build1_arm64.deb ... 455s Unpacking libvariable-magic-perl (0.64-1build1) ... 455s Selecting previously unselected package libb-hooks-endofscope-perl. 455s Preparing to unpack .../179-libb-hooks-endofscope-perl_0.28-1_all.deb ... 455s Unpacking libb-hooks-endofscope-perl (0.28-1) ... 455s Selecting previously unselected package libsub-identify-perl. 455s Preparing to unpack .../180-libsub-identify-perl_0.14-3build4_arm64.deb ... 455s Unpacking libsub-identify-perl (0.14-3build4) ... 455s Selecting previously unselected package libsub-name-perl:arm64. 455s Preparing to unpack .../181-libsub-name-perl_0.28-1_arm64.deb ... 455s Unpacking libsub-name-perl:arm64 (0.28-1) ... 455s Selecting previously unselected package libnamespace-clean-perl. 455s Preparing to unpack .../182-libnamespace-clean-perl_0.27-2_all.deb ... 455s Unpacking libnamespace-clean-perl (0.27-2) ... 455s Selecting previously unselected package libnumber-compare-perl. 455s Preparing to unpack .../183-libnumber-compare-perl_0.03-3_all.deb ... 455s Unpacking libnumber-compare-perl (0.03-3) ... 455s Selecting previously unselected package libtext-glob-perl. 455s Preparing to unpack .../184-libtext-glob-perl_0.11-3_all.deb ... 455s Unpacking libtext-glob-perl (0.11-3) ... 455s Selecting previously unselected package libpath-iterator-rule-perl. 455s Preparing to unpack .../185-libpath-iterator-rule-perl_1.015-2_all.deb ... 455s Unpacking libpath-iterator-rule-perl (1.015-2) ... 455s Selecting previously unselected package libpod-parser-perl. 455s Preparing to unpack .../186-libpod-parser-perl_1.67-1_all.deb ... 455s Adding 'diversion of /usr/bin/podselect to /usr/bin/podselect.bundled by libpod-parser-perl' 455s Adding 'diversion of /usr/share/man/man1/podselect.1.gz to /usr/share/man/man1/podselect.bundled.1.gz by libpod-parser-perl' 455s Unpacking libpod-parser-perl (1.67-1) ... 455s Selecting previously unselected package libpod-constants-perl. 455s Preparing to unpack .../187-libpod-constants-perl_0.19-2_all.deb ... 455s Unpacking libpod-constants-perl (0.19-2) ... 455s Selecting previously unselected package libset-intspan-perl. 455s Preparing to unpack .../188-libset-intspan-perl_1.19-3_all.deb ... 455s Unpacking libset-intspan-perl (1.19-3) ... 455s Selecting previously unselected package libstring-copyright-perl. 455s Preparing to unpack .../189-libstring-copyright-perl_0.003014-1_all.deb ... 455s Unpacking libstring-copyright-perl (0.003014-1) ... 455s Selecting previously unselected package libstring-escape-perl. 455s Preparing to unpack .../190-libstring-escape-perl_2010.002-3_all.deb ... 455s Unpacking libstring-escape-perl (2010.002-3) ... 456s Selecting previously unselected package libregexp-pattern-license-perl. 456s Preparing to unpack .../191-libregexp-pattern-license-perl_3.11.2-1_all.deb ... 456s Unpacking libregexp-pattern-license-perl (3.11.2-1) ... 456s Selecting previously unselected package libregexp-pattern-perl. 456s Preparing to unpack .../192-libregexp-pattern-perl_0.2.14-2_all.deb ... 456s Unpacking libregexp-pattern-perl (0.2.14-2) ... 456s Selecting previously unselected package libstring-license-perl. 456s Preparing to unpack .../193-libstring-license-perl_0.0.11-1ubuntu1_all.deb ... 456s Unpacking libstring-license-perl (0.0.11-1ubuntu1) ... 456s Selecting previously unselected package licensecheck. 456s Preparing to unpack .../194-licensecheck_3.3.9-1ubuntu1_all.deb ... 456s Unpacking licensecheck (3.3.9-1ubuntu1) ... 456s Selecting previously unselected package diffstat. 456s Preparing to unpack .../195-diffstat_1.67-1_arm64.deb ... 456s Unpacking diffstat (1.67-1) ... 456s Selecting previously unselected package libberkeleydb-perl:arm64. 456s Preparing to unpack .../196-libberkeleydb-perl_0.66-1_arm64.deb ... 456s Unpacking libberkeleydb-perl:arm64 (0.66-1) ... 456s Selecting previously unselected package libclass-xsaccessor-perl. 456s Preparing to unpack .../197-libclass-xsaccessor-perl_1.19-4build6_arm64.deb ... 456s Unpacking libclass-xsaccessor-perl (1.19-4build6) ... 456s Selecting previously unselected package libconfig-tiny-perl. 456s Preparing to unpack .../198-libconfig-tiny-perl_2.30-1_all.deb ... 456s Unpacking libconfig-tiny-perl (2.30-1) ... 456s Selecting previously unselected package libconst-fast-perl. 456s Preparing to unpack .../199-libconst-fast-perl_0.014-2_all.deb ... 456s Unpacking libconst-fast-perl (0.014-2) ... 456s Selecting previously unselected package libcpanel-json-xs-perl:arm64. 456s Preparing to unpack .../200-libcpanel-json-xs-perl_4.39-1_arm64.deb ... 456s Unpacking libcpanel-json-xs-perl:arm64 (4.39-1) ... 456s Selecting previously unselected package libaliased-perl. 456s Preparing to unpack .../201-libaliased-perl_0.34-3_all.deb ... 456s Unpacking libaliased-perl (0.34-3) ... 456s Selecting previously unselected package libclass-data-inheritable-perl. 456s Preparing to unpack .../202-libclass-data-inheritable-perl_0.10-1_all.deb ... 456s Unpacking libclass-data-inheritable-perl (0.10-1) ... 456s Selecting previously unselected package libdevel-stacktrace-perl. 456s Preparing to unpack .../203-libdevel-stacktrace-perl_2.0500-1_all.deb ... 456s Unpacking libdevel-stacktrace-perl (2.0500-1) ... 456s Selecting previously unselected package libexception-class-perl. 456s Preparing to unpack .../204-libexception-class-perl_1.45-1_all.deb ... 456s Unpacking libexception-class-perl (1.45-1) ... 456s Selecting previously unselected package libiterator-perl. 456s Preparing to unpack .../205-libiterator-perl_0.03+ds1-2_all.deb ... 456s Unpacking libiterator-perl (0.03+ds1-2) ... 456s Selecting previously unselected package libiterator-util-perl. 456s Preparing to unpack .../206-libiterator-util-perl_0.02+ds1-2_all.deb ... 456s Unpacking libiterator-util-perl (0.02+ds1-2) ... 456s Selecting previously unselected package libdata-dpath-perl. 456s Preparing to unpack .../207-libdata-dpath-perl_0.60-1_all.deb ... 456s Unpacking libdata-dpath-perl (0.60-1) ... 456s Selecting previously unselected package libnet-domain-tld-perl. 456s Preparing to unpack .../208-libnet-domain-tld-perl_1.75-4_all.deb ... 456s Unpacking libnet-domain-tld-perl (1.75-4) ... 456s Selecting previously unselected package libdata-validate-domain-perl. 456s Preparing to unpack .../209-libdata-validate-domain-perl_0.15-1_all.deb ... 456s Unpacking libdata-validate-domain-perl (0.15-1) ... 456s Selecting previously unselected package libnet-ipv6addr-perl. 456s Preparing to unpack .../210-libnet-ipv6addr-perl_1.02-1_all.deb ... 456s Unpacking libnet-ipv6addr-perl (1.02-1) ... 456s Selecting previously unselected package libnet-netmask-perl. 456s Preparing to unpack .../211-libnet-netmask-perl_2.0002-2_all.deb ... 456s Unpacking libnet-netmask-perl (2.0002-2) ... 456s Selecting previously unselected package libnetaddr-ip-perl. 456s Preparing to unpack .../212-libnetaddr-ip-perl_4.079+dfsg-2build5_arm64.deb ... 456s Unpacking libnetaddr-ip-perl (4.079+dfsg-2build5) ... 456s Selecting previously unselected package libdata-validate-ip-perl. 456s Preparing to unpack .../213-libdata-validate-ip-perl_0.31-1_all.deb ... 456s Unpacking libdata-validate-ip-perl (0.31-1) ... 456s Selecting previously unselected package libdata-validate-uri-perl. 456s Preparing to unpack .../214-libdata-validate-uri-perl_0.07-3_all.deb ... 456s Unpacking libdata-validate-uri-perl (0.07-3) ... 456s Selecting previously unselected package libdevel-size-perl. 456s Preparing to unpack .../215-libdevel-size-perl_0.84-1build1_arm64.deb ... 456s Unpacking libdevel-size-perl (0.84-1build1) ... 456s Selecting previously unselected package libemail-address-xs-perl. 456s Preparing to unpack .../216-libemail-address-xs-perl_1.05-1build5_arm64.deb ... 456s Unpacking libemail-address-xs-perl (1.05-1build5) ... 456s Selecting previously unselected package libipc-system-simple-perl. 456s Preparing to unpack .../217-libipc-system-simple-perl_1.30-2_all.deb ... 456s Unpacking libipc-system-simple-perl (1.30-2) ... 457s Selecting previously unselected package libfile-basedir-perl. 457s Preparing to unpack .../218-libfile-basedir-perl_0.09-2_all.deb ... 457s Unpacking libfile-basedir-perl (0.09-2) ... 457s Selecting previously unselected package libfile-find-rule-perl. 457s Preparing to unpack .../219-libfile-find-rule-perl_0.34-3_all.deb ... 457s Unpacking libfile-find-rule-perl (0.34-3) ... 457s Selecting previously unselected package libio-string-perl. 457s Preparing to unpack .../220-libio-string-perl_1.08-4_all.deb ... 457s Unpacking libio-string-perl (1.08-4) ... 457s Selecting previously unselected package libfont-ttf-perl. 457s Preparing to unpack .../221-libfont-ttf-perl_1.06-2_all.deb ... 457s Unpacking libfont-ttf-perl (1.06-2) ... 457s Selecting previously unselected package libhtml-html5-entities-perl. 457s Preparing to unpack .../222-libhtml-html5-entities-perl_0.004-3_all.deb ... 457s Unpacking libhtml-html5-entities-perl (0.004-3) ... 457s Selecting previously unselected package libhtml-tokeparser-simple-perl. 457s Preparing to unpack .../223-libhtml-tokeparser-simple-perl_3.16-4_all.deb ... 457s Unpacking libhtml-tokeparser-simple-perl (3.16-4) ... 457s Selecting previously unselected package libipc-run3-perl. 457s Preparing to unpack .../224-libipc-run3-perl_0.049-1_all.deb ... 457s Unpacking libipc-run3-perl (0.049-1) ... 457s Selecting previously unselected package libjson-maybexs-perl. 457s Preparing to unpack .../225-libjson-maybexs-perl_1.004008-1_all.deb ... 457s Unpacking libjson-maybexs-perl (1.004008-1) ... 457s Selecting previously unselected package liblist-compare-perl. 457s Preparing to unpack .../226-liblist-compare-perl_0.55-2_all.deb ... 457s Unpacking liblist-compare-perl (0.55-2) ... 457s Selecting previously unselected package liblist-someutils-perl. 457s Preparing to unpack .../227-liblist-someutils-perl_0.59-1_all.deb ... 457s Unpacking liblist-someutils-perl (0.59-1) ... 457s Selecting previously unselected package liblist-utilsby-perl. 457s Preparing to unpack .../228-liblist-utilsby-perl_0.12-2_all.deb ... 457s Unpacking liblist-utilsby-perl (0.12-2) ... 457s Selecting previously unselected package libmldbm-perl. 457s Preparing to unpack .../229-libmldbm-perl_2.05-4_all.deb ... 457s Unpacking libmldbm-perl (2.05-4) ... 457s Selecting previously unselected package libclass-method-modifiers-perl. 457s Preparing to unpack .../230-libclass-method-modifiers-perl_2.15-1_all.deb ... 457s Unpacking libclass-method-modifiers-perl (2.15-1) ... 457s Selecting previously unselected package libimport-into-perl. 457s Preparing to unpack .../231-libimport-into-perl_1.002005-2_all.deb ... 457s Unpacking libimport-into-perl (1.002005-2) ... 457s Selecting previously unselected package librole-tiny-perl. 457s Preparing to unpack .../232-librole-tiny-perl_2.002004-1_all.deb ... 457s Unpacking librole-tiny-perl (2.002004-1) ... 457s Selecting previously unselected package libsub-quote-perl. 457s Preparing to unpack .../233-libsub-quote-perl_2.006008-1ubuntu1_all.deb ... 457s Unpacking libsub-quote-perl (2.006008-1ubuntu1) ... 457s Selecting previously unselected package libmoo-perl. 457s Preparing to unpack .../234-libmoo-perl_2.005005-1_all.deb ... 457s Unpacking libmoo-perl (2.005005-1) ... 457s Selecting previously unselected package libstrictures-perl. 457s Preparing to unpack .../235-libstrictures-perl_2.000006-1_all.deb ... 457s Unpacking libstrictures-perl (2.000006-1) ... 457s Selecting previously unselected package libmoox-aliases-perl. 457s Preparing to unpack .../236-libmoox-aliases-perl_0.001006-2_all.deb ... 457s Unpacking libmoox-aliases-perl (0.001006-2) ... 457s Selecting previously unselected package libperlio-gzip-perl. 457s Preparing to unpack .../237-libperlio-gzip-perl_0.20-1build5_arm64.deb ... 457s Unpacking libperlio-gzip-perl (0.20-1build5) ... 457s Selecting previously unselected package libperlio-utf8-strict-perl. 457s Preparing to unpack .../238-libperlio-utf8-strict-perl_0.010-1build4_arm64.deb ... 457s Unpacking libperlio-utf8-strict-perl (0.010-1build4) ... 457s Selecting previously unselected package libproc-processtable-perl:arm64. 457s Preparing to unpack .../239-libproc-processtable-perl_0.636-1build4_arm64.deb ... 457s Unpacking libproc-processtable-perl:arm64 (0.636-1build4) ... 457s Selecting previously unselected package libregexp-wildcards-perl. 457s Preparing to unpack .../240-libregexp-wildcards-perl_1.05-3_all.deb ... 457s Unpacking libregexp-wildcards-perl (1.05-3) ... 457s Selecting previously unselected package libsereal-decoder-perl. 458s Preparing to unpack .../241-libsereal-decoder-perl_5.004+ds-1build4_arm64.deb ... 458s Unpacking libsereal-decoder-perl (5.004+ds-1build4) ... 458s Selecting previously unselected package libsereal-encoder-perl. 458s Preparing to unpack .../242-libsereal-encoder-perl_5.004+ds-1build4_arm64.deb ... 458s Unpacking libsereal-encoder-perl (5.004+ds-1build4) ... 458s Selecting previously unselected package libterm-readkey-perl. 458s Preparing to unpack .../243-libterm-readkey-perl_2.38-2build5_arm64.deb ... 458s Unpacking libterm-readkey-perl (2.38-2build5) ... 458s Selecting previously unselected package libtext-levenshteinxs-perl. 458s Preparing to unpack .../244-libtext-levenshteinxs-perl_0.03-5build5_arm64.deb ... 458s Unpacking libtext-levenshteinxs-perl (0.03-5build5) ... 458s Selecting previously unselected package libmarkdown2:arm64. 458s Preparing to unpack .../245-libmarkdown2_2.2.7-2.1_arm64.deb ... 458s Unpacking libmarkdown2:arm64 (2.2.7-2.1) ... 458s Selecting previously unselected package libtext-markdown-discount-perl. 458s Preparing to unpack .../246-libtext-markdown-discount-perl_0.18-1_arm64.deb ... 458s Unpacking libtext-markdown-discount-perl (0.18-1) ... 458s Selecting previously unselected package libdata-messagepack-perl. 458s Preparing to unpack .../247-libdata-messagepack-perl_1.02-1build5_arm64.deb ... 458s Unpacking libdata-messagepack-perl (1.02-1build5) ... 458s Selecting previously unselected package libtext-xslate-perl:arm64. 458s Preparing to unpack .../248-libtext-xslate-perl_3.5.9-2build1_arm64.deb ... 458s Unpacking libtext-xslate-perl:arm64 (3.5.9-2build1) ... 458s Selecting previously unselected package libtime-duration-perl. 458s Preparing to unpack .../249-libtime-duration-perl_1.21-2_all.deb ... 458s Unpacking libtime-duration-perl (1.21-2) ... 458s Selecting previously unselected package libtime-moment-perl. 458s Preparing to unpack .../250-libtime-moment-perl_0.44-2build5_arm64.deb ... 458s Unpacking libtime-moment-perl (0.44-2build5) ... 458s Selecting previously unselected package libunicode-utf8-perl. 458s Preparing to unpack .../251-libunicode-utf8-perl_0.62-2build4_arm64.deb ... 458s Unpacking libunicode-utf8-perl (0.62-2build4) ... 458s Selecting previously unselected package libcgi-pm-perl. 458s Preparing to unpack .../252-libcgi-pm-perl_4.67-1_all.deb ... 458s Unpacking libcgi-pm-perl (4.67-1) ... 458s Selecting previously unselected package libhtml-form-perl. 458s Preparing to unpack .../253-libhtml-form-perl_6.12-1_all.deb ... 458s Unpacking libhtml-form-perl (6.12-1) ... 458s Selecting previously unselected package libwww-mechanize-perl. 458s Preparing to unpack .../254-libwww-mechanize-perl_2.19-1ubuntu1_all.deb ... 458s Unpacking libwww-mechanize-perl (2.19-1ubuntu1) ... 458s Selecting previously unselected package libxml-namespacesupport-perl. 458s Preparing to unpack .../255-libxml-namespacesupport-perl_1.12-2_all.deb ... 458s Unpacking libxml-namespacesupport-perl (1.12-2) ... 458s Selecting previously unselected package libxml-sax-base-perl. 458s Preparing to unpack .../256-libxml-sax-base-perl_1.09-3_all.deb ... 458s Unpacking libxml-sax-base-perl (1.09-3) ... 458s Selecting previously unselected package libxml-sax-perl. 458s Preparing to unpack .../257-libxml-sax-perl_1.02+dfsg-4_all.deb ... 458s Unpacking libxml-sax-perl (1.02+dfsg-4) ... 458s Selecting previously unselected package libxml-libxml-perl. 458s Preparing to unpack .../258-libxml-libxml-perl_2.0207+dfsg+really+2.0134-5build1_arm64.deb ... 458s Unpacking libxml-libxml-perl (2.0207+dfsg+really+2.0134-5build1) ... 458s Selecting previously unselected package lzip. 458s Preparing to unpack .../259-lzip_1.25-2_arm64.deb ... 458s Unpacking lzip (1.25-2) ... 458s Selecting previously unselected package lzop. 458s Preparing to unpack .../260-lzop_1.04-2build3_arm64.deb ... 458s Unpacking lzop (1.04-2build3) ... 458s Selecting previously unselected package patchutils. 458s Preparing to unpack .../261-patchutils_0.4.2-1build3_arm64.deb ... 458s Unpacking patchutils (0.4.2-1build3) ... 458s Selecting previously unselected package t1utils. 458s Preparing to unpack .../262-t1utils_1.41-4build3_arm64.deb ... 458s Unpacking t1utils (1.41-4build3) ... 458s Selecting previously unselected package unzip. 458s Preparing to unpack .../263-unzip_6.0-28ubuntu6_arm64.deb ... 458s Unpacking unzip (6.0-28ubuntu6) ... 458s Selecting previously unselected package lintian. 458s Preparing to unpack .../264-lintian_2.121.1+nmu1ubuntu2_all.deb ... 458s Unpacking lintian (2.121.1+nmu1ubuntu2) ... 459s Selecting previously unselected package libconfig-model-dpkg-perl. 459s Preparing to unpack .../265-libconfig-model-dpkg-perl_3.010_all.deb ... 459s Unpacking libconfig-model-dpkg-perl (3.010) ... 459s Selecting previously unselected package libconvert-binhex-perl. 459s Preparing to unpack .../266-libconvert-binhex-perl_1.125-3_all.deb ... 459s Unpacking libconvert-binhex-perl (1.125-3) ... 459s Selecting previously unselected package libnet-smtp-ssl-perl. 459s Preparing to unpack .../267-libnet-smtp-ssl-perl_1.04-2_all.deb ... 459s Unpacking libnet-smtp-ssl-perl (1.04-2) ... 459s Selecting previously unselected package libmailtools-perl. 459s Preparing to unpack .../268-libmailtools-perl_2.22-1_all.deb ... 459s Unpacking libmailtools-perl (2.22-1) ... 459s Selecting previously unselected package libmime-tools-perl. 459s Preparing to unpack .../269-libmime-tools-perl_5.515-1_all.deb ... 459s Unpacking libmime-tools-perl (5.515-1) ... 459s Selecting previously unselected package libsuitesparseconfig7:arm64. 459s Preparing to unpack .../270-libsuitesparseconfig7_1%3a7.8.3+dfsg-3_arm64.deb ... 459s Unpacking libsuitesparseconfig7:arm64 (1:7.8.3+dfsg-3) ... 459s Selecting previously unselected package libamd3:arm64. 459s Preparing to unpack .../271-libamd3_1%3a7.8.3+dfsg-3_arm64.deb ... 459s Unpacking libamd3:arm64 (1:7.8.3+dfsg-3) ... 459s Selecting previously unselected package libblas3:arm64. 459s Preparing to unpack .../272-libblas3_3.12.1-2_arm64.deb ... 459s Unpacking libblas3:arm64 (3.12.1-2) ... 459s Selecting previously unselected package libgfortran5:arm64. 459s Preparing to unpack .../273-libgfortran5_15-20250222-0ubuntu1_arm64.deb ... 459s Unpacking libgfortran5:arm64 (15-20250222-0ubuntu1) ... 459s Selecting previously unselected package liblapack3:arm64. 459s Preparing to unpack .../274-liblapack3_3.12.1-2_arm64.deb ... 459s Unpacking liblapack3:arm64 (3.12.1-2) ... 459s Selecting previously unselected package libarpack2t64:arm64. 459s Preparing to unpack .../275-libarpack2t64_3.9.1-4_arm64.deb ... 459s Unpacking libarpack2t64:arm64 (3.9.1-4) ... 459s Selecting previously unselected package libccolamd3:arm64. 459s Preparing to unpack .../276-libccolamd3_1%3a7.8.3+dfsg-3_arm64.deb ... 459s Unpacking libccolamd3:arm64 (1:7.8.3+dfsg-3) ... 459s Selecting previously unselected package libcamd3:arm64. 459s Preparing to unpack .../277-libcamd3_1%3a7.8.3+dfsg-3_arm64.deb ... 459s Unpacking libcamd3:arm64 (1:7.8.3+dfsg-3) ... 459s Selecting previously unselected package libcolamd3:arm64. 459s Preparing to unpack .../278-libcolamd3_1%3a7.8.3+dfsg-3_arm64.deb ... 459s Unpacking libcolamd3:arm64 (1:7.8.3+dfsg-3) ... 459s Selecting previously unselected package libcholmod5:arm64. 459s Preparing to unpack .../279-libcholmod5_1%3a7.8.3+dfsg-3_arm64.deb ... 459s Unpacking libcholmod5:arm64 (1:7.8.3+dfsg-3) ... 459s Selecting previously unselected package libcxsparse4:arm64. 459s Preparing to unpack .../280-libcxsparse4_1%3a7.8.3+dfsg-3_arm64.deb ... 459s Unpacking libcxsparse4:arm64 (1:7.8.3+dfsg-3) ... 459s Selecting previously unselected package libfftw3-double3:arm64. 459s Preparing to unpack .../281-libfftw3-double3_3.3.10-2fakesync1build1_arm64.deb ... 459s Unpacking libfftw3-double3:arm64 (3.3.10-2fakesync1build1) ... 459s Selecting previously unselected package libfftw3-single3:arm64. 459s Preparing to unpack .../282-libfftw3-single3_3.3.10-2fakesync1build1_arm64.deb ... 459s Unpacking libfftw3-single3:arm64 (3.3.10-2fakesync1build1) ... 459s Selecting previously unselected package libxfixes3:arm64. 459s Preparing to unpack .../283-libxfixes3_1%3a6.0.0-2build1_arm64.deb ... 459s Unpacking libxfixes3:arm64 (1:6.0.0-2build1) ... 459s Selecting previously unselected package libxcursor1:arm64. 459s Preparing to unpack .../284-libxcursor1_1%3a1.2.3-1_arm64.deb ... 459s Unpacking libxcursor1:arm64 (1:1.2.3-1) ... 459s Selecting previously unselected package libxft2:arm64. 459s Preparing to unpack .../285-libxft2_2.3.6-1build1_arm64.deb ... 459s Unpacking libxft2:arm64 (2.3.6-1build1) ... 460s Selecting previously unselected package libxinerama1:arm64. 460s Preparing to unpack .../286-libxinerama1_2%3a1.1.4-3build1_arm64.deb ... 460s Unpacking libxinerama1:arm64 (2:1.1.4-3build1) ... 460s Selecting previously unselected package libfltk1.3t64:arm64. 460s Preparing to unpack .../287-libfltk1.3t64_1.3.8-6.1build2_arm64.deb ... 460s Unpacking libfltk1.3t64:arm64 (1.3.8-6.1build2) ... 460s Selecting previously unselected package libglvnd0:arm64. 460s Preparing to unpack .../288-libglvnd0_1.7.0-1build1_arm64.deb ... 460s Unpacking libglvnd0:arm64 (1.7.0-1build1) ... 460s Selecting previously unselected package libx11-xcb1:arm64. 460s Preparing to unpack .../289-libx11-xcb1_2%3a1.8.10-2_arm64.deb ... 460s Unpacking libx11-xcb1:arm64 (2:1.8.10-2) ... 460s Selecting previously unselected package libxcb-dri3-0:arm64. 460s Preparing to unpack .../290-libxcb-dri3-0_1.17.0-2_arm64.deb ... 460s Unpacking libxcb-dri3-0:arm64 (1.17.0-2) ... 460s Selecting previously unselected package libxcb-glx0:arm64. 460s Preparing to unpack .../291-libxcb-glx0_1.17.0-2_arm64.deb ... 460s Unpacking libxcb-glx0:arm64 (1.17.0-2) ... 460s Selecting previously unselected package libxcb-present0:arm64. 460s Preparing to unpack .../292-libxcb-present0_1.17.0-2_arm64.deb ... 460s Unpacking libxcb-present0:arm64 (1.17.0-2) ... 460s Selecting previously unselected package libxcb-xfixes0:arm64. 460s Preparing to unpack .../293-libxcb-xfixes0_1.17.0-2_arm64.deb ... 460s Unpacking libxcb-xfixes0:arm64 (1.17.0-2) ... 460s Selecting previously unselected package libxxf86vm1:arm64. 460s Preparing to unpack .../294-libxxf86vm1_1%3a1.1.4-1build4_arm64.deb ... 460s Unpacking libxxf86vm1:arm64 (1:1.1.4-1build4) ... 460s Selecting previously unselected package libxcb-randr0:arm64. 460s Preparing to unpack .../295-libxcb-randr0_1.17.0-2_arm64.deb ... 460s Unpacking libxcb-randr0:arm64 (1.17.0-2) ... 460s Selecting previously unselected package libxcb-sync1:arm64. 460s Preparing to unpack .../296-libxcb-sync1_1.17.0-2_arm64.deb ... 460s Unpacking libxcb-sync1:arm64 (1.17.0-2) ... 460s Selecting previously unselected package libxshmfence1:arm64. 460s Preparing to unpack .../297-libxshmfence1_1.3-1build5_arm64.deb ... 460s Unpacking libxshmfence1:arm64 (1.3-1build5) ... 460s Selecting previously unselected package mesa-libgallium:arm64. 460s Preparing to unpack .../298-mesa-libgallium_25.0.1-2ubuntu1_arm64.deb ... 460s Unpacking mesa-libgallium:arm64 (25.0.1-2ubuntu1) ... 460s Selecting previously unselected package libwayland-server0:arm64. 460s Preparing to unpack .../299-libwayland-server0_1.23.1-3_arm64.deb ... 460s Unpacking libwayland-server0:arm64 (1.23.1-3) ... 460s Selecting previously unselected package libgbm1:arm64. 460s Preparing to unpack .../300-libgbm1_25.0.1-2ubuntu1_arm64.deb ... 460s Unpacking libgbm1:arm64 (25.0.1-2ubuntu1) ... 460s Selecting previously unselected package libvulkan1:arm64. 460s Preparing to unpack .../301-libvulkan1_1.4.304.0-1_arm64.deb ... 460s Unpacking libvulkan1:arm64 (1.4.304.0-1) ... 460s Selecting previously unselected package libgl1-mesa-dri:arm64. 460s Preparing to unpack .../302-libgl1-mesa-dri_25.0.1-2ubuntu1_arm64.deb ... 460s Unpacking libgl1-mesa-dri:arm64 (25.0.1-2ubuntu1) ... 460s Selecting previously unselected package libglx-mesa0:arm64. 460s Preparing to unpack .../303-libglx-mesa0_25.0.1-2ubuntu1_arm64.deb ... 460s Unpacking libglx-mesa0:arm64 (25.0.1-2ubuntu1) ... 460s Selecting previously unselected package libglx0:arm64. 460s Preparing to unpack .../304-libglx0_1.7.0-1build1_arm64.deb ... 460s Unpacking libglx0:arm64 (1.7.0-1build1) ... 461s Selecting previously unselected package libgl1:arm64. 461s Preparing to unpack .../305-libgl1_1.7.0-1build1_arm64.deb ... 461s Unpacking libgl1:arm64 (1.7.0-1build1) ... 461s Selecting previously unselected package libfltk-gl1.3t64:arm64. 461s Preparing to unpack .../306-libfltk-gl1.3t64_1.3.8-6.1build2_arm64.deb ... 461s Unpacking libfltk-gl1.3t64:arm64 (1.3.8-6.1build2) ... 461s Selecting previously unselected package libgl2ps1.4. 461s Preparing to unpack .../307-libgl2ps1.4_1.4.2+dfsg1-2build1_arm64.deb ... 461s Unpacking libgl2ps1.4 (1.4.2+dfsg1-2build1) ... 461s Selecting previously unselected package libltdl7:arm64. 461s Preparing to unpack .../308-libltdl7_2.5.4-4_arm64.deb ... 461s Unpacking libltdl7:arm64 (2.5.4-4) ... 461s Selecting previously unselected package libglpk40:arm64. 461s Preparing to unpack .../309-libglpk40_5.0-1build2_arm64.deb ... 461s Unpacking libglpk40:arm64 (5.0-1build2) ... 461s Selecting previously unselected package libopengl0:arm64. 461s Preparing to unpack .../310-libopengl0_1.7.0-1build1_arm64.deb ... 461s Unpacking libopengl0:arm64 (1.7.0-1build1) ... 461s Selecting previously unselected package libglu1-mesa:arm64. 461s Preparing to unpack .../311-libglu1-mesa_9.0.2-1.1build1_arm64.deb ... 461s Unpacking libglu1-mesa:arm64 (9.0.2-1.1build1) ... 461s Selecting previously unselected package libhwy1t64:arm64. 461s Preparing to unpack .../312-libhwy1t64_1.2.0-3ubuntu3_arm64.deb ... 461s Unpacking libhwy1t64:arm64 (1.2.0-3ubuntu3) ... 461s Selecting previously unselected package liblcms2-2:arm64. 461s Preparing to unpack .../313-liblcms2-2_2.16-2_arm64.deb ... 461s Unpacking liblcms2-2:arm64 (2.16-2) ... 461s Selecting previously unselected package libjxl0.11:arm64. 461s Preparing to unpack .../314-libjxl0.11_0.11.1-1_arm64.deb ... 461s Unpacking libjxl0.11:arm64 (0.11.1-1) ... 461s Selecting previously unselected package libwmflite-0.2-7:arm64. 461s Preparing to unpack .../315-libwmflite-0.2-7_0.2.13-1.1build3_arm64.deb ... 461s Unpacking libwmflite-0.2-7:arm64 (0.2.13-1.1build3) ... 461s Selecting previously unselected package libgraphicsmagick-q16-3t64. 461s Preparing to unpack .../316-libgraphicsmagick-q16-3t64_1.4+really1.3.45+hg17689-1_arm64.deb ... 461s Unpacking libgraphicsmagick-q16-3t64 (1.4+really1.3.45+hg17689-1) ... 461s Selecting previously unselected package libgraphicsmagick++-q16-12t64. 461s Preparing to unpack .../317-libgraphicsmagick++-q16-12t64_1.4+really1.3.45+hg17689-1_arm64.deb ... 461s Unpacking libgraphicsmagick++-q16-12t64 (1.4+really1.3.45+hg17689-1) ... 461s Selecting previously unselected package libaec0:arm64. 461s Preparing to unpack .../318-libaec0_1.1.3-1_arm64.deb ... 461s Unpacking libaec0:arm64 (1.1.3-1) ... 461s Selecting previously unselected package libsz2:arm64. 461s Preparing to unpack .../319-libsz2_1.1.3-1_arm64.deb ... 461s Unpacking libsz2:arm64 (1.1.3-1) ... 461s Selecting previously unselected package libhdf5-310:arm64. 461s Preparing to unpack .../320-libhdf5-310_1.14.5+repack-3_arm64.deb ... 461s Unpacking libhdf5-310:arm64 (1.14.5+repack-3) ... 461s Selecting previously unselected package libasound2-data. 461s Preparing to unpack .../321-libasound2-data_1.2.13-1build1_all.deb ... 461s Unpacking libasound2-data (1.2.13-1build1) ... 461s Selecting previously unselected package libasound2t64:arm64. 461s Preparing to unpack .../322-libasound2t64_1.2.13-1build1_arm64.deb ... 461s Unpacking libasound2t64:arm64 (1.2.13-1build1) ... 461s Selecting previously unselected package libopus0:arm64. 461s Preparing to unpack .../323-libopus0_1.5.2-2_arm64.deb ... 461s Unpacking libopus0:arm64 (1.5.2-2) ... 461s Selecting previously unselected package libsamplerate0:arm64. 461s Preparing to unpack .../324-libsamplerate0_0.2.2-4build1_arm64.deb ... 461s Unpacking libsamplerate0:arm64 (0.2.2-4build1) ... 462s Selecting previously unselected package libjack-jackd2-0:arm64. 462s Preparing to unpack .../325-libjack-jackd2-0_1.9.22~dfsg-4_arm64.deb ... 462s Unpacking libjack-jackd2-0:arm64 (1.9.22~dfsg-4) ... 462s Selecting previously unselected package libportaudio2:arm64. 462s Preparing to unpack .../326-libportaudio2_19.6.0-1.2build3_arm64.deb ... 462s Unpacking libportaudio2:arm64 (19.6.0-1.2build3) ... 462s Selecting previously unselected package libqhull-r8.0:arm64. 462s Preparing to unpack .../327-libqhull-r8.0_2020.2-6build1_arm64.deb ... 462s Unpacking libqhull-r8.0:arm64 (2020.2-6build1) ... 462s Selecting previously unselected package libqrupdate1:arm64. 462s Preparing to unpack .../328-libqrupdate1_1.1.5-1_arm64.deb ... 462s Unpacking libqrupdate1:arm64 (1.1.5-1) ... 462s Selecting previously unselected package libqscintilla2-qt6-l10n. 462s Preparing to unpack .../329-libqscintilla2-qt6-l10n_2.14.1+dfsg-1build4_all.deb ... 462s Unpacking libqscintilla2-qt6-l10n (2.14.1+dfsg-1build4) ... 462s Selecting previously unselected package libb2-1:arm64. 462s Preparing to unpack .../330-libb2-1_0.98.1-1.1build1_arm64.deb ... 462s Unpacking libb2-1:arm64 (0.98.1-1.1build1) ... 462s Selecting previously unselected package libdouble-conversion3:arm64. 462s Preparing to unpack .../331-libdouble-conversion3_3.3.1-1_arm64.deb ... 462s Unpacking libdouble-conversion3:arm64 (3.3.1-1) ... 462s Selecting previously unselected package libpcre2-16-0:arm64. 462s Preparing to unpack .../332-libpcre2-16-0_10.45-1_arm64.deb ... 462s Unpacking libpcre2-16-0:arm64 (10.45-1) ... 462s Selecting previously unselected package libqt6core6t64:arm64. 462s Preparing to unpack .../333-libqt6core6t64_6.8.2+dfsg-5_arm64.deb ... 462s Unpacking libqt6core6t64:arm64 (6.8.2+dfsg-5) ... 462s Selecting previously unselected package libwayland-client0:arm64. 462s Preparing to unpack .../334-libwayland-client0_1.23.1-3_arm64.deb ... 462s Unpacking libwayland-client0:arm64 (1.23.1-3) ... 462s Selecting previously unselected package libegl-mesa0:arm64. 462s Preparing to unpack .../335-libegl-mesa0_25.0.1-2ubuntu1_arm64.deb ... 462s Unpacking libegl-mesa0:arm64 (25.0.1-2ubuntu1) ... 462s Selecting previously unselected package libegl1:arm64. 462s Preparing to unpack .../336-libegl1_1.7.0-1build1_arm64.deb ... 462s Unpacking libegl1:arm64 (1.7.0-1build1) ... 462s Selecting previously unselected package x11-common. 462s Preparing to unpack .../337-x11-common_1%3a7.7+23ubuntu3_all.deb ... 462s Unpacking x11-common (1:7.7+23ubuntu3) ... 462s Selecting previously unselected package libice6:arm64. 462s Preparing to unpack .../338-libice6_2%3a1.1.1-1_arm64.deb ... 462s Unpacking libice6:arm64 (2:1.1.1-1) ... 462s Selecting previously unselected package libmtdev1t64:arm64. 462s Preparing to unpack .../339-libmtdev1t64_1.1.7-1_arm64.deb ... 462s Unpacking libmtdev1t64:arm64 (1.1.7-1) ... 462s Selecting previously unselected package libwacom-common. 462s Preparing to unpack .../340-libwacom-common_2.14.0-1_all.deb ... 462s Unpacking libwacom-common (2.14.0-1) ... 462s Selecting previously unselected package libwacom9:arm64. 462s Preparing to unpack .../341-libwacom9_2.14.0-1_arm64.deb ... 462s Unpacking libwacom9:arm64 (2.14.0-1) ... 462s Selecting previously unselected package libinput-bin. 462s Preparing to unpack .../342-libinput-bin_1.27.1-1_arm64.deb ... 462s Unpacking libinput-bin (1.27.1-1) ... 462s Selecting previously unselected package libinput10:arm64. 462s Preparing to unpack .../343-libinput10_1.27.1-1_arm64.deb ... 462s Unpacking libinput10:arm64 (1.27.1-1) ... 462s Selecting previously unselected package libmd4c0:arm64. 462s Preparing to unpack .../344-libmd4c0_0.5.2-2_arm64.deb ... 462s Unpacking libmd4c0:arm64 (0.5.2-2) ... 462s Selecting previously unselected package libqt6dbus6:arm64. 462s Preparing to unpack .../345-libqt6dbus6_6.8.2+dfsg-5_arm64.deb ... 462s Unpacking libqt6dbus6:arm64 (6.8.2+dfsg-5) ... 462s Selecting previously unselected package libsm6:arm64. 462s Preparing to unpack .../346-libsm6_2%3a1.2.4-1_arm64.deb ... 462s Unpacking libsm6:arm64 (2:1.2.4-1) ... 462s Selecting previously unselected package libts0t64:arm64. 462s Preparing to unpack .../347-libts0t64_1.22-1.1build1_arm64.deb ... 462s Unpacking libts0t64:arm64 (1.22-1.1build1) ... 462s Selecting previously unselected package libxcb-util1:arm64. 462s Preparing to unpack .../348-libxcb-util1_0.4.1-1_arm64.deb ... 462s Unpacking libxcb-util1:arm64 (0.4.1-1) ... 462s Selecting previously unselected package libxcb-image0:arm64. 463s Preparing to unpack .../349-libxcb-image0_0.4.0-2build1_arm64.deb ... 463s Unpacking libxcb-image0:arm64 (0.4.0-2build1) ... 463s Selecting previously unselected package libxcb-render-util0:arm64. 463s Preparing to unpack .../350-libxcb-render-util0_0.3.10-1_arm64.deb ... 463s Unpacking libxcb-render-util0:arm64 (0.3.10-1) ... 463s Selecting previously unselected package libxcb-cursor0:arm64. 463s Preparing to unpack .../351-libxcb-cursor0_0.1.5-1_arm64.deb ... 463s Unpacking libxcb-cursor0:arm64 (0.1.5-1) ... 463s Selecting previously unselected package libxcb-icccm4:arm64. 463s Preparing to unpack .../352-libxcb-icccm4_0.4.2-1_arm64.deb ... 463s Unpacking libxcb-icccm4:arm64 (0.4.2-1) ... 463s Selecting previously unselected package libxcb-keysyms1:arm64. 463s Preparing to unpack .../353-libxcb-keysyms1_0.4.1-1_arm64.deb ... 463s Unpacking libxcb-keysyms1:arm64 (0.4.1-1) ... 463s Selecting previously unselected package libxcb-shape0:arm64. 463s Preparing to unpack .../354-libxcb-shape0_1.17.0-2_arm64.deb ... 463s Unpacking libxcb-shape0:arm64 (1.17.0-2) ... 463s Selecting previously unselected package libxcb-xinput0:arm64. 463s Preparing to unpack .../355-libxcb-xinput0_1.17.0-2_arm64.deb ... 463s Unpacking libxcb-xinput0:arm64 (1.17.0-2) ... 463s Selecting previously unselected package libxcb-xkb1:arm64. 463s Preparing to unpack .../356-libxcb-xkb1_1.17.0-2_arm64.deb ... 463s Unpacking libxcb-xkb1:arm64 (1.17.0-2) ... 463s Selecting previously unselected package libxkbcommon-x11-0:arm64. 463s Preparing to unpack .../357-libxkbcommon-x11-0_1.7.0-2_arm64.deb ... 463s Unpacking libxkbcommon-x11-0:arm64 (1.7.0-2) ... 463s Selecting previously unselected package libqt6gui6:arm64. 463s Preparing to unpack .../358-libqt6gui6_6.8.2+dfsg-5_arm64.deb ... 463s Unpacking libqt6gui6:arm64 (6.8.2+dfsg-5) ... 463s Selecting previously unselected package libavahi-common-data:arm64. 463s Preparing to unpack .../359-libavahi-common-data_0.8-16ubuntu1_arm64.deb ... 463s Unpacking libavahi-common-data:arm64 (0.8-16ubuntu1) ... 463s Selecting previously unselected package libavahi-common3:arm64. 463s Preparing to unpack .../360-libavahi-common3_0.8-16ubuntu1_arm64.deb ... 463s Unpacking libavahi-common3:arm64 (0.8-16ubuntu1) ... 463s Selecting previously unselected package libavahi-client3:arm64. 463s Preparing to unpack .../361-libavahi-client3_0.8-16ubuntu1_arm64.deb ... 463s Unpacking libavahi-client3:arm64 (0.8-16ubuntu1) ... 463s Selecting previously unselected package libcups2t64:arm64. 463s Preparing to unpack .../362-libcups2t64_2.4.11-0ubuntu2_arm64.deb ... 463s Unpacking libcups2t64:arm64 (2.4.11-0ubuntu2) ... 463s Selecting previously unselected package libqt6widgets6:arm64. 463s Preparing to unpack .../363-libqt6widgets6_6.8.2+dfsg-5_arm64.deb ... 463s Unpacking libqt6widgets6:arm64 (6.8.2+dfsg-5) ... 463s Selecting previously unselected package libqt6printsupport6:arm64. 463s Preparing to unpack .../364-libqt6printsupport6_6.8.2+dfsg-5_arm64.deb ... 463s Unpacking libqt6printsupport6:arm64 (6.8.2+dfsg-5) ... 463s Selecting previously unselected package libqscintilla2-qt6-15:arm64. 463s Preparing to unpack .../365-libqscintilla2-qt6-15_2.14.1+dfsg-1build4_arm64.deb ... 463s Unpacking libqscintilla2-qt6-15:arm64 (2.14.1+dfsg-1build4) ... 463s Selecting previously unselected package libqt6core5compat6:arm64. 463s Preparing to unpack .../366-libqt6core5compat6_6.8.2-3_arm64.deb ... 463s Unpacking libqt6core5compat6:arm64 (6.8.2-3) ... 463s Selecting previously unselected package libqt6sql6:arm64. 463s Preparing to unpack .../367-libqt6sql6_6.8.2+dfsg-5_arm64.deb ... 463s Unpacking libqt6sql6:arm64 (6.8.2+dfsg-5) ... 463s Selecting previously unselected package libqt6help6:arm64. 463s Preparing to unpack .../368-libqt6help6_6.8.2-3_arm64.deb ... 463s Unpacking libqt6help6:arm64 (6.8.2-3) ... 463s Selecting previously unselected package libduktape207:arm64. 463s Preparing to unpack .../369-libduktape207_2.7.0+tests-0ubuntu3_arm64.deb ... 463s Unpacking libduktape207:arm64 (2.7.0+tests-0ubuntu3) ... 463s Selecting previously unselected package libproxy1v5:arm64. 463s Preparing to unpack .../370-libproxy1v5_0.5.9-1_arm64.deb ... 463s Unpacking libproxy1v5:arm64 (0.5.9-1) ... 464s Selecting previously unselected package libqt6network6:arm64. 464s Preparing to unpack .../371-libqt6network6_6.8.2+dfsg-5_arm64.deb ... 464s Unpacking libqt6network6:arm64 (6.8.2+dfsg-5) ... 464s Selecting previously unselected package libqt6opengl6:arm64. 464s Preparing to unpack .../372-libqt6opengl6_6.8.2+dfsg-5_arm64.deb ... 464s Unpacking libqt6opengl6:arm64 (6.8.2+dfsg-5) ... 464s Selecting previously unselected package libqt6openglwidgets6:arm64. 464s Preparing to unpack .../373-libqt6openglwidgets6_6.8.2+dfsg-5_arm64.deb ... 464s Unpacking libqt6openglwidgets6:arm64 (6.8.2+dfsg-5) ... 464s Selecting previously unselected package libqt6xml6:arm64. 464s Preparing to unpack .../374-libqt6xml6_6.8.2+dfsg-5_arm64.deb ... 464s Unpacking libqt6xml6:arm64 (6.8.2+dfsg-5) ... 464s Selecting previously unselected package libogg0:arm64. 464s Preparing to unpack .../375-libogg0_1.3.5-3build1_arm64.deb ... 464s Unpacking libogg0:arm64 (1.3.5-3build1) ... 464s Selecting previously unselected package libflac12t64:arm64. 464s Preparing to unpack .../376-libflac12t64_1.4.3+ds-4_arm64.deb ... 464s Unpacking libflac12t64:arm64 (1.4.3+ds-4) ... 464s Selecting previously unselected package libmp3lame0:arm64. 464s Preparing to unpack .../377-libmp3lame0_3.100-6build1_arm64.deb ... 464s Unpacking libmp3lame0:arm64 (3.100-6build1) ... 464s Selecting previously unselected package libmpg123-0t64:arm64. 464s Preparing to unpack .../378-libmpg123-0t64_1.32.10-1_arm64.deb ... 464s Unpacking libmpg123-0t64:arm64 (1.32.10-1) ... 464s Selecting previously unselected package libvorbis0a:arm64. 464s Preparing to unpack .../379-libvorbis0a_1.3.7-2_arm64.deb ... 464s Unpacking libvorbis0a:arm64 (1.3.7-2) ... 464s Selecting previously unselected package libvorbisenc2:arm64. 464s Preparing to unpack .../380-libvorbisenc2_1.3.7-2_arm64.deb ... 464s Unpacking libvorbisenc2:arm64 (1.3.7-2) ... 464s Selecting previously unselected package libsndfile1:arm64. 464s Preparing to unpack .../381-libsndfile1_1.2.2-2_arm64.deb ... 464s Unpacking libsndfile1:arm64 (1.2.2-2) ... 464s Selecting previously unselected package libspqr4:arm64. 464s Preparing to unpack .../382-libspqr4_1%3a7.8.3+dfsg-3_arm64.deb ... 464s Unpacking libspqr4:arm64 (1:7.8.3+dfsg-3) ... 464s Selecting previously unselected package libumfpack6:arm64. 464s Preparing to unpack .../383-libumfpack6_1%3a7.8.3+dfsg-3_arm64.deb ... 464s Unpacking libumfpack6:arm64 (1:7.8.3+dfsg-3) ... 464s Selecting previously unselected package libtext-unidecode-perl. 464s Preparing to unpack .../384-libtext-unidecode-perl_1.30-3_all.deb ... 464s Unpacking libtext-unidecode-perl (1.30-3) ... 464s Selecting previously unselected package texinfo-lib. 464s Preparing to unpack .../385-texinfo-lib_7.1.1-1_arm64.deb ... 464s Unpacking texinfo-lib (7.1.1-1) ... 464s Selecting previously unselected package tex-common. 464s Preparing to unpack .../386-tex-common_6.19_all.deb ... 464s Unpacking tex-common (6.19) ... 464s Selecting previously unselected package texinfo. 464s Preparing to unpack .../387-texinfo_7.1.1-1_all.deb ... 464s Unpacking texinfo (7.1.1-1) ... 464s Selecting previously unselected package octave-common. 464s Preparing to unpack .../388-octave-common_9.4.0-1_all.deb ... 464s Unpacking octave-common (9.4.0-1) ... 465s Selecting previously unselected package octave. 465s Preparing to unpack .../389-octave_9.4.0-1_arm64.deb ... 465s Unpacking octave (9.4.0-1) ... 465s Selecting previously unselected package libncurses-dev:arm64. 465s Preparing to unpack .../390-libncurses-dev_6.5+20250216-2_arm64.deb ... 465s Unpacking libncurses-dev:arm64 (6.5+20250216-2) ... 465s Selecting previously unselected package libreadline-dev:arm64. 465s Preparing to unpack .../391-libreadline-dev_8.2-6_arm64.deb ... 465s Unpacking libreadline-dev:arm64 (8.2-6) ... 465s Selecting previously unselected package libhdf5-fortran-310:arm64. 465s Preparing to unpack .../392-libhdf5-fortran-310_1.14.5+repack-3_arm64.deb ... 465s Unpacking libhdf5-fortran-310:arm64 (1.14.5+repack-3) ... 465s Selecting previously unselected package libhdf5-hl-310:arm64. 465s Preparing to unpack .../393-libhdf5-hl-310_1.14.5+repack-3_arm64.deb ... 465s Unpacking libhdf5-hl-310:arm64 (1.14.5+repack-3) ... 465s Selecting previously unselected package libhdf5-hl-fortran-310:arm64. 465s Preparing to unpack .../394-libhdf5-hl-fortran-310_1.14.5+repack-3_arm64.deb ... 465s Unpacking libhdf5-hl-fortran-310:arm64 (1.14.5+repack-3) ... 465s Selecting previously unselected package libhdf5-cpp-310:arm64. 465s Preparing to unpack .../395-libhdf5-cpp-310_1.14.5+repack-3_arm64.deb ... 465s Unpacking libhdf5-cpp-310:arm64 (1.14.5+repack-3) ... 465s Selecting previously unselected package libhdf5-hl-cpp-310:arm64. 465s Preparing to unpack .../396-libhdf5-hl-cpp-310_1.14.5+repack-3_arm64.deb ... 465s Unpacking libhdf5-hl-cpp-310:arm64 (1.14.5+repack-3) ... 465s Selecting previously unselected package zlib1g-dev:arm64. 465s Preparing to unpack .../397-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1ubuntu1_arm64.deb ... 465s Unpacking zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1ubuntu1) ... 465s Selecting previously unselected package libjpeg-turbo8-dev:arm64. 465s Preparing to unpack .../398-libjpeg-turbo8-dev_2.1.5-3ubuntu2_arm64.deb ... 465s Unpacking libjpeg-turbo8-dev:arm64 (2.1.5-3ubuntu2) ... 465s Selecting previously unselected package libjpeg8-dev:arm64. 465s Preparing to unpack .../399-libjpeg8-dev_8c-2ubuntu11_arm64.deb ... 465s Unpacking libjpeg8-dev:arm64 (8c-2ubuntu11) ... 465s Selecting previously unselected package libjpeg-dev:arm64. 465s Preparing to unpack .../400-libjpeg-dev_8c-2ubuntu11_arm64.deb ... 465s Unpacking libjpeg-dev:arm64 (8c-2ubuntu11) ... 465s Selecting previously unselected package libaec-dev:arm64. 465s Preparing to unpack .../401-libaec-dev_1.1.3-1_arm64.deb ... 465s Unpacking libaec-dev:arm64 (1.1.3-1) ... 465s Selecting previously unselected package libbrotli-dev:arm64. 465s Preparing to unpack .../402-libbrotli-dev_1.1.0-2build4_arm64.deb ... 465s Unpacking libbrotli-dev:arm64 (1.1.0-2build4) ... 465s Selecting previously unselected package libidn2-dev:arm64. 465s Preparing to unpack .../403-libidn2-dev_2.3.7-2build2_arm64.deb ... 465s Unpacking libidn2-dev:arm64 (2.3.7-2build2) ... 465s Selecting previously unselected package comerr-dev:arm64. 465s Preparing to unpack .../404-comerr-dev_2.1-1.47.2-1ubuntu1_arm64.deb ... 465s Unpacking comerr-dev:arm64 (2.1-1.47.2-1ubuntu1) ... 465s Selecting previously unselected package libgssrpc4t64:arm64. 465s Preparing to unpack .../405-libgssrpc4t64_1.21.3-4ubuntu2_arm64.deb ... 465s Unpacking libgssrpc4t64:arm64 (1.21.3-4ubuntu2) ... 465s Selecting previously unselected package libkadm5clnt-mit12:arm64. 465s Preparing to unpack .../406-libkadm5clnt-mit12_1.21.3-4ubuntu2_arm64.deb ... 465s Unpacking libkadm5clnt-mit12:arm64 (1.21.3-4ubuntu2) ... 466s Selecting previously unselected package libkdb5-10t64:arm64. 466s Preparing to unpack .../407-libkdb5-10t64_1.21.3-4ubuntu2_arm64.deb ... 466s Unpacking libkdb5-10t64:arm64 (1.21.3-4ubuntu2) ... 466s Selecting previously unselected package libkadm5srv-mit12:arm64. 466s Preparing to unpack .../408-libkadm5srv-mit12_1.21.3-4ubuntu2_arm64.deb ... 466s Unpacking libkadm5srv-mit12:arm64 (1.21.3-4ubuntu2) ... 466s Selecting previously unselected package krb5-multidev:arm64. 466s Preparing to unpack .../409-krb5-multidev_1.21.3-4ubuntu2_arm64.deb ... 466s Unpacking krb5-multidev:arm64 (1.21.3-4ubuntu2) ... 466s Selecting previously unselected package libkrb5-dev:arm64. 466s Preparing to unpack .../410-libkrb5-dev_1.21.3-4ubuntu2_arm64.deb ... 466s Unpacking libkrb5-dev:arm64 (1.21.3-4ubuntu2) ... 466s Selecting previously unselected package libldap-dev:arm64. 466s Preparing to unpack .../411-libldap-dev_2.6.9+dfsg-1~exp2ubuntu1_arm64.deb ... 466s Unpacking libldap-dev:arm64 (2.6.9+dfsg-1~exp2ubuntu1) ... 466s Selecting previously unselected package libpkgconf3:arm64. 466s Preparing to unpack .../412-libpkgconf3_1.8.1-4_arm64.deb ... 466s Unpacking libpkgconf3:arm64 (1.8.1-4) ... 466s Selecting previously unselected package pkgconf-bin. 466s Preparing to unpack .../413-pkgconf-bin_1.8.1-4_arm64.deb ... 466s Unpacking pkgconf-bin (1.8.1-4) ... 466s Selecting previously unselected package pkgconf:arm64. 466s Preparing to unpack .../414-pkgconf_1.8.1-4_arm64.deb ... 466s Unpacking pkgconf:arm64 (1.8.1-4) ... 466s Selecting previously unselected package libnghttp2-dev:arm64. 466s Preparing to unpack .../415-libnghttp2-dev_1.64.0-1_arm64.deb ... 466s Unpacking libnghttp2-dev:arm64 (1.64.0-1) ... 466s Selecting previously unselected package libpsl-dev:arm64. 466s Preparing to unpack .../416-libpsl-dev_0.21.2-1.1build1_arm64.deb ... 466s Unpacking libpsl-dev:arm64 (0.21.2-1.1build1) ... 466s Selecting previously unselected package libgmpxx4ldbl:arm64. 466s Preparing to unpack .../417-libgmpxx4ldbl_2%3a6.3.0+dfsg-3ubuntu1_arm64.deb ... 466s Unpacking libgmpxx4ldbl:arm64 (2:6.3.0+dfsg-3ubuntu1) ... 466s Selecting previously unselected package libgmp-dev:arm64. 466s Preparing to unpack .../418-libgmp-dev_2%3a6.3.0+dfsg-3ubuntu1_arm64.deb ... 466s Unpacking libgmp-dev:arm64 (2:6.3.0+dfsg-3ubuntu1) ... 466s Selecting previously unselected package libevent-2.1-7t64:arm64. 466s Preparing to unpack .../419-libevent-2.1-7t64_2.1.12-stable-10_arm64.deb ... 466s Unpacking libevent-2.1-7t64:arm64 (2.1.12-stable-10) ... 466s Selecting previously unselected package libunbound8:arm64. 466s Preparing to unpack .../420-libunbound8_1.22.0-1ubuntu1_arm64.deb ... 466s Unpacking libunbound8:arm64 (1.22.0-1ubuntu1) ... 466s Selecting previously unselected package libgnutls-dane0t64:arm64. 466s Preparing to unpack .../421-libgnutls-dane0t64_3.8.9-2ubuntu2_arm64.deb ... 466s Unpacking libgnutls-dane0t64:arm64 (3.8.9-2ubuntu2) ... 466s Selecting previously unselected package libgnutls-openssl27t64:arm64. 466s Preparing to unpack .../422-libgnutls-openssl27t64_3.8.9-2ubuntu2_arm64.deb ... 466s Unpacking libgnutls-openssl27t64:arm64 (3.8.9-2ubuntu2) ... 466s Selecting previously unselected package libp11-kit-dev:arm64. 466s Preparing to unpack .../423-libp11-kit-dev_0.25.5-2ubuntu3_arm64.deb ... 466s Unpacking libp11-kit-dev:arm64 (0.25.5-2ubuntu3) ... 466s Selecting previously unselected package libtasn1-6-dev:arm64. 466s Preparing to unpack .../424-libtasn1-6-dev_4.20.0-2_arm64.deb ... 466s Unpacking libtasn1-6-dev:arm64 (4.20.0-2) ... 466s Selecting previously unselected package nettle-dev:arm64. 466s Preparing to unpack .../425-nettle-dev_3.10.1-1_arm64.deb ... 466s Unpacking nettle-dev:arm64 (3.10.1-1) ... 466s Selecting previously unselected package libgnutls28-dev:arm64. 466s Preparing to unpack .../426-libgnutls28-dev_3.8.9-2ubuntu2_arm64.deb ... 466s Unpacking libgnutls28-dev:arm64 (3.8.9-2ubuntu2) ... 466s Selecting previously unselected package librtmp-dev:arm64. 466s Preparing to unpack .../427-librtmp-dev_2.4+20151223.gitfa8646d.1-2build7_arm64.deb ... 466s Unpacking librtmp-dev:arm64 (2.4+20151223.gitfa8646d.1-2build7) ... 466s Selecting previously unselected package libssl-dev:arm64. 466s Preparing to unpack .../428-libssl-dev_3.4.1-1ubuntu1_arm64.deb ... 466s Unpacking libssl-dev:arm64 (3.4.1-1ubuntu1) ... 467s Selecting previously unselected package libssh2-1-dev:arm64. 467s Preparing to unpack .../429-libssh2-1-dev_1.11.1-1_arm64.deb ... 467s Unpacking libssh2-1-dev:arm64 (1.11.1-1) ... 467s Selecting previously unselected package libzstd-dev:arm64. 467s Preparing to unpack .../430-libzstd-dev_1.5.6+dfsg-2_arm64.deb ... 467s Unpacking libzstd-dev:arm64 (1.5.6+dfsg-2) ... 467s Selecting previously unselected package libcurl4-openssl-dev:arm64. 467s Preparing to unpack .../431-libcurl4-openssl-dev_8.12.1-3ubuntu1_arm64.deb ... 467s Unpacking libcurl4-openssl-dev:arm64 (8.12.1-3ubuntu1) ... 467s Selecting previously unselected package hdf5-helpers. 467s Preparing to unpack .../432-hdf5-helpers_1.14.5+repack-3_arm64.deb ... 467s Unpacking hdf5-helpers (1.14.5+repack-3) ... 467s Selecting previously unselected package libhdf5-dev. 467s Preparing to unpack .../433-libhdf5-dev_1.14.5+repack-3_arm64.deb ... 467s Unpacking libhdf5-dev (1.14.5+repack-3) ... 467s Selecting previously unselected package xorg-sgml-doctools. 467s Preparing to unpack .../434-xorg-sgml-doctools_1%3a1.11-1.1_all.deb ... 467s Unpacking xorg-sgml-doctools (1:1.11-1.1) ... 467s Selecting previously unselected package x11proto-dev. 467s Preparing to unpack .../435-x11proto-dev_2024.1-1_all.deb ... 467s Unpacking x11proto-dev (2024.1-1) ... 467s Selecting previously unselected package libxau-dev:arm64. 467s Preparing to unpack .../436-libxau-dev_1%3a1.0.11-1_arm64.deb ... 467s Unpacking libxau-dev:arm64 (1:1.0.11-1) ... 467s Selecting previously unselected package libxdmcp-dev:arm64. 467s Preparing to unpack .../437-libxdmcp-dev_1%3a1.1.5-1_arm64.deb ... 467s Unpacking libxdmcp-dev:arm64 (1:1.1.5-1) ... 467s Selecting previously unselected package xtrans-dev. 467s Preparing to unpack .../438-xtrans-dev_1.4.0-1_all.deb ... 467s Unpacking xtrans-dev (1.4.0-1) ... 467s Selecting previously unselected package libxcb1-dev:arm64. 467s Preparing to unpack .../439-libxcb1-dev_1.17.0-2_arm64.deb ... 467s Unpacking libxcb1-dev:arm64 (1.17.0-2) ... 467s Selecting previously unselected package libx11-dev:arm64. 467s Preparing to unpack .../440-libx11-dev_2%3a1.8.10-2_arm64.deb ... 467s Unpacking libx11-dev:arm64 (2:1.8.10-2) ... 467s Selecting previously unselected package libglx-dev:arm64. 467s Preparing to unpack .../441-libglx-dev_1.7.0-1build1_arm64.deb ... 467s Unpacking libglx-dev:arm64 (1.7.0-1build1) ... 467s Selecting previously unselected package libgl-dev:arm64. 467s Preparing to unpack .../442-libgl-dev_1.7.0-1build1_arm64.deb ... 467s Unpacking libgl-dev:arm64 (1.7.0-1build1) ... 467s Selecting previously unselected package libblas-dev:arm64. 468s Preparing to unpack .../443-libblas-dev_3.12.1-2_arm64.deb ... 468s Unpacking libblas-dev:arm64 (3.12.1-2) ... 468s Selecting previously unselected package liblapack-dev:arm64. 468s Preparing to unpack .../444-liblapack-dev_3.12.1-2_arm64.deb ... 468s Unpacking liblapack-dev:arm64 (3.12.1-2) ... 468s Selecting previously unselected package libfftw3-long3:arm64. 468s Preparing to unpack .../445-libfftw3-long3_3.3.10-2fakesync1build1_arm64.deb ... 468s Unpacking libfftw3-long3:arm64 (3.3.10-2fakesync1build1) ... 468s Selecting previously unselected package libfftw3-bin. 468s Preparing to unpack .../446-libfftw3-bin_3.3.10-2fakesync1build1_arm64.deb ... 468s Unpacking libfftw3-bin (3.3.10-2fakesync1build1) ... 468s Selecting previously unselected package libfftw3-dev:arm64. 468s Preparing to unpack .../447-libfftw3-dev_3.3.10-2fakesync1build1_arm64.deb ... 468s Unpacking libfftw3-dev:arm64 (3.3.10-2fakesync1build1) ... 468s Selecting previously unselected package libgfortran-14-dev:arm64. 468s Preparing to unpack .../448-libgfortran-14-dev_14.2.0-17ubuntu3_arm64.deb ... 468s Unpacking libgfortran-14-dev:arm64 (14.2.0-17ubuntu3) ... 468s Selecting previously unselected package gfortran-14-aarch64-linux-gnu. 468s Preparing to unpack .../449-gfortran-14-aarch64-linux-gnu_14.2.0-17ubuntu3_arm64.deb ... 468s Unpacking gfortran-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 469s Selecting previously unselected package gfortran-14. 469s Preparing to unpack .../450-gfortran-14_14.2.0-17ubuntu3_arm64.deb ... 469s Unpacking gfortran-14 (14.2.0-17ubuntu3) ... 469s Selecting previously unselected package gfortran-aarch64-linux-gnu. 469s Preparing to unpack .../451-gfortran-aarch64-linux-gnu_4%3a14.2.0-1ubuntu1_arm64.deb ... 469s Unpacking gfortran-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 469s Selecting previously unselected package gfortran. 469s Preparing to unpack .../452-gfortran_4%3a14.2.0-1ubuntu1_arm64.deb ... 469s Unpacking gfortran (4:14.2.0-1ubuntu1) ... 469s Selecting previously unselected package libstdc++-14-dev:arm64. 469s Preparing to unpack .../453-libstdc++-14-dev_14.2.0-17ubuntu3_arm64.deb ... 469s Unpacking libstdc++-14-dev:arm64 (14.2.0-17ubuntu3) ... 469s Selecting previously unselected package g++-14-aarch64-linux-gnu. 469s Preparing to unpack .../454-g++-14-aarch64-linux-gnu_14.2.0-17ubuntu3_arm64.deb ... 469s Unpacking g++-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 469s Selecting previously unselected package g++-14. 469s Preparing to unpack .../455-g++-14_14.2.0-17ubuntu3_arm64.deb ... 469s Unpacking g++-14 (14.2.0-17ubuntu3) ... 469s Selecting previously unselected package g++-aarch64-linux-gnu. 469s Preparing to unpack .../456-g++-aarch64-linux-gnu_4%3a14.2.0-1ubuntu1_arm64.deb ... 469s Unpacking g++-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 469s Selecting previously unselected package g++. 469s Preparing to unpack .../457-g++_4%3a14.2.0-1ubuntu1_arm64.deb ... 469s Unpacking g++ (4:14.2.0-1ubuntu1) ... 470s Selecting previously unselected package octave-dev. 470s Preparing to unpack .../458-octave-dev_9.4.0-1_arm64.deb ... 470s Unpacking octave-dev (9.4.0-1) ... 470s Selecting previously unselected package dh-octave. 470s Preparing to unpack .../459-dh-octave_1.8.0_all.deb ... 470s Unpacking dh-octave (1.8.0) ... 470s Selecting previously unselected package libfontenc1:arm64. 470s Preparing to unpack .../460-libfontenc1_1%3a1.1.8-1build1_arm64.deb ... 470s Unpacking libfontenc1:arm64 (1:1.1.8-1build1) ... 470s Selecting previously unselected package libunwind8:arm64. 470s Preparing to unpack .../461-libunwind8_1.6.2-3.1_arm64.deb ... 470s Unpacking libunwind8:arm64 (1.6.2-3.1) ... 470s Selecting previously unselected package libxt6t64:arm64. 470s Preparing to unpack .../462-libxt6t64_1%3a1.2.1-1.2build1_arm64.deb ... 470s Unpacking libxt6t64:arm64 (1:1.2.1-1.2build1) ... 470s Selecting previously unselected package libxmu6:arm64. 470s Preparing to unpack .../463-libxmu6_2%3a1.1.3-3build2_arm64.deb ... 470s Unpacking libxmu6:arm64 (2:1.1.3-3build2) ... 470s Selecting previously unselected package libxaw7:arm64. 470s Preparing to unpack .../464-libxaw7_2%3a1.0.16-1_arm64.deb ... 470s Unpacking libxaw7:arm64 (2:1.0.16-1) ... 470s Selecting previously unselected package libxfont2:arm64. 470s Preparing to unpack .../465-libxfont2_1%3a2.0.6-1build1_arm64.deb ... 470s Unpacking libxfont2:arm64 (1:2.0.6-1build1) ... 470s Selecting previously unselected package libxkbfile1:arm64. 470s Preparing to unpack .../466-libxkbfile1_1%3a1.1.0-1build4_arm64.deb ... 470s Unpacking libxkbfile1:arm64 (1:1.1.0-1build4) ... 470s Selecting previously unselected package libxrandr2:arm64. 470s Preparing to unpack .../467-libxrandr2_2%3a1.5.4-1_arm64.deb ... 470s Unpacking libxrandr2:arm64 (2:1.5.4-1) ... 470s Selecting previously unselected package octave-image:arm64. 470s Preparing to unpack .../468-octave-image_2.14.0-5build1_arm64.deb ... 470s Unpacking octave-image:arm64 (2.14.0-5build1) ... 470s Selecting previously unselected package x11-xkb-utils. 470s Preparing to unpack .../469-x11-xkb-utils_7.7+9_arm64.deb ... 470s Unpacking x11-xkb-utils (7.7+9) ... 470s Selecting previously unselected package xserver-common. 470s Preparing to unpack .../470-xserver-common_2%3a21.1.16-1ubuntu1_all.deb ... 470s Unpacking xserver-common (2:21.1.16-1ubuntu1) ... 470s Selecting previously unselected package xvfb. 470s Preparing to unpack .../471-xvfb_2%3a21.1.16-1ubuntu1_arm64.deb ... 470s Unpacking xvfb (2:21.1.16-1ubuntu1) ... 470s Setting up libapt-pkg-perl (0.1.41build1) ... 470s Setting up libhwy1t64:arm64 (1.2.0-3ubuntu3) ... 470s Setting up libmodule-pluggable-perl (5.2-5) ... 470s Setting up libgraphite2-3:arm64 (1.3.14-2ubuntu1) ... 470s Setting up libstring-escape-perl (2010.002-3) ... 470s Setting up libgnutls-openssl27t64:arm64 (3.8.9-2ubuntu2) ... 470s Setting up libxcb-dri3-0:arm64 (1.17.0-2) ... 470s Setting up liblcms2-2:arm64 (2.16-2) ... 470s Setting up libberkeleydb-perl:arm64 (0.66-1) ... 470s Setting up libpixman-1-0:arm64 (0.44.0-3) ... 470s Setting up libsharpyuv0:arm64 (1.5.0-0.1) ... 470s Setting up libwayland-server0:arm64 (1.23.1-3) ... 470s Setting up libaom3:arm64 (3.12.0-1) ... 470s Setting up libx11-xcb1:arm64 (2:1.8.10-2) ... 470s Setting up libfile-which-perl (1.27-2) ... 470s Setting up libdouble-conversion3:arm64 (3.3.1-1) ... 470s Setting up libncurses-dev:arm64 (6.5+20250216-2) ... 470s Setting up libunicode-utf8-perl (0.62-2build4) ... 470s Setting up libset-intspan-perl (1.19-3) ... 470s Setting up libxcb-xfixes0:arm64 (1.17.0-2) ... 470s Setting up libogg0:arm64 (1.3.5-3build1) ... 470s Setting up libmouse-perl:arm64 (2.5.11-1build1) ... 470s Setting up libzstd-dev:arm64 (1.5.6+dfsg-2) ... 470s Setting up liblerc4:arm64 (4.0.0+ds-5ubuntu1) ... 470s Setting up libpod-pom-perl (2.01-4) ... 470s Setting up libxpm4:arm64 (1:3.5.17-1build2) ... 470s Setting up hdf5-helpers (1.14.5+repack-3) ... 470s Setting up libwmflite-0.2-7:arm64 (0.2.13-1.1build3) ... 470s Setting up libregexp-pattern-perl (0.2.14-2) ... 470s Setting up libdata-messagepack-perl (1.02-1build5) ... 470s Setting up libclass-inspector-perl (1.36-3) ... 470s Setting up libxcb-xinput0:arm64 (1.17.0-2) ... 470s Setting up libxrender1:arm64 (1:0.9.10-1.1build1) ... 470s Setting up libdynaloader-functions-perl (0.004-1) ... 470s Setting up libdatrie1:arm64 (0.2.13-3build1) ... 470s Setting up libtext-glob-perl (0.11-3) ... 470s Setting up libclass-method-modifiers-perl (2.15-1) ... 470s Setting up liblist-compare-perl (0.55-2) ... 470s Setting up libxcb-render0:arm64 (1.17.0-2) ... 470s Setting up libclone-perl:arm64 (0.47-1) ... 470s Setting up libarchive-zip-perl (1.68-1) ... 470s Setting up libsub-identify-perl (0.14-3build4) ... 470s Setting up libcpanel-json-xs-perl:arm64 (4.39-1) ... 470s Setting up libglvnd0:arm64 (1.7.0-1build1) ... 470s Setting up libio-stringy-perl (2.113-2) ... 470s Setting up libhtml-tagset-perl (3.24-1) ... 470s Setting up libts0t64:arm64 (1.22-1.1build1) ... 470s Setting up liblog-any-perl (1.717-1) ... 470s Setting up libyaml-pp-perl (0.39.0-1) ... 470s Setting up libxcb-glx0:arm64 (1.17.0-2) ... 470s Setting up libdevel-size-perl (0.84-1build1) ... 470s Setting up unzip (6.0-28ubuntu6) ... 470s Setting up libdebhelper-perl (13.24.1ubuntu2) ... 470s Setting up libregexp-pattern-license-perl (3.11.2-1) ... 470s Setting up libconvert-binhex-perl (1.125-3) ... 470s Setting up liblwp-mediatypes-perl (6.04-2) ... 470s Setting up libyaml-libyaml-perl (0.903.0+ds-1) ... 470s Setting up fonts-freefont-otf (20211204+svn4273-2) ... 470s Setting up libio-interactive-perl (1.026-1) ... 470s Setting up libxcb-keysyms1:arm64 (0.4.1-1) ... 470s Setting up libxcb-shape0:arm64 (1.17.0-2) ... 470s Setting up x11-common (1:7.7+23ubuntu3) ... 471s Setting up libtry-tiny-perl (0.32-1) ... 471s Setting up libdeflate0:arm64 (1.23-1) ... 471s Setting up perl-openssl-defaults:arm64 (7build3) ... 471s Setting up libmldbm-perl (2.05-4) ... 471s Setting up libxml-namespacesupport-perl (1.12-2) ... 471s Setting up m4 (1.4.19-7) ... 471s Setting up libevent-2.1-7t64:arm64 (2.1.12-stable-10) ... 471s Setting up libclone-choose-perl (0.010-2) ... 471s Setting up libqhull-r8.0:arm64 (2020.2-6build1) ... 471s Setting up libxcb-render-util0:arm64 (0.3.10-1) ... 471s Setting up libtime-moment-perl (0.44-2build5) ... 471s Setting up libencode-locale-perl (1.05-3) ... 471s Setting up libxcb-shm0:arm64 (1.17.0-2) ... 471s Setting up libxcb-icccm4:arm64 (0.4.2-1) ... 471s Setting up texinfo-lib (7.1.1-1) ... 471s Setting up libreadline-dev:arm64 (8.2-6) ... 471s Setting up libmpg123-0t64:arm64 (1.32.10-1) ... 471s Setting up libgomp1:arm64 (15-20250222-0ubuntu1) ... 471s Setting up libconfig-tiny-perl (2.30-1) ... 471s Setting up libsereal-encoder-perl (5.004+ds-1build4) ... 471s Setting up libunwind8:arm64 (1.6.2-3.1) ... 471s Setting up liblist-utilsby-perl (0.12-2) ... 471s Setting up libyaml-tiny-perl (1.76-1) ... 471s Setting up libjbig0:arm64 (2.1-6.1ubuntu2) ... 471s Setting up octave-common (9.4.0-1) ... 471s Setting up libregexp-common-perl (2024080801-1) ... 471s Setting up libpcre2-16-0:arm64 (10.45-1) ... 471s Setting up libaec0:arm64 (1.1.3-1) ... 471s Setting up libnet-netmask-perl (2.0002-2) ... 471s Setting up libopengl0:arm64 (1.7.0-1build1) ... 471s Setting up libsub-install-perl (0.929-1) ... 471s Setting up libxcb-util1:arm64 (0.4.1-1) ... 471s Setting up libpsl-dev:arm64 (0.21.2-1.1build1) ... 471s Setting up libxxf86vm1:arm64 (1:1.1.4-1build4) ... 471s Setting up libindirect-perl (0.39-2build5) ... 471s Setting up libxcb-xkb1:arm64 (1.17.0-2) ... 471s Setting up libxcb-image0:arm64 (0.4.0-2build1) ... 471s Setting up libnumber-compare-perl (0.03-3) ... 471s Setting up libxcb-present0:arm64 (1.17.0-2) ... 471s Setting up liberror-perl (0.17030-1) ... 471s Setting up libasound2-data (1.2.13-1build1) ... 471s Setting up patchutils (0.4.2-1build3) ... 471s Setting up tex-common (6.19) ... 471s update-language: texlive-base not installed and configured, doing nothing! 471s Setting up libjson-maybexs-perl (1.004008-1) ... 471s Setting up libxml-sax-base-perl (1.09-3) ... 471s Setting up libio-string-perl (1.08-4) ... 471s Setting up libboolean-perl (0.46-3) ... 471s Setting up libnetaddr-ip-perl (4.079+dfsg-2build5) ... 471s Setting up xtrans-dev (1.4.0-1) ... 471s Setting up libfontenc1:arm64 (1:1.1.8-1build1) ... 471s Setting up autotools-dev (20220109.1) ... 471s Setting up libblas3:arm64 (3.12.1-2) ... 471s update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/aarch64-linux-gnu/libblas.so.3 (libblas.so.3-aarch64-linux-gnu) in auto mode 471s Setting up libclass-data-inheritable-perl (0.10-1) ... 471s Setting up libunbound8:arm64 (1.22.0-1ubuntu1) ... 471s Setting up libpkgconf3:arm64 (1.8.1-4) ... 471s Setting up libgmpxx4ldbl:arm64 (2:6.3.0+dfsg-3ubuntu1) ... 471s Setting up libalgorithm-c3-perl (0.11-2) ... 471s Setting up libasound2t64:arm64 (1.2.13-1build1) ... 471s Setting up liblog-log4perl-perl (1.57-1) ... 471s Setting up libtext-reform-perl (1.20-5) ... 471s Setting up libgnutls-dane0t64:arm64 (3.8.9-2ubuntu2) ... 471s Setting up libfile-find-rule-perl (0.34-3) ... 471s Setting up libxfixes3:arm64 (1:6.0.0-2build1) ... 471s Setting up libxcb-sync1:arm64 (1.17.0-2) ... 471s Setting up libipc-system-simple-perl (1.30-2) ... 471s Setting up libio-tiecombine-perl (1.005-3) ... 471s Setting up libnet-domain-tld-perl (1.75-4) ... 471s Setting up libgssrpc4t64:arm64 (1.21.3-4ubuntu2) ... 471s Setting up libperlio-utf8-strict-perl (0.010-1build4) ... 471s Setting up libldap-dev:arm64 (2.6.9+dfsg-1~exp2ubuntu1) ... 471s Setting up aglfn (1.7+git20191031.4036a9c-2) ... 471s Setting up libxcb-cursor0:arm64 (0.1.5-1) ... 471s Setting up lzip (1.25-2) ... 471s update-alternatives: using /usr/bin/lzip.lzip to provide /usr/bin/lzip (lzip) in auto mode 471s update-alternatives: using /usr/bin/lzip.lzip to provide /usr/bin/lzip-compressor (lzip-compressor) in auto mode 471s update-alternatives: using /usr/bin/lzip.lzip to provide /usr/bin/lzip-decompressor (lzip-decompressor) in auto mode 471s Setting up libavahi-common-data:arm64 (0.8-16ubuntu1) ... 471s Setting up libopus0:arm64 (1.5.2-2) ... 471s Setting up t1utils (1.41-4build3) ... 471s Setting up libxinerama1:arm64 (2:1.1.4-3build1) ... 471s Setting up diffstat (1.67-1) ... 471s Setting up libimagequant0:arm64 (2.18.0-1build1) ... 471s Setting up comerr-dev:arm64 (2.1-1.47.2-1ubuntu1) ... 471s Setting up libxkbcommon-x11-0:arm64 (1.7.0-2) ... 471s Setting up fonts-dejavu-mono (2.37-8) ... 471s Setting up libssl-dev:arm64 (3.4.1-1ubuntu1) ... 471s Setting up libmpc3:arm64 (1.3.1-1build2) ... 471s Setting up libvorbis0a:arm64 (1.3.7-2) ... 471s Setting up libvariable-magic-perl (0.64-1build1) ... 471s Setting up libio-html-perl (1.004-3) ... 471s Setting up libxrandr2:arm64 (2:1.5.4-1) ... 471s Setting up libtext-template-perl (1.61-1) ... 471s Setting up libpod-parser-perl (1.67-1) ... 471s Setting up autopoint (0.23.1-1) ... 471s Setting up libb-hooks-op-check-perl:arm64 (0.22-3build2) ... 471s Setting up fonts-dejavu-core (2.37-8) ... 471s Setting up liblist-moreutils-xs-perl (0.430-4build1) ... 471s Setting up pkgconf-bin (1.8.1-4) ... 471s Setting up libjpeg-turbo8:arm64 (2.1.5-3ubuntu2) ... 471s Setting up libqscintilla2-qt6-l10n (2.14.1+dfsg-1build4) ... 471s Setting up libltdl7:arm64 (2.5.4-4) ... 471s Setting up libidn2-dev:arm64 (2.3.7-2build2) ... 471s Setting up libfftw3-double3:arm64 (3.3.10-2fakesync1build1) ... 471s Setting up libparams-util-perl (1.102-3build1) ... 471s Setting up libgfortran5:arm64 (15-20250222-0ubuntu1) ... 471s Setting up libvulkan1:arm64 (1.4.304.0-1) ... 471s Setting up libtime-duration-perl (1.21-2) ... 471s Setting up autoconf (2.72-3ubuntu1) ... 471s Setting up libtext-xslate-perl:arm64 (3.5.9-2build1) ... 471s Setting up libsub-exporter-progressive-perl (0.001013-3) ... 471s Setting up libwebp7:arm64 (1.5.0-0.1) ... 471s Setting up libarray-intspan-perl (2.004-2) ... 471s Setting up libcapture-tiny-perl (0.50-1) ... 471s Setting up libtimedate-perl (2.3300-2) ... 471s Setting up libexporter-lite-perl (0.09-2) ... 471s Setting up libubsan1:arm64 (15-20250222-0ubuntu1) ... 471s Setting up libsub-name-perl:arm64 (0.28-1) ... 471s Setting up zlib1g-dev:arm64 (1:1.3.dfsg+really1.3.1-1ubuntu1) ... 471s Setting up dwz (0.15-1build6) ... 471s Setting up libdata-validate-domain-perl (0.15-1) ... 471s Setting up libproc-processtable-perl:arm64 (0.636-1build4) ... 471s Setting up libparse-recdescent-perl (1.967015+dfsg-4) ... 471s Setting up libmtdev1t64:arm64 (1.1.7-1) ... 471s Setting up libduktape207:arm64 (2.7.0+tests-0ubuntu3) ... 471s Setting up libxshmfence1:arm64 (1.3-1build5) ... 471s Setting up libhwasan0:arm64 (15-20250222-0ubuntu1) ... 471s Setting up libxcb-randr0:arm64 (1.17.0-2) ... 471s Setting up libpath-tiny-perl (0.146-1) ... 471s Setting up libasan8:arm64 (15-20250222-0ubuntu1) ... 471s Setting up lzop (1.04-2build3) ... 471s Setting up libjson-perl (4.10000-1) ... 471s Setting up liblog-any-adapter-screen-perl (0.141-1) ... 471s Setting up librole-tiny-perl (2.002004-1) ... 471s Setting up debugedit (1:5.1-2) ... 471s Setting up libipc-run3-perl (0.049-1) ... 471s Setting up libmd4c0:arm64 (0.5.2-2) ... 471s Setting up libregexp-wildcards-perl (1.05-3) ... 471s Setting up libmousex-strictconstructor-perl (0.02-3) ... 471s Setting up libfile-sharedir-perl (1.118-3) ... 471s Setting up libsub-uplevel-perl (0.2800-3) ... 471s Setting up libsuitesparseconfig7:arm64 (1:7.8.3+dfsg-3) ... 471s Setting up liblua5.4-0:arm64 (5.4.7-1) ... 471s Setting up libaliased-perl (0.34-3) ... 471s Setting up libharfbuzz0b:arm64 (10.2.0-1) ... 471s Setting up libthai-data (0.1.29-2build1) ... 471s Setting up xorg-sgml-doctools (1:1.11-1.1) ... 471s Setting up libstrictures-perl (2.000006-1) ... 471s Setting up libsub-quote-perl (2.006008-1ubuntu1) ... 471s Setting up libdevel-stacktrace-perl (2.0500-1) ... 471s Setting up libclass-xsaccessor-perl (1.19-4build6) ... 471s Setting up libtext-autoformat-perl (1.750000-2) ... 471s Setting up libglu1-mesa:arm64 (9.0.2-1.1build1) ... 471s Setting up libflac12t64:arm64 (1.4.3+ds-4) ... 471s Setting up libtoml-tiny-perl (0.19-1) ... 471s Setting up libstemmer0d:arm64 (2.2.0-4build1) ... 471s Setting up libxkbfile1:arm64 (1:1.1.0-1build4) ... 471s Setting up libsort-versions-perl (1.62-3) ... 471s Setting up libtsan2:arm64 (15-20250222-0ubuntu1) ... 471s Setting up libexporter-tiny-perl (1.006002-1) ... 471s Setting up libterm-readkey-perl (2.38-2build5) ... 471s Setting up libisl23:arm64 (0.27-1) ... 471s Setting up libtext-unidecode-perl (1.30-3) ... 471s Setting up libde265-0:arm64 (1.0.15-1build5) ... 471s Setting up libfont-ttf-perl (1.06-2) ... 471s Setting up libfile-homedir-perl (1.006-2) ... 471s Setting up libsamplerate0:arm64 (0.2.2-4build1) ... 471s Setting up libtasn1-6-dev:arm64 (4.20.0-2) ... 471s Setting up libwebpmux3:arm64 (1.5.0-0.1) ... 471s Setting up libtext-levenshteinxs-perl (0.03-5build5) ... 471s Setting up libperlio-gzip-perl (0.20-1build5) ... 471s Setting up libjxl0.11:arm64 (0.11.1-1) ... 471s Setting up libxfont2:arm64 (1:2.0.6-1build1) ... 471s Setting up libhtml-html5-entities-perl (0.004-3) ... 471s Setting up libtext-levenshtein-damerau-perl (0.41-3) ... 471s Setting up libsereal-decoder-perl (5.004+ds-1build4) ... 471s Setting up libmarkdown2:arm64 (2.2.7-2.1) ... 471s Setting up libcc1-0:arm64 (15-20250222-0ubuntu1) ... 471s Setting up liburi-perl (5.30-1) ... 471s Setting up libnet-ipv6addr-perl (1.02-1) ... 471s Setting up libbrotli-dev:arm64 (1.1.0-2build4) ... 471s Setting up liblsan0:arm64 (15-20250222-0ubuntu1) ... 471s Setting up libp11-kit-dev:arm64 (0.25.5-2ubuntu3) ... 471s Setting up libmp3lame0:arm64 (3.100-6build1) ... 471s Setting up libblas-dev:arm64 (3.12.1-2) ... 471s update-alternatives: using /usr/lib/aarch64-linux-gnu/blas/libblas.so to provide /usr/lib/aarch64-linux-gnu/libblas.so (libblas.so-aarch64-linux-gnu) in auto mode 471s Setting up libsz2:arm64 (1.1.3-1) ... 471s Setting up libitm1:arm64 (15-20250222-0ubuntu1) ... 471s Setting up libvorbisenc2:arm64 (1.3.7-2) ... 471s Setting up libkadm5clnt-mit12:arm64 (1.21.3-4ubuntu2) ... 471s Setting up libdata-validate-ip-perl (0.31-1) ... 471s Setting up libwacom-common (2.14.0-1) ... 471s Setting up libmousex-nativetraits-perl (1.09-3) ... 471s Setting up libemail-address-xs-perl (1.05-1build5) ... 471s Setting up libwayland-client0:arm64 (1.23.1-3) ... 471s Setting up libnet-ssleay-perl:arm64 (1.94-3) ... 471s Setting up libjpeg8:arm64 (8c-2ubuntu11) ... 471s Setting up automake (1:1.17-3ubuntu1) ... 471s update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode 471s Setting up libb2-1:arm64 (0.98.1-1.1build1) ... 471s Setting up x11proto-dev (2024.1-1) ... 471s Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... 471s Setting up gnuplot-data (6.0.2+dfsg1-1) ... 471s Setting up libice6:arm64 (2:1.1.1-1) ... 471s Setting up libqt6core6t64:arm64 (6.8.2+dfsg-5) ... 471s Setting up libhttp-date-perl (6.06-1) ... 471s Setting up mesa-libgallium:arm64 (25.0.1-2ubuntu1) ... 471s Setting up libjpeg-turbo8-dev:arm64 (2.1.5-3ubuntu2) ... 471s Setting up liblapack3:arm64 (3.12.1-2) ... 471s update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/aarch64-linux-gnu/liblapack.so.3 (liblapack.so.3-aarch64-linux-gnu) in auto mode 471s Setting up libproxy1v5:arm64 (0.5.9-1) ... 471s Setting up libfile-basedir-perl (0.09-2) ... 471s Setting up gettext (0.23.1-1) ... 471s Setting up libarpack2t64:arm64 (3.9.1-4) ... 471s Setting up libfftw3-single3:arm64 (3.3.10-2fakesync1build1) ... 471s Setting up libgmp-dev:arm64 (2:6.3.0+dfsg-3ubuntu1) ... 471s Setting up libamd3:arm64 (1:7.8.3+dfsg-3) ... 471s Setting up libfile-listing-perl (6.16-1) ... 471s Setting up libxau-dev:arm64 (1:1.0.11-1) ... 471s Setting up nettle-dev:arm64 (3.10.1-1) ... 471s Setting up libkdb5-10t64:arm64 (1.21.3-4ubuntu2) ... 471s Setting up libgbm1:arm64 (25.0.1-2ubuntu1) ... 471s Setting up libcolamd3:arm64 (1:7.8.3+dfsg-3) ... 471s Setting up libwacom9:arm64 (2.14.0-1) ... 471s Setting up fontconfig-config (2.15.0-2ubuntu1) ... 472s Setting up liblist-moreutils-perl (0.430-2) ... 472s Setting up libxcursor1:arm64 (1:1.2.3-1) ... 472s Setting up libpod-constants-perl (0.19-2) ... 472s Setting up libgl1-mesa-dri:arm64 (25.0.1-2ubuntu1) ... 472s Setting up libhash-merge-perl (0.302-1) ... 472s Setting up libsoftware-copyright-perl (0.014-1) ... 472s Setting up libaec-dev:arm64 (1.1.3-1) ... 472s Setting up libavahi-common3:arm64 (0.8-16ubuntu1) ... 472s Setting up libcxsparse4:arm64 (1:7.8.3+dfsg-3) ... 472s Setting up libfftw3-long3:arm64 (3.3.10-2fakesync1build1) ... 472s Setting up libnet-http-perl (6.23-1) ... 472s Setting up libpath-iterator-rule-perl (1.015-2) ... 472s Setting up libtext-markdown-discount-perl (0.18-1) ... 472s Setting up libappstream5:arm64 (1.0.4-1) ... 472s Setting up libexception-class-perl (1.45-1) ... 472s Setting up libclass-c3-perl (0.35-2) ... 472s Setting up libqrupdate1:arm64 (1.1.5-1) ... 472s Setting up libdevel-callchecker-perl:arm64 (0.009-1build1) ... 472s Setting up libxml-sax-perl (1.02+dfsg-4) ... 472s update-perl-sax-parsers: Registering Perl SAX parser XML::SAX::PurePerl with priority 10... 472s update-perl-sax-parsers: Updating overall Perl SAX parser modules info file... 472s Creating config file /etc/perl/XML/SAX/ParserDetails.ini with new version 472s Setting up libcamd3:arm64 (1:7.8.3+dfsg-3) ... 472s Setting up pkgconf:arm64 (1.8.1-4) ... 472s Setting up libinput-bin (1.27.1-1) ... 472s Setting up libxs-parse-sublike-perl:arm64 (0.37-1) ... 472s Setting up intltool-debian (0.35.0+20060710.6) ... 472s Setting up libthai0:arm64 (0.1.29-2build1) ... 472s Setting up libxdmcp-dev:arm64 (1:1.1.5-1) ... 472s Setting up libegl-mesa0:arm64 (25.0.1-2ubuntu1) ... 472s Setting up libdata-validate-uri-perl (0.07-3) ... 472s Setting up libxs-parse-keyword-perl (0.48-2) ... 472s Setting up libtest-exception-perl (0.43-3) ... 472s Setting up appstream (1.0.4-1) ... 472s ✔ Metadata cache was updated successfully. 472s Setting up libqt6xml6:arm64 (6.8.2+dfsg-5) ... 472s Setting up libglpk40:arm64 (5.0-1build2) ... 472s Setting up libqt6sql6:arm64 (6.8.2+dfsg-5) ... 472s Setting up libstring-copyright-perl (0.003014-1) ... 472s Setting up libraqm0:arm64 (0.10.2-1) ... 472s Setting up liblapack-dev:arm64 (3.12.1-2) ... 472s update-alternatives: using /usr/lib/aarch64-linux-gnu/lapack/liblapack.so to provide /usr/lib/aarch64-linux-gnu/liblapack.so (liblapack.so-aarch64-linux-gnu) in auto mode 472s Setting up libdata-optlist-perl (0.114-1) ... 472s Setting up libssh2-1-dev:arm64 (1.11.1-1) ... 472s Setting up libccolamd3:arm64 (1:7.8.3+dfsg-3) ... 472s Setting up libxml-libxml-perl (2.0207+dfsg+really+2.0134-5build1) ... 472s update-perl-sax-parsers: Registering Perl SAX parser XML::LibXML::SAX::Parser with priority 50... 472s update-perl-sax-parsers: Registering Perl SAX parser XML::LibXML::SAX with priority 50... 472s update-perl-sax-parsers: Updating overall Perl SAX parser modules info file... 473s Replacing config file /etc/perl/XML/SAX/ParserDetails.ini with new version 473s Setting up dh-strip-nondeterminism (1.14.1-2) ... 473s Setting up libwww-robotrules-perl (6.02-1) ... 473s Setting up libsyntax-keyword-try-perl (0.30-1) ... 473s Setting up libjack-jackd2-0:arm64 (1.9.22~dfsg-4) ... 473s Setting up libhdf5-310:arm64 (1.14.5+repack-3) ... 473s Setting up cpp-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 473s Setting up libtiff6:arm64 (4.5.1+git230720-4ubuntu4) ... 473s Setting up libhtml-parser-perl:arm64 (3.83-1build1) ... 473s Setting up libkadm5srv-mit12:arm64 (1.21.3-4ubuntu2) ... 473s Setting up libegl1:arm64 (1.7.0-1build1) ... 473s Setting up libqt6core5compat6:arm64 (6.8.2-3) ... 473s Setting up libfontconfig1:arm64 (2.15.0-2ubuntu1) ... 473s Setting up libsndfile1:arm64 (1.2.2-2) ... 473s Setting up libmro-compat-perl (0.15-2) ... 473s Setting up libgcc-14-dev:arm64 (14.2.0-17ubuntu3) ... 473s Setting up libjpeg8-dev:arm64 (8c-2ubuntu11) ... 473s Setting up libhdf5-fortran-310:arm64 (1.14.5+repack-3) ... 473s Setting up libstdc++-14-dev:arm64 (14.2.0-17ubuntu3) ... 473s Setting up libsm6:arm64 (2:1.2.4-1) ... 473s Setting up libavahi-client3:arm64 (0.8-16ubuntu1) ... 473s Setting up libio-socket-ssl-perl (2.089-1) ... 473s Setting up libsub-exporter-perl (0.990-1) ... 473s Setting up libqt6dbus6:arm64 (6.8.2+dfsg-5) ... 473s Setting up libhttp-message-perl (7.00-2ubuntu1) ... 473s Setting up libhtml-form-perl (6.12-1) ... 473s Setting up krb5-multidev:arm64 (1.21.3-4ubuntu2) ... 473s Setting up libhdf5-cpp-310:arm64 (1.14.5+repack-3) ... 473s Setting up libgfortran-14-dev:arm64 (14.2.0-17ubuntu3) ... 473s Setting up libiterator-perl (0.03+ds1-2) ... 473s Setting up libgnutls28-dev:arm64 (3.8.9-2ubuntu2) ... 473s Setting up libinput10:arm64 (1.27.1-1) ... 473s Setting up libnghttp2-dev:arm64 (1.64.0-1) ... 473s Setting up libhdf5-hl-310:arm64 (1.14.5+repack-3) ... 473s Setting up libportaudio2:arm64 (19.6.0-1.2build3) ... 473s Setting up libhttp-negotiate-perl (6.01-2) ... 473s Setting up fontconfig (2.15.0-2ubuntu1) ... 475s Regenerating fonts cache... done. 475s Setting up libcarp-assert-more-perl (2.8.0-1) ... 475s Setting up libcholmod5:arm64 (1:7.8.3+dfsg-3) ... 475s Setting up libxft2:arm64 (2.3.6-1build1) ... 475s Setting up libglx-mesa0:arm64 (25.0.1-2ubuntu1) ... 475s Setting up libxcb1-dev:arm64 (1.17.0-2) ... 475s Setting up libiterator-util-perl (0.02+ds1-2) ... 475s Setting up libglx0:arm64 (1.7.0-1build1) ... 475s Setting up libhttp-cookies-perl (6.11-1) ... 475s Setting up libspqr4:arm64 (1:7.8.3+dfsg-3) ... 475s Setting up libfftw3-bin (3.3.10-2fakesync1build1) ... 475s Setting up po-debconf (1.0.21+nmu1) ... 475s Setting up libhtml-tree-perl (5.07-3) ... 475s Setting up libparams-classify-perl:arm64 (0.015-2build6) ... 475s Setting up libpango-1.0-0:arm64 (1.56.2-1) ... 475s Setting up libcgi-pm-perl (4.67-1) ... 475s Setting up libjpeg-dev:arm64 (8c-2ubuntu11) ... 475s Setting up libx11-dev:arm64 (2:1.8.10-2) ... 475s Setting up libcairo2:arm64 (1.18.2-2) ... 475s Setting up libobject-pad-perl (0.820-1) ... 475s Setting up libkrb5-dev:arm64 (1.21.3-4ubuntu2) ... 475s Setting up cpp-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 475s Setting up libgl1:arm64 (1.7.0-1build1) ... 475s Setting up libqt6gui6:arm64 (6.8.2+dfsg-5) ... 475s Setting up libnet-smtp-ssl-perl (1.04-2) ... 475s Setting up libmodule-runtime-perl (0.016-2) ... 475s Setting up libmailtools-perl (2.22-1) ... 475s Setting up libconfig-model-perl (2.155-1) ... 475s Setting up libxt6t64:arm64 (1:1.2.1-1.2build1) ... 475s Setting up librtmp-dev:arm64 (2.4+20151223.gitfa8646d.1-2build7) ... 475s Setting up texinfo (7.1.1-1) ... 475s Setting up cpp-14 (14.2.0-17ubuntu3) ... 475s Setting up libumfpack6:arm64 (1:7.8.3+dfsg-3) ... 475s Setting up libconst-fast-perl (0.014-2) ... 475s Setting up libqt6network6:arm64 (6.8.2+dfsg-5) ... 475s Setting up cpp (4:14.2.0-1ubuntu1) ... 475s Setting up libdata-section-perl (0.200008-1) ... 475s Setting up libglx-dev:arm64 (1.7.0-1build1) ... 475s Setting up gcc-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 475s Setting up libpangoft2-1.0-0:arm64 (1.56.2-1) ... 475s Setting up libdata-dpath-perl (0.60-1) ... 475s Setting up libfltk1.3t64:arm64 (1.3.8-6.1build2) ... 475s Setting up libfftw3-dev:arm64 (3.3.10-2fakesync1build1) ... 475s Setting up libcups2t64:arm64 (2.4.11-0ubuntu2) ... 475s Setting up libgl-dev:arm64 (1.7.0-1build1) ... 475s Setting up libstring-rewriteprefix-perl (0.009-1) ... 475s Setting up libpangocairo-1.0-0:arm64 (1.56.2-1) ... 475s Setting up libhdf5-hl-cpp-310:arm64 (1.14.5+repack-3) ... 475s Setting up libconfig-model-backend-yaml-perl (2.134-2) ... 475s Setting up gcc-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 475s Setting up libhdf5-hl-fortran-310:arm64 (1.14.5+repack-3) ... 475s Setting up libxmu6:arm64 (2:1.1.3-3build2) ... 475s Setting up g++-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 475s Setting up libmodule-implementation-perl (0.09-2) ... 475s Setting up libpackage-stash-perl (0.40-1) ... 475s Setting up libimport-into-perl (1.002005-2) ... 475s Setting up libmoo-perl (2.005005-1) ... 475s Setting up libqt6opengl6:arm64 (6.8.2+dfsg-5) ... 475s Setting up liblist-someutils-perl (0.59-1) ... 475s Setting up libxaw7:arm64 (2:1.0.16-1) ... 475s Setting up libmime-tools-perl (5.515-1) ... 475s Setting up libsoftware-license-perl (0.104006-1) ... 475s Setting up libclass-load-perl (0.25-2) ... 475s Setting up libgl2ps1.4 (1.4.2+dfsg1-2build1) ... 475s Setting up gcc-14 (14.2.0-17ubuntu3) ... 475s Setting up libqt6widgets6:arm64 (6.8.2+dfsg-5) ... 475s Setting up libfltk-gl1.3t64:arm64 (1.3.8-6.1build2) ... 475s Setting up libcurl4-openssl-dev:arm64 (8.12.1-3ubuntu1) ... 475s Setting up libhdf5-dev (1.14.5+repack-3) ... 475s update-alternatives: using /usr/lib/aarch64-linux-gnu/pkgconfig/hdf5-serial.pc to provide /usr/lib/aarch64-linux-gnu/pkgconfig/hdf5.pc (hdf5.pc) in auto mode 475s Setting up gfortran-14-aarch64-linux-gnu (14.2.0-17ubuntu3) ... 475s Setting up g++-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 475s Setting up gfortran-aarch64-linux-gnu (4:14.2.0-1ubuntu1) ... 475s Setting up g++-14 (14.2.0-17ubuntu3) ... 475s Setting up libmoox-aliases-perl (0.001006-2) ... 475s Setting up gfortran-14 (14.2.0-17ubuntu3) ... 475s Setting up libparams-validate-perl:arm64 (1.31-2build4) ... 475s Setting up libqt6openglwidgets6:arm64 (6.8.2+dfsg-5) ... 475s Setting up libb-hooks-endofscope-perl (0.28-1) ... 475s Setting up libqt6printsupport6:arm64 (6.8.2+dfsg-5) ... 475s Setting up libtool (2.5.4-4) ... 475s Setting up libsoftware-licensemoreutils-perl (1.009-1) ... 475s Setting up x11-xkb-utils (7.7+9) ... 475s Setting up libqt6help6:arm64 (6.8.2-3) ... 475s Setting up libqscintilla2-qt6-15:arm64 (2.14.1+dfsg-1build4) ... 475s Setting up gcc (4:14.2.0-1ubuntu1) ... 475s Setting up dh-autoreconf (20) ... 475s Setting up libnamespace-clean-perl (0.27-2) ... 475s Setting up libstring-license-perl (0.0.11-1ubuntu1) ... 475s Setting up libgetopt-long-descriptive-perl (0.116-2) ... 475s Setting up g++ (4:14.2.0-1ubuntu1) ... 475s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 475s Setting up xserver-common (2:21.1.16-1ubuntu1) ... 475s Setting up licensecheck (3.3.9-1ubuntu1) ... 475s Setting up libapp-cmd-perl (0.337-2) ... 475s Setting up xvfb (2:21.1.16-1ubuntu1) ... 475s Setting up debhelper (13.24.1ubuntu2) ... 475s Setting up gfortran (4:14.2.0-1ubuntu1) ... 475s update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f95 (f95) in auto mode 475s 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 475s update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f77 (f77) in auto mode 475s 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 475s Setting up cme (1.041-1) ... 475s Setting up libheif-plugin-aomdec:arm64 (1.19.7-1) ... 475s Setting up libwww-perl (6.78-1) ... 475s Setting up libheif1:arm64 (1.19.7-1) ... 475s Setting up libparse-debcontrol-perl (2.005-6) ... 475s Setting up libhtml-tokeparser-simple-perl (3.16-4) ... 475s Setting up libwww-mechanize-perl (2.19-1ubuntu1) ... 475s Setting up libgd3:arm64 (2.3.3-12ubuntu3) ... 475s Setting up gnuplot-nox (6.0.2+dfsg1-1) ... 475s update-alternatives: using /usr/bin/gnuplot-nox to provide /usr/bin/gnuplot (gnuplot) in auto mode 475s Setting up liblwp-protocol-https-perl (6.14-1) ... 475s Setting up libheif-plugin-libde265:arm64 (1.19.7-1) ... 475s Setting up libgraphicsmagick-q16-3t64 (1.4+really1.3.45+hg17689-1) ... 475s Setting up lintian (2.121.1+nmu1ubuntu2) ... 475s Setting up libgraphicsmagick++-q16-12t64 (1.4+really1.3.45+hg17689-1) ... 475s Setting up libconfig-model-dpkg-perl (3.010) ... 475s Setting up dh-octave-autopkgtest (1.8.0) ... 475s Setting up octave (9.4.0-1) ... 475s Setting up octave-dev (9.4.0-1) ... 475s Setting up octave-image:arm64 (2.14.0-5build1) ... 475s Setting up dh-octave (1.8.0) ... 475s Processing triggers for libc-bin (2.41-1ubuntu2) ... 475s Processing triggers for man-db (2.13.0-1) ... 477s Processing triggers for udev (257.3-1ubuntu3) ... 478s Processing triggers for install-info (7.1.1-1) ... 479s autopkgtest [13:56:41]: test command1: DH_OCTAVE_TEST_ENV="xvfb-run -a" /usr/bin/dh_octave_check --use-installed-package 479s autopkgtest [13:56:41]: test command1: [----------------------- 479s Checking package... 480s Run the unit tests... 480s Checking m files ... 480s [inst/otsuthresh.m] 480s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/otsuthresh.m 480s ***** test 480s histo = zeros (1, 256); 480s histo([ 29 33 37 41 46 50 54 58 62 66 70 74 78 82 ... 480s 86 90 94 98 102 106 110 114 118 122 126 131 135 139 ... 480s 143 147 151 155 159 163 167 171 175 179 183 187 191 195 ... 480s 199 203 207 211 216 220 224 228 232 236 240 244 248 252]) = ... 480s [2 27 51 144 132 108 43 29 22 21 22 20 10 16 17 12 13 14 12 13 ... 480s 15 25 19 20 23 37 23 65 92 84 87 54 50 54 33 73 76 64 57 58 47 ... 480s 48 30 27 22 20 20 11 12 12 11 7 17 31 37 31]; 480s assert (otsuthresh (histo), 114.5/255) 480s ***** test 480s I = max (phantom (), 0); 480s H = imhist (I); 480s assert (otsuthresh (H), 178/255) 480s assert (otsuthresh (H'), 178/255) 480s H = imhist (I, 10); 480s assert (otsuthresh (H), 170/255) 480s ***** assert (otsuthresh (100), 0) 480s ***** assert (otsuthresh (zeros (256, 1)), 0) 480s ***** assert (otsuthresh (zeros (5, 1)), 0) 480s ***** assert (otsuthresh (uint8 ([10 20 30])), 0.5) 480s ***** assert (otsuthresh (int32 ([100 200 300])), 0.5) 480s ***** assert (otsuthresh (int32 ([100 200])), 0) 480s ***** assert (otsuthresh (single ([10 20 30 40])), 1/3); 480s ***** assert (otsuthresh (uint16 ([10 20 30 40 50 60 70 80 90 100])), 5/9) 480s ***** assert (otsuthresh (int16 ([10 20 30 40 50 60 70 80 90 100])), 5/9) 480s ***** assert (otsuthresh (int16 (1:255)), 156/254) 480s ***** assert (otsuthresh (int16 (1:1023)), 631/1022) 480s ***** assert (otsuthresh (int8 (1:1023)), 541/1022) 480s ***** test 480s warning ("off", "Octave:data-file-in-path", "local"); 480s S = load ("penny.mat"); 480s h = imhist (uint8 (S.P)); 480s assert (otsuthresh (h), 94/255); 480s ***** test 480s I = max (phantom (), 0); 480s h = imhist (I, 5); 480s assert (otsuthresh (h), 0.625); 480s ***** error id=Octave:invalid-fun-call otsuthresh () 481s ***** error id=Octave:invalid-fun-call otsuthresh (ones (10), 5) 481s ***** error otsuthresh ([]) 481s ***** error otsuthresh ([Inf 10]) 481s ***** error otsuthresh ([10 NA]) 481s ***** error otsuthresh ([10 NaN]) 481s ***** error otsuthresh (zeros (5)) 481s ***** error otsuthresh ([10 -10]) 481s ***** error otsuthresh ("foo") 481s ***** demo 481s I = max (phantom (), 0); 481s figure; imshow (I); 481s title ("Original image"); 481s h = imhist (I); 481s t = otsuthresh (h); 481s J = im2bw (I); 481s figure; imshow (J); 481s title_line = sprintf ("Black and white image after thresholding, t=%g", 481s t*255); 481s title (title_line); 481s ***** demo 481s warning ("off", "Octave:data-file-in-path", "local"); 481s S = load ("penny.mat"); 481s I = uint8 (S.P); 481s figure; imshow (I); 481s title ("Original penny image"); 481s h = imhist (I); 481s t = otsuthresh (h); 481s J = im2bw (I); 481s figure; imshow (J); 481s title_line = sprintf ("Black and white penny image after thresholding, t=%g", 481s t*255); 481s title (title_line); 481s I = 255 - I; 481s figure; imshow(I); 481s title ("Negative penny image"); 481s h = imhist (I); 481s t = otsuthresh (h); 481s J = im2bw (I); 481s figure; imshow (J); 481s title_line = sprintf ("Black and white negative penny image after thresholding, t=%g", 481s t*255); 481s title (title_line); 481s 25 tests, 25 passed, 0 known failure, 0 skipped 481s [inst/bwperim.m] 481s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/bwperim.m 481s ***** test 481s in = [ 1 1 1 1 0 1 1 0 1 1 481s 1 1 0 1 1 1 1 1 1 0 481s 1 1 1 0 1 1 1 1 1 1 481s 1 1 1 1 0 1 1 1 0 1 481s 1 1 1 0 1 1 1 1 1 0 481s 1 1 1 1 1 1 0 1 0 1 481s 1 1 1 1 1 1 1 1 1 0 481s 1 1 1 1 1 1 1 1 1 1 481s 1 1 1 1 1 1 0 0 1 1 481s 1 1 1 1 0 1 0 1 1 0]; 481s 481s out = [1 1 1 1 0 1 1 0 1 1 481s 1 1 0 1 1 0 0 1 1 0 481s 1 0 1 0 1 0 0 0 1 1 481s 1 0 0 1 0 1 0 1 0 1 481s 1 0 1 0 1 0 1 0 1 0 481s 1 0 0 1 0 1 0 1 0 1 481s 1 0 0 0 0 0 1 0 1 0 481s 1 0 0 0 0 0 1 1 0 1 481s 1 0 0 0 1 1 0 0 1 1 481s 1 1 1 1 0 1 0 1 1 0]; 481s assert (bwperim (in), logical (out)) 481s assert (bwperim (in, 4), logical (out)) 481s 481s out = [1 1 1 1 0 1 1 0 1 1 481s 1 1 0 1 1 1 1 1 1 0 481s 1 1 1 0 1 1 0 1 1 1 481s 1 0 1 1 0 1 0 1 0 1 481s 1 0 1 0 1 1 1 1 1 0 481s 1 0 1 1 1 1 0 1 0 1 481s 1 0 0 0 0 1 1 1 1 0 481s 1 0 0 0 0 1 1 1 1 1 481s 1 0 0 1 1 1 0 0 1 1 481s 1 1 1 1 0 1 0 1 1 0]; 481s assert (bwperim (in, 8), logical (out)) 481s 481s out = [1 1 1 1 0 1 1 0 1 1 481s 1 0 0 0 0 1 0 0 1 0 481s 1 0 0 0 0 0 0 1 0 1 481s 1 0 1 0 0 0 0 0 0 1 481s 1 0 0 0 0 1 0 1 0 0 481s 1 0 0 0 1 0 0 0 0 1 481s 1 0 0 0 0 0 0 1 0 0 481s 1 0 0 0 0 1 1 0 0 1 481s 1 0 0 1 0 1 0 0 1 1 481s 1 1 1 1 0 1 0 1 1 0]; 481s assert (bwperim (in, [1 0 0; 0 1 0; 0 0 1]), logical (out)) 481s ***** test 481s in = [ 0 0 0 0 0 0 0 481s 0 0 5 0 0 1 9 481s 0 Inf 9 7 0 0 0 481s 0 1.5 5 7 1 0 0 481s 0 0.5 -1 89 i 0 0 481s 0 4 10 15 1 0 0 481s 0 0 0 0 0 0 0]; 481s out = [0 0 0 0 0 0 0 481s 0 0 1 0 0 1 1 481s 0 1 0 1 0 0 0 481s 0 1 0 0 1 0 0 481s 0 1 0 0 1 0 0 481s 0 1 1 1 1 0 0 481s 0 0 0 0 0 0 0]; 481s assert (bwperim (in), logical (out)) 481s ***** test 481s in = reshape (magic(16), [8 8 4]) > 50; 481s out(:,:,1) = [ 481s 1 1 0 1 0 1 1 1 481s 0 1 1 1 1 1 0 1 481s 0 1 1 1 1 1 0 1 481s 1 1 0 1 1 1 1 1 481s 1 1 1 1 1 1 1 1 481s 1 1 1 0 1 0 1 1 481s 1 1 1 0 1 0 1 1 481s 1 0 1 1 1 1 1 0]; 481s out(:,:,2) = [ 481s 1 1 0 1 0 1 1 1 481s 0 1 1 0 1 1 0 1 481s 0 1 0 0 0 1 0 1 481s 1 0 1 0 0 0 1 1 481s 1 0 0 1 0 1 0 1 481s 1 0 1 0 1 0 1 1 481s 1 1 1 0 1 0 1 1 481s 1 0 1 1 1 1 1 0]; 481s out(:,:,3) = [ 481s 1 1 0 1 0 1 1 1 481s 0 1 1 0 1 1 0 1 481s 0 1 0 0 0 1 0 1 481s 1 0 0 0 0 0 1 1 481s 1 0 0 1 0 1 0 1 481s 1 0 1 0 1 0 1 1 481s 1 1 1 0 1 0 1 1 481s 1 0 1 1 1 1 1 0]; 481s out(:,:,4) = [ 481s 1 1 0 1 0 1 1 1 481s 0 1 1 1 1 1 0 1 481s 0 1 1 1 1 1 0 1 481s 1 1 1 1 1 1 1 1 481s 1 1 1 1 1 1 1 0 481s 1 1 1 0 1 0 1 1 481s 1 1 1 0 1 0 1 1 481s 1 0 1 1 1 1 1 0]; 481s assert (bwperim (in), logical (out)) 481s 481s out(:,:,1) = [ 481s 1 1 0 1 0 1 1 1 481s 0 1 1 1 1 1 0 1 481s 0 1 1 1 1 1 0 1 481s 1 1 0 1 1 1 1 1 481s 1 1 1 1 1 1 1 1 481s 1 1 1 0 1 0 1 1 481s 1 1 1 0 1 0 1 1 481s 1 0 1 1 1 1 1 0]; 481s out(:,:,2) = [ 481s 1 1 0 1 0 1 1 1 481s 0 1 1 1 1 1 0 1 481s 0 1 1 0 0 1 0 1 481s 1 1 1 1 0 1 1 1 481s 1 0 1 1 1 1 1 1 481s 1 0 1 0 1 0 1 1 481s 1 1 1 0 1 0 1 1 481s 1 0 1 1 1 1 1 0]; 481s out(:,:,3) = [ 481s 1 1 0 1 0 1 1 1 481s 0 1 1 1 1 1 0 1 481s 0 1 0 0 0 1 0 1 481s 1 1 0 0 0 1 1 1 481s 1 0 1 1 1 1 1 1 481s 1 0 1 0 1 0 1 1 481s 1 1 1 0 1 0 1 1 481s 1 0 1 1 1 1 1 0]; 481s out(:,:,4) = [ 481s 1 1 0 1 0 1 1 1 481s 0 1 1 1 1 1 0 1 481s 0 1 1 1 1 1 0 1 481s 1 1 1 1 1 1 1 1 481s 1 1 1 1 1 1 1 0 481s 1 1 1 0 1 0 1 1 481s 1 1 1 0 1 0 1 1 481s 1 0 1 1 1 1 1 0]; 481s assert (bwperim (in, 18), logical (out)) 481s ***** error bwperim ("text") 481s ***** error bwperim (rand (10), 5) 481s ***** error bwperim (rand (10), "text") 481s ***** test 481s a = false (5); 481s a(1:4,2:4) = true; 481s 481s p = false (5); 481s p(1:4,[2 4]) = true; 481s assert (bwperim (a, [0 0 0; 1 1 1; 0 0 0]), p) 481s ***** test 481s a = false (8, 8, 5); 481s a(4:5,4:5,2:4) = true; 481s a(2:7,2:7,3) = true; 481s assert (bwperim (a, 26), a) 481s 481s ## It is easy to forget that is correct 481s b = a; 481s b(4:5, 4:5, 3) = false; 481s assert (bwperim (a), b) 481s 481s c = a; 481s c(3:6,3:6,3) = false; 481s assert (bwperim (a, 4), c) 481s ***** test 481s conn_self = logical ([0 0 0; 0 1 0; 0 0 0]); 481s assert (bwperim (true), true) 481s assert (bwperim (true, conn_self), false) 481s assert (bwperim (true (1, 6)), true (1, 6)) 481s assert (bwperim (true (1, 6), conn_self), false (1, 6)) 481s assert (bwperim (true (6, 1)), true (6, 1)) 481s 481s bw_3d = true (1, 1, 6); 481s assert (bwperim (bw_3d), bw_3d) 481s assert (bwperim (bw_3d, conn_self), false (1, 1, 6)) 481s assert (bwperim (bw_3d, true (3)), bw_3d) 481s 481s perim_3d = bw_3d; 481s perim_3d(1, 1, 2:end-1) = false; 481s conn_3d = false (3, 3, 3); 481s conn_3d(2, 2, :) = true; 481s assert (bwperim (true (1, 1, 6), conn_3d), perim_3d) 481s 9 tests, 9 passed, 0 known failure, 0 skipped 481s [inst/imhist.m] 481s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imhist.m 481s ***** shared nn, bb, enn, ebb 481s [nn, bb] = imhist(logical([0 1 0 0 1])); 481s ***** assert({nn, bb}, {[3 2]', [0 1]'}) 481s [nn, bb] = imhist([0 0.2 0.4 0.9 1], 5); 481s ***** assert({nn, bb}, {[1 1 1 0 2]', [0 0.25 0.5 0.75 1]'}) 481s [nn, bb] = imhist([-2 0 0.2 0.4 0.9 1 5], 5); 481s ***** assert({nn, bb}, {[2 1 1 0 3]', [0 0.25 0.5 0.75 1]'}) 481s [nn, bb] = imhist(uint8([0 32 255]), 256); 481s enn = zeros(256, 1); enn([1, 33, 256]) = 1; 481s ebb = 0:255; 481s ***** assert({nn, bb}, {enn, ebb'}) 481s [nn, bb] = imhist(int8([-50 0 100]), 31); 481s enn = zeros(31, 1); enn([10, 16, 28]) = 1; 481s ebb = -128:8.5:127; 481s ***** assert({nn, bb}, {enn, ebb'}) 481s 5 tests, 5 passed, 0 known failure, 0 skipped 481s [inst/rgb2lab.m] 481s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/rgb2lab.m 481s ***** assert (rgb2lab ([0 0 0]), [0, 0, 0], 1e-2) 481s ***** assert (rgb2lab ([1 0 0]), [53.24, 80.09, 67.20], 1e-2) 481s ***** assert (rgb2lab ([1 1 0]), [97.14, -21.55, 94.48], 1e-2) 481s ***** assert (rgb2lab ([0 1 0]), [87.74, -86.18, 83.18], 1e-2) 481s ***** assert (rgb2lab ([0 1 1]), [91.11, -48.09, -14.13], 1e-2) 481s ***** assert (rgb2lab ([0 0 1]), [32.30, 79.19, -107.86], 1e-2) 481s ***** assert (rgb2lab ([1 0 1]), [60.32, 98.24, -60.83], 1e-2) 481s ***** assert (rgb2lab ([1 1 1]), [100, 0.00, 0.00], 1e-2) 481s ***** assert (rgb2lab ([0.5 0.5 0.5]), [53.39, 0.00, 0.00], 1e-2) 481s ***** assert (rgb2lab ([0.75 0 0]), [39.77, 64.51, 54.13], 1e-2) 481s ***** assert (rgb2lab ([0.5 0 0]), [25.42, 47.91, 37.91], 1e-2) 481s ***** assert (rgb2lab ([0.25 0 0]), [9.66, 29.68, 15.24], 1e-2) 481s ***** assert (rgb2lab ([1 0.5 0.5]), [68.11, 48.39, 22.83], 1e-2) 481s ***** assert (rgb2lab ([1.5 1 1]), [111.47, 43.42, 17.98], 1e-2) 481s ***** test 481s rgb_map = rand (64, 3); 481s assert (lab2rgb (rgb2lab (rgb_map)), rgb_map, 2e-5); 481s ***** test 481s rgb_img = rand (64, 64, 3); 481s assert (lab2rgb (rgb2lab (rgb_img)), rgb_img, 2e-5); 481s ***** assert (rgb2lab (sparse ([0 0 1])), sparse ([32.30, 79.19, -107.86]), 1e-2) 481s ***** assert (rgb2lab (sparse ([0 1 1])), sparse ([91.11, -48.09, -14.13]), 1e-2) 481s ***** assert (rgb2lab (sparse ([1 1 1])), sparse ([100, 0.00, 0.00]), 1e-2) 481s ***** assert (rgb2lab (uint8([255 255 255])), [100, 0.00, 0.00], 1e-2) 481s ***** assert (class (rgb2lab (single([1 1 1]))), 'single') 481s ***** error rgb2lab () 481s ***** error rgb2lab (1,2) 481s ***** error rgb2lab ({1}) 481s ***** error rgb2lab (ones (2,2)) 481s ***** test 481s rgb = rand (16, 16, 3, 5); 481s lab = zeros (size (rgb)); 481s for i = 1:5 481s lab(:,:,:,i) = rgb2lab (rgb(:,:,:,i)); 481s endfor 481s assert (rgb2lab (rgb), lab) 481s 26 tests, 26 passed, 0 known failure, 0 skipped 481s [inst/imdivide.m] 481s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imdivide.m 481s ***** assert (imdivide (uint8 ([23 250]), uint8 ([ 2 50])), uint8 ([ 12 5])); # default to first class 481s ***** assert (imdivide (uint8 ([56 255]), uint8 ([ 0 0])), uint8 ([255 255])); # dividing by zero works (tested in matlab) 481s ***** assert (imdivide (uint8 ([23 250]), 2), uint8 ([ 12 125])); # works subtracting a scalar 481s ***** assert (imdivide (uint8 ([23 250]), uint8 ([ 2 50]), "uint16"), uint16 ([ 12 5])); # defining output class works (not in matlab) 481s ***** assert (imdivide (logical ([1 1 0 0]), logical ([1 0 1 0])), double ([1 Inf 0 NaN])); # dividing logical matrix (tested in matlab) 481s ***** fail ("imdivide (uint8 ([23 250]), uint16 ([23 250]))"); # input needs to have same class 481s 6 tests, 6 passed, 0 known failure, 0 skipped 481s [inst/immultiply.m] 481s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/immultiply.m 481s ***** assert (immultiply (uint8 ([255 50]), uint16 ([300 50])), uint8 ([255 255])); # default to first class and truncate 481s ***** assert (immultiply (uint8 ([250 50]), uint16 ([ 3 4]), "uint32"), uint32 ([750 200])); # defining output class works (not in matlab?) 481s ***** assert (immultiply (uint8 ([255 50]), 4), uint8 ([255 200])); # works multiplying by a scalar 481s ***** assert (immultiply (logical ([ 1 0]), uint16 ([300 50])), uint16 ([300 0])); # output class defaults to whatever input is not logical 481s ***** assert (immultiply (logical ([ 1 0]), logical ([ 1 1])), double ([ 1 0])); # tested on matlab for compatibility 481s 5 tests, 5 passed, 0 known failure, 0 skipped 481s [inst/colorangle.m] 481s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/colorangle.m 481s ***** error id=Octave:invalid-fun-call colorangle () 481s ***** error id=Octave:invalid-fun-call colorangle (1, 2, 3) 481s ***** error colorangle (2, 3) 481s ***** error colorangle ([1, 2], [3, 4]) 481s ***** error id=Octave:expected-real colorangle ([1, 2, 3j], [4, 5, 6]) 481s ***** error id=Octave:expected-real colorangle ([1, 2, 3], [4j, 5, 6]) 481s ***** error id=Octave:invalid-type colorangle ("abc", "def") 481s ***** test 481s assert (colorangle ([0 0 0], [0 1 0]), NaN) 481s assert (colorangle ([0 0 0], [0 1 1]), NaN) 481s assert (colorangle ([0 1 0], [0 0 0]), NaN) 481s assert (colorangle ([1 1 0], [0 0 0]), NaN) 481s assert (colorangle ([1 1 1], [1 1 1]), 0) 481s ***** assert (colorangle ([0 0 0], [0 0 0]), 0) 481s ***** assert (colorangle ([1 0 0], [-1 0 0]), 180) 481s ***** assert (colorangle ([0 0 1], [1 0 0]), 90) 481s ***** assert (colorangle ([0; 0; 1], [1 0 0]), 90) 481s ***** assert (colorangle ([0, 0, 1], [1; 0; 0]), 90) 481s ***** assert (colorangle ([0.5 0.61237 -0.61237], [0.86603 0.35355 -0.35355]), 30.000270917, 1e-4) 481s ***** assert (colorangle ([0.1582055390, 0.2722362096, 0.1620813305], [0.0717 0.1472 0.0975]), 5.09209927, 1e-6) 481s ***** assert (colorangle ([0.0659838500, 0.1261619536, 0.0690643667], [0.0717 0.1472 0.0975]), 5.10358588, 1e-6) 481s ***** assert (colorangle ([0.436871170, 0.7794672250, 0.4489702582], [0.0717 0.1472 0.0975]), 5.01339769, 1e-6) 481s ***** test 481s a = [1 0 0]; 481s b = [1 1 0]; 481s expected = colorangle (a, b); 481s assert (colorangle (a.', b.'), expected) 481s assert (colorangle (a, b.'), expected) 481s assert (colorangle (a.', b), expected) 481s assert (colorangle (vec (a, 3), b.'), expected) 481s ***** assert (colorangle ([1 0 0; 0 1 1], [1 1 1; 2 3 4]), 481s [colorangle([1 0 0], [1 1 1]); colorangle([0 1 1], [2 3 4])]) 481s ***** test 481s a = [1 0 0; 0.5 1 0; 0 1 1; 1 1 1]; 481s b = [0 1 0]; 481s expected = zeros (4, 1); 481s for i = 1:4 481s expected(i) = colorangle (a(i,:), b); 481s endfor 481s assert (colorangle (a, b), expected) 481s assert (colorangle (b, a), expected) 481s ***** xtest 481s a = [1 2 3]; 481s b = [2 3 4]; 481s c = [5 6 7]; 481s d = [3 1 1]; 481s 481s ac = colorangle (c, a); 481s bc = colorangle (b, c); 481s ad = colorangle (a, d); 481s bd = colorangle (b, d); 481s 481s assert (colorangle (a, cat (3, c, d)), 481s cat (3, [ac ad])) 481s 481s assert (colorangle (cat (3, a, b), cat (3, c, d)), 481s cat (3, [ac cd])) 481s 481s assert (colorangle (cat (1, a, b), cat (3, c, d)), 481s reshape ([ac bc ad bd], [2 2])) 481s !!!!! known failure 481s dot: sizes of X and Y must match 481s 21 tests, 20 passed, 1 known failure, 0 skipped 481s [inst/ycbcr2rgb.m] 481s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/ycbcr2rgb.m 481s ***** assert (ycbcr2rgb (rgb2ycbcr (jet (10))), jet (10), 0.00001); 481s ***** assert (class (ycbcr2rgb (single (rand (5, 5, 3)))), "single") 481s 2 tests, 2 passed, 0 known failure, 0 skipped 481s [inst/rgb2ycbcr.m] 481s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/rgb2ycbcr.m 481s ***** test 481s in(:,:,1) = magic (5); 481s in(:,:,2) = magic (5); 481s in(:,:,3) = magic (5); 481s out(:,:,1) = [31 37 17 23 29 481s 36 20 22 28 30 481s 19 21 27 33 35 481s 25 26 32 34 19 481s 25 31 37 18 24]; 481s out(:,:,2) = 128; 481s out(:,:,3) = 128; 481s assert (rgb2ycbcr (uint8 (in)), uint8 (out)); 481s ***** shared cbcr 481s cbcr = 0.5019607843137255; 481s out(1:10, 1) = linspace (16/255, 235/255, 10); 481s out(:, [2 3]) = cbcr; 481s assert (rgb2ycbcr (gray (10)), out, 0.00001); 481s ***** assert (rgb2ycbcr ([1 1 1]), [0.92157 cbcr cbcr], 0.0001); 481s ***** assert (class (rgb2ycbcr (single (rand (5, 5, 3)))), "single") 481s 3 tests, 3 passed, 0 known failure, 0 skipped 481s [inst/imlincomb.m] 481s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imlincomb.m 481s ***** assert (imlincomb (0.5, uint8 ([255 10]), 0.5, uint8 ([50 20])), 481s uint8 ([153 15])); # default to first class and truncate 481s ***** assert (imlincomb (0.5, uint8 ([255 10]), 0.5, uint8 ([50 20]), "uint16"), 481s uint16 ([153 15])); # defining output class works 481s ***** assert (imlincomb (0.5, uint8 ([255 10]), 0.5, uint8 ([50 20]), 10), 481s uint8 ([163 25])); # default to first class and truncate 481s ***** assert (imlincomb (0.5, uint8 ([255 10]), 0.5, uint8 ([50 20]), 1000, "uint16"), 481s uint16 ([1153 1015])); # defining output class works 481s ***** assert (imlincomb (0.5, uint8 ([255 10]), 0.5, uint8 ([50 20]), 1000), 481s uint8 ([255 255])); # defining output class works 481s 5 tests, 5 passed, 0 known failure, 0 skipped 481s [inst/imsmooth.m] 481s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imsmooth.m 481s ***** test 481s ## checking Bilateral Filter 481s 481s ## constant image remain the same after Bilateral Filter 481s A = uint8(255*ones(128,128)); 481s B = uint8(imsmooth(A, 'Bilateral', 2, 10)); 481s assert (A,B); 481s 481s ## Bilateral Filter does not smear outlayers 481s A = zeros(256,256); 481s A(128,128) = 256; 481s ## bilateral filter does not smear outlayers 481s B = imsmooth(A, 'Bilateral', 2, 10); 481s assert (A,B,1.e-140); 481s 481s ## When sigma_r is large the filter behaves almost 481s ## like the isotropic Gaussian filter 481s 481s A0 = fspecial ('gaussian',100,100); 481s A = uint8(A0/max(max(A0))*255); 481s B1 = imsmooth(A, 'Bilateral', 2, 100); 481s B2 = imsmooth(A, 'Gaussian', 2); 481s assert (B1,B2); 482s 1 test, 1 passed, 0 known failure, 0 skipped 482s [inst/viscircles.m] 482s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/viscircles.m 482s ***** demo 482s centers = randi ([0 100], 5, 2); 482s radii = randi ([10 100], 5, 1); 482s axis equal 482s viscircles (centers, radii, 482s "Color", "magenta", 482s "LineStyle", ":", 482s "LineWidth", 5); 482s title ("5 random circles"); 482s #---------------------------------------------- 482s # the figure window shows 5 circles with random 482s # radii and positions 482s ***** test # old undocumented property 482s h = viscircles ([0 0], 1, "EdgeColor", "black"); 482s assert (get (get (h, "children")(1), "color"), [0 0 0]) 482s warning: using the gnuplot graphics toolkit is discouraged 482s 482s The gnuplot graphics toolkit is not actively maintained and has a number 482s of limitations that are unlikely to be fixed. Communication with gnuplot 482s uses a one-directional pipe and limited information is passed back to the 482s Octave interpreter so most changes made interactively in the plot window 482s will not be reflected in the graphics properties managed by Octave. For 482s example, if the plot window is closed with a mouse click, Octave will not 482s be notified and will not update its internal list of open figure windows. 482s The qt toolkit is recommended instead. 482s ***** test # old undocumented property 482s h = viscircles ([0 0], 1, "DrawBackgroundCircle", false); 482s assert (numel (get (h, "children")), 1) 482s ***** error ... 482s viscircles ([0 0], 1, "Color", "magenta", "EdgeColor", "black") 482s ***** test 482s centers = randi ([0 100], 5, 2); 482s radii = randi ([0 100], 5, 1); 482s h = viscircles (centers, radii); 482s close; 483s ***** test 483s centers = randi ([0 100], 5, 2); 483s radii = randi ([0 100], 5, 1); 483s figure (); 483s h = viscircles (gca (), centers, radii); 483s close; 483s ***** test 483s centers = randi ([0 100], 5, 2); 483s radii = randi ([0 100], 5, 1); 483s h = viscircles (centers, radii, "Color", "magenta", 483s "LineStyle", ":", "LineWidth", 5); 483s close; 483s ***** test 483s centers = randi ([0 100],5,2); 483s radii = randi ([0 100],5,1); 483s figure (); 483s h = viscircles (centers, radii, "Color", "magenta", 483s "LineStyle", ":", "LineWidth", 5); 483s close; 483s 7 tests, 7 passed, 0 known failure, 0 skipped 483s [inst/wiener2.m] 483s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/wiener2.m 483s ***** shared im0, im0_out, im0_n 483s im0 = ones (5, 5); 483s im0_out = ones (5, 5); 483s im0_out(1:4:5, 1:4:5) = 0.67111; 483s im0_out(1:4:5, 2:4) = 0.78074; 483s im0_out(2:4, 1:4:5) = 0.78074; 483s im0_n = 0.1462; 483s ***** error wiener2 () 483s ***** assert (wiener2 (im0)) 483s ***** assert (wiener2 (im0, [2, 3])) 483s ***** assert (wiener2 (im0, 0.5)) 483s ***** assert (wiener2 (im0, [2, 3], 0.5)) 483s ***** error wiener2 (im0, [2, 3], 0.5, 2) 483s ***** test 483s [im_out, noise_out] = wiener2 (im0); 483s assert (size (im_out), size (im0)) 483s assert (class (noise_out), "double") 483s assert (numel (noise_out), 1) 483s ***** assert (wiener2 (im0), im0_out, 1e-5) 483s ***** assert (wiener2 (single (im0)), single (im0_out), 1e-5) 483s ***** assert (class (wiener2 (single (im0))), "single") 483s ***** assert (wiener2 (im2uint8 (im0)), im2uint8 (im0_out)) 483s ***** assert (class (wiener2 (im2uint8 (im0))), "uint8") 483s ***** assert (wiener2 (im2uint16 (im0)), im2uint16 (im0_out), 1) 483s ***** assert (class (wiener2 (im2uint16 (im0))), "uint16") 483s ***** assert (wiener2 (im2int16 (im0)), im2int16 (im0_out), 1) 483s ***** assert (class (wiener2 (im2int16 (im0))), "int16") 483s ***** test 483s im_out = wiener2 (im0); 483s assert (im_out, im0_out, 1e-4) 483s [out, n] = wiener2 (im0); 483s assert (out, im0_out, 1e-4) 483s assert (n, im0_n, 1e-4) 483s ***** test 483s im1 = zeros (5, 5); 483s im1(2:4, 2:4) = 1; 483s im1_out = [ 483s 0.1111 0.2222 0.2726 0.2222 0.1111; 483s 0.2222 0.5911 0.7274 0.5911 0.2222; 483s 0.2726 0.7274 1.0000 0.7274 0.2726; 483s 0.2222 0.5911 0.7274 0.5911 0.2222; 483s 0.1111 0.2222 0.2726 0.2222 0.1111]; 483s im1_n = 0.1817; 483s im1_out_55 = [ 483s 0.1600 0.2400 0.2400 0.2400 0.1600; 483s 0.2400 0.4667 0.4667 0.4667 0.2400; 483s 0.2400 0.4667 0.4667 0.4667 0.2400; 483s 0.2400 0.4667 0.4667 0.4667 0.2400; 483s 0.1600 0.2400 0.2400 0.2400 0.1600]; 483s im1_n_55 = 0.1920; 483s im1_out_05 = [ 483s 0.1111 0.2222 0.3333 0.2222 0.1111; 483s 0.2222 0.4444 0.6667 0.4444 0.2222; 483s 0.3333 0.6667 1.0000 0.6667 0.3333; 483s 0.2222 0.4444 0.6667 0.4444 0.2222; 483s 0.1111 0.2222 0.3333 0.2222 0.1111]; 483s im1_out_55_05 = [ 483s 0.1600 0.2400 0.2400 0.2400 0.1600; 483s 0.2400 0.3600 0.3600 0.3600 0.2400; 483s 0.2400 0.3600 0.3600 0.3600 0.2400; 483s 0.2400 0.3600 0.3600 0.3600 0.2400; 483s 0.1600 0.2400 0.2400 0.2400 0.1600]; 483s im1_out_35 = [ 483s 0.1333 0.2000 0.2000 0.2000 0.1333; 483s 0.2642 0.5156 0.5156 0.5156 0.2642; 483s 0.3230 0.6770 0.6770 0.6770 0.3230; 483s 0.2642 0.5156 0.5156 0.5156 0.2642; 483s 0.1333 0.2000 0.2000 0.2000 0.1333]; 483s im1_out_51 = [ 483s 0 0.2400 0.2400 0.2400 0 483s 0 0.7600 0.7600 0.7600 0 483s 0 0.7600 0.7600 0.7600 0 483s 0 0.7600 0.7600 0.7600 0 483s 0 0.2400 0.2400 0.2400 0]; 483s assert (wiener2 (im1), im1_out, 1e-4) 483s [out, n] = wiener2 (im1); 483s assert (out, im1_out, 1e-4) 483s assert (n, im1_n, 1e-4) 483s assert (wiener2 (im1, [5, 5]), im1_out_55, 1e-4) 483s [out, n] = wiener2 (im1, [5, 5]); 483s assert (out, im1_out_55, 1e-4) 483s assert (n, im1_n_55, 1e-4) 483s assert (wiener2 (im1, 0.5), im1_out_05, 1e-4) 483s assert (wiener2 (im1, [5, 5], 0.5), im1_out_55_05, 1e-4) 483s assert (wiener2 (im1, [3, 5]), im1_out_35, 1e-4) 483s assert (wiener2 (im1, [5, 1]), im1_out_51, 1e-4) 483s ***** test 483s ## Tests for even-sized neighbourhood 483s im1 = zeros (5, 5); 483s im1(2:4, 2:4) = 1; 483s 483s im1_out_23 = [ 483s 0.1667 0.2233 0.2978 0.2233 0.1667 483s 0.2233 0.7767 1.0000 0.7767 0.2233 483s 0.2233 0.7767 1.0000 0.7767 0.2233 483s 0.1667 0.5533 0.7022 0.5533 0.1667 483s 0 0 0 0 0]; 483s 483s im1_out_43 = [ 483s 0.1667 0.2813 0.3750 0.2813 0.1667 483s 0.2500 0.6250 0.7500 0.6250 0.2500 483s 0.2500 0.6250 0.7500 0.6250 0.2500 483s 0.1667 0.4375 0.6250 0.4375 0.1667 483s 0.0833 0.1667 0.2500 0.1667 0.0833]; 483s 483s im1_out_44 = [ 483s 0.2500 0.3018 0.3018 0.2500 0.1250 483s 0.3018 0.6647 0.6647 0.4971 0.1875 483s 0.3018 0.6647 0.6647 0.4971 0.1875 483s 0.2500 0.4971 0.4971 0.2500 0.1250 483s 0.1250 0.1875 0.1875 0.1250 0.0625]; 483s 483s assert (wiener2 (im1, [2, 3]), im1_out_23, 1e-4) 483s assert (wiener2 (im1, [4, 3]), im1_out_43, 1e-4) 483s assert (wiener2 (im1, [4, 4]), im1_out_44, 1e-4) 483s ***** test 483s im2 = zeros (5, 5); 483s im2(2:4, 2:4) = 70; 483s im2(3, 3) = 90; 483s im2 = uint8 (im2); 483s im2_out = uint8 ([ 483s 8 16 20 16 8 ; 483s 16 46 54 46 16; 483s 20 54 72 54 20; 483s 16 46 54 46 16; 483s 8 16 20 16 8 ]); 483s im2_n = 0.0146; 483s im2_out_55 = uint8 ([ 483s 12 18 18 18 12; 483s 18 32 32 32 18; 483s 18 32 35 32 18; 483s 18 32 32 32 18; 483s 12 18 18 18 12]); 483s im2_n_55 = 0.0160; 483s im2_out_03 = uint8 ([ 483s 8 16 23 16 8 ; 483s 16 33 49 33 16; 483s 23 49 72 49 23; 483s 16 33 49 33 16; 483s 8 16 23 16 8 ]); 483s im2_n_03 = 0.3000; 483s [out, n] = wiener2 (im2); 483s assert (out, im2_out) 483s assert (n, im2_n, 1e-4) 483s [out, n] = wiener2 (im2, [5, 5]); 483s assert (out, im2_out_55) 483s assert (n, im2_n_55, 1e-4) 483s [out, n] = wiener2 (im2, 0.3); 483s assert (out, im2_out_03) 483s assert (n, im2_n_03, 1e-4) 483s ***** test 483s im3 = zeros (5, 5); 483s im3(2:4, 2:4) = 70; 483s im3(3, 3) = 20; 483s im3 = uint8 (im3); 483s im3_out = uint8 ([ 483s 8 16 19 16 8 ; 483s 16 32 47 32 16; 483s 19 47 64 47 19; 483s 16 32 47 32 16; 483s 8 16 19 16 8 ]); 483s im3_n = 0.0134; 483s [out, n] = wiener2 (im3); 483s assert (out, im3_out) 483s assert (n, im3_n, 1e-4) 483s ***** test 483s im4 = 50 .* ones (5, 5); 483s im4(:, 1) = 200; 483s im4(:, 2) = 100; 483s im4 = uint8 (im4); 483s im4_out = uint8 ([ 483s 148 90 44 33 22; 483s 161 111 67 50 33; 483s 161 111 67 50 33; 483s 161 111 67 50 33; 483s 148 90 44 33 22]); 483s im4_n = 0.0398; 483s [out, n] = wiener2 (im4); 483s assert (out, im4_out) 483s assert (n, im4_n, 1e-4) 483s ***** test 483s im5 = zeros (100, 100); 483s im5(30, 30) = 1; 483s im5_out_center = [ 483s 0 0 0 0 0 0 0; 483s 0 0 0 0 0 0 0; 483s 0 0 0.0001 0.0001 0.0001 0 0; 483s 0 0 0.0001 0.9992 0.0001 0 0; 483s 0 0 0.0001 0.0001 0.0001 0 0; 483s 0 0 0 0 0 0 0; 483s 0 0 0 0 0 0 0]; 483s im5_n = 8.8889e-5; 483s [out, n] = wiener2 (im5); 483s out_center = out(27:33, 27:33); 483s assert (out_center, im5_out_center, 1e-4) 483s assert (n, im5_n, 1e-4) 483s ***** test 483s im = zeros (100, 10, 10); 483s im(5, 5, 5) = 1; 483s 483s [out, n] = wiener2 (im, [3 3]); 483s expected_out = im; 483s expected_out(4:6,4:6,5) = [ 483s 0.0001 0.0001 0.0001 483s 0.0001 0.9992 0.0001 483s 0.0001 0.0001 0.0001]; 483s assert (out, expected_out, eps) 483s 483s [out, n] = wiener2 (im, [3 3 3]); 483s expected_out = im; 483s expected_out(4:6,4:6,4:6) = 0.0001; 483s expected_out(5,5,5) = 0.9974; 483s assert (out, expected_out, eps) 483s 483s ## Default in ND, use nhood 3 even for singleton dimensions. 483s assert (wiener2 (im), wiener2 (im, [3 3 3])) 483s 483s im = reshape (im, [100 10 1 10]); 483s expected_out = im; 483s expected_out(4:6,4:6,1,4:6) = 0.0001/3; 483s expected_out(5,5,1,5) = 1-(80*(0.0001/3)); 483s assert (wiener2 (im), wiener2 (im, [3 3 3 3])) 483s assert (wiener2 (im), expected_out, eps) 483s 483s expected_out = im; 483s expected_out(4:6,4:6,1,4:6) = 0.0001; 483s expected_out(5,5,1,5) = 0.9974; 483s assert (wiener2 (im, [3 3 1 3]), expected_out, eps) 483s ***** test 483s expected = [0.2222 0.3926 0.3926 0.3926 0.2222]; 483s assert (wiener2 (ones (1, 5)), expected, .0001) 483s ***** assert (wiener2 ([]), []) 483s ***** assert (wiener2 (logical ([0 0; 1 1])), true (2, 2)) 483s ***** demo 483s I = phantom (); 483s J = imnoise (I, "gaussian", 0, 0.02); 483s figure, imshow (J); 483s title ("Image with added Gaussian noise"); 483s K = wiener2 (J, [5 5]); 483s figure, imshow (K); 483s title ("Image with noise reduced by wiener2 filtering"); 483s 27 tests, 27 passed, 0 known failure, 0 skipped 483s [inst/isrgb.m] 483s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/isrgb.m 483s ***** assert (isrgb ("this is not a RGB image"), false); 483s ***** assert (isrgb (rand (5, 5)), false); 483s ***** assert (isrgb (rand (5, 5, 1, 5)), false); 483s ***** assert (isrgb (rand (5, 5, 3, 5)), true); 483s ***** assert (isrgb (rand (5, 5, 3)), true); 483s ***** assert (isrgb (ones (5, 5, 3)), true); 483s ***** assert (isrgb (ones (5, 5, 3) + eps), false); 483s ***** assert (isrgb (zeros (5, 5, 3) - eps), false); 483s ***** assert (isrgb (rand (5, 5, 3) > 0.5), false); 483s ***** assert (isrgb (randi ([-100 100], 5, 5, 3, "int16")), true) 483s 10 tests, 10 passed, 0 known failure, 0 skipped 483s [inst/affine2d.m] 483s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/affine2d.m 483s ***** test 483s theta = 10; 483s A = [cosd(theta) -sind(theta) 0 483s sind(theta) cosd(theta) 0 483s 0 0 1]; 483s tform = affine2d (A); 483s [X, Y] = transformPointsForward (tform, 5, 10); 483s assert (X, 6.6605, 1.e-4) 483s assert (Y, 8.9798, 1.e-4) 483s 483s [U, V] = transformPointsInverse (tform, X, Y); 483s assert (U, 5, 5*eps) 483s assert (V, 10, 9*eps) 483s assert (isRigid (tform)) 483s assert (! isTranslation (tform)) 483s assert (isSimilarity (tform)) 483s ***** test 483s theta = 30; 483s tform = affine2d([ cosd(theta) sind(theta) 0 483s -sind(theta) cosd(theta) 0 483s 0 0 1]); 483s assert (tform.T, [ 0.86603 0.5 0 483s -0.5 0.86603 0 483s 0 0 1], 1.e-5); 483s invtform = invert(tform); 483s assert (invtform.T, [ 0.86603 -0.5 0 483s 0.5 0.86603 0 483s 0 0 1], 1.e-5); 483s assert (isRigid (tform)) 483s assert (! isTranslation (tform)) 483s assert (isSimilarity (tform)) 483s ***** test 483s tform = affine2d ([1 0 0; 0 1 0; 5 10 1]); 483s [X, Y] = transformPointsForward (tform, [1 2; 3 4; 5 6; 7 8]); 483s assert (round (X), [6; 8; 10; 12]) 483s assert (round (Y), [12; 14; 16; 18]) 483s 483s [U, V] = transformPointsInverse (tform, X, Y); 483s assert (round (U), [1; 3; 5; 7]) 483s assert (round (V), [2; 4; 6; 8]) 483s assert (isRigid (tform)) 483s assert (isTranslation (tform)) 483s assert (isSimilarity (tform)) 483s ***** test 483s tform = affine2d ([1 1e-16 0; 1e-16 1 0; 5 10 1]); 483s assert (isRigid (tform)) 483s tform = affine2d ([2 1e-16 0; 1e-16 1 0; 5 10 1]); 483s assert (! isRigid (tform)) 483s ***** test 483s theta = 10; 483s A = [cosd(theta) -sind(theta) 0 483s sind(theta) cosd(theta) 0 483s 0 0 1]; 483s tform = affine2d (A); 483s [xlim, ylim] = outputLimits (tform, [1 240], [1 291]); 483s assert (xlim, [1.1585 286.8855], 1.e-4) 483s assert (ylim, [-40.6908 286.4054], 1.e-4) 483s ***** test 483s A = [1 0 0 483s 0 1 0 483s 40 40 1]; 483s tform = affine2d (A); 483s assert (isRigid (tform)); 483s assert (isSimilarity (tform)); 483s assert (isTranslation (tform)); 483s ***** test 483s a = invert (affine2d ([1 2 0; 3 4 0; 10 20 1])); 483s b = affine2d(a.T); 483s assert (b.T, [-2, 1, 0; 1.5, -0.5, 0; -10, 0, 1], 5*eps) 483s ***** assert (isTranslation (affine2d ([1, 0, 0; 0, 1, 0; 40, 40, 1]))) 483s ***** assert (! isTranslation (affine2d ([1 0 0; 0 -1 0; 0 0 1]))) 483s ***** assert (! isRigid (affine2d ([1 0 0; 0 -1 0; 0 0 1]))) 483s ***** error affine2d ([0 0 0; 0 0 0]) 483s ***** error affine2d ([0 0 0 0 0 0 0 0 1]) 483s ***** error affine2d ([0 0 0; 0 0 0; 0 0 0]) 483s ***** error affine2d ([1 0 0; 0 1 1; 0 0 1]) 483s ***** error affine2d ([0 0 0; 0 0 0; 0 0 1]) 483s ***** error affine2d (1, 2) 483s ***** error outputLimits (affine2d()) 483s ***** test 483s tform = affine2d; 483s assert (tform.T, eye (3)) 483s assert (tform.Dimensionality, 2) 483s 18 tests, 18 passed, 0 known failure, 0 skipped 483s [inst/stretchlim.m] 483s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/stretchlim.m 483s ***** error (stretchlim ()); 483s ***** error (stretchlim ("bad parameter")); 483s ***** error (stretchlim (zeros (10, 10), "bad parameter")); 483s ***** error (stretchlim (zeros (10, 10), 0.01, 2)); 483s ***** assert (stretchlim (0.01:.01:1), [0.02; 0.99]) 483s ***** assert (stretchlim (0.01:.01:1), stretchlim (0.01:.01:1, [0.01 0.99])) 483s ***** assert (stretchlim (0.01:.01:1, 0.15), stretchlim (0.01:.01:1, [0.15 0.85])) 483s ***** assert (stretchlim (0.01:.01:1, [0.01,0.95]), [0.02; 0.95], eps) 483s ***** assert (stretchlim (0.01:.01:1, 0), [0.01; 1]) 483s ***** test 483s im = rand (5); 483s assert (stretchlim (im, 0), [min(im(:)); max(im(:))]) 483s ***** test 483s im = rand (5, 5, 3); 483s assert (stretchlim (im, 0), 483s [min(im(:,:,1)(:)) min(im(:,:,2)(:)) min(im(:,:,3)(:)); 483s max(im(:,:,1)(:)) max(im(:,:,2)(:)) max(im(:,:,3)(:))]) 483s ***** test 483s im = rand (5); 483s assert (stretchlim (im, 0.03), [min(im(:)); max(im(:))]) 483s assert (stretchlim (im, 0.0399), [min(im(:)); max(im(:))]) 483s ***** assert (stretchlim (uint8 (1:100)), im2double (uint8 ([2; 99]))) 483s ***** assert (stretchlim (uint8 (1:100), .25), im2double (uint8 ([26; 75]))) 483s ***** assert (stretchlim (uint16 (1:1000)), im2double (uint16 ([11; 990]))) 483s ***** assert (stretchlim (int16 (-100:100)), im2double (int16 ([-98; 98]))) 483s ***** assert (stretchlim (single (0.01:.01:1)), 483s double (single (0.01:.01:1)([2; 99])).') 483s ***** assert (stretchlim (uint8 ([1 repmat(2, [1, 90]) 92:100]), 0.05), 483s im2double (uint8 ([2; 95]))) 483s ***** assert (stretchlim (uint8 ([1 repmat(2, [1 4]) 6:100]), 0.05), 483s im2double (uint8 ([6; 95]))) 483s ***** assert (stretchlim (uint8 ([1 repmat(2, [1 5]) 7:100]), 0.05), 483s im2double (uint8 ([2; 95]))) 483s ***** assert (stretchlim (uint8 ([1 repmat(2, [1 6]) 8:100]), 0.05), 483s im2double (uint8 ([2; 95]))) 483s ***** assert (stretchlim (uint8 ([1 repmat(2, [1 7]) 9:100]), 0.05), 483s im2double (uint8 ([2; 95]))) 483s ***** assert (stretchlim (uint8 ([1 repmat(2, [1 8]) 10:100]), 0.05), 483s im2double (uint8 ([2; 95]))) 483s ***** assert (stretchlim (uint8 ([1 repmat(2, [1 5]) repmat(3, [1 5]) 9:100]), 0.04), 483s im2double (uint8 ([2; 96]))) 483s ***** assert (stretchlim (uint8 ([1 repmat(2, [1 5]) repmat(3, [1 5]) 9:100]), 0.05), 483s im2double (uint8 ([2; 95]))) 483s ***** assert (stretchlim (uint8 ([1 repmat(2, [1 5]) repmat(3, [1 5]) 9:100]), 0.06), 483s im2double (uint8 ([3; 94]))) 483s ***** assert (stretchlim (uint8 ([1 repmat(2, [1 5]) repmat(3, [1 5]) 9:100]), 0.07), 483s im2double (uint8 ([3; 93]))) 483s ***** assert (stretchlim (uint8 ([1 repmat(2, [1 5]) repmat(3, [1 5]) 9:100]), 0.08), 483s im2double (uint8 ([3; 92]))) 483s ***** test 483s RGB = zeros (100, 1, 3, "uint16"); 483s RGB(:,:,1) = [1:1:100]; 483s RGB(:,:,2) = [2:2:200]; 483s RGB(:,:,3) = [4:4:400]; 483s assert (stretchlim (RGB) , im2double (uint16 ([2 4 8; 99 198 396]))) 483s ***** test 483s im6c = zeros (100, 1, 6, "uint16"); 483s im6c(:,:,1) = [1:1:100]; 483s im6c(:,:,2) = [2:2:200]; 483s im6c(:,:,3) = [4:4:400]; 483s im6c(:,:,4) = [8:8:800]; 483s im6c(:,:,5) = [16:16:1600]; 483s im6c(:,:,6) = [32:32:3200]; 483s assert (stretchlim (im6c) , 483s im2double (uint16 ([2 4 8 16 32 64; 99 198 396 792 1584 3168]))) 483s ***** test 483s im = [0 0 .1 .1 .1 .1 .2 .2 .2 .4 .4 .6 .6 .7 .7 .9 .9 .9 1 1]; 483s 483s assert (stretchlim (im), [0; 1]) 483s 483s ## Consider the returned lower limit in this test. A lower limit 483s ## of 0.1 will saturate two elements (10%), while 0.2 will saturate 483s ## 6 elements (30%). Both have the same distance to 20% but returning 483s ## 0.1 is Matlab compatible. 483s ## Now looking at the higher limit. A limit of .9 will saturate 483s ## 2 elements (10%), while a limit of 0.7 will saturate 5 elements (25%). 483s ## However, for Matlab compatibility we must return .9 even though 483s ## 25% would be closer to 20%. 483s ## Basically, it's not just rounded. 483s assert (stretchlim (im, .2), [0.1; 0.9]) 483s 483s assert (stretchlim (im, .15), [0.1; 0.9]) 483s assert (stretchlim (im, .1), [0.1; 0.9]) 483s assert (stretchlim (im, .25), [0.1; 0.7]) 483s 483s ## Reorder the vector of values (real images don't have the values 483s ## already sorted), just to be sure it all works. 483s im([6 3 16 11 7 17 14 8 5 19 15 1 2 4 18 13 9 20 10 12]) = im; 483s assert (stretchlim (im, .2), [0.1; 0.9]) 483s assert (stretchlim (im, .15), [0.1; 0.9]) 483s assert (stretchlim (im, .1), [0.1; 0.9]) 483s assert (stretchlim (im, .25), [0.1; 0.7]) 483s ***** assert (stretchlim (0.01:.001:1), [0.019; 0.991], eps) 483s ***** assert (stretchlim (0.01:.001:1, [0.01,0.95]), [0.019; 0.951], eps) 483s ***** assert (stretchlim (0.01:.001:1, 0), [0.01; 1]) 483s ***** assert (stretchlim (single (0.01:.001:1)), 483s double (single (0.01:.001:1)([10; 982])).') 483s ***** xtest 483s assert (stretchlim ([(.05:.05:1) (2:4)], 0.2), [0.25; 0.95], eps) 483s assert (stretchlim ([(.05:.05:1) (2:5)], 0.2), [0.25; 1]) 483s assert (stretchlim ([(.05:.05:1) (2:6)], 0.2), [0.3; 1]) 483s assert (stretchlim ([(.05:.05:1) (2:7)], 0.2), [0.3; 1]) 483s !!!!! known failure 483s ASSERT errors for: assert (stretchlim ([(.05:.05:1), (2:6)], 0.2),[0.3; 1]) 483s 483s Location | Observed | Expected | Reason 483s (1) 0.3 0.3 Abs err 5.5511e-17 exceeds tol 0 by 6e-17 483s ***** test 483s assert (stretchlim ([(-6:0) (.05:.05:1)], 0.2), [0; 0.75], eps) 483s assert (stretchlim ([(-5:0) (.05:.05:1)], 0.2), [0; 0.75], eps) 483s ***** test 483s im = rand (4, 4, 2, 3, 2); 483s rv = zeros (2, 2, 3, 2); 483s for p = 1:2 483s for q = 1:3 483s for r = 1:2 483s rv(:,p,q,r) = stretchlim (im(:,:,p,q,r), 0.25); 483s endfor 483s endfor 483s endfor 483s assert (stretchlim (im, 0.25), rv) 483s ***** test 483s im = rand (4, 4, 2, 3, 2); 483s rv = zeros (2, 2, 3, 2); 483s for p = 1:2 483s for q = 1:3 483s for r = 1:2 483s rv(:,p,q,r) = stretchlim (im(:,:,p,q,r), 0); 483s endfor 483s endfor 483s endfor 483s assert (stretchlim (im, 0), rv) 483s ***** assert (stretchlim (zeros (5)), [0; 1]) 483s ***** assert (stretchlim (ones (5)), [0; 1]) 483s ***** assert (stretchlim (.6 * ones (5)), [0; 1]) 483s ***** assert (stretchlim (zeros (3, 3, 3, 3)), repmat ([0; 1], [1 3 3])) 483s ***** assert (stretchlim ([0 .5 .5 .5 .5 1], .2), [0; 1]) 483s ***** test 483s im = repmat ((magic (5) -1) / 24, [1 1 3 3]); 483s im(:,:,1,1) = 0; 483s im(:,:,2,2) = .5; 483s im(:,:,3,3) = 1; 483s lims = stretchlim (im, 0.2); 483s assert (size (lims), [2 3 3]) 483s assert (lims(:, [2 3 4 6 7 8]), 483s repmat ([(1/24)*round(24*.2); 1-((1/24)*round(24*.2))], [1 6]), eps) 483s assert (lims(:, [1 5 9]), repmat ([0; 1], [1 3])) 483s 45 tests, 44 passed, 1 known failure, 0 skipped 483s [inst/imremap.m] 483s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imremap.m 483s ***** demo 483s ## Generate a synthetic image and show it 483s I = tril(ones(100)) + abs(rand(100)); I(I>1) = 1; 483s I(20:30, 20:30) = !I(20:30, 20:30); 483s I(70:80, 70:80) = !I(70:80, 70:80); 483s figure, imshow(I); 483s ## Resize the image to the double size and show it 483s [XI, YI] = meshgrid(linspace(1, 100, 200)); 483s warped = imremap(I, XI, YI); 483s figure, imshow(warped); 483s ***** demo 483s ## Generate a synthetic image and show it 483s I = tril(ones(100)) + abs(rand(100)); I(I>1) = 1; 483s I(20:30, 20:30) = !I(20:30, 20:30); 483s I(70:80, 70:80) = !I(70:80, 70:80); 483s figure, imshow(I); 483s ## Rotate the image around (0, 0) by -0.4 radians and show it 483s [XI, YI] = meshgrid(1:100); 483s R = [cos(-0.4) sin(-0.4); -sin(-0.4) cos(-0.4)]; 483s RXY = [XI(:), YI(:)] * R; 483s XI = reshape(RXY(:,1), [100, 100]); YI = reshape(RXY(:,2), [100, 100]); 483s warped = imremap(I, XI, YI); 483s figure, imshow(warped); 483s ***** test 483s 483s I = repmat([ 1 2 3 4 ], [4, 1]); 483s xi = [-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11]; 483s exp_rep = [ 1 1 1 1 1 1 1 1 2 3 4 4 4 4 4 4 4 4]; 483s exp_sym = [ 2 3 4 4 3 2 1 1 2 3 4 4 3 2 1 1 2 3]; 483s exp_ref = [ 2 1 2 3 4 3 2 1 2 3 4 3 2 1 2 3 4 3]; 483s exp_cir = [ 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3]; 483s yi = 2.5; 483s 483s # rectilinear grid codepath 483s assert (imremap (I, xi, yi, "bicubic", "replicate"), exp_rep); 483s assert (imremap (I, xi, yi, "bicubic", "symmetric"), exp_sym); 483s assert (imremap (I, xi, yi, "bicubic", "reflect"), exp_ref); 483s assert (imremap (I, xi, yi, "bicubic", "circular"), exp_cir); 483s 483s # meshgrid codepath 483s XI = [xi/2; xi; xi/2]; % cannot be reduced to vector, we will assert only middle row 483s YI = repmat ([1.5; yi; 3.5], [1, length(xi)]); 483s assert (imremap (I, XI, YI, "bicubic", "replicate")(2,:), exp_rep); 483s assert (imremap (I, XI, YI, "bicubic", "symmetric")(2,:), exp_sym); 483s assert (imremap (I, XI, YI, "bicubic", "reflect")(2,:), exp_ref); 483s assert (imremap (I, XI, YI, "bicubic", "circular")(2,:), exp_cir); 483s 1 test, 1 passed, 0 known failure, 0 skipped 483s [inst/imadd.m] 483s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imadd.m 483s ***** assert (imadd (uint8 ([23 250]), uint8 ([23 250])), uint8 ([46 255])); # default to first class and truncate 483s ***** assert (imadd (uint8 ([23 250]), 10), uint8 ([33 255])); # works adding a scalar 483s ***** assert (imadd (uint8 ([23 250]), uint8 ([23 250]), "uint16"), uint16 ([46 500])); # defining output class works 483s ***** assert (imadd (logical ([ 1 0]), logical ([ 1 1])), double ([ 2 1])); # return double for two logical images 483s ***** assert (imadd (logical ([ 1 0]), logical ([ 1 1]), "logical"), logical ([ 1 1])); # this is matlab incompatible on purpose 483s ***** fail ("imadd (uint8 ([23 250]), uint16 ([23 250]))"); # input need to have same class 483s 6 tests, 6 passed, 0 known failure, 0 skipped 483s [inst/qtsetblk.m] 483s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/qtsetblk.m 483s ***** demo 483s J=qtsetblk(eye(4),qtdecomp(eye(4)),2,ones(2,2,2)) 483s % Sets upper-right and lower-left blocks of 2*2 zeros to ones 483s ***** shared A, S 483s A=[ 1, 4, 2, 5,54,55,61,62; 483s 3, 6, 3, 1,58,53,67,65; 483s 3, 6, 3, 1,58,53,67,65; 483s 3, 6, 3, 1,58,53,67,65; 483s 23,42,42,42,99,99,99,99; 483s 27,42,42,42,99,99,99,99; 483s 23,22,26,25,99,99,99,99; 483s 22,22,24,22,99,99,99,99]; 483s S = qtdecomp (A, 10); 483s ***** test 483s R=A; 483s vals=zeros(4,4,2); 483s vals(:,:,1)=reshape([1:16],4,4); 483s vals(:,:,2)=reshape([21:36],4,4); 483s R(1:4,1:4)=reshape([1:16],4,4); 483s R(5:8,5:8)=reshape([21:36],4,4); 483s assert(qtsetblk(A,S,4,vals),R); 483s ***** test 483s R=A; 483s R(1:4,5:8)=1; 483s R(7:8,1:4)=1; 483s R(5:6,3:4)=1; 483s assert(qtsetblk(A,S,2,ones(2,2,7)),R); 483s ***** test 483s R=A; 483s R(5:6,1:2)=10; 483s assert(qtsetblk(A,S,1,ones(1,1,4)*10),R); 483s 3 tests, 3 passed, 0 known failure, 0 skipped 483s [inst/imresize.m] 483s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imresize.m 483s ***** test 483s 483s in = [116 227 153 69 146 194 59 130 139 106 483s 2 47 137 249 90 75 16 24 158 44 483s 155 68 46 84 166 156 69 204 32 152 483s 71 221 137 230 210 153 192 115 30 118 483s 107 143 108 52 51 73 101 21 175 90 483s 54 158 143 77 26 168 113 229 165 225 483s 9 47 133 135 130 207 236 43 19 73]; 483s assert (imresize (uint8 (in), 1, "nearest"), uint8 (in)) 483s assert (imresize (uint8 (in), 1, "bicubic"), uint8 (in)) 483s 483s out = [116 116 227 227 153 153 69 69 146 146 194 194 59 59 130 130 139 139 106 106 483s 116 116 227 227 153 153 69 69 146 146 194 194 59 59 130 130 139 139 106 106 483s 2 2 47 47 137 137 249 249 90 90 75 75 16 16 24 24 158 158 44 44 483s 2 2 47 47 137 137 249 249 90 90 75 75 16 16 24 24 158 158 44 44 483s 155 155 68 68 46 46 84 84 166 166 156 156 69 69 204 204 32 32 152 152 483s 155 155 68 68 46 46 84 84 166 166 156 156 69 69 204 204 32 32 152 152 483s 71 71 221 221 137 137 230 230 210 210 153 153 192 192 115 115 30 30 118 118 483s 71 71 221 221 137 137 230 230 210 210 153 153 192 192 115 115 30 30 118 118 483s 107 107 143 143 108 108 52 52 51 51 73 73 101 101 21 21 175 175 90 90 483s 107 107 143 143 108 108 52 52 51 51 73 73 101 101 21 21 175 175 90 90 483s 54 54 158 158 143 143 77 77 26 26 168 168 113 113 229 229 165 165 225 225 483s 54 54 158 158 143 143 77 77 26 26 168 168 113 113 229 229 165 165 225 225 483s 9 9 47 47 133 133 135 135 130 130 207 207 236 236 43 43 19 19 73 73 483s 9 9 47 47 133 133 135 135 130 130 207 207 236 236 43 43 19 19 73 73]; 483s assert (imresize (uint8 (in), 2, "nearest"), uint8 (out)) 483s assert (imresize (uint8 (in), 2, "neAreST"), uint8 (out)) 483s assert (imresize (uint8 (in), [14 NaN], "nearest"), uint8 (out)) 483s assert (imresize (uint8 (in), [NaN 20], "nearest"), uint8 (out)) 483s 483s out = [116 116 227 227 153 153 69 69 146 146 194 194 59 59 130 130 139 139 106 106 483s 2 2 47 47 137 137 249 249 90 90 75 75 16 16 24 24 158 158 44 44 483s 155 155 68 68 46 46 84 84 166 166 156 156 69 69 204 204 32 32 152 152 483s 71 71 221 221 137 137 230 230 210 210 153 153 192 192 115 115 30 30 118 118 483s 107 107 143 143 108 108 52 52 51 51 73 73 101 101 21 21 175 175 90 90 483s 54 54 158 158 143 143 77 77 26 26 168 168 113 113 229 229 165 165 225 225 483s 9 9 47 47 133 133 135 135 130 130 207 207 236 236 43 43 19 19 73 73]; 483s assert (imresize (uint8 (in), [7 20], "nearest"), uint8 (out)) 483s 483s out = [116 227 153 69 146 194 59 130 139 106 483s 116 227 153 69 146 194 59 130 139 106 483s 2 47 137 249 90 75 16 24 158 44 483s 2 47 137 249 90 75 16 24 158 44 483s 155 68 46 84 166 156 69 204 32 152 483s 155 68 46 84 166 156 69 204 32 152 483s 71 221 137 230 210 153 192 115 30 118 483s 71 221 137 230 210 153 192 115 30 118 483s 107 143 108 52 51 73 101 21 175 90 483s 107 143 108 52 51 73 101 21 175 90 483s 54 158 143 77 26 168 113 229 165 225 483s 54 158 143 77 26 168 113 229 165 225 483s 9 47 133 135 130 207 236 43 19 73 483s 9 47 133 135 130 207 236 43 19 73]; 483s assert (imresize (uint8 (in), [14 10], "nearest"), uint8 (out)) 483s 483s assert (imresize (uint8 (in), 1.5, "box"), imresize (uint8 (in), 1.5, "MeTHoD", "nearest")) 483s assert (imresize (uint8 (in), "Scale", 1.5, "Method", "box"), imresize (uint8 (in), 1.5, {@(h) -0.5 < h & h <= 0.5, 1})) 483s assert (imresize (uint8 (in), 1.5, "bicubic"), imresize (uint8 (in), 1.5, "cubic")) 483s assert (imresize (uint8 (in), [NaN, size(in,2)*1.5], "bicubic"), imresize (uint8 (in), 1.5, "cubic")) 483s assert (imresize (uint8 (in), [size(in,1)*1.5, NaN], "bicubic"), imresize (uint8 (in), 1.5, "cubic")) 483s assert (imresize (uint8 (in), "outputsize", [size(in,1)*1.5, NaN], "method", "bicubic"), imresize (uint8 (in), 1.5, "cubic")) 483s assert (imresize (uint8 (in), 1.5, "linear"), imresize (uint8 (in), 1.5, "LIneAR")) 483s assert (imresize (uint8 (in), 1.5, "linear"), imresize (uint8 (in), 1.5, "triangle")) 484s ***** test 484s in = [116 227 153 69 146 194 59 130 139 106 484s 2 47 137 249 90 75 16 24 158 44 484s 155 68 46 84 166 156 69 204 32 152 484s 71 221 137 230 210 153 192 115 30 118 484s 107 143 108 52 51 73 101 21 175 90 484s 54 158 143 77 26 168 113 229 165 225 484s 9 47 133 135 130 207 236 43 19 73 484s 129 60 59 243 64 181 249 56 32 86]; 484s 484s out = imresize (in, 0.5, "nearest", "Antialiasing", false); 484s for x = 1:columns (out) 484s for y = 1:rows (out) 484s x_in = 2 * (x-1) + 1; 484s y_in = 2 * (y-1) + 1; 484s sub = in(y_in:y_in+1, x_in:x_in+1); 484s assert (any (any (sub == out(y, x)))) 484s endfor 484s endfor 484s 484s out = imresize (in, 0.5, "nearest", "Antialiasing", true); 484s for x = 1:columns (out) 484s for y = 1:rows (out) 484s x_in = 2 * (x-1) + 1; 484s y_in = 2 * (y-1) + 1; 484s val = mean (mean (in(y_in:y_in+1, x_in:x_in+1))); 484s assert (val, out(y, x)) 484s endfor 484s endfor 484s 484s out = imresize (in, "Scale", [0.5, 2], "Method", "nearest", "Antialiasing", true); 484s for x = 1:columns (out) 484s for y = 1:rows (out) 484s x_in = floor (0.5 * (x-1) + 1); 484s y_in = 2 * (y-1) + 1; 484s val = mean (in(y_in:y_in+1, x_in)); 484s assert (val, out(y, x)) 484s endfor 484s endfor 484s 484s out = imresize (in, "Scale", [2, 0.5], "Method", "nearest", "Antialiasing", true); 484s for x = 1:columns (out) 484s for y = 1:rows (out) 484s x_in = 2 * (x-1) + 1; 484s y_in = floor (0.5 * (y-1) + 1); 484s val = mean (in(y_in, x_in:x_in+1)); 484s assert (val, out(y, x)) 484s endfor 484s endfor 484s ***** test 484s 484s assert (imresize (repmat (5, [3 3]), 2), repmat (5, [6 6]), eps*100) 484s 484s assert (imresize (repmat (5, [3 3 2]), 2), repmat (5, [6 6 2]), eps*100) 484s ***** test 484s 484s for channels = 1:3 484s in = rand (5, 4, channels); 484s for method = {"nearest", "bilinear", "bicubic"} 484s out = imresize (in, 2, method{1}); 484s for i = 1:size (in, 3) 484s assert (out(:, :, i), imresize (in(:, :, i), 2, method{1})) 484s endfor 484s endfor 484s endfor 484s ***** test 484s 484s for channels = 1:3 484s in = rand (5, 4, channels); 484s out = imresize (in, [1, columns(in)], "nearest", "Antialiasing", true); 484s for i = 1:columns (in) 484s assert (out(1, i, :), mean (in(:, i, :), 1), 10*eps) 484s endfor 484s endfor 484s ***** test 484s 484s for channels = 1:3 484s in = rand (5, 4, channels); 484s out = imresize (in, [rows(in), 1], "nearest", "Antialiasing", true); 484s for i = 1:rows (in) 484s assert (out(i, 1, :), mean (in(i, :, :), 2), 10*eps) 484s endfor 484s endfor 484s ***** test 484s 484s for channels = 1:3 484s in = rand (5, 4, channels); 484s out = imresize (in, [1, 1], "nearest", "Antialiasing", true); 484s assert (out(1, 1, :), mean (mean (in(:, :, :))), 10*eps) 484s endfor 484s ***** test 484s 484s in = [116 227 153 69 146 194 59 130 139 106 484s 2 47 137 249 90 75 16 24 158 44 484s 155 68 46 84 166 156 69 204 32 152 484s 71 221 137 230 210 153 192 115 30 118 484s 107 143 108 52 51 73 101 21 175 90 484s 54 158 143 77 26 168 113 229 165 225 484s 9 47 133 135 130 207 236 43 19 73 484s 129 60 59 243 64 181 249 56 32 86]; 484s 484s out = [115 208 134 100 163 117 101 136 109 103 484s 26 61 149 182 95 53 41 116 73 60 484s 133 101 82 140 167 125 152 71 126 144 484s 88 184 137 164 142 145 110 81 104 108 484s 86 146 109 55 73 110 111 156 153 150 484s 33 104 131 100 130 184 147 97 133 142 484s 84 59 114 164 133 219 120 33 72 81 484s 126 60 104 181 116 218 125 38 77 86]; 484s assert (imresize (uint8 (in), 0.91, "bilinear", "Antialiasing", false), uint8 (out), 1) 484s 484s out = [116 172 215 165 111 82 133 170 171 81 95 132 138 123 106 484s 59 98 138 144 152 152 125 127 119 54 58 89 137 112 75 484s 27 39 62 110 172 202 123 96 78 36 40 68 123 100 62 484s 129 97 64 62 87 119 146 148 128 74 117 154 73 94 134 484s 113 129 136 101 125 162 183 172 151 135 146 139 53 83 135 484s 77 143 195 145 166 197 186 162 146 171 138 92 62 84 113 484s 101 129 149 120 98 81 78 82 91 111 77 56 132 123 95 484s 81 116 147 130 96 61 43 80 119 109 116 132 162 164 158 484s 46 93 139 141 114 80 50 109 168 141 166 189 151 171 200 484s 16 41 77 123 130 123 115 157 204 214 145 69 48 71 98 484s 69 62 61 89 143 174 112 146 202 235 147 46 30 53 80 484s 129 95 60 59 151 213 94 123 192 238 153 52 36 59 86]; 484s assert (imresize (uint8 (in), 1.5, "bilinear"), uint8 (out), 1) 484s 484s out = [ 98 152 126 58 112 484s 129 125 172 146 83 484s 116 96 80 116 164 484s 62 143 146 147 53]; 484s assert (imresize (uint8 (in), 0.5, "bilinear", "Antialiasing", false), uint8 (out), 1) 484s 484s out = [108 136 125 89 107 484s 111 132 143 114 99 484s 106 110 106 127 136 484s 75 124 154 142 75]; 484s assert (imresize (uint8 (in), 0.5, "bilinear", "Antialiasing", true), uint8 (out), 1) 484s 484s out = [116 185 199 143 80 117 164 177 76 103 133 135 110 106 484s 45 89 126 148 177 138 114 109 43 52 97 141 78 67 484s 59 57 73 114 177 145 114 96 45 71 99 108 88 85 484s 145 109 76 63 96 146 166 147 93 152 133 47 134 148 484s 82 157 174 137 201 208 186 156 174 145 90 42 111 122 484s 94 143 152 119 119 114 108 107 131 86 80 119 104 101 484s 87 126 139 114 69 49 67 109 106 102 126 167 145 141 484s 48 108 143 135 91 56 89 167 134 177 184 154 199 206 484s 15 44 88 133 129 121 149 204 219 124 55 44 85 92 484s 84 66 67 102 189 132 127 198 237 123 42 34 74 81 484s 129 86 60 82 220 131 108 190 241 128 47 39 79 86]; 484s assert (imresize (uint8 (in), 4/3, "bilinear"), uint8 (out), 1) 484s 484s lin = @(x) (1 - abs(x)) .* (abs(x) < 1); 484s 484s out = [ 47 90 24 44 484s 143 51 21 90 484s 60 64 56 86]; 484s assert (imresize (uint8 (in), 1/3, "bilinear", "Antialiasing", false), uint8 (out), 1) 484s assert (imresize (uint8 (in), 1/3, {lin, 2}, "Antialiasing", false), uint8 (out), 1) 484s 484s out = [115 131 101 102 484s 114 117 120 121 484s 91 147 116 76]; 484s assert (imresize (uint8 (in), 1/3, "bilinear", "Antialiasing", true), uint8 (out), 1) 484s assert (imresize (uint8 (in), 1/3, {lin, 2}, "Antialiasing", true), uint8 (out), 1) 484s ***** test 484s in = [116 227 153 69 146 194 59 130 139 106 484s 2 47 137 249 90 75 16 24 158 44 484s 155 68 46 84 166 156 69 204 32 152 484s 71 221 137 230 210 153 192 115 30 118 484s 107 143 108 52 51 73 101 21 175 90 484s 54 158 143 77 26 168 113 229 165 225 484s 9 47 133 135 130 207 236 43 19 73 484s 129 60 59 243 64 181 249 56 32 86]; 484s 484s out = [116 187 237 171 94 61 135 191 187 75 91 142 140 124 108 484s 43 92 143 149 164 163 119 123 118 44 38 80 151 118 62 484s 13 21 47 107 195 228 115 81 70 24 19 56 137 105 48 484s 146 98 49 49 71 107 148 159 132 58 124 176 61 85 146 484s 118 139 144 92 116 168 201 188 159 140 167 158 27 69 153 484s 61 151 218 145 174 219 201 164 146 187 148 84 48 76 115 484s 102 132 151 119 90 72 72 72 83 114 60 31 144 130 80 484s 81 121 154 133 87 41 19 67 116 95 108 140 183 180 163 484s 37 95 152 150 117 73 35 108 179 130 174 214 153 176 219 484s 3 29 73 131 136 120 116 162 214 229 147 54 35 62 96 484s 67 54 51 83 153 187 111 141 210 255 149 22 13 42 74 484s 142 99 53 43 164 237 77 103 197 254 159 42 31 59 91]; 484s assert (imresize (uint8 (in), 1.5, "bicubic"), uint8 (out), 1) 484s 484s out = [ 92 164 123 38 118 484s 139 116 188 167 69 484s 121 87 67 108 180 484s 54 153 141 149 42]; 484s assert (imresize (uint8 (in), 0.5, "bicubic", "Antialiasing", false), uint8 (out), 1) 484s 484s out = [105 140 126 81 109 484s 110 134 153 114 93 484s 108 108 94 127 146 484s 67 126 162 149 62]; 484s assert (imresize (uint8 (in), 0.5, "bicubic", "Antialiasing", true), uint8 (out), 1) 484s 484s out = [116 203 221 141 62 110 180 191 70 104 143 136 111 106 484s 26 78 126 156 200 139 103 103 33 28 92 158 67 46 484s 51 35 51 112 195 146 101 87 29 57 100 114 81 74 484s 159 110 63 50 82 148 179 152 83 173 147 27 143 170 484s 70 171 189 134 217 226 193 158 186 157 83 25 114 135 484s 91 152 162 116 118 114 102 98 138 65 60 127 92 84 484s 90 130 144 111 52 24 50 101 94 86 129 190 146 135 484s 41 114 157 139 89 37 82 178 125 192 203 154 213 227 484s 4 33 89 141 127 118 151 213 232 119 35 34 81 92 484s 88 61 54 97 203 129 115 203 255 119 18 24 70 81 484s 147 91 43 68 247 125 80 191 255 130 33 37 83 94]; 484s assert (imresize (uint8 (in), 4/3, "bicubic"), uint8 (out), 1) 484s 484s out = [ 47 90 24 44 484s 143 51 21 90 484s 60 64 56 86]; 484s assert (imresize (uint8 (in), 1/3, "bicubic", "Antialiasing", false), uint8 (out), 1) 484s 484s out = [115 135 97 101 484s 113 119 124 125 484s 81 157 118 64]; 484s assert (imresize (uint8 (in), 1/3, "bicubic", "Antialiasing", true), uint8 (out), 1) 484s ***** test 484s 484s in = checkerboard (1, [2 2]); 484s out = [0.5 0.35 484s 0.5 0.35]; 484s assert ( imresize (in, 0.5, "bilinear", "Antialiasing", false), out) 484s ***** test 484s 484s in = ones (2) + 1i; 484s out_nearest = imresize (in, 1.5, "nearest"); 484s assert (out_nearest, ones (3) + 1i); 484s out_linear = imresize (in, 1.5, "linear"); 484s assert (out_linear, ones (3) + 1i); 484s out_cubic = imresize (in, 1.5, "cubic"); 484s assert (out_cubic, ones (3) + 1i, 1e-14); 484s ***** test 484s 484s in = cat (3, 10, 10, 10); 484s expected = 10 * ones (2, 2, 3); # consistent with MATLAB behaviour 484s 484s out_nearest = imresize (in, [2, 2], "nearest"); 484s assert (out_nearest, expected); 484s out_linear = imresize (in, [2, 2], "linear"); 484s assert (out_linear, expected); 484s out_cubic = imresize (in, [2, 2], "cubic"); 484s assert (out_cubic, expected); 484s ***** test 484s 484s in_row = cat(3, [10,6], [10,6], [10,6]); 484s 484s plane_expected_nearest = [1; 1; 1] * [10, 10, 6, 6]; 484s out_expected = cat (3, plane_expected_nearest, plane_expected_nearest, plane_expected_nearest); 484s out_nearest = imresize (in_row, [3, 4], "nearest"); 484s assert (out_nearest, out_expected); 484s 484s plane_expected_linear = [1; 1; 1] * [10, 8, 6]; 484s out_expected = cat (3, plane_expected_linear, plane_expected_linear, plane_expected_linear); 484s out_linear = imresize (in_row, [3, 3], "linear"); 484s assert (out_linear, out_expected); 484s 484s plane_expected_cubic = [1; 1; 1] * [10.27777777777777, 8, 5.72222222222222]; # values from MATLAB 484s out_expected = cat (3, plane_expected_cubic, plane_expected_cubic, plane_expected_cubic); 484s out_cubic = imresize (in_row, [3, 3], "cubic"); 484s assert (out_cubic, out_expected, 1e-13); 484s 484s in_col = cat(3, [10;6], [10;6], [10;6]); 484s 484s plane_expected_nearest = [10; 10; 6; 6] * [1, 1, 1]; 484s out_expected = cat (3, plane_expected_nearest, plane_expected_nearest, plane_expected_nearest); 484s out_nearest = imresize (in_col, [4, 3], "nearest"); 484s assert (out_nearest, out_expected); 484s 484s plane_expected_linear = [10; 8; 6] * [1, 1, 1]; 484s out_expected = cat (3, plane_expected_linear, plane_expected_linear, plane_expected_linear); 484s out_linear = imresize (in_col, [3, 3], "linear"); 484s assert (out_linear, out_expected); 484s 484s plane_expected_cubic = [10.27777777777777; 8; 5.72222222222222] * [1, 1, 1]; # values from MATLAB 484s out_expected = cat (3, plane_expected_cubic, plane_expected_cubic, plane_expected_cubic); 484s out_cubic = imresize (in_col, [3, 3], "cubic"); 484s assert (out_cubic, out_expected, 1e-13); 484s ***** #test 484s r_big_int16 = randi(16000, 8000, 8000, "int16"); 484s r_big_double = randi(16000, 8000, 8000); 484s tic; imresize (r_big_int16, 100/8000); toc; 484s tic; imresize (r_big_double, 100/8000); toc; 484s 484s r_small_int16 = randi(16000, 100, 100, "int16"); 484s r_small_double = randi(16000, 100, 100); 484s tic; imresize (r_small_int16, 8000/100); toc; 484s tic; imresize (r_small_double, 8000/100); toc; 484s 13 tests, 13 passed, 0 known failure, 0 skipped 484s [inst/imtophat.m] 484s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imtophat.m 484s ***** assert (imtophat (ones (3), [1 1; 0 1]), zeros (3)); 484s ***** assert (imtophat (true (3), [1 1; 0 1]), false (3)); 484s ***** shared in, out, se 484s in = [ 0 0 0 1 1 1 0 0 1 1 484s 0 1 0 1 1 1 0 0 0 1 484s 1 1 1 1 1 0 0 0 0 0 484s 0 1 1 1 1 0 0 0 0 0 484s 0 0 0 1 0 0 0 0 1 0 484s 0 0 0 0 0 0 0 1 1 1 484s 0 0 0 0 1 0 1 0 1 0 484s 0 0 0 1 1 1 1 1 0 0 484s 0 0 0 0 1 1 1 0 0 0 484s 0 0 0 1 1 1 0 0 0 0]; 484s 484s out = [ 0 0 0 0 0 0 0 0 1 1 484s 0 1 0 0 0 0 0 0 0 1 484s 1 1 1 1 1 0 0 0 0 0 484s 0 1 1 1 1 0 0 0 0 0 484s 0 0 0 1 0 0 0 0 1 0 484s 0 0 0 0 0 0 0 1 1 1 484s 0 0 0 0 1 0 1 0 1 0 484s 0 0 0 1 1 1 1 1 0 0 484s 0 0 0 0 1 1 1 0 0 0 484s 0 0 0 1 1 1 0 0 0 0]; 484s ***** assert (imtophat (logical (in), ones (3)), logical (out)); 484s 484s out = [12 19 0 0 0 16 23 0 7 0 484s 18 0 0 6 1 19 0 2 9 1 484s 0 74 81 12 7 0 1 8 15 7 484s 68 70 2 14 0 6 7 14 16 0 484s 69 76 8 0 0 7 14 21 0 1 484s 0 7 59 54 61 13 20 0 0 32 484s 18 0 69 60 62 19 0 0 0 27 484s 73 0 0 66 68 0 1 6 6 33 484s 0 0 17 19 1 0 2 9 7 14 484s 1 6 23 0 7 1 8 15 0 32]; 484s ***** assert (imtophat (magic (10), ones (3)), out); 484s ***** assert (imtophat (uint8 (magic (10)), strel ("square", 3)), uint8 (out)); 484s 484s ## using a se that will be decomposed in 2 pieces 484s out =[91 98 0 0 0 27 34 11 18 0 484s 94 76 3 6 1 33 15 17 24 1 484s 0 77 84 12 7 14 16 23 30 7 484s 80 82 14 18 0 32 34 41 43 0 484s 81 88 20 0 0 33 40 47 24 6 484s 12 19 63 57 64 16 23 0 7 39 484s 18 0 69 60 62 19 1 3 12 39 484s 73 0 0 66 68 0 2 9 18 45 484s 4 6 81 67 49 6 8 15 19 26 484s 5 12 87 48 55 7 14 21 0 32]; 484s ***** assert (imtophat (magic (10), ones(5)), out); 484s 484s ## using a weird non-symmetric and even-size se 484s out =[85 92 0 0 0 12 23 0 17 0 484s 91 73 0 6 0 18 0 2 13 0 484s 0 72 81 13 6 0 1 9 15 0 484s 60 62 10 12 0 8 8 17 17 0 484s 61 69 0 0 0 28 16 41 0 0 484s 0 0 47 52 61 12 16 0 0 31 484s 6 0 53 58 60 17 0 0 0 33 484s 69 0 0 60 62 0 0 6 0 33 484s 0 0 17 60 42 0 2 13 1 8 484s 0 6 23 0 7 0 7 15 0 14]; 484s ***** assert (imtophat (magic (10), [1 0 0 0; 1 1 1 0; 0 1 0 1]), out); 484s 484s ## N dimensional and weird se 484s in = reshape (magic(16), [4 8 4 2]); 484s se = ones (3, 3, 3); 484s se(:,:,1) = [1 0 1; 0 1 1; 0 0 0]; 484s se(:,:,3) = [1 0 1; 0 1 1; 0 0 1]; 484s out = zeros (size (in)); 484s out(:,:,1,1) = [ 484s 239 146 82 18 0 19 83 133 484s 0 35 99 163 219 128 64 0 484s 0 46 128 195 187 123 59 0 484s 157 93 47 0 14 78 142 211]; 484s out(:,:,2,1) = [ 484s 0 21 85 149 233 146 64 0 484s 205 128 64 0 0 41 87 151 484s 171 107 57 0 0 64 121 185 484s 0 64 142 213 169 105 41 0]; 484s out(:,:,3,1) = [ 484s 231 146 78 14 0 27 77 137 484s 0 43 107 167 211 128 64 0 484s 0 46 128 199 179 119 51 0 484s 149 85 39 0 18 78 142 219]; 484s out(:,:,4,1) = [ 484s 0 29 93 157 225 128 64 0 484s 197 128 64 0 0 31 95 159 484s 163 99 53 0 0 61 125 189 484s 0 64 146 221 161 97 33 0]; 484s out(:,:,1,2) = [ 484s 223 146 82 18 0 35 99 149 484s 0 48 115 179 203 128 64 0 484s 0 46 128 211 171 107 43 0 484s 141 77 31 0 14 78 142 227]; 484s out(:,:,2,2) = [ 484s 0 37 101 165 217 146 64 0 484s 189 125 64 0 0 57 103 167 484s 155 91 41 0 0 64 128 201 484s 0 64 142 229 153 89 25 0]; 484s out(:,:,3,2) = [ 484s 215 146 78 14 0 43 93 153 484s 0 48 123 183 195 128 64 0 484s 0 46 128 215 163 103 35 0 484s 133 69 23 0 18 78 142 235]; 484s out(:,:,4,2) = [ 484s 0 45 109 173 209 128 64 0 484s 181 117 64 0 0 47 111 175 484s 147 83 37 0 0 64 128 205 484s 0 64 146 237 145 81 17 0]; 484s ***** assert (imtophat (in, se), out); 484s 8 tests, 8 passed, 0 known failure, 0 skipped 484s [inst/xyz2lab.m] 484s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/xyz2lab.m 484s ***** assert (xyz2lab ([0, 0, 0]), [0 0 0], 5e-2) 484s ***** assert (xyz2lab ([0.4125, 0.2127, 0.0193]), [53.24, 80.09, 67.20], 5e-2) 484s ***** assert (xyz2lab ([0.7700, 0.9278, 0.1385]), [97.14, -21.55, 94.48], 5e-2) 484s ***** assert (xyz2lab ([0.3576, 0.7152, 0.1192]), [87.74, -86.18, 83.18], 5e-2) 484s ***** assert (xyz2lab ([0.5380, 0.7873, 1.0694]), [91.11, -48.09, -14.13], 5e-2) 484s ***** assert (xyz2lab ([0.1804, 0.07217, 0.9502]), [32.30, 79.19, -107.86], 5e-2) 484s ***** assert (xyz2lab ([0.5929, 0.28484, 0.9696]), [60.32, 98.24, -60.83], 5e-2) 484s ***** assert (xyz2lab ([0.9505, 1.0000, 1.0888]), [100, 0.00, 0.00], 5e-2) 484s ***** assert (xyz2lab ([0.2034, 0.2140, 0.2330]), [53.39, 0.00, 0.00], 5e-2) 484s ***** assert (xyz2lab ([0.2155, 0.1111, 0.0101]), [39.77, 64.51, 54.13], 5e-2) 484s ***** assert (xyz2lab ([0.0883, 0.0455, 0.0041]), [25.42, 47.91, 37.91], 5e-2) 484s ***** assert (xyz2lab ([0.02094, 0.0108, 0.00098]), [9.66, 29.68, 15.24], 5e-2) 484s ***** assert (xyz2lab ([0.5276, 0.3812, 0.2482]), [68.11, 48.39, 22.83], 5e-2) 484s ***** assert (xyz2lab ([1.5 1 1]), [100, 82.15, 5.60], 5e-2) 484s xyz_map = rand (64, 3); 484s assert (lab2xyz (xyz2lab (xyz_map)), xyz_map, 1e-5); 484s ***** test 484s xyz_img = rand (64, 64, 3); 484s assert (lab2xyz (xyz2lab (xyz_img)), xyz_img, 1e-5); 484s ***** assert (xyz2lab (sparse ([0 0 0])), [0 0 0], 5e-2) 484s ***** assert (class (xyz2lab (single([0.5 0.5 0.5]))), 'single') 484s ***** error xyz2lab () 484s ***** error xyz2lab (1,2) 484s ***** error xyz2lab ({1}) 484s ***** error xyz2lab (ones (2,2)) 484s ***** test 484s xyz = rand (16, 16, 3, 5); 484s lab = zeros (size (xyz)); 484s for i = 1:5 484s lab(:,:,:,i) = xyz2lab (xyz(:,:,:,i)); 484s endfor 484s assert (xyz2lab (xyz), lab) 484s 22 tests, 22 passed, 0 known failure, 0 skipped 484s [inst/imopen.m] 484s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imopen.m 484s ***** shared in, out 484s in = [ 0 0 0 1 1 1 0 0 1 1 484s 0 1 0 1 1 1 0 0 0 1 484s 1 1 1 1 1 0 0 0 0 0 484s 0 1 1 1 1 0 0 0 0 0 484s 0 0 0 1 0 0 0 0 1 0 484s 0 0 0 0 0 0 0 1 1 1 484s 0 0 0 0 1 0 1 0 1 0 484s 0 0 0 1 1 1 1 1 0 0 484s 0 0 0 0 1 1 1 0 0 0 484s 0 0 0 1 1 1 0 0 0 0]; 484s 484s out = [ 0 0 0 1 1 1 0 0 0 0 484s 0 0 0 1 1 1 0 0 0 0 484s 0 0 0 0 0 0 0 0 0 0 484s 0 0 0 0 0 0 0 0 0 0 484s 0 0 0 0 0 0 0 0 0 0 484s 0 0 0 0 0 0 0 0 0 0 484s 0 0 0 0 0 0 0 0 0 0 484s 0 0 0 0 0 0 0 0 0 0 484s 0 0 0 0 0 0 0 0 0 0 484s 0 0 0 0 0 0 0 0 0 0]; 484s ***** assert (imopen (logical (in), ones (3)), logical (out)); 484s 484s out = [80 80 1 8 15 51 51 51 51 40 484s 80 80 7 8 15 54 55 55 55 40 484s 4 7 7 8 15 54 55 55 55 40 484s 17 17 17 7 3 54 55 55 55 28 484s 17 17 17 2 9 54 54 54 52 33 484s 17 17 17 29 29 29 29 26 33 33 484s 5 5 13 29 29 29 30 32 39 39 484s 6 6 13 29 29 29 30 32 39 39 484s 10 12 77 77 77 35 35 35 39 39 484s 10 12 77 77 77 35 35 35 27 27]; 484s ***** assert (imopen (magic (10), ones (3)), out); 484s ***** assert (imopen (uint8 (magic (10)), strel ("square", 3)), uint8 (out)); 484s 484s ## using a se that will be decomposed in 2 pieces 484s out =[ 1 1 1 8 15 40 40 40 40 40 484s 4 4 4 8 15 40 40 40 40 40 484s 4 4 4 8 15 40 40 40 40 40 484s 5 5 5 3 3 28 28 28 28 28 484s 5 5 5 2 9 28 28 28 28 28 484s 5 5 13 26 26 26 26 26 26 26 484s 5 5 13 29 29 29 29 29 27 27 484s 6 6 13 29 29 29 29 29 27 27 484s 6 6 13 29 29 29 29 29 27 27 484s 6 6 13 29 29 29 29 29 27 27]; 484s ***** assert (imopen (magic (10), ones(5)), out); 484s 484s ## using a weird non-symmetric and even-size se 484s out =[ 7 7 1 8 15 55 51 51 41 40 484s 7 7 7 8 16 55 55 55 51 41 484s 4 9 7 7 16 54 55 54 55 47 484s 25 25 9 9 3 52 54 52 54 28 484s 25 24 25 2 9 33 52 34 52 34 484s 17 24 29 31 29 30 33 26 33 34 484s 17 5 29 31 31 31 30 32 39 33 484s 10 6 13 35 35 29 31 32 45 39 484s 10 12 77 36 36 35 35 31 45 45 484s 11 12 77 77 77 36 36 35 27 45]; 484s ***** assert (imopen (magic (10), [1 0 0 0; 1 1 1 0; 0 1 0 1]), out); 484s 5 tests, 5 passed, 0 known failure, 0 skipped 484s [inst/im2uint16.m] 484s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/im2uint16.m 484s ***** assert (im2uint16 (uint16 ([1 2 3])), uint16 ([1 2 3])); 484s ***** assert (im2uint16 (uint8 ([0 127 128 255])), uint16 ([0 32639 32896 65535])); 484s ***** assert (im2uint16 ([0 0.5 1]), uint16 ([0 32768 65535])); 484s ***** assert (im2uint16 ([0 1/65535 1.4/65535 1.5/65535 1]), uint16 ([0 1 1 2 65535])); 484s ***** assert (im2uint16 ([1 2]), uint16 ([65535 65535])); 484s ***** assert (im2uint16 ([-1 0 0.5 1]), uint16 ([0 0 32768 65535])); 484s ***** assert (im2uint16 (int16 ([-32768 -1 0 32768])), uint16 ([0 32767 32768 65535])); 484s ***** assert (im2uint16 ([false true]), uint16 ([0 65535])); 484s ***** assert (im2uint16 ([true false]), uint16 ([65535 0])); 484s ***** assert (im2uint16 (uint8 ([3 25]), "indexed"), uint16 ([3 25])); 484s ***** assert (im2uint16 ([1 3 25], "indexed"), uint16 ([0 2 24])); 484s ***** error im2uint16 ([0 1 2], "indexed"); 484s ***** error im2uint16 (int16 ([17 8]), "indexed"); 484s ***** error im2uint16 (int16 ([-7 8]), "indexed"); 484s ***** error im2uint16 ([false true], "indexed"); 484s ***** error im2uint16 (65537, "indexed"); 484s 16 tests, 16 passed, 0 known failure, 0 skipped 484s [inst/@imref3d/imref3d.m] 484s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/@imref3d/imref3d.m 484s ***** error id=Octave:invalid-fun-call imref3d (1, 2, 3, 4, 5) 484s ***** error id=Octave:incorrect-size imref3d (42) 484s ***** error id=Octave:incorrect-size imref3d ([42]) 484s ***** error id=Octave:incorrect-size imref3d ([4, 2]) 484s ***** error id=Octave:incorrect-size imref3d ([4, 2, 3, 3]) 484s ***** error id=Octave:expected-integer imref3d ([4.2, 42]) 484s ***** error id=Octave:expected-positive imref3d ([0, 0]) 484s ***** error id=Octave:expected-positive imref3d ([-4, 2]) 484s ***** error id=Octave:expected-positive imref3d ([4, 2, 3], 0, 1, 2) 484s ***** error id=Octave:expected-positive imref3d ([4, 2, 3], 1, 0, 2) 484s ***** error id=Octave:expected-positive imref3d ([4, 2, 3], 1, 2, 0) 484s ***** error id=Octave:expected-real imref3d ([4, 2, 3], j, 1, 2) 484s ***** error id=Octave:expected-real imref3d ([4, 2, 3], 1, j, 2) 484s ***** error id=Octave:expected-real imref3d ([4, 2, 3], 1, 2, j) 484s ***** error id=Octave:expected-real imref3d ([4, 2, 3], [j, 2], [3, 4], [5, 6]) 484s ***** error id=Octave:expected-real imref3d ([4, 2, 3], [1, 2], [j, 4], [5, 6]) 484s ***** error id=Octave:expected-real imref3d ([4, 2, 3], [1, 2], [3, 4], [5, j]) 484s ***** error id=Octave:expected-vector imref3d ([4, 2, 3], [], [], []) 484s ***** error id=Octave:expected-vector imref3d ([4, 2, 3], [], [1], [2]) 484s ***** error id=Octave:expected-scalar imref3d ([4, 2, 3], [1], [], []) 484s ***** error id=Octave:incorrect-size imref3d ([4, 2, 3], [1, 2], [3, 4], [0]) 484s ***** error id=Octave:incorrect-size imref3d ([4, 2, 3], [1, 2], [3, 4, 5], [6, 7]) 484s ***** error id=Octave:incorrect-size imref3d ([4, 2, 3], [1, 2], [3, 4], [5, 6, 7]) 484s ***** error id=Octave:incorrect-size imref3d ([4, 2, 3], [1; 2], [3, 4], [5, 6]) 484s ***** error id=Octave:incorrect-size imref3d ([4, 2, 3], [1, 2], [3; 4], [5, 6]) 484s ***** error id=Octave:incorrect-size imref3d ([4, 2, 3], [1, 2], [3, 4], [5; 6]) 484s ***** error id=Octave:invalid-indexing imref3d().InvalidProperty 484s ***** error id=Octave:expected-increasing imref3d ([100, 200, 3], [1.5 0.5], [2.5, 3.5], [0.5, 1.5]) 484s ***** error id=Octave:expected-increasing imref3d ([100, 200, 3], [1.5 2.5], [2.5, 1.5], [0.5, 1.5]) 484s ***** error id=Octave:expected-increasing imref3d ([100, 200, 3], [1.5 2.5], [2.5, 3.5], [1.5, 0.5]) 484s ***** assert (imref3d ([4, 2, 3]).ImageSize, [4, 2, 3]) 484s ***** test 484s r = imref3d; 484s assert (r.XWorldLimits, [0.5, 2.5]) 484s assert (r.YWorldLimits, [0.5, 2.5]) 484s assert (r.ZWorldLimits, [0.5, 2.5]) 484s assert (r.ImageSize, [2, 2, 2]) 484s assert (r.PixelExtentInWorldX, 1) 484s assert (r.PixelExtentInWorldY, 1) 484s assert (r.PixelExtentInWorldZ, 1) 484s assert (r.ImageExtentInWorldX, 2) 484s assert (r.ImageExtentInWorldY, 2) 484s assert (r.ImageExtentInWorldZ, 2) 484s assert (r.XIntrinsicLimits, [0.5, 2.5]) 484s assert (r.YIntrinsicLimits, [0.5, 2.5]) 484s assert (r.ZIntrinsicLimits, [0.5, 2.5]) 484s ***** test 484s r = imref3d ([128, 128, 27]); 484s assert (r.XWorldLimits, [0.5, 128.5]) 484s assert (r.YWorldLimits, [0.5, 128.5]) 484s assert (r.ZWorldLimits, [0.5, 27.5]) 484s assert (r.ImageSize, [128, 128, 27]) 484s assert (r.PixelExtentInWorldX, 1) 484s assert (r.PixelExtentInWorldY, 1) 484s assert (r.PixelExtentInWorldZ, 1) 484s assert (r.ImageExtentInWorldX, 128) 484s assert (r.ImageExtentInWorldY, 128) 484s assert (r.ImageExtentInWorldZ, 27) 484s assert (r.XIntrinsicLimits, [0.5, 128.5]) 484s assert (r.YIntrinsicLimits, [0.5, 128.5]) 484s assert (r.ZIntrinsicLimits, [0.5, 27.5]) 484s ***** test 484s r = imref3d ([128, 128, 27], 2, 2, 4); 484s assert (r.XWorldLimits, [1, 257]) 484s assert (r.YWorldLimits, [1, 257]) 484s assert (r.ZWorldLimits, [2, 110]) 484s assert (r.ImageSize, [128, 128, 27]) 484s assert (r.PixelExtentInWorldX, 2) 484s assert (r.PixelExtentInWorldY, 2) 484s assert (r.PixelExtentInWorldZ, 4) 484s assert (r.ImageExtentInWorldX, 256) 484s assert (r.ImageExtentInWorldY, 256) 484s assert (r.ImageExtentInWorldZ, 108) 484s assert (r.XIntrinsicLimits, [0.5, 128.5]) 484s assert (r.YIntrinsicLimits, [0.5, 128.5]) 484s assert (r.ZIntrinsicLimits, [0.5, 27.5]) 484s ***** test 484s r = imref3d; 484s assert (r.XWorldLimits, [0.5, 2.5]) 484s assert (r.YWorldLimits, [0.5, 2.5]) 484s assert (r.ZWorldLimits, [0.5, 2.5]) 484s assert (r.ImageSize, [2, 2, 2]) 484s assert (r.PixelExtentInWorldX, 1) 484s assert (r.PixelExtentInWorldY, 1) 484s assert (r.PixelExtentInWorldZ, 1) 484s assert (r.ImageExtentInWorldX, 2) 484s assert (r.ImageExtentInWorldY, 2) 484s assert (r.ImageExtentInWorldZ, 2) 484s assert (r.XIntrinsicLimits, [0.5, 2.5]) 484s assert (r.YIntrinsicLimits, [0.5, 2.5]) 484s assert (r.ZIntrinsicLimits, [0.5, 2.5]) 484s r.ImageSize = [128, 128, 27]; 484s assert (r.XWorldLimits, [0.5, 2.5]) 484s assert (r.YWorldLimits, [0.5, 2.5]) 484s assert (r.ZWorldLimits, [0.5, 2.5]) 484s assert (r.ImageSize, [128, 128, 27]) 484s assert (r.PixelExtentInWorldX, 0.015625, 1e-6) 484s assert (r.PixelExtentInWorldY, 0.015625, 1e-6) 484s assert (r.PixelExtentInWorldZ, 0.074074, 1e-6) 484s assert (r.ImageExtentInWorldX, 2) 484s assert (r.ImageExtentInWorldY, 2) 484s assert (r.ImageExtentInWorldZ, 2) 484s assert (r.XIntrinsicLimits, [0.5, 128.5]) 484s assert (r.YIntrinsicLimits, [0.5, 128.5]) 484s assert (r.ZIntrinsicLimits, [0.5, 27.5]) 485s ***** test 485s r = imref3d; 485s assert (r.XWorldLimits, [0.5, 2.5]) 485s assert (r.YWorldLimits, [0.5, 2.5]) 485s assert (r.ZWorldLimits, [0.5, 2.5]) 485s assert (r.ImageSize, [2, 2, 2]) 485s assert (r.PixelExtentInWorldX, 1) 485s assert (r.PixelExtentInWorldY, 1) 485s assert (r.PixelExtentInWorldZ, 1) 485s assert (r.ImageExtentInWorldX, 2) 485s assert (r.ImageExtentInWorldY, 2) 485s assert (r.ImageExtentInWorldZ, 2) 485s assert (r.XIntrinsicLimits, [0.5, 2.5]) 485s assert (r.YIntrinsicLimits, [0.5, 2.5]) 485s assert (r.ZIntrinsicLimits, [0.5, 2.5]) 485s r.XWorldLimits = [-60, 13.33]; 485s r.YWorldLimits = [-900.8, -560.26]; 485s r.ZWorldLimits = [-302.48, 1500.333]; 485s assert (r.XWorldLimits, [-60, 13.33]) 485s assert (r.YWorldLimits, [-900.8, -560.26]) 485s assert (r.ZWorldLimits, [-302.48, 1500.333]) 485s assert (r.ImageSize, [2, 2, 2]) 485s assert (r.PixelExtentInWorldX, 36.6650) 485s assert (r.PixelExtentInWorldY, 170.27, 1e-5) 485s assert (r.PixelExtentInWorldZ, 901.4065) 485s assert (r.ImageExtentInWorldX, 73.33, 1e-5) 485s assert (r.ImageExtentInWorldY, 340.54, 1e-5) 485s assert (r.ImageExtentInWorldZ, 1802.813, 1e-5) 485s assert (r.XIntrinsicLimits, [0.5, 2.5]) 485s assert (r.YIntrinsicLimits, [0.5, 2.5]) 485s assert (r.ZIntrinsicLimits, [0.5, 2.5]) 485s ***** test 485s r = imref3d; 485s fail ("r.XWorldLimits = []", "") 485s fail ("r.XWorldLimits = [1]", "") 485s fail ("r.XWorldLimits = [j]", "") 485s fail ("r.XWorldLimits = [1; 2]", "") 485s fail ("r.YWorldLimits = []", "") 485s fail ("r.YWorldLimits = [1]", "") 485s fail ("r.YWorldLimits = [j]", "") 485s fail ("r.YWorldLimits = [1; 2]", "") 485s fail ("r.ZWorldLimits = []", "") 485s fail ("r.ZWorldLimits = [1]", "") 485s fail ("r.ZWorldLimits = [j]", "") 485s fail ("r.ZWorldLimits = [1; 2]", "") 485s 37 tests, 37 passed, 0 known failure, 0 skipped 485s [inst/@imref3d/worldToSubscript.m] 485s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/@imref3d/worldToSubscript.m 485s ***** error id=Octave:invalid-fun-call worldToSubscript (imref3d) 485s ***** error id=Octave:invalid-fun-call worldToSubscript (imref3d, 1) 485s ***** error id=Octave:invalid-fun-call worldToSubscript (imref3d, 1, 2) 485s ***** error id=Octave:invalid-fun-call worldToSubscript (imref3d, 1, 2, 3, 4) 485s ***** error id=Octave:expected-real worldToSubscript (imref3d, 1j, 2, 3) 485s ***** error id=Octave:expected-real worldToSubscript (imref3d, 1, 2j, 3) 485s ***** error id=Octave:expected-real worldToSubscript (imref3d, 1, 2, 3j) 485s ***** error id=Octave:invalid-input-arg worldToSubscript (imref3d, [1, 2], 3, 4) 485s ***** error id=Octave:invalid-input-arg worldToSubscript (imref3d, 1, [2, 3], 4) 485s ***** error id=Octave:invalid-input-arg worldToSubscript (imref3d, 1, 2, [3, 4]) 485s ***** test 485s r = imref3d ([128, 128, 27], 2, 2, 4); 485s xW = [108, 108, 113.2, 2]; 485s yW = [92, 92, 92, -1]; 485s zW = [52, 55, 52, 0.33]; 485s [rS, cS, pS] = worldToSubscript (r, xW, yW, zW); 485s assert (rS, [46, 46, 46, NaN]) 485s assert (cS, [54, 54, 57, NaN]) 485s assert (pS, [13, 14, 13, NaN]) 485s 11 tests, 11 passed, 0 known failure, 0 skipped 485s [inst/@imref3d/intrinsicToWorld.m] 485s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/@imref3d/intrinsicToWorld.m 485s ***** error id=Octave:invalid-fun-call intrinsicToWorld (imref3d) 485s ***** error id=Octave:invalid-fun-call intrinsicToWorld (imref3d, 1) 485s ***** error id=Octave:invalid-fun-call intrinsicToWorld (imref3d, 1, 2) 485s ***** error id=Octave:invalid-fun-call intrinsicToWorld (imref3d, 1, 2, 3, 4) 485s ***** error id=Octave:expected-real intrinsicToWorld (imref3d, 1j, 2, 3) 485s ***** error id=Octave:expected-real intrinsicToWorld (imref3d, 1, 2j, 3) 485s ***** error id=Octave:expected-real intrinsicToWorld (imref3d, 1, j, 3j) 485s ***** error id=Octave:invalid-input-arg intrinsicToWorld (imref3d, [1, 2], 3, 4) 485s ***** error id=Octave:invalid-input-arg intrinsicToWorld (imref3d, 1, [2, 3], 4) 485s ***** error id=Octave:invalid-input-arg intrinsicToWorld (imref3d, 1, 2, [3, 4]) 485s ***** test 485s r = imref3d ([128, 128, 27], 2, 2, 4); 485s xI = [54, 71, 57, 70]; 485s yI = [46, 48, 79, 80]; 485s zI = [13, 13, 13, 13]; 485s [xW, yW, zW] = intrinsicToWorld (r, xI, yI, zI); 485s assert (xW, [108, 142, 114, 140]) 485s assert (yW, [92, 96, 158, 160]) 485s assert (zW, [52, 52, 52, 52]) 485s ***** test 485s [xW, yW, zW] = intrinsicToWorld (imref3d, -5.3, -2.8, -15.88); 485s assert (xW, -5.3) 485s assert (yW, -2.8) 485s assert (zW, -15.88, 1e-6) 485s ***** test 485s [xW, yW, zW] = intrinsicToWorld (imref3d, [1, 2; 3, 4], 485s [2, 3; 5, 9], 485s [-5, 8; 19, 42.8]); 485s assert (xW, [1, 2; 3, 4]) 485s assert (yW, [2, 3; 5, 9]) 485s assert (zW, [-5, 8; 19, 42.8]) 485s 13 tests, 13 passed, 0 known failure, 0 skipped 485s [inst/@imref3d/contains.m] 485s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/@imref3d/contains.m 485s ***** error id=Octave:invalid-fun-call contains (imref3d) 486s ***** error id=Octave:invalid-fun-call contains (imref3d, 1) 486s ***** error id=Octave:invalid-fun-call contains (imref3d, 1, 2) 486s ***** error id=Octave:invalid-fun-call contains (imref3d, 1, 2, 3, 4) 486s ***** error id=Octave:invalid-input-arg contains (imref3d, [1, 2], 3, 4) 486s ***** error id=Octave:invalid-input-arg contains (imref3d, 1, [2, 3], 4) 486s ***** error id=Octave:invalid-input-arg contains (imref3d, 1, 2, [3, 4]) 486s ***** error id=Octave:expected-real contains (imref3d, 1j, 2, 3) 486s ***** error id=Octave:expected-real contains (imref3d, 1, 2j, 3) 486s ***** error id=Octave:expected-real contains (imref3d, 1, 2, 3j) 486s ***** test 486s r = imref3d ([128, 128, 27]); 486s assert (contains (r, [5, 6, 6, 8], [5, 10, 10, 257], [1, 27.5, 28, 1]), logical ([1, 1, 0, 0])) 486s 11 tests, 11 passed, 0 known failure, 0 skipped 486s [inst/@imref3d/worldToIntrinsic.m] 486s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/@imref3d/worldToIntrinsic.m 486s ***** error id=Octave:invalid-fun-call worldToIntrinsic (imref3d) 486s ***** error id=Octave:invalid-fun-call worldToIntrinsic (imref3d, 1, 2) 486s ***** error id=Octave:invalid-fun-call worldToIntrinsic (imref3d, 1, 2, 3, 4) 486s ***** error id=Octave:expected-real worldToIntrinsic (imref3d, 1j, 2, 3) 486s ***** error id=Octave:expected-real worldToIntrinsic (imref3d, 1, 2j, 3) 486s ***** error id=Octave:expected-real worldToIntrinsic (imref3d, 1, 2, 3j) 486s ***** error id=Octave:invalid-input-arg worldToIntrinsic (imref3d, [1, 2], 3, 4) 486s ***** error id=Octave:invalid-input-arg worldToIntrinsic (imref3d, 1, [2, 3], 4) 486s ***** error id=Octave:invalid-input-arg worldToIntrinsic (imref3d, 1, 2, [3, 4]) 486s ***** test 486s r = imref3d ([128, 128, 27], 2, 2, 4); 486s xW = [108, 108, 108.2, 2]; 486s yW = [92, 92, 92, -1]; 486s zW = [52, 55, 52, 0.33]; 486s [xI, yI, zI] = worldToIntrinsic (r, xW, yW, zW); 486s assert (xI, [54, 54, 54.1, 1], 1e-6) 486s assert (yI, [46, 46, 46, -0.5], 1e-6) 486s assert (zI, [13, 13.75, 13, 0.0825], 1e-6) 486s 10 tests, 10 passed, 0 known failure, 0 skipped 486s [inst/bwmorph.m] 486s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/bwmorph.m 486s ***** demo 486s bwmorph (true (11), "shrink", Inf) 486s # Should return 0 matrix with 1 pixel set to 1 at (6,6) 486s ***** test 486s slBW = logical ([ 0 0 0 0 0 0 0 486s 0 1 0 0 0 0 0 486s 0 0 1 1 0 0 0 486s 0 0 1 1 0 0 0 486s 0 0 1 1 1 0 0 486s 0 0 1 1 1 0 0 486s 0 1 1 1 1 1 0 486s 0 1 1 1 1 1 0 486s 0 1 1 1 1 1 0 486s 0 1 1 1 1 1 0 486s 0 1 1 1 1 1 0 486s 0 0 0 0 0 0 0]); 486s 486s rslBW = logical ([ 0 0 0 0 0 0 0 486s 0 1 0 0 0 0 0 486s 0 0 1 1 0 0 0 486s 0 0 1 1 0 0 0 486s 0 0 0 0 0 0 0 486s 0 0 0 1 0 0 0 486s 0 0 0 1 0 0 0 486s 0 0 0 0 0 0 0 486s 0 0 0 1 0 0 0 486s 0 0 0 0 0 0 0 486s 0 0 0 0 0 0 0 486s 0 0 0 0 0 0 0]); 486s assert (bwmorph (slBW, "skel-lantuejoul", 1), [rslBW(1:5,:); false(7, 7)]); 486s assert (bwmorph (slBW, "skel-lantuejoul", 2), [rslBW(1:8,:); false(4, 7)]); 486s assert (bwmorph (slBW, "skel-lantuejoul", 3), rslBW); 486s assert (bwmorph (slBW, "skel-lantuejoul", Inf), rslBW); 486s ***** test 486s bw = [ 486s 0 1 1 1 1 1 486s 0 1 1 1 1 1 486s 0 1 1 1 1 1 486s 1 1 1 1 1 1 486s 1 1 1 1 1 1 486s 1 1 1 1 1 1 486s 1 1 1 1 1 0 486s 1 1 1 1 1 0 486s 1 1 1 1 1 0]; 486s 486s final = logical ([ 486s 0 1 0 0 0 1 486s 0 0 1 0 1 0 486s 0 0 0 1 0 0 486s 0 0 0 1 0 0 486s 0 0 1 1 0 0 486s 0 0 1 0 0 0 486s 0 0 1 0 0 0 486s 0 1 0 1 0 0 486s 1 0 0 0 1 0]); 486s assert (bwmorph (bw, "skel", Inf), final) 486s assert (bwmorph (bw, "skel", 3), final) 486s ***** error bwmorph ("not a matrix", "dilate") 486s ***** assert (bwmorph (magic (10), "dilate"), imdilate (logical (magic (10)), ones (3))); 486s ***** test 486s in = logical ([1 1 0 0 1 0 1 0 0 0 1 1 1 0 1 1 0 1 0 0 486s 1 1 1 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 0 0 486s 0 1 1 1 0 1 1 0 0 0 1 1 0 0 1 1 0 0 1 0 486s 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 486s 0 1 0 0 1 1 0 1 1 0 0 0 0 0 1 1 0 0 1 0 486s 0 0 1 1 1 1 1 0 0 1 0 1 1 1 0 0 1 0 0 1 486s 0 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 1 0 0 486s 1 0 1 1 1 0 1 1 0 1 0 0 1 1 1 0 0 1 0 0 486s 1 0 1 1 1 0 1 0 0 1 0 0 1 1 0 0 1 1 1 0 486s 1 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 486s 1 1 1 1 1 1 0 1 0 1 0 0 0 0 0 0 1 0 1 1 486s 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 486s 0 0 1 1 0 1 1 1 1 0 0 1 0 0 0 0 1 0 1 1 486s 0 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 0 0 486s 0 0 1 0 0 0 0 0 0 1 0 0 1 1 1 1 0 0 0 0 486s 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 486s 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 486s 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 1 1 1 486s 0 0 1 1 0 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 486s 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 1]); 486s se = strel ("arbitrary", ones (3)); 486s 486s assert (bwmorph (in, "dilate"), imdilate (in, se)); 486s assert (bwmorph (in, "dilate", 3), imdilate (imdilate (imdilate (in, se), se), se)); 486s assert (bwmorph (in, "bothat"), imbothat (in, se)); 486s assert (bwmorph (in, "tophat"), imtophat (in, se)); 486s assert (bwmorph (in, "open"), imopen (in, se)); 486s assert (bwmorph (in, "close"), imclose (in, se)); 486s ***** assert (bwmorph ([1 0 0; 1 0 1; 0 0 1], "bridge"), logical ([1 1 0; 1 1 1; 0 1 1])); 486s ***** assert (bwmorph ([0 0 0; 1 0 1; 0 0 1], "clean"), logical ([0 0 0; 0 0 1; 0 0 1])); 486s ***** assert (bwmorph ([0 0 0; 0 1 0; 0 0 0], "clean"), false (3)); 486s ***** assert (bwmorph ([0 1 0; 1 0 0; 0 0 0], "diag"), logical ([1 1 0; 1 1 0; 0 0 0])); 486s ***** test 486s in = logical ([0 1 0 1 0 486s 1 1 1 0 1 486s 1 0 0 1 0 486s 1 1 1 0 1 486s 1 1 1 1 1]); 486s out = logical ([0 1 0 1 0 486s 1 1 1 1 1 486s 1 0 0 1 0 486s 1 1 1 1 1 486s 1 1 1 1 1]); 486s assert (bwmorph (in, "fill"), out); 486s ***** assert (bwmorph ([1 1 1; 0 1 0; 1 1 1], "hbreak"), logical ([1 1 1; 0 0 0; 1 1 1])); 486s ***** test 486s in = logical ([0 1 0 0 0 486s 1 0 0 1 0 486s 1 0 1 0 0 486s 1 1 1 1 1 486s 1 1 1 1 1]); 486s 486s out = logical ([0 1 0 0 0 486s 1 0 0 1 0 486s 1 0 1 0 0 486s 1 1 0 1 1 486s 1 1 1 1 1]); 486s assert (bwmorph (in, "remove"), out); 486s 486s out = logical ([0 1 0 0 0 486s 1 0 0 1 0 486s 1 0 1 0 0 486s 1 1 0 1 1 486s 1 1 1 1 1]); 486s assert (bwmorph (in, "remove", Inf), out); 486s ***** xtest 486s ## tests for spur are failing (matlab incompatible) 486s in = logical ([0 1 0 0 0 486s 1 0 0 1 0 486s 1 0 1 0 0 486s 1 1 1 1 1 486s 1 1 1 1 1]); 486s 486s out = logical ([0 1 0 0 0 486s 1 0 0 0 0 486s 1 0 1 0 0 486s 1 1 1 1 1 486s 1 1 1 1 1]); 486s assert (bwmorph (in, "spur"), out); 486s 486s out = logical ([0 1 0 0 0 486s 1 0 0 0 0 486s 1 0 0 0 0 486s 1 1 1 1 1 486s 1 1 1 1 1]); 486s assert (bwmorph (in, "spur", Inf), out); 486s !!!!! known failure 486s ASSERT errors for: assert (bwmorph (in, "spur"),out) 486s 486s Location | Observed | Expected | Reason 486s (1,2) 0 1 Abs err 1 exceeds tol 0 by 1 486s ***** test 486s bw = false (3, 3); 486s bw(3, 1) = true; 486s out = bwmorph (bw, "thicken", 0); 486s assert (out, bw) 486s ***** test 486s bw = false (8, 7); 486s bw(8, 1) = true; 486s expected = logical ([ 486s 0 0 0 0 0 0 0 486s 1 0 0 0 0 0 0 486s 1 1 0 0 0 0 0 486s 1 1 1 0 0 0 0 486s 1 1 1 1 0 0 0 486s 1 1 1 1 1 0 0 486s 1 1 1 1 1 1 0 486s 1 1 1 1 1 1 1]); 486s out = bwmorph (bw, "thicken", 6); 486s assert (out, expected) 486s ***** test 486s bw = false (8, 7); 486s bw(2, 4) = true; 486s expected = logical ([ 486s 0 0 1 1 1 0 0 486s 0 1 1 1 1 1 0 486s 0 0 1 1 1 0 0 486s 0 0 0 1 0 0 0 486s 0 0 0 0 0 0 0 486s 0 0 0 0 0 0 0 486s 0 0 0 0 0 0 0 486s 0 0 0 0 0 0 0]); 486s out = bwmorph (bw, "thicken", 2); 486s assert (out, expected) 486s ***** test 486s bw = false (8, 7); 486s bw (6, 3) = true ; 486s expected1 = logical ([ 486s 0 0 0 0 0 0 0 486s 0 0 0 0 0 0 0 486s 0 0 0 0 0 0 0 486s 0 0 0 0 0 0 0 486s 0 0 1 0 0 0 0 486s 0 1 1 1 0 0 0 486s 0 0 1 0 0 0 0 486s 0 0 0 0 0 0 0]); 486s expected3 = logical ([ 486s 0 0 0 0 0 0 0 486s 0 0 0 0 0 0 0 486s 0 0 1 0 0 0 0 486s 0 1 1 1 0 0 0 486s 1 1 1 1 1 0 0 486s 1 1 1 1 1 1 0 486s 1 1 1 1 1 0 0 486s 0 1 1 1 0 0 0]); 486s out1 = bwmorph (bw, "thicken", 1); 486s out3 = bwmorph (bw, "thicken", 3); 486s assert (out1, expected1) 486s assert (out3, expected3) 486s ***** test 486s bw = false (10, 10); 486s bw(2, 3) = true; 486s bw(7, 7) = true; 486s out_inf = bwmorph (bw, "thicken", Inf); 486s assert (out_inf(1, 9), false) 486s ***** test 486s bw = false (3, 3); 486s bw(3, 1) = true; 486s out = bwmorph (bw, "thicken", 4); 486s assert (out, true (3, 3)) 486s ***** xtest 486s ## bug #44396 486s in = [ 486s 0 0 0 1 0 486s 1 1 1 1 0 486s 0 0 1 1 0 486s 0 0 1 1 0 486s 0 0 0 1 0]; 486s out = [ 486s 0 0 0 0 0 486s 0 1 1 0 0 486s 0 0 0 1 0 486s 0 0 0 0 0 486s 0 0 0 0 0]; 486s assert (bwmorph (in, "shrink"), logical (out)); 486s !!!!! known failure 486s ASSERT errors for: assert (bwmorph (in, "shrink"),logical (out)) 486s 486s Location | Observed | Expected | Reason 486s (2,4) 1 0 Abs err 1 exceeds tol 0 by 1 486s (3,4) 0 1 Abs err 1 exceeds tol 0 by 1 486s (4,4) 1 0 Abs err 1 exceeds tol 0 by 1 486s (5,4) 1 0 Abs err 1 exceeds tol 0 by 1 486s ***** test 486s H = false (7,7); 486s H(2:3,2:3) = 1; 486s H(5:6,5:6) = 1; 486s T = logical([0 0 0 0 0 0 0; 486s 0 0 0 0 0 0 0; 486s 0 1 0 0 0 0 0; 486s 0 0 0 0 0 0 0; 486s 0 0 0 0 0 0 0; 486s 0 0 0 0 1 0 0; 486s 0 0 0 0 0 0 0]); 486s out = bwmorph (H, "thin", 1); 486s assert (T, out) 486s 486s H(4:6,4:6) = 1; 486s T = logical([0 0 0 0 0 0 0; 486s 0 0 0 0 0 0 0; 486s 0 1 1 0 0 0 0; 486s 0 0 0 1 0 0 0; 486s 0 0 0 0 1 0 0; 486s 0 0 0 0 0 0 0; 486s 0 0 0 0 0 0 0]); 486s out = bwmorph (H, "thin", 1); 486s assert (T, out) 486s 486s H3 = [0 0 0 0 0 0; 486s 0 1 1 1 0 0; 486s 0 1 1 1 0 0; 486s 0 0 0 1 0 1; 486s 0 0 0 0 1 1; 486s 0 0 0 1 1 1]; 486s out3 = bwmorph (H3, "thin", 1); 486s expected3 = logical( 486s [0 0 0 0 0 0; 486s 0 0 0 0 0 0; 486s 0 1 1 0 0 0; 486s 0 0 0 1 0 1; 486s 0 0 0 0 1 0; 486s 0 0 0 1 1 0]); 486s assert (out3, expected3) 486s 486s out33 = bwmorph (H3, "thin", 2); 486s expected33 = logical( 486s [0 0 0 0 0 0; 486s 0 0 0 0 0 0; 486s 0 1 1 0 0 0; 486s 0 0 0 1 0 1; 486s 0 0 0 0 1 0; 486s 0 0 0 1 0 0]); 486s assert (out33, expected33) 486s 486s out333 = bwmorph (H3, "thin", inf); 486s assert (out333, expected33) 486s ***** test 486s in = logical ([ 486s 1 0 0 0 486s 0 1 0 0 486s 0 0 1 0 486s 0 0 0 0]); 486s out = logical ([ 486s 1 0 0 0 486s 0 0 0 0 486s 0 0 1 0 486s 0 0 0 0]); 486s assert (bwmorph (in, "endpoints"), out); 486s 486s 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]); 486s 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]); 486s assert (bwmorph (A, "endpoints"), B); 486s 486s A = logical ([0 0 0 0 0 0 0 0 486s 1 1 0 0 0 0 1 1 486s 0 0 1 1 1 1 0 0 486s 0 0 0 1 1 0 0 0 486s 0 0 1 1 1 1 0 0 486s 0 1 0 0 0 0 1 0 486s 1 0 0 0 0 0 0 1]); 486s B = logical ([0 0 0 0 0 0 0 0 486s 1 0 0 0 0 0 0 1 486s 0 0 0 0 0 0 0 0 486s 0 0 0 1 1 0 0 0 486s 0 0 0 0 0 0 0 0 486s 0 0 0 0 0 0 0 0 486s 1 0 0 0 0 0 0 1]); 486s assert (bwmorph (A, "endpoints"), B); 486s 486s 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]); 486s 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]); 486s assert (bwmorph (A, "endpoints"), B); 486s assert (bwmorph (B, "endpoints"), zeros (5, "logical")); 486s 486s A = logical([0,0,0,0,0,0,0,0,0,0,0,0,0,0 486s 0,0,1,1,1,1,1,1,1,1,1,1,0,0 486s 0,0,0,0,0,0,0,0,0,0,0,0,0,0]); 486s B = logical([0,0,0,0,0,0,0,0,0,0,0,0,0,0 486s 0,0,1,0,0,0,0,0,0,0,0,1,0,0 486s 0,0,0,0,0,0,0,0,0,0,0,0,0,0]); 486s C = logical([1,0,0,0,0,0,0,0,0,0,0,0,0,1 486s 1,1,0,0,0,0,0,0,0,0,0,0,1,1 486s 1,0,0,0,0,0,0,0,0,0,0,0,0,1]); 486s assert (bwmorph (!A, "endpoints"), C); 486s 22 tests, 20 passed, 2 known failures, 0 skipped 486s [inst/iptnum2ordinal.m] 486s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/iptnum2ordinal.m 486s ***** assert (strcmp (iptnum2ordinal (1), 'first')); # simple works 486s ***** assert (strcmp (iptnum2ordinal (21), '21st')); # after 20, goes stupid 486s ***** assert (strcmp (iptnum2ordinal (100), '100th')); # use th correctly 486s ***** fail ("iptnum2ordinal (inf)"); # must be real 486s ***** fail ("iptnum2ordinal (0)"); # must be positive 486s ***** fail ("iptnum2ordinal (-1)"); # must be positive 486s ***** fail ("iptnum2ordinal (3.4)"); # must be integer 486s 7 tests, 7 passed, 0 known failure, 0 skipped 486s [inst/imnoise.m] 486s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imnoise.m 486s ***** assert(var(imnoise(ones(10)/2,'gaussian')(:)),0.01,0.005) # probabilistic 486s ***** assert(length(find(imnoise(ones(10)/2,'salt & pepper')~=0.5)),5,10) # probabilistic 486s ***** assert(var(imnoise(ones(10)/2,'speckle')(:)),0.01,0.005) # probabilistic 487s ***** test 487s A = imnoise (.5 * ones (100), 'poisson'); 487s assert (class (A), 'double') 487s ***** test 487s A = imnoise (.5 * ones (100, 'single'), 'poisson'); 487s assert (class (A), 'single') 487s ***** test 487s A = imnoise (128 * ones (100, 'uint8'), 'poisson'); 487s assert (class (A), 'uint8') 487s ***** test 487s A = imnoise (256 * ones (100, 'uint16'), 'poisson'); 487s assert (class (A), 'uint16') 487s ***** demo 487s A = imnoise (2^7 * ones (100, 'uint8'), 'poisson'); 487s subplot (2, 2, 1) 487s imshow (A) 487s title ('uint8 image with poisson noise') 487s A = imnoise (2^15 * ones (100, 'uint16'), 'poisson'); 487s subplot (2, 2, 2) 487s imshow (A) 487s title ('uint16 image with poisson noise') 487s A = imnoise (.5 * ones (100), 'poisson'); 487s subplot (2, 2, 3) 487s imshow (A) 487s title ('double image with poisson noise') 487s A = imnoise (.5 * ones (100, 'single'), 'poisson'); 487s subplot (2, 2, 4) 487s imshow (A) 487s title ('single image with poisson noise') 487s 7 tests, 7 passed, 0 known failure, 0 skipped 487s [inst/edgetaper.m] 487s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/edgetaper.m 487s ***** assert (class (edgetaper (rand (100), rand (16))), "double") 487s ***** assert (class (edgetaper (randi (255, 100, "uint8"), rand (16))), "uint8") 487s 2 tests, 2 passed, 0 known failure, 0 skipped 487s [inst/applylut.m] 487s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/applylut.m 487s ***** demo 487s lut = makelut (@(x) sum (x (:)) >= 3, 3); 487s S = applylut (eye (5), lut); 487s disp (S) 487s ## Everything should be 0 despite a diagonal which doesn't reach borders. 487s ***** assert (prod (applylut (eye (3), makelut (@(x) x(1) == 1, 2)) == eye (3)), [1 1 1]); 487s ***** assert (prod (applylut (eye (3), makelut (@(x) x(2,2) == 1, 3)) == eye (3)), [1 1 1]); 487s ***** assert (prod (applylut (eye (3), makelut (@(x) x(3,3) == 1, 3)) == 487s applylut (eye (3), makelut (@(x) x(2,2) == 1, 2))), 487s [1 1 1]); 487s 3 tests, 3 passed, 0 known failure, 0 skipped 487s [inst/lab2uint16.m] 487s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/lab2uint16.m 487s ***** test 487s cm_uint16 = uint16 ([0 127 128 383 384 65151 65152 65279 65280 65281 65534 65535]); 487s cm_uint16 = repmat (cm_uint16(:), [1 3]); 487s im2d_uint16 = reshape (cm_uint16, [4 3 3]); 487s imnd_uint16 = permute (im2d_uint16, [1 4 3 2]); 487s 487s cm_uint8 = uint8 ([0 0 1 1 2 254 255 255 255 255 255 255]); 487s cm_uint8 = repmat (cm_uint8(:), [1 3]); 487s assert (lab2uint8 (cm_uint16), cm_uint8) 487s im2d_uint8 = reshape (cm_uint8, [4 3 3]); 487s assert (lab2uint8 (im2d_uint16), im2d_uint8) 487s assert (lab2uint8 (imnd_uint16), permute (im2d_uint8, [1 4 3 2])) 487s 487s l1 = 100/65280; 487s ab1 = 255/65280; 487s cm = [ 487s 0 -128 487s 127*l1 -128+(ab1*127) 487s 128*l1 -128+(ab1*128) 487s 383*l1 -128+(ab1*383) 487s 384*l1 -128+(ab1*384) 487s 65151*l1 -128+(ab1*65151) 487s 65152*l1 -128+(ab1*65152) 487s 65279*l1 -128+(ab1*65279) 487s 100 127 487s 65281*l1 -128+(ab1*65281) 487s 65534*l1 -128+(ab1*65534) 487s 65535*l1 -128+(ab1*65535)]; 487s cm(:,3) = cm(:,2); 487s im2d = reshape (cm, [4 3 3]); 487s imnd = permute (im2d, [1 4 3 2]); 487s 487s assert (lab2double (cm_uint16), cm) 487s assert (lab2double (im2d_uint16), im2d) 487s assert (lab2double (imnd_uint16), imnd) 487s 487s assert (lab2single (cm_uint16), single (cm)) 487s assert (lab2single (im2d_uint16), single (im2d)) 487s assert (lab2single (imnd_uint16), single (imnd)) 487s 1 test, 1 passed, 0 known failure, 0 skipped 487s [inst/imshowpair.m] 487s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imshowpair.m 487s ***** error id=Octave:invalid-fun-call imshowpair () 487s ***** error id=Octave:invalid-fun-call imshowpair (1) 487s ***** error id=Octave:invalid-input-arg imshowpair (uint8 (200.*rand (100)), ... 487s uint8 (200.*rand (100)), "interpolation") 487s ***** error id=Octave:invalid-input-arg imshowpair (uint8 (200.*rand (100)), ... 487s uint8 (200.*rand (100)), "xxxxx") 487s ***** error id=Octave:invalid-input-arg imshowpair (1, 1, "ColorChannels", [0 0 0]) 487s ***** error id=Octave:invalid-input-arg imshowpair (1, 1, "ColorChannels", [1 1 1]) 487s ***** error id=Octave:invalid-input-arg imshowpair (1, 1, "ColorChannels", [2 2 2]) 487s ***** error id=Octave:expected-less-equal imshowpair (1, 1, "ColorChannels", [42 0 0]) 487s ***** error id=Octave:expected-greater-equal imshowpair (1, 1, "ColorChannels", [-1 2 0]) 487s ***** error id=Octave:invalid-input-arg imshowpair (1, 1, "ColorChannels", "deep-purple") 487s ***** test 487s A = uint8 (200.*rand (100)); 487s B = uint8 (150.*rand (100)); 487s RA = imref2d (size (A), 0.5, 0.5); 487s RB = imref2d (size (B), 0.5, 0.5); 487s figure; 487s Ax=axes; 487s assert (imshowpair (A, B)); 487s assert (imshowpair (A, RA, B, RB)); 487s assert (imshowpair (A, B, "blend")); 487s assert (imshowpair (A, B, "falsecolor", "ColorChannels", "red-cyan")); 487s assert (imshowpair (A, B, "Parent", Ax)); 487s assert (imshowpair (A, B, "montage", "Scaling", "joint")); 487s close; 487s 11 tests, 11 passed, 0 known failure, 0 skipped 487s [inst/stdfilt.m] 487s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/stdfilt.m 487s ***** test 487s im = stdfilt (ones (5)); 487s assert (im, zeros (5)) 487s ***** test 487s A = zeros (3,3); 487s B = ones (3,3); 487s C = [1 1 1; 2 2 2; 3 3 3]; 487s D = C'; 487s E = ones (3,3); 487s E(2,2) = 2; 487s F = 3 .* ones (3,3); 487s F(2,2) = 1; 487s G = [-1 2 7; -5 2 8; -7 pi 9]; 487s H = [5 2 8; 1 -3 1; 5 1 0]; 487s A_out = [0 0 0; 0 0 0; 0 0 0]; 487s B_out = [0 0 0; 0 0 0; 0 0 0]; 487s C_out = repmat ([std([1 1 1 1 1 1 2 2 2]) 487s std([1 1 1 2 2 2 3 3 3]) 487s std([2 2 2 3 3 3 3 3 3])], [1 3]); 487s D_out = C_out'; 487s E_out = (1/3) .* ones (3,3); 487s F_out = (2/3) .* ones (3,3); 487s 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]); 487s 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]); 487s 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])]; 487s 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]); 487s 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]); 487s 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])]; 487s assert (stdfilt (A), A_out) 487s assert (stdfilt (B), B_out) 487s assert (stdfilt (C), C_out, 4*eps) 487s assert (stdfilt (D), D_out, 4*eps) 487s assert (stdfilt (E), E_out, 4*eps) 487s assert (stdfilt (F), F_out, 4*eps) 487s assert (stdfilt (G), G_out, 4*eps) 487s assert (stdfilt (H), H_out, 4*eps) 487s im = stdfilt (ones (5, 'logical')); 487s assert (im, zeros (5)) 487s im = stdfilt (ones (5, 'uint8')); 487s assert (im, zeros (5)) 487s assert (stdfilt (int8(H), H_out, 4*eps)) 487s assert (stdfilt (uint8(H), H_out, 4*eps)) 487s assert (stdfilt (int16(H), H_out, 4*eps)) 487s assert (stdfilt (uint16(H), H_out, 4*eps)) 487s assert (stdfilt (int32(H), H_out, 4*eps)) 487s assert (stdfilt (uint32(H), H_out, 4*eps)) 487s assert (stdfilt (int64(H), H_out, 4*eps)) 487s assert (stdfilt (uint64(H), H_out, 4*eps)) 487s assert (stdfilt (single(H), H_out, 4*eps)) 488s 2 tests, 2 passed, 0 known failure, 0 skipped 488s [inst/im2col.m] 488s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/im2col.m 488s ***** demo 488s ## Divide A using distinct blocks and then reverse the operation 488s A = [ 1:10 488s 11:20 488s 21:30 488s 31:40]; 488s B = im2col (A, [2 5], "distinct") 488s C = col2im (B, [2 5], [4 10], "distinct") 488s ***** test 488s a = rand (10); 488s assert (im2col (a, [5 5]), im2col (a, [5 5], "sliding")) 488s ***** test 488s a = rand (10); 488s assert (im2col (a, [5 5]), im2col (a, "indexed", [5 5])) 488s ***** error im2col (rand (20), [2 5], 10) 488s ***** error im2col (rand (20), [2 5], "wrong_block_type") 488s ***** error im2col (rand (10), [5 5], "sliding", 5) 488s ***** error im2col (rand (10), "indexed", [5 5], "sliding", 5) 488s ***** shared B, A, Bs, As, Ap, Bp0, Bp1, Bp0_3s 488s v = [1:10]'; 488s r = reshape (v, 2, 5); 488s B = [v v+20 v+40 v+10 v+30 v+50]; 488s A = [r r+10; r+20 r+30; r+40 r+50]; 488s As = [ 1 2 3 4 5 488s 6 7 8 9 10 488s 11 12 13 14 15]; 488s b1 = As(1:2, 1:4)(:); 488s b2 = As(2:3, 1:4)(:); 488s b3 = As(1:2, 2:5)(:); 488s b4 = As(2:3, 2:5)(:); 488s Bs = [b1, b2, b3, b4]; 488s Ap = A(:, 1:9); 488s Bp1 = Bp0 = B; 488s Bp0(9:10, 4:6) = 0; 488s Bp1(9:10, 4:6) = 1; 488s Bp0_3s = Bp0; 488s Bp0_3s(11:30, :) = 0; 488s ***** assert (im2col (A, [2 5], "distinct"), B); 488s ***** assert (im2col (Ap, [2 5], "distinct"), Bp0); 488s ***** assert (im2col (Ap, [2 5 3], "distinct"), Bp0_3s); 488s ***** assert (im2col (Ap, "indexed", [2 5], "distinct"), Bp1); 488s ***** assert (im2col (uint8 (Ap), "indexed", [2 5], "distinct"), uint8 (Bp0)); 488s ***** assert (im2col (uint16 (Ap), "indexed", [2 5], "distinct"), uint16 (Bp0)); 488s ***** assert (im2col (int16 (Ap), "indexed", [2 5], "distinct"), int16 (Bp1)); 488s ***** assert (im2col (uint32 (Ap), "indexed", [2 5], "distinct"), uint32 (Bp1)); 488s ***** assert (im2col (uint8 (A), [2 5], "distinct"), uint8 (B)); 488s ***** assert (im2col (single (A), [2 5], "distinct"), single (B)); 488s ***** assert (im2col (logical (A), [2 5], "distinct"), logical (B)); 488s ***** assert (im2col (uint8 (As), [2 4], "sliding"), uint8 (Bs)); 488s ***** assert (im2col (single (As), [2 4], "sliding"), single (Bs)); 488s ***** assert (im2col (logical (As), [2 4], "sliding"), logical (Bs)); 488s ***** assert (im2col (As, [2 4], "sliding"), Bs); 488s ***** assert (im2col (As, [3 5], "sliding"), As(:)); 488s ***** test 488s A = randi (9, 10, 9, 5); 488s ***** assert (convn (A, ones (3, 3, 3), "valid"), 488s reshape (sum (im2col (A, [3 3 3])), [8 7 3])); 488s 488s A = randi (9, 10, 9, 5, 7); 488s ***** assert (convn (A, ones (3, 3, 3), "valid"), 488s reshape (sum (im2col (A, [3 3 3])), [8 7 3 7])); 488s ***** assert (convn (A, ones (3, 4, 3), "valid"), 488s reshape (sum (im2col (A, [3 4 3])), [8 6 3 7])); 488s ***** assert (convn (A, ones (3, 5, 3, 2), "valid"), 488s reshape (sum (im2col (A, [3 5 3 2])), [8 5 3 6])); 488s ***** assert (im2col (1:8, [2 1]), zeros (2, 0)) 488s 28 tests, 28 passed, 0 known failure, 0 skipped 488s [inst/poly2mask.m] 488s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/poly2mask.m 488s ***** demo 488s s = [0:pi/4:2*pi]; 488s x = cos (s) * 90 + 101; 488s y = sin (s) * 90 + 101; 488s bw = poly2mask(x, y, 200, 200); 488s imshow (bw); 488s ***** demo 488s s = [0:2*pi/5:pi*4]; 488s s = s ([1, 3, 5, 2, 4, 6]); 488s x = cos (s) * 90 + 101; 488s y = sin (s) * 90 + 101; 488s bw = poly2mask (x, y, 200, 200); 488s imshow (bw); 488s ***** # Convex polygons 488s ***** shared xs, ys, Rs, xt, yt, Rt 488s xs=[3,3,10,10]; 488s ys=[4,12,12,4]; 488s Rs=zeros(16,14); 488s Rs(5:12,4:10)=1; 488s Rs=logical(Rs); 488s xt=[1,4,7]; 488s yt=[1,4,1]; 488s Rt=[0,0,0,0,0,0,0; 488s 0,0,1,1,1,1,0; 488s 0,0,0,1,1,0,0; 488s 0,0,0,1,0,0,0; 488s 0,0,0,0,0,0,0]; 488s Rt=logical(Rt); 488s ***** assert(poly2mask(xs,ys,16,14),Rs); # rectangle 488s ***** assert(poly2mask(xs,ys,8,7),Rs(1:8,1:7)); # clipped 488s ***** assert(poly2mask(xs-7,ys-8,8,7),Rs(9:16,8:14)); # more clipping 488s ***** assert(poly2mask(xt,yt,5,7),Rt); # triangle 488s ***** assert(poly2mask(xt,yt,3,3),Rt(1:3,1:3)); # clipped 488s ***** # Concave polygons 488s ***** test 488s x=[3,3,5,5,8,8,10,10]; 488s y=[4,12,12,8,8,11,11,4]; 488s R=zeros(16,14); 488s R(5:12,4:5)=1; 488s R(5:8,6:8)=1; 488s R(5:11,9:10)=1; 488s R=logical(R); 488s assert(poly2mask(x,y,16,14), R); 488s ***** # Complex polygons 488s ***** test 488s x=[1,5,1,5]; 488s y=[1,1,4,4]; 488s R=[0,0,0,0,0,0; 488s 0,0,1,1,0,0; 488s 0,0,1,1,0,0; 488s 0,1,1,1,1,0; 488s 0,0,0,0,0,0]; 488s R=logical(R); 488s assert(poly2mask(x,y,5,6), R); 488s 7 tests, 7 passed, 0 known failure, 0 skipped 488s [inst/imhmin.m] 488s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imhmin.m 488s ***** shared im0, im0_h2_out 488s im0 = uint8 ([5 5 5 5 5; 488s 5 4 3 4 5; 488s 5 3 0 3 5; 488s 5 4 3 4 5; 488s 5 5 5 5 5]); 488s im0_h2_out = uint8 ([5 5 5 5 5; 488s 5 4 3 4 5; 488s 5 3 2 3 5; 488s 5 4 3 4 5; 488s 5 5 5 5 5]); 488s ***** error imhmin () 488s ***** error imhmin (im0) 488s ***** error imhmin ("hello", 2) 488s ***** error imhmin (i.*im0, 2) 488s ***** error imhmin (sparse (im0), 2) 488s ***** error imhmin (im0, -2) 488s ***** error imhmin (im0, 'a') 488s ***** error imhmin (im0, ones (2)) 488s ***** error imhmin (im0, 2*i) 488s ***** assert (imhmin (im0, 2), im0_h2_out) 488s ***** assert (imhmin (double (im0), 2), double (im0_h2_out)) 488s ***** assert (imhmin (im0, 2, 8), im0_h2_out) 488s ***** assert (imhmin (im0, 2, 4), im0_h2_out) 488s ***** assert (imhmin (im0, 2, true (3)), im0_h2_out) 488s ***** test 488s out = imhmin (double (im0), 2); 488s assert (size (out), size (im0)) 488s assert (class (out), "double") 488s ***** test 488s out = imhmin (single (im0), 2); 488s assert (size (out), size (im0)) 488s assert (class (out), "single") 488s ***** test 488s out = imhmin (uint8 (im0), 2); 488s assert (size (out), size (im0)) 488s assert (class (out), "uint8") 488s ***** test 488s out = imhmin (uint16 (im0), 2); 488s assert (size (out), size (im0)) 488s assert (class (out), "uint16") 488s ***** test 488s im = cat (3, im0, im0, im0, im0); 488s out = imhmin (im, 2); 488s assert (size (out), size (im)) 488s ***** test 488s im = 10 .* ones (10); 488s im(2:4, 2:4) = 7; 488s im(6:8, 6:8) = 2; 488s expected_4 = 10 .* ones (10); 488s expected_4(6:8, 6:8) = 6; 488s expected_2 = 10 .* ones (10); 488s expected_2(6:8, 6:8) = 4; 488s expected_2(2:4, 2:4) = 9; 488s out = imhmin (im, 4); 488s assert (out, expected_4, eps) 488s out = imhmin (im, 2); 488s assert (out, expected_2, eps) 488s out = imhmin (0.1.*im, 0.4); 488s assert (out, 0.1 .* expected_4, eps) 488s ***** test 488s im2 = 10 .* ones (10); 488s im2(2:4, 2:4) = 7; 488s im2(6:9, 6:9)=2; 488s im2(5, 5)=2; 488s im2(6, 7)=10; 488s im2(7, 8)=10; 488s expected_4 = 10 .* ones (10); 488s expected_4(6:9, 6:9) = 6; 488s expected_4(5, 5) = 6; 488s expected_4(6, 7) = 10; 488s expected_4(7, 8) = 10; 488s expected_8 = expected_4; 488s expected_8(2:4, 2:4) = 7; 488s out2 = imhmin (im2, 4); 488s assert (out2, expected_8, eps) 488s out2 = imhmin (im2, 4, 4); 488s assert (out2, expected_4, eps) 488s out2 = imhmin (im2, 4, 8); 488s assert (out2, expected_8, eps) 488s 21 tests, 21 passed, 0 known failure, 0 skipped 488s [inst/isgray.m] 488s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/isgray.m 488s ***** assert (isgray ([0 0 1; 1 0 1]), true) 488s ***** assert (isgray (zeros (3)), true) 488s ***** assert (isgray (ones (3)), true) 488s ***** test 488s a = rand (10); 488s assert (isgray (a), true); 488s a(5, 5) = 2; 488s assert (isgray (a), false); 488s ***** test 488s a = uint8 (randi (255, 10)); 488s assert (isgray (a), true); 488s a = int8 (a); 488s assert (isgray (a), false); 488s ***** test 488s a = rand (10); 488s a(50) = NaN; 488s assert (isgray (a), true); 488s ***** assert (isgray (rand (5, 5, 1, 4)), true); 488s ***** assert (isgray (rand (5, 5, 3, 4)), false); 488s ***** assert (isgray (rand (5, 5, 3)), false); 488s ***** assert (isgray (rand (5, 5, 1, 3, 4)), false); 488s ***** assert (isgray (rand (5, "single")), true) 488s ***** assert (isgray ([.1 .2 .3; .4 NaN .6; .7 .8 .9]), true) 488s ***** assert (isgray ([.1 .2 .3; NA NaN .6; .7 .8 .9]), true) 488s ***** assert (isgray ([.1 .2 .3; NA .5 .6; .7 .8 .9]), true) 488s ***** assert (isgray (NaN (5)), false) 488s ***** assert (isgray (NA (5)), false) 488s 16 tests, 16 passed, 0 known failure, 0 skipped 488s [inst/imextendedmax.m] 488s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imextendedmax.m 488s ***** shared im0, bw0_h2_out 488s im0 = uint8 ([0 0 0 0 0; 488s 0 1 2 1 0; 488s 0 2 5 2 0; 488s 0 1 2 1 0; 488s 0 0 0 0 0]); 488s bw0_h2_out = false (5); 488s bw0_h2_out(3,3) = true; 488s ***** error imextendedmax () 489s ***** error imextendedmax (im0) 489s ***** error imextendedmax ("hello", 2) 489s ***** error imextendedmax (i.*im0, 2) 489s ***** error imextendedmax (sparse (im0), 2) 489s ***** error imextendedmax (im0, -2) 489s ***** error imextendedmax (im0, 'a') 489s ***** error imextendedmax (im0, ones (2)) 489s ***** error imextendedmax (im0, 2*i) 489s ***** assert (imextendedmax (im0, 2), bw0_h2_out) 489s ***** assert (imextendedmax (double (im0), 2), bw0_h2_out) 489s ***** assert (imextendedmax (im0, 2, 8), bw0_h2_out) 489s ***** assert (imextendedmax (im0, 2, 4), bw0_h2_out) 489s ***** assert (imextendedmax (im0, 2, true (3)), bw0_h2_out) 489s ***** test 489s out = imextendedmax (im0, 2); 489s assert (size (out), size (im0)) 489s assert (class (out), "logical") 489s ***** test 489s out = imextendedmax (single (im0), 2); 489s assert (size (out), size (im0)) 489s assert (class (out), "logical") 489s ***** test 489s out = imextendedmax (uint8 (im0), 2); 489s assert (size (out), size (im0)) 489s assert (class (out), "logical") 489s ***** test 489s out = imextendedmax (uint16 (im0), 2); 489s assert (size (out), size (im0)) 489s assert (class (out), "logical") 489s ***** test 489s im = cat (3, im0, im0, im0, im0); 489s out = imextendedmax (im, 2); 489s assert (size (out), size (im)) 489s ***** test 489s im = zeros (10); 489s im(2:4, 2:4) = 3; 489s im(6:8, 6:8) = 8; 489s expected_4 = false (10); 489s expected_4(6:8, 6:8) = true; 489s expected_2 = expected_4; 489s expected_2(2:4, 2:4) = true; 489s out = imextendedmax (im, 4); 489s assert (out, expected_4, eps) 489s out = imextendedmax (0.1.*im, 0.4); 489s assert (out, expected_4, eps) 489s out = imextendedmax (im, 2); 489s assert (out, expected_2, eps) 489s ***** test 489s im2 = zeros (10); 489s im2(2:4, 2:4) = 3; 489s im2(6:9, 6:9)=8; 489s im2(5, 5)=8; 489s im2(6, 7)=0; 489s im2(7, 8)=0; 489s expected_8 = false (10); 489s expected_8(6:9, 6:9) = true; 489s expected_8(5, 5) = true; 489s expected_8(6, 7) = false; 489s expected_8(7, 8) = false; 489s expected_4 = expected_8; 489s expected_4(2:4, 2:4) = true; 489s out2 = imextendedmax (im2, 2); 489s assert (out2, expected_8, eps) 489s out2 = imextendedmax (im2, 2, 4); 489s assert (out2, expected_4, eps) 489s out2 = imextendedmax (im2, 2, 8); 489s assert (out2, expected_8, eps) 489s 21 tests, 21 passed, 0 known failure, 0 skipped 489s [inst/xyz2rgb.m] 489s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/xyz2rgb.m 489s ***** assert (xyz2rgb ([0, 0, 0]), [0 0 0], 1e-3) 489s ***** assert (xyz2rgb ([0.4125, 0.2127, 0.0193]), [1 0 0], 1e-3) 489s ***** assert (xyz2rgb ([0.7700, 0.9278, 0.1385]), [1 1 0], 1e-3) 489s ***** assert (xyz2rgb ([0.3576, 0.7152, 0.1192]), [0 1 0], 1e-3) 489s ***** assert (xyz2rgb ([0.5380, 0.7873, 1.0694]), [0 1 1], 1e-3) 489s ***** assert (xyz2rgb ([0.1804, 0.07217, 0.9502]), [0 0 1], 1e-3) 489s ***** assert (xyz2rgb ([0.5929, 0.28484, 0.9696]), [1 0 1], 1e-3) 489s ***** assert (xyz2rgb ([0.9505, 1.0000, 1.0888]), [1 1 1], 1e-3) 489s ***** assert (xyz2rgb ([0.2034, 0.2140, 0.2330]), [0.5 0.5 0.5], 1e-3) 489s ***** assert (xyz2rgb ([0.2155, 0.1111, 0.0101]), [0.75 0 0], 1e-3) 489s ***** assert (xyz2rgb ([0.0883, 0.0455, 0.0041]), [0.5 0 0], 1e-3) 489s ***** assert (xyz2rgb ([0.0210, 0.0108, 0.0010]), [0.25 0 0], 1e-3) 489s ***** assert (xyz2rgb ([0.5276, 0.3812, 0.2482]), [1 0.5 0.5], 1e-3) 489s ***** assert (xyz2rgb ([1.5 1 1]), [1.5712, 0.7109 0.9717], 1e-3) 489s ***** test 489s xyz_map = rand (64, 3); 489s assert (rgb2xyz (xyz2rgb (xyz_map)), xyz_map, 3e-4); 489s ***** test 489s xyz_img = rand (64, 64, 3); 489s assert (rgb2xyz (xyz2rgb (xyz_img)), xyz_img, 3e-4); 489s ***** assert (xyz2rgb (sparse ([0 0 0])), [0 0 0], 1e-3) 489s ***** assert (class (xyz2rgb (single([0.5 0.5 0.5]))), 'single') 489s ***** error xyz2rgb () 489s ***** error xyz2rgb (1,2) 489s ***** error xyz2rgb ({1}) 489s ***** error xyz2rgb (ones (2,2)) 489s ***** test 489s xyz = rand (16, 16, 3, 5); 489s rgb = zeros (size (xyz)); 489s for i = 1:5 489s rgb(:,:,:,i) = xyz2rgb (xyz(:,:,:,i)); 489s endfor 489s assert (xyz2rgb (xyz), rgb) 489s 23 tests, 23 passed, 0 known failure, 0 skipped 489s [inst/bwareafilt.m] 489s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/bwareafilt.m 489s ***** shared a2d, a3d 489s a2d = [1 0 0 0 0 0 1 0 0 1 489s 1 0 0 1 0 1 0 1 0 1 489s 1 0 1 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 1 0 0 0 0 0 0 0 0 489s 1 1 0 1 1 1 0 0 0 0 489s 1 1 0 1 0 0 0 1 0 0 489s 1 1 0 0 0 0 1 0 1 0 489s 1 1 0 0 0 0 0 0 0 0 489s 1 1 0 0 0 1 1 0 0 1]; 489s 489s a3d = a2d; 489s a3d(:,:,2) = [ 489s 0 0 0 0 0 0 0 0 0 0 489s 1 0 0 1 1 0 0 1 0 0 489s 0 0 0 1 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 1 0 0 0 0 0 0 0 0 489s 1 1 0 0 1 1 0 0 0 0 489s 1 1 0 1 0 0 0 0 0 0 489s 1 0 0 0 0 0 1 0 0 0 489s 0 1 0 0 0 0 0 0 0 1 489s 1 1 0 0 0 0 1 0 0 0]; 489s 489s a3d(:,:,3) = [ 489s 1 0 0 0 0 0 0 0 0 0 489s 0 1 0 1 1 0 0 1 0 0 489s 0 0 0 1 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 1 1 1 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 1 0 0 0 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 1 489s 1 1 0 0 0 0 0 0 0 0]; 489s ***** test 489s f2d = [0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 1 0 0 0 0 0 0 0 0 489s 1 1 0 1 1 1 0 0 0 0 489s 1 1 0 1 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 0]; 489s assert (bwareafilt (a2d, 2), logical (f2d)); 489s assert (bwareafilt (a2d, 2, 8), logical (f2d)); 489s assert (bwareafilt (a2d, 2, 4), logical (f2d)); 489s ***** test 489s f2d = [1 0 0 0 0 0 1 0 0 0 489s 1 0 0 0 0 1 0 1 0 0 489s 1 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 1 0 0 0 0 0 0 0 0 489s 1 1 0 1 1 1 0 0 0 0 489s 1 1 0 1 0 0 0 1 0 0 489s 1 1 0 0 0 0 1 0 1 0 489s 1 1 0 0 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 0]; 489s assert (bwareafilt (a2d, 5), logical (f2d)); 489s assert (bwareafilt (a2d, 5, 8), logical (f2d)); 489s ***** test 489s f2d = [0 0 0 0 0 0 1 0 0 1 489s 0 0 0 1 0 1 0 1 0 1 489s 0 0 1 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 1 0 0 489s 0 0 0 0 0 0 1 0 1 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 1 1 0 0 1]; 489s assert (bwareafilt (a2d, 11, "smallest", 4), logical (f2d)); 489s ***** test 489s f2d = [1 0 0 0 0 0 1 0 0 0 489s 1 0 0 0 0 1 0 1 0 0 489s 1 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 1 1 1 0 0 0 0 489s 0 0 0 1 0 0 0 1 0 0 489s 0 0 0 0 0 0 1 0 1 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0]; 489s assert (bwareafilt (a2d, [3 5]), logical (f2d)); 489s assert (bwareafilt (a2d, [3 5], 8), logical (f2d)); 489s ***** test 489s f2d = [1 0 0 0 0 0 0 0 0 0 489s 1 0 0 0 0 0 0 0 0 0 489s 1 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 1 1 1 0 0 0 0 489s 0 0 0 1 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0]; 489s assert (bwareafilt (a2d, [3 4], 4), logical (f2d)); 489s assert (bwareafilt (a2d, [3 4], [0 1 0; 1 1 1; 0 1 0]), logical (f2d)); 489s ***** test 489s f2d = [1 0 0 0 0 0 1 0 0 1 489s 1 0 0 1 0 1 0 1 0 1 489s 1 0 1 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 1 1 1 0 0 0 0 489s 0 0 0 1 0 0 0 1 0 0 489s 0 0 0 0 0 0 1 0 1 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 1 1 0 0 0]; 489s assert (bwareafilt (a2d, [2 4]), logical (f2d)); 489s assert (bwareafilt (a2d, [2 4], 8), logical (f2d)); 489s assert (bwareafilt (a2d, [2 4], ones (3)), logical (f2d)); 489s ***** test 489s f3d = [0 0 0 0 0 0 1 0 0 0 489s 0 0 0 1 0 1 0 1 0 0 489s 0 0 1 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 1 0 0 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 0]; 489s 489s f3d(:,:,2) = [ 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 1 1 0 0 1 0 0 489s 0 0 0 1 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 1 0 0 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 0 489s 1 0 0 0 0 0 0 0 0 0 489s 0 1 0 0 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 0]; 489s 489s f3d(:,:,3) = [ 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 1 1 0 0 1 0 0 489s 0 0 0 1 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 1 0 0 0 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 0]; 489s assert (bwareafilt (a3d, 2), logical (f3d)); 489s assert (bwareafilt (a3d, 2, 26), logical (f3d)); 489s assert (bwareafilt (a3d, 2, ones (3, 3, 3)), logical (f3d)); 489s ***** test 489s f3d = [0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 1 0 0 0 0 0 0 0 0 489s 1 1 0 1 1 1 0 0 0 0 489s 1 1 0 1 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 0]; 489s 489s f3d(:,:,2) = [ 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 1 0 0 0 0 0 0 0 0 489s 1 1 0 0 1 1 0 0 0 0 489s 1 1 0 1 0 0 0 0 0 0 489s 1 0 0 0 0 0 0 0 0 0 489s 0 1 0 0 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 0]; 489s 489s f3d(:,:,3) = [ 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 0 0 0 1 1 1 0 0 0 0 489s 0 0 0 0 0 0 0 0 0 0 489s 1 0 0 0 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 0 489s 1 1 0 0 0 0 0 0 0 0]; 489s assert (bwareafilt (a3d, 2, 6), logical (f3d)); 489s assert (bwareafilt (a3d, 2, conndef (3, "minimal")), logical (f3d)); 489s 8 tests, 8 passed, 0 known failure, 0 skipped 489s [inst/radon.m] 489s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/radon.m 489s ***** test 489s A = radon (ones (2,2), 30); 489s assert (A, [0 0 0.608253175473055 2.103325780167649 1.236538105676658 0.051882938682637 0]',1e-10) 489s ***** test 489s ***** # testing all types 489s A = radon (single (ones (2,2)), 90); 489s assert (A, B) 489s A = radon (double (ones (2,2)), 90); 489s assert (A, B) 489s A = radon (int8 (ones (2,2)), 90); 489s assert (A, B) 489s A = radon (int32 (ones (2,2)), 90); 489s assert (A, B) 489s A = radon (int64 (ones (2,2)), 90); 489s assert (A, B) 489s A = radon (uint8 (ones (2,2)), 90); 489s assert (A, B) 489s A = radon (uint16 (ones (2,2)), 90); 489s assert (A, B) 489s A = radon (uint32 (ones (2,2)), 90); 489s assert (A, B) 489s A = radon (uint64 (ones (2,2)), 90); 489s B = [0, 0.25, 1.75, 1.75, 0.25, 0. 0.]'; 489s assert (A, B) 489s bug #58567 489s A = radon (logical (ones (2,2)), 90); 489s assert (A, B) 489s ***** error 489s radon (); 490s ***** error 490s radon ('xxx'); 490s ***** error 490s radon (ones (2, 2), ones (2,2)); 490s ***** error 490s radon (ones (2, 2), 'xxx'); 490s 6 tests, 6 passed, 0 known failure, 0 skipped 490s [inst/lab2double.m] 490s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/lab2double.m 490s ***** test 490s l_max_f = 100 + (25500 / 65280); 490s ab_max_f = 127 + (255 / 256); 490s cm = [ 490s -Inf 490s Inf 490s NaN 490s l_max_f 490s ab_max_f 490s -200 490s -129 490s -128 490s -128+(255/65280)*(0.499999) 490s -128+(255/65280)*(0.500001) # should be 0.5, but float rounding error 490s -128+(255/65280)*(0.500002) 490s -127 490s -1 490s 0 490s (100/65280)*(0.499999) 490s (100/65280)*(0.51) 490s (100/65280)*(0.500001) 490s 1 490s 99 490s 100 490s 101 490s 126 490s 127 490s 128 490s 254 490s 255 490s 256 490s 257]; 490s cm = repmat (cm, [1 3]); 490s im2d = reshape (cm, [7 4 3]); 490s imnd = permute (im2d, [1 4 3 2]); 490s 490s cm_uint8 = uint8 ([ 490s 0 0 0 490s 255 255 255 490s 255 255 255 490s 255 228 228 490s 255 255 255 490s 0 0 0 490s 0 0 0 490s 0 0 0 490s 0 0 0 490s 0 0 0 490s 0 0 0 490s 0 1 1 490s 0 127 127 490s 0 128 128 490s 0 128 128 490s 0 128 128 490s 0 128 128 490s 3 129 129 490s 252 227 227 490s 255 228 228 490s 255 229 229 490s 255 254 254 490s 255 255 255 490s 255 255 255 490s 255 255 255 490s 255 255 255 490s 255 255 255 490s 255 255 255]); 490s 490s assert (lab2uint8 (cm), cm_uint8) 490s im2d_uint8 = reshape (cm_uint8, [7 4 3]); 490s assert (lab2uint8 (im2d), im2d_uint8) 490s assert (lab2uint8 (imnd), permute (im2d_uint8, [1 4 3 2])) 490s 490s cm_uint16 = uint16 ([ 490s 0 0 0 490s 65535 65535 65535 490s 65535 65535 65535 490s 65535 58468 58468 490s 65535 65535 65535 490s 0 0 0 490s 0 0 0 490s 0 0 0 490s 0 0 0 490s 0 1 1 490s 0 1 1 490s 0 256 256 490s 0 32512 32512 490s 0 32768 32768 490s 0 32768 32768 490s 1 32768 32768 490s 1 32768 32768 490s 653 33024 33024 490s 64627 58112 58112 490s 65280 58368 58368 490s 65535 58624 58624 490s 65535 65024 65024 490s 65535 65280 65280 490s 65535 65535 65535 490s 65535 65535 65535 490s 65535 65535 65535 490s 65535 65535 65535 490s 65535 65535 65535]); 490s 490s assert (lab2uint16 (cm), cm_uint16) 490s im2d_uint16 = reshape (cm_uint16, [7 4 3]); 490s assert (lab2uint16 (im2d), im2d_uint16) 490s assert (lab2uint16 (imnd), permute (im2d_uint16, [1 4 3 2])) 490s 490s assert (lab2single (cm), single (cm)) 490s assert (lab2single (im2d), single (im2d)) 490s assert (lab2single (imnd), single (imnd)) 490s 1 test, 1 passed, 0 known failure, 0 skipped 490s [inst/psf2otf.m] 490s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/psf2otf.m 490s ***** test 490s psf = rand (6, 1); 490s assert (psf2otf (psf), fft (circshift (psf, [-3])), eps); 490s ***** test 490s psf = rand (6, 6); 490s assert (psf2otf (psf), fft2 (circshift (psf, [-3 -3])), eps); 490s ***** test 490s psf = rand (6, 6, 6); 490s assert (psf2otf (psf), fftn (circshift (psf, [-3 -3 -3])), eps); 490s ***** test 490s psf = rand (7, 1); 490s assert (psf2otf (psf), fft (circshift (psf, [-3])), eps); 490s ***** test 490s psf = rand (7, 7); 490s assert (psf2otf (psf), fft2 (circshift (psf, [-3 -3])), eps); 490s ***** test 490s psf = rand (6, 7, 8); 490s assert (psf2otf (psf), fftn (circshift (psf, [-3 -3 -4])), eps); 490s ***** test 490s psf = rand (6, 1); 490s ppsf = [psf; 0]; 490s assert (psf2otf (psf, 7), fft (circshift (ppsf, [-3])), eps); 490s ***** test 490s psf = rand (6, 1); 490s ppsf = [[psf; 0] zeros(7, 6)]; 490s assert (psf2otf (psf, [7 7]), fft2 (circshift (ppsf, [-3 0])), eps); 490s ***** test 490s psf = rand (6, 6); 490s ppsf = [psf zeros(6, 1)]; 490s assert (psf2otf (psf, [6 7]), fft2 (circshift (ppsf, [-3 -3])), eps); 490s ***** error psf2otf ('foo') 490s ***** error psf2otf (rand (16), 14) 490s ***** error psf2otf (rand (16), [14 14]) 490s ***** error psf2otf (rand (16), [18]) 490s ***** error psf2otf (rand (16), [18 14]) 490s ***** test 490s psf = fspecial ("gaussian", 16) + 1i; 490s otf = psf2otf (psf); 490s assert (otf2psf (otf), psf, eps); 490s 15 tests, 15 passed, 0 known failure, 0 skipped 490s [inst/axes2pix.m] 490s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/axes2pix.m 490s ***** error id=Octave:invalid-fun-call axes2pix () 490s ***** error id=Octave:invalid-fun-call axes2pix (42) 490s ***** error id=Octave:invalid-fun-call axes2pix (42, [1, 2]) 490s ***** error id=Octave:invalid-input-arg axes2pix ([42, 43], [1, 2], [1, 2, 3]) 490s ***** error id=Octave:invalid-input-arg axes2pix (42, [1, 2; 3, 4], [1, 2, 3]) 490s ***** assert (axes2pix (42, [1 42], []), []) 490s ***** assert (axes2pix (240, [1, 240], 30), 30) 490s ***** assert (axes2pix (291, [1, 291], 30), 30) 490s ***** assert (axes2pix (240, [400.5, 520], 450), 100) 490s ***** assert (axes2pix (291, [-19, 271], 90), 110) 490s ***** assert (axes2pix (1, [1 1], [0, 1, 2, 3, 4]), [0, 1, 2, 3, 4]) 490s ***** assert (axes2pix (5, [1 1], [0, 1, 2, 3, 4]), [0, 1, 2, 3, 4]) 490s ***** assert (axes2pix (0, [1 1], [0, 1, 2, 3, 4]), [0, 1, 2, 3, 4]) 490s ***** assert (axes2pix (5, [5 1], [1, 2, 3, 4, 5]), [5, 4, 3, 2, 1]) 490s ***** assert (axes2pix (5, [3 -1], [1, 2, 3, 4, 5]), [3, 2, 1, 0, -1]) 490s ***** assert (axes2pix (25, [5 1], [1, 2, 3, 4, 5]), [25, 19, 13, 7, 1]) 490s ***** assert (axes2pix (1, [1 5], [1, 2, 3, 4, 5]), [1, 2, 3, 4, 5]) 490s ***** assert (axes2pix (1, [5 1], [-1, 0, 1, 2.5]), [-5, -4, -3, -1.5]) 490s ***** assert (axes2pix (1, [-10 -15], [-1, 0, 1.5]), [10, 11, 12.5]) 490s ***** assert (axes2pix (5, [5; 1], [1, 2, 3, 4, 5]), [5, 4, 3, 2, 1]) 490s ***** assert (axes2pix (5, [5; 1], [1; 2; 3; 4; 5]), [5; 4; 3; 2; 1]) 490s 21 tests, 21 passed, 0 known failure, 0 skipped 490s [inst/deconvwnr.m] 490s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/deconvwnr.m 490s ***** shared im0, psf0, im0_out, psf1, im2, out2_0, out2_1, im3 490s im0 = ones (5, 5); 490s psf0 = ones (3, 3); 490s im0_out = 0.11111 .* ones (5, 5); 490s psf1 = [1 0 0; 0 1 0; 0 0 1]; 490s im2 = checkerboard (2, 2, 2); 490s out2_0 = [ 490s -0.4713 -0.2786 0.4229 0.5161 -0.2759 -0.4685 0.5131 0.4199; 490s -0.4713 -0.2786 0.4229 0.5161 -0.2759 -0.4685 0.5131 0.4199; 490s 0.5161 0.4229 -0.2786 -0.4713 0.4199 0.5131 -0.4685 -0.2759; 490s 0.5161 0.4229 -0.2786 -0.4713 0.4199 0.5131 -0.4685 -0.2759; 490s -0.4713 -0.2786 0.4229 0.5161 -0.2759 -0.4685 0.5131 0.4199; 490s -0.4713 -0.2786 0.4229 0.5161 -0.2759 -0.4685 0.5131 0.4199; 490s 0.5161 0.4229 -0.2786 -0.4713 0.4199 0.5131 -0.4685 -0.2759; 490s 0.5161 0.4229 -0.2786 -0.4713 0.4199 0.5131 -0.4685 -0.2759]; 490s out2_1 = [ 490s -0.0000 0.8481 0.4288 -0.4194 0.0000 0.2765 0.1373 -0.1392; 490s 0.5623 -0.0000 -0.4194 0.1429 0.5623 0.0000 -0.1392 0.4231; 490s 0.1429 -0.4194 0 0.5623 0.4231 -0.1392 0 0.5623; 490s -0.4194 0.4288 0.8481 0 -0.1392 0.1373 0.2765 0; 490s -0.0000 0.8481 0.4288 -0.4194 0.0000 0.2765 0.1373 -0.1392; 490s 0.5623 -0.0000 -0.4194 0.1429 0.5623 0.0000 -0.1392 0.4231; 490s 0.1429 -0.4194 0 0.5623 0.4231 -0.1392 0 0.5623; 490s -0.4194 0.4288 0.8481 0 -0.1392 0.1373 0.2765 0]; 490s im3 = rot90 (diag (0.5.*ones (1,8)) + diag (ones(1,7), 1)); 490s ***** error deconvwnr () 491s ***** error deconvwnr (ones (5)) 491s ***** assert (deconvwnr (ones (5), ones (3))) 491s ***** assert (deconvwnr (ones (5), ones (3), 0.7)) 491s ***** assert (deconvwnr (ones (5), ones (3), 0.5 .* ones (5))) 491s ***** assert (deconvwnr (ones (5, 5, 5), ones (3))) 491s ***** error deconvwnr (ones (5), ones (3), -0.7) 491s ***** error 491s deconvwnr (ones (5), ones (7)) 491s ***** error 491s deconvwnr (ones (5, 8, 2), ones (6, 5)) 491s ***** assert (deconvwnr (im0, psf0), im0_out, 1e-5) 491s ***** assert (deconvwnr (im0, single (psf0)), im0_out, 1e-5) 491s ***** assert (class (deconvwnr (im0, psf0)), "double") 491s ***** assert (deconvwnr (single (im0), psf0), single (im0_out), 1e-5) 491s ***** assert (class (deconvwnr (single (im0), psf0)), "single") 491s ***** assert (deconvwnr (im2uint8 (im0), psf0), im2uint8 (im0_out)) 491s ***** assert (class (deconvwnr (im2uint8 (im0), psf0)), "uint8") 491s ***** assert (deconvwnr (im2uint16 (im0), psf0), im2uint16 (im0_out)) 491s ***** assert (class (deconvwnr (im2uint16 (im0), psf0)), "uint16") 491s ***** assert (deconvwnr (im2int16 (im0), psf0), im2int16 (im0_out)) 491s ***** assert (class (deconvwnr (im2int16 (im0), psf0)), "int16") 491s ***** error deconvwnr (true (5), ones (3)) 491s ***** test 491s assert (deconvwnr (im0, psf0, 0.01), im0_out, 1e-4) 491s assert (deconvwnr (im0, psf1, 0.01), 0.333.*ones (5), 1e-4) 491s ***** test 491s im1 = magic (5)./25; 491s out1_0 = [ 491s -0.0820 0.5845 -0.4293 0.2372 -0.0214; 491s 0.6241 -0.5877 0.2768 0.0182 -0.0424; 491s -0.5481 0.3164 0.0578 -0.2009 0.6637; 491s 0.1580 0.0974 -0.1613 0.7033 -0.5085; 491s 0.1370 -0.1217 0.5449 -0.4689 0.1976]; 491s out1_1 = [ 491s -0.2959 -0.1363 0.4038 0.7595 0.1347; 491s -0.0191 0.3269 0.8768 0.0559 -0.3748; 491s 0.2481 0.7979 0.1731 -0.4517 0.0982; 491s 0.7210 0.2904 -0.5305 0.0194 0.3654; 491s 0.2116 -0.4132 -0.0575 0.4826 0.6422]; 491s assert (deconvwnr (im1, psf0, 0.01), out1_0, 1e-4) 491s assert (deconvwnr (im1, psf1, 0.01), out1_1, 1e-4) 491s ***** test 491s assert (deconvwnr (im2, psf0, 0.01), out2_0, 1e-4) 491s assert (deconvwnr (im2, psf1, 0.01), out2_1, 1e-4) 491s ***** test 491s out3_0_x = [ 491s -1.1111 1.0556 -0.4444 -0.1111 0.5556 -0.9444 0.8889 0.0556; 491s 1.0556 -0.7778 0.2222 0.5556 -1.2778 1.2222 0.0556 -0.7778; 491s -0.4444 0.2222 0.2222 -0.9444 1.2222 -0.2778 -0.4444 0.7222; 491s -0.1111 0.5556 -0.9444 0.8889 0.0556 -0.4444 0.3889 -0.4444; 491s 0.5556 -1.2778 1.2222 0.0556 -0.7778 0.7222 -0.4444 0.2222; 491s -0.9444 1.2222 -0.2778 -0.4444 0.7222 -0.7778 0.5556 0.2222; 491s 0.8889 0.0556 -0.4444 0.3889 -0.4444 0.5556 -0.1111 -0.9444; 491s 0.0556 -0.7778 0.7222 -0.4444 0.2222 0.2222 -0.9444 1.2222]; 491s out3_0_01 = [ 491s -0.5064 0.2140 0.1101 -0.0993 0.0297 -0.1942 0.3223 0.0772; 491s 0.2140 -0.0659 0.0375 0.0891 -0.4109 0.4783 0.2202 -0.2860; 491s 0.1101 0.0375 -0.0525 -0.3208 0.5721 0.0034 -0.1743 0.0939; 491s -0.0993 0.0891 -0.3208 0.4624 0.0936 -0.1150 -0.1395 -0.0135; 491s 0.0297 -0.4109 0.5721 0.0936 -0.2566 -0.0027 0.1101 0.1341; 491s -0.1942 0.4783 0.0034 -0.1150 -0.0027 -0.0659 0.2542 -0.0819; 491s 0.3223 0.2202 -0.1743 -0.1395 0.1101 0.2542 -0.3023 -0.3371; 491s 0.0772 -0.2860 0.0939 -0.0135 0.1341 -0.0819 -0.3371 0.6794]; 491s out3_0_00001 = [ 491s -1.1087 1.0520 -0.4419 -0.1112 0.5532 -0.9410 0.8864 0.0557; 491s 1.0520 -0.7746 0.2213 0.5537 -1.2742 1.2190 0.0565 -0.7759; 491s -0.4419 0.2213 0.2211 -0.9418 1.2196 -0.2767 -0.4433 0.7195; 491s -0.1112 0.5537 -0.9418 0.8870 0.0557 -0.4428 0.3864 -0.4425; 491s 0.5532 -1.2742 1.2196 0.0557 -0.7755 0.7188 -0.4419 0.2220; 491s -0.9410 1.2190 -0.2767 -0.4428 0.7188 -0.7746 0.5544 0.2206; 491s 0.8864 0.0565 -0.4433 0.3864 -0.4419 0.5544 -0.1121 -0.9418; 491s 0.0557 -0.7759 0.7195 -0.4425 0.2220 0.2206 -0.9418 1.2201]; 491s out3_0_3 = [ 491s -0.0893 -0.0089 0.0446 -0.0357 -0.0268 0.0268 0.0893 0.0446; 491s -0.0089 0.0223 -0.0089 -0.0357 -0.0089 0.1473 0.1161 0.0179; 491s 0.0446 -0.0089 -0.0357 -0.0089 0.1607 0.0804 -0.0089 -0.0357; 491s -0.0357 -0.0357 -0.0089 0.1652 0.0804 -0.0179 -0.0714 0.0045; 491s -0.0268 -0.0089 0.1607 0.0804 -0.0179 -0.0446 0.0446 -0.0000; 491s 0.0268 0.1473 0.0804 -0.0179 -0.0446 0.0223 0.0268 -0.0000; 491s 0.0893 0.1161 -0.0089 -0.0714 0.0446 0.0268 -0.1071 -0.0446; 491s 0.0446 0.0179 -0.0357 0.0045 0.0000 -0.0000 -0.0446 0.1652]; 491s out3_1_x = [ 491s -0.3333 0.1667 -0.6667 -0.3333 0.3333 0.1667 0.3333 0.1667; 491s 0.1667 -0.3333 -0.3333 0.3333 0.1667 0.3333 0.1667 0.3333; 491s -0.6667 -0.3333 0.6667 0.1667 0.3333 0.1667 0.3333 0.1667; 491s -0.3333 0.3333 0.1667 -0.3333 0.1667 0.3333 0.1667 -0.6667; 491s 0.3333 0.1667 0.3333 0.1667 0.6667 0.1667 -0.6667 -0.3333; 491s 0.1667 0.3333 0.1667 0.3333 0.1667 -0.3333 -0.3333 0.3333; 491s 0.3333 0.1667 0.3333 0.1667 -0.6667 -0.3333 -0.3333 0.1667; 491s 0.1667 0.3333 0.1667 -0.6667 -0.3333 0.3333 0.1667 0.6667]; 491s out3_1_01 = [ 491s -0.1868 0.1548 -0.5994 -0.2997 0.3097 0.1548 0.3097 0.1548; 491s 0.1548 -0.2997 -0.2997 0.3097 0.1548 0.3097 0.1548 0.3097; 491s -0.5994 -0.2997 0.4965 0.1548 0.3097 0.1548 0.3097 0.1548; 491s -0.2997 0.3097 0.1548 -0.1247 0.1548 0.3097 0.1548 -0.5994; 491s 0.3097 0.1548 0.3097 0.1548 0.4965 0.1548 -0.5994 -0.2997; 491s 0.1548 0.3097 0.1548 0.3097 0.1548 -0.2997 -0.2997 0.3097; 491s 0.3097 0.1548 0.3097 0.1548 -0.5994 -0.2997 -0.1868 0.1548; 491s 0.1548 0.3097 0.1548 -0.5994 -0.2997 0.3097 0.1548 0.4343]; 491s out3_1_00001 = [ 491s -0.3331 0.1667 -0.6666 -0.3333 0.3333 0.1667 0.3333 0.1667; 491s 0.1667 -0.3333 -0.3333 0.3333 0.1667 0.3333 0.1667 0.3333; 491s -0.6666 -0.3333 0.6664 0.1667 0.3333 0.1667 0.3333 0.1667; 491s -0.3333 0.3333 0.1667 -0.3330 0.1667 0.3333 0.1667 -0.6666; 491s 0.3333 0.1667 0.3333 0.1667 0.6664 0.1667 -0.6666 -0.3333; 491s 0.1667 0.3333 0.1667 0.3333 0.1667 -0.3333 -0.3333 0.3333; 491s 0.3333 0.1667 0.3333 0.1667 -0.6666 -0.3333 -0.3331 0.1667; 491s 0.1667 0.3333 0.1667 -0.6666 -0.3333 0.3333 0.1667 0.6663]; 491s out3_1_3 = [ 491s -0.0089 0.0625 -0.1250 -0.0625 0.1250 0.0625 0.1250 0.0625; 491s 0.0625 -0.0625 -0.0625 0.1250 0.0625 0.1250 0.0625 0.1250; 491s -0.1250 -0.0625 0.1339 0.0625 0.1250 0.0625 0.1250 0.0625; 491s -0.0625 0.1250 0.0625 0.0982 0.0625 0.1250 0.0625 -0.1250; 491s 0.1250 0.0625 0.1250 0.0625 0.1339 0.0625 -0.1250 -0.0625; 491s 0.0625 0.1250 0.0625 0.1250 0.0625 -0.0625 -0.0625 0.1250; 491s 0.1250 0.0625 0.1250 0.0625 -0.1250 -0.0625 -0.0089 0.0625; 491s 0.0625 0.1250 0.0625 -0.1250 -0.0625 0.1250 0.0625 0.0268]; 491s assert (deconvwnr (im3, psf0), out3_0_x, 1e-4) 491s assert (deconvwnr (im3, psf0, 0.1), out3_0_01, 1e-4) 491s assert (deconvwnr (im3, psf0, 0.0001), out3_0_00001, 1e-4) 491s assert (deconvwnr (im3, psf0, 3), out3_0_3, 1e-4) 491s assert (deconvwnr (im3, psf1), out3_1_x, 1e-4) 491s assert (deconvwnr (im3, psf1, 0.1), out3_1_01, 1e-4) 491s assert (deconvwnr (im3, psf1, 0.0001), out3_1_00001, 1e-4) 491s assert (deconvwnr (im3, psf1, 3), out3_1_3, 1e-4) 491s ***** test 491s im_rgb = cat (3, im2, im3, magic (8)./64); 491s out_rgb_0(:, :, 1) = out2_0; 491s out_rgb_0(:, :, 2) = [ 491s -0.9255 0.7869 -0.2553 -0.1154 0.3801 -0.6906 0.7000 0.0651; 491s 0.7869 -0.5407 0.1534 0.4141 -1.0064 0.9816 0.1222 -0.6335; 491s -0.2553 0.1534 0.1343 -0.7453 1.0211 -0.1936 -0.3586 0.5209; 491s -0.1154 0.4141 -0.7453 0.7468 0.0675 -0.3247 0.2023 -0.2996; 491s 0.3801 -1.0064 1.0211 0.0675 -0.6045 0.4711 -0.2553 0.2032; 491s -0.6906 0.9816 -0.1936 -0.3247 0.4711 -0.5407 0.4692 0.1052; 491s 0.7000 0.1222 -0.3586 0.2023 -0.2553 0.4692 -0.1868 -0.7477; 491s 0.0651 -0.6335 0.5209 -0.2996 0.2032 0.1052 -0.7477 1.0630]; 491s out_rgb_0(:, :, 3) = [ 491s -0.8118 0.8805 0.8341 -0.7963 -0.6343 0.8222 0.7757 -0.6188; 491s 0.5720 -0.4151 -0.3687 0.5565 0.3945 -0.3567 -0.3103 0.3791; 491s 0.2007 -0.0438 0.0026 0.1852 0.0232 0.0146 0.0610 0.0078; 491s -0.6880 0.7568 0.7104 -0.6725 -0.5105 0.6984 0.6520 -0.4951; 491s 0.6079 -0.5392 -0.5856 0.6234 0.7854 -0.5975 -0.6439 0.8008; 491s 0.1051 0.0519 0.0983 0.0896 -0.0724 0.1102 0.1566 -0.0879; 491s -0.2662 0.4231 0.4696 -0.2817 -0.4437 0.4815 0.5279 -0.4592; 491s 0.7317 -0.6629 -0.7093 0.7471 0.9091 -0.7213 -0.7677 0.9246]; 491s out_rgb_1(:, :, 1) = out2_1; 491s out_rgb_1(:, :, 2) = [ 491s -0.3110 0.1654 -0.6593 -0.3297 0.3308 0.1654 0.3308 0.1654; 491s 0.1654 -0.3297 -0.3297 0.3308 0.1654 0.3308 0.1654 0.3308; 491s -0.6593 -0.3297 0.6418 0.1654 0.3308 0.1654 0.3308 0.1654; 491s -0.3297 0.3308 0.1654 -0.3016 0.1654 0.3308 0.1654 -0.6593; 491s 0.3308 0.1654 0.3308 0.1654 0.6418 0.1654 -0.6593 -0.3297; 491s 0.1654 0.3308 0.1654 0.3308 0.1654 -0.3297 -0.3297 0.3308; 491s 0.3308 0.1654 0.3308 0.1654 -0.6593 -0.3297 -0.3110 0.1654; 491s 0.1654 0.3308 0.1654 -0.6593 -0.3297 0.3308 0.1654 0.6323]; 491s out_rgb_1(:, :, 3) = [ 491s -0.0240 0.3338 0.3335 0.0329 0.0344 0.1564 0.3942 0.0913; 491s 0.7871 0.6512 -0.5394 -0.2225 0.7287 0.5905 -0.3619 -0.2809; 491s 0.1333 -0.7196 0.2335 1.0291 0.0749 -0.5421 0.1728 0.9708; 491s -0.2201 0.4109 0.6487 -0.1632 -0.1617 0.4716 0.4713 -0.1048; 491s 0.4430 -0.1331 -0.1334 0.4999 0.5014 -0.3106 -0.0727 0.5582; 491s -0.6326 0.1654 0.8803 0.2633 -0.6910 0.1047 1.0577 0.2049; 491s 0.6191 0.7001 -0.2523 -0.3905 0.5607 0.8776 -0.3130 -0.4489; 491s 0.2469 -0.0561 0.1818 0.3038 0.3052 0.0047 0.0043 0.3621]; 491s assert (deconvwnr (im_rgb, psf0, 0.01), out_rgb_0, 1e-4) 491s assert (deconvwnr (im_rgb, psf1, 0.01), out_rgb_1, 1e-4) 491s ***** test 491s ## Test that psf and nsr can be of class single, but are usually 491s ## internally as doubles. Matlab requires everything all to be 491s ## double so this is Matlab incompatible behaviour by design. 491s nsr = 0.1; 491s psf1_recast = double (single (psf1)); 491s nsr_recast = double (single (0.1)); 491s deconvolved = deconvwnr (im2, psf1_recast, nsr_recast); 491s assert (deconvwnr (im2, single (psf1), single (nsr)), deconvolved) 491s assert (deconvwnr (im2, single (psf1), nsr_recast), deconvolved) 491s assert (deconvwnr (im2, psf1_recast, single (nsr)), deconvolved) 491s ***** demo 491s I = phantom (); 491s figure, imshow (I); 491s title ("Original image"); 491s psf = fspecial ("motion", 30, 15); 491s blurred = imfilter (I, psf, "conv"); 491s figure, imshow (blurred); 491s title ("Image with added motion blur"); 491s var_noise = 0.00005; 491s blurred_noisy = imnoise (blurred, "gaussian", 0, var_noise); 491s figure, imshow (blurred_noisy); 491s title ("Image with motion blur and added Gaussian noise"); 491s estimated_nsr = var_noise / (var(blurred_noisy(:)) - var_noise); 491s J = deconvwnr (blurred_noisy, psf, estimated_nsr); 491s figure, imshow (J) 491s title ({"restored image after Wiener deconvolution", 491s "with known PSF and estimated NSR"}); 491s 27 tests, 27 passed, 0 known failure, 0 skipped 491s [inst/imtransform.m] 491s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imtransform.m 491s ***** demo 491s ## Various linear transforms 491s figure (); 491s im = [checkerboard(20, 2, 4); checkerboard(40, 1, 2)]; 491s %input space corners 491s incp = [1 1; 160 1; 160 160; 1 160]; 491s udata = [min(incp(:,1)) max(incp(:,1))]; 491s vdata = [min(incp(:,2)) max(incp(:,2))]; 491s subplot (2,3,1); 491s imshow (im) 491s hold on 491s plot (incp(:,1), incp(:,2), 'ob') 491s axis on 491s xlabel ('Original') 491s 491s % Translation and scaling 491s outcp = incp * 2; 491s outcp(:,1) += 200; 491s outcp(:,2) += 500; 491s T = maketform ('affine', incp(1:3,:), outcp(1:3,:)); 491s subplot (2,3,2); 491s [im2 xdata ydata] = imtransform (im, T, 'udata', udata, 491s 'vdata', vdata, 'fillvalues', 1); 491s imh = imshow (im2); set (imh, 'xdata', xdata, 'ydata', ydata) 491s set (gca, 'xlim', xdata, 'ylim', ydata) 491s axis on, hold on, xlabel ('Translation / Scaling'); 491s plot (outcp(:,1), outcp(:,2), 'or') 491s 491s % Shear 491s outcp = [1 1; 160 1; 140 160; -19 160]; % affine only needs 3 control points 491s T = maketform ('affine', incp(1:3,:), outcp(1:3,:)); 491s subplot (2,3,3); 491s [im2 xdata ydata] = imtransform (im, T, 'udata', udata, 491s 'vdata', vdata, 'fillvalues', 1); 491s imh = imshow (im2); set (imh, 'xdata', xdata, 'ydata', ydata) 491s set (gca, 'xlim', xdata, 'ylim', ydata) 491s axis on, hold on, xlabel ('Shear'); 491s plot (outcp(:,1), outcp(:,2), 'or') 491s 491s % Rotation 491s theta = pi/4; 491s T = maketform ('affine', [cos(theta) -sin(theta); ... 491s sin(theta) cos(theta); 0 0]); 491s outcp = tformfwd (T, incp); 491s subplot (2,3,4); 491s [im2 xdata ydata] = imtransform (im, T, 'udata', udata, 491s 'vdata', vdata, 'fillvalues', 1 ); 491s imh = imshow (im2); set (imh, 'xdata', xdata, 'ydata', ydata) 491s set (gca, 'xlim', xdata, 'ylim', ydata) 491s axis on, hold on, xlabel ('Rotation'); 491s plot (outcp(:,1), outcp(:,2), 'or') 491s 491s % Reflection around x axis 491s outcp = incp; 491s outcp(:,2) *= -1; 491s T = cp2tform (incp, outcp, 'similarity'); 491s subplot (2,3,5); 491s [im2 xdata ydata] = imtransform (im, T, 'udata', udata, 491s 'vdata', vdata, 'fillvalues', 1 ); 491s imh = imshow (im2); set (imh, 'xdata', xdata, 'ydata', ydata) 491s set (gca, 'xlim', xdata, 'ylim', ydata) 491s axis on, hold on, xlabel ('Reflection'); 491s plot (outcp(:,1), outcp(:,2), 'or') 491s 491s % Projection 491s outcp = [1 1; 160 -40; 220 220; 12 140]; 491s T = maketform ('projective', incp, outcp); 491s subplot (2,3,6); 491s [im2 xdata ydata] = imtransform (im, T, 'udata', udata, 491s 'vdata', vdata, 'fillvalues', 1 ); 491s imh = imshow (im2); set (imh, 'xdata', xdata, 'ydata', ydata) 491s set (gca, 'xlim', xdata, 'ylim', ydata) 491s axis on, hold on, xlabel ('Projection'); 491s plot (outcp(:,1), outcp(:,2), 'or') 491s ***** demo 491s ## Streched image 491s rad = 2; % minimum value: 4/pi 491s [uu vv] = meshgrid ((-2:2)/rad, (-2:2)/rad); 491s rescfactor = sin ((uu.^2 + vv.^2).^.5); 491s inpts = [(reshape (uu, numel (uu), 1)), (reshape (vv, numel (uu), 1))]; 491s xx = rescfactor .* sign(uu); 491s yy = rescfactor .* sign(vv); 491s outpts = [reshape(xx, numel (xx), 1) reshape(yy, numel (yy), 1)]; 491s 491s T = cp2tform (inpts, outpts, "polynomial", 4); 491s figure; 491s subplot (1,2,1) 491s im = zeros (800, 800, 3); 491s im(:,:,1) = checkerboard (100) > 0.2; 491s im(:,:,3) = checkerboard (100) < 0.2; 491s [im2 xdata ydata] = imtransform (im, T, 'udata', [-2 2], 491s 'vdata', [-2 2], 'fillvalues', 491s [0 1 0]); 491s imh = imshow (im2); 491s set (imh, 'xdata', xdata, 'ydata', ydata) 491s set (gca, 'xlim', xdata, 'ylim', ydata) 491s [im cmap] = imread ('default.img'); 491s subplot (1,2,2) 491s [im2 xdata ydata] = imtransform (im, T, 'udata', [-1 1], 491s 'vdata', [-1 1], 'fillvalues', 491s round (length (cmap) / 2)); 491s imh = imshow (im2, cmap); 491s ***** test 491s im = checkerboard (); 491s incp = [0 0; 0 1; 1 1]; 491s scl = 10; 491s outcp = scl * incp; 491s T = maketform ('affine', incp, outcp); 491s [im2 xdata ydata] = imtransform (im, T, 'udata', [0 1], 491s 'vdata', [0 1], 'size', [500 500]); 491s assert (xdata, scl * ([0 1])) 491s assert (ydata, scl * ([0 1])) 491s assert (size (im2), [500 500]) 491s ***** test 491s im = checkerboard (); 491s incp = [0 0; 0 1; 1 1]; 491s scl = 10; 491s outcp = scl * incp; 491s xyscale = scl; 491s T = maketform ('affine', incp, outcp); 491s [im2 xdata ydata] = imtransform (im, T, 'xyscale', xyscale); 491s assert (size (im2), size (im), 1) 491s ***** test 491s im = checkerboard (100, 10, 4); 491s theta = 2 * pi; 491s T = maketform ("affine", [cos(theta) -sin(theta); ... 491s sin(theta) cos(theta); 0 0]); 491s im2 = imtransform (im, T, "nearest", "xdata", [1 800], "ydata", [1 2000]); 491s im = im(2:end-1, 2:end-1); %avoid boundaries 491s im2 = im2(2:end-1, 2:end-1); 491s assert (im, im2) 492s ***** test 492s im = checkerboard (20, 10, 4); 492s theta = pi/6; 492s T = maketform ('affine', [cos(theta) -sin(theta); ... 492s sin(theta) cos(theta); 0 0]); 492s [im2, xdata] = imtransform (im, T); 492s nu = columns(im); 492s nv = rows(im); 492s nx = xdata(2); 492s diag = sqrt (nu^2 + nv^2); 492s ang = atan (nv / nu); 492s assert (nx, diag * abs (cos (theta - ang)), 492s diag * 1 / size (im2, 2)) 492s ***** test 492s im = rand (2); 492s tmat = [eye(2); 0 0]; 492s T = maketform ("affine", tmat); 492s im2 = imtransform (im, T, "xdata", [1 3]); 492s assert (im2(:,3), zeros (2,1)) 492s ***** test 492s im = rand (2); 492s tmat = [eye(2); 0 0]; 492s T = maketform ('affine', tmat); 492s im2 = imtransform (im, T, "xdata", [1 3]); 492s assert (size (im2), [2 3]) 492s ***** test 492s im = rand (2); 492s tmat = [eye(2); 0 0]; 492s T = maketform ('affine', tmat); 492s im2 = imtransform (im, T, "xyscale", [0.5 0.5]); 492s assert (size (im2), [3 3]) 492s ***** test 492s im = [1,2,3,4; 5,6,7,8; 9,10,11,12; 13,14,15,16]; 492s tmat = [eye(2); 0 0]; 492s T = maketform ('affine', tmat); 492s im2 = imtransform (im, T, 'xdata', [1 4], 'ydata', [4 1]); 492s assert (im2, [13,14,15,16; 9,10,11,12; 5,6,7,8; 1,2,3,4]) 492s 492s im2 = imtransform (im, T, 'xdata', [4 1], 'ydata', [1 4]); 492s assert (im2, [4,3,2,1; 8,7,6,5; 12,11,10,9; 16,15,14,13]) 492s 492s [im2, xd, yd] = imtransform (im, T, 'xdata', [4 1], 'ydata', [4 1]); 492s assert (im2, [16,15,14,13; 12,11,10,9; 8,7,6,5; 4,3,2,1]) 492s assert (xd, [4 1]) 492s assert (yd, [4 1]) 492s 492s ***** error imtransform () 492s ***** error imtransform (rand(2)) 492s ***** error ... 492s imtransform (rand(2), maketform ('affine', [eye(2); 0 0]), ... 492s 'udata', [1 2], 'vdata', [2 1]); 492s ***** error ... 492s imtransform (rand(2), maketform ('affine', [eye(2); 0 0]), ... 492s 'udata', [2 1], 'vdata', [1 2]); 492s 12 tests, 12 passed, 0 known failure, 0 skipped 492s [inst/lab2uint8.m] 492s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/lab2uint8.m 492s ***** test 492s cm_uint8 = uint8 ([0 1 2 3 4 127 128 200 254 255]); 492s cm_uint8 = repmat (cm_uint8(:), [1 3]); 492s im2d_uint8 = reshape (cm_uint8, [5 2 3]); 492s imnd_uint8 = permute (im2d_uint8, [1 4 3 2]); 492s 492s cm_uint16 = uint16 ([0 256 512 768 1024 32512 32768 51200 65024 65280]); 492s cm_uint16 = repmat (cm_uint16(:), [1 3]); 492s assert (lab2uint16 (cm_uint8), cm_uint16) 492s im2d_uint16 = reshape (cm_uint16, [5 2 3]); 492s assert (lab2uint16 (im2d_uint8), im2d_uint16) 492s assert (lab2uint16 (imnd_uint8), permute (im2d_uint16, [1 4 3 2])) 492s 492s l1 = 100/255; 492s cm = [ 492s 0 -128 -128 492s l1 -127 -127 492s 2*l1 -126 -126 492s 3*l1 -125 -125 492s 4*l1 -124 -124 492s 127*l1 -1 -1 492s 128*l1 0 0 492s 200*l1 72 72 492s 254*l1 126 126 492s 100 127 127]; 492s im2d = reshape (cm, [5 2 3]); 492s imnd = permute (im2d, [1 4 3 2]); 492s 492s assert (lab2double (cm_uint8), cm) 492s assert (lab2double (im2d_uint8), im2d) 492s assert (lab2double (imnd_uint8), imnd) 492s 492s assert (lab2single (cm_uint8), single (cm)) 492s assert (lab2single (im2d_uint8), single (im2d)) 492s assert (lab2single (imnd_uint8), single (imnd)) 492s 1 test, 1 passed, 0 known failure, 0 skipped 492s [inst/padarray.m] 492s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/padarray.m 492s ***** demo 492s padarray([1,2,3;4,5,6],[2,1]) 492s % pads [1,2,3;4,5,6] with a whole border of 2 rows and 1 columns of 0 492s ***** demo 492s padarray([1,2,3;4,5,6],[2,1],5) 492s % pads [1,2,3;4,5,6] with a whole border of 2 rows and 1 columns of 5 492s ***** demo 492s padarray([1,2,3;4,5,6],[2,1],0,'pre') 492s % pads [1,2,3;4,5,6] with a left and top border of 2 rows and 1 columns of 0 492s ***** demo 492s padarray([1,2,3;4,5,6],[2,1],'circular') 492s % pads [1,2,3;4,5,6] with a whole 'circular' border of 2 rows and 1 columns 492s % border 'repeats' data as if we tiled blocks of data 492s ***** demo 492s padarray([1,2,3;4,5,6],[2,1],'replicate') 492s % pads [1,2,3;4,5,6] with a whole border of 2 rows and 1 columns which 492s % 'replicates' edge data 492s ***** demo 492s padarray([1,2,3;4,5,6],[2,1],'symmetric') 492s % pads [1,2,3;4,5,6] with a whole border of 2 rows and 1 columns which 492s % is symmetric to the data on the edge 492s ***** assert (padarray ([1;2], [1]), [0;1;2;0]); 492s ***** assert (padarray ([3 4], [0 2]), [0 0 3 4 0 0]); 492s ***** assert (padarray ([1 2 3; 4 5 6], [1 2]), 492s [zeros(1, 7); 0 0 1 2 3 0 0; 0 0 4 5 6 0 0; zeros(1, 7)]); 492s ***** test 492s assert (padarray ([1 2 3; 4 5 6], [3 2 1]), 492s cat(3, zeros(8, 7), 492s [ [ zeros(3, 7) ] 492s [zeros(2, 2) [1 2 3; 4 5 6] zeros(2, 2) ] 492s [ zeros(3,7)] ], 492s zeros (8, 7))); 492s ***** assert (padarray ([1 2], [4 5]), padarray ([1 2], [4 5], 0)); 492s ***** assert (padarray ([1 2], [4 5]), padarray ([1 2], [4 5], "both")); 492s ***** assert (padarray ([1;2], [1], i), [i; 1; 2; i]); 492s ***** assert (padarray ([1;2], [1], i, "pre"), [i; 1; 2]); 492s ***** assert (padarray ([1;2], [1], i, "post"), [1; 2; i]); 492s ***** assert (padarray ([1;2], [1], i, "both"), [i; 1; 2; i]); 492s ***** assert (padarray ([1 2], [0 1], i, "pre"), [i 1 2]); 492s ***** assert (padarray ([1 2], [0 1], i, "post"), [1 2 i]); 492s ***** assert (padarray ([1 2], [0 1], i, "both"), [i 1 2 i]); 492s ***** assert (padarray ([1 2], [0;1], i, "both"), [i 1 2 i]); 492s ***** test 492s A = [1 2 3; 4 5 6]; 492s B = repmat (A, 7, 9); 492s assert (padarray (A, [1 2], "circular", "pre"), B(2:4,2:6)); 492s assert (padarray (A, [1 2], "circular", "post"), B(3:5,4:8)); 492s assert (padarray (A, [1 2], "circular", "both"), B(2:5,2:8)); 492s ## This tests when padding is bigger than data 492s assert (padarray (A, [5 10], "circular", "both"), B(2:13,3:25)); 492s ***** test 492s A = int8 ([1 2 3; 4 5 6]); 492s B = repmat (A, 7, 9); 492s assert (padarray (A, [1 2], "circular", "pre"), B(2:4,2:6)); 492s assert (padarray (A, [1 2], "circular", "post"), B(3:5,4:8)); 492s assert (padarray (A, [1 2], "circular", "both"), B(2:5,2:8)); 492s ## This tests when padding is bigger than data 492s assert (padarray (A, [5 10], "circular", "both"), B(2:13,3:25)); 492s ***** test 492s A = [1 2; 3 4]; 492s B = kron (A, ones (10, 5)); 492s assert (padarray (A, [9 4], "replicate", "pre"), B(1:11,1:6)); 492s assert (padarray (A, [9 4], "replicate", "post"), B(10:20,5:10)); 492s assert (padarray (A, [9 4], "replicate", "both"), B); 492s ## same with uint class 492s assert (padarray (uint8 (A), [9 4], "replicate", "pre"), uint8 (B(1:11,1:6))); 492s assert (padarray (uint8 (A), [9 4], "replicate", "post"), uint8 (B(10:20,5:10))); 492s assert (padarray (uint8 (A), [9 4], "replicate", "both"), uint8 (B)); 492s ***** test 492s A = [1:3 492s 4:6]; 492s HA = [3:-1:1 492s 6:-1:4]; 492s VA = [4:6 492s 1:3]; 492s VHA = [6:-1:4 492s 3:-1:1]; 492s B = [VHA VA VHA 492s HA A HA 492s VHA VA VHA]; 492s assert (padarray (A, [1 2], "symmetric", "pre"), B(2:4,2:6)); 492s assert (padarray (A, [1 2], "symmetric", "post"), B(3:5,4:8)); 492s assert (padarray (A, [1 2], "symmetric", "both"), B(2:5,2:8)); 492s ## same with int class 492s assert (padarray (int16 (A), [1 2], "symmetric", "pre"), int16 (B(2:4,2:6))); 492s assert (padarray (int16 (A), [1 2], "symmetric", "post"), int16 (B(3:5,4:8))); 492s assert (padarray (int16 (A), [1 2], "symmetric", "both"), int16 (B(2:5,2:8))); 492s ***** assert (padarray (int8 ([1; 2]), [1]), int8 ([0; 1; 2; 0])); 492s ***** assert (padarray (uint8 ([3 4]), [0 2]), uint8 ([0 0 3 4 0 0])); 492s ***** assert (padarray (int16 ([1; 2]), [1], 4), int16 ([4; 1; 2; 4])); 492s ***** assert (padarray (uint16 ([1; 2]), [1], 0), uint16 ([0; 1; 2; 0])); 492s ***** assert (padarray (uint32 ([1; 2]), [1], 6, "post"), uint32 ([1; 2; 6])); 492s ***** assert (padarray (int32 ([1; 2]), [1], int32 (4), "pre"), int32 ([4; 1; 2])); 492s ***** test 492s in = [ 7 5 1 3 492s 5 3 3 4 492s 7 5 2 3 492s 6 1 3 8]; 492s padded = [ 492s 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 492s 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 492s 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 492s 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 492s 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 492s 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 492s 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 492s 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 492s 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 492s 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 492s 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 492s 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 492s 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 492s 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 492s 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 492s 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 492s 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 492s 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 492s 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 492s 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 492s 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 492s 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 492s 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 492s 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2]; 492s for ite = 1:10 492s assert (padarray (in, [ite ite], "symmetric"), padded((11-ite):(14+ite),(11-ite):(14+ite))); 492s assert (padarray (in, [ite ite], "symmetric", "pre"), padded((11-ite):14,(11-ite):14)); 492s assert (padarray (in, [ite ite], "symmetric", "post"), padded(11:(14+ite),11:(14+ite))); 492s endfor 492s ***** test 492s in = [ 7 5 4 9 492s 6 4 5 1 492s 5 3 3 3 492s 2 6 7 3]; 492s padded = [ 492s 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 492s 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 492s 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 492s 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 492s 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 492s 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 492s 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 492s 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 492s 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 492s 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 492s 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 492s 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 492s 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 492s 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 492s 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 492s 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 492s 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 492s 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 492s 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 492s 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 492s 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 492s 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 492s 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 492s 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4]; 492s for ite = 1:10 492s assert (padarray (in, [ite ite], "reflect"), padded((11-ite):(14+ite),(11-ite):(14+ite))); 492s assert (padarray (in, [ite ite], "reflect", "pre"), padded((11-ite):14,(11-ite):14)); 492s assert (padarray (in, [ite ite], "reflect", "post"), padded(11:(14+ite),11:(14+ite))); 492s endfor 492s 26 tests, 26 passed, 0 known failure, 0 skipped 492s [inst/rangefilt.m] 492s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/rangefilt.m 492s ***** test 492s im = rangefilt (ones (5)); 492s assert (im, zeros (5)); 492s ***** test 492s A = zeros (3,3); 492s B = ones (3,3); 492s C = [1 1 1; 2 2 2; 3 3 3]; 492s D = C'; 492s E = ones (3,3); 492s E(2,2) = 2; 492s F = 3 .* ones (3,3); 492s F(2,2) = 1; 492s G = [-1 2 7; -5 2 8; -7 pi 9]; 492s H = [5 2 8; 1 -3 1; 5 1 0]; 492s A_out = [0 0 0; 0 0 0; 0 0 0]; 492s B_out = [0 0 0; 0 0 0; 0 0 0]; 492s C_out = [1 1 1; 2 2 2; 1 1 1]; 492s D_out = [1 2 1; 1 2 1; 1 2 1]; 492s E_out = [1 1 1; 1 1 1; 1 1 1]; 492s F_out = [2 2 2; 2 2 2; 2 2 2]; 492s G_out = [7 13 6; 7+pi 16 7; 7+pi 16 7]; 492s H_out = [8 11 11; 8 11 11; 8 8 4]; 492s assert (rangefilt (A), A_out) 492s assert (rangefilt (B), B_out) 492s assert (rangefilt (C), C_out) 492s assert (rangefilt (D), D_out) 492s assert (rangefilt (E), E_out) 492s assert (rangefilt (F), F_out) 492s assert (rangefilt (G), G_out, eps) 492s assert (rangefilt (H), H_out) 492s 2 tests, 2 passed, 0 known failure, 0 skipped 492s [inst/nlfilter.m] 492s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/nlfilter.m 492s ***** demo 492s ## creates a "wide" diagonal (although it can be performed more 492s ## efficiently with "imdilate (A, true (3))") 492s nlfilter (eye (10), [3 3], @(x) any (x(:) > 0)) 492s ***** assert (nlfilter (eye (4), [2 3], @(x) sum (x(:))), 492s [2 2 1 0 492s 1 2 2 1 492s 0 1 2 2 492s 0 0 1 1]); 492s ***** assert (nlfilter (eye (4), "indexed", [2 3], @(x) sum (x(:))), 492s [4 2 1 2 492s 3 2 2 3 492s 2 1 2 4 492s 4 3 4 5]); 492s ***** assert (nlfilter (eye (4), "indexed", [2 3], @(x, y) sum (x(:)) == y, 2), 492s logical ([0 1 0 1 492s 0 1 1 0 492s 1 0 1 0 492s 0 0 0 0])); 492s ***** assert (nlfilter (uint8 (eye (4)), "indexed", [2 3], @(x) sum (x(:))), 492s [2 2 1 0 492s 1 2 2 1 492s 0 1 2 2 492s 0 0 1 1]); 492s ***** assert (nlfilter (int16 (eye (4)), "indexed", [2 3], @(x) sum (x(:))), 492s [4 2 1 2 492s 3 2 2 3 492s 2 1 2 4 492s 4 3 4 5]); 492s ***** assert (nlfilter (uint8 (eye (4)), "indexed", [2 3], @(x) int8 (sum (x(:)))), 492s int8 ([2 2 1 0 492s 1 2 2 1 492s 0 1 2 2 492s 0 0 1 1])); 492s ***** test 492s ## Effect of out of border elements. 492s expected = [ 492s 0.5 6.0 6.0 0.5 0 492s 5.5 10.5 13.5 10.5 4.0 492s 6.5 12.5 13.5 13.5 1.5 492s 10.5 12.5 15.5 11.0 1.0 492s 5.0 10.5 6.0 1.0 0 492s ]; 492s assert (nlfilter (magic (5), [3 4], @(x) median (x(:))), expected) 492s ***** test 492s ## The center pixel of a sliding window when its length is even 492s ## sized is ceil ((size (NHOOD) +1) /2) 492s expected = [ 492s 24 24 24 16 16 492s 24 24 24 22 22 492s 23 23 22 22 22 492s 25 25 25 25 22 492s 25 25 25 25 21 492s ]; 492s assert (nlfilter (magic (5), [3 4], @(x) max (x(:))), expected) 492s ***** function dilated = imdilate_like_nlfilter (im, nhood) 492s even_nhood_dims = find (mod (size (nhood), 2) == 0); 492s for i = 1:even_nhood_dims 492s im = flip (im, i); 492s endfor 492s dilated = imdilate (im, nhood); 492s for i = 1:even_nhood_dims 492s dilated = flip (dilated, i); 492s endfor 492s ***** endfunction 492s ***** test 492s a = randi (65535, 20, 20, 20, "uint16"); 492s ## extra dimensions on matrix only 492s assert (nlfilter (a, [5 5], @(x) max(x(:))), imdilate (a, ones (5))) 492s ## extra dimensions on both matrix and block 492s assert (nlfilter (a, [5 5 5], @(x) max(x(:))), imdilate (a, ones ([5 5 5]))) 492s ## extra dimensions and padding 492s assert (nlfilter (a, [3 7], @(x) max(x(:))), imdilate (a, ones ([3 7]))) 492s assert (nlfilter (a, [3 7 3], @(x) max(x(:))), imdilate (a, ones ([3 7 3]))) 493s ***** test 493s a = randi (65535, 15, 15, 4, 8, 3, "uint16"); 493s assert (nlfilter (a, [3 4 7 5], @(x) max(x(:))), 493s imdilate_like_nlfilter (a, ones ([3 4 7 5]))) 494s ***** test 494s a = randi (65535, 15, 15, 4, 3, 8, "uint16"); 494s ord = ordfiltn (a, 3, ones ([3 7 3 1 5])); 494s assert (nlfilter (a, [3 7 3 1 5], @(x) sort (x(:))(3)), ord) 494s assert (nlfilter (a, [3 7 3 1 5], @(x, y) sort (x(:))(y), 3), ord) 496s 11 tests, 11 passed, 0 known failure, 0 skipped 496s [inst/entropy.m] 496s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/entropy.m 496s ***** assert (entropy ([0 1]), 1) 496s ***** assert (entropy (uint8 ([0 1])), 1) 496s ***** assert (entropy ([0 0]), 0) 496s ***** assert (entropy ([0]), 0) 496s ***** assert (entropy ([1]), 0) 496s ***** assert (entropy ([0 .5; 2 0]), 1.5) 496s ***** assert (entropy (repmat ([0 .5; 2 0], 1, 1, 3)), 496s entropy ([0 .5; 2 0])) 496s ***** test 496s A = zeros (3,3); 496s B = ones (3,3); 496s C = [1 1 1; 2 2 2; 3 3 3]; 496s D = C'; 496s E = ones (3,3); 496s E(2,2)=2; 496s F = 3 .* ones (3,3); 496s F(2,2)=1; 496s G = [-1 2 7; -5 2 8; -7 pi 9]; 496s H = [5 2 8; 1 -3 1; 5 1 0]; 496s pG = [1 2] ./ 3; 496s G_out = -sum (pG.*log2 (pG)); 496s pH = [2 7] ./ 9; 496s H_out = -sum (pH.*log2 (pH)); 496s assert (entropy (A), 0, eps); 496s assert (entropy (B), 0, eps); 496s assert (entropy (C), 0, eps); 496s assert (entropy (D), 0, eps); 496s assert (entropy (E), 0, eps); 496s assert (entropy (F), 0, eps); 496s assert (entropy (G), G_out, eps); 496s assert (entropy (H), H_out, eps); 496s ***** test 496s A = uint8 (zeros (3,3)); 496s B = uint8 (ones (3,3)); 496s C = uint8 ([1 1 1; 2 2 2; 3 3 3]); 496s D = C'; 496s E = uint8 (ones (3,3)); 496s E(2,2)=2; 496s F = 3 .* uint8 (ones (3,3)); 496s F(2,2)=1; 496s G = uint8 ([0 2 7; 0 2 8; 0 3 9]); 496s H = uint8 ([5 2 8; 1 0 1; 5 1 0]); 496s pC = [1 1 1] ./ 3; 496s C_out = -sum (pC.*log2 (pC)); 496s D_out = C_out; 496s pE = [8 1] ./ 9; 496s E_out = -sum (pE.*log2 (pE)); 496s F_out = E_out; 496s pG = [3 2 1 1 1 1] ./ 9; 496s G_out = -sum (pG.*log2 (pG)); 496s pH = [2 3 1 2 1] ./ 9; 496s H_out = -sum (pH.*log2 (pH)); 496s assert (entropy (A), 0); 496s assert (entropy (B), 0); 496s assert (entropy (C), C_out, eps); 496s assert (entropy (D), D_out, eps); 496s assert (entropy (E), E_out, eps); 496s assert (entropy (F), F_out, eps); 496s assert (entropy (G), G_out, eps); 496s assert (entropy (H), H_out, eps); 496s ***** test 496s L1 = false (3,3); 496s L1(2,2)=true; 496s L2 = true (3,3); 496s L2(2,2)=false; 496s L3 = logical ([0 1 1; 0 1 1; 0 0 1]); 496s p12 = [1 8] ./ 9; 496s out12 = -sum (p12.*log2 (p12)); 496s p3 = [5 4] ./9; 496s out3 = -sum (p3.*log2 (p3)); 496s assert (entropy (L1), out12, eps); 496s assert (entropy (L2), out12, eps); 496s assert (entropy (L3), out3, eps); 496s 10 tests, 10 passed, 0 known failure, 0 skipped 496s [inst/histeq.m] 496s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/histeq.m 496s ***** assert (histeq ([]), []); 496s ***** assert (histeq (0), 1); 496s ***** assert (histeq (1), 1); 496s ***** assert (histeq (1.5), 1); 496s ***** assert (histeq (zeros (100, 200)), ones (100, 200)); # matrix 496s ***** xtest assert (histeq ([0 1]), [0.4920634921 1], 10^-8); 496s !!!!! known failure 496s ASSERT errors for: assert (histeq ([0, 1]),[0.4920634921, 1],10 ^ -8) 496s 496s Location | Observed | Expected | Reason 496s (1) 0.5 0.49206 Abs err 0.0079365 exceeds tol 1e-08 by 0.008 496s ***** xtest assert (histeq ([0 1]'), [0.4920634921 1]', 10^-8); # column array 496s !!!!! known failure 496s ASSERT errors for: assert (histeq ([0, 1]'),[0.4920634921, 1]',10 ^ -8) 496s 496s Location | Observed | Expected | Reason 496s (1) 0.5 0.49206 Abs err 0.0079365 exceeds tol 1e-08 by 0.008 496s ***** xtest assert (histeq ([0 255]), [0.4920634921 1], 10^-8); 496s !!!!! known failure 496s ASSERT errors for: assert (histeq ([0, 255]),[0.4920634921, 1],10 ^ -8) 496s 496s Location | Observed | Expected | Reason 496s (1) 0.5 0.49206 Abs err 0.0079365 exceeds tol 1e-08 by 0.008 496s ***** xtest assert (histeq (uint8 ([0 1])), [ 125 190]); # uint8 496s !!!!! known failure 496s ASSERT errors for: assert (histeq (uint8 ([0, 1])),[125, 190]) 496s 496s Location | Observed | Expected | Reason 496s (1) 0.5 125 Abs err 124.5 exceeds tol 0 by 1e+02 496s (2) 1 190 Abs err 189 exceeds tol 0 by 2e+02 496s ***** xtest assert (histeq (uint8 ([0 255])), [ 125 255]); 496s !!!!! known failure 496s ASSERT errors for: assert (histeq (uint8 ([0, 255])),[125, 255]) 496s 496s Location | Observed | Expected | Reason 496s (1) 0.5 125 Abs err 124.5 exceeds tol 0 by 1e+02 496s (2) 1 255 Abs err 254 exceeds tol 0 by 3e+02 496s ***** xtest assert (histeq (uint16 ([0 1])), [65535 65535]); # uint16 496s !!!!! known failure 496s ASSERT errors for: assert (histeq (uint16 ([0, 1])),[65535, 65535]) 496s 496s Location | Observed | Expected | Reason 496s (1) 0.5 65535 Abs err 65534 exceeds tol 0 by 7e+04 496s (2) 1 65535 Abs err 65534 exceeds tol 0 by 7e+04 496s ***** xtest assert (histeq (uint16 ([0 255])), [32247 48891]); 496s !!!!! known failure 496s ASSERT errors for: assert (histeq (uint16 ([0, 255])),[32247, 48891]) 496s 496s Location | Observed | Expected | Reason 496s (1) 0.5 32247 Abs err 32246 exceeds tol 0 by 3e+04 496s (2) 1 48891 Abs err 48890 exceeds tol 0 by 5e+04 496s ***** xtest assert (histeq (uint16 ([0 256])), [32247 48891]); 496s !!!!! known failure 496s ASSERT errors for: assert (histeq (uint16 ([0, 256])),[32247, 48891]) 496s 496s Location | Observed | Expected | Reason 496s (1) 0.5 32247 Abs err 32246 exceeds tol 0 by 3e+04 496s (2) 1 48891 Abs err 48890 exceeds tol 0 by 5e+04 496s ***** xtest assert (histeq (uint16 ([0 65535])), [32247 65535]); 496s !!!!! known failure 496s ASSERT errors for: assert (histeq (uint16 ([0, 65535])),[32247, 65535]) 496s 496s Location | Observed | Expected | Reason 496s (1) 0.5 32247 Abs err 32246 exceeds tol 0 by 3e+04 496s (2) 1 65535 Abs err 65534 exceeds tol 0 by 7e+04 496s ***** test assert (histeq ([0 1 1] ), [ 1/3 1 1] , 10^-8); 496s ***** test assert (histeq ([0 0 1]'), [ 2/3 2/3 1]', 10^-8); 496s ***** xtest assert (histeq ([0 1 2] ), [ 1/3 1 1] , 10^-8); 496s !!!!! known failure 496s ASSERT errors for: assert (histeq ([0, 1, 2]),[1 / 3, 1, 1],10 ^ -8) 496s 496s Location | Observed | Expected | Reason 496s (2) 0.66667 1 Abs err 0.33333 exceeds tol 1e-08 by 0.3 496s ***** xtest assert (histeq (uint8 ([0 1 2])), [ 85 125 215]); 496s !!!!! known failure 496s ASSERT errors for: assert (histeq (uint8 ([0, 1, 2])),[85, 125, 215]) 496s 496s Location | Observed | Expected | Reason 496s (1) 0.33333 85 Abs err 84.667 exceeds tol 0 by 8e+01 496s (2) 0.66667 125 Abs err 124.33 exceeds tol 0 by 1e+02 496s (3) 1 215 Abs err 214 exceeds tol 0 by 2e+02 496s ***** xtest assert (histeq (uint16 ([0 1 2])), [65535 65535 65535]); 496s !!!!! known failure 496s ASSERT errors for: assert (histeq (uint16 ([0, 1, 2])),[65535, 65535, 65535]) 496s 496s Location | Observed | Expected | Reason 496s (1) 0.33333 65535 Abs err 65535 exceeds tol 0 by 7e+04 496s (2) 0.66667 65535 Abs err 65534 exceeds tol 0 by 7e+04 496s (3) 1 65535 Abs err 65534 exceeds tol 0 by 7e+04 496s ***** xtest assert (histeq (uint16 ([0 100 200])), [43690 43690 55133]); 496s !!!!! known failure 496s ASSERT errors for: assert (histeq (uint16 ([0, 100, 200])),[43690, 43690, 55133]) 496s 496s Location | Observed | Expected | Reason 496s (1) 0.33333 43690 Abs err 43690 exceeds tol 0 by 4e+04 496s (2) 0.66667 43690 Abs err 43689 exceeds tol 0 by 4e+04 496s (3) 1 55133 Abs err 55132 exceeds tol 0 by 6e+04 496s ***** xtest 496s J = [20 32 57 81 105 125 150 174 198 223 247]; 496s assert (histeq (uint8 (0:10:100)), J); 496s !!!!! known failure 496s ASSERT errors for: assert (histeq (uint8 (0:10:100)),J) 496s 496s Location | Observed | Expected | Reason 496s (1) 0.090909 20 Abs err 19.909 exceeds tol 0 by 2e+01 496s (2) 0.18182 32 Abs err 31.818 exceeds tol 0 by 3e+01 496s (3) 0.27273 57 Abs err 56.727 exceeds tol 0 by 6e+01 496s (4) 0.36364 81 Abs err 80.636 exceeds tol 0 by 8e+01 496s (5) 0.45455 105 Abs err 104.55 exceeds tol 0 by 1e+02 496s (6) 0.54545 125 Abs err 124.45 exceeds tol 0 by 1e+02 496s (7) 0.63636 150 Abs err 149.36 exceeds tol 0 by 1e+02 496s (8) 0.72727 174 Abs err 173.27 exceeds tol 0 by 2e+02 496s (9) 0.81818 198 Abs err 197.18 exceeds tol 0 by 2e+02 496s (10) 0.90909 223 Abs err 222.09 exceeds tol 0 by 2e+02 496s (11) 1 247 Abs err 246 exceeds tol 0 by 2e+02 496s ***** xtest 496s J = [0.0793650794 496s 0.1269841270 496s 0.2222222222 496s 0.3174603175 496s 0.4126984127 496s 0.4920634921 496s 0.5873015873 496s 0.6825396825 496s 0.7777777778 496s 0.8730158730 496s 1.0000000000]; 496s assert (histeq (0:0.1:1), J', 10^-8); 496s !!!!! known failure 496s ASSERT errors for: assert (histeq (0:0.1:1),J',10 ^ -8) 496s 496s Location | Observed | Expected | Reason 496s (1) 0.090909 0.079365 Abs err 0.011544 exceeds tol 1e-08 by 0.01 496s (2) 0.18182 0.12698 Abs err 0.054834 exceeds tol 1e-08 by 0.05 496s (3) 0.27273 0.22222 Abs err 0.050505 exceeds tol 1e-08 by 0.05 496s (4) 0.36364 0.31746 Abs err 0.046176 exceeds tol 1e-08 by 0.05 496s (5) 0.45455 0.4127 Abs err 0.041847 exceeds tol 1e-08 by 0.04 496s (6) 0.54545 0.49206 Abs err 0.053391 exceeds tol 1e-08 by 0.05 496s (7) 0.63636 0.5873 Abs err 0.049062 exceeds tol 1e-08 by 0.05 496s (8) 0.72727 0.68254 Abs err 0.044733 exceeds tol 1e-08 by 0.04 496s (9) 0.81818 0.77778 Abs err 0.040404 exceeds tol 1e-08 by 0.04 496s (10) 0.90909 0.87302 Abs err 0.036075 exceeds tol 1e-08 by 0.04 496s 22 tests, 7 passed, 15 known failures, 0 skipped 496s [inst/ordfiltn.m] 496s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/ordfiltn.m 496s ***** shared b, f, s 496s b = [ 0 1 2 3 496s 1 8 12 12 496s 4 20 24 21 496s 7 22 25 18]; 496s 496s f = [ 8 12 12 12 496s 20 24 24 24 496s 22 25 25 25 496s 22 25 25 25]; 496s ***** assert (ordfiltn (b, 9, true (3)), f); 496s 496s f = [ 1 8 12 12 496s 8 20 21 21 496s 20 24 24 24 496s 20 24 24 24]; 496s ***** assert (ordfiltn (b, 8, true (3)), f); 496s 496s f = [ 1 2 8 12 496s 4 12 20 21 496s 8 22 22 21 496s 20 24 24 24]; 496s ***** assert (ordfiltn (b, 7, true (3), "symmetric"), f); 496s 496s f = [ 1 8 12 12 496s 4 20 24 21 496s 7 22 25 21 496s 7 22 25 21]; 496s ***** assert (ordfiltn (b, 3, true (3, 1)), f); 496s 496s f = [ 1 8 12 12 496s 4 20 24 18 496s 4 20 24 18 496s 4 20 24 18]; 496s ***** assert (ordfiltn (b, 3, true (4, 1)), f); 496s 496s f = [ 4 20 24 21 496s 7 22 25 21 496s 7 22 25 21 496s 7 22 25 21]; 496s ***** assert (ordfiltn (b, 4, true (4, 1)), f); 496s 496s s = [0 0 1 496s 0 0 1 496s 0 0 1]; 496s f = [ 2 8 12 12 496s 9 20 22 21 496s 21 25 24 24 496s 21 25 24 24]; 496s ***** assert (ordfiltn (b, 8, true (3), s), f); 496s 496s b(:,:,2) = b(:,:,1) - 1; 496s b(:,:,3) = b(:,:,2) - 1; 496s f(:,:,1) = [ 1 8 11 11 496s 8 20 21 21 496s 20 24 24 24 496s 20 24 24 24]; 496s f(:,:,2) = [ 6 10 11 11 496s 18 22 22 22 496s 20 24 24 24 496s 20 24 24 24]; 496s f(:,:,3) = [ 0 7 10 10 496s 7 19 20 20 496s 19 23 23 23 496s 19 23 23 23]; 496s ***** assert (ordfiltn (b, 25, true (3, 3, 3)), f); 496s 8 tests, 8 passed, 0 known failure, 0 skipped 496s [inst/imfill.m] 496s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imfill.m 496s ***** test 496s I = uint8 (5.*[1 1 1; 1 0 1; 1 1 1]); 496s bw = logical ([1 1 1; 1 0 1; 1 1 1]); 496s I2 = uint8 (5.*ones (3)); 496s bw2 = logical (ones (3)); 496s 496s assert (imfill (int8 (I)), int8 (I2)) 496s assert (imfill (int16 (I)), int16 (I2)) 496s assert (imfill (int32 (I)), int32 (I2)) 496s assert (imfill (int64 (I)), int64 (I2)) 496s assert (imfill (uint8 (I)), uint8 (I2)) 496s assert (imfill (uint16 (I)), uint16 (I2)) 496s assert (imfill (uint32 (I)), uint32 (I2)) 496s assert (imfill (uint64 (I)), uint64 (I2)) 496s assert (imfill (single (I)), single (I2)) 496s assert (imfill (double (I)), double (I2)) 496s assert (imfill (bw, "holes"), bw2) 496s assert (imfill (uint8 (bw)), uint8 (bw2)) 496s ***** error 496s imfill (i + ones (3, 3)); # complex input 496s ***** error 496s imfill (sparse (double (I))); # sparse input 496s ***** error 496s imfill (); 496s ***** error 496s imfill (true (3), 4, "holes", 5) 496s ***** error 496s imfill (false (3), ones (2, 3)) 496s ***** error 496s imfill (false (3), ones (2, 3), 4) 496s ***** error 496s imfill (false (3)) 496s ***** error 496s imfill (false (3), 0, 4) 496s ***** warning 496s bw = logical ([1 1 1; 1 0 1; 1 1 1]); 496s assert (imfill (bw, [5 5]), bw) 496s assert (imfill (bw, 15), bw) 496s 496s bw = repmat (bw, [1 1 3]); 496s assert (imfill (bw, 30), bw) 496s assert (imfill (bw, [2 2 5]), bw) 496s ***** test 496s bw = logical ([1 0 0 0 0 0 0 0 496s 1 1 1 1 1 0 0 0 496s 1 0 0 0 1 0 1 0 496s 1 0 0 0 1 1 1 0 496s 1 1 1 1 0 1 1 1 496s 1 0 0 1 1 0 1 0 496s 1 0 0 0 1 0 1 0 496s 1 0 0 0 1 1 1 0]); 496s bw2 = logical ([1 0 0 0 0 0 0 0 496s 1 1 1 1 1 0 0 0 496s 1 1 1 1 1 0 1 0 496s 1 1 1 1 1 1 1 0 496s 1 1 1 1 1 1 1 1 496s 1 0 0 1 1 1 1 0 496s 1 0 0 0 1 1 1 0 496s 1 0 0 0 1 1 1 0]); 496s bw3 = logical ([1 0 0 0 0 0 0 0 496s 1 1 1 1 1 0 0 0 496s 1 1 1 1 1 0 1 0 496s 1 1 1 1 1 1 1 0 496s 1 1 1 1 0 1 1 1 496s 1 0 0 1 1 0 1 0 496s 1 0 0 0 1 0 1 0 496s 1 0 0 0 1 1 1 0]); 496s assert (imfill (bw, "holes"), bw2) 496s assert (imfill (bw, 8, "holes"), bw2) 496s assert (imfill (bw, 4, "holes"), bw2) 496s assert (imfill (bw, [3 3]), bw3) 496s assert (imfill (bw, 19), bw3) 496s assert (imfill (bw, [3 3], 4), bw3) 496s assert (imfill (bw, 19, 4), bw3) 496s assert (imfill (bw, [3 3], 8), bw2) 496s assert (imfill (bw, 19, 8), bw2) 496s assert (imfill (bw, [19; 20]), bw3) 496s assert (imfill (bw, [19; 20], 4), bw3) 496s assert (imfill (bw, [19; 20], 8), bw2) 496s ***** warning 496s bw = logical ([1 1 1 1 1 1 1 496s 1 0 0 0 0 0 1 496s 1 0 1 1 1 0 1 496s 1 0 1 0 1 0 1 496s 1 0 1 1 1 0 1 496s 1 0 0 0 0 0 1 496s 1 1 1 1 1 1 1]); 496s bw44 = logical ([1 1 1 1 1 1 1 496s 1 0 0 0 0 0 1 496s 1 0 1 1 1 0 1 496s 1 0 1 1 1 0 1 496s 1 0 1 1 1 0 1 496s 1 0 0 0 0 0 1 496s 1 1 1 1 1 1 1]); 496s bw9 = logical ([1 1 1 1 1 1 1 496s 1 1 1 1 1 1 1 496s 1 1 1 1 1 1 1 496s 1 1 1 0 1 1 1 496s 1 1 1 1 1 1 1 496s 1 1 1 1 1 1 1 496s 1 1 1 1 1 1 1]); 496s assert (imfill (bw, "holes"), logical (ones (7))) 496s assert (imfill (bw, [4 4]), bw44) 496s assert (imfill (bw, 9), bw9) 496s assert (imfill (bw, [4 4; 10 10]), bw44) 496s ***** test 496s bw = logical ([1 1 0 1 1]); 496s assert (imfill (bw, "holes"), bw) 496s bw = logical([1 1 0 1 1; 1 1 1 1 1]); 496s assert (imfill (bw, "holes"), bw) 496s ***** test 496s I = zeros (5); 496s I(:, [2 4]) = 1; 496s I2_expected = [0 1 1 1 0 496s 0 1 1 1 0 496s 0 1 1 1 0 496s 0 1 1 1 0 496s 0 1 1 1 0]; 496s I2 = imfill (I, [0 0 0; 1 1 1; 0 0 0], "holes"); 496s assert (I2, I2_expected) 496s ***** test 496s I = zeros (5); 496s I(:, [2 4]) = 1; 496s I2_expected = I; 496s I2 = imfill (I, [0 1 0; 0 1 0; 0 1 0], "holes"); 496s assert (I2, I2_expected) 496s ***** test # this test is Matlab compatible 496s I = zeros (5); 496s I(:, [2 4]) = 1; 496s I2_expected = inf .* ones (5); 496s I2 = imfill (I, [0 0 0; 0 1 0; 0 0 0], "holes"); 496s assert (I2, I2_expected) 496s ***** test 496s I = false (5); 496s I(:, [2 4]) = true; 496s I2_expected = true (5); 496s I2 = imfill (I, [0 0 0; 0 1 0; 0 0 0], "holes"); 496s assert (I2, I2_expected) 496s ***** test 496s I = uint8 ([10 20 80 85 20 496s 15 90 03 25 88 496s 05 85 02 50 83 496s 90 04 03 80 80 496s 10 81 83 85 30]); 496s I2 = uint8 ([10 20 80 85 20 496s 15 90 80 80 88 496s 05 85 80 80 83 496s 90 80 80 80 80 496s 10 81 83 85 30]); 496s I3 = uint8 ([10 20 80 85 20 496s 15 90 05 25 88 496s 05 85 05 50 83 496s 90 05 05 80 80 496s 10 81 83 85 30]); 496s assert (imfill (I), I2) 496s assert (imfill (I, 4), I2) 496s assert (imfill (I, 4, "holes"), I2) 496s assert (imfill (I, 8), I3) 496s assert (imfill (I, "holes"), I2) 496s ***** test 496s v_line = [0 1 0; 0 1 0; 0 1 0]; 496s h_line = [0 0 0; 1 1 1; 0 0 0]; 496s im = [0 1 0 0 1 0]; 496s 496s assert (imfill (im, h_line, "holes"), [0 1 1 1 1 0]) 496s assert (imfill (im, v_line, "holes"), [0 1 0 0 1 0]) 496s assert (imfill (im', h_line, "holes"), [0 1 0 0 1 0]') 496s assert (imfill (im', v_line, "holes"), [0 1 1 1 1 0]') 496s 496s im = repmat (im, [1 1 5]); 496s assert (imfill (im, h_line, "holes"), repmat ([0 1 1 1 1 0], [1 1 5])) 496s assert (imfill (im, v_line, "holes"), im) 496s 496s im = permute (im, [2 1 3]); 496s assert (imfill (im, h_line, "holes"), im) 496s assert (imfill (im, v_line, "holes"), repmat ([0 1 1 1 1 0]', [1 1 5])) 496s ***** test 496s im = logical ([0 0 0 0 0 0 496s 0 1 1 1 1 0 496s 0 1 0 0 1 0 496s 0 1 1 1 1 0 496s 0 0 0 0 0 0]); 496s fi = logical ([0 0 0 0 0 0 496s 0 1 1 1 1 0 496s 0 1 1 1 1 0 496s 0 1 1 1 1 0 496s 0 0 0 0 0 0]); 496s 496s assert (imfill (cat (3, im, im, im), 8, 'holes'), cat (3, fi, fi, fi)) 496s assert (imfill (cat (3, im, im, im), 'holes'), cat (3, im, im, im)) 496s assert (imfill (cat (3, fi, im, fi), 'holes'), cat (3, fi, fi, fi)) 496s ***** test 496s emp = false (5, 6); 496s im = logical ([0 0 0 0 0 0 496s 0 1 1 1 1 0 496s 0 1 0 1 0 1 496s 0 1 1 1 1 0 496s 0 0 0 0 0 0]); 496s fi = logical ([0 0 0 0 0 0 496s 0 1 1 1 1 0 496s 0 1 1 1 1 1 496s 0 1 1 1 1 0 496s 0 0 0 0 0 0]); 496s fi1 = logical ([0 0 0 0 0 0 496s 0 1 1 1 1 0 496s 0 1 1 1 0 1 496s 0 1 1 1 1 0 496s 0 0 0 0 0 0]); 496s fi2 = logical ([0 0 0 0 0 0 496s 0 1 1 1 1 0 496s 0 1 0 1 1 1 496s 0 1 1 1 1 0 496s 0 0 0 0 0 0]); 496s 496s assert (imfill (cat (3, im, im, im), [3 3 2]), cat (3, fi1, fi1, fi1)) 496s assert (imfill (cat (3, im, im, im), [3 5 2]), cat (3, fi2, fi2, fi2)) 496s assert (imfill (cat (3, im, im, im), [3 3 2; 3 5 2]), cat (3, fi, fi, fi)) 496s assert (imfill (cat (3, emp, im, emp), [3 3 2]), true (5, 6, 3)) 496s 21 tests, 21 passed, 0 known failure, 0 skipped 496s [inst/houghlines.m] 496s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/houghlines.m 496s ***** shared BW0, theta0, rho0, peaks0_1, peaks0_2, lines0_1, lines0_2, BW1, theta1, rho1, peaks1, lines1 496s 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]); 496s theta0 = [-90:89]; 496s rho0 = [-7:7]; 496s peaks0_1 = [11 130]; 496s peaks0_2 = [11 130; 4 1]; 496s lines0_1 = struct ("point1", {[1,5]}, "point2", {[5,1]}, "theta", {39}, "rho", {3}); 496s lines0_2 = struct ("point1", {[1,5], [1,5]}, "point2", {[5,1],[5,5]}, "theta", {39,-90}, "rho", {3, -4}); 496s BW1 = diag(ones(50,1)); 496s theta1 = [-90:89]; 496s rho1 = -70:70; 496s peaks1 = [71 46]; 496s lines1 = struct ("point1", {[1 1]}, "point2", {[50 50]}, "theta", {-45}, "rho", {0}); 496s ***** error houghlines () 497s ***** error houghlines (BW1) 497s ***** error houghlines (BW1, theta1) 497s ***** error houghlines (BW1, theta1, rho1) 497s ***** assert (houghlines (BW1, theta1, rho1, peaks1), lines1) 497s ***** error (houghlines (BW1, theta1, rho1, peaks1, [1 2 3])) 497s ***** assert (houghlines (BW1, theta1, rho1, peaks1, "FillGap", 5), lines1) 497s ***** assert (houghlines (BW1, theta1, rho1, peaks1, "MinLength", 2), lines1) 497s ***** assert (houghlines (BW1, theta1, rho1, peaks1, "FillGap", 5, "MinLength", 2), lines1) 497s ***** assert (houghlines (BW1, theta1, rho1, peaks1, "MinLength", 2, "FillGap", 5), lines1) 497s ***** error houghlines (BW1, theta1, rho1, peaks1, "MinLength", 2, [1 2 3]) 497s ***** error houghlines (BW1, theta1, rho1, peaks1, "MinLength", 2, "FillGap", 5, [1 2 3]) 498s ***** assert (houghlines (double (BW1), theta1, rho1, peaks1), lines1) 498s ***** error houghlines (ones(5, 5, 5), theta1, rho1, peaks1) 498s ***** error houghlines ("nonsense", theta1, rho1, peaks1) 498s ***** error houghlines (BW1, ones(5), rho1, peaks1) 498s ***** error houghlines (BW1, "nonsense", rho1, peaks1) 498s ***** error houghlines (BW1, theta1, ones(5), peaks1) 498s ***** error houghlines (BW1, theta1, "nonsense", peaks1) 498s ***** error houghlines (BW1, theta1, rho1, ones(5)) 498s ***** error houghlines (BW1, theta1, rho1, ones(2,2,2)) 498s ***** error houghlines (BW1, theta1, rho1, "nonsense") 498s ***** error houghlines (BW1, theta1, rho1, peaks1, "nonsense", 5) 498s ***** error houghlines (BW1, theta1, rho1, peaks1, "MinLength", -5) 498s ***** error houghlines (BW1, theta1, rho1, peaks1, "MinLength", [3 4]) 498s ***** error houghlines (BW1, theta1, rho1, peaks1, "MinLength", "nonsense") 498s ***** error houghlines (BW1, theta1, rho1, peaks1, "FillGap", -5) 498s ***** error houghlines (BW1, theta1, rho1, peaks1, "FillGap", [3 4]) 498s ***** error houghlines (BW1, theta1, rho1, peaks1, "FillGap", "nonsense") 498s ***** test 498s out = houghlines(BW0, theta0, rho0, peaks0_2, "MinLength", 1); 498s assert (out, lines0_2) # includes class = struct, size = [1,2] 498s ***** test # for empty output 498s n = 100; 498s BW = false (n); 498s a = 50; % line starts at left side at row a 498s b = 3; % slope of line is 1:b 498s for column = 1:n 498s if (rem (column, b) == 0) 498s row = a - column/b; 498s BW(row, column) = true; 498s BW(row, column+1) = true; 498s end 498s end 498s theta = [-90: 89]; 498s rho = [-141:141]; 498s peaks = [188, 163]; 498s out = houghlines(BW, theta, rho, peaks, 'FillGap', 1, 'MinLength', 5); 498s assert (out, struct([])) 498s ***** test 498s out0_1 = houghlines(BW0, theta0, rho0, peaks0_1, 'MinLength', 1); 498s out0_2 = houghlines(BW0, theta0, rho0, peaks0_2, 'MinLength', 1); 498s assert (out0_1, lines0_1); 498s assert (out0_2, lines0_2); 498s ***** test 498s out = houghlines(BW1, theta1, rho1, peaks1); 498s assert (out, lines1); 498s ***** test 498s n = 100; 498s BW = false (n); 498s a = 50; % line starts at left side at row a 498s b = 3; % slope of line is 1:b 498s for column = 1:n 498s if (rem (column, b) == 0) 498s row = a - column/b; 498s BW(row, column) = true; 498s BW(row, column+1) = true; 498s end 498s end 498s theta = [-90:89]; 498s rho = [-141:141]; 498s peaks = [188, 163]; 498s lines_1 = struct ("point1", {[99 17]}, "point2", {[3 49]}, "theta", {72}, "rho", {46}); 498s out_1 = houghlines(BW, theta, rho, peaks); 498s out_n = houghlines(BW, theta, rho, peaks, 'FillGap', 1, 'MinLength', 1); 498s assert (out_1, lines_1) 498s assert (size (out_n), [1, 29]) 498s ***** demo 498s I = checkerboard (30, 1, 1); 498s I = imnoise(I, "salt & pepper", 0.2); 498s figure, imshow (I); 498s title ("noisy image with some lines"); 498s BW = edge (I, "canny"); 498s figure, imshow(BW); 498s title ("edge image"); 498s [H, theta, rho] = hough (BW); 498s figure, imshow (mat2gray (H), [], "XData", theta, "YData", rho); 498s title ("Hough transform of edge image \n 2 peaks marked"); 498s axis on; xlabel("theta [degrees]"); ylabel("rho [pixels]"); 498s peaks = houghpeaks (H, 2); 498s peaks_rho = rho(peaks(:,1)); 498s peaks_theta = theta(peaks(:,2)); 498s hold on; plot (peaks_theta, peaks_rho, "sr"); hold off; 498s lines = houghlines (BW, theta, rho, peaks); 498s figure, imshow (I), hold on; 498s for n = 1:length (lines) 498s points = [lines(n).point1; lines(n).point2]; 498s plot (points(:,1), points(:,2), "r"); 498s endfor 498s title ("the two strongest lines (edges) in the image"), hold off; 498s 34 tests, 34 passed, 0 known failure, 0 skipped 498s [inst/@strel/strel.m] 498s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/@strel/strel.m 498s ***** test 498s shape = logical ([0 0 0 1]); 498s assert (getnhood (strel (shape)), shape); 498s assert (getnhood (strel ("arbitrary", shape)), shape); 498s 498s height = [0 0 0 3]; 498s assert (getnhood (strel ("arbitrary", shape, height)), shape); 498s assert (getheight (strel ("arbitrary", shape, height)), height); 498s ***** test 498s shape = logical ([0 0 1]); 498s height = [-2 1 3]; ## this works for matlab compatibility 498s assert (getnhood (strel ("arbitrary", shape, height)), shape); 498s assert (getheight (strel ("arbitrary", shape, height)), height); 498s ***** test 498s shape = logical ([0 0 0 1 0 0 0 498s 0 1 1 1 1 1 0 498s 0 1 1 1 1 1 0 498s 1 1 1 1 1 1 1 498s 0 1 1 1 1 1 0 498s 0 1 1 1 1 1 0 498s 0 0 0 1 0 0 0]); 498s height = [ 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 498s 0.00000 0.33333 0.66667 0.74536 0.66667 0.33333 0.00000 498s 0.00000 0.66667 0.88192 0.94281 0.88192 0.66667 0.00000 498s 0.00000 0.74536 0.94281 1.00000 0.94281 0.74536 0.00000 498s 0.00000 0.66667 0.88192 0.94281 0.88192 0.66667 0.00000 498s 0.00000 0.33333 0.66667 0.74536 0.66667 0.33333 0.00000 498s 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000]; 498s assert (getnhood (strel ("ball", 3, 1)), shape); 498s assert (getheight (strel ("ball", 3, 1)), height, 0.0001); 498s ***** test 498s shape = logical ([0 0 0 1 0 0 0 498s 0 0 1 1 1 0 0 498s 0 1 1 1 1 1 0 498s 1 1 1 1 1 1 1 498s 0 1 1 1 1 1 0 498s 0 0 1 1 1 0 0 498s 0 0 0 1 0 0 0]); 498s assert (getnhood (strel ("diamond", 3)), shape); 498s ***** test 498s shape = logical ([0 0 0 1 0 0 0 498s 0 1 1 1 1 1 0 498s 0 1 1 1 1 1 0 498s 1 1 1 1 1 1 1 498s 0 1 1 1 1 1 0 498s 0 1 1 1 1 1 0 498s 0 0 0 1 0 0 0]); 498s assert (getnhood (strel ("disk", 3, 0)), shape); 498s ***** test 498s shape = logical ([1 1 1]); 498s assert (getnhood (strel ("line", 3.9, 20.17)), shape); 498s shape = logical ([0 0 1 498s 0 1 0 498s 1 0 0]); 498s assert (getnhood (strel ("line", 3.9, 20.18)), shape); 498s shape = logical ([1 0 0 0 0 0 0 0 0 498s 0 1 0 0 0 0 0 0 0 498s 0 0 1 0 0 0 0 0 0 498s 0 0 1 0 0 0 0 0 0 498s 0 0 0 1 0 0 0 0 0 498s 0 0 0 0 1 0 0 0 0 498s 0 0 0 0 0 1 0 0 0 498s 0 0 0 0 0 0 1 0 0 498s 0 0 0 0 0 0 1 0 0 498s 0 0 0 0 0 0 0 1 0 498s 0 0 0 0 0 0 0 0 1]); 498s assert (getnhood (strel ("line", 14, 130)), shape); 498s ***** test 498s se = strel ("octagon", 0); 498s seq = getsequence (se); 498s assert (getnhood (se), true (1)); 498s assert (getnhood (seq(1)), true (1)); 498s 498s se = strel ("octagon", 3); 498s seq = getsequence (se); 498s shape = logical ([0 0 1 1 1 0 0 498s 0 1 1 1 1 1 0 498s 1 1 1 1 1 1 1 498s 1 1 1 1 1 1 1 498s 1 1 1 1 1 1 1 498s 0 1 1 1 1 1 0 498s 0 0 1 1 1 0 0]); 498s assert (getnhood (se), shape); 498s assert (size (seq), [4 1]); 498s 498s templ1 = logical ([0 0 0; 1 1 1; 0 0 0]); 498s templ2 = logical ([0 1 0; 0 1 0; 0 1 0]); 498s templ3 = logical ([1 0 0; 0 1 0; 0 0 1]); 498s templ4 = logical ([0 0 1; 0 1 0; 1 0 0]); 498s assert ({getnhood(seq(1)) getnhood(seq(2)) getnhood(seq(3)) getnhood(seq(4))}, 498s {templ1 templ2 templ3 templ4}); 498s 498s seq = getsequence (strel ("octagon", 21)); 498s assert (size (seq), [28 1]); 498s assert (arrayfun (@(x) getnhood (seq(x)), 1:4:25, "UniformOutput", false), 498s repmat ({templ1}, 1, 7)); 498s assert (arrayfun (@(x) getnhood (seq(x)), 2:4:26, "UniformOutput", false), 498s repmat ({templ2}, 1, 7)); 498s assert (arrayfun (@(x) getnhood (seq(x)), 3:4:27, "UniformOutput", false), 498s repmat ({templ3}, 1, 7)); 498s assert (arrayfun (@(x) getnhood (seq(x)), 4:4:28, "UniformOutput", false), 498s repmat ({templ4}, 1, 7)); 498s ***** test 498s shape = logical ([1 1 0]'); 498s assert (getnhood (strel ("pair", [-1 0])), shape); 498s shape = logical ([1 0 0 0 0 0 0 498s 0 0 0 1 0 0 0 498s 0 0 0 0 0 0 0]); 498s assert (getnhood (strel ("pair", [-1 -3])), shape); 498s shape = logical ([0 0 0 0 0 0 0 498s 0 0 0 0 0 0 0 498s 0 0 0 1 0 0 0 498s 0 0 0 0 0 0 0 498s 0 0 0 0 0 0 1]); 498s assert (getnhood (strel ("pair", [2 3])), shape); 498s ***** test 498s assert (getnhood (strel ("rectangle", [10 5])), true (10, 5)); 498s assert (getnhood (strel ("square", 5)), true (5)); 498s ***** shared se, seq 498s se = strel ("square", 5); 498s seq = getsequence (se); 498s assert (class (se(1)), "strel") 498s assert (class (se(1,1)),"strel") 498s assert (class (seq), "strel") 498s assert (class (seq(1)), "strel") 498s assert (class (seq(2)), "strel") 498s assert (numel (se), 1) 498s assert (numel (seq), 2) 498s assert (getnhood (seq(1)), true (5, 1)) 498s assert (getnhood (seq(2)), true (1, 5)) 498s assert (size (se), [1 1]) 498s assert (size (seq), [2 1]) 498s assert (isscalar (se), true) 498s assert (isscalar (seq), false) 498s ***** error se(2); 498s ***** error seq(3); 498s ***** test 498s se = strel ("arbitrary", [1 0 0; 1 1 0; 0 1 0], [2 0 0; 3 1 0; 0 3 0]); 498s ref = reflect (se); 498s assert (getnhood (ref), logical([0 1 0; 0 1 1; 0 0 1])); 498s assert (getheight (ref), [0 3 0; 0 1 3; 0 0 2]); 498s ***** error strel() 498s ***** error strel("nonmethodthing", 2) 498s ***** error strel("arbitrary", "stuff") 498s ***** error strel("arbitrary", [0 0 1], [2 0 1; 4 5 1]) 498s ***** error strel("arbitrary", [0 0 1], "stuff") 498s ***** error strel("ball", -3, 1) 498s ***** error strel("diamond", -3) 498s ***** error strel("disk", -3) 498s ***** error strel("line", 0, 45) 498s ***** error strel("octagon", 3.5) 498s ***** error strel("octagon", 4) 498s ***** error strel("octagon", -1) 498s ***** error strel("pair", [45 67 90]) 498s ***** error strel("rectangle", 2) 498s ***** error strel("rectangle", [2 -5]) 498s ***** error strel("square", [34 1-2]) 498s 28 tests, 28 passed, 0 known failure, 0 skipped 498s [inst/imcast.m] 498s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imcast.m 498s ***** test 498s im = randi ([0 255], 40, "uint8"); 498s assert (imcast (im, "uint8"), im2uint8 (im)) 498s assert (imcast (im, "uint16"), im2uint16 (im)) 498s assert (imcast (im, "single"), im2single (im)) 498s assert (imcast (im, "uint8", "indexed"), im2uint8 (im, "indexed")) 498s assert (imcast (im, "uint16", "indexed"), im2uint16 (im, "indexed")) 498s assert (imcast (im, "single", "indexed"), im2single (im, "indexed")) 498s ***** test 498s im = randi ([1 256], 40, "double"); 498s assert (imcast (im, "uint8"), im2uint8 (im)) 498s assert (imcast (im, "uint8", "indexed"), im2uint8 (im, "indexed")) 498s assert (imcast (im, "single", "indexed"), im2single (im, "indexed")) 498s ***** test 498s im = randi ([0 65535], 40, "uint16"); 498s assert (imcast (im, "uint8"), im2uint8 (im)) 498s assert (imcast (im, "single"), im2single (im)) 498s assert (imcast (im, "single", "indexed"), im2single (im, "indexed")) 498s ***** test 498s im = randi ([1 255], 40, "double"); 498s assert (imcast (im, "uint8", "indexed"), im2uint8 (im, "indexed")) 498s assert (imcast (im, "single", "indexed"), im2single (im, "indexed")) 498s ***** test 498s im = rand (40); 498s assert (imcast (im, "uint8"), im2uint8 (im)) 498s ***** error imcast (randi (127, 40, "int8"), "uint8") 498s ***** error imcast (randi (255, 40, "uint8"), "uint32") 498s ***** error imcast (randi (255, 40, "uint8"), "not a class") 498s ***** error imcast (randi ([0 65535], 40, "uint16"), "uint8", "indexed") 498s ***** assert (imcast ([0 1 .2; 2 -0 Inf], "logical"), logical ([0 1 1; 1 0 1])) 498s 10 tests, 10 passed, 0 known failure, 0 skipped 498s [inst/checkerboard.m] 498s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/checkerboard.m 498s ***** demo 498s ## Simplest case, default checkerboard size: 498s ## 8 by 8 checkerboard, with squares 10 pixel wide 498s board = checkerboard (); 498s imshow (board) 498s ***** demo 498s ## Simplest case, default checkerboard size: 498s ## 8 by 16 checkerboard, with squares 5 pixel wide 498s board = checkerboard (5, 4, 8); 498s imshow (board) 498s ***** assert (checkerboard (0), zeros (0, 0)) 498s ***** assert (checkerboard (0, 3), zeros (0, 0)) 498s ***** assert (checkerboard (0, 2, 4), zeros (0, 0)) 498s ***** assert (checkerboard (0, 2, 4, 3), zeros (0, 0, 0)) 498s ***** assert (checkerboard (0, 2, 4, 3, 2), zeros (0, 0, 0, 0)) 498s ***** assert (checkerboard (1, 4, 2, 3, 0), zeros (8, 4, 6, 0)) 498s ***** assert (checkerboard (1, 4, 0, 3, 2), zeros (8, 0, 6, 4)) 498s ***** assert (checkerboard (2, 4, 0, 3, 2), zeros (16, 0, 12, 8)) 498s ***** test 498s out = zeros (80); 498s i1 = ((1:20:80) + (0:9)')(:); 498s i2 = ((11:20:80) + (0:9)')(:); 498s out(i1, i2) = 1; 498s out(i2, i1) = 1; 498s i1r = ((41:20:80) + (0:9)')(:); 498s i2r = ((51:20:80) + (0:9)')(:); 498s out(i2, i1r) = 0.7; 498s out(i1, i2r) = 0.7; 498s assert (checkerboard (), out) 498s assert (checkerboard (10, 4, 4), out) 498s assert (checkerboard (10, [4 4]), out) 498s assert (checkerboard (10, [4; 4]), out) 498s ***** test 498s out = zeros (8); 498s out(2:2:8, 1:2:8) = 1; 498s out(1:2:8, 2:2:8) = 1; 498s out(1:2:8, 6:2:8) = 0.7; 498s out(2:2:8, 5:2:8) = 0.7; 498s assert (checkerboard (1), out) 498s assert (checkerboard (1, 4), out) 498s assert (checkerboard (1, 4, 4), out) 498s assert (checkerboard (1, [4 4]), out) 498s ***** test 498s out = zeros (10); 498s out(2:2:10, 1:2:10) = 1; 498s out(1:2:10, 2:2:10) = 1; 498s out(1:2:10, 6:2:10) = 0.7; 498s out(2:2:10, 7:2:10) = 0.7; 498s assert (checkerboard (1, 5), out) 498s assert (checkerboard (1, 5, 5), out) 498s assert (checkerboard (1, [5 5]), out) 498s ***** test 498s out = zeros (20); 498s out([1:4:20 2:4:20], [3:4:20 4:4:20]) = 1; 498s out([3:4:20 4:4:20], [1:4:20 2:4:20]) = 1; 498s out([1:4:20 2:4:20], [11:4:20 12:4:20]) = 0.7; 498s out([3:4:20 4:4:20], [13:4:20 14:4:20]) = 0.7; 498s assert (checkerboard (2, 5), out) 498s assert (checkerboard (2, 5, 5), out) 498s assert (checkerboard (2, [5 5]), out) 498s ***** test 498s out = zeros (4, 4, 4); 498s out([1 3], 1, [1 3]) = 1; 498s out([2 4], 2, [1 3]) = 1; 498s out([1 3], 2, [2 4]) = 1; 498s out([2 4], 1, [2 4]) = 1; 498s out([1 3], 3, [1 3]) = 0.7; 498s out([2 4], 4, [1 3]) = 0.7; 498s out([1 3], 4, [2 4]) = 0.7; 498s out([2 4], 3, [2 4]) = 0.7; 498s assert (checkerboard (1, [2 2 2]), out) 498s assert (checkerboard (1, 2, 2, 2), out) 498s ***** test 498s out = zeros (8, 8, 8); 498s out([1 2 5 6], [1 2], [1 2 5 6]) = 1; 498s out([3 4 7 8], [3 4], [1 2 5 6]) = 1; 498s out([1 2 5 6], [3 4], [3 4 7 8]) = 1; 498s out([3 4 7 8], [1 2], [3 4 7 8]) = 1; 498s out([1 2 5 6], [5 6], [1 2 5 6]) = 0.7; 498s out([3 4 7 8], [7 8], [1 2 5 6]) = 0.7; 498s out([1 2 5 6], [7 8], [3 4 7 8]) = 0.7; 498s out([3 4 7 8], [5 6], [3 4 7 8]) = 0.7; 498s assert (checkerboard (2, [2 2 2]), out) 498s assert (checkerboard (2, 2, 2, 2), out) 498s 14 tests, 14 passed, 0 known failure, 0 skipped 498s [inst/imclearborder.m] 498s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imclearborder.m 498s ***** test 498s a = logical ([ 498s 0 1 0 0 1 0 0 0 0 1 498s 1 0 0 0 0 1 0 0 0 0 498s 0 1 0 0 0 0 0 0 0 0 498s 1 0 1 0 1 0 1 0 0 1 498s 0 0 0 0 0 0 0 1 1 0 498s 0 0 1 0 0 1 0 1 0 0 498s 0 1 0 1 0 1 1 0 0 0 498s 0 0 0 1 0 0 0 0 0 0 498s 0 0 0 1 0 1 1 0 0 0 498s 0 0 0 1 1 0 0 0 1 0]); 498s 498s a4 = logical ([ 498s 0 0 0 0 0 0 0 0 0 0 498s 0 0 0 0 0 1 0 0 0 0 498s 0 1 0 0 0 0 0 0 0 0 498s 0 0 1 0 1 0 1 0 0 0 498s 0 0 0 0 0 0 0 1 1 0 498s 0 0 1 0 0 1 0 1 0 0 498s 0 1 0 0 0 1 1 0 0 0 498s 0 0 0 0 0 0 0 0 0 0 498s 0 0 0 0 0 1 1 0 0 0 498s 0 0 0 0 0 0 0 0 0 0]); 498s 498s a8 = logical ([ 498s 0 0 0 0 0 0 0 0 0 0 498s 0 0 0 0 0 0 0 0 0 0 498s 0 0 0 0 0 0 0 0 0 0 498s 0 0 0 0 1 0 0 0 0 0 498s 0 0 0 0 0 0 0 0 0 0 498s 0 0 0 0 0 0 0 0 0 0 498s 0 0 0 0 0 0 0 0 0 0 498s 0 0 0 0 0 0 0 0 0 0 498s 0 0 0 0 0 0 0 0 0 0 498s 0 0 0 0 0 0 0 0 0 0]); 498s 498s assert (imclearborder (a, 4), a4) 498s assert (imclearborder (a, [0 1 0; 1 1 1; 0 1 0]), a4) 498s assert (imclearborder (a), a8) 498s assert (imclearborder (a, 8), a8) 498s assert (imclearborder (a, ones (3)), a8) 498s ***** test 498s a = false (5, 5, 3); 498s a(2:4,2:4,:) = true; 498s assert (imclearborder (a, 4), a) 498s 498s a(1,2) = true; 498s a4 = a; 498s a4(:,:,1) = false; 498s assert (imclearborder (a, 4), a4) 498s 2 tests, 2 passed, 0 known failure, 0 skipped 498s [inst/roicolor.m] 498s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/roicolor.m 498s ***** demo 498s roicolor([1:10],2,4); 498s % Returns '1' where input values are between 2 and 4 (both included). 498s ***** assert(roicolor([1:10],2,4),logical([0,1,1,1,zeros(1,6)])); 498s ***** assert(roicolor([1,2;3,4],3,3),logical([0,0;1,0])); 498s ***** assert(roicolor([1,2;3,4],[1,4]),logical([1,0;0,1])); 498s 3 tests, 3 passed, 0 known failure, 0 skipped 498s [inst/findbounds.m] 498s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/findbounds.m 498s ***** test 498s im = checkerboard (); 498s theta = pi/6; 498s T = maketform ('affine', [cos(theta) -sin(theta); ... 498s sin(theta) cos(theta); 0 0]); 498s inbnd = [0 0; 1 1]; 498s outbnd = findbounds (T, inbnd); 498s diag = 2^.5; 498s ang = pi/4; 498s assert (diff (outbnd(:,1)), diag * abs (cos (theta - ang)), eps) 498s assert (diff (outbnd(:,2)), diag * abs (cos (theta - ang)), eps) 498s 1 test, 1 passed, 0 known failure, 0 skipped 498s [inst/edge.m] 498s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/edge.m 498s ***** test 498s im = [ 498s 249 238 214 157 106 69 60 90 131 181 224 247 252 250 250 498s 250 242 221 165 112 73 62 91 133 183 225 248 252 250 251 498s 252 246 228 173 120 78 63 90 130 181 224 248 253 251 251 498s 253 248 232 185 132 87 62 80 116 170 217 244 253 251 252 498s 253 249 236 198 149 101 66 71 101 155 206 238 252 252 252 498s 254 250 240 210 164 115 73 69 92 143 196 232 252 253 252 498s 70 70 68 61 49 36 24 22 26 38 52 63 70 70 70 498s 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 498s 62 63 62 59 51 42 33 25 22 26 36 45 56 60 62 498s 252 253 252 246 221 190 157 114 90 90 118 157 203 235 248 498s 251 253 254 251 233 209 182 136 103 92 107 139 185 225 245 498s 251 253 254 253 243 227 206 163 128 108 110 133 175 217 242 498s 252 253 254 254 249 241 228 195 164 137 127 139 172 212 239 498s ] / 255; 498s 498s methods = {"kirsch", "prewitt", "sobel"}; 498s for m_i = 1:numel (methods) 498s method = methods{m_i}; 498s 498s bw = edge (im, method, 0.2, "both", "thinning"); 498s assert (edge (im, method, 0.2), bw) 498s 498s args = perms ({0.2, "both", "thinning"}); 498s for i = 1:rows (args) 498s assert (edge (im, method, args{i,:}), bw) 498s endfor 498s 498s bw = edge (im, method, 0.2, "vertical", "nothinning"); 498s args = perms ({0.2, "vertical", "nothinning"}); 498s for i = 1:rows (args) 498s assert (edge (im, method, args{i,:}), bw) 498s endfor 498s 498s bw = edge (im, method, 0.2, "vertical", "thinning"); 498s args = perms ({0.2, "vertical"}); 498s for i = 1:rows (args) 498s assert (edge (im, method, args{i,:}), bw) 498s endfor 498s 498s bw = edge (im, method, 0.2, "both", "nothinning"); 498s args = perms ({0.2, "nothinning"}); 498s for i = 1:rows (args) 498s assert (edge (im, method, args{i,:}), bw) 498s endfor 498s endfor 498s ***** error 498s bw = edge (rand (10), "sobel", 0.2, 0.4) 498s ***** error 498s bw = edge (rand (10), "sobel", "thinning", "nothinning") 498s ***** error 498s bw = edge (rand (10), "sobel", "both", "both") 498s ***** error 498s bw = edge (rand (10), "sobel", [0.2 0.7], "both", "thinning") 498s ***** error 498s bw = edge (rand (10), "kirsch", 0.2, 0.4) 498s ***** error 498s bw = edge (rand (10), "kirsch", "thinning", "nothinning") 498s ***** error 498s bw = edge (rand (10), "kirsch", "both", "both") 498s ***** error 498s bw = edge (rand (10), "kirsch", [0.2 0.7], "both", "thinning") 498s ***** error 498s bw = edge (rand (10), "prewitt", 0.2, 0.4) 498s ***** error 498s bw = edge (rand (10), "prewitt", "thinning", "nothinning") 498s ***** error 498s bw = edge (rand (10), "prewitt", "both", "both") 498s ***** error 498s bw = edge (rand (10), "prewitt", [0.2 0.7], "both", "thinning") 498s ***** test 498s im = [ 498s 249 238 214 157 106 69 60 90 131 181 224 247 252 250 250 498s 250 242 221 165 112 73 62 91 133 183 225 248 252 250 251 498s 252 246 228 173 120 78 63 90 130 181 224 248 253 251 251 498s 253 248 232 185 132 87 62 80 116 170 217 244 253 251 252 498s 253 249 236 198 149 101 66 71 101 155 206 238 252 252 252 498s 254 250 240 210 164 115 73 69 92 143 196 232 252 253 252 498s 70 70 68 61 49 36 24 22 26 38 52 63 70 70 70 498s 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 498s 62 63 62 59 51 42 33 25 22 26 36 45 56 60 62 498s 252 253 252 246 221 190 157 114 90 90 118 157 203 235 248 498s 251 253 254 251 233 209 182 136 103 92 107 139 185 225 245 498s 251 253 254 253 243 227 206 163 128 108 110 133 175 217 242 498s 252 253 254 254 249 241 228 195 164 137 127 139 172 212 239 498s ] / 255; 498s 498s bw = edge (im, "roberts", .2, "thinning"); 498s assert (edge (im, "roberts", 0.2), bw) 498s assert (edge (im, "roberts", "thinning", 0.2), bw) 498s 498s bw = edge (im, "roberts", .2, "nothinning"); 498s assert (edge (im, "roberts", "nothinning", 0.2), bw) 498s ***** error 498s bw = edge (rand (10), "roberts", 0.2, 0.4) 498s ***** error 498s bw = edge (rand (10), "roberts", "thinning", "nothinning") 498s ***** error 498s bw = edge (rand (10), "roberts", "both", "thinning") 498s ***** test 498s im = rand (10); 498s [~, thresh] = edge (im, "canny"); 498s assert (size (thresh), [1 2]) 498s [~, thresh] = edge (im, "canny", [.2 .6]); 498s assert (thresh, [.2 .6]) 498s [~, thresh] = edge (im, "canny", [.2; .6]); 498s assert (thresh, [.2 .6]) 498s ***** test 498s in = zeros (5); 498s in(3,3) = 1; 498s 498s E = logical ([ 498s 0 0 0 0 0 498s 0 0 1 0 0 498s 0 1 0 1 0 498s 0 0 1 0 0 498s 0 0 0 0 0]); 498s assert (edge (in), E) 498s assert (edge (uint8 (in.*100)), E) 498s assert (edge (in, "sobel"), E) 498s assert (edge (in, "sobel", 0), E) 498s assert (edge (in, "sobel", 1), false (5)) 498s 498s [E, auto_thresh] = edge (in); 498s assert (auto_thresh, 0.2449, 1e-4) 498s 498s V = logical([ 498s 0 0 0 0 0 498s 0 1 0 1 0 498s 0 1 0 1 0 498s 0 1 0 1 0 498s 0 0 0 0 0]); 498s assert (edge (in, "sobel", 0, "vertical"), V) 498s 498s H = logical ([ 498s 0 0 0 0 0 498s 0 1 1 1 0 498s 0 0 0 0 0 498s 0 1 1 1 0 498s 0 0 0 0 0]); 498s assert (edge (in, "sobel", 0, "horizontal"), H) 498s 498s V = false (5); 498s V(3,2) = true; 498s V(3,4) = true; 498s assert (edge (in, "sobel", [], "vertical"), V) 498s 498s H = false (5); 498s H(2,3) = true; 498s H(4,3) = true; 498s assert (edge (in, "sobel", [], "horizontal"), H) 499s ***** test 499s A = ones (5); 499s A(3, 3) = 0; 499s expected = logical ([ 499s 0 0 0 0 0 499s 0 0 1 0 0 499s 0 1 0 1 0 499s 0 0 1 0 0 499s 0 0 0 0 0]); 499s assert (edge (A), expected) 499s ***** test 499s in = zeros (5); 499s in(3, 3) = 1; 499s 499s E = logical ([ 499s 0 0 0 0 0 499s 0 1 0 1 0 499s 0 0 0 0 0 499s 0 1 0 1 0 499s 0 0 0 0 0]); 499s 499s assert (edge (in, "prewitt"), E) 499s 499s [~, auto_thresh] = edge (in, "prewitt"); 499s assert (auto_thresh, 0.2309, 1e-4) 499s 499s V = logical([ 499s 0 0 0 0 0 499s 0 1 0 1 0 499s 0 1 0 1 0 499s 0 1 0 1 0 499s 0 0 0 0 0]); 499s assert (edge (in, "prewitt", 0, "vertical"), V) 499s 499s H = logical ([ 499s 0 0 0 0 0 499s 0 1 1 1 0 499s 0 0 0 0 0 499s 0 1 1 1 0 499s 0 0 0 0 0]); 499s assert (edge (in, "prewitt", 0, "horizontal"), H) 499s ***** test 499s in = zeros (5); 499s in(3,3) = 1; 499s in(3,4) = 0.9; 499s 499s E = logical ([ 499s 0 0 0 0 0 499s 0 0 1 0 0 499s 0 0 1 0 0 499s 0 0 0 0 0 499s 0 0 0 0 0]); 499s 499s assert (edge (in, "roberts"), E) 499s 499s [~, auto_thresh] = edge (in, "roberts"); 499s assert (auto_thresh, 0.6591, 1e-4) 499s 499s E45 = [0 0 0 0 0 499s 0 -0.5 -0.45 0 0 499s 0 0 0.50 0.45 0 499s 0 0 0 0 0 499s 0 0 0 0 0]; 499s E135 = [0 0 0 0 0 499s 0 0 -0.50 -0.45 0 499s 0 0.5 0.45 0 0 499s 0 0 0 0 0 499s 0 0 0 0 0]; 499s 499s [~, ~, erg45, erg135] = edge (in, "roberts"); 499s assert (erg45, E45) 499s assert (erg135, E135) 499s ***** xtest 499s ## The edge image is correct and Matlab compatible so those should 499s ## pass. However, the threshold values used to generate the edge 499s ## image are not the same as Matlab. 499s 499s in_8 = fspecial ("gaussian", [8 8], 2); 499s in_8 /= in_8(4,4); 499s in_8_uint8 = im2uint8 (in_8); 499s 499s ## Matlab changed their implementation of the Canny method in 499s ## release 2011a. We are compatible with their new implementation 499s ## but for testing purposes, this is the expected result for the 499s ## old implementation. 499s out_8_old = logical ([ 499s 0 0 0 0 0 0 0 0 499s 0 0 0 1 1 0 0 0 499s 0 0 1 0 0 1 0 0 499s 0 1 0 0 0 0 1 0 499s 0 1 0 0 0 0 1 0 499s 0 0 1 0 0 1 0 0 499s 0 0 0 1 1 0 0 0 499s 0 0 0 0 0 0 0 0]); 499s 499s out_8 = logical ([ 499s 0 0 0 0 0 0 0 0 499s 0 1 1 1 1 1 0 0 499s 0 1 0 0 0 1 0 0 499s 0 1 0 0 0 1 0 0 499s 0 1 0 0 0 1 0 0 499s 0 1 1 1 1 1 0 0 499s 0 0 0 0 0 0 0 0 499s 0 0 0 0 0 0 0 0]); 499s out_thresh = [0.34375 0.859375]; 499s 499s [obs_edge, obs_thresh] = edge (in_8, "Canny"); 499s assert (obs_edge, out_8) 499s assert (obs_thresh, out_thresh) 499s 499s [obs_edge_givethresh, obs_thresh_givethresh] ... 499s = edge (in_8, "Canny", out_thresh); 499s assert (obs_edge_givethresh, out_8) 499s assert (obs_thresh_givethresh, out_thresh) 499s 499s [obs_edge_uint8, obs_thresh_uint8] = edge (in_8_uint8, "Canny"); 499s assert (obs_edge_uint8, out_8) 499s assert (obs_thresh_uint8, out_thresh) 499s !!!!! known failure 499s ASSERT errors for: assert (obs_thresh,out_thresh) 499s 499s Location | Observed | Expected | Reason 499s (1) 0.27112 0.34375 Abs err 0.072632 exceeds tol 0 by 0.07 499s (2) 0.67779 0.85938 Abs err 0.18158 exceeds tol 0 by 0.2 499s ***** xtest 499s ## The edge image is correct and Matlab compatible so those should 499s ## pass. However, the threshold values used to generate the edge 499s ## image are not the same as Matlab. 499s 499s in_9 = fspecial ("gaussian", [9 9], 2); 499s in_9 /= in_9(5,5); 499s 499s ## Matlab changed their implementation of the Canny method in 499s ## release 2011a. We are compatible with their new implementation 499s ## but for testing purposes, this is the expected result for the 499s ## old implementation. 499s out_9_old = logical ([ 499s 0 0 0 0 0 0 0 0 0 499s 0 0 0 0 0 0 0 0 0 499s 0 0 0 1 1 1 0 0 0 499s 0 0 1 0 0 0 1 0 0 499s 0 0 1 0 0 0 1 0 0 499s 0 0 1 0 0 0 1 0 0 499s 0 0 0 1 1 1 0 0 0 499s 0 0 0 0 0 0 0 0 0 499s 0 0 0 0 0 0 0 0 0]); 499s 499s out_9 = logical ([ 499s 0 0 0 0 0 0 0 0 0 499s 0 0 1 1 1 1 0 0 0 499s 0 1 1 0 0 1 1 0 0 499s 0 1 0 0 0 0 1 0 0 499s 0 1 0 0 0 0 1 0 0 499s 0 1 1 0 0 1 1 0 0 499s 0 0 1 1 1 1 0 0 0 499s 0 0 0 0 0 0 0 0 0 499s 0 0 0 0 0 0 0 0 0]); 499s out_thresh = [0.35 0.875]; 499s 499s [obs_edge, obs_thresh] = edge (in_9, "Canny"); 499s assert (obs_edge, out_9) 499s assert (obs_thresh, out_thresh) 499s 499s [obs_edge_givethresh, obs_thresh_givethresh] ... 499s = edge (in_9, "Canny", out_thresh); 499s assert (obs_edge_givethresh, out_9) 499s assert (obs_thresh_givethresh, out_thresh) 499s !!!!! known failure 499s ASSERT errors for: assert (obs_thresh,out_thresh) 499s 499s Location | Observed | Expected | Reason 499s (1) 0.261 0.35 Abs err 0.089001 exceeds tol 0 by 0.09 499s (2) 0.6525 0.875 Abs err 0.2225 exceeds tol 0 by 0.2 499s 24 tests, 22 passed, 2 known failures, 0 skipped 499s [inst/qtgetblk.m] 499s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/qtgetblk.m 499s ***** demo 499s [vals,r,c]=qtgetblk(eye(4),qtdecomp(eye(4)),2) 499s % Returns 2 blocks, at [1,3] and [3,1] (2*2 zeros blocks) 499s ***** shared A,S 499s A=[ 1, 4, 2, 5,54,55,61,62; 499s 3, 6, 3, 1,58,53,67,65; 499s 3, 6, 3, 1,58,53,67,65; 499s 3, 6, 3, 1,58,53,67,65; 499s 23,42,42,42,99,99,99,99; 499s 27,42,42,42,99,99,99,99; 499s 23,22,26,25,99,99,99,99; 499s 22,22,24,22,99,99,99,99]; 499s S=qtdecomp(A,10); 499s ***** test 499s [va]=qtgetblk(A,S,8); 499s [vb,r,c]=qtgetblk(A,S,8); 499s [vc,i]=qtgetblk(A,S,8); 499s assert(va, vb); 499s assert(va, vc); 499s assert(i,[]); 499s assert(r,[]); 499s assert(c,[]); 499s R=[]; 499s assert(va,R); 499s ***** test 499s [va]=qtgetblk(A,S,4); 499s [vb,r,c]=qtgetblk(A,S,4); 499s [vc,i]=qtgetblk(A,S,4); 499s assert(va, vb); 499s assert(va, vc); 499s assert(i, find(full(S)==4)); 499s assert(r,[1;5]); 499s assert(c,[1;5]); 499s R=zeros(4,4,2); 499s R(:,:,1)=A(1:4,1:4); 499s R(:,:,2)=A(5:8,5:8); 499s assert(va,R); 499s ***** test 499s [va]=qtgetblk(A,S,2); 499s [vb,r,c]=qtgetblk(A,S,2); 499s [vc,i]=qtgetblk(A,S,2); 499s assert(va, vb); 499s assert(va, vc); 499s assert(i, find(full(S)==2)); 499s assert(r,[7;5;7;1;3;1;3]); 499s assert(c,[1;3;3;5;5;7;7]); 499s R=zeros(2,2,7); 499s R(:,:,1)=A(7:8,1:2); 499s R(:,:,2)=A(5:6,3:4); 499s R(:,:,3)=A(7:8,3:4); 499s R(:,:,4)=A(1:2,5:6); 499s R(:,:,5)=A(3:4,5:6); 499s R(:,:,6)=A(1:2,7:8); 499s R(:,:,7)=A(3:4,7:8); 499s assert(va,R); 499s 3 tests, 3 passed, 0 known failure, 0 skipped 499s [inst/imapplymatrix.m] 499s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imapplymatrix.m 499s ***** error id=Octave:invalid-fun-call imapplymatrix () 499s ***** error id=Octave:invalid-fun-call imapplymatrix (42) 499s ***** error id=Octave:invalid-input-arg imapplymatrix (ones (2, 2, 2), 42) 499s ***** error id=Octave:invalid-input-arg imapplymatrix ([], ones (2, 2)) 499s ***** error id=Octave:invalid-input-arg imapplymatrix (ones (0, 2), ones (2, 2)) 499s ***** error id=Octave:invalid-input-arg imapplymatrix (ones (2, 0), ones (2, 2)) 499s ***** error id=Octave:invalid-input-arg imapplymatrix (4, 2, [2, 2]) 499s ***** error id=Octave:invalid-input-arg imapplymatrix (4, 2, [2, 2], "uint8") 499s ***** error id=Octave:invalid-input-arg imapplymatrix (4, 2, 0, 666) 499s ***** assert (imapplymatrix ([], []), []) 499s ***** assert (imapplymatrix ([], [], "uint16"), uint16 ([])) 499s ***** assert (imapplymatrix (1, 10, []), 10) 499s ***** assert (imapplymatrix (1, 10, ones (0, 5)), 10) 499s ***** assert (imapplymatrix (1, 10, ones (5, 0)), 10) 499s ***** assert (imapplymatrix (ones (0), ones (0), 3), []) 499s ***** assert (imapplymatrix (ones (0), ones (4, 0), 3), zeros (4, 0)) 499s ***** assert (imapplymatrix (ones (0), ones (0, 4), 3), zeros (0, 4)) 499s ***** assert (imapplymatrix (ones (2, 0), ones (0, 4), 3), zeros (0, 4)) 499s ***** assert (imapplymatrix (ones (0, 2), ones (0, 4), 3), zeros (0, 4)) 499s ***** assert (imapplymatrix (ones (0, 2), ones (0, 4, 0), 3), zeros (0, 4, 0)) 499s ***** assert (imapplymatrix("a", ones(2, 2)), nan (2, 2)) 499s ***** assert (imapplymatrix("abc", ones(2, 2)), nan (2, 2)) 499s ***** assert (imapplymatrix (1, 10), 10) 499s ***** assert (imapplymatrix (1, 10, 3), 13) 499s ***** assert (imapplymatrix (ones (1), uint8 (10), 3), uint8 (13)) 499s ***** assert (imapplymatrix (uint8 (ones (1)), 10, 3), double (13)) 499s ***** assert (imapplymatrix (uint8 (ones (1)), uint8 (10), 3), uint8 (13)) 499s ***** assert (imapplymatrix (2.6 * ones (1), uint8 (10), 4.7), uint8 (31)) 499s ***** assert (imapplymatrix (42, ones (1, 2)), 42 * ones (1, 2)) 499s ***** assert (imapplymatrix (42, ones (2, 1)), 42 * ones (2, 1)) 499s ***** assert (imapplymatrix (42, ones (2, 2)), 42 * ones (2, 2)) 499s ***** assert (imapplymatrix (42, ones (2, 2), 0.5), 42.5 * ones (2, 2)) 499s ***** assert (imapplymatrix ([4, 2], ones (2, 2, 2), 0.5), 6.5 * ones (2, 2)) 499s ***** assert (imapplymatrix ([4, 2; 499s 4, 2], ones (2, 2, 2), [0.5, 0.5]), 6.5 * ones (2, 2, 2)) 499s ***** assert (imapplymatrix ([4, 2; 499s 4, 2], ones (2, 2, 2), [0.5; 0.5]), 6.5 * ones (2, 2, 2)) 499s ***** assert (imapplymatrix ([1, 2, 3], ones (2, 2, 3)), 6 * ones (2, 2, 1)) 499s ***** assert (imapplymatrix ([1, 2, 3], ones (2, 2, 3), 1), 7 * ones (2, 2, 1)) 499s ***** test 499s expected = zeros (2, 2, 2, "uint8"); 499s expected(:, :, 1) = 7 * ones (2, 2); 499s expected(:, :, 2) = 16 * ones (2, 2); 499s I = uint8 (ones (2, 2, 3)); 499s assert (imapplymatrix ([1, 2, 3 499s 4, 5, 6], I, [1, 1]), expected) 499s ***** test 499s expected = zeros (2, 2, 2, 2, "uint16"); 499s expected(:, :, 1, 1) = 7 * ones (2, 2); 499s expected(:, :, 2, 1) = 16 * ones (2, 2); 499s expected(:, :, 1, 2) = 13 * ones (2, 2); 499s expected(:, :, 2, 2) = 31 * ones (2, 2); 499s I(:, :, :, 1) = uint16 (ones (2, 2, 3)); 499s I(:, :, :, 2) = 2 * uint16 (ones (2, 2, 3)); 499s assert (imapplymatrix ([1, 2, 3; 499s 4, 5, 6], I, [1, 1]), expected) 499s 39 tests, 39 passed, 0 known failure, 0 skipped 499s [inst/imadjust.m] 499s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imadjust.m 499s ***** error imadjust ("bad argument"); 499s ***** error imadjust ([1:100], "bad argument", [], 1); 499s ***** error <2 row column per plane> imadjust ([1:100], [0 1 1], [], 1); 499s ***** error <2 row column per plane> imadjust ([1:100], [], [0 1 1], 1); 499s ***** error imadjust ([1:100], [], [], [0; 1]); 499s ***** error imadjust (rand (5, 5, 3), [], [], [0 1]); 499s ***** error imadjust ([1:100], [0; 1], [], -1); 499s ***** error imadjust ([1:100], [0; 5], []); 499s ***** error imadjust ([1:100], [-2; 1], []); 499s ***** error imadjust ([1:100], [], [0; 4]); 499s ***** error imadjust ([1:100], [], [-2; 1]); 499s ***** error imadjust (rand (5) > .5); 499s ***** test 499s im = [0.01:0.01:1]; 499s assert (imadjust (im), [0 linspace(0, 1, 98) 1], eps) 499s assert (imadjust (im), imadjust (im, stretchlim (im, 0.01), [0; 1], 1)) 499s assert (imadjust (im, []), imadjust (im, [0; 1], [0; 1], 1)) 499s assert (imadjust (im, [], []), imadjust (im, [0; 1], [0; 1], 1)) 499s assert (imadjust (im, [], [.25 .75]), imadjust (im, [0; 1], [.25; .75], 1)) 499s assert (imadjust (im, [.25; .75], []), imadjust (im, [.25; .75], [0; 1], 1)) 499s ***** assert (imadjust (linspace (0, 1), [], [.25 .75]), linspace (.25, .75, 100), eps) 499s ***** assert (imadjust (linspace (0, 1, 100),[1/99; 98/99]), 499s [0 linspace(0, 1, 98) 1], eps) 499s ***** shared cm 499s cm = [[0:8]' [1:9]' [2:10]'] / 10; 499s ***** assert (imadjust (cm, [0; 1], [0.5; 1]), (cm /2) + .5) 499s ***** assert (imadjust (cm, [0 1], [0.5 1]), (cm /2) + .5) 499s ***** assert (imadjust (cm, [0; 1], [.1 .2 .3; .7 .8 .9]), 499s (cm*.6) + [.1 .2 .3], eps) 499s ***** assert (imadjust (cm, [.2 .4 .6; .7 .8 .9], [0; 1]), 499s [[0 0 linspace(0, 1, 6) 1]' ... 499s [0 0 0 linspace(0, 1, 5) 1]' ... 499s [0 0 0 0 linspace(0, 1, 4) 1]'], eps) 499s ***** assert (imadjust (cm, [.2 .4 .6; .7 .8 .9], [0 .1 .2; .8 .9 1]), 499s [[0 0 linspace(0, .8, 6) .8]' ... 499s [.1 .1 .1 linspace(.1, .9, 5) .9]' ... 499s [.2 .2 .2 .2 linspace(.2, 1, 4) 1]'], eps) 499s ***** assert (imadjust (cm, [.2 .4 .6; .7 .8 .9], [0 .1 .2; .8 .9 1], [0.5 1 2]), 499s [[0 0 0 (((([.3 .4 .5 .6]-.2)/.5).^.5)*.8) .8 .8]' ... 499s [.1 .1 .1 linspace(.1, .9, 5) .9]' ... 499s [.2 .2 .2 .2 .2 ((((([.7 .8]-.6)/.3).^2).*.8)+.2) 1 1]'], eps*10) 499s ***** test 499s im = [-0.4:.1:0.8 499s 0.0:.1:1.2 499s 0.1:.1:1.3 499s -0.4:.2:2.0]; 499s 499s ## just clipping 499s assert (imadjust (im, [0; 1], [0; 1]), 499s [0 0 0 0 (0:.1:.8) 499s (0:.1:1) 1 1 499s (.1:.1:1) 1 1 1 499s 0 0 (0:.2:1) 1 1 1 1 1], eps) 499s 499s ## clipping and invert 499s assert (imadjust (im, [0; 1], [1; 0]), 499s [1 1 1 1 (1:-.1:.2) 499s (1:-.1:0) 0 0 499s (.9:-.1:0) 0 0 0 499s 1 1 (1:-.2:0) 0 0 0 0 0], eps) 499s 499s ## rescale 499s assert (imadjust (im, [.2; .7], [.1; .9]), 499s [1 1 1 1 1 1 1 2.6 4.2 5.8 7.4 9 9 499s 1 1 1 2.6 4.2 5.8 7.4 9 9 9 9 9 9 499s 1 1 2.6 4.2 5.8 7.4 9 9 9 9 9 9 9 499s 1 1 1 1 4.2 7.4 9 9 9 9 9 9 9]/10, eps) 499s 499s ## rescale and invert 499s assert (imadjust (im, [.2; .7], [.9; .1]), 499s [9 9 9 9 9 9 9 7.4 5.8 4.2 2.6 1 1 499s 9 9 9 7.4 5.8 4.2 2.6 1 1 1 1 1 1 499s 9 9 7.4 5.8 4.2 2.6 1 1 1 1 1 1 1 499s 9 9 9 9 5.8 2.6 1 1 1 1 1 1 1]/10, eps) 499s ***** assert (imadjust (linspace (0, 1), [], [], 2), linspace (0, 1) .^ 2) 499s ***** shared oRGB 499s oRGB = zeros (10, 1, 3); 499s oRGB(:,:,1) = [0 linspace(0,1,6) 1 1 1]'; 499s oRGB(:,:,2) = [0 0 linspace(0,1,6) 1 1]'; 499s oRGB(:,:,3) = [0 0 0 linspace(0,1,6) 1]'; 499s ***** assert (imadjust (oRGB, [0; 1], [0; 1]), oRGB) 499s ***** assert (imadjust (oRGB, [.2; .8], [0; 1]), 499s reshape ([[0 0 0 1/3 2/3 1 1 1 1 1]' 499s [0 0 0 0 1/3 2/3 1 1 1 1]' 499s [0 0 0 0 0 1/3 2/3 1 1 1]'], [10 1 3]), eps) 499s ***** assert (imadjust (oRGB, [.2; .8], [.1; .9]), 499s reshape ([[.1 .1 .1 (1/3)+(.1/3) (2/3)-(.1/3) .9 .9 .9 .9 .9]' 499s [.1 .1 .1 .1 (1/3)+(.1/3) (2/3)-(.1/3) .9 .9 .9 .9]' 499s [.1 .1 .1 .1 .1 (1/3)+(.1/3) (2/3)-(.1/3) .9 .9 .9]'], 499s [10 1 3]), eps) 499s ***** assert (imadjust (oRGB, [.2; .8], [.2; .8]), 499s reshape ([[2 2 2 4 6 8 8 8 8 8]' 499s [2 2 2 2 4 6 8 8 8 8]' 499s [2 2 2 2 2 4 6 8 8 8]']/10, [10 1 3]), eps) 499s ***** assert (imadjust (oRGB, [0; 1], [.1 .2 .3; .9 .8 .7]), 499s reshape ([[1 1 2.6 4.2 5.8 7.4 9 9 9 9]' 499s [2 2 2 3.2 4.4 5.6 6.8 8 8 8]' 499s [3 3 3 3 3.8 4.6 5.4 6.2 7 7]']/10, [10 1 3]), eps) 499s ***** assert (imadjust (oRGB, [.1 .2 .3; .9 .8 .7], [0; 1]), 499s reshape ([[0 0 .125 .375 .625 .875 1 1 1 1]' 499s [0 0 0 0 1/3 2/3 1 1 1 1]' 499s [0 0 0 0 0 .25 .75 1 1 1]'], [10 1 3]), eps*10) 499s ***** assert (imadjust (oRGB, [.1 .2 .3; .9 .8 .7], [.2 0 .4; .5 1 .7 ]), 499s reshape ([[.2 .2 .2375 .3125 .3875 .4625 .5 .5 .5 .5]' 499s [0 0 0 0 1/3 2/3 1 1 1 1]' 499s [.4 .4 .4 .4 .4 .475 .625 .7 .7 .7]'], [10 1 3]), eps) 499s ***** test 499s img = rand (4, 4, 2, 3, 4); 499s adj = zeros (4, 4, 2, 3, 4); 499s for p = 1:2 499s for q = 1:3 499s for r = 1:4 499s adj(:,:,p,q,r) = imadjust (img(:,:,p,q,r)); 499s endfor 499s endfor 499s endfor 499s assert (imadjust (img), adj) 499s ***** test 499s img = rand (4, 4, 2, 3, 2); 499s adj = zeros (4, 4, 2, 3, 2); 499s in = reshape ([ 3 5 7 9 11 13 15 17 19 21 23 25; 499s 97 95 93 91 89 87 85 83 81 79 77 75] / 100, [2 2 3 2]); 499s out = reshape ([ 5 7 9 11 14 15 17 19 21 23 25 27; 499s 95 93 91 89 87 85 83 81 79 77 75 73] / 100, [2 2 3 2]); 499s gamma = reshape (0.6:.1:1.7, [1 2 3 2]); 499s for p = 1:2 499s for q = 1:3 499s for r = 1:2 499s adj(:,:,p,q,r) = imadjust (img(:,:,p,q,r), in(:,p,q,r), 499s out(:,p,q,r), gamma(1,p,q,r)); 499s endfor 499s endfor 499s endfor 499s assert (imadjust (img, in, out, gamma), adj, eps) 499s ***** test 499s in = int16 (1:6); 499s assert (imadjust (in), int16 ([-32768 -19661 -6554 6553 19660 32767])) 499s assert (imadjust (in, []), in) 499s ***** test 499s in = uint8([ 499s 35 1 6 26 19 24 499s 3 32 7 21 23 25 499s 31 9 2 22 27 20 499s 8 28 33 17 10 15 499s 30 5 34 12 14 16 499s 4 36 29 13 18 11]); 499s out = uint8([ 499s 12 0 0 1 0 0 499s 0 8 0 0 0 0 499s 7 0 0 0 2 0 499s 0 3 9 0 0 0 499s 6 0 11 0 0 0 499s 0 13 4 0 0 0]); 499s assert (imadjust (in, [.1 .9], [0 1]), out); 499s ***** test 499s in = uint8([ 499s 140 4 24 104 76 96 499s 12 128 28 84 92 100 499s 124 36 8 88 108 80 499s 32 112 132 68 40 60 499s 120 20 136 48 56 64 499s 16 144 116 52 72 44]); 499s out = uint8([ 499s 143 0 0 98 63 88 499s 0 128 3 73 83 93 499s 123 13 0 78 103 68 499s 8 108 133 53 18 43 499s 118 0 138 28 38 48 499s 0 148 113 33 58 23]); 499s assert (imadjust (in, [.1 .9], [0 1]), out); 499s ***** xtest 499s in_u8 = randi ([0 255], 5, 5, 2, 3, "uint8"); 499s in_u16 = randi ([0 65535], 5, 5, 2, 3, "uint16"); 499s in_i16 = randi ([-32768 32767], 5, 5, 2, 3, "int16"); 499s in_u8_d = im2double (in_u8); 499s in_u16_d = im2double (in_u16); 499s in_i16_d = im2double (in_i16); 499s lim_u8 = eps + 0.5 / double (intmax ("uint8")); 499s lim_u16 = eps + 0.5 / double (intmax ("uint16")); 499s lim_i16 = eps + 0.5 / ( double (intmax("int16")) - double (intmin ("int16")) ); 499s 499s ## default values 499s assert (im2double (imadjust (in_u8)), imadjust (in_u8_d), lim_u8) 499s assert (im2double( imadjust (in_u16)), imadjust (in_u16_d), lim_u16) 499s assert (im2double( imadjust (in_i16)), imadjust (in_i16_d), lim_i16) 499s 499s ## single adjustment for all planes 499s args = {[.3; .7], [.1; .9], [1.5]}; 499s assert (im2double (imadjust (in_u8, args{:})), imadjust (in_u8_d, args{:}), lim_u8) 499s assert (im2double (imadjust (in_u16, args{:})), imadjust (in_u16_d, args{:}), lim_u16) 499s assert (im2double (imadjust (in_i16, args{:})), imadjust (in_i16_d, args{:}), lim_i16) 499s 499s ## single adjustment for all planes (mixed with some complement) 499s args = {reshape([.2 .3 .25 .1 0 .1; .9 .7 .85 .9 1 .8], [2 2 3]), 499s reshape([.1 .2 .05 .9 1 .3; .9 .85 .7 .1 0 .9], [2 2 3]), 499s reshape([1 .75 1 1.2 1.5 2], [1 2 3])}; 499s assert (im2double (imadjust (in_u8, args{:})), imadjust (in_u8_d, args{:}), lim_u8) 499s assert (im2double (imadjust (in_u16, args{:})), imadjust (in_u16_d, args{:}), lim_u16) 499s assert (im2double (imadjust (in_i16, args{:})), imadjust (in_i16_d, args{:}), lim_i16) 499s 499s ## test use of [] as limit and negative 499s args = {[], [.95; 0], 1.25}; 499s assert (im2double (imadjust (in_u8, args{:})), imadjust (in_u8_d, args{:}), lim_u8) 499s assert (im2double (imadjust (in_u16, args{:})), imadjust (in_u16_d, args{:}), lim_u16) 499s assert (im2double (imadjust (in_i16, args{:})), imadjust (in_i16_d, args{:}), lim_i16) 499s 36 tests, 36 passed, 0 known failure, 0 skipped 499s [inst/integralImage3.m] 499s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/integralImage3.m 499s ***** test 499s assert (integralImage3 (zeros (4)), zeros (5, 5, 2)); 499s ***** test 499s J_res = zeros (2, 2, 2); 499s J_res(2, 2, 2) = 10; 499s assert (integralImage3 (10), J_res); 499s ***** test 499s J = integralImage3 (10); 499s assert (class (J), "double"); 499s J = integralImage3 (uint8 (10)); 499s assert (class (J), "double"); 499s ***** test 499s I = [1, 2; 3, 4]; 499s J = integralImage3 (I); 499s J_res = zeros (3, 3, 2); 499s J_res(2:3, 2:3, 2) = [1 3; 4 10]; 499s assert (J, J_res) 499s ***** test 499s I1 = [1, 2; 3, 4]; 499s I2 = [5, 6; 7, 8]; 499s I3 = [9, 10; 11, 12]; 499s I = cat (3, I1, I2, I3); 499s J = integralImage3 (I); 499s J2 = [0 0 0; 0 1 3; 0 4 10]; 499s J3 = [0 0 0; 0 6 14; 0 16 36]; 499s J4 = [0 0 0; 0 15 33; 0 36 78]; 499s J_res = cat (3, zeros (3), J2, J3, J4); 499s assert (J, J_res) 499s ***** test 499s I = magic (5); 499s J = integralImage3 (I); 499s J_res = zeros (6, 6, 2); 499s J_res(:, :, 2) = [0 0 0 0 0 0; 499s 0 17 41 42 50 65; 499s 0 40 69 77 99 130; 499s 0 44 79 100 142 195; 499s 0 54 101 141 204 260; 499s 0 65 130 195 260 325]; 499s assert (J, J_res) 499s ***** # test of 3d input image: 499s ***** test 499s K = magic (8); 499s K = reshape (K, [4 4 4]); 499s L = integralImage3 (K); 499s L1_ML = zeros (5); 499s L2_ML = [0 0 0 0 0; 499s 0 64 96 98 132; 499s 0 73 146 203 260; 499s 0 90 212 316 388; 499s 0 130 260 390 520]; 499s L3_ML = [0 0 0 0 0; 499s 0 67 134 197 260; 499s 0 130 260 390 520; 499s 0 193 386 583 780; 499s 0 260 520 780 1040]; 499s L4_ML = [0 0 0 0 0; 499s 0 127 222 291 392; 499s 0 203 406 593 780; 499s 0 287 606 903 1168; 499s 0 390 780 1170 1560]; 499s L5_ML = [0 0 0 0 0; 499s 0 134 268 394 520; 499s 0 260 520 780 1040; 499s 0 386 772 1166 1560; 499s 0 520 1040 1560 2080]; 499s L_ML = cat (3, L1_ML, L2_ML, L3_ML, L4_ML, L5_ML); 499s assert (L, L_ML) 499s ***** # test of 2d input image: 499s ***** test 499s X = ones (3); 499s Y = integralImage3 (X); 499s Y_ML = zeros (4, 4, 2); 499s Y_ML(:, :, 2) = [0 0 0 0; 0 1 2 3; 0 2 4 6; 0 3 6 9]; 499s assert(Y, Y_ML); 499s ***** error id=Octave:invalid-fun-call 499s integralImage3 (); 500s ***** error id=Octave:invalid-fun-call 500s integralImage3 (zeros (3), zeros (3)); 500s ***** error 500s integralImage3 ("abcd"); 500s ***** error 500s integralImage3 (1+i); 500s ***** error 500s integralImage3 (reshape (1:81, 3, 3, 3, 3)); 500s 13 tests, 13 passed, 0 known failure, 0 skipped 500s [inst/isbw.m] 500s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/isbw.m 500s ***** shared img 500s img = round (rand (10)); 500s ***** assert (isbw (img, "non-logical"), true); 500s ***** assert (isbw (img, "logical"), false); 500s ***** assert (isbw (logical (img), "logical"), true); 500s ***** assert (isbw (logical (img), "non-logical"), true); 500s ***** test 500s img(1, 1) = 2; 500s assert (isbw (img, "non-logical"), false); 500s ***** test 500s a( 1, 1) = 1; 500s a(50, 50) = 2; 500s assert (isbw (a, "non-logical"), false); 500s ***** assert (isbw (rand (5, 5, 1, 4) > 0.5), true) 500s ***** assert (isbw (rand (5, 5, 3, 4) > 0.5), false) 500s ***** assert (isbw (rand (5, 5, 3) > 0.5), false) 500s ***** assert (isbw (rand (5, 5, 1, 3, 4) > 0.5), false) 500s ***** assert (isbw (randi ([0 1], 5, 5, 1, 4), "non-logical"), true) 500s ***** assert (isbw (randi ([0 1], 5, 5, 3, 4), "non-logical"), false) 500s ***** assert (isbw (randi ([0 1], 5, 5, 3), "non-logical"), false) 500s ***** assert (isbw (randi ([0 1], 5, 5, 1, 3, 4), "non-logical"), false) 500s ***** assert (isbw (single ([0 0 1]), "non-logical"), true) 500s ***** assert (isbw ([0 NaN 1], "non-logical"), false) 500s 16 tests, 16 passed, 0 known failure, 0 skipped 500s [inst/ordfilt2.m] 500s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/ordfilt2.m 500s ***** test 500s order = 3; 500s domain = ones (3); 500s A = zeros (3,3); 500s B = ones (3,3); 500s C = [1 1 1; 2 2 2; 3 3 3]; 500s D = C'; 500s E = ones (3,3); 500s E(2,2) = 2; 500s F = 3 .* ones (3,3); 500s F(2,2) = 1; 500s G = [-1 2 7; -5 2 8; -7 pi 9]; 500s H = [5 2 8; 1 -3 1; 5 1 0]; 500s A_out = [0 0 0; 0 0 0; 0 0 0]; 500s B_out = [0 0 0; 0 1 0; 0 0 0]; 500s C_out = [0 0 0; 0 1 0; 0 0 0]; 500s D_out = [0 0 0; 0 1 0; 0 0 0]; 500s E_out = [0 0 0; 0 1 0; 0 0 0]; 500s F_out = [0 0 0; 0 3 0; 0 0 0]; 500s G_out = [0 0 0; -1 -1 0; 0 0 0]; 500s H_out = [0 0 0; 0 1 0; 0 0 0]; 500s assert (ordfilt2 (A, order, domain), A_out); 500s assert (ordfilt2 (B, order, domain), B_out); 500s assert (ordfilt2 (C, order, domain), C_out); 500s assert (ordfilt2 (D, order, domain), D_out); 500s assert (ordfilt2 (E, order, domain), E_out); 500s assert (ordfilt2 (F, order, domain), F_out); 500s assert (ordfilt2 (G, order, domain), G_out); 500s assert (ordfilt2 (H, order, domain), H_out); 500s 1 test, 1 passed, 0 known failure, 0 skipped 500s [inst/imregionalmax.m] 500s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imregionalmax.m 500s ***** test 500s a = [ 500s 7 3 9 3 10 3 500s 4 2 3 10 1 3 500s 1 4 6 9 4 10 500s 8 7 9 3 4 8 500s 5 9 3 3 8 9 500s 3 6 9 4 1 10]; 500s 500s a4 = [ 500s 1 0 1 0 1 0 500s 0 0 0 1 0 0 500s 0 0 0 0 0 1 500s 1 0 1 0 0 0 500s 0 1 0 0 0 0 500s 0 0 1 0 0 1]; 500s assert (imregionalmax (a, 4), logical (a4)) 500s a8 = [ 500s 1 0 0 0 1 0 500s 0 0 0 1 0 0 500s 0 0 0 0 0 1 500s 0 0 0 0 0 0 500s 0 0 0 0 0 0 500s 0 0 0 0 0 1]; 500s assert (imregionalmax (a, 8), logical (a8)) 500s assert (imregionalmax (a), logical (a8)) 500s ***** test 500s ## test float input images 500s im0 = peaks (); 500s im1 = im0 ./ 100; 500s max_pos_expected = [1000; 1214; 1691; 2353]; 500s max0 = imregionalmax (im0); 500s max0_pos = find (max0); 500s max1 = imregionalmax (im1); 500s assert (max1, max0) 500s assert (max0_pos, max_pos_expected) 500s 2 tests, 2 passed, 0 known failure, 0 skipped 500s [inst/iradon.m] 500s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/iradon.m 500s ***** assert (iradon (single ([0; 1; 1; 0]), 90)); 500s ***** assert (iradon (double ([0; 1; 1; 0]), 90)); 500s ***** assert (iradon (int8 ([0; 1; 1; 0]), 90)); 500s ***** assert (iradon (int16 ([0; 1; 1; 0]), 90)); 500s ***** assert (iradon (int32 ([0; 1; 1; 0]), 90)); 500s ***** assert (iradon (int64 ([0; 1; 1; 0]), 90)); 500s ***** assert (iradon (uint8 ([0; 1; 1; 0]), 90)); 500s ***** assert (iradon (uint16 ([0; 1; 1; 0]), 90)); 500s ***** assert (iradon (uint32 ([0; 1; 1; 0]), 90)); 500s ***** assert (iradon (uint64 ([0; 1; 1; 0]), 90)); 500s ***** assert (iradon (logical ([0; 1; 1; 0]), 90)); 500s ***** assert (iradon (ones (5), 1:5)); 500s ***** assert (iradon (ones (5), 1:5, 'nearest')); 500s ***** assert (iradon (ones (5), 1:5, 'linear')); 500s ***** assert (iradon (ones (5), 1:5, 'spline')); 500s ***** assert (iradon (ones (5), 1:5, 'pchip')); 500s ***** assert (iradon (ones (5), 1:5, 'linear', 'None')); 500s ***** assert (iradon (ones (5), 1:5, 'linear', 'Ram-Lak')); 500s ***** assert (iradon (ones (5), 1:5, 'linear', 'Shepp-Logan')); 500s ***** assert (iradon (ones (5), 1:5, 'linear', 'Cosine')); 500s ***** assert (iradon (ones (5), 1:5, 'linear', 'Hamming')); 500s ***** assert (iradon (ones (5), 1:5, 'linear', 'Hann')); 500s ***** assert (iradon (ones (5), 1:5, 'linear', 'None', 0.45)); 500s ***** assert (iradon (ones (5), 1:5, 'linear', 'None', 0.45, 5)); 500s ***** test 500s [R, F] = iradon (ones (5), 1:5); 500s assert(isvector(F)); 500s assert(ismatrix(R)); 500s ***** error iradon (); 500s ***** error iradon ('xxx'); 500s ***** error iradon (ones (2), 'xxx'); 500s ***** error iradon (ones (5), 1:5, 'foo'); 500s ***** error iradon (ones (5), 1:5, 'linear', 'foo'); 500s ***** error iradon (ones (5), 1:5, 'linear', 'none', 'foo'); 500s ***** error iradon (ones (5), 1:5, 'linear', 'none', 0.65, 'foo'); 500s ***** test 500s A = iradon([0; 1; 1; 0], 90); 500s A_matlab = 0.4671 .* ones (2); 500s assert (A, A_matlab, 0.02); # as Matlab compatible as iradon outputs currently get 500s ***** test 500s A = iradon (radon (ones (2, 2), 0:5), 0:5, "nearest", "none"); 500s A_matlab = [1, 1, 1, 1]' * [0.4264, 2.7859, 2.7152, 0.3557]; 500s assert (A, A_matlab, 0.0001); 500s ***** test 500s P = phantom (128); 500s R = radon (P, 0:179); 500s 500s IR = iradon (R, 0:179, [], [], [], 128); # (errors in Matlab because of []s) 500s D = P - IR; 500s maxdiff = max (abs (D(:))); 500s maxdiff_matlab = 0.3601; 500s assert (maxdiff, maxdiff_matlab, 0.002); 500s meandiff = mean (abs (D(:))); 500s meandiff_matlab = 0.0218; 500s assert (meandiff, meandiff_matlab, 0.001); 500s 500s filtername = "None"; 500s IR = iradon (R, 0:179, [], filtername, [], 128); 500s D = P - IR; 500s maxdiff = max (abs (D(:))); 500s maxdiff_matlab = 36.5671; 500s assert (maxdiff, maxdiff_matlab, 0.0001); 500s meandiff = mean (abs (D(:))); 500s meandiff_matlab = 24.6302; 500s assert (meandiff, meandiff_matlab, 0.0001); 500s 500s filtername = "Ram-Lak"; # is same as default 500s IR = iradon (R, 0:179, [], filtername, [], 128); 500s D = P - IR; 500s maxdiff = max (abs (D(:))); 500s maxdiff_matlab = 0.3601; 500s assert (maxdiff, maxdiff_matlab, 0.002); 500s meandiff = mean (abs (D(:))); 500s meandiff_matlab = 0.0218; 500s assert (meandiff, meandiff_matlab, 0.001); 500s 500s filtername = "Hamming"; 500s IR = iradon (R, 0:179, [], filtername, [], 128); 500s D = P - IR; 500s maxdiff = max (abs (D(:))); 500s maxdiff_matlab = 0.5171; 500s assert (maxdiff, maxdiff_matlab, 0.005); 500s meandiff = mean (abs (D(:))); 500s meandiff_matlab = 0.0278; 500s assert (meandiff, meandiff_matlab, 0.003); 500s 500s filtername = "Shepp-Logan"; 500s IR = iradon (R, 0:179, [], filtername, [], 128); 500s D = P - IR; 500s maxdiff = max (abs (D(:))); 500s maxdiff_matlab = 0.3941; 500s assert (maxdiff, maxdiff_matlab, 0.005); 500s meandiff = mean (abs (D(:))); 500s meandiff_matlab = 0.0226; 500s assert (meandiff, meandiff_matlab, 0.0015); 500s 500s filtername = "Cosine"; 500s IR = iradon (R, 0:179, [], filtername, [], 128); 500s D = P - IR; 500s maxdiff = max (abs (D(:))); 500s maxdiff_matlab = 0.4681; 500s assert (maxdiff, maxdiff_matlab, 0.005); 500s meandiff = mean (abs (D(:))); 500s meandiff_matlab = 0.0249; 500s assert (meandiff, meandiff_matlab, 0.002); 500s 500s filtername = "Hann"; 500s IR = iradon (R, 0:179, [], filtername, [], 128); 500s D = P - IR; 500s maxdiff = max (abs (D(:))); 500s maxdiff_matlab = 0.5334; 500s assert (maxdiff, maxdiff_matlab, 0.005); 500s meandiff = mean (abs (D(:))); 500s meandiff_matlab = 0.0285; 500s assert (meandiff, meandiff_matlab, 0.0025); 503s ***** demo 503s P = phantom (); 503s figure, imshow (P, []), title ("Original image") 503s projections = radon (P, 0:179); 503s reconstruction = iradon (projections, 0:179, 'Spline', 'Hann'); 503s figure, imshow (reconstruction, []), title ("Reconstructed image") 503s 35 tests, 35 passed, 0 known failure, 0 skipped 503s [inst/imsharpen.m] 503s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imsharpen.m 503s ***** test 503s A = zeros (7, 7); 503s A(4,4) = 1; 503s B = [ 503s 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 503s 0.00000 -0.00238 -0.01064 -0.01755 -0.01064 -0.00238 0.00000 503s 0.00000 -0.01064 -0.04771 -0.07866 -0.04771 -0.01064 0.00000 503s 0.00000 -0.01755 -0.07866 1.67032 -0.07866 -0.01755 0.00000 503s 0.00000 -0.01064 -0.04771 -0.07866 -0.04771 -0.01064 0.00000 503s 0.00000 -0.00238 -0.01064 -0.01755 -0.01064 -0.00238 0.00000 503s 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000]; 503s assert (imsharpen (A), B, 5e-6) 503s ***** test 503s A = zeros (7, 7); 503s A(4,4) = 1; 503s B = [ 503s -0.0035147 -0.0065663 -0.0095539 -0.0108259 -0.0095539 -0.0065663 -0.0035147 503s -0.0065663 -0.0122674 -0.0178490 -0.0202255 -0.0178490 -0.0122674 -0.0065663 503s -0.0095539 -0.0178490 -0.0259701 -0.0294280 -0.0259701 -0.0178490 -0.0095539 503s -0.0108259 -0.0202255 -0.0294280 1.7666538 -0.0294280 -0.0202255 -0.0108259 503s -0.0095539 -0.0178490 -0.0259701 -0.0294280 -0.0259701 -0.0178490 -0.0095539 503s -0.0065663 -0.0122674 -0.0178490 -0.0202255 -0.0178490 -0.0122674 -0.0065663 503s -0.0035147 -0.0065663 -0.0095539 -0.0108259 -0.0095539 -0.0065663 -0.0035147]; 503s assert (imsharpen (A, "radius", 2), B, 5e-8) 503s ***** test 503s A = zeros (7, 7); 503s A(4,4) = 1; 503s assert (imsharpen (A, "radius", 0.01), A) 503s ***** test 503s A = zeros (7, 7); 503s A(4,4) = 1; 503s B = A; 503s B(3:5,3:5) = -0.000000000011110; 503s B(3:5,4) = -0.000002981278097; 503s B(4,3:5) = -0.000002981278097; 503s B(4,4) = 1.000011925156828; 503s assert (imsharpen (A, "radius", 0.2), B, eps*10) 503s ***** test 503s A = zeros (7, 7); 503s A(4,4) = 1; 503s B = [ 503s 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 503s 0.00000 -0.00297 -0.01331 -0.02194 -0.01331 -0.00297 0.00000 503s 0.00000 -0.01331 -0.05963 -0.09832 -0.05963 -0.01331 0.00000 503s 0.00000 -0.02194 -0.09832 1.83790 -0.09832 -0.02194 0.00000 503s 0.00000 -0.01331 -0.05963 -0.09832 -0.05963 -0.01331 0.00000 503s 0.00000 -0.00297 -0.01331 -0.02194 -0.01331 -0.00297 0.00000 503s 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000]; 503s assert (imsharpen (A, "amount", 1), B, 5e-6) 503s ***** test 503s A = zeros (7, 7); 503s A(4,4) = 1; 503s B = zeros (7, 7); 503s B(4,4) = 1.670317742690299; 503s B(4,3) = -0.078656265079077; 503s B(3,4) = -0.078656265079077; 503s B(4,5) = -0.078656265079077; 503s B(5,4) = -0.078656265079077; 503s assert (imsharpen (A, "Threshold", 0.117341762), B, eps*10) 503s ***** test 503s A = zeros (7, 7); 503s A(4,4) = 1; 503s B = zeros (7, 7); 503s B(4,4) = 1.670317742690299; 503s assert (imsharpen (A, "Threshold", 0.117341763), B, eps*10) 503s ***** test 503s A = zeros (7, 7, "uint8"); 503s A(3:5,3:5) = 150; 503s B = zeros (7, 7, "uint8"); 503s B(3:5,3:5) = 211; 503s B(4,3:5) = 195; 503s B(3:5,4) = 195; 503s B(4,4) = 175; 503s assert (imsharpen (A), B) 503s ***** test 503s A = zeros (7, 7, "uint8"); 503s A(3:5,3:5) = 100; 503s B = zeros (7, 7, "uint8"); 503s B(3:5,3:5) = 173; 503s assert (imsharpen (A, "radius", 4), B) 503s ***** test 503s A = zeros (7, 7, 3, "uint8"); 503s A(4,4,:) = 255; 503s assert (imsharpen (A), A) 503s ***** xtest 503s A = zeros(7,7,3, "uint8"); 503s A(4,4,1) = 255; 503s B = A; 503s B(4,4,2) = 146; # Octave result is 145; 503s B(4,4,3) = 100; # Octave result is 99; 503s assert (imsharpen (A), B) 503s !!!!! known failure 503s ASSERT errors for: assert (imsharpen (A),B) 503s 503s Location | Observed | Expected | Reason 503s (4,4,2) 145 146 Abs err 0 exceeds tol 0 by 0 503s (4,4,3) 99 100 Abs err 0 exceeds tol 0 by 0 503s ***** xtest 503s A = zeros (7, 7, 3, "uint8"); 503s A(3:5,3:5,1) = 100; 503s A(3:5,3:5,2) = 150; 503s B = A; 503s B(3:5,3:5,1) = 164; 503s B(3:5,4,1) = 146; # Octave result is 147 503s B(4,3:5,1) = 146; # Octave result is 145 503s B(4,4,1) = 125; # Octave result is 126 503s B(3:5,3:5,2) = 213; 503s B(3:5,4,2) = 195; # Octave result is 196 503s B(4,3:5,2) = 195; # Octave result is 196 503s B(4,4,2) = 175; 503s B(3:5,3:5,3) = 79; 503s B(3:5,4,3) = 62; 503s B(4,3:5,3) = 62; 503s B(4,4,3) = 40; # Octave result is 39 503s assert (imsharpen (A), B) 503s !!!!! known failure 503s ASSERT errors for: assert (imsharpen (A),B) 503s 503s Location | Observed | Expected | Reason 503s (4,3,1) 147 146 Abs err 1 exceeds tol 0 by 1 503s (3,4,1) 147 146 Abs err 1 exceeds tol 0 by 1 503s (4,4,1) 126 125 Abs err 1 exceeds tol 0 by 1 503s (5,4,1) 147 146 Abs err 1 exceeds tol 0 by 1 503s (4,5,1) 147 146 Abs err 1 exceeds tol 0 by 1 503s (4,3,2) 196 195 Abs err 1 exceeds tol 0 by 1 503s (3,4,2) 196 195 Abs err 1 exceeds tol 0 by 1 503s (5,4,2) 196 195 Abs err 1 exceeds tol 0 by 1 503s (4,5,2) 196 195 Abs err 1 exceeds tol 0 by 1 503s (4,4,3) 39 40 Abs err 0 exceeds tol 0 by 0 503s ***** error imsharpen () 503s ***** error imsharpen (ones (3, 3), "Radius") 503s ***** error imsharpen (ones (3, 3), "Radius", 0) 503s ***** error imsharpen (ones (3, 3), "Amount", -1) 503s ***** error imsharpen (ones (3, 3), "Threshold", 1.5) 503s ***** error imsharpen (ones (3, 3), "Threshold", -1) 503s ***** error imsharpen (ones (3, 3), "foo") 503s ***** error imsharpen ("foo") 503s 20 tests, 18 passed, 2 known failures, 0 skipped 503s [inst/imcrop.m] 504s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imcrop.m 504s ***** test 504s a = randi (255, [100 100]); 504s rect = [20 30 3 5]; 504s assert (nthargout ([1 2], @imcrop, a, rect), {a(30:35, 20:23) rect}); 504s assert (nthargout (2, @imcrop, a, rect), rect); 504s assert (nthargout ([3 4], 4, @imcrop, a, rect), {a(30:35, 20:23) rect}); 504s ***** test 504s rgb = randi (255, [100 100 3]); 504s rect = [20 30 3 5]; 504s assert (nthargout ([1 2], @imcrop, rgb, rect), {rgb(30:35, 20:23,:) rect}); 504s assert (nthargout (2, @imcrop, rgb, rect), rect); 504s assert (nthargout ([3 4], 4, @imcrop, rgb, rect), {rgb(30:35, 20:23,:) rect}); 504s ***** test 504s a = randi (255, [100 100]); 504s rect = [20 30 3 5]; 504s cmap = jet (255); 504s assert (nthargout ([1 2], @imcrop, a, cmap, rect), {a(30:35, 20:23) rect}); 504s assert (nthargout (2, @imcrop, a, cmap, rect), rect); 504s assert (nthargout ([3 4], 4, @imcrop, a, cmap, rect), {a(30:35, 20:23) rect}); 504s ***** test 504s a = rand (100) > 0.5; 504s rect = [20 30 3 5]; 504s assert (nthargout ([1 2], @imcrop, a, rect), {a(30:35, 20:23) rect}); 504s assert (nthargout (2, @imcrop, a, rect), rect); 504s assert (nthargout ([3 4], 4, @imcrop, a, rect), {a(30:35, 20:23) rect}); 504s ***** assert (imcrop (0, [0.5 0.5 0.9 0.9]), 0); 504s ***** assert (imcrop (zeros (5), [1 1 1 1]), zeros (2)); 504s ***** test 504s im = magic (5); 504s assert (imcrop (im, [1 1 5 5]), im) 504s assert (imcrop (im, [0 0 5 5]), im) 504s assert (imcrop (im, [1 1 2 5]), im(:,1:3)) 504s assert (imcrop (im, [1 -3 2 5]), im(1:2,1:3)) 504s assert (imcrop (im, [5 -3 2 5]), im(1:2,5)) 504s ***** test 504s im = [1:7] .* [1; 2; 3; 4; 5]; 504s assert (imcrop (im, [1 1 5 5]), im(:,1:6)) 504s assert (imcrop (im, [0 0 5 5]), im(:,1:5)) 504s assert (imcrop (im, [1 1 2 5]), im(:,1:3)) 504s assert (imcrop (im, [1 -3 2 7]), im(1:4,1:3)) 504s assert (imcrop (im, [7 -3 2 7]), im(1:4,7)) 504s ***** test 504s ## Matlab returns [] (size 0x0) for this cases, while we return 504s ## [] (size 2x0). We are not compatible by design. If it ever 504s ## becomes an issue to anyone we can review this decision. 504s assert (imcrop (magic (5), [6 -3 2 5]), zeros (2, 0)) 504s 9 tests, 9 passed, 0 known failure, 0 skipped 504s [inst/imfilter.m] 504s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imfilter.m 504s ***** test 504s img = [ 504s 8 2 6 7 4 3 7 8 4 1 504s 9 9 1 1 4 7 3 3 8 1 504s 2 9 8 3 7 6 5 8 6 5 504s 9 5 9 1 8 2 7 3 5 8 504s 6 8 7 1 2 2 9 9 9 9 504s 1 2 7 8 5 5 9 4 3 2 504s 3 4 7 7 5 9 5 2 7 6 504s 5 9 4 3 6 4 2 3 7 5 504s 9 8 6 9 7 6 2 6 4 1 504s 9 9 2 1 7 3 3 5 6 4]; 504s 504s expected_corr = [ 504s 46 53 30 34 44 42 40 51 42 19 504s 48 66 57 42 46 50 59 58 49 34 504s 48 67 55 54 44 58 50 50 64 39 504s 44 77 52 43 28 55 57 75 70 50 504s 29 51 65 51 42 50 60 62 55 42 504s 23 44 58 59 63 59 55 57 50 36 504s 36 50 52 56 56 47 48 45 47 39 504s 51 64 70 62 56 50 40 38 41 31 504s 58 72 50 49 58 45 41 42 49 28 504s 27 37 27 21 19 26 16 23 24 17]; 504s assert (imfilter (img, [0 1 0; 2 1 1; 1 2 2]), expected_corr) 504s 504s ## test order of options (and matching with defaults) 504s assert (imfilter (img, [0 1 0; 2 1 1; 1 2 2], 0), expected_corr) 504s assert (imfilter (img, [0 1 0; 2 1 1; 1 2 2], "corr"), expected_corr) 504s assert (imfilter (img, [0 1 0; 2 1 1; 1 2 2], "corr", 0), expected_corr) 504s assert (imfilter (img, [0 1 0; 2 1 1; 1 2 2], 0, "corr"), expected_corr) 504s 504s expected_conv = [ 504s 21 31 23 22 21 28 29 26 22 6 504s 47 55 43 43 51 44 49 64 44 24 504s 56 69 53 34 47 50 57 48 52 37 504s 38 70 60 56 41 57 54 61 66 44 504s 46 67 53 48 32 54 59 65 63 46 504s 28 56 63 50 36 54 58 66 63 47 504s 20 43 55 62 67 57 52 53 44 28 504s 42 51 54 61 57 53 44 46 48 39 504s 53 70 63 50 57 42 38 38 43 33 504s 53 62 50 54 52 44 38 40 40 20]; 504s assert (imfilter (img, [0 1 0; 2 1 1; 1 2 2], "conv"), expected_conv) 504s 504s ## alternative class 504s assert (imfilter (single (img), [0 1 0; 2 1 1; 1 2 2]), 504s single (expected_corr)) 504s assert (imfilter (int8 (img), [0 1 0; 2 1 1; 1 2 2]), 504s int8 (expected_corr)) 504s assert (imfilter (uint8 (img), [0 1 0; 2 1 1; 1 2 2]), 504s uint8 (expected_corr)) 504s 504s assert (imfilter (single (img), [0 1 0; 2 1 1; 1 2 2], "conv"), 504s single (expected_conv)) 504s assert (imfilter (int8 (img), [0 1 0; 2 1 1; 1 2 2], "conv"), 504s int8 (expected_conv)) 504s assert (imfilter (uint8 (img), [0 1 0; 2 1 1; 1 2 2], "conv"), 504s uint8 (expected_conv)) 504s 504s ***** test 504s I = zeros (6); 504s I(2:3,2:3) = 1; 504s F = zeros (4); 504s F(2,2:3) = 1; 504s result = [0 0 0 0 0 0 504s 1 2 1 0 0 0 504s 1 2 1 0 0 0 504s 0 0 0 0 0 0 504s 0 0 0 0 0 0 504s 0 0 0 0 0 0]; 504s assert (imfilter (I, F), result) 504s 2 tests, 2 passed, 0 known failure, 0 skipped 504s [inst/montage.m] 504s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/montage.m 504s ***** function cdata = montage_cdata (varargin) 504s h = figure (); 504s set (h, "visible", "off"); 504s mh = montage (varargin{:}); 504s cdata = get (mh, "cdata"); 504s close (h); 504s ***** endfunction 504s ***** test 504s im = uint8 (ones (2, 2, 1, 5)) .* reshape ([1 2 3 4 5], [1 1 1 5]); 504s cdata = montage_cdata (im); 504s expected = uint8 ([ 504s 1 1 2 2 3 3 504s 1 1 2 2 3 3 504s 4 4 5 5 0 0 504s 4 4 5 5 0 0 504s ]); 504s assert (cdata, expected) 504s ***** test 504s im = uint8 (ones (2, 4, 1, 6)) .* reshape ([1 2 3 4 5 6], [1 1 1 6]); 504s cdata = montage_cdata (im); 504s expected = uint8 ([ 504s 1 1 1 1 2 2 2 2 504s 1 1 1 1 2 2 2 2 504s 3 3 3 3 4 4 4 4 504s 3 3 3 3 4 4 4 4 504s 5 5 5 5 6 6 6 6 504s 5 5 5 5 6 6 6 6 504s ]); 504s assert (cdata, expected) 504s 2 tests, 2 passed, 0 known failure, 0 skipped 504s [inst/imquantize.m] 504s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imquantize.m 504s ***** error 504s imquantize (rand (5), [3 4 2 5]) 504s ***** error 504s imquantize (rand (5), [1 2 3], "foo") 504s ***** error 504s imquantize (rand (5), [1 2 3 4], 1:6) 504s ***** error 504s imquantize (rand (5), [1 2 3 4], 1:2) 504s ***** test 504s img = [-inf 0 10000000; -100000 -3 1/1000000; 5 5 10]; 504s [q, q_idx] = imquantize (img, 5); 504s assert (q, [1 1 2; 1 1 1; 1 1 2]) 504s assert (q_idx, q) 504s ***** test 504s img = [1:10; 11:20; 21:30; 31:40; 41:50; 51:60; 61:70]; 504s 504s expected_q = [ 504s 0 0 0 0 0 1 1 1 1 1 504s 1 1 1 1 1 5 5 5 5 5 504s 5 5 5 5 5 10 10 10 10 10 504s 20 20 20 20 20 20 20 20 20 20 504s 30 30 30 30 30 30 30 30 30 30 504s 30 30 30 30 30 30 30 30 30 30 504s 15 15 15 15 15 15 15 15 15 15]; 504s 504s expected_q_idx = [ 504s 1 1 1 1 1 2 2 2 2 2 504s 2 2 2 2 2 3 3 3 3 3 504s 3 3 3 3 3 4 4 4 4 4 504s 5 5 5 5 5 5 5 5 5 5 504s 6 6 6 6 6 6 6 6 6 6 504s 6 6 6 6 6 6 6 6 6 6 504s 7 7 7 7 7 7 7 7 7 7]; 504s 504s [q, q_idx] = imquantize (img, [5 15 25 30 40 60], [0 1 5 10 20 30 15]); 504s assert (q, expected_q) 504s assert (q_idx, expected_q_idx) 504s 504s [q, q_idx] = imquantize (single (img), [5 15 25 30 40 60], 504s [0 1 5 10 20 30 15]); 504s assert (q, expected_q) 504s assert (q_idx, expected_q_idx) 504s 504s [q, q_idx] = imquantize (uint8 (img), [5 15 25 30 40 60], 504s [0 1 5 10 20 30 15]); 504s assert (q, expected_q) 504s assert (q_idx, expected_q_idx) 504s 504s [q, q_idx] = imquantize (uint8 (img), uint8 ([5 15 25 30 40 60]), 504s [0 1 5 10 20 30 15]); 504s assert (q, expected_q) 504s assert (q_idx, expected_q_idx) 504s 504s [q, q_idx] = imquantize (uint8 (img), uint8 ([5 15 25 30 40 60]), 504s uint8 ([0 1 5 10 20 30 15])); 504s assert (q, uint8 (expected_q)) 504s assert (q_idx, expected_q_idx) 504s ***** test 504s img = randi ([0 255], 10, "uint8"); 504s [q, q_idx] = imquantize (img, [50 100 150 200]); 504s assert (class (q), "double") 504s assert (class (q_idx), "double") 504s 504s [q, q_idx] = imquantize (img, [50 100 150 200], uint16 ([5 7 8 9 2])); 504s assert (class (q), "uint16") 504s assert (class (q_idx), "double") 504s 504s [q, q_idx] = imquantize (img, [50 100 150 200], uint8 ([5 7 8 9 2])); 504s assert (class (q), "uint8") 504s assert (class (q_idx), "double") 504s ***** test 504s img = [1:10; 11:20; 21:30; 31:40; 41:50; 51:60; 61:70].'; 504s r_idx = reshape (randperm (numel (img)), size (img)); 504s 504s [quant, quant_idx] = imquantize (img, [5 15 25 30 40 60]); 504s [quant_r, quant_r_idx] = imquantize (img(r_idx), [5 15 25 30 40 60]); 504s 504s assert (imquantize (img(r_idx), [5 15 25 30 40 60]), quant(r_idx)) 504s assert (quant_r, quant_r_idx) 504s 8 tests, 8 passed, 0 known failure, 0 skipped 504s [inst/im2uint8.m] 504s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/im2uint8.m 504s ***** assert (im2uint8 (uint8 ([1 2 3])), uint8 ([1 2 3])); 504s ***** assert (im2uint8 (uint16 ([0 65535])), uint8 ([0 255])); 504s ***** assert (im2uint8 ([0 0.5 1]), uint8 ([0 128 255])); 504s ***** assert (im2uint8 ([1 2]), uint8 ([255 255])); 504s ***** assert (im2uint8 ([-1 0 0.5 1 2]), uint8 ([0 0 128 255 255])); 504s ***** assert (im2uint8 (int16 ([-32768 0 32768])), uint8 ([0 128 255])); 504s ***** assert (im2uint8 ([false true]), uint8 ([0 255])); 504s ***** assert (im2uint8 ([true false]), uint8 ([255 0])); 504s ***** assert (im2uint8 ([1 256], "indexed"), uint8 ([0 255])); 504s ***** assert (im2uint8 ([3 25], "indexed"), uint8 ([2 24])); 504s ***** assert (im2uint8 (uint16 ([3 25]), "indexed"), uint8 ([3 25])); 504s ***** error im2uint8 ([0 1 2], "indexed"); 504s ***** error im2uint8 (int16 ([17 8]), "indexed"); 504s ***** error im2uint8 (int16 ([-7 8]), "indexed"); 504s ***** error im2uint8 ([false true], "indexed"); 504s ***** error im2uint8 (uint16 (256), "indexed"); 504s ***** error im2uint8 (257, "indexed"); 504s ***** assert (im2uint8 ((1:255) ./ 256), uint8 ([1:128 128:254])) 504s ***** assert (im2uint8 ((0:255) ./ 256), uint8 ([0:128 128:254])) 504s 19 tests, 19 passed, 0 known failure, 0 skipped 504s [inst/lab2rgb.m] 504s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/lab2rgb.m 504s ***** assert (lab2rgb ([0 0 0]), [0, 0, 0], 1e-3) 504s ***** assert (lab2rgb ([53.24, 80.09, 67.20]), [1 0 0], 1e-3) 504s ***** assert (lab2rgb ([97.14, -21.55, 94.48]), [1 1 0], 1e-3) 504s ***** assert (lab2rgb ([87.74, -86.18, 83.18]), [0 1 0], 1e-3) 504s ***** assert (lab2rgb ([91.11, -48.09, -14.13]), [0 1 1], 1e-3) 504s ***** assert (lab2rgb ([32.30, 79.19, -107.86]), [0 0 1], 1e-3) 504s ***** assert (lab2rgb ([60.32, 98.24, -60.83]), [1 0 1], 1e-3) 504s ***** assert (lab2rgb ([100, 0.00, 0.00]), [1 1 1], 1e-3) 504s ***** assert (lab2rgb ([53.39, 0.00, 0.00]), [0.5 0.5 0.5], 1e-3) 504s ***** assert (lab2rgb ([39.77, 64.51, 54.13]), [0.75 0 0], 1e-3) 504s ***** assert (lab2rgb ([25.42, 47.91, 37.91]), [0.5 0 0], 1e-3) 504s ***** assert (lab2rgb ([9.66, 29.68, 15.24]), [0.25 0 0], 1e-3) 504s ***** assert (lab2rgb ([68.11, 48.39, 22.83]), [1 0.5 0.5], 1e-3) 504s ***** assert (lab2rgb ([150 130 130]), [2.714, 1.028, 0.492], 1e-3) 504s ***** test 504s lab_map = rand (64, 3); 504s lab_map(:,1) = lab_map(:,1) .* 100; 504s lab_map(:,2) = lab_map(:,2) .* 254 - 127; 504s lab_map(:,3) = lab_map(:,3) .* 254 - 127; 504s assert (rgb2lab (lab2rgb (lab_map)), lab_map, 5e-3); 504s ***** test 504s lab_img = rand (64, 64, 3); 504s lab_img(:,:,1) = lab_img(:,:,1) .* 100; 504s lab_img(:,:,2) = lab_img(:,:,2) .* 254 - 127; 504s lab_img(:,:,3) = lab_img(:,:,3) .* 254 - 127; 504s assert (rgb2lab (lab2rgb (lab_img)), lab_img, 5e-3); 504s ***** assert (lab2rgb (sparse ([0 0 0])), [0 0 0], 1e-3) 504s ***** assert (lab2rgb (sparse ([100, 0.00, 0.00])), [1 1 1], 1e-3) 504s ***** assert (class (lab2rgb (single([50 50 50]))), 'single') 504s ***** error lab2rgb () 504s ***** error lab2rgb (1,2) 504s ***** error lab2rgb ({1}) 504s ***** error lab2rgb (ones (2,2)) 504s ***** test 504s lab = rand (16, 16, 3, 5); 504s lab(:,:,1,:) = lab(:,:,1,:) .* 100; 504s lab(:,:,2,:) = lab(:,:,2,:) .* 254 - 127; 504s lab(:,:,3,:) = lab(:,:,3,:) .* 254 - 127; 504s rgb = zeros (size (lab)); 504s for i = 1:5 504s rgb(:,:,:,i) = lab2rgb (lab(:,:,:,i)); 504s endfor 504s assert (lab2rgb (lab), rgb) 504s 24 tests, 24 passed, 0 known failure, 0 skipped 504s [inst/@imref2d/sizesMatch.m] 504s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/@imref2d/sizesMatch.m 504s ***** error id=Octave:invalid-fun-call sizesMatch (imref2d) 504s ***** test 504s I = zeros (256, 256); 504s r = imref2d ([256, 256]); 504s assert (sizesMatch (r, I), true) 504s I2 = zeros (246, 300); 504s assert (sizesMatch (r, I2), false) 504s ***** test 504s r = imref2d ([256, 256]); 504s assert (sizesMatch (r, []), false) 504s ***** test 504s r = imref2d ([256, 256]); 504s assert (sizesMatch (r, 42), false) 504s ***** test 504s r = imref2d ([256, 256]); 504s assert (sizesMatch (r, zeros (256, 256, 3, 2)), true) 504s ***** test 504s I = zeros (384, 512, 3); 504s r = imref2d (size (I)); 504s assert (sizesMatch (r, I), true) 504s 6 tests, 6 passed, 0 known failure, 0 skipped 504s [inst/@imref2d/worldToSubscript.m] 504s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/@imref2d/worldToSubscript.m 504s ***** error id=Octave:invalid-fun-call worldToSubscript (imref2d) 505s ***** error id=Octave:invalid-fun-call worldToSubscript (imref2d, 1, 2, 3) 505s ***** error id=Octave:expected-real worldToSubscript (imref2d, 1j, 2) 505s ***** error id=Octave:expected-real worldToSubscript (imref2d, 1, 2j) 505s ***** error id=Octave:invalid-input-arg worldToSubscript (imref2d, [1, 2], 3) 505s ***** error id=Octave:invalid-input-arg worldToSubscript (imref2d, [1], [2, 3]) 505s ***** test 505s r = imref2d ([512, 512], 0.3125, 0.3125); 505s xW = [38.44, 39.44, 38.44, -0.2]; 505s yW = [68.75, 68.75, 75.75, -1]; 505s [rS, cS] = worldToSubscript (r, xW, yW); 505s assert (rS, [220, 220, 242, NaN]) 505s assert (cS, [123, 126, 123, NaN]) 505s 7 tests, 7 passed, 0 known failure, 0 skipped 505s [inst/@imref2d/intrinsicToWorld.m] 505s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/@imref2d/intrinsicToWorld.m 505s ***** error id=Octave:invalid-fun-call intrinsicToWorld (imref2d) 505s ***** error id=Octave:invalid-fun-call intrinsicToWorld (imref2d, 1, 2, 3) 505s ***** error id=Octave:expected-real intrinsicToWorld (imref2d, 1j, 2) 505s ***** error id=Octave:expected-real intrinsicToWorld (imref2d, 1, 2j) 505s ***** error id=Octave:invalid-input-arg intrinsicToWorld (imref2d, [1, 2], 3) 505s ***** error id=Octave:invalid-input-arg intrinsicToWorld (imref2d, [1], [2, 3]) 505s ***** test 505s r = imref2d ([512, 512], 0.3125, 0.3125); 505s xIntrinsic = [34, 442]; 505s yIntrinsic = [172, 172]; 505s [xWorld, yWorld] = intrinsicToWorld (r, xIntrinsic, yIntrinsic); 505s assert (xWorld, [10.625, 138.125]) 505s assert (yWorld, [53.75, 53.75]) 505s ***** test 505s [xWorld, yWorld] = intrinsicToWorld (imref2d, -5.3, -2.8); 505s assert (xWorld, -5.3) 505s assert (yWorld, -2.8) 505s ***** test 505s [xW, yW] = intrinsicToWorld (imref2d, [1, 2; 3, 4], [2, 3; 5, 9]); 505s assert (xW, [1, 2; 3, 4]) 505s assert (yW, [2, 3; 5, 9]) 505s 9 tests, 9 passed, 0 known failure, 0 skipped 505s [inst/@imref2d/imref2d.m] 505s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/@imref2d/imref2d.m 505s ***** error id=Octave:invalid-fun-call imref2d (1, 2, 3, 4) 505s ***** error id=Octave:invalid-input-arg imref2d (42) 505s ***** error id=Octave:invalid-input-arg imref2d ([42]) 505s ***** error id=Octave:expected-integer imref2d ([4.2, 42]) 505s ***** error id=Octave:expected-positive imref2d ([0, 0]) 505s ***** error id=Octave:expected-positive imref2d ([-4, 2]) 505s ***** error id=Octave:expected-positive imref2d ([4, 2], 0, 2) 505s ***** error id=Octave:expected-positive imref2d ([4, 2], 2, 0) 505s ***** error id=Octave:expected-real imref2d ([4, 2], j, 2) 505s ***** error id=Octave:expected-real imref2d ([4, 2], 2, j) 505s ***** error id=Octave:expected-real imref2d ([4, 2], [j, 2], [3, 4]) 505s ***** error id=Octave:expected-real imref2d ([4, 2], [1, 2], [j, 4]) 505s ***** error id=Octave:expected-vector imref2d ([4, 2], [], []) 505s ***** error id=Octave:expected-vector imref2d ([4, 2], [], [1]) 505s ***** error id=Octave:expected-scalar imref2d ([4, 2], [1], []) 505s ***** error id=Octave:incorrect-size imref2d ([4, 2], [1, 2], [0]) 505s ***** error id=Octave:incorrect-size imref2d ([4, 2], [1, 2], [1, 2, 3]) 505s ***** error id=Octave:incorrect-size imref2d ([4, 2], [1, 2, 3], [1, 2]) 505s ***** error id=Octave:incorrect-size imref2d ([4, 2], [1; 2], [1, 2]) 505s ***** error id=Octave:incorrect-size imref2d ([4, 2], [1, 2], [1; 2]) 505s ***** error id=Octave:invalid-indexing imref2d().InvalidProperty 505s ***** error id=Octave:expected-increasing imref2d ([100 200], [1.5 0.5], [2.5 3.5]) 505s ***** error id=Octave:expected-increasing imref2d ([100 200], [1.5 2.5], [2.5 1.5]) 505s ***** test 505s r = imref2d; 505s assert (r.XWorldLimits, [0.5, 2.5]) 505s assert (r.YWorldLimits, [0.5, 2.5]) 505s assert (r.ImageSize, [2, 2]) 505s assert (r.PixelExtentInWorldX, 1) 505s assert (r.PixelExtentInWorldY, 1) 505s assert (r.ImageExtentInWorldX, 2) 505s assert (r.ImageExtentInWorldY, 2) 505s assert (r.XIntrinsicLimits, [0.5, 2.5]) 505s assert (r.YIntrinsicLimits, [0.5, 2.5]) 505s ***** test 505s r = imref2d ([100, 200]); 505s assert (r.XWorldLimits, [0.5, 200.5]) 505s assert (r.YWorldLimits, [0.5, 100.5]) 505s assert (r.ImageSize, [100, 200]) 505s assert (r.PixelExtentInWorldX, 1) 505s assert (r.PixelExtentInWorldY, 1) 505s assert (r.ImageExtentInWorldX, 200) 505s assert (r.ImageExtentInWorldY, 100) 505s assert (r.XIntrinsicLimits, [0.5, 200.5]) 505s assert (r.YIntrinsicLimits, [0.5, 100.5]) 505s ***** test 505s xWorldLimits = [2, 5]; 505s yWorldLimits = [3, 6]; 505s r = imref2d ([291, 240], xWorldLimits, yWorldLimits); 505s assert (r.XWorldLimits, [2, 5]) 505s assert (r.YWorldLimits, [3, 6]) 505s assert (r.ImageSize, [291, 240]) 505s assert (r.PixelExtentInWorldX, 0.0125) 505s assert (r.PixelExtentInWorldY, 0.0103, 1e-3) 505s assert (r.ImageExtentInWorldX, 3) 505s assert (r.ImageExtentInWorldY, 3) 505s assert (r.XIntrinsicLimits, [0.5, 240.5]) 505s assert (r.YIntrinsicLimits, [0.5, 291.5]) 505s ***** test 505s pixelExtentInWorldX = 0.3125; 505s pixelExtentInWorldY = 0.3125; 505s r = imref2d ([512, 512], pixelExtentInWorldX, pixelExtentInWorldY); 505s assert (r.XWorldLimits, [0.15625, 160.1562], 1e-4) 505s assert (r.YWorldLimits, [0.15625, 160.1562], 1e-4) 505s assert (r.ImageSize, [512, 512]) 505s assert (r.PixelExtentInWorldX, 0.3125) 505s assert (r.PixelExtentInWorldY, 0.3125) 505s assert (r.ImageExtentInWorldX, 160) 505s assert (r.ImageExtentInWorldY, 160) 505s assert (r.XIntrinsicLimits, [0.5, 512.5]) 505s assert (r.YIntrinsicLimits, [0.5, 512.5]) 505s ***** test 505s pixelExtentInWorldX = 0.1; 505s pixelExtentInWorldY = 0.4; 505s r = imref2d ([100, 200], pixelExtentInWorldX, pixelExtentInWorldY); 505s assert (r.XWorldLimits, [0.05, 20.05], 1e-4) 505s assert (r.YWorldLimits, [0.2, 40.2], 1e-4) 505s assert (r.ImageSize, [100, 200]) 505s assert (r.PixelExtentInWorldX, 0.1) 505s assert (r.PixelExtentInWorldY, 0.4) 505s assert (r.ImageExtentInWorldX, 20) 505s assert (r.ImageExtentInWorldY, 40) 505s assert (r.XIntrinsicLimits, [0.5, 200.5]) 505s assert (r.YIntrinsicLimits, [0.5, 100.5]) 505s ***** test 505s r = imref2d; 505s assert (r.XWorldLimits, [0.5, 2.5]) 505s assert (r.YWorldLimits, [0.5, 2.5]) 505s assert (r.ImageSize, [2, 2]) 505s assert (r.PixelExtentInWorldX, 1) 505s assert (r.PixelExtentInWorldY, 1) 505s assert (r.ImageExtentInWorldX, 2) 505s assert (r.ImageExtentInWorldY, 2) 505s assert (r.XIntrinsicLimits, [0.5, 2.5]) 505s assert (r.YIntrinsicLimits, [0.5, 2.5]) 505s r.ImageSize = [800, 600]; 505s assert (r.XWorldLimits, [0.5, 2.5]) 505s assert (r.YWorldLimits, [0.5, 2.5]) 505s assert (r.ImageSize, [800, 600]) 505s assert (r.PixelExtentInWorldX, 0.003333, 1e-5) 505s assert (r.PixelExtentInWorldY, 0.0025) 505s assert (r.ImageExtentInWorldX, 2) 505s assert (r.ImageExtentInWorldY, 2) 505s assert (r.XIntrinsicLimits, [0.5, 600.5]) 505s assert (r.YIntrinsicLimits, [0.5, 800.5]) 505s ***** test 505s r = imref2d; 505s assert (r.XWorldLimits, [0.5, 2.5]) 505s assert (r.YWorldLimits, [0.5, 2.5]) 505s assert (r.ImageSize, [2, 2]) 505s assert (r.PixelExtentInWorldX, 1) 505s assert (r.PixelExtentInWorldY, 1) 505s assert (r.ImageExtentInWorldX, 2) 505s assert (r.ImageExtentInWorldY, 2) 505s assert (r.XIntrinsicLimits, [0.5, 2.5]) 505s assert (r.YIntrinsicLimits, [0.5, 2.5]) 505s r.XWorldLimits = [-60, 13.33]; 505s r.YWorldLimits = [-900.8, -560.26]; 505s assert (r.XWorldLimits, [-60, 13.33]) 505s assert (r.YWorldLimits, [-900.8, -560.26]) 505s assert (r.PixelExtentInWorldX, 36.6650) 505s assert (r.PixelExtentInWorldY, 170.27, 1e-5) 505s assert (r.ImageExtentInWorldX, 73.33, 1e-5) 505s assert (r.ImageExtentInWorldY, 340.54, 1e-5) 505s assert (r.XIntrinsicLimits, [0.5, 2.5]) 505s assert (r.YIntrinsicLimits, [0.5, 2.5]) 505s ***** test 505s r = imref2d; 505s fail ("r.XWorldLimits = []", "") 505s fail ("r.XWorldLimits = [1]", "") 505s fail ("r.XWorldLimits = [j]", "") 505s fail ("r.XWorldLimits = [1; 2]", "") 505s fail ("r.YWorldLimits = []", "") 505s fail ("r.YWorldLimits = [1]", "") 505s fail ("r.YWorldLimits = [j]", "") 505s fail ("r.YWorldLimits = [1; 2]", "") 505s ***** assert (imref2d ([4, 2, 3]).ImageSize, [4, 2]); 505s 32 tests, 32 passed, 0 known failure, 0 skipped 505s [inst/@imref2d/contains.m] 505s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/@imref2d/contains.m 505s ***** error id=Octave:invalid-fun-call contains (imref2d) 505s ***** error id=Octave:invalid-fun-call contains (imref2d, 1) 505s ***** error id=Octave:invalid-fun-call contains (imref2d, 1, 2, 3) 505s ***** error id=Octave:invalid-input-arg contains (imref2d, 1, [2, 3]) 505s ***** error id=Octave:invalid-input-arg contains (imref2d, [1, 2], 3) 505s ***** error id=Octave:expected-real contains (imref2d, 0, j) 505s ***** error id=Octave:expected-real contains (imref2d, j, 0) 505s ***** assert (contains (imref2d, [], []), logical( zeros (0, 0))) 505s ***** assert (contains (imref2d, [1, 2; 3, 4], [5, -6; 7, 8]), logical (zeros (2, 2))) 505s ***** test 505s r = imref2d ([256, 256]); 505s assert (contains(r, [5, 8, 8], [5, 10, 257]), logical([1, 1, 0])) 505s 10 tests, 10 passed, 0 known failure, 0 skipped 505s [inst/@imref2d/worldToIntrinsic.m] 505s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/@imref2d/worldToIntrinsic.m 505s ***** error id=Octave:invalid-fun-call worldToIntrinsic (imref2d) 506s ***** error id=Octave:invalid-fun-call worldToIntrinsic (imref2d, 1, 2, 3) 506s ***** error id=Octave:expected-real worldToIntrinsic (imref2d, 1j, 2) 506s ***** error id=Octave:expected-real worldToIntrinsic (imref2d, 1, 2j) 506s ***** error id=Octave:invalid-input-arg worldToIntrinsic (imref2d, [1, 2], 3) 506s ***** error id=Octave:invalid-input-arg worldToIntrinsic (imref2d, [1], [2, 3]) 506s ***** test 506s r = imref2d ([512, 512], 0.3125, 0.3125); 506s xW = [38.44, 39.44, 38.44, -0.2]; 506s yW = [68.75, 68.75, 75.75, -1]; 506s [xI, yI] = worldToIntrinsic (r, xW, yW); 506s assert (xI, [123.008, 126.208, 123.008, -0.64], 1e-6) 506s assert (yI, [220, 220, 242.4, -3.2], 1e-6) 506s 7 tests, 7 passed, 0 known failure, 0 skipped 506s [inst/entropyfilt.m] 506s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/entropyfilt.m 506s ***** test 506s a = log2 (9) * ones (5, 5); 506s b = -(2*log2 (2/9) + log2 (1/9))/3; 506s a(1,2:4) = b; 506s a(5,2:4) = b; 506s a(2:4,1) = b; 506s a(2:4,5) = b; 506s c = -(4*log2 (4/9) + 4*log2 (2/9) + log2 (1/9))/9; 506s a(1,1) = c; 506s a(5,1) = c; 506s a(1,5) = c; 506s a(5,5) = c; 506s assert (entropyfilt (uint8 (magic (5)), ones (3, 3)), a, 2*eps); 506s ***** test 506s assert (entropyfilt (uint8 (ones (10, 10))), zeros (10, 10)); 506s ***** test 506s A = zeros (3,3); 506s B = ones (3,3); 506s C = [1 1 1; 2 2 2; 3 3 3]; 506s D = C'; 506s E = ones (3,3); 506s E(2,2) = 2; 506s F = 3 .* ones (3,3); 506s F(2,2) = 1; 506s G = [-1 2 7; -5 2 8; -7 pi 9]; 506s H = [5 2 8; 1 -3 1; 5 1 0]; 506s Hf = mat2gray(H); 506s X = uint8(abs(H)); 506s P = [0.2 0.201 0.204; 0.202 0.203 0.205; 0.205 0.206 0.202]; 506s Q = uint16([100 101 103; 100 105 102; 100 102 103]); 506s 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]); 506s Aout = zeros (3); 506s Bout = zeros (3); 506s Cout = zeros (3); 506s Dout = zeros (3); 506s Eout = zeros (3); 506s Fout = zeros (3); 506s Gout_1 = -sum([2 7]./9.*log2([2 7]./9)); 506s Gout_2 = -sum([3 6]./9.*log2([3 6]./9)); 506s Gout_3 = -sum([4 5]./9.*log2([4 5]./9)); 506s Gout = [Gout_1 Gout_2 Gout_3; Gout_1 Gout_2 Gout_3; Gout_1 Gout_2 Gout_3]; 506s Hout_5 = -sum([2 7]./9.*log2([2 7]./9)) ; 506s Hout = [0.8916 0.8256 0.7412; 0.8256 Hout_5 0.6913; 0.7412 0.6913 0.6355]; 506s Hfout_5 = -sum([3 2 1 1 1 1]./9.*log2([3 2 1 1 1 1]./9)); 506s Hfout = [2.3613 2.3296 2.2252; 2.4571 Hfout_5 2.3090; 2.4805 2.4488 2.3445]; 506s Xout_5 = -sum([1 1 1 1 2 3]./9.*log2([1 1 1 1 2 3]./9)); 506s Xout = [2.3613 2.3296 2.2252; 2.4571 Xout_5 2.3090; 2.4805 2.4488 2.3445]; 506s Pout_5 = -sum([1 2 6]./9.*log2([1 2 6]./9)); 506s Pout = [1.1137 1.1730 1.2251; 1.1595 Pout_5 1.2774; 1.1556 1.2183 1.2635]; 506s Qout = zeros(3); 506s Rout = [3.5143 3.5700 3.4871 3.4957 3.4825; 506s 3.4705 3.5330 3.4341 3.4246 3.3890; 506s 3.3694 3.4063 3.3279 3.3386 3.3030; 506s 3.3717 3.4209 3.3396 3.3482 3.3044; 506s 3.4361 3.5047 3.3999 3.4236 3.3879]; 506s assert (entropyfilt (A), Aout); 506s assert (entropyfilt (B), Bout); 506s assert (entropyfilt (C), Cout); 506s assert (entropyfilt (D), Dout); 506s assert (entropyfilt (E), Eout); 506s assert (entropyfilt (F), Fout); 506s assert (entropyfilt (G), Gout, 1e-4); 506s assert (entropyfilt (H), Hout, 1e-4); 506s assert (entropyfilt (Hf), Hfout, 1e-4); 506s assert (entropyfilt (X), Xout, 1e-4); 506s assert (entropyfilt (P), Pout, 1e-4); 506s assert (entropyfilt (Q), Qout); 506s assert (entropyfilt (R), Rout, 1e-4); 506s 3 tests, 3 passed, 0 known failure, 0 skipped 506s [inst/imimposemin.m] 506s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imimposemin.m 506s ***** shared im0, bw0, out0, out0_4 506s im0 = uint8 ([5 5 5 5 5; 506s 5 4 3 4 5; 506s 5 3 0 3 5; 506s 5 4 3 4 5; 506s 5 5 5 5 5]); 506s bw0 = false (5); 506s bw0(4, 4) = true; 506s out0 = im0 + 1; 506s out0(4, 4) = 0; 506s out0_4 = out0; 506s out0_4(3, 3) = 4; 506s ***** error imimposemin () 506s ***** error imimposemin (im0) 506s ***** error imimposemin ("hello", bw0) 506s ***** error imimposemin (i.*im0, bw0) 506s ***** error imimposemin (sparse (im0), bw0) 506s ***** error imimposemin (im0, ones (2)) 506s ***** error imimposemin (im0, 'hello') 506s ***** error imimposemin (im0, i .* double (bw0)) 506s ***** error imimposemin (im0, sparse (bw0)) 506s ***** error imimposemin (im0, bw0, 'hello') 506s ***** error imimposemin (im0, bw0, 3) 506s ***** assert (imimposemin (im0, bw0), out0) 506s ***** assert (imimposemin (im0, bw0, 8), out0) 506s ***** assert (imimposemin (im0, bw0, 4), out0_4) 506s ***** assert (imimposemin (im0, bw0, true (3)), out0) 506s ***** test 506s out = imimposemin (im0, bw0); 506s assert (size (out), size (im0)) 506s assert (class (out), "uint8") 506s ***** test 506s out = imimposemin (double (im0), bw0); 506s assert (size (out), size (im0)) 506s assert (class (out), "double") 506s ***** test 506s out = imimposemin (single (im0), bw0); 506s assert (size (out), size (im0)) 506s assert (class (out), "single") 506s ***** test 506s out = imimposemin (uint16 (im0), bw0); 506s assert (size (out), size (im0)) 506s assert (class (out), "uint16") 506s ***** test 506s im = cat (3, im0, im0, im0, im0); 506s bw = cat (3, bw0, bw0, bw0, bw0); 506s out = imimposemin (im, bw); 506s assert (size (out), size (im)) 506s ***** test 506s expected_double = double (im0); 506s expected_double += 0.005; 506s expected_double(4, 4) = -inf; 506s out = imimposemin (double (im0), bw0); 506s assert (out, expected_double, eps) 506s ***** test 506s im = uint8 (10 .* ones (10)); 506s im(6:8, 6:8) = 2; 506s im(2:4, 2:4) = 7; 506s im(3, 3) = 5; 506s im(2, 9) = 9; 506s im(3, 8) = 9; 506s im(9, 2) = 9; 506s im(8, 3) = 9; 506s bw = false (10); 506s bw(3, 3) = true; 506s bw(6:8, 6:8) = true; 506s expected = uint8 (11 .* ones(10)); 506s expected(2:4, 2:4) = 8; 506s expected(3, 3) = 0; 506s expected(6:8, 6:8) = 0; 506s expected_double = double (expected); 506s expected_double -= 0.992; 506s expected_double (expected_double < 0) = -inf; 506s out = imimposemin (im, bw); 506s assert (out, expected, eps) 506s out = imimposemin (double (im), bw); 506s assert (out, expected_double, eps) 506s 22 tests, 22 passed, 0 known failure, 0 skipped 506s [inst/impyramid.m] 506s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/impyramid.m 506s ***** xtest 506s ## bug #51979 (results are not matlab compatible) 506s in = [116 227 153 69 146 194 59 130 139 106 506s 2 47 137 249 90 75 16 24 158 44 506s 155 68 46 84 166 156 69 204 32 152 506s 71 221 137 230 210 153 192 115 30 118 506s 107 143 108 52 51 73 101 21 175 90 506s 54 158 143 77 26 168 113 229 165 225 506s 9 47 133 135 130 207 236 43 19 73]; 506s 506s reduced = [ 506s 114 139 131 103 111 506s 97 122 141 111 100 506s 103 123 112 123 122 506s 47 107 134 153 94]; 506s 506s expanded = [ 506s 115 154 185 178 150 122 105 116 138 159 158 117 78 86 112 129 133 120 103 506s 69 98 128 141 146 152 152 139 125 127 121 87 55 58 81 113 131 112 84 506s 40 54 74 100 131 167 184 157 119 104 92 64 41 44 66 100 121 103 74 506s 76 69 65 75 97 130 153 148 131 122 108 80 61 79 103 105 98 97 98 506s 120 105 88 77 78 96 121 143 155 154 140 112 98 124 143 109 74 91 123 506s 117 129 134 119 107 125 153 173 180 172 156 143 138 146 140 96 60 83 122 506s 99 139 170 157 139 156 181 188 180 164 151 154 156 140 112 81 65 84 110 506s 101 136 163 153 133 132 138 136 130 122 120 130 133 108 82 86 99 104 104 506s 103 126 143 136 116 97 81 73 73 82 94 105 105 87 78 108 138 133 116 506s 90 116 139 139 122 96 69 52 53 80 109 114 111 116 128 148 163 164 160 506s 66 99 131 140 131 109 83 62 62 102 142 144 138 154 169 164 157 169 184 506s 41 68 99 121 130 122 107 92 95 133 173 182 172 156 135 114 105 121 142 506s 21 38 64 98 124 131 127 123 129 160 194 212 199 144 82 52 48 65 85]; 506s 506s assert (impyramid (uint8 (in), "reduce"), uint8 (reduced)) 506s assert (impyramid (uint8 (in), "expand"), uint8 (expanded)) 506s !!!!! known failure 506s ASSERT errors for: assert (impyramid (uint8 (in), "reduce"),uint8 (reduced)) 506s 506s Location | Observed | Expected | Reason 506s (2,4) 110 111 Abs err 0 exceeds tol 0 by 0 506s (2,5) 99 100 Abs err 0 exceeds tol 0 by 0 506s (3,5) 121 122 Abs err 0 exceeds tol 0 by 0 506s ***** test 506s in = randi ([0 255], [40 39 3 5], "uint8"); 506s red = impyramid (in, "reduce"); 506s for p = 1:3 506s for n = 1:5 506s assert (red(:,:,p,n), impyramid (in(:,:,p,n), "reduce")) 506s endfor 506s endfor 506s 506s exp = impyramid (in, "expand"); 506s for p = 1:3 506s for n = 1:5 506s assert (exp(:,:,p,n), impyramid (in(:,:,p,n), "expand")) 506s endfor 506s endfor 506s ***** xtest 506s ## bug #51979 (results are not matlab compatible) 506s in = repmat (uint8 (255), [10 10]); 506s assert (impyramid (in, "reduce"), repmat (uint8 (255), [5 5])) 506s assert (impyramid (in, "expand"), repmat (uint8 (255), [19 19])) 506s !!!!! known failure 506s ASSERT errors for: assert (impyramid (in, "expand"),repmat (uint8 (255), [19, 19])) 506s 506s Location | Observed | Expected | Reason 506s (1,1) 195 255 Abs err 0 exceeds tol 0 by 0 506s (2,1) 223 255 Abs err 0 exceeds tol 0 by 0 506s (3,1) 223 255 Abs err 0 exceeds tol 0 by 0 506s (4,1) 223 255 Abs err 0 exceeds tol 0 by 0 506s (5,1) 223 255 Abs err 0 exceeds tol 0 by 0 506s (6,1) 223 255 Abs err 0 exceeds tol 0 by 0 506s (7,1) 223 255 Abs err 0 exceeds tol 0 by 0 506s (8,1) 223 255 Abs err 0 exceeds tol 0 by 0 506s (9,1) 223 255 Abs err 0 exceeds tol 0 by 0 506s (10,1) 223 255 Abs err 0 exceeds tol 0 by 0 506s (11,1) 223 255 Abs err 0 exceeds tol 0 by 0 506s (12,1) 223 255 Abs err 0 exceeds tol 0 by 0 506s (13,1) 223 255 Abs err 0 exceeds tol 0 by 0 506s (14,1) 223 255 Abs err 0 exceeds tol 0 by 0 506s (15,1) 223 255 Abs err 0 exceeds tol 0 by 0 506s (16,1) 223 255 Abs err 0 exceeds tol 0 by 0 506s (17,1) 223 255 Abs err 0 exceeds tol 0 by 0 506s (18,1) 223 255 Abs err 0 exceeds tol 0 by 0 506s (19,1) 195 255 Abs err 0 exceeds tol 0 by 0 506s (1,2) 223 255 Abs err 0 exceeds tol 0 by 0 506s (19,2) 223 255 Abs err 0 exceeds tol 0 by 0 506s (1,3) 223 255 Abs err 0 exceeds tol 0 by 0 506s (19,3) 223 255 Abs err 0 exceeds tol 0 by 0 506s (1,4) 223 255 Abs err 0 exceeds tol 0 by 0 506s (19,4) 223 255 Abs err 0 exceeds tol 0 by 0 506s (1,5) 223 255 Abs err 0 exceeds tol 0 by 0 506s (19,5) 223 255 Abs err 0 exceeds tol 0 by 0 506s (1,6) 223 255 Abs err 0 exceeds tol 0 by 0 506s (19,6) 223 255 Abs err 0 exceeds tol 0 by 0 506s (1,7) 223 255 Abs err 0 exceeds tol 0 by 0 506s (19,7) 223 255 Abs err 0 exceeds tol 0 by 0 506s (1,8) 223 255 Abs err 0 exceeds tol 0 by 0 506s (19,8) 223 255 Abs err 0 exceeds tol 0 by 0 506s (1,9) 223 255 Abs err 0 exceeds tol 0 by 0 506s (19,9) 223 255 Abs err 0 exceeds tol 0 by 0 506s (1,10) 223 255 Abs err 0 exceeds tol 0 by 0 506s (19,10) 223 255 Abs err 0 exceeds tol 0 by 0 506s (1,11) 223 255 Abs err 0 exceeds tol 0 by 0 506s (19,11) 223 255 Abs err 0 exceeds tol 0 by 0 506s (1,12) 223 255 Abs err 0 exceeds tol 0 by 0 506s (19,12) 223 255 Abs err 0 exceeds tol 0 by 0 506s (1,13) 223 255 Abs err 0 exceeds tol 0 by 0 506s (19,13) 223 255 Abs err 0 exceeds tol 0 by 0 506s (1,14) 223 255 Abs err 0 exceeds tol 0 by 0 506s (19,14) 223 255 Abs err 0 exceeds tol 0 by 0 506s (1,15) 223 255 Abs err 0 exceeds tol 0 by 0 506s (19,15) 223 255 Abs err 0 exceeds tol 0 by 0 506s (1,16) 223 255 Abs err 0 exceeds tol 0 by 0 506s (19,16) 223 255 Abs err 0 exceeds tol 0 by 0 506s (1,17) 223 255 Abs err 0 exceeds tol 0 by 0 506s (19,17) 223 255 Abs err 0 exceeds tol 0 by 0 506s (1,18) 223 255 Abs err 0 exceeds tol 0 by 0 506s (19,18) 223 255 Abs err 0 exceeds tol 0 by 0 506s (1,19) 195 255 Abs err 0 exceeds tol 0 by 0 506s (2,19) 223 255 Abs err 0 exceeds tol 0 by 0 506s (3,19) 223 255 Abs err 0 exceeds tol 0 by 0 506s (4,19) 223 255 Abs err 0 exceeds tol 0 by 0 506s (5,19) 223 255 Abs err 0 exceeds tol 0 by 0 506s (6,19) 223 255 Abs err 0 exceeds tol 0 by 0 506s (7,19) 223 255 Abs err 0 exceeds tol 0 by 0 506s (8,19) 223 255 Abs err 0 exceeds tol 0 by 0 506s (9,19) 223 255 Abs err 0 exceeds tol 0 by 0 506s (10,19) 223 255 Abs err 0 exceeds tol 0 by 0 506s (11,19) 223 255 Abs err 0 exceeds tol 0 by 0 506s (12,19) 223 255 Abs err 0 exceeds tol 0 by 0 506s (13,19) 223 255 Abs err 0 exceeds tol 0 by 0 506s (14,19) 223 255 Abs err 0 exceeds tol 0 by 0 506s (15,19) 223 255 Abs err 0 exceeds tol 0 by 0 506s (16,19) 223 255 Abs err 0 exceeds tol 0 by 0 506s (17,19) 223 255 Abs err 0 exceeds tol 0 by 0 506s (18,19) 223 255 Abs err 0 exceeds tol 0 by 0 506s (19,19) 195 255 Abs err 0 exceeds tol 0 by 0 506s ***** xtest 506s ## bug #51979 (results are not matlab compatible) 506s in = logical ([ 506s 1 0 1 1 0 0 1 1 0 0 506s 1 1 0 0 0 1 0 0 1 0 506s 0 1 1 0 1 1 1 1 1 1 506s 1 0 1 0 1 0 1 0 1 1 506s 1 1 1 0 0 0 1 1 1 1 506s 0 0 1 1 0 0 1 0 0 0 506s 0 0 1 1 0 1 1 0 1 1 506s 1 1 0 0 1 0 0 0 1 0 506s 1 1 1 1 1 1 0 1 0 0 506s 1 1 0 0 1 0 0 0 1 0]); 506s 506s reduced = logical ([ 506s 1 1 0 1 0 506s 1 1 0 1 1 506s 1 1 0 1 1 506s 0 1 0 0 0 506s 1 1 1 0 0]); 506s 506s expanded = logical ([ 506s 1 1 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 506s 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 506s 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 506s 1 1 1 1 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 506s 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 506s 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 506s 1 1 0 1 1 0 0 0 1 0 0 1 1 1 0 1 1 1 1 506s 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 506s 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 506s 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 506s 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 506s 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 506s 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 506s 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 506s 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 506s 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 506s 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 506s 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 506s 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0]); 506s 506s assert (impyramid (in, "reduce"), reduced) 506s assert (impyramid (in, "expand"), expanded) 506s !!!!! known failure 506s ASSERT errors for: assert (impyramid (in, "reduce"),reduced) 506s 506s Location | Observed | Expected | Reason 506s (4,1) 1 0 Abs err 1 exceeds tol 0 by 1 506s (1,3) 1 0 Abs err 1 exceeds tol 0 by 1 506s (2,3) 1 0 Abs err 1 exceeds tol 0 by 1 506s (3,3) 1 0 Abs err 1 exceeds tol 0 by 1 506s (4,3) 1 0 Abs err 1 exceeds tol 0 by 1 506s (4,4) 1 0 Abs err 1 exceeds tol 0 by 1 506s (5,4) 1 0 Abs err 1 exceeds tol 0 by 1 506s (1,5) 1 0 Abs err 1 exceeds tol 0 by 1 506s (4,5) 1 0 Abs err 1 exceeds tol 0 by 1 506s (5,5) 1 0 Abs err 1 exceeds tol 0 by 1 506s 4 tests, 1 passed, 3 known failures, 0 skipped 506s [inst/imfindcircles.m] 506s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imfindcircles.m 506s ***** shared im0, rgb0, im1 506s im0 = [0 0 0 0 0; 506s 0 1 2 1 0; 506s 0 2 5 2 0; 506s 0 1 2 1 0; 506s 0 0 0 0 0]; 506s rgb0 = cat (3, im0, 3.*im0, 2.*im0); 506s im1 = zeros (20); 506s im1(2:6, 5:9) = 1; 506s im1(13:19, 13:19) = 1; 506s ***** function image = circlesimage (numx, numy, centersx, centersy, rs, values) 506s ## create an image with circles of given parameters 506s num = length (centersx); 506s image = zeros (numy, numx); 506s [indy, indx] = meshgrid (1:numx, 1:numy); 506s for n = 1:num 506s centerx = centersx(n); 506s centery = centersy(n); 506s r = rs(n); 506s value = values(n); 506s dist_squared = (indx - centerx).^ 2 + (indy - centery).^ 2; 506s image(dist_squared <= (r-0.5)^2) = value; 506s endfor 506s ***** endfunction 506s ***** error imfindcircles () 506s ***** error imfindcircles (im0) 507s ***** error imfindcircles (im0, [1 2 3]) 507s ***** error imfindcircles (im0, -3) 507s ***** error imfindcircles (im0, 4+2*i) 507s ***** error imfindcircles (ones (5,5,4), 2) 507s ***** error imfindcircles (ones (5,5,5,5), 2) 507s ***** error imfindcircles (im0, [2 1]) 507s ***** error imfindcircles (im0, 2, "rubbish") 507s ***** error imfindcircles (im0, 2, "more", "rubbish") 507s ***** error imfindcircles (im0, 2, "ObjectPolarity", "rubbish") 507s ***** error imfindcircles (im0, 2, "ObjectPolarity", 5) 507s ***** error imfindcircles (im0, 2, "ObjectPolarity") 507s ***** error imfindcircles (im0, 2, "Method", "rubbish") 507s ***** error imfindcircles (im0, 2, "Method", 5) 507s ***** error imfindcircles (im0, 2, "Method") 507s ***** error imfindcircles (im0, 2, "Sensitivity", "rubbish") 507s ***** error imfindcircles (im0, 2, "Sensitivity") 507s ***** error imfindcircles (im0, 2, "Sensitivity", -0.1) 507s ***** error imfindcircles (im0, 2, "Sensitivity", 1.1) 507s ***** error imfindcircles (im0, 2, "Sensitivity", [0.1 0.2]) 507s ***** error imfindcircles (im0, 2, "EdgeThreshold", "rubbish") 507s ***** error imfindcircles (im0, 2, "EdgeThreshold") 507s ***** error imfindcircles (im0, 2, "EdgeThreshold", -0.1) 507s ***** error imfindcircles (im0, 2, "EdgeThreshold", 1.1) 507s ***** error imfindcircles (im0, 2, "EdgeThreshold", [0.1 0.2]) 507s ***** error imfindcircles (im0, 2, "EdgeThreshold", 0.1, "ObjectPolarity", "bright", 507s "Sensitivity", 0.3, "Method", "PhaseCode", "more", 1) 508s ***** test # none of this should fail 508s imfindcircles (im0, 2); 508s imfindcircles (im0, [1 2]); 508s imfindcircles (logical (im0), 2); 508s imfindcircles (logical (im0), [1 2]); 508s imfindcircles (rgb0, 2); 508s imfindcircles (rgb0, [1 2]); 508s imfindcircles (uint8 (im0), 2); 508s imfindcircles (uint8 (im0), [1 2]); 508s imfindcircles (im0, 2, "ObjectPolarity", "bright"); 508s imfindcircles (im0, 2, "ObjectPolarity", "dark"); 508s imfindcircles (im0, 2, "Method", "PhaseCode"); 508s imfindcircles (im0, 2, "Sensitivity", 0.5); 508s imfindcircles (im0, 2, "EdgeThreshold", 0.5); 508s imfindcircles (im0, 2, "ObjectPolarity", "bright", "Method", "PhaseCode"); 508s imfindcircles (im0, 2, "ObjectPolarity", "bright", "Sensitivity", 0.3, 508s "Method", "PhaseCode"); 508s imfindcircles (im0, 2, "EdgeThreshold", 0.1, "ObjectPolarity", "bright", 508s "Sensitivity", 0.3, "Method", "PhaseCode"); 508s ***** test 508s centers = imfindcircles (im1, 2); 508s assert (size (centers, 2), 2) 508s assert (class (centers), "double") 508s ***** test 508s [centers, radii] = imfindcircles (im1, [1 5]); 508s assert (size (centers, 2), 2) 508s assert (size (radii, 2), 1) 508s assert (class (radii), "double") 508s ***** test 508s [centers, radii, strengths] = imfindcircles (im1, [1 5]); 508s assert (size (strengths, 2), 1) 508s assert (class (strengths), "double") 508s ***** error [a b c d] = imfindcircles (im0, 2); 508s ***** test ## sub-pixel accuracy of circle center 508s xs = [95.7]; 508s ys = [101.1]; 508s rs = [50]; 508s vals = [0.5]; 508s im = circlesimage (200, 200, xs, ys, rs, vals); 508s filt = ones (3) ./ 9; 508s im = imfilter (im, filt); 508s [centers, radii] = imfindcircles (im, [40 60]); 508s assert (centers, [101.1, 95.7], 0.1); 508s assert (radii, 50, 1); 508s ***** test 508s ## specificity to circular shapes and strengths output value 508s xs = [100 202]; 508s ys = [101, 203]; 508s rs = [40, 41]; 508s vals = [0.8, 0.9]; 508s im = circlesimage (300, 300, xs, ys, rs, vals); 508s filt = ones (3) ./ 9; 508s im = imfilter (im, filt); 508s im(30:170, 50:100) = 0; 508s im(20:120, 180:280) = 1; 508s [centers, radii, strengths] = imfindcircles (im, [30 50], "Sensitivity", 0.9); 508s assert (size (centers), [2 2]); 508s assert (centers, [203, 202; 101, 100], 1.5); 508s assert (radii, [40; 41], 2.5); 508s assert (strengths(1) / strengths(2) > 1.8, true); 508s ***** test # radius range parameter & dark circles 508s xs = [50, 420, 180]; 508s ys = [80, 100, 200]; 508s rs = [35, 30, 40]; 508s vals = [0.7, 0.8, 0.9]; 508s im = circlesimage (300, 500, xs, ys, rs, vals); 508s filt = ones (3) ./ 9; 508s im = imfilter (im, filt); 508s [centers1, radii1] = imfindcircles (im, [28 36]); 508s [centers2, radii2] = imfindcircles (im, [28 42]); 508s assert (size (centers1), [2 2]); 508s assert (centers1, [100 420; 80 50], 0.2); 508s assert (radii1, [30; 35], 2); 508s assert (size (centers2), [3 2]); 508s im_dark = 1-im; 508s [centers_dark, radii_dark, strengths_dark] = imfindcircles (im_dark, [25 42], "ObjectPolarity", "dark"); 508s assert (sortrows (centers_dark), [80 50; 100 420; 200 180], 0.2); 508s assert (sortrows (radii_dark), [30; 35; 40], 1); 508s ***** test # ability to find circles with big radius 508s xs = [111, 555, 341]; 508s ys = [222, 401, 161]; 508s rs = [45, 50, 150]; 508s vals = [0.6, 0.8, 0.7]; 508s im = circlesimage (400, 701, xs, ys, rs, vals); 508s [centers, radii] = imfindcircles (im, [140 160], "Sensitivity", 0.98); 508s assert (centers, [161, 341], 0.2); 508s assert (radii, 150, 1); 508s ***** test # overlapping circles 508s xs = [105, 155]; 508s ys = [202, 221]; 508s rs = [45, 50]; 508s vals = [0.5, 0.8]; 508s im = circlesimage(385, 422, xs, ys, rs, vals); 508s filt = ones (3) ./ 9; 508s im = imfilter (im, filt); 508s [centers, radii] = imfindcircles (im, [30 80]); 508s assert (centers, [221, 155; 202, 105], 0.5); 508s assert (radii, [50; 45], 1); 508s ***** test # overlapping circles, only 10 pixels apart 508s xs = [155, 155]; 508s ys = [175, 157]; 508s rs = [50, 50]; 508s vals = [0.7, 0.8]; 508s im = circlesimage (300, 300, xs, ys, rs, vals); 508s filt = ones (3) ./ 9; 508s im = imfilter (im, filt); 508s [centers, radii] = imfindcircles (im, [30 80], "Sensitivity", 0.95); 508s assert (centers, [157, 155; 175, 155], 1); 508s assert (radii, [50; 50], 1); 508s ***** test # edge threshold parameter 508s xs = [100 202]; 508s ys = [101, 203]; 508s rs = [40, 41]; 508s vals = [0.1, 0.9]; 508s im = circlesimage (300, 300, xs, ys, rs, vals); 508s filt = ones (3) ./ 9; 508s im= imfilter (im, filt); 508s [centers_auto, radii_auto] = imfindcircles (im, [30 50]); 508s [centers_0, radii_0] = imfindcircles (im, [30 50], "EdgeThreshold", 0); 508s [centers_05, radii_05] = imfindcircles (im, [30 50], "EdgeThreshold", 0.5); 508s assert (centers_auto, [203, 202], 0.2); 508s assert (radii_auto, 41, 1); 508s assert (centers_0, [101, 100; 203, 202], 0.2); 508s assert (radii_0, [40; 41], 1); 508s assert (centers_05, [203, 202], 0.2); 508s assert (radii_05, 41, 1); 508s ***** demo 508s ## First generate an input image: 508s model = [ 1.0 0.2 0.2 0.2 0.5 0 508s 1.0 0.3 0.3 -0.1 -0.2 0 508s -0.5 0.7 0.7 -0.5 0.5 0]; 508s im = phantom (model); 508s im(170:230,170:230) = 1; 508s im = imfilter (im, fspecial ("average", 3)); 508s im = imnoise (im, "salt & pepper"); 508s imshow (im); 508s 508s ## Find and show circles with radius between 20 and 50: 508s [centers, radii] = imfindcircles (im, [20 50]); 508s viscircles (centers, radii) 508s title ("found circles in red") 508s 39 tests, 39 passed, 0 known failure, 0 skipped 508s [inst/isind.m] 508s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/isind.m 508s ***** assert (isind ([]), false); 508s ***** assert (isind (1:10), true); 508s ***** assert (isind (0:10), false); 508s ***** assert (isind (1), true); 508s ***** assert (isind (0), false); 508s ***** assert (isind ([1.3 2.4]), false); 508s ***** assert (isind ([1 2; 3 4]), true); 508s ***** assert (isind (randi (100, 10, 10, 1, 4)), true); 508s ***** assert (isind (randi (100, 10, 10, 3, 4)), false); 508s ***** assert (isind (randi (100, 10, 10, 1, 4, 2)), false); 508s 10 tests, 10 passed, 0 known failure, 0 skipped 508s [inst/graythresh.m] 508s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/graythresh.m 508s ***** shared img, histo 508s ## this is the old default.img that came with GNU Octave. While the current 508s ## is very very similar, is off just enough for us to get precision errors 508s 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])); 508s ***** assert (graythresh (img, "percentile"), 142/255); 508s ***** assert (graythresh (img, "percentile", 0.5), 142/255); 508s ***** assert (graythresh (img, "moments"), 142/255); 508s ***** assert (graythresh (img, "minimum"), 93/255); 509s ***** assert (graythresh (img, "maxentropy"), 150/255); 509s ***** assert (graythresh (img, "intermodes"), 99/255); 509s ***** assert (graythresh (img, "otsu"), 114.5/255); 509s histo = hist (img(:), 0:255); 509s ***** assert (graythresh (histo, "otsu"), 114.5/255); 509s ***** assert (graythresh (img, "mean"), 0.51445615982, 0.000000001); # here our results differ from ImageJ 509s ***** test 509s im = repmat (0.5, 100, 100); 509s [t, g] = graythresh (im); 509s assert (t, 0) 509s assert (g, 0) 509s ***** test 509s im = [-2 1 0; 43 .5 .2]; 509s clip_im = [ 0 1 0; 1 .5 .2]; 509s t = graythresh (clip_im); 509s assert (graythresh (im), t) 509s assert (graythresh (single (im)), t) 509s ***** test 509s H(1) = 100; 509s assert (graythresh (H), 0) 509s 12 tests, 12 passed, 0 known failure, 0 skipped 509s [inst/imhmax.m] 509s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imhmax.m 509s ***** shared im0, im0_h2_out 509s im0 = uint8 ([0 0 0 0 0; 509s 0 1 2 1 0; 509s 0 2 5 2 0; 509s 0 1 2 1 0; 509s 0 0 0 0 0]); 509s im0_h2_out = uint8 ([0 0 0 0 0; 509s 0 1 2 1 0; 509s 0 2 3 2 0; 509s 0 1 2 1 0; 509s 0 0 0 0 0]); 509s ***** error imhmax () 509s ***** error imhmax (im0) 509s ***** error imhmax ("hello", 2) 509s ***** error imhmax (i.*im0, 2) 509s ***** error imhmax (sparse (im0), 2) 509s ***** error imhmax (im0, -2) 509s ***** error imhmax (im0, 'a') 509s ***** error imhmax (im0, ones (2)) 509s ***** error imhmax (im0, 2*i) 509s ***** assert (imhmax (im0, 2), im0_h2_out) 509s ***** assert (imhmax (double (im0), 2), double (im0_h2_out)) 509s ***** assert (imhmax (im0, 2, 8), im0_h2_out) 509s ***** assert (imhmax (im0, 2, 4), im0_h2_out) 509s ***** assert (imhmax (im0, 2, true (3)), im0_h2_out) 509s ***** test 509s out = imhmax (double (im0), 2); 509s assert (size (out), size (im0)) 509s assert (class (out), "double") 509s ***** test 509s out = imhmax (single (im0), 2); 509s assert (size (out), size (im0)) 509s assert (class (out), "single") 509s ***** test 509s out = imhmax (uint8 (im0), 2); 509s assert (size (out), size (im0)) 509s assert (class (out), "uint8") 509s ***** test 509s out = imhmax (uint16 (im0), 2); 509s assert (size (out), size (im0)) 509s assert (class (out), "uint16") 509s ***** test 509s im = cat (3, im0, im0, im0, im0); 509s out = imhmax (im, 2); 509s assert (size (out), size (im)) 509s ***** test 509s im = zeros (10); 509s im(2:4, 2:4) = 3; 509s im(6:8, 6:8) = 8; 509s expected_4 = zeros (10); 509s expected_4(6:8, 6:8) = 4; 509s expected_2 = zeros (10); 509s expected_2(2:4, 2:4) = 1; 509s expected_2(6:8, 6:8) = 6; 509s out = imhmax (im, 4); 509s assert (out, expected_4, eps) 509s out = imhmax (im, 2); 509s assert (out, expected_2, eps) 509s out = imhmax (0.1 .* im, 0.4); 509s assert (out, 0.1 .* expected_4, eps) 509s ***** test 509s im2 = zeros (10); 509s im2(2:4, 2:4) = 3; 509s im2(6:9, 6:9)=8; 509s im2(5, 5)=8; 509s im2(6, 7)=0; 509s im2(7, 8)=0; 509s expected_4 = zeros (10); 509s expected_4(6:9, 6:9) = 4; 509s expected_4(5, 5) = 4; 509s expected_4(6, 7) = 0; 509s expected_4(7, 8) = 0; 509s expected_8 = expected_4; 509s expected_8(2:4, 2:4) = 3; 509s out2 = imhmax (im2, 4); 509s assert (out2, expected_8, eps) 509s out2 = imhmax (im2, 4, 4); 509s assert (out2, expected_4, eps) 509s out2 = imhmax (im2, 4, 8); 509s assert (out2, expected_8, eps) 509s 21 tests, 21 passed, 0 known failure, 0 skipped 509s [inst/im2int16.m] 509s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/im2int16.m 509s ***** assert (im2int16 (int16 ([-2 2 3])), int16 ([-2 2 3])); 509s ***** assert (im2int16 (uint16 ([0 65535])), int16 ([-32768 32767])); 509s ***** assert (im2int16 ([false true]), int16 ([-32768 32767])); 509s ***** assert (im2int16 ([true false]), int16 ([32767 -32768])); 509s ***** assert (im2int16 (uint8 ([0 127 128 255])), int16 ([-32768 -129 128 32767])); 509s ***** assert (im2int16 ([0 1.4/65535 1.5/65535 2/65535 1]), int16 ([-32768 -32767 -32766 -32766 32767])); 509s ***** assert (im2int16 ([0 0.5 1]), int16 ([-32768 0 32767])); 509s ***** assert (im2int16 ([-1 0 1 2]), int16 ([-32768 -32768 32767 32767])); 509s ***** error im2int16 ([1 2], "indexed"); 509s 9 tests, 9 passed, 0 known failure, 0 skipped 509s [inst/hough.m] 509s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/hough.m 509s ***** shared BW0, BW1, BW2, BWx, BWy 509s 509s BW0 = false (5); 509s BW0(2,2) = true; 509s 509s BW1 = zeros (100, 100); 509s BW1(1,1) = 1; 509s BW1(100,100) = 1; 509s BW1(1,100) = 1; 509s BW1(100, 1) = 1; 509s BW1(50,50) = 1; 509s 509s n = 100; 509s BW2 = false (n); 509s a = 50; # line starts at left side at row a 509s b = 3; # slope of line is 1:b 509s for column = 1:n 509s if (rem (column, b) == 0) 509s row = a - column/b; 509s BW2(row, column) = true; 509s endif 509s endfor 509s 509s BWx = false (10); 509s BWx(:,5) = true; 509s 509s BWy = false (10); 509s BWy(5,:) = true; 509s ***** test 509s [H, T, R] = hough (BW1); 509s assert (size (H), [283 180]); 509s ***** test 509s [H, T, R] = hough (BW1, "Theta", [-90 0 45 79]); 509s assert (size (H), [283 4]); 509s ***** test 509s [H, T, R] = hough (BW1, "ThetaResolution", 0.5); 509s assert (size (H), [283 360]); 509s ***** error hough ("foo") 509s ***** test 509s I = [0 0 1 0; 1 1 1 1; 0 0 1 1; 0 0 1 0]; 509s I2 = I; 509s for v = [0.7 0.2 5] 509s I2(1,3) = v; 509s assert (hough (I2), hough (I)) 509s endfor 509s ***** error 509s [H, T, R] = hough (BW0, "Theta"); 509s ***** error 509s [H, T, R] = hough (BW0, "Theta", ones (10)); 509s ***** error 509s [H, T, R] = hough (BW0, "Theta", [5 -i 7]); 509s ***** error 509s [H, T, R] = hough (BW0, "RhoResolution", 0.5); 509s ***** test 509s [Hd, Td, Rd] = hough (BW0); 509s [H1, T1, R1] = hough (BW0, "RhoResolution", 1); 509s assert (Hd, H1) 509s assert (Td, T1) 509s assert (Rd, R1) 509s ***** test 509s [H, theta, rho] = hough (BW2); 509s H_max = max (H(:)); 509s H_size = size (H); 509s [~, max_idx_lin] = max (H(:)); 509s [max_row, max_column] = ind2sub (size (H), max_idx_lin); 509s theta_max = theta(max_column); 509s rho_max = rho(max_row); 509s assert (H_max , 33); 509s assert (H_size, [283 180]); 509s assert (max_row, 188); 509s assert (max_column, 163); 509s assert (theta_max, 72); 509s assert (rho_max, 46); 509s ***** test 509s [H, theta, rho] = hough (BW2, "Theta", [65:1:75]); 509s H_max = max (H(:)); 509s H_size = size (H); 509s [~, max_idx_lin] = max (H(:)); 509s [max_row, max_column] = ind2sub (size (H), max_idx_lin); 509s theta_max = theta(max_column); 509s rho_max = rho(max_row); 509s assert (H_max , 33); 509s assert (H_size, [283 11]); 509s assert (max_row, 188); 509s assert (max_column, 8); 509s assert (theta_max, 72); 509s assert (rho_max, 46); 509s ***** test 509s [H, theta, rho] = hough (BW2, "Theta", [-90:0.5:89.5]); 509s H_max = max (H(:)); 509s H_size = size (H); 509s [~, max_idx_lin] = max (H(:)); 509s [max_row, max_column] = ind2sub (size (H), max_idx_lin); 509s theta_max = theta(max_column); 509s rho_max = rho(max_row); 509s assert (H_max , 33); 509s assert (H_size, [283 360]); 509s assert (max_row, 188); 509s assert (max_column, 324); 509s assert (theta_max, 71.5); 509s assert (rho_max, 46); 509s ***** test 509s [H, theta, rho] = hough (BW2, "ThetaResolution", 0.5); 509s H_max = max (H(:)); 509s H_size = size (H); 509s [~, max_idx_lin] = max (H(:)); 509s [max_row, max_column] = ind2sub (size (H), max_idx_lin); 509s theta_max = theta(max_column); 509s rho_max = rho(max_row); 509s assert (H_max , 33); 509s assert (H_size, [283 360]); 509s assert (max_row, 188); 509s assert (max_column, 324); 509s assert (theta_max, 71.5); 509s assert (rho_max, 46); 509s ***** test 509s [H, theta, rho] = hough (BWx); 509s H_max = max (H(:)); 509s [~, max_idx_lin] = max (H(:)); 509s [max_row, max_column] = ind2sub (size (H), max_idx_lin); 509s theta_max = theta(max_column); 509s rho_max = rho(max_row); 509s assert (H_max , 10); 509s assert (max_column, 88); 509s assert (theta_max, -3); 509s assert (rho_max, 4); 509s ***** test 509s [H, theta, rho] = hough (BWx); 509s H_size = size (H); 509s [~, max_idx_lin] = max (H(:)); 509s [max_row, max_column] = ind2sub (size (H), max_idx_lin); 509s assert (H_size, [27 180]); 509s assert (max_row, 18); 509s ***** test 509s [H, theta, rho] = hough (BWy); 509s H_max = max (H(:)); 509s [~, max_idx_lin] = max (H(:)); 509s [max_row, max_column] = ind2sub (size (H), max_idx_lin); 509s theta_max = theta(max_column); 509s rho_max = rho(max_row); 509s assert (H_max , 10); 509s assert (max_column, 1); 509s assert (theta_max, -90); 509s assert (rho_max, -4); 509s ***** test 509s [H, theta, rho] = hough (BWy); 509s H_size = size (H); 509s [~, max_idx_lin] = max (H(:)); 509s [max_row, max_column] = ind2sub (size (H), max_idx_lin); 509s assert (H_size, [27 180]); 509s assert (max_row, 10); 509s ***** demo 509s BW = zeros (100, 150); 509s BW(30,:) = 1; 509s BW(:, 65) = 1; 509s BW(35:45, 35:50) = 1; 509s for i = 1:90 509s BW(i,i) = 1; 509s endfor 509s BW = imnoise (BW, "salt & pepper"); 509s figure (); 509s imshow (BW); 509s title ("BW"); 509s [H, theta, rho] = hough (BW); 509s H /= max (H(:)); 509s figure (); 509s imshow (H, "XData", theta, "YData", rho); 509s title ("hough transform of BW"); 509s axis on; 509s xlabel ("angle \\theta [degrees]"); 509s ylabel ("distance \\rho to origin [pixels]"); 509s 18 tests, 18 passed, 0 known failure, 0 skipped 509s [inst/imbothat.m] 509s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imbothat.m 509s ***** assert (imbothat (ones (3), [1 1; 0 1]), zeros (3)); 509s ***** assert (imbothat (true (3), [1 1; 0 1]), false (3)); 509s ***** shared in, out, se 509s in = [ 0 0 0 1 1 1 0 0 1 1 509s 0 1 0 1 1 1 0 0 0 1 509s 1 1 1 1 1 0 0 0 0 0 509s 0 1 1 1 1 0 0 0 0 0 509s 0 0 0 1 0 0 0 0 1 0 509s 0 0 0 0 0 0 0 1 1 1 509s 0 0 0 0 1 0 1 0 1 0 509s 0 0 0 1 1 1 1 1 0 0 509s 0 0 0 0 1 1 1 0 0 0 509s 0 0 0 1 1 1 0 0 0 0]; 509s 509s out = [ 1 1 1 0 0 0 1 1 0 0 509s 1 0 1 0 0 0 0 0 0 0 509s 0 0 0 0 0 0 0 0 0 1 509s 1 0 0 0 0 0 0 0 0 1 509s 0 0 0 0 1 0 0 0 0 1 509s 0 0 0 1 1 1 1 0 0 0 509s 0 0 0 1 0 1 0 1 0 1 509s 0 0 0 0 0 0 0 0 0 0 509s 0 0 0 1 0 0 0 0 0 0 509s 0 0 0 0 0 0 1 0 0 0]; 509s ***** assert (imbothat (logical (in), ones (3)), logical (out)); 509s 509s out = [ 7 0 15 8 1 6 0 13 6 24 509s 0 8 9 2 0 0 16 7 0 23 509s 89 7 0 41 39 7 12 7 0 23 509s 8 1 69 40 58 1 6 2 0 43 509s 7 0 63 59 52 0 0 0 14 32 509s 62 55 6 7 0 7 0 23 16 1 509s 56 74 0 2 0 0 16 14 7 0 509s 0 73 69 0 0 19 15 8 1 0 509s 8 6 0 0 6 13 9 2 0 6 509s 7 0 0 19 0 14 7 0 23 0]; 509s ***** assert (imbothat (magic (10), ones (3)), out); 509s ***** assert (imbothat (uint8 (magic (10)), strel ("square", 3)), uint8 (out)); 509s 509s ## using a se that will be decomposed in 2 pieces 509s out =[ 7 0 87 66 59 7 0 19 12 30 509s 0 13 81 60 58 1 19 13 6 29 509s 89 12 0 54 52 20 18 7 0 23 509s 8 6 69 53 71 14 12 2 0 43 509s 7 0 63 73 66 14 7 0 23 41 509s 76 69 14 7 0 30 23 46 39 7 509s 70 88 9 2 0 24 42 40 33 6 509s 14 87 80 0 0 43 41 34 27 0 509s 84 82 0 0 19 37 35 28 26 19 509s 89 82 0 20 13 36 29 22 45 13]; 509s ***** assert (imbothat (magic (10), ones(5)), out); 509s 509s ## using a weird non-symmetric and even-size se 509s out =[ 0 0 15 8 1 3 0 7 0 18 509s 0 8 53 59 0 0 14 13 0 17 509s 84 0 0 40 38 6 13 6 0 23 509s 2 0 42 47 58 0 6 0 0 41 509s 0 0 62 59 52 0 0 0 16 35 509s 6 58 13 6 0 3 19 19 35 1 509s 0 18 0 0 0 0 15 13 6 0 509s 0 17 69 0 0 17 17 8 0 0 509s 8 67 0 0 0 15 9 2 0 6 509s 7 0 0 17 10 42 7 0 19 0]; 509s ***** assert (imbothat (magic (10), [1 0 0 0; 1 1 1 0; 0 1 0 1]), out); 509s 509s ## N dimensional and weird se 509s in = reshape (magic(16), [4 8 4 2]); 509s se = ones (3, 3, 3); 509s se(:,:,1) = [1 0 1; 0 1 1; 0 0 0]; 509s se(:,:,3) = [1 0 1; 0 1 1; 0 0 1]; 509s out = zeros (size (in)); 509s out(:,:,1,1) = [ 509s 0 17 81 145 237 146 64 0 509s 205 128 64 0 0 37 83 147 509s 175 111 47 0 0 64 117 181 509s 0 64 128 209 173 109 45 0]; 509s out(:,:,2,1) = [ 509s 235 142 78 18 0 23 69 133 509s 0 35 103 163 215 128 46 0 509s 0 64 128 195 183 123 48 0 509s 153 93 43 0 14 78 146 215]; 509s out(:,:,3,1) = [ 509s 0 25 89 153 229 142 64 0 509s 201 128 64 0 0 41 91 155 509s 167 103 57 0 0 64 125 189 509s 0 64 146 217 165 101 37 0]; 509s out(:,:,4,1) = [ 509s 227 142 78 14 0 31 77 141 509s 0 43 107 171 211 128 46 0 509s 0 64 128 203 179 115 48 0 509s 149 99 35 0 18 82 146 223]; 509s out(:,:,1,2) = [ 509s 0 33 97 161 221 146 64 0 509s 189 125 61 0 0 53 99 163 509s 159 95 31 0 0 64 128 197 509s 0 64 128 225 157 93 29 0]; 509s out(:,:,2,2) = [ 509s 219 142 78 18 0 39 85 149 509s 0 51 119 179 199 128 46 0 509s 0 64 128 211 167 107 43 0 509s 137 77 27 0 14 78 146 231]; 509s out(:,:,3,2) = [ 509s 0 41 105 169 213 142 64 0 509s 185 121 64 0 0 57 107 171 509s 151 87 41 0 0 64 128 205 509s 0 64 146 233 149 85 21 0]; 509s out(:,:,4,2) = [ 509s 211 142 78 14 0 47 93 157 509s 0 59 123 187 195 128 46 0 509s 0 64 128 219 163 99 35 0 509s 133 83 19 0 18 82 146 239]; 509s ***** assert (imbothat (in, se), out); 509s 8 tests, 8 passed, 0 known failure, 0 skipped 509s [inst/imgradient.m] 509s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imgradient.m 509s ***** test 509s A = [0 1 0 509s 1 1 1 509s 0 1 0]; 509s 509s [gMag, gDir] = imgradient (A); 509s assert (gMag,[sqrt(18) 4 sqrt(18); 4 0 4; sqrt(18),4,sqrt(18)]); 509s assert (gDir,[-45 -90 -135; -0 -0 -180; 45 90 135]); 509s 509s ## the following just test if passing gx and gy separately gets 509s ## us the same as the image and method though imgradient 509s [gxSobel, gySobel] = imgradientxy (A, "Sobel"); 509s [gxPrewitt, gyPrewitt] = imgradientxy (A, "Prewitt"); 509s [gxCd, gyCd] = imgradientxy (A, "CentralDifference"); 509s [gxId, gyId] = imgradientxy (A, "IntermediateDifference"); 509s 509s assert (imgradient (A), 509s imgradient (gxSobel, gySobel)); 509s assert (imgradient (A, "Sobel"), 509s imgradient (gxSobel, gySobel)); 509s assert (imgradient (A, "Prewitt"), 509s imgradient(gxPrewitt, gyPrewitt)); 509s assert (imgradient (A, "CentralDifference"), 509s imgradient (gxCd, gyCd)); 509s assert (imgradient (A, "IntermediateDifference"), 509s imgradient (gxId, gyId)); 509s 1 test, 1 passed, 0 known failure, 0 skipped 509s [inst/integralImage.m] 509s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/integralImage.m 509s ***** test 509s assert (integralImage (10), [0 0; 0 10]); 509s assert (integralImage (10, "rotated"), [0 0 0; 0 10 0]); 509s ***** test 509s J = integralImage (10); 509s assert (class(J), "double"); 509s J = integralImage (uint8(10)); 509s assert (class(J), "double"); 509s ***** test 509s I = [1, 2; 3, 4]; 509s J = integralImage (I); 509s J1 = [0 0 0; 0 1 3; 0 4 10]; 509s assert (J, J1) 509s J = integralImage (I, "rotated"); 509s J1 = [0 0 0 0; 0 1 2 0; 1 6 7 2]; 509s assert (J, J1) 509s ***** test 509s I1 = [1, 2; 3, 4]; 509s I2 = [5, 6; 7, 8]; 509s I3 = [9, 10; 11, 12]; 509s I = cat (3, I1, I2, I3); 509s J = integralImage (I); 509s J1 = [0 0 0; 0 1 3; 0 4 10]; 509s J2 = [0 0 0; 0 5 11; 0 12 26]; 509s J3 = [0 0 0; 0 9 19; 0 20 42]; 509s J0 = cat (3, J1, J2, J3); 509s assert (J, J0) 509s ***** test 509s I1 = [1, 2; 3, 4]; 509s I2 = [5, 6; 7, 8]; 509s I3 = [9, 10; 11, 12]; 509s I = cat (3, I1, I2, I3); 509s J = integralImage (I, "rotated"); 509s J1 = [0 0 0 0; 0 1 2 0; 1 6 7 2]; 509s J2 = [0 0 0 0; 0 5 6 0; 5 18 19 6]; 509s J3 = [0 0 0 0; 0 9 10 0; 9 30 31 10]; 509s J0 = cat (3, J1, J2, J3); 509s assert (J, J0) 510s ***** test 510s I = magic (5); 510s J = integralImage (I); 510s J_res = [0 0 0 0 0 0; 510s 0 17 41 42 50 65; 510s 0 40 69 77 99 130; 510s 0 44 79 100 142 195; 510s 0 54 101 141 204 260; 510s 0 65 130 195 260 325]; 510s assert (J, J_res) 510s 510s J = integralImage (I, "rotated"); 510s J_res_R = [0 0 0 0 0 0 0; 510s 0 17 24 1 8 15 0; 510s 17 64 47 40 38 39 15; 510s 64 74 91 104 105 76 39; 510s 74 105 149 188 183 130 76; 510s 105 170 232 272 236 195 130]; 510s assert (J, J_res_R) 510s ***** error 510s integralImage (); 510s ***** error 510s integralImage (1, "xxx", 2); 510s ***** error 510s integralImage ("abcd"); 510s ***** error 510s integralImage ([1 2; 3 4], "xxx"); 510s 10 tests, 10 passed, 0 known failure, 0 skipped 510s [inst/fspecial.m] 510s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/fspecial.m 510s ***** test 510s for i = 1:9 510s n = 2^i; 510s assert (sum (fspecial ("disk", n)(:)), 1, eps*n*n); 510s endfor 510s ***** test 510s for r = [3 5 9 17] 510s f = fspecial ("disk", r); 510s [X, Y] = meshgrid (-r:r, -r:r); 510s rhi = (abs (X) + 0.5).^2 + (abs (Y) + 0.5).^2; 510s rlo = (abs (X) - 0.5).^2 + (abs (Y) - 0.5).^2; 510s fhi = (rhi <= (r^2)); 510s flo = (rlo >= (r^2)); 510s for i = 1:(2*r+1) 510s for j = 1:(2*r+1) 510s if (fhi(i,j)) 510s assert (f(i,j), 1/(pi*r^2), eps); 510s endif 510s if (flo(i,j)) 510s assert (f(i,j), 0); 510s endif 510s endfor 510s endfor 510s endfor 512s ***** error 512s fspecial ("gaussian", 0) 512s ***** error 512s fspecial ("gaussian", 3.9) 512s ***** assert (fspecial ("gaussian"), fspecial ("gaussian", 3, 0.5)) 512s ***** assert (fspecial ("gaussian"), fspecial ("gaussian", [3 3], 0.5)) 512s ***** test 512s c = ([-1:1].^2) + ([-1:1]'.^2); 512s gauss = exp (- (c / (2 * (0.5 ^ 2)))); 512s f = gauss / sum (gauss(:)); 512s assert (fspecial ("gaussian"), f) 512s 512s expected = [ 512s 0.01134373655849507 0.08381950580221061 0.01134373655849507 512s 0.08381950580221061 0.61934703055717721 0.08381950580221061 512s 0.01134373655849507 0.08381950580221061 0.01134373655849507]; 512s assert (f, expected, eps) 512s ***** function f = f_gaussian_2d (hsize, sigma) 512s c = ([(-hsize(1)):(hsize(1))]'.^2) + ([(-hsize(2)):(hsize(2))].^2); 512s gauss = exp (- (c ./ (2 * (sigma .^ 2)))); 512s f = gauss ./ sum (gauss(:)); 512s ***** endfunction 512s ***** test 512s f = fspecial ("gaussian"); 512s assert (f, f_gaussian_2d ([1 1], .5)) 512s expected = [ 512s 0.01134373655849507 0.08381950580221061 0.01134373655849507 512s 0.08381950580221061 0.61934703055717721 0.08381950580221061 512s 0.01134373655849507 0.08381950580221061 0.01134373655849507]; 512s assert (f, expected, eps) 512s ***** test 512s f = fspecial ("gaussian", 7, 2); 512s assert (f, f_gaussian_2d ([3 3], 2)) 512s expected = [ 512s 0.00492233115934352 512s 0.00919612528958620 512s 0.01338028334410124 512s 0.01516184737296414 512s 0.01338028334410124 512s 0.00919612528958620 512s 0.00492233115934352 512s 0.00919612528958620 512s 0.01718062389630964 512s 0.02499766026691484 512s 0.02832606006174462 512s 0.02499766026691484 512s 0.01718062389630964 512s 0.00919612528958620 512s 0.01338028334410124 512s 0.02499766026691484 512s 0.03637138107390363 512s 0.04121417419979795 512s 0.03637138107390363 512s 0.02499766026691484 512s 0.01338028334410124 512s 0.01516184737296414 512s 0.02832606006174462 512s 0.04121417419979795 512s 0.04670177773892775]; 512s expected = reshape ([expected; expected((end-1):-1:1)], [7 7]); 512s assert (f, expected, eps) 512s ***** test 512s f = fspecial ("gaussian", [7 5], 2); 512s assert (f, f_gaussian_2d ([3 2], 2)) 512s expected = [ 512s 0.01069713252648568 512s 0.01998487459872362 512s 0.02907782096336423 512s 0.03294948784319031 512s 0.02907782096336423 512s 0.01998487459872362 512s 0.01069713252648568 512s 0.01556423598706978 512s 0.02907782096336423 512s 0.04230797985750011 512s 0.04794122192790870 512s 0.04230797985750011 512s 0.02907782096336423 512s 0.01556423598706978 512s 0.01763658993191515 512s 0.03294948784319031 512s 0.04794122192790870 512s 0.05432452146574315]; 512s expected = reshape ([expected; expected((end-1):-1:1)], [7 5]); 512s assert (f, expected, eps) 512s ***** test 512s f = fspecial ("gaussian", [4 2], 2); 512s expected = [0.10945587477855045 0.14054412522144952]; 512s expected = expected([1 1; 2 2; 2 2; 1 1]); 512s assert (f, expected, eps) 512s ***** test 512s expected =[0.04792235409415088 0.06153352068439959 0.07901060453704994]; 512s expected = expected([1 2 2 1; 2 3 3 2; 2 3 3 2; 1 2 2 1]); 512s assert (fspecial ("gaussian", 4, 2), expected) 512s ***** function f = f_gaussian_3d (lengths, sigma) 512s [x, y, z] = ndgrid (-lengths(1):lengths(1), -lengths(2):lengths(2), 512s -lengths(3):lengths(3)); 512s sig_22 = 2 * (sigma.^2); 512s f = exp (-((x.^2)/sig_22 + (y.^2)/sig_22 + (z.^2)/sig_22)); 512s f = f / sum (f(:)); 512s ***** endfunction 512s ***** test 512s obs = fspecial ("gaussian", [5 5 5]); 512s assert (obs, f_gaussian_3d ([2 2 2], .5)) 512s 512s u_values = [ 512s 0.00000000001837155 512s 0.00000000741161178 512s 0.00000005476481523 512s 0.00000299005759843 512s 0.00002209370333384 512s 0.00016325161336690 512s 0.00120627532940896 512s 0.00891323607975882 512s 0.06586040141635063 512s 0.48664620076350640]; 512s expected = zeros (5, 5, 5); 512s expected([1 5 21 25 101 105 121 125]) = u_values(1); 512s 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); 512s expected([3 11 15 23 51 55 71 75 103 111 115 123]) = u_values(3); 512s 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); 512s 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); 512s expected([13 53 61 65 73 113]) = u_values(6); 512s expected([32 34 42 44 82 84 92 94]) = u_values(7); 512s expected([33 37 39 43 57 59 67 69 83 87 89 93]) = u_values(8); 512s expected([38 58 62 64 68 88]) = u_values(9); 512s expected([63]) = u_values(10); 512s assert (obs, expected, 4 * eps) 512s ***** test 512s obs = fspecial ("gaussian", [5 5 5], 1); 512s assert (obs, f_gaussian_3d ([2 2 2], 1)) 512s 512s u_values = [ 512s 0.00016177781678373 512s 0.00072503787330278 512s 0.00119538536377748 512s 0.00324939431236223 512s 0.00535734551968363 512s 0.00883276951279243 512s 0.01456277497493249 512s 0.02400995686159072 512s 0.03958572658629712 512s 0.06526582943894763]; 512s expected = zeros (5, 5, 5); 512s expected([1 5 21 25 101 105 121 125]) = u_values(1); 512s 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); 512s expected([3 11 15 23 51 55 71 75 103 111 115 123]) = u_values(3); 512s 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); 512s 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); 512s expected([13 53 61 65 73 113]) = u_values(6); 512s expected([32 34 42 44 82 84 92 94]) = u_values(7); 512s expected([33 37 39 43 57 59 67 69 83 87 89 93]) = u_values(8); 512s expected([38 58 62 64 68 88]) = u_values(9); 512s expected([63]) = u_values(10); 512s assert (obs, expected, eps) 512s ***** test 512s obs = fspecial ("gaussian", [3 4 1 5], 3); 512s assert (find (obs == max (obs(:))), [29; 32]) 512s assert (size (obs), [3 4 1 5]) 512s assert (obs(:)(1:30), obs(:)(end:-1:31)) 512s ***** test 512s f = repmat (1/9, [3 3]); 512s assert (fspecial ("average", [3 3]), f) 512s 512s ## Test default 512s assert (fspecial ("average"), fspecial ("average", [3 3])) 512s assert (fspecial ("average"), fspecial ("average", [3])) 512s 512s f = repmat (1/21, [3 7]); 512s assert (fspecial ("average", [3 7]), f) 512s 512s f = repmat (1/40, [4 5 1 2]); 512s assert (fspecial ("average", [4 5 1 2]), f) 512s ## Behave even if it's a column vector 512s assert (fspecial ("average", [4 5 1 2]'), f) 512s 16 tests, 16 passed, 0 known failure, 0 skipped 512s [inst/bweuler.m] 512s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/bweuler.m 512s ***** demo 512s A=zeros(9,10); 512s A([2,5,8],2:9)=1; 512s A(2:8,[2,9])=1 512s bweuler(A) 512s # Euler number (objects minus holes) is 1-2=-1 in an 8-like object 512s ***** test 512s A=zeros(10,10); 512s A(2:9,3:8)=1; 512s A(4,4)=0; 512s A(8,8)=0; # not a hole 512s A(6,6)=0; 512s assert(bweuler(A),-1); 512s ***** test 512s A=zeros(10,10); 512s A(2:4,2:4)=1; 512s A(5:8,5:8)=1; 512s assert(bweuler(A,4),2); 512s assert(bweuler(A,8),1); 512s assert(bweuler(A),1); 512s ***** error <2 dimensions> bweuler (true (5, 5, 1, 5)) 512s 3 tests, 3 passed, 0 known failure, 0 skipped 512s [inst/imfuse.m] 512s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imfuse.m 512s ***** error id=Octave:invalid-fun-call imfuse () 512s ***** error id=Octave:invalid-input-arg imfuse (1, 1, "xxx") 512s ***** error id=Octave:invalid-input-arg imfuse (1, 1, "interpolation") 512s ***** error id=Octave:invalid-input-arg imfuse (1, 1, "ColorChannels", [0 0 0]) 512s ***** error id=Octave:invalid-input-arg imfuse (1, 1, "ColorChannels", [1 1 1]) 512s ***** error id=Octave:invalid-input-arg imfuse (1, 1, "ColorChannels", [2 2 2]) 512s ***** error id=Octave:expected-less-equal imfuse (1, 1, "ColorChannels", [42 0 0]) 512s ***** error id=Octave:expected-greater-equal imfuse (1, 1, "ColorChannels", [-1 2 0]) 512s ***** error id=Octave:invalid-input-arg imfuse (1, 1, "ColorChannels", "deep-purple") 512s ***** assert (imfuse (1, 2, "blend"), uint8 (0)) 512s ***** assert (imfuse (1, 2, "blend", "Scaling", "independent"), uint8 (0)) 512s ***** assert (imfuse (1, 2, "blend", "Scaling", "joint"), uint8 (128)) 512s ***** assert (imfuse (1, 2, "blend", "Scaling", "none"), uint8 (255)) 512s ***** assert (imfuse (1, 2, "falsecolor"), uint8 (zeros (1, 1, 3))) 512s ***** test 512s a = [0 1 2]; 512s b = [0 10 20]; 512s expected = uint8 (repmat ([0 128 255], [1 1 3])); 512s assert (imfuse (a, b), expected); 512s ***** test 512s a = uint8 ([0 1 2]); 512s b = uint8 ([0 10 20]); 512s expected = uint8 (repmat ([0 128 255], [1 1 3])); 512s assert (imfuse (a, b), expected); 512s ***** test 512s a = uint8 ([0 1 2]); 512s b = uint8 ([0 10 20]); 512s expected = uint8 (repmat ([0 128 255], [1 1 3])); 512s assert (imfuse (a, b, "falsecolor"), expected); 512s ***** test 512s a = logical([0 1 1]); 512s b = logical([0 1 1]); 512s expected = uint8 (repmat ([0 255 255], [1 1 3])); 512s assert (imfuse (a, b), expected); 512s ***** test 512s a = logical([0 1 1]); 512s b = logical([0 1 1]); 512s expected = uint8 (repmat ([0 255 255], [1 1 3])); 512s assert (imfuse (a, b, "falsecolor"), expected); 512s ***** test 512s a = [0 1 2]; 512s b = [0 10 20]; 512s expected = uint8 (repmat ([0 255 255], [1 1 3])); 512s assert (imfuse (a, b, "Scaling", "none"), expected); 512s ***** test 512s a = uint8 ([0 1 2]); 512s b = uint8 ([0 10 20]); 512s expected = uint8 (zeros ([1, 3, 3])); 512s expected(:, :, 1) = [0 10 20]; 512s expected(:, :, 2) = [0 1 2]; 512s expected(:, :, 3) = [0 10 20]; 512s assert (imfuse (a, b, "Scaling", "none"), expected); 512s ***** test 512s a = [0 1 2]; 512s b = uint8 ([0 10 20]); 512s expected = uint8 (zeros ([1, 3, 3])); 512s expected(:, :, 1) = [0 10 20]; 512s expected(:, :, 2) = [0 255 255]; 512s expected(:, :, 3) = [0 10 20]; 512s assert (imfuse (a, b, "Scaling", "none"), expected); 512s ***** test 512s a = uint8 ([0 1 2]); 512s b = [0 10 20]; 512s expected = uint8 (zeros ([1, 3, 3])); 512s expected(:, :, 1) = [0 255 255]; 512s expected(:, :, 2) = [0 1 2]; 512s expected(:, :, 3) = [0 255 255]; 512s assert (imfuse (a, b, "Scaling", "none"), expected); 512s ***** test 512s a = [0 .1 2]; 512s b = [0 .01 .02]; 512s expected = uint8 (zeros ([1, 3, 3])); 512s expected(:, :, 1) = [0 3 5]; 512s expected(:, :, 2) = [0 26 255]; 512s expected(:, :, 3) = [0 3 5]; 512s assert (imfuse (a, b, "Scaling", "none"), expected); 512s ***** test 512s a = [0 1 2]; 512s b = [0 10 20]; 512s expected = uint8 (zeros ([1, 3, 3])); 512s expected(:, :, 1) = [0 128 255]; 512s expected(:, :, 2) = [0 13 26]; 512s expected(:, :, 3) = [0 128 255]; 512s assert (imfuse (a, b, "Scaling", "joint"), expected); 512s ***** test 512s a = uint8 ([0 1 2]); 512s b = [0 10 20]; 512s expected = uint8 (zeros ([1, 3, 3])); 512s expected(:, :, 1) = [0 128 255]; 512s expected(:, :, 2) = [0 13 26]; 512s expected(:, :, 3) = [0 128 255]; 512s assert (imfuse (a, b, "Scaling", "joint"), expected); 512s ***** test 512s a = [0 150 300]; 512s b = uint8 ([0 10 20]); 512s expected = uint8 (zeros ([1, 3, 3])); 512s expected(:, :, 1) = [0 9 17]; 512s expected(:, :, 2) = [0 128 255]; 512s expected(:, :, 3) = [0 9 17]; 512s assert (imfuse (a, b, "Scaling", "joint"), expected); 512s ***** test 512s a = uint8 ([0 1 2]); 512s b = uint8 ([0 10 20]); 512s expected = uint8 (zeros ([1, 3, 3])); 512s expected(:, :, 1) = [0 128 255]; 512s expected(:, :, 2) = [0 13 26]; 512s expected(:, :, 3) = [0 128 255]; 512s assert (imfuse (a, b, "Scaling", "joint"), expected); 512s ***** test 512s a = [0 1 2]; 512s b = [0 10 20]; 512s expected = uint8 (zeros ([1, 3, 3])); 512s expected(:, :, 1) = [0 0 0]; 512s expected(:, :, 2) = [0 128 255]; 512s expected(:, :, 3) = [0 13 26]; 512s assert (imfuse (a, b, "Scaling", "joint", "ColorChannels", [0 2 1]), expected); 512s ***** test 512s a = [0 1 2]; 512s b = [0 10 15]; 512s c = imfuse (a, b, "ColorChannels", "red-cyan"); 512s expected = uint8 (zeros (1, 3, 3)); 512s expected(:, :, 1) = [0 128 255]; 512s expected(:, :, 2) = [0 170 255]; 512s expected(:, :, 3) = [0 170 255]; 512s assert (c, expected); 512s ***** test 512s a = [0 1 2]; 512s b = [0 10 15]; 512s c = imfuse (a, b, "ColorChannels", "green-magenta"); 512s expected = uint8 (zeros (1, 3, 3)); 512s expected(:, :, 1) = [0 170 255]; 512s expected(:, :, 2) = [0 128 255]; 512s expected(:, :, 3) = [0 170 255]; 512s assert (c, expected); 512s ***** test 512s a = [0 5 2]; 512s b = [0 10 20]; 512s assert (imfuse (a, b, "diff"), uint8 ([0 213 255])); 512s ***** test 512s a = [0 5 2]; 512s b = [0 10 20]; 512s assert (imfuse (a, b, "diff", "Scaling", "joint"), uint8 ([0 71 255])); 512s ***** test 512s a = [0 5 2]; 512s b = [0 10 20]; 512s assert (imfuse (a, b, "blend"), uint8 ([0 192 179])); 512s ***** test 512s a = magic (5); 512s b = a'; 512s c = imfuse (a, b, "falsecolor"); 512s expected = zeros (5, 5, 3); 512s expected(:, :, 1) = [ 512s 170 234 32 96 106 512s 244 43 53 117 181 512s 0 64 128 191 255 512s 74 138 202 213 11 512s 149 159 223 21 85]; 512s expected(:, :, 2) = [ 512s 170 244 0 74 149 512s 234 43 64 138 159 512s 32 53 128 202 223 512s 96 117 191 213 21 512s 106 181 255 11 85]; 512s expected(:, :, 3) = [ 512s 170 234 32 96 106 512s 244 43 53 117 181 512s 0 64 128 191 255 512s 74 138 202 213 11 512s 149 159 223 21 85]; 512s assert (c, uint8 (expected)); 512s ***** test 512s a = magic (5); 512s b = a'; 512s assert (imfuse (uint8 (a), uint8 (b), "blend", "Scaling", "none"), 512s uint8 ([17 24 3 9 13 512s 24 5 7 13 17 512s 3 7 13 20 24 512s 9 13 20 21 3 512s 13 17 24 3 9])); 512s ***** test 512s a = magic (5); 512s b = 2 * a'; 512s assert (imfuse (a, b, "blend", "Scaling", "independent"), 512s uint8 ([170 239 16 85 128 512s 239 43 59 128 170 512s 16 59 128 197 239 512s 85 128 197 213 16 512s 128 170 239 16 85])); 512s ***** test 512s a = magic (5); 512s b = 2 * a'; 512s assert (imfuse (a, b, "blend", "Scaling", "joint"), 512s uint8 ([128 177 18 68 91 512s 180 34 44 94 130 512s 11 47 96 146 182 512s 63 99 149 159 13 512s 102 125 175 16 65])); 512s ***** test 512s a = [0 1.2 5]; 512s b = [5 6.13 12]; 512s assert (imfuse (a, b, "blend"), uint8 ([0 51 255])); 512s ***** test 512s a = [0 5 2]; 512s b = [0 10 20]; 512s assert (imfuse (a, b, "blend", "Scaling", "joint"), uint8 ([0 96 141])); 512s ***** test 512s a = [0 5 2]; 512s b = [0 10 20]; 512s assert (imfuse (a, b, "montage"), uint8 ([0 255 102 0 128 255])); 512s ***** test 512s a = zeros (1, 100); 512s b = 2 * ones (1, 100); 512s assert (imfuse (a, b, "montage"), uint8 ([zeros(1, 200)])); 512s assert (imfuse (a, b, "montage", "Scaling", "none"), 512s uint8 ([zeros(1, 100), 255 * ones(1, 100)])); 512s ***** test 512s a = zeros (1, 100, 3); 512s b = 2 * ones (1, 100); 512s assert (imfuse (a, b, "montage"), uint8 ([zeros(1, 200, 3)])); 512s ***** test 512s a = 0.1 * ones (50, 50); 512s b = 0.2 * ones (50, 50); 512s c = imfuse (a, b, "checkerboard", "Scaling", "none"); 512s d = imresize (repmat([26, 51; 51, 26], [8, 8]), [50, 50], "nearest"); 512s assert (all (c(:) == d(:))); 512s ***** test 512s a = zeros (2, 2); 512s b = zeros (2, 2); 512s ra = imref2d (size (a), [0, 2], [0, 2]); 512s rb = imref2d (size (b), [0, 2], [2, 4]); 512s [c, rc] = imfuse (a, ra, b, rb, "falsecolor"); 512s assert (rc.ImageSize, [4, 2]); 512s assert (rc.XWorldLimits, [0, 2]); 512s assert (rc.YWorldLimits, [0, 4]); 512s assert (rc.PixelExtentInWorldX, 1); 512s assert (rc.PixelExtentInWorldY, 1); 512s assert (rc.ImageExtentInWorldX, 2); 512s assert (rc.ImageExtentInWorldY, 4); 512s assert (rc.XIntrinsicLimits, [0.5, 2.5]); 512s assert (rc.YIntrinsicLimits, [0.5, 4.5]); 512s assert (c, uint8 (zeros (4, 2, 3))); 512s ***** xtest 512s a = zeros (5, 3); 512s b = ones (6, 5); 512s ra = imref2d (size (a), [15, 30], [2, 4]); 512s rb = imref2d (size (b), [10, 50], [5.5, 6.7]); 512s [c, rc] = imfuse (a, ra, b, rb, "falsecolor"); 512s assert (rc.ImageSize, [24, 8]); 512s assert (rc.XWorldLimits, [10, 50]); 512s assert (rc.YWorldLimits, [2, 6.7]); 512s assert (rc.PixelExtentInWorldX, 5); 512s assert (rc.PixelExtentInWorldY, 0.19583333, 10e-9); 512s assert (rc.ImageExtentInWorldX, 40); 512s assert (rc.ImageExtentInWorldY, 4.7); 512s assert (rc.XIntrinsicLimits, [0.5, 8.5]); 512s assert (rc.YIntrinsicLimits, [0.5, 24.5]); 512s expected = uint8 (zeros (24, 8, 3)); 512s expected(19:23, 2:7, 1) = 255 * ones (5, 6); 512s expected(19:23, 2:7, 3) = 255 * ones (5, 6); 512s assert (c, expected); 512s !!!!! known failure 512s ASSERT errors for: assert (c,expected) 512s 512s Location | Observed | Expected | Reason 512s (19,2,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (20,2,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (21,2,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (22,2,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (23,2,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (19,3,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (20,3,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (21,3,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (22,3,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (23,3,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (19,4,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (20,4,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (21,4,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (22,4,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (23,4,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (19,5,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (20,5,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (21,5,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (22,5,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (23,5,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (19,6,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (20,6,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (21,6,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (22,6,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (23,6,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (19,7,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (20,7,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (21,7,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (22,7,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (23,7,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (19,2,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (20,2,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (21,2,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (22,2,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (23,2,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (19,3,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (20,3,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (21,3,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (22,3,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (23,3,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (19,4,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (20,4,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (21,4,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (22,4,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (23,4,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (19,5,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (20,5,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (21,5,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (22,5,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (23,5,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (19,6,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (20,6,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (21,6,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (22,6,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (23,6,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (19,7,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (20,7,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (21,7,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (22,7,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (23,7,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s ***** test 512s a = uint8 (reshape (1:1:9, [1 3 3])); 512s b = uint8 (reshape (10:2:26, [1 3 3])); 512s c = imfuse (a, b); 512s expected = uint8 (zeros (1, 3, 3)); 512s expected(:, :, 1) = [0 128 255]; 512s expected(:, :, 2) = [0 128 255]; 512s expected(:, :, 3) = [0 128 255]; 512s assert (c, expected); 512s ***** test 512s a = uint8 (reshape (1:1:9, [1 3 3])); 512s b = uint8 (reshape (10:2:26, [1 3 3])); 512s c = imfuse (a, b, "Scaling", "independent"); 512s expected = uint8 (zeros (1, 3, 3)); 512s expected(:, :, 1) = [0 128 255]; 512s expected(:, :, 2) = [0 128 255]; 512s expected(:, :, 3) = [0 128 255]; 512s assert (c, expected); 512s ***** test 512s a = uint8 (reshape (1:1:9, [1 3 3])); 512s b = uint8 (reshape (10:2:26, [1 3 3])); 512s c = imfuse (a, b, "Scaling", "joint"); 512s expected = uint8 (zeros (1, 3, 3)); 512s expected(:, :, 1) = [191 223 255]; 512s expected(:, :, 2) = [0 16 32]; 512s expected(:, :, 3) = [191 223 255]; 512s assert (c, expected); 512s ***** test 512s a = uint8 (reshape (1:1:9, [1 3 3])); 512s b = uint8 (reshape (10:2:26, [1 3 3])); 512s c = imfuse (a, b, "Scaling", "none"); 512s expected = uint8 (zeros (1, 3, 3)); 512s expected(:, :, 1) = [15 17 19]; 512s expected(:, :, 2) = [3 4 5]; 512s expected(:, :, 3) = [15 17 19]; 512s assert (c, expected); 512s ***** xtest 512s a = zeros (5, 3); 512s b = ones (5, 3); 512s ra = imref2d (size (a), [10, 20], [30, 40]); 512s rb = imref2d (size (b), [10, 20], [30, 40]); 512s [c, rc] = imfuse (a, ra, b, rb, "falsecolor"); 512s expected = uint8 (zeros (5, 3, 3)); 512s expected(:, 1:2, 1) = 255 * ones (5, 2); 512s expected(:, 1:2, 3) = 255 * ones (5, 2); 512s assert (rc.ImageSize, [5, 3]); 512s assert (rc.XWorldLimits, [10, 20]); 512s assert (rc.YWorldLimits, [30, 40]); 512s assert (rc.PixelExtentInWorldX, 3.33333333, 10e-9); 512s assert (rc.PixelExtentInWorldY, 2); 512s assert (rc.ImageExtentInWorldX, 10); 512s assert (rc.ImageExtentInWorldY, 10); 512s assert (rc.XIntrinsicLimits, [0.5, 3.5]); 512s assert (rc.YIntrinsicLimits, [0.5, 5.5]); 512s assert (c, expected); 512s !!!!! known failure 512s ASSERT errors for: assert (c,expected) 512s 512s Location | Observed | Expected | Reason 512s (1,1,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (2,1,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (3,1,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (4,1,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (5,1,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (1,2,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (2,2,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (3,2,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (4,2,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (5,2,1) 0 255 Abs err 0 exceeds tol 0 by 0 512s (1,1,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (2,1,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (3,1,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (4,1,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (5,1,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (1,2,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (2,2,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (3,2,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (4,2,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s (5,2,3) 0 255 Abs err 0 exceeds tol 0 by 0 512s ***** test 512s a = zeros (5, 5); 512s b = ones (5, 5); 512s ra = imref2d (size (a), [10, 20], [30, 40]); 512s rb = imref2d (size (b), [10, 20], [30, 40]); 512s [c, rc] = imfuse (a, ra, b, rb, "falsecolor"); 512s expected = uint8 (zeros (5, 5, 3)); 512s assert (rc.ImageSize, [5, 5]); 512s assert (rc.XWorldLimits, [10, 20]); 512s assert (rc.YWorldLimits, [30, 40]); 512s assert (rc.PixelExtentInWorldX, 2); 512s assert (rc.PixelExtentInWorldY, 2); 512s assert (rc.ImageExtentInWorldX, 10); 512s assert (rc.ImageExtentInWorldY, 10); 512s assert (rc.XIntrinsicLimits, [0.5, 5.5]); 512s assert (rc.YIntrinsicLimits, [0.5, 5.5]); 512s assert (c, expected); 512s ***** test 512s a = magic (5); 512s b = ones (5, 5); 512s ra = imref2d (size (a), [10, 20], [30, 40]); 512s rb = imref2d (size (b), [10, 20], [30, 40]); 512s [c, rc] = imfuse (a, ra, b, rb, "falsecolor", "Scaling", "independent"); 512s expected = uint8 (zeros (5, 5, 3)); 512s expected(:, :, 2) = [ 512s 170 244 0 74 149 512s 234 43 64 138 159 512s 32 53 128 202 223 512s 96 117 191 213 21 512s 106 181 255 11 85]; 512s assert (rc.ImageSize, [5, 5]); 512s assert (rc.XWorldLimits, [10, 20]); 512s assert (rc.YWorldLimits, [30, 40]); 512s assert (rc.PixelExtentInWorldX, 2); 512s assert (rc.PixelExtentInWorldY, 2); 512s assert (rc.ImageExtentInWorldX, 10); 512s assert (rc.ImageExtentInWorldY, 10); 512s assert (rc.XIntrinsicLimits, [0.5, 5.5]); 512s assert (rc.YIntrinsicLimits, [0.5, 5.5]); 512s assert (c, expected); 512s 53 tests, 51 passed, 2 known failures, 0 skipped 512s [inst/imregionalmin.m] 512s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imregionalmin.m 512s ***** test 512s a = [ 512s 7 3 9 3 10 3 512s 4 2 3 10 1 3 512s 1 4 6 9 4 10 512s 8 7 9 3 4 8 512s 5 9 3 3 8 9 512s 3 6 9 4 1 10]; 512s 512s a4 = logical ([ 512s 0 0 0 1 0 0 512s 0 1 0 0 1 0 512s 1 0 0 0 0 0 512s 0 0 0 1 0 0 512s 0 0 1 1 0 0 512s 1 0 0 0 1 0]); 512s assert (imregionalmin (a, 4), a4) 512s assert (imregionalmin (uint8 (a), 4), a4) 512s assert (imregionalmin (int8 (a), 4), a4) 512s 512s a8 = logical ([ 512s 0 0 0 0 0 0 512s 0 0 0 0 1 0 512s 1 0 0 0 0 0 512s 0 0 0 0 0 0 512s 0 0 0 0 0 0 512s 1 0 0 0 1 0]); 512s assert (imregionalmin (a), a8) 512s assert (imregionalmin (a, 8), a8) 512s assert (imregionalmin (uint8 (a), 8), a8) 512s assert (imregionalmin (int8 (a), 8), a8) 512s ***** test 512s a = [ 512s 4 8 5 -1 8 7 512s -1 4 0 7 1 1 512s 6 1 2 6 7 0 512s 6 1 5 -2 5 9 512s 1 4 -1 0 0 2 512s 4 6 1 0 7 1]; 512s 512s a4 = logical ([ 512s 0 0 0 1 0 0 512s 1 0 1 0 0 0 512s 0 1 0 0 0 1 512s 0 1 0 1 0 0 512s 1 0 1 0 0 0 512s 0 0 0 0 0 1]); 512s assert (imregionalmin (a, 4), a4) 512s assert (imregionalmin (int8 (a), 4), a4) 512s 512s a8 = logical ([ 512s 0 0 0 1 0 0 512s 1 0 0 0 0 0 512s 0 0 0 0 0 1 512s 0 0 0 1 0 0 512s 0 0 0 0 0 0 512s 0 0 0 0 0 0]); 512s assert (imregionalmin (a), a8) 512s assert (imregionalmin (a, 8), a8) 512s assert (imregionalmin (int8 (a), 8), a8) 512s ***** test 512s ## test float input images 512s im0 = peaks (); 512s im1 = im0 ./ 100; 512s max_pos_expected = [1; 49; 664; 1286; 1302; 2401]; 512s max0 = imregionalmin (im0); 512s max0_pos = find (max0); 512s max1 = imregionalmin (im1); 512s assert (max1, max0) 512s assert (max0_pos, max_pos_expected) 512s 3 tests, 3 passed, 0 known failure, 0 skipped 512s [inst/imabsdiff.m] 512s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imabsdiff.m 512s ***** assert (imabsdiff (uint8 ([23 250]), uint8 ([26 50])), uint8 ([ 3 200])); # default to first class and abs works 512s ***** assert (imabsdiff (uint8 ([23 250]), uint8 ([24 50]), "uint16"), uint16 ([ 1 200])); # defining output class works (not in matlab) 512s ***** assert (imabsdiff (uint8 ([23 250]), uint8 ([24 255]), "int8"), int8 ([ 1 5])); # signed integers kinda work (not in matlab) 512s ***** assert (imabsdiff (logical ([ 1 0]), logical ([ 1 1])), double ([ 0 1])); # return double for two logical images 512s ***** fail ("imabsdiff (uint8 ([23 250]), 30"); # fails subtracting a scalar 512s ***** fail ("imabsdiff (uint8 ([23 250]), uint16 ([23 250]))"); # input need to have same class 512s 6 tests, 6 passed, 0 known failure, 0 skipped 512s [inst/imattributes.m] 512s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imattributes.m 512s ***** shared x, map, img, rgb, bw 512s [x, map] = imread ("default.img"); 512s rgb = ind2rgb (x, map); 512s img = ind2gray (x, map); 512s bw = im2bw (img); 512s ***** test 512s h = imshow (img); 512s a = imattributes (h); 512s assert ([a.("Height (rows)") a.("Width (columns)")], [53 40]); 512s assert (a.Class, "uint8"); 512s assert (a.("Image type"), "intensity"); 512s assert (a.("Minimum intensity"), uint8 (28)); 512s assert (a.("Maximum intensity"), uint8 (250)); 512s ***** xtest 512s h = imshow (rgb); 512s a = imattributes (h); 512s assert ([a.("Height (rows)") a.("Width (columns)")], [53 40]); 512s assert (a.Class, "uint8"); 512s assert (a.("Image type"), "truecolor"); 512s assert (isfield (a, "Minimum intensity"), false); 512s assert (isfield (a, "Maximum intensity"), false); 512s !!!!! known failure 512s ASSERT errors for: assert (a.Class,"uint8") 512s 512s Location | Observed | Expected | Reason 512s [] 'double' 'uint8' Strings don't match 512s ***** test 512s h = imshow (bw); 512s a = imattributes (h); 512s assert ([a.("Height (rows)") a.("Width (columns)")], [53 40]); 512s assert (a.Class, "logical"); 512s assert (a.("Image type"), "binary"); 512s assert (isfield (a, "Minimum intensity"), false); 512s assert (isfield (a, "Maximum intensity"), false); 513s ***** test 513s h = imshow (x, map); 513s a = imattributes (h); 513s assert ([a.("Height (rows)") a.("Width (columns)")], [53 40]); 513s assert (a.Class, "uint8"); 513s assert (a.("Image type"), "indexed"); 513s assert (a.("Minimum intensity"), uint8 (0)); 513s assert (a.("Maximum intensity"), uint8 (55)); 513s ***** test 513s h = imshow (img); 513s a1 = imattributes (); 513s a2 = imattributes (h); 513s assert (a1, a2); 513s 5 tests, 4 passed, 1 known failure, 0 skipped 513s [inst/imclose.m] 513s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imclose.m 513s ***** shared in, out 513s in = [ 0 0 0 1 1 1 0 0 1 1 513s 0 1 0 1 1 1 0 0 0 1 513s 1 1 1 1 1 0 0 0 0 0 513s 0 1 1 1 1 0 0 0 0 0 513s 0 0 0 1 0 0 0 0 1 0 513s 0 0 0 0 0 0 0 1 1 1 513s 0 0 0 0 1 0 1 0 1 0 513s 0 0 0 1 1 1 1 1 0 0 513s 0 0 0 0 1 1 1 0 0 0 513s 0 0 0 1 1 1 0 0 0 0]; 513s 513s out = [ 1 1 1 1 1 1 1 1 1 1 513s 1 1 1 1 1 1 0 0 0 1 513s 1 1 1 1 1 0 0 0 0 1 513s 1 1 1 1 1 0 0 0 0 1 513s 0 0 0 1 1 0 0 0 1 1 513s 0 0 0 1 1 1 1 1 1 1 513s 0 0 0 1 1 1 1 1 1 1 513s 0 0 0 1 1 1 1 1 0 0 513s 0 0 0 1 1 1 1 0 0 0 513s 0 0 0 1 1 1 1 0 0 0]; 513s ***** assert (imclose (logical (in), ones (3)), logical (out)); 513s 513s out = [99 99 16 16 16 73 74 64 64 64 513s 98 88 16 16 16 73 71 64 64 64 513s 93 88 88 61 61 61 68 70 70 70 513s 93 88 88 61 61 61 68 71 71 71 513s 93 93 88 61 61 61 68 75 66 66 513s 79 79 82 90 90 49 49 49 49 66 513s 79 79 82 91 91 48 46 46 46 66 513s 79 79 82 95 97 48 46 46 46 72 513s 18 18 94 96 84 48 46 46 46 59 513s 18 18 100 96 84 50 50 50 50 59]; 513s ***** assert (imclose (magic (10), ones (3)), out); 513s ***** assert (imclose (uint8 (magic (10)), strel ("square", 3)), uint8 (out)); 513s 513s ## using a se that will be decomposed in 2 pieces 513s out =[ 99 99 88 74 74 74 74 70 70 70 513s 98 93 88 74 74 74 74 70 70 70 513s 93 93 88 74 74 74 74 70 70 70 513s 93 93 88 74 74 74 74 71 71 71 513s 93 93 88 75 75 75 75 75 75 75 513s 93 93 90 90 90 72 72 72 72 72 513s 93 93 91 91 91 72 72 72 72 72 513s 93 93 93 95 97 72 72 72 72 72 513s 94 94 94 96 97 72 72 72 72 72 513s 100 100 100 97 97 72 72 72 72 72]; 513s ***** assert (imclose (magic (10), ones(5)), out); 513s 513s ## using a weird non-symmetric and even-size se 513s out =[ 92 99 16 16 16 70 74 58 58 58 513s 98 88 60 73 16 73 69 70 64 58 513s 88 81 88 60 60 60 69 69 70 70 513s 87 87 61 68 61 60 68 69 71 69 513s 86 93 87 61 61 61 68 75 68 69 513s 23 82 89 89 90 45 68 45 68 66 513s 23 23 82 89 91 48 45 45 45 66 513s 79 23 82 95 97 46 48 46 45 72 513s 18 79 94 96 78 50 46 46 46 59 513s 18 18 100 94 94 78 50 50 46 59]; 513s ***** assert (imclose (magic (10), [1 0 0 0; 1 1 1 0; 0 1 0 1]), out); 513s 5 tests, 5 passed, 0 known failure, 0 skipped 513s [inst/blockproc.m] 513s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/blockproc.m 513s ***** demo 513s blockproc (eye (6), [2, 2], @(x) any (x(:))) 513s # Returns a 3-by-3 diagonal 513s ***** assert (blockproc (eye (6), [2, 2], "sum"), 513s blockproc (eye (6), [2, 2], @sum)) 513s ***** assert (blockproc (eye (6), [2, 2], "sum"), 513s blockproc (eye (6), [2, 2], @(x) sum (x))) 513s ***** assert (blockproc (eye (6), [1,2], @sum), 513s kron (eye (3), [1; 1])) 513s ***** assert (blockproc (eye (6), [2,2], @(x) any (x(:))), 513s eye (3) != 0) 513s ***** assert (blockproc (eye (6), [1,2],[1,1], @(x) sum (x(:))), 513s [2,1,0; 3,2,0; 2,3,1; 1,3,2; 0,2,3; 0,1,2]) 513s ***** assert (blockproc (eye (6), "indexed", [1, 2], [1, 1], @(x) sum (x(:))), 513s [8,5,6; 6,2,3; 5,3,4; 4,3,5; 3,2,6; 6,5,8]) 513s ***** assert (blockproc (eye (6), [2,3],[4,3], @(x) sum (x(:))), 513s ones (3, 2) * 6) 513s ***** assert (blockproc (eye (6), [2, 2], @(x) int8 (sum (x(:)))), 513s eye (3, "int8") * 2) 513s ***** assert (blockproc (uint8 (eye (6)), [1,2], [1,1], @(x) sum (x(:))), 513s [2,1,0; 3,2,0; 2,3,1; 1,3,2; 0,2,3; 0,1,2]) 513s ***** assert (blockproc (uint8 (eye (6)), "indexed", [1,2], [1,1], @(x) sum (x(:))), 513s [2,1,0; 3,2,0; 2,3,1; 1,3,2; 0,2,3; 0,1,2]); 513s ***** assert (blockproc (uint16 (eye (6)), [1,2], [1,1], @(x) sum (x(:))), 513s [2,1,0; 3,2,0; 2,3,1; 1,3,2; 0,2,3; 0,1,2]); 513s ***** assert (blockproc (uint16 (eye (6)), "indexed", [1,2], [1,1], 513s @(x) sum (x(:))), 513s [2,1,0; 3,2,0; 2,3,1; 1,3,2; 0,2,3; 0,1,2]); 513s ***** assert (blockproc (eye (6), [2, 2], "sum"), 513s blockproc (eye (6), [2, 2], inline ("sum (x)", "x"))) 513s warning: inline is obsolete; use anonymous functions instead 513s 13 tests, 13 passed, 0 known failure, 0 skipped 513s [inst/immse.m] 513s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/immse.m 513s ***** error immse (rand (10), rand (12)) 513s ***** error immse (uint8 ([0 1 2 3]), uint16 ([0 1 2 3])) 513s ***** error immse (double ([0 1 2 3]), single ([0 1 2 3])) 513s ***** assert (immse (magic (5), magic (5)), 0) 513s ***** assert (immse (single (magic (5)), single (magic (5))), single (0)) 513s ***** assert (immse (uint8 (magic (5)), uint8 (magic (5))), 0) 513s 6 tests, 6 passed, 0 known failure, 0 skipped 513s [inst/iptcheckmap.m] 513s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/iptcheckmap.m 513s ***** test ("iptcheckmap (jet(64), 'func', 'var', 2)"); # simple must work 513s ***** fail ("iptcheckmap (3, 'func', 'var', 2)"); # not a colormap 513s 2 tests, 2 passed, 0 known failure, 0 skipped 513s [inst/colfilt.m] 513s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/colfilt.m 513s ***** demo 513s ## Perform moving average filter with a 4x4 window 513s A = magic (12) 513s colfilt (A, [4 4], "sliding", @mean) 513s ***** test 513s A = reshape (1:36, [6 6]); 513s assert (colfilt (A, [2 2], [3 3], "sliding", @sum), 513s conv2 (A, ones (2), "same")); 513s 1 test, 1 passed, 0 known failure, 0 skipped 513s [inst/lab2single.m] 513s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/lab2single.m 513s ***** test 513s l_max_f = 100 + (25500 / 65280); 513s ab_max_f = 127 + (255 / 256); 513s cm = [ 513s -Inf 513s Inf 513s NaN 513s l_max_f 513s ab_max_f 513s -200 513s -129 513s -128 513s -128+(255/65280)*(0.499) 513s -128+(255/65280)*(0.500) 513s -128+(255/65280)*(0.501) 513s -127 513s -1 513s 0 513s (100/65280)*(0.499999) 513s (100/65280)*(0.51) 513s (100/65280)*(0.500001) 513s 1 513s 99 513s 100 513s 101 513s 126 513s 127 513s 128 513s 254 513s 255 513s 256 513s 257]; 513s cm = repmat (single (cm), [1 3]); 513s im2d = reshape (cm, [7 4 3]); 513s imnd = permute (im2d, [1 4 3 2]); 513s 513s cm_uint8 = uint8 ([ 513s 0 0 0 513s 255 255 255 513s 255 255 255 513s 255 228 228 513s 255 255 255 513s 0 0 0 513s 0 0 0 513s 0 0 0 513s 0 0 0 513s 0 0 0 513s 0 0 0 513s 0 1 1 513s 0 127 127 513s 0 128 128 513s 0 128 128 513s 0 128 128 513s 0 128 128 513s 3 129 129 513s 252 227 227 513s 255 228 228 513s 255 229 229 513s 255 254 254 513s 255 255 255 513s 255 255 255 513s 255 255 255 513s 255 255 255 513s 255 255 255 513s 255 255 255]); 513s 513s assert (lab2uint8 (cm), cm_uint8) 513s im2d_uint8 = reshape (cm_uint8, [7 4 3]); 513s assert (lab2uint8 (im2d), im2d_uint8) 513s assert (lab2uint8 (imnd), permute (im2d_uint8, [1 4 3 2])) 513s 513s cm_uint16 = uint16 ([ 513s 0 0 0 513s 65535 65535 65535 513s 65535 65535 65535 513s 65535 58468 58468 513s 65535 65535 65535 513s 0 0 0 513s 0 0 0 513s 0 0 0 513s 0 0 0 513s 0 1 1 513s 0 1 1 513s 0 256 256 513s 0 32512 32512 513s 0 32768 32768 513s 0 32768 32768 513s 1 32768 32768 513s 1 32768 32768 513s 653 33024 33024 513s 64627 58112 58112 513s 65280 58368 58368 513s 65535 58624 58624 513s 65535 65024 65024 513s 65535 65280 65280 513s 65535 65535 65535 513s 65535 65535 65535 513s 65535 65535 65535 513s 65535 65535 65535 513s 65535 65535 65535]); 513s 513s assert (lab2uint16 (cm), cm_uint16) 513s im2d_uint16 = reshape (cm_uint16, [7 4 3]); 513s assert (lab2uint16 (im2d), im2d_uint16) 513s assert (lab2uint16 (imnd), permute (im2d_uint16, [1 4 3 2])) 513s 513s assert (lab2double (cm), double (cm)) 513s assert (lab2double (im2d), double (im2d)) 513s assert (lab2double (imnd), double (imnd)) 513s 1 test, 1 passed, 0 known failure, 0 skipped 513s [inst/bwunpack.m] 513s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/bwunpack.m 513s ***** error id=Octave:invalid-fun-call bwunpack () 513s ***** error bwunpack (uint8 (1)) 513s ***** error bwunpack (uint32 (1), -1) 513s ***** error bwunpack (uint32 (1), 4.2) 513s ***** xtest 513s ## bug #55521 513s assert (bwunpack (uint32 (2.^[0:31])), logical (eye (32))) 513s ***** xtest 513s ## bug #55521 513s assert (bwunpack (uint32 (repmat (7, [1 3 3 3])), 3), true (3, 3, 3, 3)) 513s ***** assert (bwunpack (uint32 (zeros (0, 0))), false (0, 0)) 513s ***** assert (bwunpack (uint32 (zeros (0, 0)), 0), false (0, 0)) 513s ***** assert (bwunpack (uint32 (zeros (0, 5)), 0), false (0, 5)) 513s ***** assert (bwunpack (uint32 (zeros (0, 5, 7)), 0), false (0, 5, 7)) 513s ***** assert (bwunpack (uint32 (zeros (1, 0))), false (32, 0)) 513s ***** assert (bwunpack (uint32 (zeros (2, 0, 7))), false (64, 0, 7)) 513s ***** assert (bwunpack (uint32 (zeros (2, 0, 7))), false (64, 0, 7)) 513s ***** assert (bwunpack (uint32 (zeros (2, 0, 7)), 60), false (60, 0, 7)) 513s ***** error 513s bwunpack (uint32 (1), 1042) 513s 15 tests, 15 passed, 0 known failure, 0 skipped 513s [inst/grayslice.m] 513s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/grayslice.m 513s ***** test 513s expected = uint8 ([0 4 5 5 9]); 513s im = [0 0.45 0.5 0.55 1]; 513s assert (grayslice (im), expected) 513s assert (grayslice (im, 10), expected) 513s assert (grayslice (im, uint8 (10)), expected) 513s assert (grayslice (im, [.1 .2 .3 .4 .5 .6 .7 .8 .9]), expected) 513s ***** test 513s im = [0 0.45 0.5 0.55 1]; 513s assert (grayslice (im, 2), uint8 ([0 0 1 1 1])) 513s assert (grayslice (im, 3), uint8 ([0 1 1 1 2])) 513s assert (grayslice (im, 4), uint8 ([0 1 2 2 3])) 513s assert (grayslice (im, [0 0.5 1]), uint8 ([1 1 2 2 3])) 513s assert (grayslice (im, [0.5 1]), uint8 ([0 0 1 1 2])) 513s assert (grayslice (im, [0.6 1]), uint8 ([0 0 0 0 2])) 513s ***** test 513s im = [0 .55 1]; 513s assert (grayslice (im, 9), uint8 ([0 4 8])) 513s assert (grayslice (im, 9.1), uint8 ([0 5 8])) 513s assert (grayslice (im, 10), uint8 ([0 5 9])) 513s ***** assert (grayslice ([0 .5 1], [0 1 .5]), uint8 ([1 2 3])) 513s ***** test 513s ## 0 > N > 1 values are treated as if they are V and N=2 513s im = [0 .5 .55 .7 1]; 513s assert (grayslice (im, .5), uint8 ([0 1 1 1 1])) 513s assert (grayslice (im, .51), uint8 ([0 0 1 1 1])) 513s assert (grayslice (im, .7), uint8 ([0 0 0 1 1])) 513s assert (grayslice (im, 1), uint8 ([0 0 0 0 0])) 513s assert (grayslice (im, 1.2), uint8 ([0 0 0 0 0])) 513s ***** assert (grayslice ([0 .5 .7 1], [0 .5 1 2]), uint8 ([1 2 2 4])) 513s ***** assert (grayslice ([0 .45 .5 .65 .7 1], [.4 .5 .5 .7 .7 1]), 513s uint8 ([0 1 3 3 5 6])) 513s ***** assert (grayslice ([-.5 .1 .8 1.2], [-1 -.4 .05 .6 .9 1.1 2]), 513s uint8 ([1 3 4 7])) 513s ***** assert (grayslice ([0 .5 1], [-1 .5 1 2]), uint8 ([1 2 4])) 513s ***** assert (grayslice ([-2 -1 .5 1], [-1 .5 1]), uint8 ([0 1 2 3])) 513s ***** test 513s sliced = [ 513s repmat(0, [26 1]) 513s repmat(1, [25 1]) 513s repmat(2, [26 1]) 513s repmat(3, [25 1]) 513s repmat(4, [26 1]) 513s repmat(5, [25 1]) 513s repmat(6, [26 1]) 513s repmat(7, [25 1]) 513s repmat(8, [26 1]) 513s repmat(9, [26 1]) 513s ]; 513s sliced = uint8 (sliced(:).'); 513s assert (grayslice (uint8 (0:255)), sliced) 513s ***** assert (grayslice (uint8 (0:255), 255), uint8 ([0:254 254])) 513s ***** assert (class (grayslice (uint8 (0:255), 256)), "double") 513s ***** xtest 513s assert (grayslice (uint8 (0:255), 256), [1:256]) 513s 513s ## While the above fails, this passes and should continue to do so 513s ## since it's the actual formula in the documentation. 513s assert (grayslice (uint8 (0:255), 256), 513s grayslice (uint8 (0:255), (1:255)./256)) 513s !!!!! known failure 513s ASSERT errors for: assert (grayslice (uint8 (0:255), 256),[1:256]) 513s 513s Location | Observed | Expected | Reason 513s (129) 130 129 Abs err 1 exceeds tol 0 by 1 513s (130) 131 130 Abs err 1 exceeds tol 0 by 1 513s (131) 132 131 Abs err 1 exceeds tol 0 by 1 513s (132) 133 132 Abs err 1 exceeds tol 0 by 1 513s (133) 134 133 Abs err 1 exceeds tol 0 by 1 513s (134) 135 134 Abs err 1 exceeds tol 0 by 1 513s (135) 136 135 Abs err 1 exceeds tol 0 by 1 513s (136) 137 136 Abs err 1 exceeds tol 0 by 1 513s (137) 138 137 Abs err 1 exceeds tol 0 by 1 513s (138) 139 138 Abs err 1 exceeds tol 0 by 1 513s (139) 140 139 Abs err 1 exceeds tol 0 by 1 513s (140) 141 140 Abs err 1 exceeds tol 0 by 1 513s (141) 142 141 Abs err 1 exceeds tol 0 by 1 513s (142) 143 142 Abs err 1 exceeds tol 0 by 1 513s (143) 144 143 Abs err 1 exceeds tol 0 by 1 513s (144) 145 144 Abs err 1 exceeds tol 0 by 1 513s (145) 146 145 Abs err 1 exceeds tol 0 by 1 513s (146) 147 146 Abs err 1 exceeds tol 0 by 1 513s (147) 148 147 Abs err 1 exceeds tol 0 by 1 513s (148) 149 148 Abs err 1 exceeds tol 0 by 1 513s (149) 150 149 Abs err 1 exceeds tol 0 by 1 513s (150) 151 150 Abs err 1 exceeds tol 0 by 1 513s (151) 152 151 Abs err 1 exceeds tol 0 by 1 513s (152) 153 152 Abs err 1 exceeds tol 0 by 1 513s (153) 154 153 Abs err 1 exceeds tol 0 by 1 513s (154) 155 154 Abs err 1 exceeds tol 0 by 1 513s (155) 156 155 Abs err 1 exceeds tol 0 by 1 513s (156) 157 156 Abs err 1 exceeds tol 0 by 1 513s (157) 158 157 Abs err 1 exceeds tol 0 by 1 513s (158) 159 158 Abs err 1 exceeds tol 0 by 1 513s (159) 160 159 Abs err 1 exceeds tol 0 by 1 513s (160) 161 160 Abs err 1 exceeds tol 0 by 1 513s (161) 162 161 Abs err 1 exceeds tol 0 by 1 513s (162) 163 162 Abs err 1 exceeds tol 0 by 1 513s (163) 164 163 Abs err 1 exceeds tol 0 by 1 513s (164) 165 164 Abs err 1 exceeds tol 0 by 1 513s (165) 166 165 Abs err 1 exceeds tol 0 by 1 513s (166) 167 166 Abs err 1 exceeds tol 0 by 1 513s (167) 168 167 Abs err 1 exceeds tol 0 by 1 513s (168) 169 168 Abs err 1 exceeds tol 0 by 1 513s (169) 170 169 Abs err 1 exceeds tol 0 by 1 513s (170) 171 170 Abs err 1 exceeds tol 0 by 1 513s (171) 172 171 Abs err 1 exceeds tol 0 by 1 513s (172) 173 172 Abs err 1 exceeds tol 0 by 1 513s (173) 174 173 Abs err 1 exceeds tol 0 by 1 513s (174) 175 174 Abs err 1 exceeds tol 0 by 1 513s (175) 176 175 Abs err 1 exceeds tol 0 by 1 513s (176) 177 176 Abs err 1 exceeds tol 0 by 1 513s (177) 178 177 Abs err 1 exceeds tol 0 by 1 513s (178) 179 178 Abs err 1 exceeds tol 0 by 1 513s (179) 180 179 Abs err 1 exceeds tol 0 by 1 513s (180) 181 180 Abs err 1 exceeds tol 0 by 1 513s (181) 182 181 Abs err 1 exceeds tol 0 by 1 513s (182) 183 182 Abs err 1 exceeds tol 0 by 1 513s (183) 184 183 Abs err 1 exceeds tol 0 by 1 513s (184) 185 184 Abs err 1 exceeds tol 0 by 1 513s (185) 186 185 Abs err 1 exceeds tol 0 by 1 513s (186) 187 186 Abs err 1 exceeds tol 0 by 1 513s (187) 188 187 Abs err 1 exceeds tol 0 by 1 513s (188) 189 188 Abs err 1 exceeds tol 0 by 1 513s (189) 190 189 Abs err 1 exceeds tol 0 by 1 513s (190) 191 190 Abs err 1 exceeds tol 0 by 1 513s (191) 192 191 Abs err 1 exceeds tol 0 by 1 513s (192) 193 192 Abs err 1 exceeds tol 0 by 1 513s (193) 194 193 Abs err 1 exceeds tol 0 by 1 513s (194) 195 194 Abs err 1 exceeds tol 0 by 1 513s (195) 196 195 Abs err 1 exceeds tol 0 by 1 513s (196) 197 196 Abs err 1 exceeds tol 0 by 1 513s (197) 198 197 Abs err 1 exceeds tol 0 by 1 513s (198) 199 198 Abs err 1 exceeds tol 0 by 1 513s (199) 200 199 Abs err 1 exceeds tol 0 by 1 513s (200) 201 200 Abs err 1 exceeds tol 0 by 1 513s (201) 202 201 Abs err 1 exceeds tol 0 by 1 513s (202) 203 202 Abs err 1 exceeds tol 0 by 1 513s (203) 204 203 Abs err 1 exceeds tol 0 by 1 513s (204) 205 204 Abs err 1 exceeds tol 0 by 1 513s (205) 206 205 Abs err 1 exceeds tol 0 by 1 513s (206) 207 206 Abs err 1 exceeds tol 0 by 1 513s (207) 208 207 Abs err 1 exceeds tol 0 by 1 513s (208) 209 208 Abs err 1 exceeds tol 0 by 1 513s (209) 210 209 Abs err 1 exceeds tol 0 by 1 513s (210) 211 210 Abs err 1 exceeds tol 0 by 1 513s (211) 212 211 Abs err 1 exceeds tol 0 by 1 513s (212) 213 212 Abs err 1 exceeds tol 0 by 1 513s (213) 214 213 Abs err 1 exceeds tol 0 by 1 513s (214) 215 214 Abs err 1 exceeds tol 0 by 1 513s (215) 216 215 Abs err 1 exceeds tol 0 by 1 513s (216) 217 216 Abs err 1 exceeds tol 0 by 1 513s (217) 218 217 Abs err 1 exceeds tol 0 by 1 513s (218) 219 218 Abs err 1 exceeds tol 0 by 1 513s (219) 220 219 Abs err 1 exceeds tol 0 by 1 513s (220) 221 220 Abs err 1 exceeds tol 0 by 1 513s (221) 222 221 Abs err 1 exceeds tol 0 by 1 513s (222) 223 222 Abs err 1 exceeds tol 0 by 1 513s (223) 224 223 Abs err 1 exceeds tol 0 by 1 513s (224) 225 224 Abs err 1 exceeds tol 0 by 1 513s (225) 226 225 Abs err 1 exceeds tol 0 by 1 513s (226) 227 226 Abs err 1 exceeds tol 0 by 1 513s (227) 228 227 Abs err 1 exceeds tol 0 by 1 513s (228) 229 228 Abs err 1 exceeds tol 0 by 1 513s (229) 230 229 Abs err 1 exceeds tol 0 by 1 513s (230) 231 230 Abs err 1 exceeds tol 0 by 1 513s (231) 232 231 Abs err 1 exceeds tol 0 by 1 513s (232) 233 232 Abs err 1 exceeds tol 0 by 1 513s (233) 234 233 Abs err 1 exceeds tol 0 by 1 513s (234) 235 234 Abs err 1 exceeds tol 0 by 1 513s (235) 236 235 Abs err 1 exceeds tol 0 by 1 513s (236) 237 236 Abs err 1 exceeds tol 0 by 1 513s (237) 238 237 Abs err 1 exceeds tol 0 by 1 513s (238) 239 238 Abs err 1 exceeds tol 0 by 1 513s (239) 240 239 Abs err 1 exceeds tol 0 by 1 513s (240) 241 240 Abs err 1 exceeds tol 0 by 1 513s (241) 242 241 Abs err 1 exceeds tol 0 by 1 513s (242) 243 242 Abs err 1 exceeds tol 0 by 1 513s (243) 244 243 Abs err 1 exceeds tol 0 by 1 513s (244) 245 244 Abs err 1 exceeds tol 0 by 1 513s (245) 246 245 Abs err 1 exceeds tol 0 by 1 513s (246) 247 246 Abs err 1 exceeds tol 0 by 1 513s (247) 248 247 Abs err 1 exceeds tol 0 by 1 513s (248) 249 248 Abs err 1 exceeds tol 0 by 1 513s (249) 250 249 Abs err 1 exceeds tol 0 by 1 513s (250) 251 250 Abs err 1 exceeds tol 0 by 1 513s (251) 252 251 Abs err 1 exceeds tol 0 by 1 513s (252) 253 252 Abs err 1 exceeds tol 0 by 1 513s (253) 254 253 Abs err 1 exceeds tol 0 by 1 513s (254) 255 254 Abs err 1 exceeds tol 0 by 1 513s (255) 256 255 Abs err 1 exceeds tol 0 by 1 513s ***** test 513s ## Use of threshold in the [0 1] range for images of integer type does 513s ## not really work despite the Matlab documentation. It's Matlab 513s ## documentation that is wrong, see bug #55059 513s 513s assert (grayslice (uint8([0 100 200 255]), [.1 .4 .5]), 513s uint8 ([0 3 3 3])) 513s assert (grayslice (uint8([0 100 200 255]), [100 199 200 210]), 513s uint8 ([0 1 3 4])) 513s 513s ## P (penny) is a 2d image of class double in [1 255] range 513s q = warning ("query", "Octave:data-file-in-path"); 513s warning ("off", "Octave:data-file-in-path"); 513s load ("penny.mat"); 513s warning (q.state, "Octave:data-file-in-path"); 513s assert (grayslice (P), repmat (uint8 (9), size (P))) 513s ***** function gs = test_grayslice_v (I, v) 513s ## This is effectively what grayslice does but slower with a for 513s ## loop internally. 513s gs = zeros (size (I)); 513s for idx = 1:numel (v) 513s gs(I >= v(idx)) = idx; 513s endfor 513s if (numel (v) >= 256) 513s gs = gs +1; 513s else 513s gs = uint8 (gs); 513s endif 513s ***** endfunction 513s ***** test 513s q = warning ("query", "Octave:data-file-in-path"); 513s warning ("off", "Octave:data-file-in-path"); 513s load ("penny.mat"); 513s warning (q.state, "Octave:data-file-in-path"); 513s 513s ## The loaded P in penny.mat is of size 128x128, class double, and 513s ## with values in the [1 255] range 513s penny_uint8 = uint8 (P); 513s penny_double = im2double (penny_uint8); # rescales to [0 1] range] 513s 513s ## default of N = 10 513s expected = test_grayslice_v (penny_uint8, 513s [26 51 77 102 128 153 179 204 230]); 513s assert (grayslice (penny_uint8, 10), expected) 513s assert (grayslice (penny_uint8), expected) 513s 513s expected = test_grayslice_v (penny_double, 513s [.1 .2 .3 .4 .5 .6 .7 .8 .9]); 513s assert (grayslice (penny_double, 10), expected) 513s assert (grayslice (penny_double), expected) 513s ***** test 513s ## For images with more than 2d 513s q = warning ("query", "Octave:data-file-in-path"); 513s warning ("off", "Octave:data-file-in-path"); 513s load ("penny.mat"); 513s warning (q.state, "Octave:data-file-in-path"); 513s penny_double = im2double (uint8 (P)); 513s P_3d = repmat (penny_double, [1 1 3]); 513s P_5d = repmat (penny_double, [1 1 3 2 3]); 513s 513s v = [.3 .5 .7]; 513s expected_2d = test_grayslice_v (penny_double, v); 513s assert (grayslice (P_3d, v), repmat (expected_2d, [1 1 3])) 513s assert (grayslice (P_5d, v), repmat (expected_2d, [1 1 3 2 3])) 513s ***** test 513s q = warning ("query", "Octave:data-file-in-path"); 513s warning ("off", "Octave:data-file-in-path"); 513s load ("penny.mat"); 513s warning (q.state, "Octave:data-file-in-path"); 513s penny_double = uint8 (P); 513s 513s ## Test that change from uint8 to double happens at 256 exactly 513s assert (class (grayslice (penny_double, 255)), "uint8") 513s assert (class (grayslice (penny_double, 256)), "double") 513s 513s ## If returns in class double, it's +1. 513s v = [10 150 200]; 513s v_long = [v 256:600]; 513s assert (double (grayslice (penny_double, v)) +1, 513s grayslice (penny_double, v_long)) 513s ***** test 513s ## If there's a vector for floating point and goes outside the 513s ## range, it uses the last index of the vector. 513s q = warning ("query", "Octave:data-file-in-path"); 513s warning ("off", "Octave:data-file-in-path"); 513s load ("penny.mat"); 513s warning (q.state, "Octave:data-file-in-path"); 513s penny_double = im2double (uint8 (P)); 513s v = [.3 .5 .7 2:10]; 513s idx_1 = find (penny_double == 1); 513s assert (grayslice (penny_double, v)(idx_1), uint8 ([12; 12])) 513s ***** error x = grayslice ([1 2; 3 4], 0) 513s ***** error x = grayslice ([1 2; 3 4], -1) 513s ***** error x = grayslice ([1 2; 3 4], "foo") 513s ***** test 513s ## test output values for all input classes 513s 513s klasse = "uint8"; 513s im = cast ([intmin(klasse): intmax(klasse)], klasse); 513s erg05 = grayslice (im, 0.5); 513s first1_erg05 = im(find (erg05)(1)); 513s assert (first1_erg05, cast (1, klasse)); 513s erg5 = grayslice (im, 5); 513s first1_erg5 = im(find (erg5)(1)); 513s assert (first1_erg5, cast (51, klasse)); 513s ergint5 = grayslice (im, uint8 (5)); 513s first1_ergint5 = im(find (ergint5)(1)); 513s assert (first1_ergint5, cast (51, klasse)); 513s 513s klasse = "uint16"; 513s im = cast ([intmin(klasse): intmax(klasse)], klasse); 513s erg05 = grayslice (im, 0.5); 513s first1_erg05 = im(find (erg05)(1)); 513s assert (first1_erg05, cast (1, klasse)); 513s erg5 = grayslice (im, 5); 513s first1_erg5 = im(find (erg5)(1)); 513s assert (first1_erg5, cast (13107, klasse)); 513s ergint5 = grayslice (im, uint8 (5)); 513s first1_ergint5 = im(find (ergint5)(1)); 513s assert (first1_ergint5, cast (13107, klasse)); 513s 513s klasse = "int16"; 513s im = cast ([intmin(klasse): intmax(klasse)], klasse); 513s erg05 = grayslice (im, 0.5); 513s first1_erg05 = im(find (erg05)(1)); 513s assert (first1_erg05, cast (-32767, klasse)); 513s erg5 = grayslice (im, 5); 513s first1_erg5 = im(find (erg5)(1)); 513s assert (first1_erg5, cast (-19661, klasse)); 513s ergint5 = grayslice (im, uint8 (5)); 513s first1_ergint5 = im(find (ergint5)(1)); 513s assert (first1_ergint5, cast (-19661, klasse)); 513s 513s klasse = "single"; 513s im = cast ([0:0.001:1], klasse); 513s erg05 = grayslice (im, 0.5); 513s first1_erg05 = im(find (erg05)(1)); 513s assert (first1_erg05, cast (0.5, klasse)); 513s erg5 = grayslice (im, 5); 513s first1_erg5 = im(find (erg5)(1)); 513s assert (first1_erg5, cast (0.2, klasse)); 513s ergint5 = grayslice (im, uint8 (5)); 513s first1_ergint5 = im(find (ergint5)(1)); 513s assert (first1_ergint5, cast (0.2, klasse)); 513s 513s klasse = "double"; 513s im = cast ([0:0.001:1], klasse); 513s erg05 = grayslice (im, 0.5); 513s first1_erg05 = im(find (erg05)(1)); 513s assert (first1_erg05, cast (0.5, klasse)); 513s erg5 = grayslice (im, 5); 513s first1_erg5 = im(find (erg5)(1)); 513s assert (first1_erg5, cast (0.2, klasse)); 513s ergint5 = grayslice (im, uint8 (5)); 513s first1_ergint5 = im(find (ergint5)(1)); 513s assert (first1_ergint5, cast (0.2, klasse)); 513s 23 tests, 22 passed, 1 known failure, 0 skipped 513s [inst/affine3d.m] 513s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/affine3d.m 513s ***** test 513s Sx = 1.2; 513s Sy = 1.6; 513s Sz = 2.4; 513s A = [Sx 0 0 0; 0 Sy 0 0; 0 0 Sz 0; 0 0 0 1]; 513s tform = affine3d (A); 513s [X, Y, Z] = transformPointsForward (tform, 5, 10, 3); 513s assert ([X Y Z], [6 16 7.2], 5*eps) 513s [U, V, W] = transformPointsInverse (tform, X, Y, Z); 513s assert ([U V W], [5 10 3], eps) 513s assert (! isRigid (tform)) 513s assert (! isTranslation (tform)) 513s assert (! isSimilarity (tform)) 513s ***** test 513s A = [3 1 2 0; 4 5 8 0; 6 2 1 0; 0 0 0 1]; 513s tform = affine3d (A); 513s [X, Y, Z] = transformPointsForward (tform, 2, 3, 5); 513s assert (X, 48, eps) 513s assert (Y, 27, eps) 513s assert (Z, 33, eps) 513s [U, V, W] = transformPointsInverse (tform, X, Y, Z); 513s assert (U, 2, 50*eps) 513s assert (V, 3, 50*eps) 513s assert (W, 5, 50*eps) 513s assert (! isRigid (tform)) 513s assert (! isTranslation (tform)) 513s assert (! isSimilarity (tform)) 513s ***** test 513s A = [1 0 0 0; 0 1 0 0; 0 0 1 0; 5 10 1 1]; 513s tform = affine3d (A); 513s X = transformPointsForward (tform, [1 2 3; 4 5 6; 7 8 9]); 513s assert (round (X), [6, 12, 4; 9, 15, 7; 12, 18, 10]) 513s U = transformPointsInverse (tform, X); 513s assert (round (U), [1 2 3; 4 5 6; 7 8 9]) 513s assert (isRigid (tform)) 513s assert (isTranslation (tform)) 513s assert (isSimilarity (tform)) 513s ***** test 513s Sx = 1.2; 513s Sy = 1.6; 513s Sz = 2.4; 513s A = [Sx 0 0 0; 0 Sy 0 0; 0 0 Sz 0; 0 0 0 1]; 513s tform = affine3d (A); 513s [xlim, ylim, zlim] = outputLimits (tform, [1 128], [1 128], [1 27]); 513s assert (xlim, [ 1.2000 153.6000],1e-8) 513s assert (ylim, [1.6000 204.8000], 1e-8) 513s assert (zlim, [2.4000 64.8000], 1e-8) 513s ***** error affine3d (1, 2) 513s ***** error outputLimits (affine2d()) 513s ***** test 513s a = 23; 513s M = [cosd(a) 0 sind(a) 0; 513s 0 1 0 0; 513s -sind(a) 0 cosd(a) 0; 513s 0 0 0 1]; 513s tform = affine3d (M); 513s tform2 = invert (tform); 513s assert (tform.T * tform2.T, diag([1 1 1 1]), eps); 513s ***** test 513s tform = affine3d; 513s assert (tform.T, eye (4)) 513s assert (tform.Dimensionality, 3) 513s 8 tests, 8 passed, 0 known failure, 0 skipped 513s [inst/labelmatrix.m] 513s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/labelmatrix.m 513s ***** test 513s cc = struct (); 513s cc.Connectivity = 8; 513s cc.ImageSize = [7 7]; 513s cc.NumObjects = 4; 513s cc.PixelIdxList = {[1;2], [5;7;12;13;14], [22;23], [26;32;33;36;37;38]}; 513s 513s l = uint8 ([ 513s 1 0 0 3 0 4 0 513s 1 0 0 3 0 4 0 513s 0 0 0 0 0 4 0 513s 0 0 0 0 4 0 0 513s 2 2 0 4 4 0 0 513s 0 2 0 0 0 0 0 513s 2 2 0 0 0 0 0 513s ]); 513s assert (labelmatrix (cc), l) 513s 1 test, 1 passed, 0 known failure, 0 skipped 513s [inst/impixel.m] 513s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/impixel.m 513s ***** shared img2d, img3d 513s img2d = uint8 (magic (10)); 513s img3d(:,:,1) = img2d; 513s img3d(:,:,2) = img2d + 1; 513s img3d(:,:,3) = img2d + 2; 513s img3d = uint8 (img3d); 513s 513s ***** assert (impixel (img2d, 2, 2), single ([80 80 80])); 513s ***** assert (impixel (img2d, -2, 2), single ([NA NA NA])); 513s 513s ***** assert (impixel (img2d, [1 10], [1 10]), single ([92 92 92; 59 59 59])); 513s ***** assert (impixel (img3d, [1 10], [1 10]), single ([92 93 94; 59 60 61])); 513s ***** assert (impixel (double (img2d), [1 10], [1 10]), [92 92 92; 59 59 59]); 513s 513s ***** assert (impixel ([1 10], [1 10], img2d, [1 10], [1 10]), single ([92 92 92; 59 59 59])); 513s ***** assert (impixel ([3 12], [-4 12], img2d, [1 10], [1 10]), single ([NA NA NA; 44 44 44])); 513s ***** assert (impixel ([3 5], [-4 3], img2d, [1 10], [1 10]), single ([NA NA NA; NA NA NA])); 513s 513s ## the following returns double because it's an indexed image 513s ***** assert (impixel ([3 12], [-4 12], img2d, gray (100), [1 10], [1 10]), [NA NA NA; 4/9 4/9 4/9]); 513s 9 tests, 9 passed, 0 known failure, 0 skipped 513s [inst/lab2xyz.m] 513s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/lab2xyz.m 513s ***** assert (lab2xyz ([0, 0, 0]), [0 0 0], 1e-3) 513s ***** assert (lab2xyz ([53.24, 80.09, 67.20]), [0.4125, 0.2127, 0.0193], 1e-3) 513s ***** assert (lab2xyz ([97.14, -21.55, 94.48]), [0.7700, 0.9278, 0.1385], 1e-3) 513s ***** assert (lab2xyz ([87.74, -86.18, 83.18]), [0.3576, 0.7152, 0.1192], 1e-3) 513s ***** assert (lab2xyz ([91.11, -48.09, -14.13]), [0.5380, 0.7873, 1.0694], 1e-3) 513s ***** assert (lab2xyz ([32.30, 79.19, -107.86]), [0.1804, 0.07217, 0.9502], 1e-3) 513s ***** assert (lab2xyz ([60.32, 98.24, -60.83]), [0.5929, 0.28484, 0.9696], 1e-3) 513s ***** assert (lab2xyz ([100, 0.00, 0.00]), [0.9505, 1.0000, 1.0888], 1e-3) 513s ***** assert (lab2xyz ([53.39, 0.00, 0.00]), [0.2034, 0.2140, 0.2330], 1e-3) 513s ***** assert (lab2xyz ([39.77, 64.51, 54.13]), [0.2155, 0.1111, 0.0101], 1e-3) 513s ***** assert (lab2xyz ([25.42, 47.91, 37.91]), [0.0883, 0.0455, 0.0041], 1e-3) 513s ***** assert (lab2xyz ([9.66, 29.68, 15.24]), [0.02094, 0.0108, 0.00098], 1e-3) 513s ***** assert (lab2xyz ([68.11, 48.39, 22.83]), [0.5276, 0.3812, 0.2482], 1e-3) 513s ***** assert (lab2xyz ([150 130 130]), [4.596, 2.931, 0.519], 1e-3) 513s ***** test 513s lab_map = rand (64, 3); 513s lab_map(:,1) = lab_map(:,1) .* 100; 513s lab_map(:,2) = lab_map(:,2) .* 254 - 127; 513s lab_map(:,3) = lab_map(:,3) .* 254 - 127; 513s assert (xyz2lab (lab2xyz (lab_map)), lab_map, 1e-5); 513s ***** test 513s lab_img = rand (64, 64, 3); 513s lab_img(:,:,1) = lab_img(:,:,1) .* 100; 513s lab_img(:,:,2) = lab_img(:,:,2) .* 254 - 127; 513s lab_img(:,:,3) = lab_img(:,:,3) .* 254 - 127; 513s assert (xyz2lab (lab2xyz (lab_img)), lab_img, 1e-5); 513s ***** assert (lab2xyz (sparse ([0 0 0])), [0 0 0], 1e-3) 513s ***** assert (lab2xyz (sparse ([100, 0.00, 0.00])), [0.9505, 1.0000, 1.0888], 1e-3) 513s ***** assert (class (lab2xyz (single([50 50 50]))), 'single') 513s ***** error lab2xyz () 514s ***** error lab2xyz (1,2) 514s ***** error lab2xyz ({1}) 514s ***** error lab2xyz (ones (2,2)) 514s ***** test 514s lab = rand (16, 16, 3, 5); 514s lab(:,:,1,:) = lab(:,:,1,:) .* 100; 514s lab(:,:,2,:) = lab(:,:,2,:) .* 254 - 127; 514s lab(:,:,3,:) = lab(:,:,3,:) .* 254 - 127; 514s xyz = zeros (size (lab)); 514s for i = 1:5 514s xyz(:,:,:,i) = lab2xyz (lab(:,:,:,i)); 514s endfor 514s assert (lab2xyz (lab), xyz) 514s 24 tests, 24 passed, 0 known failure, 0 skipped 514s [inst/regionprops.m] 514s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/regionprops.m 514s ***** shared bw2d, gray2d, bw2d_over_bb, bw2d_insides 514s bw2d = logical ([ 514s 0 1 0 1 1 0 514s 0 1 1 0 1 1 514s 0 1 0 0 0 0 514s 0 0 0 1 1 1 514s 0 0 1 1 0 1]); 514s 514s gray2d = [ 514s 2 4 0 7 5 2 514s 3 0 4 9 3 7 514s 0 5 3 4 8 1 514s 9 2 0 5 8 6 514s 8 9 7 2 2 5]; 514s 514s ## For testing overlapping bounding boxes 514s bw2d_over_bb = logical ([ 514s 0 1 1 1 0 1 1 514s 1 1 0 0 0 0 1 514s 1 0 0 1 1 0 1 514s 1 0 0 1 1 0 0 514s 0 0 0 1 1 1 1]); 514s 514s ## For testing when there's regions inside regions 514s bw2d_insides = logical ([ 514s 0 0 0 0 0 0 0 0 514s 0 1 1 1 1 1 1 0 514s 0 1 0 0 0 0 1 0 514s 0 1 0 1 1 0 1 0 514s 0 1 0 1 1 0 1 0 514s 0 1 0 0 0 0 1 0 514s 0 1 1 1 1 1 1 0 514s 0 0 0 0 0 0 0 0]); 514s ***** function c = get_2d_centroid_for (idx) 514s subs = ind2sub ([5 6], idx); 514s m = false ([5 6]); 514s m(idx) = true; 514s y = sum ((1:5)' .* sum (m, 2) /sum (m(:))); 514s x = sum ((1:6) .* sum (m, 1) /sum (m(:))); 514s c = [x y]; 514s ***** endfunction 514s ***** assert (regionprops (bw2d, "Area"), struct ("Area", {8; 6})) 514s ***** assert (regionprops (double (bw2d), "Area"), struct ("Area", {14})) 514s ***** assert (regionprops (bwlabel (bw2d, 4), "Area"), struct ("Area", {4; 6; 4})) 514s ***** assert (regionprops (bw2d, "PixelIdxList"), 514s struct ("PixelIdxList", {[6; 7; 12; 8; 16; 21; 22; 27] 514s [15; 19; 20; 24; 29; 30]})) 514s ***** assert (regionprops (bwlabel (bw2d, 4), "PixelIdxList"), 514s struct ("PixelIdxList", {[6; 7; 8; 12] 514s [15; 19; 20; 24; 29; 30] 514s [16; 21; 22; 27]})) 514s ***** assert (regionprops (bw2d, "PixelList"), 514s struct ("PixelList", {[2 1; 2 2; 3 2; 2 3; 4 1; 5 1; 5 2; 6 2] 514s [3 5; 4 4; 4 5; 5 4; 6 4; 6 5]})) 514s ***** assert (regionprops (bwlabel (bw2d, 4), "PixelList"), 514s struct ("PixelList", {[2 1; 2 2; 2 3; 3 2] 514s [3 5; 4 4; 4 5; 5 4; 6 4; 6 5] 514s [4 1; 5 1; 5 2; 6 2]})) 514s ***** assert (regionprops (bw2d, gray2d, "PixelValues"), 514s struct ("PixelValues", {[4; 0; 4; 5; 7; 5; 3; 7] 514s [7; 5; 2; 8; 6; 5]})) 514s ***** assert (regionprops (bw2d, gray2d, "MaxIntensity"), 514s struct ("MaxIntensity", {7; 8})) 514s ***** assert (regionprops (bw2d, gray2d, "MinIntensity"), 514s struct ("MinIntensity", {0; 2})) 514s ***** assert (regionprops (bw2d, "BoundingBox"), 514s struct ("BoundingBox", {[1.5 0.5 5 3]; [2.5 3.5 4 2]})) 514s ***** assert (regionprops (bw2d, "Centroid"), 514s struct ("Centroid", {get_2d_centroid_for([6 7 8 12 16 21 22 27]) 514s get_2d_centroid_for([15 19 20 24 29 30])}), 514s 5 * eps) 514s ***** test 514s props = struct ("Area", {8; 6}, 514s "Centroid", {get_2d_centroid_for([6 7 8 12 16 21 22 27]) 514s get_2d_centroid_for([15 19 20 24 29 30])}, 514s "BoundingBox", {[1.5 0.5 5 3]; [2.5 3.5 4 2]}); 514s assert (regionprops (bw2d, "basic"), props, 5 * eps) 514s assert (regionprops (bwconncomp (bw2d, 8), "basic"), props, 5 * eps) 514s assert (regionprops (bwlabeln (bw2d, 8), "basic"), props, 5 * eps) 514s ***** test 514s props = struct ("Area", {4; 6; 4}, 514s "Centroid", {get_2d_centroid_for([6 7 8 12]) 514s get_2d_centroid_for([15 19 20 24 29 30]) 514s get_2d_centroid_for([16 21 22 27])}, 514s "BoundingBox", {[1.5 0.5 2 3]; [2.5 3.5 4 2]; [3.5 0.5 3 2]}); 514s assert (regionprops (bwconncomp (bw2d, 4), "basic"), props, 5 * eps) 514s assert (regionprops (bwlabeln (bw2d, 4), "basic"), props, 5 * eps) 514s ***** assert (regionprops (double (bw2d), "basic"), 514s struct ("Area", 14, 514s "Centroid", get_2d_centroid_for (find (bw2d)), 514s "BoundingBox", [1.5 0.5 5 5]), eps*1000) 514s ***** assert (regionprops ([0 0 1], "Centroid").Centroid, [3 1]) 514s ***** assert (regionprops ([0 0 1; 0 0 0], "Centroid").Centroid, [3 1]) 514s ***** assert (regionprops ([0 1 1], "Centroid").Centroid, [2.5 1]) 514s ***** assert (regionprops ([0 1 1; 0 0 0], "Centroid").Centroid, [2.5 1]) 514s ***** test 514s a = zeros (2, 3, 3); 514s a(:, :, 1) = [0 1 0; 0 0 0]; 514s a(:, :, 3) = a(:, :, 1); 514s c = regionprops (a, "centroid"); 514s assert (c.Centroid, [2 1 2]) 514s ***** test 514s d1=2; d2=4; d3=6; 514s a = ones (d1, d2, d3); 514s c = regionprops (a, "centroid"); 514s assert (c.Centroid, [mean(1:d2), mean(1:d1), mean(1:d3)], eps*1000) 514s ***** test 514s a = [0 0 2 2; 3 3 0 0; 0 1 0 1]; 514s c = regionprops (a, "centroid"); 514s assert (c(1).Centroid, [3 3]) 514s assert (c(2).Centroid, [3.5 1]) 514s assert (c(3).Centroid, [1.5 2]) 514s ***** test 514s ***** assert (regionprops (bw2d, gray2d, "WeightedCentroid"), 514s struct ("WeightedCentroid", 514s {sum([2 1; 2 2; 3 2; 2 3; 4 1; 5 1; 5 2; 6 2] 514s .* ([4; 0; 4; 5; 7; 5; 3; 7] / 35)) 514s sum([3 5; 4 4; 4 5; 5 4; 6 4; 6 5] 514s .* ([7; 5; 2; 8; 6; 5] / 33))}), 5 * eps) 514s ***** test 514s img = zeros (3, 9); 514s img(2, 1:9) = 0:0.1:0.8; 514s bw = im2bw (img, 0.5); 514s props = regionprops (bw, img, "WeightedCentroid"); 514s ix = 7:9; 514s x = sum (img(2,ix) .* (ix)) / sum (img(2,ix)); 514s assert (props(1).WeightedCentroid(1), x, 10*eps) 514s assert (props(1).WeightedCentroid(2), 2, 10*eps) 514s ***** assert (regionprops (bw2d, gray2d, "MeanIntensity"), 514s struct ("MeanIntensity", {mean([4 0 5 4 7 5 3 7]) 514s mean([7 5 2 8 6 5])})) 514s ***** assert (regionprops (bwlabel (bw2d, 4), gray2d, "MeanIntensity"), 514s struct ("MeanIntensity", {mean([4 0 5 4]) 514s mean([7 5 2 8 6 5]) 514s mean([7 5 3 7])})) 514s ***** assert (regionprops (bw2d, "SubarrayIdx"), 514s struct ("SubarrayIdx", {{[1 2 3], [2 3 4 5 6]} 514s {[4 5], [3 4 5 6]}})) 514s ***** assert (regionprops (bwlabel (bw2d, 4), "SubarrayIdx"), 514s struct ("SubarrayIdx", {{[1 2 3], [2 3]} 514s {[4 5], [3 4 5 6]} 514s {[1 2], [4 5 6]}})) 514s ***** test 514s out = struct ("Image", {logical([1 0 1 1 0; 1 1 0 1 1; 1 0 0 0 0]) 514s logical([0 1 1 1; 1 1 0 1])}); 514s assert (regionprops (bw2d, "Image"), out) 514s assert (regionprops (bw2d, gray2d, "Image"), out) 514s assert (regionprops (bwlabel (bw2d), "Image"), out) 514s ***** assert (regionprops (bwlabel (bw2d, 4), "Image"), 514s struct ("Image", {logical([1 0; 1 1; 1 0]) 514s logical([0 1 1 1; 1 1 0 1]) 514s logical([1 1 0; 0 1 1])})) 514s ***** test 514s out = struct ("Image", {logical([0 1 1 1; 1 1 0 0; 1 0 0 0; 1 0 0 0]) 514s logical([1 1 0 0; 1 1 0 0; 1 1 1 1]) 514s logical([1 1; 0 1; 0 1])}); 514s assert (regionprops (bw2d_over_bb, "Image"), out) 514s assert (regionprops (bwlabel (bw2d_over_bb), "Image"), out) 514s ***** test 514s out = struct ("Image", {logical([1 1 1 1 1 1 514s 1 0 0 0 0 1 514s 1 0 0 0 0 1 514s 1 0 0 0 0 1 514s 1 0 0 0 0 1 514s 1 1 1 1 1 1]) 514s logical([1 1; 1 1])}); 514s assert (regionprops (bw2d_insides, "Image"), out) 514s assert (regionprops (bwlabel (bw2d_insides), "Image"), out) 514s ***** test 514s l = uint8 ([ 514s 0 0 0 0 0 0 514s 0 1 1 1 1 0 514s 0 1 2 2 1 0 514s 0 1 2 2 1 0 514s 0 1 1 1 1 0 514s 0 0 0 0 0 0 514s ]); 514s assert (regionprops (l, "EulerNumber"), 514s struct ("EulerNumber", {0; 1})) 514s 514s l = uint8 ([ 514s 0 0 0 0 0 0 0 514s 0 1 1 1 1 1 0 514s 0 1 2 2 2 1 0 514s 0 1 2 3 2 1 0 514s 0 1 2 2 2 1 0 514s 0 1 1 1 1 1 0 514s 0 0 0 0 0 0 0 514s ]); 514s assert (regionprops (l, "EulerNumber"), 514s struct ("EulerNumber", {0; 0; 1})) 514s ***** test 514s l = uint8 ([ 514s 0 0 0 0 0 0 0 514s 0 1 1 1 1 1 0 514s 0 1 0 0 0 1 0 514s 0 1 0 1 0 1 0 514s 0 1 0 0 0 1 0 514s 0 1 1 1 1 1 0 514s 0 0 0 0 0 0 0 514s ]); 514s assert (regionprops (l, "EulerNumber"), 514s struct ("EulerNumber", 1)) 514s ***** test 514s l = uint8 ([ 514s 1 1 1 1 1 1 1 514s 1 1 2 1 2 2 1 514s 1 2 1 2 1 2 1 514s 1 1 2 1 2 1 1 514s 1 2 1 2 1 2 1 514s 1 2 2 1 2 1 1 514s 1 1 1 1 1 1 1 514s ]); 514s assert (regionprops (l, "EulerNumber"), 514s struct ("EulerNumber", {-9; -4})) 514s ***** test 514s l = uint8 ([ 514s 1 1 1 1 1 1 1 514s 1 1 4 1 5 5 1 514s 1 3 1 4 1 5 1 514s 1 1 3 1 4 1 1 514s 1 2 1 3 1 4 1 514s 1 2 2 1 3 1 1 514s 1 1 1 1 1 1 1 514s ]); 514s assert (regionprops (l, "EulerNumber"), 514s struct ("EulerNumber", {-9; 1; 1; 1; 1})) 514s ***** test 514s l = uint8 ([ 514s 1 1 1 1 1 1 1 514s 0 1 2 1 2 2 1 514s 1 2 1 2 1 2 1 514s 1 1 2 1 2 1 1 514s 1 2 1 2 1 2 1 514s 1 2 2 1 2 1 1 514s 1 1 1 1 1 1 1 514s ]); 514s filled = { 514s logical([ 514s 1 1 1 1 1 1 1 514s 0 1 1 1 1 1 1 514s 1 1 1 1 1 1 1 514s 1 1 1 1 1 1 1 514s 1 1 1 1 1 1 1 514s 1 1 1 1 1 1 1 514s 1 1 1 1 1 1 1 514s ]); 514s logical([ 514s 0 1 0 1 1 514s 1 1 1 1 1 514s 0 1 1 1 0 514s 1 1 1 1 1 514s 1 1 0 1 0 514s ]); 514s }; 514s assert (regionprops (l, {"FilledImage", "FilledArea"}), 514s struct ("FilledImage", filled, "FilledArea", {48; 19})) 514s ***** test 514s l = uint8 ([ 514s 0 0 0 0 0 0 0 514s 0 1 0 1 0 1 0 514s 0 1 0 1 0 1 0 514s 0 0 0 0 0 0 0 514s ]); 514s filled = logical ([ 514s 1 0 1 0 1 514s 1 0 1 0 1 514s ]); 514s assert (regionprops (l, {"FilledImage", "FilledArea"}), 514s struct ("FilledImage", filled, "FilledArea", 6)) 514s 514s l = uint8 ([ 514s 2 2 2 2 2 2 2 514s 2 1 2 1 2 1 2 514s 2 1 2 1 2 1 2 514s 2 2 2 2 2 2 2 514s ]); 514s filled = { 514s logical([ 514s 1 0 1 0 1 514s 1 0 1 0 1 514s ]); 514s true(4, 7) 514s }; 514s assert (regionprops (l, {"FilledImage", "FilledArea"}), 514s struct ("FilledImage", filled, "FilledArea", {6; 28})) 514s ***** test 514s l = uint8 ([ 514s 0 0 0 0 0 0 0 514s 0 1 1 1 1 1 0 514s 0 1 2 2 2 1 0 514s 0 1 2 3 2 1 0 514s 0 1 2 2 2 1 0 514s 0 1 1 1 1 1 0 514s 0 0 0 0 0 0 0 514s ]); 514s filled = {true(5, 5); true(3, 3); true}; 514s assert (regionprops (l, {"FilledImage", "FilledArea"}), 514s struct ("FilledImage", filled, "FilledArea", {25; 9; 1})) 514s ***** test 514s l = uint8 ([ 514s 1 1 1 2 0 0 514s 1 0 2 1 2 0 514s 1 2 0 1 0 2 514s 1 2 1 1 0 2 514s 0 1 2 2 2 2 514s ]); 514s filled = { 514s logical([ 514s 1 1 1 0 514s 1 1 1 1 514s 1 1 1 1 514s 1 1 1 1 514s 0 1 0 0 514s ]); 514s logical([ 514s 0 0 1 0 0 514s 0 1 1 1 0 514s 1 1 1 1 1 514s 1 1 1 1 1 514s 0 1 1 1 1 514s ]) 514s }; 514s assert (regionprops (l, {"FilledImage", "FilledArea"}), 514s struct ("FilledImage", filled, "FilledArea", {16; 18})) 514s ***** test 514s bw = false (5, 5, 5); 514s bw(2:4, 2:4, [1 5]) = true; 514s bw(2:4, [1 5], 2:4) = true; 514s bw([1 5], 2:4, 2:4) = true; 514s filled = bw; 514s filled(2:4, 2:4, 2:4) = true; 514s assert (regionprops (bw, {"FilledImage", "FilledArea"}), 514s struct ("FilledImage", filled, "FilledArea", 81)) 514s ***** test 514s l = uint8 ([ 514s 1 1 1 2 0 0 514s 1 0 2 1 2 0 514s 1 2 0 1 0 2 514s 1 2 1 1 0 2 514s 0 1 2 2 2 2 514s ]); 514s assert (regionprops (l, {"Extent"}), struct ("Extent", {0.55; 0.44})) 514s ***** test 514s bw = logical ([0 0 0; 0 1 0; 0 0 0]); 514s assert (regionprops (bw, {"MinorAxisLength", "MajorAxisLength", ... 514s "Eccentricity", "Orientation"}), 514s struct ("MajorAxisLength", 4 .* sqrt (1/12), 514s "MinorAxisLength", 4 .* sqrt (1/12), 514s "Eccentricity", 0, 514s "Orientation", 0)) 514s ***** test 514s a = eye (4); 514s t = regionprops (a, "majoraxislength"); 514s assert (t.MajorAxisLength, 6.4291, 1e-3); 514s t = regionprops (a, "minoraxislength"); 514s assert(t.MinorAxisLength, 1.1547 , 1e-3); 514s t = regionprops (a, "eccentricity"); 514s assert (t.Eccentricity, 0.98374 , 1e-3); 514s t = regionprops (a, "orientation"); 514s assert (t.Orientation, -45); 514s t = regionprops (a, "equivdiameter"); 514s assert (t.EquivDiameter, 2.2568, 1e-3); 514s ***** test 514s b = ones (5); 514s t = regionprops (b, "majoraxislength"); 514s assert (t.MajorAxisLength, 5.7735 , 1e-3); 514s t = regionprops (b, "minoraxislength"); 514s assert (t.MinorAxisLength, 5.7735 , 1e-3); 514s t = regionprops (b, "eccentricity"); 514s assert (t.Eccentricity, 0); 514s t = regionprops (b, "orientation"); 514s assert (t.Orientation, 0); 514s t = regionprops (b, "equivdiameter"); 514s assert (t.EquivDiameter, 5.6419, 1e-3); 514s ***** test 514s c = [0 0 1; 0 1 1; 1 1 0]; 514s t = regionprops (c, "minoraxislength"); 514s assert (t.MinorAxisLength, 1.8037 , 1e-3); 514s t = regionprops (c, "majoraxislength"); 514s assert (t.MajorAxisLength, 4.1633 , 1e-3); 514s t = regionprops (c, "eccentricity"); 514s assert (t.Eccentricity, 0.90128 , 1e-3); 514s t = regionprops (c, "orientation"); 514s assert (t.Orientation, 45); 514s t = regionprops (c, "equivdiameter"); 514s assert (t.EquivDiameter, 2.5231, 1e-3); 514s ***** test 514s bw = logical ([0 0 0 0; 0 1 1 0; 0 0 0 0]); 514s props = regionprops (bw, "Orientation"); 514s assert ([props.Orientation], 0, 0) 514s 514s props = regionprops (bw', "Orientation"); 514s assert ([props.Orientation], 90, 0) 514s 514s bw = logical ([0 0 0 0; 0 1 1 0; 0 1 1 0; 0 0 0 0]); 514s props = regionprops (bw, "Orientation"); 514s assert ([props.Orientation], 0, 0) 514s 514s bw = logical ([1 1 0 0 0 ; 0 0 1 1 0 ; 0 0 0 0 0; 0 0 0 0 0]); 514s props = regionprops (bw, "Orientation"); 514s assert ([props.Orientation], -22.5, eps (22.5)) 514s 514s bw = logical ([ 514s 1 1 0 0 1 514s 0 0 0 0 1 514s 0 0 0 0 0 514s 0 0 1 1 0 514s 1 0 1 1 0 514s 1 0 0 0 0 514s 0 1 0 0 0 514s 0 1 0 0 0]); 514s props = regionprops (bw, "Orientation"); 514s assert ([props.Orientation], [0 -67.5 0 90]) 514s ***** test 514s f = [0 0 0 0; 1 1 1 1; 0 1 1 1; 0 0 0 0]; 514s t = regionprops (f, "Extrema"); 514s 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]; 514s assert (t.Extrema, shouldbe, eps); 514s ***** test 514s bw = false (5); 514s bw([8 12 13 14 18]) = true; 514s extrema = [2 1; 3 1; 4 2; 4 3; 3 4; 2 4; 1 3; 1 2] + 0.5; 514s assert (regionprops (bw, "extrema"), struct ("Extrema", extrema)) 514s ***** test 514s ext1 = [1 0; 5 0; 6 1; 6 2; 2 3; 1 3; 1 3; 1 0] + 0.5; 514s ext2 = [3 3; 6 3; 6 3; 6 5; 6 5; 2 5; 2 5; 2 4] + 0.5; 514s assert (regionprops (bw2d, "extrema"), struct ("Extrema", {ext1; ext2})) 514s ***** assert (regionprops (bw2d, "equivDiameter"), 514s struct ("EquivDiameter", {sqrt(4*8/pi); sqrt(4*6/pi)})) 514s ***** assert (regionprops (bw2d_over_bb, "equivDiameter"), 514s struct ("EquivDiameter", {sqrt(4*7/pi); sqrt(4*8/pi); sqrt(4*4/pi)})) 514s ***** assert (regionprops (bw2d_insides, "equivDiameter"), 514s struct ("EquivDiameter", {sqrt(4*20/pi); sqrt(4*4/pi)})) 514s ***** test 514s I = zeros (40); 514s disk = fspecial ("disk",10); 514s disk = disk ./ max (disk(:)); 514s I(10:30, 10:30) = disk; 514s bw = im2bw (I, 0.5); 514s props = regionprops (bw, "PerimeterOld"); 514s assert (props.PerimeterOld, 10*4 + (sqrt (2) * 4)*4, eps*100) 514s props = regionprops (bw, "Perimeter"); 514s assert (props.Perimeter, 59.876) 514s 514s props = regionprops (bwconncomp (bw), "PerimeterOld"); 514s assert (props.PerimeterOld, 10*4 + (sqrt (2) * 4)*4, eps*100) 514s props = regionprops (bwconncomp (bw), "Perimeter"); 514s assert (props.Perimeter, 59.876) 514s ***** assert (regionprops (bw2d, "PerimeterOld"), 514s struct ("PerimeterOld", {(sqrt (2)*6 + 4); (sqrt (2)*3 + 4)}), eps*10) 514s ***** assert (regionprops (bw2d, "Perimeter"), 514s struct ("Perimeter", {11.81; 7.683})) 514s ***** assert (regionprops (bw2d_insides, "PerimeterOld"), 514s struct ("PerimeterOld", {20; 4})) 514s ***** assert (regionprops (bw2d_insides, "Perimeter"), 514s struct ("Perimeter", {19.236; 3.556})) 514s ***** assert (regionprops (bwconncomp (bw2d_insides), "PerimeterOld"), 514s struct ("PerimeterOld", {20; 4})) 514s ***** assert (regionprops (bwconncomp (bw2d_insides), "Perimeter"), 514s struct ("Perimeter", {19.236; 3.556})) 514s ***** test 514s BW = false (5); 514s BW(2:4, 2:4) = true; # region with simple shape 514s 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]; 514s cimage_test = true(3); 514s carea_test = 9; 514s csolid_test = 1; 514s props = regionprops (BW, {'ConvexHull', 'ConvexImage', 'ConvexArea', 'Solidity'}); 514s hull = props.ConvexHull; 514s # test only for existence of the correct corner points 514s # because Matlab returns more points (than necessary) 514s # (The correct shape of the ConvexHull results will only 514s # be tested indirectly via the tests of ConvexArea.) 514s assert (sum (ismember (hull_test, hull, "rows")), rows (hull_test)) 514s assert (all (hull(1,:) == hull(end,:))) 514s cimage = props.ConvexImage; 514s assert (cimage, cimage_test); 514s carea = props.ConvexArea; 514s assert (carea, carea_test); 514s csolid = props.Solidity; 514s assert (csolid, csolid_test); 514s ***** test 514s BW = logical ([... # region with non-trivial shape 514s 0 0 0 0 0 0 0 0 0 0 0 0 0 0 514s 0 0 0 1 1 1 1 0 0 0 0 0 0 0 514s 0 0 1 1 1 1 1 0 0 0 0 0 0 0 514s 0 1 1 1 1 1 1 0 0 0 0 0 0 0 514s 0 0 1 1 1 1 1 1 1 1 1 0 0 0 514s 0 0 0 1 1 1 1 1 1 1 1 1 0 0 514s 0 0 0 0 1 1 1 1 1 1 1 1 1 0 514s 0 0 0 0 0 1 1 1 0 1 1 1 1 0 514s 0 0 0 0 0 0 1 0 0 0 1 1 1 0 514s 0 0 0 0 0 0 0 0 0 0 0 0 0 0]); 514s 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]; 514s cimage_test = logical ([... 514s 0 0 1 1 1 1 0 0 0 0 0 0 514s 0 1 1 1 1 1 1 1 0 0 0 0 514s 1 1 1 1 1 1 1 1 1 0 0 0 514s 0 1 1 1 1 1 1 1 1 1 0 0 514s 0 0 1 1 1 1 1 1 1 1 1 0 514s 0 0 0 1 1 1 1 1 1 1 1 1 514s 0 0 0 0 1 1 1 1 1 1 1 1 514s 0 0 0 0 0 1 1 1 1 1 1 1]); 514s carea_test = 62; 514s csolid_test = 0.8548; 514s props = regionprops (BW, {'ConvexHull', 'ConvexImage', 'ConvexArea', 'Solidity'}); 514s hull = props.ConvexHull; 514s assert (sum (ismember (hull_test, hull, "rows")), rows (hull_test)) 514s assert (all (hull(1,:) == hull(end,:))) 514s cimage = props.ConvexImage; 514s assert (cimage, cimage_test); 514s carea = props.ConvexArea; 514s assert (carea, carea_test); 514s csolid = props.Solidity; 514s assert (csolid, csolid_test, 1e-4); 514s ***** test 514s BW = false (7); 514s BW(2:6, 2:6) = true; 514s BW(4,4) = false; # region with hole 514s 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]; 514s cimage_test = true(5); 514s carea_test = 25; 514s csolid_test = 0.96; 514s props = regionprops (BW, {'ConvexHull', 'ConvexImage', 'ConvexArea', 'Solidity'}); 514s hull = props.ConvexHull; 514s assert (sum (ismember (hull_test, hull, "rows")), rows (hull_test)) 514s assert (all (hull(1,:) == hull(end,:))) 514s cimage = props.ConvexImage; 514s assert (cimage, cimage_test); 514s carea = props.ConvexArea; 514s assert (carea, carea_test); 514s csolid = props.Solidity; 514s assert (csolid, csolid_test, 1e-4); 514s ***** test 514s BW = false (5); 514s BW(3, 3) = true; # region with single pixel 514s hull_test = [3.5 3; 3 2.5; 2.5 3]; 514s cimage_test = true; 514s carea_test = 1; 514s csolid_test = 1; 514s props = regionprops (BW, {'ConvexHull', 'ConvexImage', 'ConvexArea', 'Solidity'}); 514s hull = props.ConvexHull; 514s assert (sum (ismember (hull_test, hull, "rows")), rows (hull_test)) 514s assert (all (hull(1,:) == hull(end,:))) 514s cimage = props.ConvexImage; 514s assert (cimage, cimage_test); 514s carea = props.ConvexArea; 514s assert (carea, carea_test); 514s csolid = props.Solidity; 514s assert (csolid, csolid_test); 514s ***** test 514s BW = false (5); 514s BW(3, 2:4) = true; # regions with pixel line 514s BW2 = BW'; 514s hull_test = [2 2.5; 1.5 3; 2 3.5; 4 3.5; 4.5 3; 4 2.5]; 514s hull_test2 = fliplr (hull_test); 514s cimage_test = true(1,3); 514s cimage_test2 = cimage_test'; 514s carea_test = 3; 514s csolid_test = 1; 514s props = regionprops (BW, {'ConvexHull', 'ConvexImage', 'ConvexArea', 'Solidity'}); 514s hull = props.ConvexHull; 514s assert (sum (ismember (hull_test, hull, "rows")), rows (hull_test)) 514s assert (all (hull(1,:) == hull(end,:))) 514s cimage = props.ConvexImage; 514s assert (cimage, cimage_test); 514s carea = props.ConvexArea; 514s assert (carea, carea_test); 514s csolid = props.Solidity; 514s assert (csolid, csolid_test); 514s props2 = regionprops (BW2, {'ConvexHull', 'ConvexImage', 'ConvexArea', 'Solidity'}); 514s hull2 = props2.ConvexHull; 514s assert (sum (ismember (hull_test2, hull2, "rows")), rows (hull_test2)) 514s assert (all (hull2(1,:) == hull2(end,:))) 514s cimage2 = props2.ConvexImage; 514s assert (cimage2, cimage_test2); 514s carea2 = props2.ConvexArea; 514s assert (carea2, carea_test); 514s csolid2 = props2.Solidity; 514s assert (csolid2, csolid_test); 514s ***** test 514s BW = logical ([ ... 514s 1 0 1 0 514s 1 0 1 0 514s 1 0 1 0 514s 1 0 1 0]); # two seperate regions 514s hull_test_1 = [1.5 1; 1 0.5; 0.5 1; 0.5 4; 1 4.5; 1.5 4]; 514s hull_test_2 = [3.5 1; 3 0.5; 2.5 1; 2.5 4; 3 4.5; 3.5 4]; 514s cimage_test_1 = true(4,1); 514s cimage_test_2 = true(4,1); 514s carea_test1 = 4; 514s carea_test2 = 4; 514s csolid_test1 = 1; 514s csolid_test2 = 1; 514s props = regionprops (BW, {'ConvexHull', 'ConvexImage', 'ConvexArea', 'Solidity'}); 514s hull1 = {props.ConvexHull}{1}; 514s assert (sum (ismember (hull_test_1, hull1, "rows")), rows (hull_test_1)) 514s assert (all (hull1(1,:) == hull1(end,:))) 514s hull2 = {props.ConvexHull}{2}; 514s assert (sum (ismember (hull_test_2, hull2, "rows")), rows (hull_test_2)) 514s assert (all (hull2(1,:) == hull2(end,:))) 514s cimage1 = {props.ConvexImage}{1}; 514s assert (cimage1, cimage_test_1); 514s cimage2 = {props.ConvexImage}{2}; 514s assert (cimage2, cimage_test_2); 514s carea1 = {props.ConvexArea}{1}; 514s assert (carea1, carea_test1); 514s carea2 = {props.ConvexArea}{2}; 514s assert (carea2, carea_test2); 514s csolid1 = {props.Solidity}{1}; 514s assert (csolid1, csolid_test1); 514s csolid2 = {props.Solidity}{2}; 514s assert (csolid2, csolid_test2); 515s ***** test 515s L = zeros (5); 515s L(1:2:5, :) = 1; # labelled region with 3 disconnected parts 515s 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]; 515s cimage_test = true(5); 515s carea_test = 25; 515s csolid_test = 0.6; 515s props = regionprops (L, {'ConvexHull', 'ConvexImage', 'ConvexArea', 'Solidity'}); 515s hull = props.ConvexHull; 515s assert (sum (ismember (hull_test, hull, "rows")), rows (hull_test)) 515s assert (all (hull(1,:) == hull(end,:))) 515s cimage = props.ConvexImage; 515s assert (cimage, cimage_test); 515s carea = props.ConvexArea; 515s assert (carea, carea_test); 515s csolid = props.Solidity; 515s assert (csolid, csolid_test); 515s ***** xtest 515s ## Matlab compatible, currently fails because of bug #50188 515s BW = false(4,16); 515s BW(2,2) = true; 515s BW(3,2:end-1) = true; # L-shaped region (small angle) 515s hull_test = [2 1.5; 1.5 2; 1.5 3; 2 3.5; 15 3.5; 15.5 3; 15 2.5]; 515s cimage_test = true (2,14); 515s cimage_test(1, 8:end) = false; # this is the Matlab result 515s carea_test = 21; 515s csolid_test = 0.7143; 515s props = regionprops (BW, {'ConvexHull', 'ConvexImage', 'ConvexArea', 'Solidity'}); 515s hull = props.ConvexHull; 515s assert (sum (ismember (hull_test, hull, "rows")), rows (hull_test)) 515s assert (all (hull(1,:) == hull(end,:))) 515s cimage = props.ConvexImage; 515s assert (cimage, cimage_test); 515s carea = props.ConvexArea; 515s assert (carea, carea_test); 515s csolid = props.Solidity; 515s assert (csolid, csolid_test, 1e-4); 515s !!!!! known failure 515s ASSERT errors for: assert (cimage,cimage_test) 515s 515s Location | Observed | Expected | Reason 515s (1,8) 1 0 Abs err 1 exceeds tol 0 by 1 515s ***** assert (regionprops ([1 0 1; 1 0 1], "Area"), struct ("Area", 4)) 515s ***** assert (regionprops ([1 0 2; 1 1 2], "Area"), struct ("Area", {3; 2})) 515s ***** assert (regionprops ([1 0 3; 1 1 3], "Area"), struct ("Area", {3; 0; 2})) 515s ***** assert (size (regionprops ([1 0 0; 0 0 2], "Area")), [2, 1]) 515s ***** error regionprops ([1 -2 0 3]) 515s ***** error regionprops ([1 1.5 0 3]) 515s ***** test 515s im = rand (5); 515s 515s ## First do this so we get a list of all supported properties and don't 515s ## have to update the list each time. 515s bw = false (5); 515s bw(13) = true; 515s props = regionprops (bw, im, "all"); 515s all_props = fieldnames (props); 515s 515s bw = false (5); 515s props = regionprops (bw, im, "all"); 515s assert (size (props), [0 1]) 515s assert (sort (all_props), sort (fieldnames (props))) 515s ***** test 515s im = rand (5); 515s 515s ## First do this so we get a list of all supported properties and don't 515s ## have to update the list each time. 515s labeled = zeros (5); 515s labeled(13) = 1; 515s props = regionprops (labeled, im, "all"); 515s all_props = fieldnames (props); 515s 515s labeled = zeros (5); 515s props = regionprops (labeled, im, "all"); 515s assert (size (props), [0 1]) 515s assert (sort (all_props), sort (fieldnames (props))) 515s ***** test 515s im = rand (5); 515s 515s ## First do this so we get a list of all supported properties and don't 515s ## have to update the list each time. 515s bw = false (5); 515s bw(13) = true; 515s props = regionprops (bwconncomp (bw), im, "all"); 515s all_props = fieldnames (props); 515s 515s bw = false (5); 515s props = regionprops (bwconncomp (bw), im, "all"); 515s assert (size (props), [0 1]) 515s assert (sort (all_props), sort (fieldnames (props))) 515s ***** test 515s bw = logical ([ 515s 0 1 1 1 1 515s 0 1 1 0 0 515s 0 0 0 0 0 515s 0 0 0 1 0 515s 0 1 1 1 0]); 515s props = regionprops (bw, "MajorAxisLength", "MinorAxisLength", 515s "Orientation"); 515s assert ([props.MajorAxisLength] ,[4.51354115 3.65148372], 1.e-8) 515s assert ([props.MinorAxisLength], [2.01801654 1.82574186], 1.e-8) 515s assert ([props.Orientation], [12.93317840 18.43494882], 1.e-8) 515s ***** warning 515s regionprops (rand (5, 5, 5) > 0.5, {"perimeter", "extrema"}); 515s ***** warning 515s regionprops (rand (5, 5) > 0.5, {"minintensity", "weightedcentroid"}); 515s ***** error 515s regionprops ([0 -1 3 4; 0 -1 3 4]) 515s ***** error 515s regionprops ([0 1.5 3 4; 0 1.5 3 4]) 515s ***** error 515s regionprops (int8 ([0 -1 3 4; 0 -1 3 4])) 515s ***** test # bug #52926 515s ## Perimeter of objects that would be connected with connectivity 8 515s ## but have been labeled with connectivity 4. 515s BW = logical ([1 1 1 0 0 0 0 0 515s 1 1 1 0 1 1 0 0 515s 1 1 1 0 1 1 0 0 515s 1 1 1 0 0 0 1 0 515s 1 1 1 0 0 0 1 0 515s 1 1 1 0 0 0 1 0 515s 1 1 1 0 0 1 1 0 515s 1 1 1 0 0 0 0 0]); 515s 515s L = bwlabel (BW, 4); 515s props = regionprops(L, "PerimeterOld"); 515s assert ([props.PerimeterOld], [18 4 6+sqrt(2)]) 515s props = regionprops(L, "Perimeter"); 515s assert ([props.Perimeter], [17.276 3.556 7.013]) 515s L = bwlabel (BW, 8); 515s props = regionprops(L, "PerimeterOld"); 515s assert ([props.PerimeterOld], [18 10+3*sqrt(2)]) 515s props = regionprops(L, "Perimeter"); 515s assert ([props.Perimeter], [17.276 13.108]) 515s ***** test 515s I = zeros(5); 515s I(3,3) = 1; 515s props = regionprops(I, "Perimeter"); 515s assert ([props.Perimeter], [0]) 515s I = zeros(5); 515s I(3,3:4) = 1; 515s props = regionprops (I, "Perimeter"); 515s assert ([props.Perimeter], [1.96]) 515s I = zeros(5); 515s I(3:4,3) = 1; 515s props = regionprops (I, "Perimeter"); 515s assert ([props.Perimeter], [1.96]) 515s I = zeros(5); 515s I(3,3) = 1; 515s I(4,4) = 1; 515s props = regionprops (I, "Perimeter"); 515s assert ([props.Perimeter], [2.812]) 515s I = zeros(5); 515s I(3,4) = 1; 515s I(4,3) = 1; 515s props = regionprops (I, "Perimeter"); 515s assert ([props.Perimeter], [2.812]) 515s I = zeros(5); 515s I(3:4,3:4) = 1; 515s props = regionprops (I, "Perimeter"); 515s assert ([props.Perimeter], [3.556]) 515s I = zeros(5); 515s I(3:4,3:4) = 1; 515s I(4,5) = 1; 515s props=regionprops (I, "Perimeter"); 515s assert ([props.Perimeter], [4.962]) 515s I = zeros(5); 515s I(3:4,3:4) = 1; 515s I(5,5) = 1; 515s props = regionprops (I, "Perimeter"); 515s assert ([props.Perimeter], [6.277], 4*eps) 515s I = zeros(5); 515s I(2,3) = 1; 515s I(3,2:4) = 1; 515s I(4,3) = 1; 515s props = regionprops (I, "Perimeter"); 515s assert ([props.Perimeter], [5.624]) 515s I = zeros(5); 515s I(2,3) = 1; 515s I(3,2:4) = 1; 515s I(4,3) = 1; 515s I(5,3) = 1; 515s props = regionprops (I, "Perimeter"); 515s assert ([props.Perimeter], [7.402], 4*eps) 515s I = zeros(5); 515s I(2,3) = 1; 515s I(3,2:4) = 1; 515s I(4,3) = 1; 515s I(5,4) = 1; 515s props = regionprops (I, "Perimeter"); 515s assert ([props.Perimeter], [8.436]) 515s I = zeros(5); 515s I(2,1:4) = 1; 515s I(3,4) = 1; 515s props = regionprops (I, "Perimeter"); 515s assert ([props.Perimeter], [7.013]) 515s ***** test # bug #61827 515s L = uint8 (checkerboard); 515s props = regionprops (L, "Centroid"); 515s assert ([props.Centroid], [40.5, 40.5], 1e-10) 515s 87 tests, 86 passed, 1 known failure, 0 skipped 515s [inst/mean2.m] 515s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/mean2.m 515s ***** test 515s ## This throws a division by zero warning which Matlab does not, but 515s ## that's because Matlab does not throw such warnings in the first 515s ## place. Octave does, so we do not turn the warning off. 515s warning ("off", "Octave:divide-by-zero", "local"); 515s assert (mean2 ([]), NaN) 515s ***** assert (mean2 (logical ([1 1; 0 0])), 0.5) 515s ***** assert (mean2 (ones (3, 3, 3)), 1) 515s ***** assert (mean2 (i), i) 515s ***** assert (mean2 ([1 i]), [0.5+0.5i]) 515s ***** assert (mean2 (speye (3)), sparse (1/3)) 515s 6 tests, 6 passed, 0 known failure, 0 skipped 515s [inst/mat2gray.m] 515s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/mat2gray.m 515s ***** assert(mat2gray([1 2 3]), [0 0.5 1]); # standard use 515s ***** assert(mat2gray(repmat ([1 2; 3 3], [1 1 3])), repmat ([0 0.5; 1 1], [1 1 3])); # setting min and max 515s ***** assert(mat2gray([1 2 3], [2 2]), [1 1 1]); # equal min and max 515s ***** assert(mat2gray([-1 0 0.5 3], [2 2]), [0 0 0.5 1]); # equal min and max 515s ***** test 515s ## SCALE is unset and all values in the input IMAGE are the same: 515s ## case 1: all values are in the [0 1] range] 515s assert (mat2gray ([.5 .5; .5 .5]), [.5 .5; .5 .5]) 515s ## case 2: all values are above the [0 1] range 515s assert (mat2gray ([3 3; 3 3]), [1 1; 1 1]) 515s ## case 2: all values are below the [0 1] range 515s assert (mat2gray ([-3 -3; -3 -3]), [0 0; 0 0]) 515s ***** assert(mat2gray([1 2 3], [3 1]), [1 0.5 0]); # max and min inverted 515s ***** assert (mat2gray ([-3 -2 -1]), [0 0.5 1]) 515s 7 tests, 7 passed, 0 known failure, 0 skipped 515s [inst/bestblk.m] 515s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/bestblk.m 515s ***** demo 515s siz = bestblk ([200; 10], 50); 515s disp (siz) 515s ***** error bestblk ("string") 515s ***** error bestblk ([100 200], "string") 515s ***** error <2 elements> bestblk ([100], 5) 515s ***** assert (bestblk ([ 10 12], 2), [ 2 2]); 515s ***** assert (bestblk ([ 10 12], 3), [ 2 3]); 515s ***** assert (bestblk ([300 100], 150), [150 100]); 515s ***** assert (bestblk ([256 128], 17), [ 16 16]); 515s ***** assert (bestblk ([ 17 17], 3), [ 3 3]); 515s ***** assert (bestblk ([230 470]), bestblk ([230 470], 100)) 515s ***** assert (bestblk ([10 12 10], 3), [2 3 2]); 515s ***** assert (bestblk ([ 9 12 9], 3), [3 3 3]); 515s ***** assert (bestblk ([10 12 10 11], 5), [5 4 5 4]); 515s 12 tests, 12 passed, 0 known failure, 0 skipped 515s [inst/imcomplement.m] 515s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imcomplement.m 515s ***** assert (imcomplement (10), -9); 515s ***** assert (imcomplement (single (10)), single (-9)); 515s ***** assert (imcomplement (0.2), 0.8); 515s ***** assert (imcomplement (uint8 (0)), uint8 (255)); 515s ***** assert (imcomplement (uint8 (1)), uint8 (254)); 515s ***** assert (imcomplement (uint16 (0)), uint16 (65535)); 515s ***** assert (imcomplement (uint16 (1)), uint16 (65534)); 515s ***** assert (imcomplement (int8 (-128)), int8 ( 127)); 515s ***** assert (imcomplement (int8 ( 127)), int8 (-128)); 515s ***** assert (imcomplement (int16 (-1)), int16 ( 0)); 515s ***** assert (imcomplement (int16 ( 0)), int16 (-1)); 515s ***** assert (imcomplement (int16 ( 1)), int16 (-2)); 515s ***** assert (imcomplement ([true false true]), [false true false]) 515s ***** error imcomplement ("not an image") 515s 14 tests, 14 passed, 0 known failure, 0 skipped 515s [inst/bwpack.m] 515s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/bwpack.m 515s ***** error id=Octave:invalid-fun-call bwpack () 515s ***** error id=Octave:invalid-input-arg bwpack ("text") 515s ***** xtest 515s ## bug #55521 515s assert (bwpack (eye (5)), uint32 ([1 2 4 8 16])) 515s ***** xtest 515s ## bug #55521 515s assert (bwpack (repmat (eye (4), 15, 1)), 515s uint32 ([286331153 572662306 1145324612 2290649224 515s 17895697 35791394 71582788 143165576])) 515s ***** xtest 515s ## bug #55521 515s assert (bwpack (ones (3, 3, 3, 3)), repmat (uint32 (7), 1, 3, 3, 3)) 515s ***** assert (bwpack (false (0, 10)), uint32 (zeros (0, 10))) 515s ***** assert (bwpack (false (0, 0)), uint32 (zeros (0, 0))) 515s ***** assert (bwpack (false (32, 0)), uint32 (zeros (1, 0))) 515s ***** assert (bwpack (false (33, 0)), uint32 (zeros (2, 0))) 515s ***** assert (bwpack (false (0, 10, 3)), uint32 (zeros (0, 10, 3))) 515s ***** assert (bwpack (false (33, 0, 3)), uint32 (zeros (2, 0, 3))) 515s ***** assert (bwpack (i), bwpack (logical (i))) 515s 12 tests, 12 passed, 0 known failure, 0 skipped 515s [inst/houghpeaks.m] 515s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/houghpeaks.m 515s ***** shared im1 515s im1 = magic (5); 515s ***** error houghpeaks () 515s ***** error houghpeaks (1, 2, 3, 4, 5, 6, 7) 515s ***** assert (houghpeaks (im1)) 515s ***** assert (houghpeaks (im1, 2)) 515s ***** assert (houghpeaks (im1, "Threshold", 10)) 515s ***** assert (houghpeaks (im1, 2, "Threshold", 10)) 515s ***** assert (houghpeaks (im1, "NHoodSize", [3 3])) 515s ***** assert (houghpeaks (im1, 2, "NHoodSize", [3 3])) 515s ***** assert (houghpeaks (im1, "Threshold", 10, "NHoodSize", [3 3])) 515s ***** assert (houghpeaks (im1, "NHoodSize", [3 3], "Threshold", 10)) 515s ***** assert (houghpeaks (im1, 2, "Threshold", 10, "NHoodSize", [3 3])) 515s ***** assert (houghpeaks (im1, 2, "NHoodSize", [3 3], "Threshold", 10)) 515s ***** error houghpeaks (ones (5, 5, 5)) 515s ***** error houghpeaks ("hello") 515s ***** error houghpeaks (im1, 1.5) 515s ***** error houghpeaks (im1, -2) 515s ***** error houghpeaks (im1, [1 1]) 515s ***** error houghpeaks (im1, "Threshold", "hello") 515s ***** error houghpeaks (im1, "Threshold", -2) 515s ***** error houghpeaks (im1, "Threshold", [1 1]) 515s ***** error houghpeaks (im1, "NHoodSize", [3 3 3]) 515s ***** error houghpeaks (im1, "NHoodSize", "hello") 515s ***** error houghpeaks (im1, "NHoodSize", [-3 -3]) 515s ***** error houghpeaks (im1, "NHoodSize", [4 4]) 515s ***** test 515s out = houghpeaks (im1); 515s assert (size (out), [1 2]) 515s assert (class (out), "double") 515s ***** test 515s out = houghpeaks (im1, 3); 515s assert (size (out), [3 2]) 515s ***** test 515s expected = [5 3; 1 2; 3 5; 1 5]; 515s assert (houghpeaks (im1, 4), expected) # this checks for undocumented nhood >=3 515s assert (houghpeaks (im1, 4, "nhoodsize", [3,3]), expected) 515s assert (houghpeaks (im1, 4, "threshold", 10), expected) 515s assert (houghpeaks (im1, 4, "threshold", 24), expected(1:2,:)) 515s ***** test 515s im2 = magic (7); 515s expected_a = [7 4; 1 3; 3 1; 5 6]; 515s expected_b = [7 4; 1 3; 4 7; 1 7]; 515s assert (houghpeaks (im2, 4), expected_a) 515s assert (houghpeaks (im2, 4, "nhoodsize", [5,5]), expected_b) 515s assert (houghpeaks (im2, 4, "threshold", 24), expected_a) 515s assert (houghpeaks (im2, 4, "threshold", 47), expected_a(1:2,:)) 515s ***** test 515s im3 = magic (99); 515s expected_a = [99 50; 1 49; 3 47; 5 45; 7 43; 9 41; 11 39]; 515s expected_b = [99 50; 1 49; 7 43; 13 37; 19 31; 25 25; 31 19]; 515s expected_c = [99 50; 1 49; 2 48; 3 47; 4 46; 5 45; 6 44]; 515s assert (houghpeaks (im3, 7), expected_a) 515s assert (houghpeaks (im3, 7, "nhoodsize", [11 11]), expected_b) 515s assert (houghpeaks (im3, 7, "nhoodsize", [11 1]), expected_c) 515s assert (houghpeaks (im3, 7, "nhoodsize", [11 1]), expected_c) 515s ***** test 515s im4 = double (im2uint16 (peaks ())); 515s expected_a = [37 15; 39 15; 41 15; 15 16; 17 16]; 515s expected_b = [37 15; 15 16; 26 21; 37 26; 20 32]; 515s expected_c = [37 15; 15 16; 35 16; 15 17; 35 17]; 515s expected_d = [37 15; 38 15; 39 15; 40 15; 41 15]; 515s assert (houghpeaks (im4, 5), expected_a) 515s assert (houghpeaks (im4, 5, "nhoodsize", [21 21]), expected_b) 515s assert (houghpeaks (im4, 5, "nhoodsize", [21 1]), expected_c) 515s assert (houghpeaks (im4, 5, "nhoodsize", [1 21]), expected_d) 515s ***** test # tests use of anti-symmetry in H 515s im5 = zeros (6,4); im5(2,1) = 1; im5(5,4) = 2; 515s expected = [5 4; 2 1]; 515s assert (houghpeaks (im5, 2, "nhoodsize", [1 1]), expected); 515s assert (houghpeaks (im5, 2, "nhoodsize", [3 3]), expected(1,:)); 515s ***** test #test use of anti-symmetry in the other direction 515s im6 = magic (100); 515s expected_a = [1 1; 100 99; 1 4; 100 95; 1 8; 100 91; 1 12]; 515s expected_b = [1 1; 100 95; 1 8; 100 87; 1 16; 100 79; 1 24]; 515s expected_c = [1 1; 100 99; 100 98; 1 4; 1 5; 100 95; 100 94]; 515s expected_d = expected_b; 515s assert (houghpeaks (im6, 7), expected_a) 515s assert (houghpeaks (im6, 7, "nhoodsize", [11 11]), expected_b) 515s assert (houghpeaks (im6, 7, "nhoodsize", [11 1]), expected_c) 515s assert (houghpeaks (im6, 7, "nhoodsize", [1 11]), expected_d) 515s ***** test # test undocumented Matlab default value for nhoodsize 515s im = zeros (723, 180); 515s im(585,136) = 8; 515s im(593,135) = 7; 515s im(310,46) = 6; 515s expected = [585, 136; 310, 46]; 515s assert (houghpeaks (im, 2), expected) 515s ***** test 515s I = max (0, phantom ()); 515s H = hough (I); 515s P0 = [585, 136; 310, 46; 595, 136; 522, 104; 373, 46]; 515s assert (houghpeaks (H, 5), P0) 516s ***** demo 516s I = checkerboard (30, 1, 1); 516s I = imnoise(I, "salt & pepper", 0.2); 516s figure, imshow (I); 516s title ("noisy image with some lines"); 516s BW = edge (I, "canny"); 516s figure, imshow(BW); 516s title ("edge image"); 516s [H, theta, rho] = hough (BW); 516s figure, imshow (mat2gray (H), [],"XData",theta,"YData",rho); 516s title ("Hough transform of edge image \n 2 peaks marked"); 516s axis on; xlabel("theta [degrees]"); ylabel("rho [pixels]"); 516s peaks = houghpeaks (H, 2); 516s peaks_rho = rho(peaks(:,1)) 516s peaks_theta = theta(peaks(:,2)) 516s hold on; 516s plot(peaks_theta,peaks_rho,"sr"); 516s hold off; 516s 34 tests, 34 passed, 0 known failure, 0 skipped 516s [inst/otf2psf.m] 516s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/otf2psf.m 516s ***** function otf = rand_otf (varargin) 516s otf = complex (rand (varargin{:}), rand (varargin{:})); 516s ***** endfunction 516s ***** test 516s otf = rand_otf (6, 1); 516s assert (otf2psf (otf), circshift (ifft (otf), 3), eps); 516s ***** test 516s otf = rand_otf (6, 6); 516s assert (otf2psf (otf), circshift (ifft2 (otf), [3 3]), eps); 516s ***** test 516s otf = rand_otf (6, 6, 6); 516s assert (otf2psf (otf), circshift (ifftn (otf), [3 3 3]), eps); 516s ***** test 516s otf = rand_otf (7, 1); 516s assert (otf2psf (otf), circshift (ifft (otf), 3), eps); 516s ***** test 516s otf = rand_otf (7, 7); 516s assert (otf2psf (otf), circshift (ifft2 (otf), [3 3]), eps); 516s ***** test 516s otf = rand_otf (6, 7, 8); 516s assert (otf2psf (otf), circshift (ifftn (otf), [3 3 4]), eps); 516s ***** test 516s otf = rand_otf (7, 1); 516s ppsf = circshift (ifft (otf), 3); 516s assert (otf2psf (otf, 6), ppsf(1:6), eps); 516s assert (otf2psf (otf, [6 1]), ppsf(1:6), eps); 516s ***** test 516s otf = rand_otf (7, 7); 516s ppsf = circshift (ifft2 (otf), [3 3]); 516s assert (otf2psf (otf, [6 1]), ppsf(1:6,4), eps); 516s ***** test 516s otf = rand_otf (6, 7); 516s ppsf = circshift (ifft2 (otf), [3 3]); 516s assert (otf2psf (otf, [6 6]), ppsf(:,1:6), eps); 516s ***** error otf2psf ("not a otf") 516s ***** error otf2psf (rand_otf (16), 18) 516s ***** error otf2psf (rand_otf (16), [14 18]) 516s ***** error otf2psf (rand_otf (16), [18 18]) 516s ***** error otf2psf (rand_otf (16, 1), 18) 516s ***** test 516s psf = fspecial ("gaussian", 16); 516s otf = psf2otf (psf); 516s assert (otf2psf (otf), psf, eps); 516s ***** xtest 516s psf = rand (16); 516s otf = psf2otf (psf); 516s assert (otf2psf (otf), psf, 4*eps); 516s ***** test 516s psf = rand (8); 516s otf = psf2otf (psf, [16 16]); 516s assert (otf2psf (otf, [8 8]), psf, 2*eps); 516s 17 tests, 17 passed, 0 known failure, 0 skipped 516s [inst/fftconvn.m] 516s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/fftconvn.m 516s ***** function test_shapes (a, b, precision) 516s shapes = {"valid", "same", "full"}; 516s for i = 1:3 516s shape = shapes{i}; 516s assert (fftconvn (a, b, shape), convn (a, b, shape), precision); 516s endfor 516s assert (fftconvn (a, b), fftconvn (a, b, "full")); 516s ***** endfunction 516s ***** test test_shapes (randi (255, 100), randi (255, 10), 0.1) 516s ***** test test_shapes (randi (255, 100, 100), randi (255, 10, 10), 0.1) 516s ***** test test_shapes (randi (255, 100, 100, 100), randi (255, 10, 10, 10), 0.1) 518s ***** test test_shapes (randi (255, 100, 50, 20), randi (255, 10, 7), 0.1) 518s ***** test test_shapes (randi (255, 100, 50, 20), randi (255, 10), 0.1) 518s ***** test 518s for s = [55 56 57 58] 518s test_shapes (randi (255, 200, 200), randi (255, s, s), 0.1) 518s endfor 518s ***** test 518s for s = [203 204 205 206] 518s test_shapes (randi (255, s, s), randi (255, 52, 52), 0.1) 518s endfor 519s ***** test test_shapes (randi (255, 100, 100, "uint8"), randi (255, 10, 10, "uint8"), 0.1) 519s ***** test test_shapes (randi (255, 100, 100, "uint8"), randi (255, 10, 10), 0.1) 519s ***** test test_shapes (randi (255, 100, 100, "single"), randi (255, 10, 10, "single"), 0.9) 519s ***** test test_shapes (randi (255, 100, 100, "single"), randi (255, 10, 10), 0.9) 519s 11 tests, 11 passed, 0 known failure, 0 skipped 519s [inst/imrotate.m] 519s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imrotate.m 519s ***** test 519s ## Verify minimal loss across six rotations that add up to 360 +/- 1 deg.: 519s methods = { "nearest", "bilinear", "bicubic", "Fourier" }; 519s angles = [ 59 60 61 ]; 519s tolerances = [ 7.4 8.5 8.6 # nearest 519s 3.5 3.1 3.5 # bilinear 519s 2.7 2.0 2.7 # bicubic 519s 2.7 1.6 2.8 ]/8; # Fourier 519s 519s # This is peaks(50) without the dependency on the plot package 519s x = y = linspace(-3,3,50); 519s [X,Y] = meshgrid(x,y); 519s x = 3*(1-X).^2.*exp(-X.^2 - (Y+1).^2) ... 519s - 10*(X/5 - X.^3 - Y.^5).*exp(-X.^2-Y.^2) ... 519s - 1/3*exp(-(X+1).^2 - Y.^2); 519s 519s x -= min(x(:)); # Fourier does not handle neg. values well 519s x = x./max(x(:)); 519s for m = 1:(length(methods)) 519s y = x; 519s for i = 1:5 519s y = imrotate(y, 60, methods{m}, "crop", 0); 519s end 519s for a = 1:(length(angles)) 519s assert(norm((x - imrotate(y, angles(a), methods{m}, "crop", 0)) 519s (10:40, 10:40)) < tolerances(m,a)); 519s endfor 519s endfor 519s ***** xtest 519s ## Verify exactness of near-90 and 90-degree rotations: 519s X = rand(99); 519s for angle = [90 180 270] 519s for da = [-0.1 0.1] 519s Y = imrotate(X, angle + da , "nearest", :, 0); 519s Z = imrotate(Y, -(angle + da), "nearest", :, 0); 519s assert(norm(X - Z) == 0); # exact zero-sum rotation 519s assert(norm(Y - imrotate(X, angle, "nearest", :, 0)) == 0); # near zero-sum 519s endfor 519s endfor 519s !!!!! known failure 519s assert (norm (X - Z) == 0) failed 519s ***** test 519s ## Verify preserved pixel density: 519s methods = { "nearest", "bilinear", "bicubic", "Fourier" }; 519s ## This test does not seem to do justice to the Fourier method...: 519s tolerances = [ 4 2.2 2.0 209 ]; 519s range = 3:9:100; 519s for m = 1:(length(methods)) 519s t = []; 519s for n = range 519s t(end + 1) = sum(imrotate(eye(n), 20, methods{m}, :, 0)(:)); 519s endfor 519s assert(t, range, tolerances(m)); 519s endfor 519s ***** test 519s a = reshape (1:18, [2 3 3]); 519s 519s a90(:,:,1) = [5 6; 3 4; 1 2]; 519s a90(:,:,2) = a90(:,:,1) + 6; 519s a90(:,:,3) = a90(:,:,2) + 6; 519s 519s a180(:,:,1) = [6 4 2; 5 3 1]; 519s a180(:,:,2) = a180(:,:,1) + 6; 519s a180(:,:,3) = a180(:,:,2) + 6; 519s 519s am90(:,:,1) = [2 1; 4 3; 6 5]; 519s am90(:,:,2) = am90(:,:,1) + 6; 519s am90(:,:,3) = am90(:,:,2) + 6; 519s 519s assert (imrotate (a, 0), a); 519s assert (imrotate (a, 90), a90); 519s assert (imrotate (a, -90), am90); 519s assert (imrotate (a, 180), a180); 519s assert (imrotate (a, -180), a180); 519s assert (imrotate (a, 270), am90); 519s assert (imrotate (a, -270), a90); 519s assert (imrotate (a, 360), a); 519s ***** test 519s # bug #53309 519s in = ones (2, 4); 519s out = [0 1 1 0; 0 1 1 0]; 519s assert (imrotate (in, 90, "nearest", "crop"), out) 519s assert (imrotate (repmat (in, [1 1 3]), 90, "nearest", "crop"), 519s repmat (out, [1 1 3])) 519s ***** test 519s ## bug #53309 519s rgbs = { 519s rand(5, 4, 3), # normal path, does interpolation 519s rand(4, 4, 3), # rows and columns, same number, simple rotdim 519s rand(4, 6, 3), # rows and columns differents, but of length even 519s }; 519s for rgb_i = 1:numel(rgbs) 519s rgb = rgbs{rgb_i}; 519s rot = imrotate (rgb, 90, "nearest", "crop"); 519s for i = 1:3 519s assert (rot(:,:,i), imrotate (rgb(:,:,i), 90, "nearest", "crop")) 519s endfor 519s ## same check but with an integer class 519s rgb = im2uint8 (rgb); 519s rot = imrotate (rgb, 90, "nearest", "crop"); 519s assert (class (rgb), class (rot)) 519s for i = 1:3 519s assert (rot(:,:,i), imrotate (rgb(:,:,i), 90, "nearest", "crop")) 519s endfor 519s endfor 519s 6 tests, 5 passed, 1 known failure, 0 skipped 519s [inst/col2im.m] 519s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/col2im.m 519s ***** demo 519s ## Divide A using distinct blocks and then reverse the operation 519s A = [ 1:10 519s 11:20 519s 21:30 519s 31:40]; 519s B = im2col (A, [2 5], "distinct") 519s C = col2im (B, [2 5], [4 10], "distinct") 519s ***** demo 519s ## Get sliding blocks of size from A into columns, calculate the 519s ## mean of each block (mean of each column), and reconstruct A 519s ## after a median filter. 519s A = reshape (1:24, [4 6]) 519s B = im2col (A, [2 3], "sliding") 519s C = mean (B); 519s col2im (C, [1 1], [3 4], "sliding") 519s ***** error col2im (ones (10), [5 5], [10 10], "wrong_block_type"); 519s ***** error col2im (ones (10), [1 1], [ 7 7], "sliding"); 519s ***** error col2im (ones (10), [3 3], [10 10], "distinct") 519s ***** error col2im (ones (10), [5 5], [10 11], "distinct"); 519s ***** assert (col2im (sum (im2col (magic (10), [3 3], "sliding")), [1 1], [8 8]), 519s convn (magic (10), ones (3, 3), "valid")); 519s ***** test 519s B = ones (1, (10-2+1)*(7-3+1)); 519s A = ones ((10-2+1), (7-3+1)); 519s assert (col2im (B, [2 3], [10 7]), A); 519s 519s ## same but different classes 519s assert (col2im (int16 (B), [2 3], [10 7]), int16 (A)); 519s assert (col2im (single (B), [2 3], [10 7]), single (A)); 519s assert (col2im (logical (B), [2 3], [10 7]), logical (A)); 519s ***** test 519s a = rand (10)(:); 519s assert (col2im (a, [1 1], [10 10]), col2im (a, [1 1], [10 10], "sliding")) 519s ***** shared A, B 519s v = [1:10]'; 519s r = reshape (1:10, [2 5]); 519s B = [v v+10 v+20 v+30 v+40 v+50]; 519s A = [r r+30 519s r+10 r+40 519s r+20 r+50]; 519s assert (col2im (B, [2 5], [6 10], "distinct"), A); 520s ***** assert (col2im (int16 (B), [2 5], [6 10], "distinct"), int16 (A)); 520s ***** assert (col2im (logical (B), [2 5], [6 10], "distinct"), logical (A)); 520s ***** assert (col2im (single (B), [2 5], [6 10], "distinct"), single (A)); 520s ***** test 520s a = rand (10, 8); 520s b = im2col (a, [5 5], "distinct"); 520s assert (col2im (b, [5 5], [10 8], "distinct"), a); 520s 520s a = rand (8); 520s b = im2col (a, [5 5], "distinct"); 520s assert (col2im (b, [5 5], [8 8], "distinct"), a); 520s ***** shared a, b 520s ## Same number of multiple dimensions 520s a = rand (10, 10, 10); 520s b = im2col (a, [5 5 5], "distinct"); 520s ***** assert (col2im (b, [5 5 5], [10 10 10], "distinct"), a); 520s 520s ## Different number of dimensions 520s a = rand (10, 10, 10); 520s b = im2col (a, [5 5], "distinct"); 520s ***** assert (col2im (b, [5 5], [10 10 10], "distinct"), a); 520s 520s ## Removing padding from multiple dimensions 520s a = rand (10, 10, 7); 520s b = im2col (a, [5 5 3], "distinct"); 520s ***** assert (col2im (b, [5 5 3], [10 10 7], "distinct"), a); 520s 520s a = rand (10, 10, 7); 520s b = im2col (a, [5 5 5 2], "distinct"); 520s ***** assert (col2im (b, [5 5 5 2], [10 10 7], "distinct"), a); 520s 15 tests, 15 passed, 0 known failure, 0 skipped 520s [inst/bwhitmiss.m] 520s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/bwhitmiss.m 520s ***** test 520s bw1 = repmat ([0 1 0 1 1], [3 1]); 520s bw2 = repmat ([0 1 0 0 0], [3 1]); 520s assert (bwhitmiss (bw1, [1; 0; 1], [1 0 1]), logical (bw2)) 520s assert (bwhitmiss (bw1, [0 1 0; -1 0 -1; 0 1 0]), logical (bw2)) 520s 1 test, 1 passed, 0 known failure, 0 skipped 520s [inst/label2rgb.m] 520s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/label2rgb.m 520s ***** function map = test_colormap (unused) 520s map = [0 0 0; 0.5 0.5 0.5; 0.125 0.125 0.125]; 520s ***** endfunction 520s ***** shared in, out, cmap 520s in = [ 0 1 1 0 2 2 0 3 3 520s 0 1 1 0 2 2 0 3 3]; 520s 520s out = [255 0 0 255 128 128 255 32 32 520s 255 0 0 255 128 128 255 32 32]; 520s out(:,:,2) = out(:,:,3) = out(:,:,1); 520s out = uint8(out); 520s 520s cmap = [0 0 0; 0.5 0.5 0.5; 0.125 0.125 0.125]; 520s ***** assert (label2rgb (in, cmap), out); 520s ***** assert (label2rgb (uint8 (in), cmap), out); 520s ***** assert (label2rgb (in, "test_colormap"), out); 520s ***** assert (label2rgb (in, @test_colormap), out); 520s 520s out(find (in == 0)) = 0; 520s ***** assert (label2rgb (in, cmap, "cyan"), out); 520s ***** assert (label2rgb (in, cmap, [0 1 1]), out); 520s 520s in(1) = 10; 520s ***** error label2rgb (in, cmap); 520s ***** error label2rgb (in, cmap, 89); 520s ***** error label2rgb (in, cmap, "g", "wrong"); 520s 9 tests, 9 passed, 0 known failure, 0 skipped 520s [inst/fftconv2.m] 520s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/fftconv2.m 520s ***** xtest 520s a = repmat (1:10, 5); 520s b = repmat (10:-1:3, 7); 520s assert (fftconv2 (a, b), conv2 (a, b), 1.8e4*eps) 520s assert (fftconv2 (b, a), conv2 (b, a), 1.8e4*eps) 520s assert (fftconv2 (a, b, "full"), conv2 (a, b, "full"), 1.8e4*eps) 520s assert (fftconv2 (b, a, "full"), conv2 (b, a, "full"), 1.8e4*eps) 520s assert (fftconv2 (a, b, "same"), conv2 (a, b, "same"), 1.8e4*eps) 520s assert (fftconv2 (b, a, "same"), conv2 (b, a, "same"), 1.8e4*eps) 520s assert (isempty (fftconv2 (a, b, "valid"))); 520s assert (fftconv2 (b, a, "valid"), conv2 (b, a, "valid"), 1e4*eps) 520s ***** test 520s x = 1:4; 520s y = 4:-1:1; 520s a = repmat(1:10, 5); 520s assert (fftconv2 (x, y, a), conv2 (x, y, a), 1e4*eps) 520s assert (fftconv2 (x, y, a, "full"), conv2 (x, y, a, "full"), 1e4*eps) 520s assert (fftconv2 (x, y, a, "same"), conv2 (x, y, a, "same"), 1e4*eps) 520s assert (fftconv2 (x, y, a, "valid"), conv2 (x, y, a, "valid"), 1e4*eps) 520s ***** demo 520s ## Draw a cross 520s z = zeros (101, 101); 520s z(50, :) = 1; 520s z(:, 50) = 1; 520s subplot (1, 3, 1) 520s imshow (z); 520s title ("Original thin cross") 520s 520s ## Draw a sinc blob 520s b = getheight (strel ("ball", 10, 1)); 520s subplot (1, 3, 2) 520s imshow (b); 520s title ("Sync blob") 520s 520s ## Convolve the cross with the blob 520s fc = real (fftconv2 (z, b, "same")); 520s subplot (1, 3, 3) 520s imshow (fc, [min(fc(:)) max(fc(:))]) 520s title ("Convolution in the frequency domain") 520s 2 tests, 2 passed, 0 known failure, 0 skipped 520s [inst/im2bw.m] 520s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/im2bw.m 520s ***** assert(im2bw ([0 0.4 0.5 0.6 1], 0.5), logical([0 0 0 1 1])); # basic usage 520s ***** assert(im2bw (uint8 ([0 100 255]), 0.5), logical([0 0 1])); # with a uint8 input 520s ***** warning bw = im2bw (logical ([0 1 0])); 520s ***** warning bw = im2bw (logical ([0 1 0]), 1); 520s ***** test 520s warning ("off", "all", "local"); 520s assert (im2bw (logical ([0 1 0])), logical ([0 1 0])) 520s assert (im2bw (logical ([0 1 0]), 0), logical ([0 1 0])) 520s assert (im2bw (logical ([0 1 0]), 1), logical ([0 1 0])) 520s ***** assert (nnz (im2bw (uint8 ([0:255]), 0.9)), 26) 520s ***** test 520s img = uint8 ([0:255]); 520s s = 0; 520s for i=0:.1:1 520s s += nnz (im2bw (img, i)); 520s endfor 520s assert (s, 1405) 520s ***** assert (nnz (im2bw (int16 ([-128:127]), 0.499)), 194) 520s ***** assert (nnz (im2bw (int16 ([-128:127]), 0.500)), 128) 520s ***** assert (nnz (im2bw (int16 ([-128:127]), 0.501)), 62) 520s ***** test 520s img = uint16 ([0:intmax("uint16")]); 520s s = 0; 520s for i=0:.1:1 520s s += nnz (im2bw (img, i)); 520s endfor 520s assert (s, 360445) 520s ***** test 520s img = int16 ([intmin("int16"):intmax("int16")]); 520s s = 0; 520s for i=0:.1:1 520s s += nnz (im2bw (img, i)); 520s endfor 520s assert (s, 360445) 520s ***** test 520s im = [((randn(10)/10)+.3) ((randn(10)/10)+.7)]; 520s assert (im2bw (im, "Otsu"), im2bw (im, graythresh (im, "Otsu"))) 520s assert (im2bw (im, "moments"), im2bw (im, graythresh (im, "moments"))) 520s ***** test 520s im = [((randn(10)/10)+.3) ((randn(10)/10)+.7)]; 520s im = reshape (im, [10 10 1 2]); 520s assert (im2bw (im, "Otsu"), im2bw (im, graythresh (im, "Otsu"))) 520s assert (im2bw (im, "moments"), im2bw (im, graythresh (im, "moments"))) 520s 14 tests, 14 passed, 0 known failure, 0 skipped 520s [inst/getrangefromclass.m] 520s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/getrangefromclass.m 520s ***** shared img 520s img = ones (5); 520s ***** assert (getrangefromclass (double (img)), [0 1]); # double returns [0 1] 520s ***** assert (getrangefromclass (single (img)), [0 1]); # single returns [0 1] 520s ***** assert (getrangefromclass (logical (img)), [0 1]); # logical returns [0 1] 520s ***** assert (getrangefromclass (int8 (img)), [-128 127]); # checks int 520s ***** assert (getrangefromclass (uint8 (img)), [0 255]); # checks unit 520s ***** fail ("getrangefromclass ('string')"); # fails with strings 520s ***** fail ("getrangefromclass ({3, 4})"); # fails with cells 520s 7 tests, 7 passed, 0 known failure, 0 skipped 520s [inst/imgetfile.m] 520s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imgetfile.m 520s ***** assert (1) 520s 1 test, 1 passed, 0 known failure, 0 skipped 520s [inst/medfilt2.m] 520s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/medfilt2.m 520s ***** shared b, f 520s b = [ 0 1 2 3 520s 1 8 12 12 520s 4 20 24 21 520s 7 22 25 18]; 520s f = [ 0 1 2 0 520s 1 4 12 3 520s 4 12 20 12 520s 0 7 20 0]; 520s ***** assert (medfilt2 (b), f); 520s 520s f = [ 0 1 2 3 520s 1 8 12 12 520s 4 20 24 18 520s 4 20 24 18]; 520s ***** assert (medfilt2 (b, true (3, 1)), f); 520s ***** assert (medfilt2 (b, [3 1]), f); 520s 520s f = [ 1 8 10 10 520s 1 8 12 12 520s 4 20 24 18 520s 7 20 24 18]; 520s ***** assert (medfilt2 (b, [3 1], 10), f); 520s ***** assert (medfilt2 (b, 10, [3 1]), f); 520s 520s f = [ 0.5 4.5 7.0 7.5 520s 2.5 14.0 18.0 15.0 520s 2.5 14.0 18.0 15.0 520s 2.0 10.0 12.0 9.0]; 520s ***** assert (medfilt2 (b, true (4, 1)), f); 520s ***** assert (medfilt2 (b, [4 1]), f); 520s ***** test 520s A = zeros (3, 3); 520s B = ones (3, 3); 520s C = [1 1 1; 2 2 2; 3 3 3]; 520s D = C'; 520s E = ones (3, 3); 520s E(2,2) = 2; 520s F = 3 .* ones (3, 3); 520s F(2,2) = 1; 520s G = [-1 2 7; -5 2 8; -7 pi 9]; 520s H = [5 2 8; 1 -3 1; 5 1 0]; 520s A_out = [0 0 0; 0 0 0; 0 0 0]; 520s B_out = [0 1 0; 1 1 1; 0 1 0]; 520s C_out = [0 1 0; 1 2 1; 0 2 0]; 520s D_out = [0 1 0; 1 2 2; 0 1 0]; 520s E_out = [0 1 0; 1 1 1; 0 1 0]; 520s F_out = [0 3 0; 3 3 3; 0 3 0]; 520s G_out = [0 0 0; 0 2 2; 0 0 0]; 520s H_out = [0 1 0; 1 1 0; 0 0 0]; 520s assert (medfilt2 (A), A_out); 520s assert (medfilt2 (B), B_out); 520s assert (medfilt2 (C), C_out); 520s assert (medfilt2 (D), D_out); 520s assert (medfilt2 (E), E_out); 520s assert (medfilt2 (F), F_out); 520s assert (medfilt2 (G), G_out); 520s assert (medfilt2 (H), H_out); 520s 8 tests, 8 passed, 0 known failure, 0 skipped 520s [inst/makelut.m] 520s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/makelut.m 520s ***** demo 520s makelut(@(x) sum(x(:))>=3, 2) 520s % Returns '1' if one or more values 520s % in the input matrix are 1 520s ***** 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 520s ***** assert(prod(makelut(@(x) x(1,1)==1, 2)==[zeros(2^3,1);ones(2^3,1)])==1); # test 2-by-2 520s ***** assert(prod(makelut(@(x) x(1,1)==1, 3)==[zeros(2^8,1);ones(2^8,1)])==1); # test 3-by-3 520s ***** assert(prod(makelut(@(x) x(1,1)==1, 4)==[zeros(2^15,1);ones(2^15,1)])==1); # test 4-by-4 521s ***** 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 521s 5 tests, 5 passed, 0 known failure, 0 skipped 521s [inst/qtdecomp.m] 521s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/qtdecomp.m 521s ***** demo 521s full(qtdecomp(eye(8))) 521s %It finds 2 big blocks of 0 and it decomposes further where 0 and 1 are mixed. 521s ***** # Test if odd-sized limits split 521s ***** assert(full(qtdecomp(eye(5))), reshape([5,zeros(1,24)],5,5)); 521s ***** assert(full(qtdecomp(eye(6))), repmat(reshape([3,zeros(1,8)],3,3),2,2)); 521s ***** # Test 'equal' method 521s ***** test 521s a=ones(2,2); 521s b=[2,0;0,0]; 521s assert(full(qtdecomp(eye(4))), [a,b;b,a]); 521s ***** shared A, B2, B4 521s A=[ 1, 4, 2, 5,54,55,61,62; 521s 3, 6, 3, 1,58,53,67,65; 521s 3, 6, 3, 1,58,53,67,65; 521s 3, 6, 3, 1,58,53,67,65; 521s 23,42,42,42,99,99,99,99; 521s 27,42,42,42,99,99,99,99; 521s 23,22,26,25,99,99,99,99; 521s 22,22,24,22,99,99,99,99]; 521s B2=[2,0;0,0]; 521s B4=zeros(4); B4(1,1)=4; 521s ***** test 521s R=[ones(4,8); [ones(2),B2;ones(2,4)], B4]; 521s assert(full(qtdecomp(A)), R); 521s assert(full(qtdecomp(A,0)), R); 521s ***** # Test 'threshold' method 521s ***** test 521s R=[ones(4,8); [ones(2),B2;B2,ones(2)],B4]; 521s assert(full(qtdecomp(A,1)), R); 521s ***** test 521s R=[[B4,[B2,B2;B2,B2]]; [[ones(2),B2;B2,B2],B4]]; 521s assert(full(qtdecomp(A,10)), R); 521s ***** test 521s R=[[B4,[B2,B2;B2,B2]]; [[B2,B2;B2,B2],B4]]; 521s assert(full(qtdecomp(A,10,2)), R); 521s 521s assert(full(qtdecomp(A,100,[2, 4])), [B4,B4;B4,B4]); 521s ***** test 521s f = @(A, c1 = 54, c2 = 0, c3 = 0) (A (1, 1, :) != ((c1+c2+c3) * ones (1, 1, size (A, 3))))(:); 521s 521s assert(full(qtdecomp(A,f)),[ones(4),B4;ones(4,8)]); 521s assert(full(qtdecomp(A,f,54)),[ones(4),B4;ones(4,8)]); 521s assert(full(qtdecomp(A,f,4,40,10)),[ones(4),B4;ones(4,8)]); 521s ***** test 521s ***** # no params 521s first_eq=inline("(A(1,1,:)!=(54*ones(1,1,size(A,3))))(:)","A"); 521s assert(full(qtdecomp(A,first_eq)),[ones(4),B4;ones(4,8)]); 521s ***** test 521s ***** # 1 param 521s first_eq=inline("(A(1,1,:)!=(c*ones(1,1,size(A,3))))(:)","A","c"); 521s assert(full(qtdecomp(A,first_eq,54)),[ones(4),B4;ones(4,8)]); 521s ***** test 521s ***** # 3 params 521s first_eq=inline("(A(1,1,:)!=((c1+c2+c3)*ones(1,1,size(A,3))))(:)","A","c1","c2","c3"); 521s assert(full(qtdecomp(A,first_eq,4,40,10)),[ones(4),B4;ones(4,8)]); 521s 11 tests, 11 passed, 0 known failure, 0 skipped 521s [inst/rgb2xyz.m] 521s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/rgb2xyz.m 521s ***** assert (rgb2xyz ([0 0 0]), [0, 0, 0], 1e-3) 521s ***** assert (rgb2xyz ([1 0 0]), [0.4125, 0.2127, 0.0193], 1e-3) 521s ***** assert (rgb2xyz ([1 1 0]), [0.7700, 0.9278, 0.1385], 1e-3) 521s ***** assert (rgb2xyz ([0 1 0]), [0.3576, 0.7152, 0.1192], 1e-3) 521s ***** assert (rgb2xyz ([0 1 1]), [0.5380, 0.7873, 1.0694], 1e-3) 521s ***** assert (rgb2xyz ([0 0 1]), [0.1804, 0.0722, 0.9502], 1e-3) 521s ***** assert (rgb2xyz ([1 0 1]), [0.5929, 0.2848, 0.9696], 1e-3) 521s ***** assert (rgb2xyz ([1 1 1]), [0.9505, 1.0000, 1.0888], 1e-3) 521s ***** assert (rgb2xyz ([0.5 0.5 0.5]), [0.2034, 0.2140, 0.2330], 1e-3) 521s ***** assert (rgb2xyz ([0.75 0 0]), [0.2155, 0.1111, 0.0101], 1e-3) 521s ***** assert (rgb2xyz ([0.5 0 0]), [0.0883, 0.0455, 0.0041], 1e-3) 521s ***** assert (rgb2xyz ([0.25 0 0]), [0.0210, 0.0108, 0.0010], 1e-3) 521s ***** assert (rgb2xyz ([1 0.5 0.5]), [0.5276, 0.3812, 0.2482], 1e-3) 521s ***** assert (rgb2xyz ([1.5 1 1]), [1.5845, 1.3269, 1.1185], 1e-3) 521s ***** test 521s rgb_map = rand (64, 3); 521s assert (xyz2rgb (rgb2xyz (rgb_map)), rgb_map, 2e-5); 521s ***** test 521s rgb_img = rand (64, 64, 3); 521s assert (xyz2rgb (rgb2xyz (rgb_img)), rgb_img, 2e-5); 521s ***** assert (rgb2xyz (sparse ([0 0 0])), [0 0 0], 1e-3) 521s ***** assert (rgb2xyz (sparse ([0 0 1])), [0.1804, 0.0722, 0.9502], 1e-3) 521s ***** assert (rgb2xyz (uint8([255 255 255])), [0.9505, 1.0000, 1.0888], 1e-3) 521s ***** assert (class (rgb2xyz (single([1 1 1]))), 'single') 521s ***** error rgb2xyz () 521s ***** error rgb2xyz (1,2) 521s ***** error rgb2xyz ({1}) 521s ***** error rgb2xyz (ones (2,2)) 521s ***** test 521s rgb = rand (16, 16, 3, 5); 521s xyz = zeros (size (rgb)); 521s for i = 1:5 521s xyz(:,:,:,i) = rgb2xyz (rgb(:,:,:,i)); 521s endfor 521s assert (rgb2xyz (rgb), xyz) 521s 25 tests, 25 passed, 0 known failure, 0 skipped 521s [inst/imextendedmin.m] 521s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imextendedmin.m 521s ***** shared im0, bw0_h2_out 521s im0 = uint8 ([5 5 5 5 5; 521s 5 4 3 4 5; 521s 5 3 0 3 5; 521s 5 4 3 4 5; 521s 5 5 5 5 5]); 521s bw0_h2_out = false (5); 521s bw0_h2_out(3,3) = true; 521s ***** error imextendedmin () 522s ***** error imextendedmin (im0) 522s ***** error imextendedmin ("hello", 2) 522s ***** error imextendedmin (i.*im0, 2) 522s ***** error imextendedmin (sparse (im0), 2) 522s ***** error imextendedmin (im0, -2) 522s ***** error imextendedmin (im0, 'a') 522s ***** error imextendedmin (im0, ones (2)) 522s ***** error imextendedmin (im0, 2*i) 522s ***** assert (imextendedmin (im0, 2), bw0_h2_out) 522s ***** assert (imextendedmin (double (im0), 2), bw0_h2_out) 522s ***** assert (imextendedmin (im0, 2, 8), bw0_h2_out) 522s ***** assert (imextendedmin (im0, 2, 4), bw0_h2_out) 522s ***** assert (imextendedmin (im0, 2, true (3)), bw0_h2_out) 522s ***** test 522s out = imextendedmin (im0, 2); 522s assert (size (out), size (im0)) 522s assert (class (out), "logical") 522s ***** test 522s out = imextendedmin (single (im0), 2); 522s assert (size (out), size (im0)) 522s assert (class (out), "logical") 522s ***** test 522s out = imextendedmin (uint8 (im0), 2); 522s assert (size (out), size (im0)) 522s assert (class (out), "logical") 522s ***** test 522s out = imextendedmin (uint16 (im0), 2); 522s assert (size (out), size (im0)) 522s assert (class (out), "logical") 522s ***** test 522s im = cat (3, im0, im0, im0, im0); 522s out = imextendedmin (im, 2); 522s assert (size (out), size (im)) 522s ***** test 522s im = 10 .* ones (10); 522s im(2:4, 2:4) = 7; 522s im(6:8, 6:8) = 2; 522s expected_4 = false (10); 522s expected_4(6:8, 6:8) = true; 522s expected_2 = expected_4; 522s expected_2(2:4, 2:4) = true; 522s out = imextendedmin (im, 4); 522s assert (out, expected_4, eps) 522s out = imextendedmin (0.1.*im, 0.4); 522s assert (out, expected_4, eps) 522s out = imextendedmin (im, 2); 522s assert (out, expected_2, eps) 522s ***** test 522s im2 = 10 .* ones (10); 522s im2(2:4, 2:4) = 7; 522s im2(6:9, 6:9)=2; 522s im2(5, 5)=2; 522s im2(6, 7)=10; 522s im2(7, 8)=10; 522s expected_8 = false (10); 522s expected_8(6:9, 6:9) = true; 522s expected_8(5, 5) = true; 522s expected_8(6, 7) = false; 522s expected_8(7, 8) = false; 522s expected_4 = expected_8; 522s expected_4(2:4, 2:4) = true; 522s out2 = imextendedmin (im2, 2); 522s assert (out2, expected_8, eps) 522s out2 = imextendedmin (im2, 2, 4); 522s assert (out2, expected_4, eps) 522s out2 = imextendedmin (im2, 2, 8); 522s assert (out2, expected_8, eps) 522s 21 tests, 21 passed, 0 known failure, 0 skipped 522s [inst/imsubtract.m] 522s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imsubtract.m 522s ***** assert (imsubtract (uint8 ([23 250]), uint8 ([24 50])), uint8 ([ 0 200])); # default to first class and truncate 522s ***** assert (imsubtract (uint8 ([23 250]), 10), uint8 ([13 240])); # works subtracting a scalar 522s ***** assert (imsubtract (uint8 ([23 250]), uint8 ([24 50]), "uint16"), uint16 ([ 0 200])); # defining output class works (not in matlab) 522s ***** assert (imsubtract (logical ([ 1 0]), logical ([ 1 1])), double ([ 0 -1])); # return double for two logical images 522s ***** assert (imsubtract (logical ([ 1 0]), logical ([ 1 1]), "logical"), logical ([ 0 0])); # this is matlab incompatible on purpose 522s ***** error imsubtract (uint8 ([23 250]), uint16 ([23 250])); 522s ***** warning imsubtract (uint8 ([23 250]), uint8 ([24 255]), "int8"); 522s ***** test 522s warning ("off", "all"); 522s assert (imsubtract (uint8 ([23 250]), uint8 ([24 255]), "int8"), 522s int8 ([-1 0])) 522s 8 tests, 8 passed, 0 known failure, 0 skipped 522s [inst/normxcorr2.m] 522s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/normxcorr2.m 522s ***** function offsets = get_max_offsets (c) 522s l = find (c == max (c(:))); 522s offsets = nthargout (1:ndims (c), @ind2sub, size (c), l); 522s ***** endfunction 522s ***** test 522s row_shift = 18; 522s col_shift = 20; 522s a = randi (255, 30, 30); 522s b = a(row_shift-10:row_shift, col_shift-7:col_shift); 522s c = normxcorr2 (b, a); 522s ## should return exact coordinates 522s assert (get_max_offsets (c), {row_shift col_shift}); 522s 522s ## Even with some small noise, should return exact coordinates 522s b = imnoise (b, "gaussian"); 522s c = normxcorr2 (b, a); 522s assert (get_max_offsets (c), {row_shift col_shift}); 522s ***** xtest 522s a = rand (10, 10); 522s c = normxcorr2 (a(5:7, 6:9), a); 522s assert (c(7, 9), 1, eps*100); 522s ***** test 522s a = 10 * randn (100, 100); 522s auto = normxcorr2 (a, a); 522s add_in = normxcorr2 (a, -a); 522s assert (auto, -add_in); 522s ***** test 522s a = 10 * randn (50, 50); 522s b = 10 * randn (100, 100); 522s do 522s scale = 100 * rand (); 522s until (scale != 0) 522s 522s assert (max ((normxcorr2 (scale*a,b) - normxcorr2 (a,b))(:)), 0, 1e-10); 522s assert (max ((normxcorr2 (a,scale*b) - normxcorr2 (a,b))(:)), 0, 1e-10); 522s 522s a_shift1 = a + scale * ones (size (a)); 522s b_shift1 = b + scale * ones (size (b)); 522s a_shift2 = a - scale * ones (size (a)); 522s b_shift2 = b - scale * ones (size (b)); 522s assert (max ((normxcorr2 (a_shift1,b) - normxcorr2 (a,b))(:)), 0, 1e-10); 522s assert (max ((normxcorr2 (a,b_shift1) - normxcorr2 (a,b))(:)), 0, 1e-10); 522s assert (max ((normxcorr2 (a_shift2,b) - normxcorr2 (a,b))(:)), 0, 1e-10); 522s assert (max ((normxcorr2 (a,b_shift2) - normxcorr2 (a,b))(:)), 0, 1e-10); 522s ***** test 522s a = randi (100, 15, 15, 15); 522s c = normxcorr2 (a(5:10, 2:6, 3:7), a); 522s assert (get_max_offsets (c), {10 6 7}); 522s 522s a = randi (100, 15, 15, 15); 522s c = normxcorr2 (a(5:10, 2:6, 1:1), a); 522s assert (get_max_offsets (c), {10 6 1}); 522s ***** warning normxcorr2 (rand (20), rand (5)); 522s ***** error normxcorr2 (rand (5)); 522s ***** error normxcorr2 (rand (5), rand (20), 2); 522s ***** test 522s a = [ 252 168 50 1 59; 522s 114 0 0 0 0] ./ 255; 522s b = [ 1 171 255 255 255 255 240 71 131 254 255 255 255; 522s 0 109 254 255 255 233 59 0 131 254 255 255 255; 522s 76 13 195 253 194 34 0 19 217 255 255 255 255; 522s 110 0 0 0 0 0 3 181 255 255 255 255 255; 522s 153 0 0 0 0 2 154 254 255 255 255 255 255]./255; 522s c = normxcorr2 (a, b); 522s assert (max (imag (c(:))), 0); 522s ***** test 522s img = [1 1 1 0]; 522s t = [1 1 0]; 522s c = normxcorr2 (t, img); 522s assert (c(3), 0) 522s 10 tests, 10 passed, 0 known failure, 0 skipped 522s [inst/im2single.m] 522s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/im2single.m 522s ***** assert (im2single (single ([1 2 3])), single ([1 2 3])); 522s ***** assert (im2single ([1 2 3]), single ([1 2 3])); 522s ***** assert (im2single (uint8 ([0 127 128 255])), single ([0 127/255 128/255 1])); 522s ***** assert (im2single (uint16 ([0 127 128 65535])), single ([0 127/65535 128/65535 1])); 522s ***** assert (im2single (int16 ([-32768 -32767 -32766 32767])), single ([0 1/65535 2/65535 1])); 522s ***** assert (im2single (uint8 ([0 1 255]), "indexed"), single ([1 2 256])); 522s ***** assert (im2single (uint16 ([0 1 2557]), "indexed"), single ([1 2 2558])); 522s ***** assert (im2single ([3 25], "indexed"), single ([3 25])); 522s ***** error im2single ([0 1 2], "indexed"); 522s ***** error im2single (int16 ([17 8]), "indexed"); 522s ***** error im2single (int16 ([-7 8]), "indexed"); 522s ***** error im2single ([false true], "indexed"); 522s 12 tests, 12 passed, 0 known failure, 0 skipped 522s [inst/imgradientxy.m] 522s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imgradientxy.m 522s ***** test 522s A = [0 1 0 522s 1 1 1 522s 0 1 0]; 522s 522s [gxSobel, gySobel] = imgradientxy (A); 522s [gxSobel2, gySobel2] = imgradientxy (A, "Sobel"); 522s assert (gxSobel, 522s [ 3 0 -3 522s 4 0 -4 522s 3 0 -3]); 522s assert (gySobel, 522s [ 3 4 3 522s 0 0 0 522s -3 -4 -3]); 522s 522s ## test default method 522s assert(gxSobel, gxSobel2); 522s assert(gySobel, gySobel2); 522s 522s [gxPrewitt, gyPrewitt] = imgradientxy (A, "Prewitt"); 522s assert (gxPrewitt, 522s [ 2 0 -2 522s 3 0 -3 522s 2 0 -2]); 522s assert (gyPrewitt, 522s [ 2 3 2 522s 0 0 0 522s -2 -3 -2]); 522s 522s [gxCd, gyCd] = imgradientxy (A, "CentralDifference"); 522s assert (gxCd, 522s [ 0.5 0.0 -0.5 522s 0.5 0.0 -0.5 522s 0.5 0.0 -0.5]); 522s assert (gyCd, 522s [ 0.5 0.5 0.5 522s 0 0 0 522s -0.5 -0.5 -0.5]); 522s 522s [gxCd, gyCd] = imgradientxy (A, "Central"); 522s assert (gxCd, 522s [ 0.5 0.0 -0.5 522s 0.5 0.0 -0.5 522s 0.5 0.0 -0.5]); 522s assert (gyCd, 522s [ 0.5 0.5 0.5 522s 0 0 0 522s -0.5 -0.5 -0.5]); 522s 522s [gxId, gyId] = imgradientxy(A, "IntermediateDifference"); 522s assert (gxId, 522s [ 1 -1 0 522s 0 0 -1 522s 1 -1 0]); 522s assert (gyId, 522s [ 1 0 1 522s -1 0 -1 522s 0 -1 0]); 522s 522s [gxId, gyId] = imgradientxy(A, "Intermediate"); 522s assert (gxId, 522s [ 1 -1 0 522s 0 0 -1 522s 1 -1 0]); 522s assert (gyId, 522s [ 1 0 1 522s -1 0 -1 522s 0 -1 0]); 522s 1 test, 1 passed, 0 known failure, 0 skipped 522s [inst/imtranslate.m] 522s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/imtranslate.m 522s ***** test 522s obs = imtranslate (ones (5, 5), 2, 1, "crop"); 522s exp = zeros (5, 5); 522s exp(1:4, 3:5) = 1; 522s assert (obs, exp, eps * 10) 522s 522s obs = imtranslate (ones (5, 5), -2, -1, "crop"); 522s exp = zeros (5, 5); 522s exp(2:5, 1:3) = 1; 522s assert (obs, exp, eps * 10) 522s 1 test, 1 passed, 0 known failure, 0 skipped 522s [inst/cp2tform.m] 522s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/inst/cp2tform.m 522s ***** function [crw, cap] = coords (npt = 1000, scale = 2, dtheta = pi/3, 522s dx = 2, dy = -6, sig2noise = 1e32) 522s theta = (rand(npt, 1)*2-1)*2*pi; 522s R = rand(npt,1); 522s y = R.*sin(theta); 522s x = R.*cos(theta); 522s crw = [y x]; 522s 522s thetap = theta + dtheta; 522s Rap = R * scale; 522s 522s yap = Rap.*sin(thetap); 522s yap = yap + dy; 522s yap = yap + rand (size (yap)) * norm (yap) / sig2noise; 522s 522s xap = Rap.*cos(thetap); 522s xap = xap + dx; 522s xap = xap + rand (size (xap)) * norm (xap) / sig2noise; 522s cap = [yap xap]; 522s ***** endfunction 522s ***** test 522s npt = 100000; 522s [crw, cap] = coords (npt); 522s ttype = 'projective'; 522s T = cp2tform (crw, cap, ttype); 522s crw2 = tforminv (T, cap); 522s finalerr = norm (crw - crw2)/npt; 522s assert (finalerr < 2*eps, "norm = %3.2e ( > 2*eps)", finalerr) 523s ***** test 523s npt = 100000; 523s [crw, cap] = coords (npt); 523s ttype = 'affine'; 523s T = cp2tform (crw, cap, ttype); 523s crw2 = tforminv (T, cap); 523s finalerr = norm (crw - crw2)/npt; 523s assert (finalerr < 2*eps, "norm = %3.2e ( > 2*eps)", finalerr) 523s ***** xtest 523s npt = 100000; 523s [crw, cap] = coords (npt); 523s ttype = 'nonreflective similarity'; 523s T = cp2tform (crw, cap, ttype); 523s crw2 = tforminv (T, cap); 523s finalerr = norm (crw - crw2)/npt; 523s assert (finalerr < 3*eps, "norm = %3.2e ( > 3*eps)", finalerr) 523s ***** test 523s npt = 100000; 523s [crw, cap] = coords (npt); 523s cap(:,2) *= -1; % reflection around y axis 523s ttype = 'similarity'; 523s T = cp2tform (crw, cap, ttype); 523s crw2 = tforminv (T, cap); 523s finalerr = norm (crw - crw2)/npt; 523s assert (finalerr < 3*eps, "norm = %3.2e ( > 3*eps)", finalerr) 523s ***** xtest 523s npt = 100000; 523s [crw, cap] = coords (npt); 523s ttype = 'polynomial'; 523s ord = 2; 523s T = cp2tform (crw, cap, ttype, ord); 523s crw2 = tforminv (T, cap); 523s finalerr = norm (crw - crw2)/npt; 523s assert (finalerr < eps, "norm = %3.2e ( > eps)", finalerr) 523s ***** xtest 523s npt = 100000; 523s [crw, cap] = coords (npt); 523s ttype = 'polynomial'; 523s ord = 3; 523s T = cp2tform (crw, cap, ttype, ord); 523s crw2 = tforminv (T, cap); 523s finalerr = norm (crw - crw2)/npt; 523s assert (finalerr < eps, "norm = %3.2e ( > eps)", finalerr) 523s ***** xtest 523s npt = 100000; 523s [crw, cap] = coords (npt); 523s ttype = 'polynomial'; 523s ord = 4; 523s T = cp2tform (crw, cap, ttype, ord); 523s crw2 = tforminv (T, cap); 523s finalerr = norm (crw - crw2)/npt; 523s assert (finalerr < 6*eps, "norm = %3.2e ( > 6*eps)", finalerr) 523s 7 tests, 7 passed, 0 known failure, 0 skipped 523s Checking C++ files ... 523s [src/intlut.cc] 523s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/src/intlut.cc 523s ***** assert (intlut (uint8 (1:4), uint8 ( 255:-1:0)), uint8 (254:-1:251)); 523s ***** assert (intlut (uint16 (1:4), uint16 (65535:-1:0)), uint16 (65534:-1:65531)); 523s ***** assert (intlut (int16 (1:4), int16 (32767:-1:-32768)), int16 (-2:-1:-5)); 523s ***** assert (intlut (uint8 (255), uint8 (0:255)), uint8 (255)); 523s ***** assert (intlut (uint16 (65535), uint16 (0:65535)), uint16 (65535)); 523s ***** assert (intlut (int16 (32767), int16 (-32768:32767)), int16 (32767)); 523s ***** error intlut () 523s ***** error intlut ("text") 523s ***** error intlut (1:20, uint8 (0:255)); 523s ***** error intlut (uint16 (1:20), uint8 (0:255)); 523s ***** error intlut (uint8 (1:20), uint8 (0:200)); 523s ***** error intlut (uint16 (1:20), uint16 (0:500)); 523s ***** error intlut (uint8 (56), uint8 (magic (16) -1)) 523s 13 tests, 13 passed, 0 known failure, 0 skipped 523s [src/hough_line.cc] 523s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/src/hough_line.cc 523s ***** test 523s I = zeros(100, 100); 523s I(1,1) = 1; I(100,100) = 1; I(1,100) = 1; I(100, 1) = 1; I(50,50) = 1; 523s [J, R] = houghtf(I); J = J / max(J(:)); 523s assert(size(J) == [length(R) 181]); 523s 523s ***** demo 523s I = zeros(100, 150); 523s I(30,:) = 1; I(:, 65) = 1; I(35:45, 35:50) = 1; 523s for i = 1:90, I(i,i) = 1;endfor 523s I = imnoise(I, 'salt & pepper'); 523s imshow(I); 523s J = houghtf(I); J = J / max(J(:)); 523s imshow(J); 523s 1 test, 1 passed, 0 known failure, 0 skipped 523s [src/bwlabeln.cc] 523s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/src/bwlabeln.cc 523s ***** shared a2d, a3d 523s a2d = [1 0 0 0 0 0 1 0 0 1 523s 1 0 0 1 0 1 0 1 0 1 523s 1 0 1 0 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 1 0 0 0 0 0 0 0 0 523s 1 1 0 1 1 1 0 0 0 0 523s 1 1 0 1 0 0 0 1 0 0 523s 1 1 0 0 0 0 1 0 1 0 523s 1 1 0 0 0 0 0 0 0 0 523s 1 1 0 0 0 1 1 0 0 1]; 523s 523s a3d = a2d; 523s a3d(:,:,2) = [ 523s 0 0 0 0 0 0 0 0 0 0 523s 1 0 0 1 1 0 0 1 0 0 523s 0 0 0 1 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 1 0 0 0 0 0 0 0 0 523s 1 1 0 0 1 1 0 0 0 0 523s 1 1 0 1 0 0 0 0 0 0 523s 1 0 0 0 0 0 1 0 0 0 523s 0 1 0 0 0 0 0 0 0 1 523s 1 1 0 0 0 0 1 0 0 0]; 523s 523s a3d(:,:,3) = [ 523s 1 0 0 0 0 0 0 0 0 0 523s 0 1 0 1 1 0 0 1 0 0 523s 0 0 0 1 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 0 0 1 1 1 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 1 0 0 0 0 0 0 0 0 0 523s 1 1 0 0 0 0 0 0 0 1 523s 1 1 0 0 0 0 0 0 0 0]; 523s ***** test 523s label2dc4 = [ 523s 1 0 0 0 0 0 8 0 0 13 523s 1 0 0 4 0 6 0 10 0 13 523s 1 0 3 0 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 2 0 0 0 0 0 0 0 0 523s 2 2 0 5 5 5 0 0 0 0 523s 2 2 0 5 0 0 0 11 0 0 523s 2 2 0 0 0 0 9 0 12 0 523s 2 2 0 0 0 0 0 0 0 0 523s 2 2 0 0 0 7 7 0 0 14]; 523s assert (bwlabeln (a2d, 4), label2dc4) 523s assert (bwlabeln (a2d, [0 1 0; 1 1 1; 0 1 0]), label2dc4) 523s assert (bwlabeln (a2d, conndef (2, "minimal")), label2dc4) 523s assert (bwlabeln (a2d, conndef (3, "minimal")), label2dc4) 523s ***** test 523s label2dc8 = [ 523s 1 0 0 0 0 0 5 0 0 8 523s 1 0 0 3 0 5 0 5 0 8 523s 1 0 3 0 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 2 0 0 0 0 0 0 0 0 523s 2 2 0 4 4 4 0 0 0 0 523s 2 2 0 4 0 0 0 7 0 0 523s 2 2 0 0 0 0 7 0 7 0 523s 2 2 0 0 0 0 0 0 0 0 523s 2 2 0 0 0 6 6 0 0 9]; 523s assert (bwlabeln (a2d, 8), label2dc8) 523s assert (bwlabeln (a2d, ones (3)), label2dc8) 523s assert (bwlabeln (a2d, conndef (2, "maximal")), label2dc8) 523s assert (bwlabeln (a2d, conndef (3, "maximal")), label2dc8) 523s ***** test 523s label3dc8 = [ 523s 1 0 0 0 0 0 5 0 0 8 523s 1 0 0 3 0 5 0 5 0 8 523s 1 0 3 0 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 2 0 0 0 0 0 0 0 0 523s 2 2 0 4 4 4 0 0 0 0 523s 2 2 0 4 0 0 0 7 0 0 523s 2 2 0 0 0 0 7 0 7 0 523s 2 2 0 0 0 0 0 0 0 0 523s 2 2 0 0 0 6 6 0 0 9]; 523s label3dc8(:,:,2) = [ 523s 0 0 0 0 0 0 0 0 0 0 523s 10 0 0 12 12 0 0 16 0 0 523s 0 0 0 12 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 11 0 0 0 0 0 0 0 0 523s 11 11 0 0 13 13 0 0 0 0 523s 11 11 0 13 0 0 0 0 0 0 523s 11 0 0 0 0 0 14 0 0 0 523s 0 11 0 0 0 0 0 0 0 17 523s 11 11 0 0 0 0 15 0 0 0]; 523s label3dc8(:,:,3) = [ 523s 18 0 0 0 0 0 0 0 0 0 523s 0 18 0 20 20 0 0 22 0 0 523s 0 0 0 20 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 0 0 21 21 21 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 19 0 0 0 0 0 0 0 0 0 523s 19 19 0 0 0 0 0 0 0 23 523s 19 19 0 0 0 0 0 0 0 0]; 523s assert (bwlabeln (a3d, 8), label3dc8) 523s assert (bwlabeln (a3d, ones (3, 3)), label3dc8) 523s assert (bwlabeln (a3d, conndef (2, "maximal")), label3dc8) 523s ***** test 523s label3dc26 = [ 523s 1 0 0 0 0 0 3 0 0 7 523s 1 0 0 3 0 3 0 3 0 7 523s 1 0 3 0 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 2 0 0 0 0 0 0 0 0 523s 2 2 0 4 4 4 0 0 0 0 523s 2 2 0 4 0 0 0 6 0 0 523s 2 2 0 0 0 0 6 0 6 0 523s 2 2 0 0 0 0 0 0 0 0 523s 2 2 0 0 0 5 5 0 0 6]; 523s label3dc26(:,:,2) = [ 523s 0 0 0 0 0 0 0 0 0 0 523s 1 0 0 3 3 0 0 3 0 0 523s 0 0 0 3 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 2 0 0 0 0 0 0 0 0 523s 2 2 0 0 4 4 0 0 0 0 523s 2 2 0 4 0 0 0 0 0 0 523s 2 0 0 0 0 0 6 0 0 0 523s 0 2 0 0 0 0 0 0 0 6 523s 2 2 0 0 0 0 5 0 0 0]; 523s label3dc26(:,:,3) = [ 523s 1 0 0 0 0 0 0 0 0 0 523s 0 1 0 3 3 0 0 3 0 0 523s 0 0 0 3 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 0 0 4 4 4 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 2 0 0 0 0 0 0 0 0 0 523s 2 2 0 0 0 0 0 0 0 6 523s 2 2 0 0 0 0 0 0 0 0]; 523s assert (bwlabeln (a3d, 26), label3dc26) 523s assert (bwlabeln (a3d, ones (3, 3, 3)), label3dc26) 523s assert (bwlabeln (a3d, conndef (3, "maximal")), label3dc26) 523s ***** test 523s label3dc18 = [ 523s 1 0 0 0 0 0 3 0 0 7 523s 1 0 0 3 0 3 0 3 0 7 523s 1 0 3 0 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 2 0 0 0 0 0 0 0 0 523s 2 2 0 4 4 4 0 0 0 0 523s 2 2 0 4 0 0 0 6 0 0 523s 2 2 0 0 0 0 6 0 6 0 523s 2 2 0 0 0 0 0 0 0 0 523s 2 2 0 0 0 5 5 0 0 8]; 523s label3dc18(:,:,2) = [ 523s 0 0 0 0 0 0 0 0 0 0 523s 1 0 0 3 3 0 0 3 0 0 523s 0 0 0 3 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 2 0 0 0 0 0 0 0 0 523s 2 2 0 0 4 4 0 0 0 0 523s 2 2 0 4 0 0 0 0 0 0 523s 2 0 0 0 0 0 6 0 0 0 523s 0 2 0 0 0 0 0 0 0 8 523s 2 2 0 0 0 0 5 0 0 0]; 523s label3dc18(:,:,3) = [ 523s 1 0 0 0 0 0 0 0 0 0 523s 0 1 0 3 3 0 0 3 0 0 523s 0 0 0 3 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 0 0 4 4 4 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 2 0 0 0 0 0 0 0 0 0 523s 2 2 0 0 0 0 0 0 0 8 523s 2 2 0 0 0 0 0 0 0 0]; 523s assert (bwlabeln (a3d, 18), label3dc18) 523s ***** test 523s label2dc3 = [ 523s 1 0 0 0 0 0 11 0 0 17 523s 1 0 0 5 0 8 0 14 0 17 523s 1 0 4 0 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 3 0 0 0 0 0 0 0 0 523s 2 3 0 6 7 9 0 0 0 0 523s 2 3 0 6 0 0 0 15 0 0 523s 2 3 0 0 0 0 12 0 16 0 523s 2 3 0 0 0 0 0 0 0 0 523s 2 3 0 0 0 10 13 0 0 18]; 523s assert (bwlabeln (a2d, [1 1 1]'), label2dc3) 523s 523s label3dc3 = label2dc3; 523s label3dc3(:,:,2) = [ 523s 0 0 0 0 0 0 0 0 0 0 523s 19 0 0 24 26 0 0 31 0 0 523s 0 0 0 24 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 22 0 0 0 0 0 0 0 0 523s 20 22 0 0 27 28 0 0 0 0 523s 20 22 0 25 0 0 0 0 0 0 523s 20 0 0 0 0 0 29 0 0 0 523s 0 23 0 0 0 0 0 0 0 32 523s 21 23 0 0 0 0 30 0 0 0]; 523s label3dc3(:,:,3) = [ 523s 33 0 0 0 0 0 0 0 0 0 523s 0 35 0 37 39 0 0 42 0 0 523s 0 0 0 37 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 0 0 38 40 41 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 34 0 0 0 0 0 0 0 0 0 523s 34 36 0 0 0 0 0 0 0 43 523s 34 36 0 0 0 0 0 0 0 0]; 523s assert (bwlabeln (a3d, [1 1 1]'), label3dc3) 523s ***** test 523s label2dc1 = zeros (size (a2d)); 523s label2dc1(a2d != 0) = 1:nnz (a2d); 523s assert (bwlabeln (a2d, [1]), label2dc1); 523s assert (bwlabeln (a2d, [0 1 0]'), label2dc1); 523s 523s label3dc1 = zeros (size (a3d)); 523s label3dc1(a3d != 0) = 1:nnz (a3d); 523s assert (bwlabeln (a3d, [1]), label3dc1); 523s assert (bwlabeln (a3d, [0 1 0]'), label3dc1); 523s ***** shared in 523s in = rand (10) > 0.8; 523s ***** assert (bwlabel (in, 4), bwlabeln (in, 4)); 523s ***** assert (bwlabel (in, 4), bwlabeln (in, [0 1 0; 1 1 1; 0 1 0])); 523s ***** assert (bwlabel (in, 8), bwlabeln (in, 8)); 523s ***** assert (bwlabel (in, 8), bwlabeln (in, [1 1 1; 1 1 1; 1 1 1])); 523s ***** assert (bwlabel (logical ([0 1 0; 0 0 0; 1 0 1])), [0 2 0; 0 0 0; 1 0 3]); 523s ***** assert (bwlabel ([0 1 0; 0 0 0; 1 0 1]), [0 2 0; 0 0 0; 1 0 3]); 523s ***** assert (bwlabel ([0 -1 0; 0 0 0; 5 0 0.2]), [0 2 0; 0 0 0; 1 0 3]); 523s ***** shared in, out 523s 523s in = [ 0 1 1 0 0 1 0 0 0 0 523s 0 0 0 1 0 0 0 0 0 1 523s 0 1 1 0 0 0 0 0 1 1 523s 1 0 0 0 0 0 0 1 0 0 523s 0 0 0 0 0 1 1 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 0 0 1 0 0 0 0 0 0 523s 0 0 0 0 1 1 0 1 0 0 523s 0 0 0 1 0 1 0 1 0 1 523s 1 1 0 0 0 0 0 1 1 0]; 523s 523s out = [ 0 3 3 0 0 9 0 0 0 0 523s 0 0 0 5 0 0 0 0 0 13 523s 0 4 4 0 0 0 0 0 13 13 523s 1 0 0 0 0 0 0 11 0 0 523s 0 0 0 0 0 10 10 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 0 0 6 0 0 0 0 0 0 523s 0 0 0 0 8 8 0 12 0 0 523s 0 0 0 7 0 8 0 12 0 14 523s 2 2 0 0 0 0 0 12 12 0]; 523s ***** assert (nthargout ([1 2], @bwlabel, in, 4), {out, 14}); 523s ***** assert (nthargout ([1 2], @bwlabel, logical (in), 4), {out, 14}); 523s 523s out = [ 0 3 3 0 0 7 0 0 0 0 523s 0 0 0 3 0 0 0 0 0 11 523s 0 4 4 0 0 0 0 0 11 11 523s 1 0 0 0 0 0 0 9 0 0 523s 0 0 0 0 0 8 8 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 0 0 5 0 0 0 0 0 0 523s 0 0 0 0 5 5 0 10 0 0 523s 0 0 0 6 0 5 0 10 0 12 523s 2 2 0 0 0 0 0 10 10 0]; 523s ***** assert (nthargout ([1 2], @bwlabel, in, 6), {out, 12}); 523s ***** assert (nthargout ([1 2], @bwlabel, logical (in), 6), {out, 12}); 523s 523s ## The labeled image is not the same as Matlab, but they are 523s ## labeled correctly. Do we really need to get them properly 523s ## ordered? (the algorithm in bwlabeln does it) 523s mout = [0 1 1 0 0 4 0 0 0 0 523s 0 0 0 1 0 0 0 0 0 5 523s 0 1 1 0 0 0 0 0 5 5 523s 1 0 0 0 0 0 0 5 0 0 523s 0 0 0 0 0 5 5 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 0 0 3 0 0 0 0 0 0 523s 0 0 0 0 3 3 0 6 0 0 523s 0 0 0 3 0 3 0 6 0 6 523s 2 2 0 0 0 0 0 6 6 0]; 523s 523s out = [ 0 2 2 0 0 4 0 0 0 0 523s 0 0 0 2 0 0 0 0 0 5 523s 0 2 2 0 0 0 0 0 5 5 523s 2 0 0 0 0 0 0 5 0 0 523s 0 0 0 0 0 5 5 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 0 0 0 3 0 0 0 0 0 0 523s 0 0 0 0 3 3 0 6 0 0 523s 0 0 0 3 0 3 0 6 0 6 523s 1 1 0 0 0 0 0 6 6 0]; 523s ***** assert (nthargout ([1 2], @bwlabel, in, 8), {out, 6}); 523s ***** assert (nthargout ([1 2], @bwlabel, logical (in), 8), {out, 6}); 523s 523s ***** error bwlabel (rand (10, 10, 10) > 0.8, 4) 523s ***** error bwlabel (rand (10) > 0.8, "text") 523s ***** error bwlabel ("text", 6) 523s 23 tests, 23 passed, 0 known failure, 0 skipped 523s [src/graycomatrix.cc] 523s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/src/graycomatrix.cc 523s ***** shared a 523s ***** test 523s a = [0 0 0 1 2; 523s 1 1 0 1 1; 523s 2 2 1 0 0; 523s 1 1 0 2 0; 523s 0 0 1 0 1]; 523s squeeze(graycomatrix(a, 3, 1, -pi/4)) == [4 2 0; 523s 2 3 2; 523s 1 2 0]; 523s 523s ***** assert(size(graycomatrix(a, 3, 1:5, [0:3]*-pi/4)), [3, 3, 5, 4]) 523s ***** demo 523s 523s # Pattern Recognition Engineering (Nadler & Smith) 523s # Digital Image Processing (Gonzales & Woods), p. 668 523s 523s a = [0 0 0 1 2; 523s 1 1 0 1 1; 523s 2 2 1 0 0; 523s 1 1 0 2 0; 523s 0 0 1 0 1]; 523s 523s graycomatrix(a, 3, 1, [0 1]*-pi/4) 523s 523s 2 tests, 2 passed, 0 known failure, 0 skipped 523s [src/watershed.cc] 523s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/src/watershed.cc 523s ***** test 523s ex = tril (ones (50), -1) + triu (repmat (2, [50 50]), 2); 523s ex(1, 1) = 1; 523s ex(end, end) = 1; 523s 523s in = ones (50); 523s in(end,1) = 0; 523s in(1,end) = 0; 523s assert (watershed (in), ex) 523s ***** test 523s ex = tril (ones (49), -1) + triu (repmat (2, [49 49]), 2); 523s ex(1, 1) = 1; 523s ex(end, end) = 1; 523s 523s in = ones (49); 523s in(end,1) = 0; 523s in(1,end) = 0; 523s assert (watershed (in), ex) 523s 523s c = (fspecial ('disk', 5) > 0) + 1; 523s in(20:30,20:30) = c; 523s c = (fspecial ('disk', 4) > 0) + 2; 523s in(21:29,21:29) = c; 523s assert (watershed (in), ex) 523s ***** test 523s ex = tril (ones (49), -1) + triu (repmat (2, [49 49]), 2); 523s ex(1:28,1:28) = (tril (ones (28) ,7) + triu (repmat (2, [28 28]), 10)); 523s ex(1,9) = 1; 523s ex(end,end) = 1; 523s ex(20:29, 29) = 0; 523s 523s in = ones (49); 523s in(end,1) = 0; 523s in(1,end) = 0; 523s c = (fspecial ("disk", 5) > 0) + 1; 523s in(1:11,38:48) = c; 523s 523s assert (watershed (in), ex) 523s ***** test 523s im = [ 523s 3 4 5 6 0 523s 2 3 4 5 6 523s 1 2 3 4 5 523s 0 1 2 3 4 523s 1 0 1 2 3]; 523s 523s labeled8 = [ 523s 1 1 1 0 2 523s 1 1 1 0 0 523s 1 1 1 1 1 523s 1 1 1 1 1 523s 1 1 1 1 1]; 523s labeled4 = [ 523s 1 1 1 0 3 523s 1 1 1 0 0 523s 1 1 0 2 2 523s 1 0 2 2 2 523s 0 2 2 2 2]; 523s labeled_weird = [ 523s 1 1 1 0 2 523s 1 1 1 1 0 523s 1 1 1 1 1 523s 1 1 1 1 1 523s 1 1 1 1 1]; 523s 523s assert (watershed (im), labeled8); 523s assert (watershed (im, 8), labeled8); 523s assert (watershed (im, 4), labeled4); 523s assert (watershed (im, [1 1 0; 1 1 1; 0 1 1]), labeled_weird); 523s ***** test 523s im = [ 523s 2 3 30 2 523s 3 30 3 30 523s 255 31 30 4 523s 2 255 31 30 523s 1 2 255 5]; 523s 523s labeled4 = [ 523s 1 1 0 4 523s 1 0 3 0 523s 0 2 0 5 523s 2 2 2 0 523s 2 2 0 6]; 523s labeled_weird = [ 523s 1 1 0 3 523s 1 1 1 0 523s 0 1 1 1 523s 2 0 0 0 523s 2 2 0 4]; 523s 523s assert (watershed (im, 4), labeled4); 523s assert (watershed (im, [1 1 0; 1 1 1; 0 1 1]), labeled_weird); 523s ***** xtest 523s ## The following test is required for Matlab compatibility. There must be 523s ## something specific about their implementation that causes it to return 523s ## this value. Even when solving it on paper, we get different results. 523s im = [ 523s 2 3 30 2 523s 3 30 3 30 523s 255 31 30 4 523s 2 255 31 30 523s 1 2 255 5]; 523s 523s labeled8 = [ 523s 1 1 0 3 523s 1 1 0 3 523s 0 0 0 0 523s 2 2 0 4 523s 2 2 0 4]; 523s assert (watershed (im), labeled8); 523s assert (watershed (im, 8), labeled8); 523s !!!!! known failure 523s ASSERT errors for: assert (watershed (im),labeled8) 523s 523s Location | Observed | Expected | Reason 523s (3,4) 3 0 Abs err 3 exceeds tol 0 by 3 523s (4,4) 0 4 Abs err 4 exceeds tol 0 by 4 523s ***** test 523s im = [ 523s 2 2 2 2 2 2 2 523s 2 2 30 30 30 2 2 523s 2 30 20 20 20 30 2 523s 40 40 20 20 20 40 40 523s 1 40 20 20 20 40 0 523s 1 1 40 20 40 0 0 523s 1 1 1 20 0 0 0]; 523s 523s labeled8 = [ 523s 1 1 1 1 1 1 1 523s 1 1 1 1 1 1 1 523s 1 1 1 1 1 1 1 523s 0 0 0 0 0 0 0 523s 2 2 2 0 3 3 3 523s 2 2 2 0 3 3 3 523s 2 2 2 0 3 3 3]; 523s labeled4 = [ 523s 1 1 1 1 1 1 1 523s 1 1 1 1 1 1 1 523s 1 1 1 1 1 1 1 523s 0 1 1 1 1 1 0 523s 2 0 1 1 1 0 3 523s 2 2 0 1 0 3 3 523s 2 2 2 0 3 3 3]; 523s labeled_weird = [ 523s 1 1 1 1 1 1 1 523s 1 1 1 1 1 1 1 523s 1 1 1 1 1 1 1 523s 0 1 1 0 0 0 0 523s 2 0 0 0 3 3 3 523s 2 2 0 3 3 3 3 523s 2 2 2 0 3 3 3]; 523s 523s assert (watershed (im), labeled8); 523s assert (watershed (im, 8), labeled8); 523s assert (watershed (im, 4), labeled4); 523s assert (watershed (im, [1 1 0; 1 1 1; 0 1 1]), labeled_weird); 523s ***** test 523s im = [ 523s 40 40 40 40 40 40 40 40 40 40 40 40 40 523s 40 3 3 5 5 5 10 10 10 10 15 20 40 523s 40 3 3 5 5 30 30 30 10 15 15 20 40 523s 40 3 3 5 30 20 20 20 30 15 15 20 40 523s 40 40 40 40 40 20 20 20 40 40 40 40 40 523s 40 10 10 10 40 20 20 20 40 10 10 10 40 523s 40 5 5 5 10 40 20 40 10 10 5 5 40 523s 40 1 3 5 10 15 20 15 10 5 1 0 40 523s 40 1 3 5 10 15 20 15 10 5 1 0 40 523s 40 40 40 40 40 40 40 40 40 40 40 40 40]; 523s 523s labeled8 = [ 523s 1 1 1 1 1 1 1 1 1 1 1 1 1 523s 1 1 1 1 1 1 1 1 1 1 1 1 1 523s 1 1 1 1 1 1 1 1 1 1 1 1 1 523s 1 1 1 1 1 1 1 1 1 1 1 1 1 523s 0 0 0 0 0 0 0 0 0 0 0 0 0 523s 2 2 2 2 2 2 0 3 3 3 3 3 3 523s 2 2 2 2 2 2 0 3 3 3 3 3 3 523s 2 2 2 2 2 2 0 3 3 3 3 3 3 523s 2 2 2 2 2 2 0 3 3 3 3 3 3 523s 2 2 2 2 2 2 0 3 3 3 3 3 3]; 523s labeled4 = [ 523s 1 1 1 1 1 1 1 1 1 1 1 1 1 523s 1 1 1 1 1 1 1 1 1 1 1 1 1 523s 1 1 1 1 1 1 1 1 1 1 1 1 1 523s 1 1 1 1 1 1 1 1 1 1 1 1 1 523s 0 0 0 0 1 1 1 1 1 0 0 0 0 523s 2 2 2 2 0 1 1 1 0 3 3 3 3 523s 2 2 2 2 2 0 1 0 3 3 3 3 3 523s 2 2 2 2 2 2 0 3 3 3 3 3 3 523s 2 2 2 2 2 2 0 3 3 3 3 3 3 523s 2 2 2 2 2 2 0 3 3 3 3 3 3]; 523s labeled_weird = [ 523s 1 1 1 1 1 1 1 1 1 1 1 1 1 523s 1 1 1 1 1 1 1 1 1 1 1 1 1 523s 1 1 1 1 1 1 1 1 1 1 1 1 1 523s 1 1 1 1 1 1 1 1 1 1 1 1 1 523s 0 0 0 0 1 1 0 0 0 0 0 0 0 523s 2 2 2 2 0 0 0 3 3 3 3 3 3 523s 2 2 2 2 2 0 3 3 3 3 3 3 3 523s 2 2 2 2 2 2 0 3 3 3 3 3 3 523s 2 2 2 2 2 2 0 3 3 3 3 3 3 523s 2 2 2 2 2 2 0 3 3 3 3 3 3]; 523s 523s assert (watershed (im), labeled8); 523s assert (watershed (im, 8), labeled8); 523s assert (watershed (im, 4), labeled4); 523s assert (watershed (im, [1 1 0; 1 1 1; 0 1 1]), labeled_weird); 523s ***** xtest 523s ## This test is failing for Matlab compatibility 523s im_full = [ 523s 1 2 10 3 8 7 5 523s 3 2 5 10 8 1 4 523s 1 8 2 3 8 3 6]; 523s 523s matlab_result_full = [ 523s 1 1 0 3 0 4 4 523s 0 0 0 0 0 4 4 523s 2 2 2 0 4 4 4]; 523s 523s assert (watershed (im_full), matlab_result_full); 523s 523s im_crop = [ 523s 2 10 3 8 7 5 523s 2 5 10 8 1 4 523s 8 2 3 8 3 6]; 523s 523s matlab_result_crop = [ 523s 1 0 2 0 3 3 523s 1 0 0 0 3 3 523s 1 1 1 0 3 3]; 523s 523s assert (watershed (im_crop), matlab_result_crop); 523s !!!!! known failure 523s ASSERT errors for: assert (watershed (im_full),matlab_result_full) 523s 523s Location | Observed | Expected | Reason 523s (3,4) 2 0 Abs err 2 exceeds tol 0 by 2 523s (3,5) 0 4 Abs err 4 exceeds tol 0 by 4 523s 9 tests, 7 passed, 2 known failures, 0 skipped 523s [src/bwconncomp.cc] 523s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/src/bwconncomp.cc 523s ***** test 523s a = rand (10) > 0.5; 523s cc = bwconncomp (a, 4); 523s assert (cc.Connectivity, 4) 523s assert (cc.ImageSize, [10 10]) 523s 523s b = false (10); 523s for i = 1:numel (cc.PixelIdxList) 523s b(cc.PixelIdxList{i}) = true; 523s endfor 523s assert (a, b) 523s ***** test 523s a = rand (10, 13) > 0.5; 523s cc = bwconncomp (a, 4); 523s assert (cc.ImageSize, [10 13]) 523s 523s b = false (10, 13); 523s for i = 1:numel (cc.PixelIdxList) 523s b(cc.PixelIdxList{i}) = true; 523s endfor 523s assert (a, b) 523s ***** test 523s a = rand (15) > 0.5; 523s conn_8 = bwconncomp (a, 8); 523s assert (conn_8, bwconncomp (a)) 523s assert (conn_8, bwconncomp (a, ones (3))) 523s assert (conn_8.Connectivity, 8) 523s assert (bwconncomp (a, ones (3)).Connectivity, 8) 523s assert (bwconncomp (a, [0 1 0; 1 1 1; 0 1 0]).Connectivity, 4) 523s ***** test 523s bw = logical ([ 523s 1 0 0 1 0 1 0 523s 1 0 0 1 0 1 0 523s 0 0 0 0 0 1 0 523s 0 0 0 0 1 0 0 523s 1 1 0 1 1 0 0 523s 0 1 0 0 0 0 0 523s 1 1 0 0 0 0 0 523s ]); 523s cc = bwconncomp (bw); 523s cc = struct (); 523s cc.Connectivity = 8; 523s cc.ImageSize = [7 7]; 523s cc.NumObjects = 4; 523s ## The commented line has the results from Matlab. We return the 523s ## same result but in a slightly different order. Since the order 523s ## is not defined, it is not required for compatibility. 523s #cc.PixelIdxList = {[1;2], [5;7;12;13;14], [22;23], [26;32;33;36;37;38]}; 523s cc.PixelIdxList = {[1;2], [5;12;13;7;14], [22;23], [26;32;33;38;37;36]}; 523s assert (bwconncomp (bw), cc) 523s ***** test 523s ## test that PixelIdxList is a row vector 523s a = rand (40, 40) > 0.2; 523s cc = bwconncomp (a, 4); 523s assert (rows (cc.PixelIdxList), 1) 523s assert (columns (cc.PixelIdxList), cc.NumObjects) 523s ***** assert (bwconncomp (false (5)), struct ("ImageSize", [5 5], "NumObjects", 0, 523s "PixelIdxList", {cell(1, 0)}, 523s "Connectivity", 8)) 523s ***** test 523s in = [ 0 0 1 0 0 1 0 1 0 0 523s 0 0 1 0 0 0 0 0 1 1 523s 1 0 0 0 0 1 1 0 0 0 523s 1 0 0 0 1 0 0 0 0 0 523s 1 1 1 1 0 0 0 0 0 1 523s 0 1 0 1 1 0 0 1 0 0 523s 1 0 0 0 1 0 0 0 0 0 523s 0 0 0 1 1 0 0 1 0 0 523s 0 1 0 1 1 0 0 1 1 0 523s 0 1 0 1 1 1 0 0 1 0]; 523s assert (bwareaopen (in, 1, 4), logical (in)) 523s 523s out = [0 0 0 0 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 1 0 0 0 0 0 0 0 0 0 523s 1 0 0 0 0 0 0 0 0 0 523s 1 1 1 1 0 0 0 0 0 0 523s 0 1 0 1 1 0 0 0 0 0 523s 0 0 0 0 1 0 0 0 0 0 523s 0 0 0 1 1 0 0 0 0 0 523s 0 0 0 1 1 0 0 0 0 0 523s 0 0 0 1 1 1 0 0 0 0]; 523s assert (bwareaopen (logical (in), 10, 4), logical (out)) 523s assert (bwareaopen (in, 10, 4), logical (out)) 523s assert (bwareaopen (in, 10, [0 1 0; 1 1 1; 0 1 0]), logical (out)) 523s 523s out = [0 0 0 0 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 1 0 0 0 0 1 1 0 0 0 523s 1 0 0 0 1 0 0 0 0 0 523s 1 1 1 1 0 0 0 0 0 0 523s 0 1 0 1 1 0 0 0 0 0 523s 1 0 0 0 1 0 0 0 0 0 523s 0 0 0 1 1 0 0 0 0 0 523s 0 0 0 1 1 0 0 0 0 0 523s 0 0 0 1 1 1 0 0 0 0]; 523s assert (bwareaopen (in, 10, 8), logical (out)) 523s assert (bwareaopen (in, 10, ones (3)), logical (out)) 523s assert (bwareaopen (in, 10), logical (out)) 523s 523s out = [0 0 0 0 0 0 0 0 0 0 523s 0 0 0 0 0 0 0 0 0 0 523s 1 0 0 0 0 0 0 0 0 0 523s 1 0 0 0 0 0 0 0 0 0 523s 1 1 1 1 0 0 0 0 0 0 523s 0 1 0 1 1 0 0 0 0 0 523s 0 0 0 0 1 0 0 0 0 0 523s 0 0 0 1 1 0 0 1 0 0 523s 0 0 0 1 1 0 0 1 1 0 523s 0 0 0 1 1 1 0 0 1 0]; 523s assert (bwareaopen (in, 4, [1 1 0; 1 1 1; 0 1 1]), logical (out)) 523s ***** error bwareaopen ("not an image", 78, 8) 523s ***** error bwareaopen (rand (10) > 0.5, 10, 100) 523s ***** error bwareaopen (rand (10) > 0.5, 10, "maximal") 523s ***** error bwareaopen (rand (10) > 0.5, 10, [1 1 1; 0 1 1; 0 1 0]) 523s 11 tests, 11 passed, 0 known failure, 0 skipped 523s [src/bwfill.cc] 523s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/src/bwfill.cc 523s ***** test 523s 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]; 523s R4 = logical(ones(5)); 523s 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]); 523s assert (bwfill (A,1,1,4), R4) 523s assert (bwfill (A,1,1,8), R8) 523s assert (bwfill (A,1,1), R8) 523s 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]); 523s assert (bwfill (A,3,3,4), B) 523s assert (bwfill (A,3,3,8), B) 523s assert (bwfill (A,3,3), B) 523s 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]); 523s assert (bwfill (A,3,1,8), C) 523s assert (bwfill (A,3,1,4), R4) 523s assert (bwfill (A, [3 1], [1 3], 4), R4); 523s 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]); 523s assert (bwfill (A, [3 1], [1 3], 8), D); 523s assert (bwfill (A, [3 1], [1 3]), D); 523s 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]); 523s assert (bwfill (A, "holes", 4), E); 523s 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]); 523s assert (bwfill (A, "holes", 8), F); 523s assert (bwfill (A, "holes"), F); 524s ***** error id=Octave:invalid-fun-call bwfill () 524s ***** error id=Octave:invalid-fun-call bwfill ("aaa") 524s ***** error id=Octave:invalid-fun-call bwfill (rand (5) > 0.5) 524s ***** error id=Octave:invalid-fun-call bwfill (rand (5) > 0.5, 2) 524s ***** error bwfill (rand (5) > 0.5, "holes", 1) 524s ***** error bwfill (rand (5) > 0.5, 2, 2, 5) 524s ***** error id=Octave:invalid-fun-call bwfill (rand (5) > 0.5, "xxx") 524s ***** error id=Octave:invalid-fun-call bwfill (rand (5) > 0.5, 2, 2, 4, 5) 524s ***** error id=Octave:invalid-fun-call bwfill (rand (5) > 0.5, "holes", 4, 2) 525s 10 tests, 10 passed, 0 known failure, 0 skipped 525s [src/conndef.cc] 525s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/src/conndef.cc 525s ***** assert (conndef (1, "minimal"), [1; 1; 1]); 525s ***** assert (conndef (2, "minimal"), [0 1 0; 1 1 1; 0 1 0]); 525s ***** test 525s C = zeros (3, 3, 3); 525s C(:,2,2) = 1; 525s C(2,:,2) = 1; 525s C(2,2,:) = 1; 525s assert (conndef (3, "minimal"), C); 525s ***** test 525s C = zeros (3, 3, 3, 3); 525s C(:,:,2,1) = [0 0 0 525s 0 1 0 525s 0 0 0]; 525s C(:,:,1,2) = [0 0 0 525s 0 1 0 525s 0 0 0]; 525s C(:,:,2,2) = [0 1 0 525s 1 1 1 525s 0 1 0]; 525s C(:,:,3,2) = [0 0 0 525s 0 1 0 525s 0 0 0]; 525s C(:,:,2,3) = [0 0 0 525s 0 1 0 525s 0 0 0]; 525s assert (conndef (4, "minimal"), C); 525s ***** assert (conndef (1, "maximal"), ones (3, 1)); 525s ***** assert (conndef (2, "maximal"), ones (3, 3)); 525s ***** assert (conndef (3, "maximal"), ones (3, 3, 3)); 525s ***** assert (conndef (4, "maximal"), ones (3, 3, 3, 3)); 525s ***** assert (nnz (conndef (3, "minimal")), 7) 525s ***** assert (nnz (conndef (4, "minimal")), 9) 525s ***** assert (nnz (conndef (5, "minimal")), 11) 525s ***** assert (nnz (conndef (6, "minimal")), 13) 525s ***** assert (find (conndef (3, "minimal")), [5 11 13 14 15 17 23](:)) 525s ***** assert (find (conndef (4, "minimal")), [14 32 38 40 41 42 44 50 68](:)) 525s ***** assert (find (conndef (5, "minimal")), 525s [ 41 95 113 119 121 122 123 125 131 149 203](:)) 525s ***** assert (find (conndef (6, "minimal")), 525s [ 122 284 338 356 362 364 365 366 368 374 392 446 608](:)) 525s ***** error conndef () 525s ***** error conndef (-2, "minimal") 525s ***** error conndef (char (2), "minimal") 525s ***** error conndef ("minimal", 3) 525s ***** error conndef (3, "invalid") 525s ***** error conndef (10) 525s ***** assert (conndef (2, "minimal"), conndef (4)) 525s ***** assert (conndef (2, "maximal"), conndef (8)) 525s ***** assert (conndef (3, "minimal"), conndef (6)) 525s ***** assert (conndef (3, "maximal"), conndef (26)) 525s ***** assert (conndef (18), reshape ([0 1 0 1 1 1 0 1 0 525s 1 1 1 1 1 1 1 1 1 525s 0 1 0 1 1 1 0 1 0], [3 3 3])) 525s ***** test iptcheckconn ( 4, "func", "var") 525s ***** test iptcheckconn ( 6, "func", "var") 525s ***** test iptcheckconn ( 8, "func", "var") 525s ***** test iptcheckconn (18, "func", "var") 525s ***** test iptcheckconn (26, "func", "var") 525s ***** test iptcheckconn (1, "func", "var") 525s ***** test iptcheckconn (ones (3, 1), "func", "var") 525s ***** test iptcheckconn (ones (3, 3), "func", "var") 525s ***** test iptcheckconn (ones (3, 3, 3), "func", "var") 525s ***** test iptcheckconn (ones (3, 3, 3, 3), "func", "var") 525s ***** error 525s iptcheckconn (3, "func", "VAR"); 525s ***** error 525s iptcheckconn ([1 1 1; 1 0 1; 1 1 1], "func", "VAR"); 525s ***** error 525s iptcheckconn ([1 2 1; 1 1 1; 1 1 1], "func", "VAR"); 525s ***** error 525s iptcheckconn ([0 1 1; 1 1 1; 1 1 1], "func", "VAR"); 525s ***** error 525s iptcheckconn (ones (3, 3, 3, 4), "func", "VAR"); 525s 42 tests, 42 passed, 0 known failure, 0 skipped 525s [src/__spatial_filtering__.cc] 525s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/src/__spatial_filtering__.cc 525s ***** error 525s __spatial_filtering__ (ones (10), ones (3), "std", ones (10), 0) 525s ***** error 525s __spatial_filtering__ (ones (10), ones (3), "std", ones (3, 3, 3), 0) 525s ***** error 525s __spatial_filtering__ (ones (10), ones (3), "std", ones (1, 9), 0) 525s ***** shared a, domain, s, out 525s a = [ 82 2 97 43 79 43 41 65 51 11 525s 60 65 21 56 94 77 36 38 75 39 525s 32 68 78 1 16 75 76 90 81 56 525s 43 90 82 41 36 1 87 19 18 63 525s 63 64 2 48 18 43 38 25 22 99 525s 12 46 90 79 3 92 39 79 10 22 525s 38 98 11 10 40 90 88 38 4 76 525s 54 37 9 4 33 98 36 47 53 57 525s 38 76 82 50 14 74 64 99 7 33 525s 88 96 41 62 84 89 97 23 41 3]; 525s 525s domain = ones (3); 525s s = zeros (3); 525s 525s out = [ 2 1 1 1 16 36 36 11 525s 21 1 1 1 1 1 18 18 525s 2 1 1 1 1 1 18 18 525s 2 2 2 1 1 1 10 10 525s 2 2 2 3 3 25 4 4 525s 9 4 3 3 3 36 4 4 525s 9 4 4 4 14 36 4 4 525s 9 4 4 4 14 23 7 3]; 525s ***** assert (__spatial_filtering__ (a, domain, "ordered", s, 1), out); 525s 525s out = [ 97 97 97 94 94 90 90 90 525s 90 90 94 94 94 90 90 90 525s 90 90 82 75 87 90 90 99 525s 90 90 90 92 92 92 87 99 525s 98 98 90 92 92 92 88 99 525s 98 98 90 98 98 98 88 79 525s 98 98 82 98 98 99 99 99 525s 96 96 84 98 98 99 99 99]; 525s ***** assert (__spatial_filtering__ (a, domain, "ordered", s, nnz (domain)), out); 525s 525s out = [ 60 43 43 43 43 43 51 51 525s 60 56 36 36 36 38 38 39 525s 63 48 18 18 36 38 25 25 525s 46 48 36 36 36 38 22 22 525s 38 46 11 40 39 39 25 22 525s 37 11 10 33 39 47 38 38 525s 38 11 11 33 40 64 38 38 525s 41 41 33 50 64 64 41 33]; 525s ***** assert (__spatial_filtering__ (a, domain, "ordered", s, 4), out); 525s 525s out = [ 31.223 33.788 35.561 31.011 26.096 20.630 20.403 24.712 525s 23.428 29.613 32.376 34.002 33.593 32.470 29.605 26.333 525s 27.834 32.890 29.903 24.207 30.083 32.497 31.898 32.600 525s 32.027 28.995 33.530 31.002 32.241 32.004 27.501 32.070 525s 34.682 36.030 33.046 33.745 32.509 27.352 28.607 34.180 525s 32.709 37.690 32.992 40.036 34.456 26.656 27.685 26.863 525s 30.971 36.227 25.775 34.873 29.917 25.269 32.292 30.410 525s 29.135 31.626 30.056 33.594 30.814 28.853 30.917 29.120]; 525s ***** assert (__spatial_filtering__ (a, domain, "std", s), out, 0.001); 525s 525s out = [ 95 96 96 93 78 54 54 79 525s 69 89 93 93 93 89 72 72 525s 88 89 81 74 86 89 72 81 525s 88 88 88 91 91 91 77 89 525s 96 96 88 89 89 67 84 95 525s 89 94 87 95 95 62 84 75 525s 89 94 78 94 84 63 95 95 525s 87 92 80 94 84 76 92 96]; 525s ***** assert (__spatial_filtering__ (a, domain, "range", s), out); 525s 525s domain = [ 1 1 0 525s 0 1 1 525s 0 1 0]; 525s 525s out = [ 2 2 1 16 36 36 38 39 525s 60 1 1 16 1 36 19 18 525s 32 2 1 1 1 19 18 18 525s 2 2 18 3 1 1 19 10 525s 46 2 2 3 18 38 10 4 525s 11 9 4 3 3 36 4 4 525s 9 4 4 10 36 36 38 4 525s 37 9 4 4 33 36 7 7]; 525s ***** assert (__spatial_filtering__ (a, domain, "ordered", s, 1), out); 525s 525s out = [ 82 97 97 94 79 76 90 81 525s 90 82 56 94 94 90 90 81 525s 90 82 78 36 87 87 90 90 525s 90 90 82 43 92 87 87 99 525s 98 90 79 92 92 88 79 25 525s 98 90 90 90 98 92 79 79 525s 98 98 50 98 98 90 99 57 525s 96 82 62 84 98 99 99 53]; 525s ***** assert (__spatial_filtering__ (a, domain, "ordered", s, nnz (domain)), out); 525s 525s out = [ 68 78 94 79 77 43 75 75 525s 78 78 41 75 77 87 81 75 525s 82 78 48 18 75 76 76 81 525s 64 90 79 41 43 39 79 22 525s 90 79 48 48 90 79 38 22 525s 46 46 79 79 92 88 47 76 525s 76 82 33 40 90 88 88 53 525s 82 50 50 74 89 98 47 47]; 525s ***** assert (__spatial_filtering__ (a, domain, "ordered", s, 4), out); 525s 525s out = [ 34.2389 39.2772 39.6699 31.6812 20.7364 16.5439 22.2419 17.2395 525s 11.9248 36.3084 21.6217 30.8350 36.4047 21.6726 30.9144 26.1017 525s 22.2980 33.2746 27.5808 14.5017 36.8890 29.0259 34.6020 33.2521 525s 32.2490 37.9579 26.9685 17.1959 32.5346 31.3847 33.5976 36.8280 525s 21.3354 40.1833 34.0044 33.9882 32.9894 24.1102 25.6613 9.0995 525s 35.4641 35.3794 39.0871 35.4753 39.9775 28.7193 26.7451 35.6553 525s 35.2179 45.3398 19.3210 35.2987 28.4042 24.0832 26.8421 25.0539 525s 23.4307 26.2812 26.3287 35.6959 25.2646 28.1016 34.9829 17.9221]; 525s ***** assert (__spatial_filtering__ (a, domain, "std", s), out, 0.001); 525s 525s out = [ 80 95 96 78 43 40 52 42 525s 30 81 55 78 93 54 71 63 525s 58 80 77 35 86 68 72 72 525s 88 88 64 40 91 86 68 89 525s 52 88 77 89 74 50 69 21 525s 87 81 86 87 95 56 75 75 525s 89 94 46 88 62 54 61 53 525s 59 73 58 80 65 63 92 46]; 525s ***** assert (__spatial_filtering__ (a, domain, "range", s), out); 525s 525s s = [ 1 -3 4 525s 6 -7 2 525s -1 3 -5]; 525s 525s out = [ -1 3 4 19 38 29 31 41 525s 61 3 -6 9 4 33 22 21 525s 33 5 -2 2 -6 21 12 11 525s 4 -5 20 6 -2 2 16 13 525s 39 -1 3 -4 19 32 12 3 525s 13 4 3 0 4 36 6 -3 525s 11 2 -3 11 38 29 35 1 525s 34 6 1 5 34 33 9 0]; 525s ***** assert (__spatial_filtering__ (a, domain, "ordered", s, 1), out); 525s 525s out = [ 83 94 98 87 80 79 93 84 525s 93 85 53 91 95 92 83 74 525s 84 75 79 29 89 80 87 91 525s 87 93 83 45 95 84 88 101 525s 101 83 72 94 93 91 72 26 525s 91 87 91 92 101 93 76 80 525s 95 99 53 100 91 91 102 59 525s 99 75 65 87 95 101 92 50]; 525s ***** assert (__spatial_filtering__ (a, domain, "ordered", s, nnz (domain)), out); 525s 525s out = [ 71 81 96 79 78 44 77 68 525s 80 71 44 77 78 90 83 72 525s 83 75 51 21 72 76 77 78 525s 57 91 82 42 40 42 82 20 525s 92 81 45 49 85 81 41 24 525s 43 47 76 80 90 81 50 78 525s 79 85 35 37 87 85 89 46 525s 84 52 43 76 92 100 44 48]; 525s ***** assert (__spatial_filtering__ (a, domain, "ordered", s, 4), out); 525s 525s out = [ 34.903 40.206 39.885 28.627 20.620 19.248 25.209 17.111 525s 14.536 35.865 23.221 32.230 34.903 23.923 28.879 22.621 525s 20.635 30.113 29.351 11.610 38.863 25.936 34.608 34.482 525s 29.811 40.998 28.279 17.897 34.666 29.978 36.150 38.213 525s 25.066 39.240 30.013 37.300 31.856 27.428 22.884 10.281 525s 31.890 34.761 39.645 37.526 39.336 27.031 25.648 39.285 525s 35.017 47.776 22.764 35.912 25.460 25.636 29.861 24.566 525s 25.213 25.000 26.391 38.451 24.631 31.305 31.118 20.611]; 525s ***** assert (__spatial_filtering__ (a, domain, "std", s), out, 0.001); 525s 525s out = [ 84 91 94 68 42 50 62 43 525s 32 82 59 82 91 59 61 53 525s 51 70 81 27 95 59 75 80 525s 83 98 63 39 97 82 72 88 525s 62 84 69 98 74 59 60 23 525s 78 83 88 92 97 57 70 83 525s 84 97 56 89 53 62 67 58 525s 65 69 64 82 61 68 83 50]; 525s ***** assert (__spatial_filtering__ (a, domain, "range", s), out); 525s 18 tests, 18 passed, 0 known failure, 0 skipped 525s [src/imerode.cc] 525s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/src/imerode.cc 525s ***** assert (imerode (eye (3), [1]), eye (3)); 525s ***** assert (imerode (eye (3), []), Inf (3, 3)); 525s ***** test 525s im = [0 1 0 525s 1 1 1 525s 0 1 0]; 525s se = [1 0 0 525s 0 1 0 525s 0 1 1]; 525s assert (imerode (im, se), [0 1 0; 0 0 0; 0 1 0]); 525s assert (imerode (logical(im), se), logical ([0 1 0; 0 0 0; 0 1 0])); 525s assert (imerode (im, se, "full"), 525s [ 0 0 0 0 Inf 525s 1 0 1 0 Inf 525s 0 0 0 0 0 525s Inf 0 1 0 1 525s Inf Inf 0 1 0]); 525s assert (imerode (logical(im), se, "full"), 525s logical([0 0 0 0 1 525s 1 0 1 0 1 525s 0 0 0 0 0 525s 1 0 1 0 1 525s 1 1 0 1 0])); 525s ***** xtest 525s a = rand ([10 40 15 6 8 5]) > 0.2; 525s se = ones ([5 3 7]); 525s 525s ## the image is not really indexed but this way it is padded with 1s 525s assert (imerode (a, se), colfilt (a, "indexed", size (se), "sliding", @all)) 525s 525s assert (imerode (a, se, "valid"), convn (a, se, "valid") == nnz (se)) 525s ## again, we need to pad it ourselves because convn pads with zeros 525s b = true (size (a) + [4 2 6 0 0 0]); 525s b(3:12, 2:41, 4:18,:,:,:) = a; 525s assert (imdilate (b, se, "same"), convn (b, se, "same") > 0) 525s b = true (size (a) + [8 4 12 0 0 0]); 525s b(5:14, 3:42, 7:21,:,:,:) = a; 525s assert (imdilate (b, se, "full"), convn (b, se, "full") > 0) 529s ***** test 529s im = [0 0 0 0 0 0 0 529s 0 0 1 0 1 0 0 529s 0 0 1 1 0 1 0 529s 0 0 1 1 1 0 0 529s 0 0 0 0 0 0 0]; 529s se = [0 0 0 529s 0 1 0 529s 0 1 1]; 529s out = [0 0 0 0 0 0 0 529s 0 0 1 0 0 0 0 529s 0 0 1 1 0 0 0 529s 0 0 0 0 0 0 0 529s 0 0 0 0 0 0 0]; 529s assert (imerode (im, se), out); 529s assert (imerode (logical (im), se), logical (out)); 529s assert (imerode (im, logical (se)), out); 529s assert (imerode (logical (im), logical (se)), logical (out)); 529s 529s # with an even-size SE 529s se = [0 0 0 1 529s 0 1 0 0 529s 0 1 1 1]; 529s out = [0 0 0 0 0 0 0 529s 0 0 0 0 0 0 0 529s 0 0 1 0 0 0 0 529s 0 0 0 0 0 0 0 529s 0 0 0 0 0 0 0]; 529s assert (imerode (im, se), out); 529s out = [ 0 0 0 0 1 0 1 529s 0 0 1 0 1 1 0 529s 0 0 1 1 1 1 1 529s 0 0 1 1 1 1 1 529s 0 0 1 1 1 1 1]; 529s assert (imdilate (im, se), out); 529s ***** test 529s a = [ 82 2 97 43 79 43 41 65 51 11 529s 60 65 21 56 94 77 36 38 75 39 529s 32 68 78 1 16 75 76 90 81 56 529s 43 90 82 41 36 1 87 19 18 63 529s 63 64 2 48 18 43 38 25 22 99 529s 12 46 90 79 3 92 39 79 10 22 529s 38 98 11 10 40 90 88 38 4 76 529s 54 37 9 4 33 98 36 47 53 57 529s 38 76 82 50 14 74 64 99 7 33 529s 88 96 41 62 84 89 97 23 41 3]; 529s 529s domain = ones (3); 529s out = [ 2 1 1 1 16 36 36 11 529s 21 1 1 1 1 1 18 18 529s 2 1 1 1 1 1 18 18 529s 2 2 2 1 1 1 10 10 529s 2 2 2 3 3 25 4 4 529s 9 4 3 3 3 36 4 4 529s 9 4 4 4 14 36 4 4 529s 9 4 4 4 14 23 7 3]; 529s assert (imerode (a, domain, "valid"), out); 529s assert (imerode (uint8 (a), domain, "valid"), uint8 (out)); 529s assert (imerode (uint8 (a), strel ("arbitrary", domain), "valid"), uint8 (out)); 529s assert (imerode (uint8 (a), strel ("square", 3), "valid"), uint8 (out)); 529s 529s ***** ## Test for non-flat strel 529s assert (imerode (a, strel ("arbitrary", domain, ones (3)), "valid"), out -1); 529s 529s out = [ 97 97 97 94 94 90 90 90 529s 90 90 94 94 94 90 90 90 529s 90 90 82 75 87 90 90 99 529s 90 90 90 92 92 92 87 99 529s 98 98 90 92 92 92 88 99 529s 98 98 90 98 98 98 88 79 529s 98 98 82 98 98 99 99 99 529s 96 96 84 98 98 99 99 99]; 529s assert (imdilate (a, domain, "valid"), out); 529s assert (imdilate (uint8 (a), domain, "valid"), uint8 (out)); 529s 529s ***** ## Test for non-flat strel 529s assert (imdilate (a, strel ("arbitrary", domain, ones (3)), "valid"), out +1); 529s 529s ## test while using SE that can be decomposed and an actual sequence 529s domain = ones (5); 529s out = [ 2 1 1 1 1 1 16 11 11 11 529s 2 1 1 1 1 1 1 1 11 11 529s 2 1 1 1 1 1 1 1 11 11 529s 2 1 1 1 1 1 1 1 10 10 529s 2 1 1 1 1 1 1 1 4 4 529s 2 2 2 1 1 1 1 1 4 4 529s 2 2 2 2 2 3 3 4 4 4 529s 9 4 3 3 3 3 3 3 3 3 529s 9 4 4 4 4 4 4 3 3 3 529s 9 4 4 4 4 4 7 3 3 3]; 529s assert (imerode (a, domain), out); 529s assert (imerode (a, strel ("square", 5)), out); 529s assert (imerode (a, getsequence (strel ("square", 5))), out); 529s 529s ## using a non-symmetric SE 529s domain = [ 1 1 0 529s 0 1 1 529s 0 1 0]; 529s 529s out = [ 2 2 1 16 36 36 38 39 529s 60 1 1 16 1 36 19 18 529s 32 2 1 1 1 19 18 18 529s 2 2 18 3 1 1 19 10 529s 46 2 2 3 18 38 10 4 529s 11 9 4 3 3 36 4 4 529s 9 4 4 10 36 36 38 4 529s 37 9 4 4 33 36 7 7]; 529s assert (imerode (a, domain, "valid"), out); 529s assert (imerode (a, strel ("arbitrary", domain, ones (3)), "valid"), out -1); 529s 529s out = [ 78 97 56 94 94 90 90 81 529s 90 82 78 94 87 87 90 90 529s 90 90 82 43 75 87 90 99 529s 90 90 79 92 92 87 79 25 529s 98 90 90 90 92 92 79 79 529s 98 98 79 98 98 90 88 57 529s 98 82 50 74 98 99 99 53 529s 96 82 84 89 98 97 99 99]; 529s assert (imdilate (a, domain, "valid"), out); 529s assert (imdilate (a, strel ("arbitrary", domain, ones (3)), "valid"), out +1); 529s ***** test 529s im = reshape (magic(16), [4 8 4 2]); 529s se = true (3, 3, 3); 529s out = zeros (4, 8, 4, 2); 529s out(:,:,1,1) = [ 529s 3 3 46 2 2 2 47 47 529s 3 3 30 2 2 2 31 31 529s 17 17 16 16 16 20 13 13 529s 33 33 16 16 16 36 13 13]; 529s out(:,:,2,1) = [ 529s 3 3 46 2 2 2 43 43 529s 3 3 30 2 2 2 27 27 529s 17 17 12 12 12 20 13 13 529s 33 33 12 12 12 36 13 13]; 529s out(:,:,3,1) = [ 529s 3 3 42 6 6 6 43 43 529s 3 3 26 6 6 6 27 27 529s 21 21 12 12 12 20 9 9 529s 37 37 12 12 12 36 9 9]; 529s out(:,:,4,1) = [ 529s 7 7 42 6 6 6 43 43 529s 7 7 26 6 6 6 27 27 529s 21 21 12 12 12 24 9 9 529s 37 37 12 12 12 40 9 9]; 529s out(:,:,1,2) = [ 529s 11 11 38 10 10 10 39 39 529s 11 11 22 10 10 10 23 23 529s 25 25 8 8 8 28 5 5 529s 41 41 8 8 8 44 5 5]; 529s out(:,:,2,2) = [ 529s 11 11 38 10 10 10 35 35 529s 11 11 22 10 10 10 19 19 529s 25 25 4 4 4 28 5 5 529s 41 41 4 4 4 44 5 5]; 529s out(:,:,3,2) = [ 529s 11 11 34 14 14 14 35 35 529s 11 11 18 14 14 14 19 19 529s 29 29 4 4 4 28 1 1 529s 45 45 4 4 4 44 1 1]; 529s out(:,:,4,2) = [ 529s 15 15 34 14 14 14 35 35 529s 15 15 18 14 14 14 19 19 529s 29 29 4 4 4 32 1 1 529s 45 45 4 4 4 48 1 1]; 529s assert (imerode (im, se), out); 529s assert (imerode (uint16 (im), se), uint16 (out)); 529s 529s ## trying a more weird SE 529s se(:,:,1) = [1 0 1; 0 1 1; 0 0 0]; 529s se(:,:,3) = [1 0 1; 0 1 1; 0 0 1]; 529s out(:,:,1,1) = [ 529s 3 17 46 2 2 2 47 47 529s 17 3 30 2 2 2 31 31 529s 17 17 16 16 16 20 13 31 529s 33 33 16 16 16 36 13 13]; 529s out(:,:,2,1) = [ 529s 3 3 46 2 2 20 43 61 529s 3 3 30 2 20 2 27 43 529s 33 17 12 20 20 20 13 13 529s 51 33 12 12 30 36 13 13]; 529s out(:,:,3,1) = [ 529s 3 21 42 6 6 6 43 43 529s 21 3 26 6 6 6 27 27 529s 21 21 12 12 12 20 9 27 529s 37 37 12 12 12 36 9 9]; 529s out(:,:,4,1) = [ 529s 7 7 42 6 6 24 57 57 529s 7 7 26 6 24 6 43 43 529s 37 21 26 24 24 24 9 9 529s 55 37 12 12 26 40 9 9]; 529s out(:,:,1,2) = [ 529s 11 25 38 10 10 10 39 39 529s 25 11 22 10 10 10 23 23 529s 25 25 8 8 8 28 5 23 529s 41 41 8 8 8 44 5 5]; 529s out(:,:,2,2) = [ 529s 11 11 38 10 10 28 35 53 529s 11 11 22 10 22 10 19 35 529s 41 25 4 22 22 28 5 5 529s 59 41 4 4 22 44 5 5]; 529s out(:,:,3,2) = [ 529s 11 29 34 14 14 14 35 35 529s 29 11 18 14 14 14 19 19 529s 29 29 4 4 4 28 1 19 529s 45 45 4 4 4 44 1 1]; 529s out(:,:,4,2) = [ 529s 15 15 34 14 14 32 49 49 529s 15 15 18 14 18 14 35 35 529s 45 29 18 18 18 32 1 1 529s 63 45 4 4 18 48 1 1]; 529s assert (imerode (im, se), out); 529s assert (imerode (uint16 (im), se), uint16 (out)); 529s ***** error imerode (ones (10), 45) 529s ***** error imerode (ones (10), "some text") 529s ***** error imerode (ones (10), {23, 45}) 529s ***** error imerode (rand (10) > 10 , strel ("arbitrary", true (3), ones (3))) 529s ***** xtest 529s a = rand ([10 40 15 6 8 5]) > 0.8; 529s se = ones ([5 3 7]); 529s assert (imdilate (a, se), convn (a, se, "same") > 0) 529s assert (imdilate (a, se, "full"), convn (a, se, "full") > 0) 529s assert (imdilate (a, se, "valid"), convn (a, se, "valid") > 0) 529s assert (imdilate (a, se), colfilt (a, size (se), "sliding", @any)) 531s ***** test 531s im = reshape (magic(16), [4 8 4 2]); 531s se = true (3, 3, 3); 531s out = zeros (4, 8, 4, 2); 531s 531s out(:,:,1,1) = [ 531s 256 256 209 253 253 253 212 212 531s 256 256 225 253 253 253 228 228 531s 238 238 243 243 243 239 242 242 531s 222 222 243 243 243 223 242 242]; 531s out(:,:,2,1) = [ 531s 256 256 213 253 253 253 212 212 531s 256 256 229 253 253 253 228 228 531s 238 238 243 243 243 239 246 246 531s 222 222 243 243 243 223 246 246]; 531s out(:,:,3,1) = [ 531s 252 252 213 253 253 253 216 216 531s 252 252 229 253 253 253 232 232 531s 238 238 247 247 247 235 246 246 531s 222 222 247 247 247 219 246 246]; 531s out(:,:,4,1) = [ 531s 252 252 213 249 249 249 216 216 531s 252 252 229 249 249 249 232 232 531s 234 234 247 247 247 235 246 246 531s 218 218 247 247 247 219 246 246]; 531s out(:,:,1,2) = [ 531s 248 248 217 245 245 245 220 220 531s 248 248 233 245 245 245 236 236 531s 230 230 251 251 251 231 250 250 531s 214 214 251 251 251 215 250 250]; 531s out(:,:,2,2) = [ 531s 248 248 221 245 245 245 220 220 531s 248 248 237 245 245 245 236 236 531s 230 230 251 251 251 231 254 254 531s 214 214 251 251 251 215 254 254]; 531s out(:,:,3,2) = [ 531s 244 244 221 245 245 245 224 224 531s 244 244 237 245 245 245 240 240 531s 230 230 255 255 255 227 254 254 531s 214 214 255 255 255 211 254 254]; 531s out(:,:,4,2) = [ 531s 244 244 221 241 241 241 224 224 531s 244 244 237 241 241 241 240 240 531s 226 226 255 255 255 227 254 254 531s 210 210 255 255 255 211 254 254]; 531s assert (imdilate (im, se), out); 531s assert (imdilate (uint16 (im), se), uint16 (out)); 531s 531s ## trying a more weird SE 531s se(:,:,1) = [1 0 1; 0 1 1; 0 0 0]; 531s se(:,:,3) = [1 0 1; 0 1 1; 0 0 1]; 531s out(:,:,1,1) = [ 531s 256 256 209 239 253 253 212 194 531s 256 256 225 239 239 239 228 212 531s 222 222 243 239 243 239 242 242 531s 208 208 225 243 243 223 242 242]; 531s out(:,:,2,1) = [ 531s 256 256 213 253 253 253 212 212 531s 238 256 229 253 253 253 228 228 531s 238 238 243 243 243 239 246 228 531s 222 222 243 243 243 223 228 246]; 531s out(:,:,3,1) = [ 531s 252 252 213 235 253 253 216 198 531s 252 252 229 235 235 253 232 216 531s 222 238 247 235 247 235 246 246 531s 204 222 229 247 247 219 246 246]; 531s out(:,:,4,1) = [ 531s 252 252 213 249 249 249 216 216 531s 234 252 229 249 249 249 232 232 531s 234 234 247 247 247 235 246 232 531s 218 218 247 247 247 219 232 246]; 531s out(:,:,1,2) = [ 531s 248 248 217 231 245 245 220 202 531s 248 248 233 233 233 231 236 220 531s 214 214 251 233 251 231 250 250 531s 200 200 233 251 251 215 250 250]; 531s out(:,:,2,2) = [ 531s 248 248 221 245 245 245 220 220 531s 230 248 237 245 245 245 236 236 531s 230 230 251 251 251 231 254 236 531s 214 214 251 251 251 215 236 254]; 531s out(:,:,3,2) = [ 531s 244 244 221 227 245 245 224 206 531s 244 244 237 237 237 245 240 224 531s 214 230 255 237 255 227 254 254 531s 196 214 237 255 255 211 254 254]; 531s out(:,:,4,2) = [ 531s 244 244 221 241 241 241 224 224 531s 226 244 237 241 241 241 240 240 531s 226 226 255 255 255 227 254 240 531s 210 210 255 255 255 211 240 254]; 531s assert (imdilate (im, se), out); 531s assert (imdilate (uint16 (im), se), uint16 (out)); 531s ***** test # scalar blank SE 531s se = 0; 531s assert (imerode (5, se), Inf) 531s assert (imerode (true, se), true) 531s assert (imerode (false, se), true) 531s assert (imerode (uint8 (3), se), uint8 (255)) 531s 531s assert (imdilate (5, se), -Inf) 531s assert (imdilate (true, se), false) 531s assert (imdilate (false, se), false) 531s assert (imdilate (uint8 (3), se), uint8 (0)) 531s ***** test # empty SE 531s se = []; 531s assert (imerode (5, se), Inf) 531s assert (imerode (true, se), true) 531s assert (imerode (false, se), true) 531s assert (imerode (uint8 (3), se), uint8 (255)) 531s 531s assert (imdilate (5, se), -Inf) 531s assert (imdilate (true, se), false) 531s assert (imdilate (false, se), false) 531s assert (imdilate (uint8 (3), se), uint8 (0)) 532s ***** test # non-scalar blank SE 532s se = zeros (3, 3); 532s assert (imerode (5, se), Inf) 532s assert (imerode (true, se), true) 532s assert (imerode (false, se), true) 532s assert (imerode (uint8 (3), se), uint8 (255)) 532s 532s assert (imdilate (5, se), -Inf) 532s assert (imdilate(true, se), false) 532s assert (imdilate (false, se), false) 532s assert (imdilate (uint8 (3), se), uint8 (0)) 532s ***** test # erode only with out-of-border elements 532s se = [1 1 1; 1 0 1; 1 1 1]; 532s assert (imerode (5, se), Inf) 532s assert (imerode (true, se), true) 532s 532s assert (imdilate (5, se), -Inf) 532s assert (imdilate (true, se), false) 532s ***** test # only true elements of SE are out-of-border 532s se = [0 0 0; 1 0 0; 1 1 0]; 532s assert (imerode (zeros (3), se), [0 0 0; 0 0 0; Inf 0 0]) 532s assert (imerode (false (3), se), logical ([0 0 0; 0 0 0; 1 0 0])) 532s assert (imdilate (zeros (3), se), [0 0 -Inf; 0 0 0; 0 0 0]) 532s assert (imdilate (false (3), se), false (3, 3)) 532s 532s se = [0 0 0; 0 0 0; 1 1 1]; 532s assert (imerode (zeros (3, 3), se), [0 0 0; 0 0 0; Inf Inf Inf]) 532s assert (imerode (false (3, 3), se), logical ([0 0 0; 0 0 0; 1 1 1])) 532s assert (imdilate (zeros (3, 3), se), [-Inf -Inf -Inf; 0 0 0; 0 0 0]) 532s assert (imdilate (false (3, 3), se), false (3, 3)) 532s ***** test # only true elements of even-sized SE are out-of-border 532s se = logical ([0 1; 1 1]); 532s assert (imerode (false (3, 3), se), logical ([0 0 0; 0 0 0; 0 0 1])) 532s assert (imerode (zeros (3, 3), se), [0 0 0; 0 0 0; 0 0 Inf]) 532s 532s assert (imdilate (false (3, 3), se), false (3, 3)) 532s assert (imdilate (zeros (3, 3), se), [-Inf 0 0; 0 0 0; 0 0 0]) 532s 19 tests, 19 passed, 0 known failure, 0 skipped 532s [src/imreconstruct.cc] 532s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/src/imreconstruct.cc 532s ***** function recon = parallel_reconstruction (marker, mask, 532s conn = conndef (ndims (marker), "maximal")) 532s do 532s previous = marker; 532s marker = imdilate (marker, conn); 532s ## FIXME https://savannah.gnu.org/bugs/index.php?43712 532s if (strcmp (class (marker), "logical")) 532s marker = marker & mask; 532s else 532s marker = min (marker, mask); 532s endif 532s until (all ((marker == previous)(:))) 532s recon = marker; 532s ***** endfunction 532s ***** test 532s for cl = {"int8", "uint8", "int16", "uint16", "int32", "uint32"} 532s cl = cl{1}; 532s a = randi ([intmin(cl) intmax(cl)-30], 100, 100, cl); 532s b = a + randi (20, 100, 100, cl); 532s assert (imreconstruct (a, b), parallel_reconstruction (a, b)) 532s endfor 532s for cl = {"double", "single"} 532s cl = cl{1}; 532s a = (rand (100, 100, cl) - 0.5) .* 1000; 532s b = a + rand (100, 100, cl) * 100; 532s assert (imreconstruct (a, b), parallel_reconstruction (a, b)) 532s endfor 532s ***** test 532s for cl = {"int8", "uint8", "int16", "uint16", "int32", "uint32"} 532s cl = cl{1}; 532s a = randi ([intmin(cl) intmax(cl)-30], 100, 100, cl); 532s b = a + randi (20, 100, 100, cl); 532s c = [0 1 0; 1 1 1; 0 1 0]; 532s assert (imreconstruct (a, b, c), parallel_reconstruction (a, b, c)) 532s endfor 532s ***** test 532s a = randi (210, 100, 100); 532s b = a + randi (20, 100, 100); 532s c = ones (3, 1); 532s assert (imreconstruct (a, b, c), parallel_reconstruction (a, b, c)) 532s ***** test 532s a = randi (210, 500, 500, 10, 4); 532s b = a + randi (20, 500, 500, 10, 4); 532s c = ones (3, 3, 3); 532s assert (imreconstruct (a, b, c), parallel_reconstruction (a, b, c)) 547s ***** test 547s a = randi (210, 500, 500, 10, 4); 547s b = a + randi (20, 500, 500, 10, 4); 547s c = conndef (4, "minimal"); 547s assert (imreconstruct (a, b, c), parallel_reconstruction (a, b, c)) 554s ***** test 554s a = [ 0 0 0 0 0 0 0 1 0 0 554s 0 0 0 0 0 0 0 1 0 0 554s 1 0 0 0 0 0 0 0 0 0 554s 0 0 0 0 0 0 0 0 0 0 554s 0 0 0 0 0 0 0 1 0 0 554s 0 0 0 0 0 0 1 0 0 0 554s 0 0 0 0 0 0 0 0 0 0 554s 0 0 0 0 0 0 0 0 0 0 554s 0 0 0 0 1 0 0 0 0 0 554s 0 0 0 0 0 0 0 1 0 0]; 554s 554s b = [ 0 1 0 0 0 0 0 1 1 0 554s 1 1 0 0 0 1 0 1 1 0 554s 1 1 0 0 1 0 0 0 0 0 554s 1 1 0 0 0 1 1 0 0 0 554s 1 0 0 0 0 0 1 1 0 0 554s 0 1 0 0 0 0 1 1 0 0 554s 0 0 0 1 0 0 0 0 0 0 554s 0 0 0 0 1 1 0 0 0 0 554s 0 0 0 1 1 0 0 0 0 0 554s 1 0 0 0 1 0 0 1 0 1]; 554s 554s c = [ 0 1 0 0 0 0 0 1 1 0 554s 1 1 0 0 0 1 0 1 1 0 554s 1 1 0 0 1 0 0 0 0 0 554s 1 1 0 0 0 1 1 0 0 0 554s 1 0 0 0 0 0 1 1 0 0 554s 0 1 0 0 0 0 1 1 0 0 554s 0 0 0 1 0 0 0 0 0 0 554s 0 0 0 0 1 1 0 0 0 0 554s 0 0 0 1 1 0 0 0 0 0 554s 0 0 0 0 1 0 0 1 0 0]; 554s assert (imreconstruct (logical (a), logical (b)), logical (c)); 554s 554s c = [ 0 1 0 0 0 0 0 1 1 0 554s 1 1 0 0 0 0 0 1 1 0 554s 1 1 0 0 0 0 0 0 0 0 554s 1 1 0 0 0 1 1 0 0 0 554s 1 0 0 0 0 0 1 1 0 0 554s 0 0 0 0 0 0 1 1 0 0 554s 0 0 0 0 0 0 0 0 0 0 554s 0 0 0 0 1 1 0 0 0 0 554s 0 0 0 1 1 0 0 0 0 0 554s 0 0 0 0 1 0 0 1 0 0]; 554s assert (imreconstruct (logical (a), logical (b), [0 1 0; 1 1 1; 0 1 0]), 554s logical (c)); 554s ***** test 554s do 554s b = rand (100, 100, 100) > 0.98; 554s until (nnz (b) > 4) 554s b = imdilate (b, ones (5, 5, 5)); 554s a = false (size (b)); 554s f = find (b); 554s a(f(randi (numel (f), 6, 1))) = true; 554s assert (imreconstruct (a, b), parallel_reconstruction (a, b)) 556s ***** test 556s a = randi (200, 100,100, 10, 10); 556s b = a + randi (20, 100,100, 10, 10); 556s c1 = ones (3, 3, 3); 556s c2 = zeros (3, 3, 3, 3); 556s c2(:,:,:,2) = c1; 556s assert (imreconstruct (a, b, c1), imreconstruct (a, b, c2)) 556s ***** test 556s ## Values in MARKER above MASK should be clipped (bug #48794) 556s ## (well, treated internally as if they were clipped) 556s mask = logical ([1 1 1; 1 0 1; 1 1 1]); 556s assert (imreconstruct (true (3, 3), mask), mask) 556s 556s mask = ones (5, 5); 556s mask(2:4,2:4) = 0; 556s assert (imreconstruct (ones (5, 5), mask), mask) 556s 556s mask = ones (5, 5); 556s mask(2:4,2:4) = 0; 556s assert (imreconstruct (repmat (2, [5, 5]), mask), mask) 556s 556s mask = ones (5, 5); 556s mask(2:4,2:4) = 0; 556s assert (imreconstruct (repmat (2, [5, 5]), mask), mask) 556s 556s marker = ones (3, 3, 3, 3); 556s mask = marker; 556s mask(2, 2, 2, 2) = 0; 556s assert (imreconstruct (marker, mask), mask) 556s 556s marker = randi (210, 100, 100); 556s assert (imreconstruct (marker +1, marker), marker) 556s assert (imreconstruct (marker +1, marker), imreconstruct (marker, marker)) 556s 9 tests, 9 passed, 0 known failure, 0 skipped 556s [src/bwdist.cc] 556s >>>>> /tmp/autopkgtest.DTtsRm/build.DBB/src/src/bwdist.cc 556s ***** shared bw 556s 556s bw = [0 1 0 1 0 1 1 0 556s 0 0 0 1 1 0 0 0 556s 0 0 0 1 1 0 0 0 556s 0 0 0 1 1 0 0 0 556s 0 0 1 1 1 1 1 1 556s 1 1 1 1 0 0 0 1 556s 1 1 1 0 0 0 1 0 556s 0 0 1 0 0 0 1 1]; 556s ***** test 556s out = [ 1.00000 0.00000 1.00000 0.00000 1.00000 0.00000 0.00000 1.00000 556s 1.41421 1.00000 1.00000 0.00000 0.00000 1.00000 1.00000 1.41421 556s 2.23607 2.00000 1.00000 0.00000 0.00000 1.00000 2.00000 2.00000 556s 2.00000 1.41421 1.00000 0.00000 0.00000 1.00000 1.00000 1.00000 556s 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 556s 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 0.00000 556s 0.00000 0.00000 0.00000 1.00000 1.41421 1.00000 0.00000 1.00000 556s 1.00000 1.00000 0.00000 1.00000 2.00000 1.00000 0.00000 0.00000]; 556s out = single (out); 556s 556s assert (bwdist (bw), out, 0.0001); # default is euclidean 556s assert (bwdist (bw, "euclidean"), out, 0.0001); 556s assert (bwdist (logical (bw), "euclidean"), out, 0.0001); 556s ***** test 556s out = [ 1 0 1 0 1 0 0 1 556s 1 1 1 0 0 1 1 1 556s 2 2 1 0 0 1 2 2 556s 2 1 1 0 0 1 1 1 556s 1 1 0 0 0 0 0 0 556s 0 0 0 0 1 1 1 0 556s 0 0 0 1 1 1 0 1 556s 1 1 0 1 2 1 0 0]; 556s out = single (out); 556s 556s assert (bwdist (bw, "chessboard"), out); 556s ***** test 556s out = [ 1 0 1 0 1 0 0 1 556s 2 1 1 0 0 1 1 2 556s 3 2 1 0 0 1 2 2 556s 2 2 1 0 0 1 1 1 556s 1 1 0 0 0 0 0 0 556s 0 0 0 0 1 1 1 0 556s 0 0 0 1 2 1 0 1 556s 1 1 0 1 2 1 0 0]; 556s out = single (out); 556s 556s assert (bwdist (bw, "cityblock"), out); 556s ***** test 556s out = [ 1.00000 0.00000 1.00000 0.00000 1.00000 0.00000 0.00000 1.00000 556s 1.41421 1.00000 1.00000 0.00000 0.00000 1.00000 1.00000 1.41421 556s 2.41421 2.00000 1.00000 0.00000 0.00000 1.00000 2.00000 2.00000 556s 2.00000 1.41421 1.00000 0.00000 0.00000 1.00000 1.00000 1.00000 556s 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 556s 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 0.00000 556s 0.00000 0.00000 0.00000 1.00000 1.41421 1.00000 0.00000 1.00000 556s 1.00000 1.00000 0.00000 1.00000 2.00000 1.00000 0.00000 0.00000]; 556s out = single (out); 556s 556s assert (bwdist (bw, "quasi-euclidean"), out, 0.0001); 556s 556s bw(logical (bw)) = 3; # there is no actual check if matrix is binary or 0 and 1 556s assert (bwdist (bw, "quasi-euclidean"), out, 0.0001); 556s 556s bw(logical (bw)) = -2; # anything non-zero is considered object 556s assert (bwdist (bw, "quasi-euclidean"), out, 0.0001); 556s ***** test 556s bw = [ 1 1 1 1 0 1 1 1 1 556s 1 1 1 1 0 1 1 1 1 556s 1 1 0 1 1 1 1 1 1 556s 0 1 1 1 1 1 1 1 1]; 556s 556s dist = [ 0 0 0 0 1 0 0 0 0 556s 0 0 0 0 1 0 0 0 0 556s 0 0 1 0 0 0 0 0 0 556s 1 0 0 0 0 0 0 0 0]; 556s dist = single (dist); 556s 556s c = [ 1 5 9 13 13 21 25 29 33 556s 2 6 10 14 14 22 26 30 34 556s 3 7 10 15 19 23 27 31 35 556s 8 8 12 16 20 24 28 32 36]; 556s c = uint32 (c); 556s 556s [dout, cout] = bwdist (bw, "euclidean"); 556s assert (dout, dist) 556s assert (cout, c) 556s ***** test 556s bw = [ 0 1 1 0 0 0 1 0 556s 0 0 0 0 0 0 0 0 556s 1 1 0 0 0 0 0 0 556s 0 0 0 0 0 0 1 0 556s 0 0 0 0 1 0 0 1 556s 0 0 0 0 0 0 0 0 556s 1 0 0 0 0 0 0 0 556s 0 0 1 0 0 1 1 0]; 556s out = single ([ 556s 1.00000 0.00000 0.00000 1.00000 2.00000 1.00000 0.00000 1.00000 556s 1.00000 1.00000 1.00000 sqrt(2) sqrt(2)+1 sqrt(2) 1.00000 sqrt(2) 556s 0.00000 0.00000 1.00000 2.00000 2.00000 sqrt(2) 1.00000 sqrt(2) 556s 1.00000 1.00000 sqrt(2) sqrt(2) 1.00000 1.00000 0.00000 1.00000 556s 2.00000 2.00000 2.00000 1.00000 0.00000 1.00000 1.00000 0.00000 556s 1.00000 sqrt(2) 2.00000 sqrt(2) 1.00000 sqrt(2) sqrt(2) 1.00000 556s 0.00000 1.00000 1.00000 sqrt(2) sqrt(2) 1.00000 1.00000 sqrt(2) 556s 1.00000 1.00000 0.00000 1.00000 1.00000 0.00000 0.00000 1.00000 556s ]); 556s assert (bwdist (bw, "quasi-euclidean"), out); 556s ***** error bwdist (bw, "not a valid method"); 556s ***** test 556s ## Special case of there being no foreground element (bug #50874) 556s expected_dist = single (Inf (2, 2)); 556s expected_idx = uint32 ([0 0; 0 0]); 556s 556s [dist, idx] = bwdist (false (2, 2)); 556s assert (dist, expected_dist) 556s assert (idx, expected_idx) 556s 556s [dist, idx] = bwdist (zeros (2, 2)); 556s assert (dist, expected_dist) 556s assert (idx, expected_idx) 556s ***** test 556s ## Special case of 1D input (bug #50874) 556s assert (bwdist ([1 0]), single ([0 1])) 556s assert (bwdist ([1 0]'), single ([0 1]')) 556s assert (bwdist ([0 1 0 0 0 0 1 1]), single ([1 0 1 2 2 1 0 0])) 556s assert (bwdist ([1 1 0 0 0 0 1 1]'), single ([0 0 1 2 2 1 0 0])') 556s assert (bwdist ([1 0], "euclidean"), single ([0 1])) 556s assert (bwdist ([1 0], "chessboard"), single ([0 1])) 556s assert (bwdist ([1 0], "cityblock"), single ([0 1])) 556s assert (bwdist ([1 0], "quasi-euclidean"), single ([0 1])) 556s ***** test 556s ## test 1D input with 2nd output argument (indices) (bug #50874) 556s expected_dist = single ([1 0 1]); 556s expected_idx = uint32 ([2 2 2]); 556s 556s [dist, idx] = bwdist ([0 1 0]); 556s assert (dist, expected_dist) 556s assert (idx, expected_idx) 556s 556s [dist, idx] = bwdist ([0 1 0]'); 556s assert (dist, expected_dist') 556s assert (idx, expected_idx') 556s 556s expected_dist = single ([0 0 1 0 0]); 556s expected_idx = uint32 ([1 2 2 4 5]); 556s [dist, idx] = bwdist ([1 1 0 1 1]); 556s assert (dist, expected_dist) 556s assert (idx, expected_idx) 556s 556s expected_dist = single ([1 0 1 2 1 0 0 0 1 1 0 0 0 0 1 2 3 4]); 556s expected_idx = uint32 ([2 2 2 2 6 6 7 8 8 11 11 12 13 14 14 14 14 14]); 556s [dist, idx] = bwdist ([0 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0]); 556s assert (dist, expected_dist) 556s assert (idx, expected_idx) 556s 556s expected_dist = single ([0 0 1 2 1 0 0 0 1 1 0 0 0 0 1 2 1 0]); 556s expected_idx = uint32 ([1 2 2 2 6 6 7 8 8 11 11 12 13 14 14 14 18 18]); 556s [dist, idx] = bwdist ([1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 1]); 556s assert (dist, expected_dist) 556s assert (idx, expected_idx) 556s ***** test 556s assert (bwdist ([0 0]), single ([Inf, Inf])) 556s assert (bwdist ([0 0]'), single ([Inf, Inf]')) 556s ***** xtest 556s ## This is Matlab incompatible because the bottom right corners is 556s ## equally distant to the top right and bottom left corners. However, 556s ## both are correct answers, and the returned value is just 556s ## implementation dependent. 556s bw = logical ([ 556s 0 0 1 556s 0 0 0 556s 1 0 0 556s ]); 556s expected_dist = single ([ 556s 2.0 1.0 0.0 556s 1.0 sqrt(2) 1.0 556s 0.0 1.0 2.0 556s ]); 556s expected_idx = uint32 ([ 556s 3 7 7 556s 3 3 7 556s 3 3 3 556s ]); 556s [dist, idx] = bwdist (bw); 556s assert (dist, expected_dist) 556s assert (idx, expected_idx) 556s !!!!! known failure 556s ASSERT errors for: assert (idx,expected_idx) 556s 556s Location | Observed | Expected | Reason 556s (3,3) 7 3 Abs err 4 exceeds tol 0 by 4 556s 12 tests, 11 passed, 1 known failure, 0 skipped 556s Done running the unit tests. 556s Summary: 2033 tests, 1998 passed, 35 known failures, 0 skipped 557s autopkgtest [13:57:59]: test command1: -----------------------] 557s command1 PASS 557s autopkgtest [13:57:59]: test command1: - - - - - - - - - - results - - - - - - - - - - 558s autopkgtest [13:58:00]: @@@@@@@@@@@@@@@@@@@@ summary 558s command1 PASS 575s nova [W] Using flock in prodstack6-arm64 575s Creating nova instance adt-plucky-arm64-octave-image-20250315-134842-juju-7f2275-prod-proposed-migration-environment-2-bb4b33cb-7fb3-467c-9cbd-697d88e3cb65 from image adt/ubuntu-plucky-arm64-server-20250315.img (UUID bd6e766c-b51f-4b53-86d6-23aa4d18f524)... 575s nova [W] Timed out waiting for e41381e8-1a11-4d36-a978-3ce2e6b3dea4 to get deleted.