https://launchpad.net/ubuntu/+source/octave-image/2.8.1-1/+build/15708482 RUN: /usr/share/launchpad-buildd/slavebin/slave-prep Forking launchpad-buildd slave process... Kernel version: Linux lgw01-amd64-018 4.4.0-139-generic #165-Ubuntu SMP Wed Oct 24 10:58:50 UTC 2018 x86_64 Buildd toolchain package versions: launchpad-buildd_165 python-lpbuildd_165 sbuild_0.67.0-2ubuntu7.1 bzr-builder_0.7.3+bzr174~ppa13~ubuntu14.10.1 bzr_2.7.0-2ubuntu3.1 git-build-recipe_0.3.4~git201611291343.dcee459~ubuntu16.04.1 git_1:2.7.4-0ubuntu1.5 dpkg-dev_1.18.4ubuntu1.5 python-debian_0.1.27ubuntu2. Syncing the system clock with the buildd NTP service... 26 Nov 23:26:00 ntpdate[1834]: adjust time server 10.211.37.1 offset -0.000221 sec RUN: /usr/share/launchpad-buildd/slavebin/in-target unpack-chroot --backend=chroot --series=disco --arch=amd64 PACKAGEBUILD-15708482 /home/buildd/filecache-default/b71572c9405b6ce6ff1d1ad001cf764bb07f52ae Creating target for build PACKAGEBUILD-15708482 RUN: /usr/share/launchpad-buildd/slavebin/in-target mount-chroot --backend=chroot --series=disco --arch=amd64 PACKAGEBUILD-15708482 Starting target for build PACKAGEBUILD-15708482 RUN: /usr/share/launchpad-buildd/slavebin/in-target override-sources-list --backend=chroot --series=disco --arch=amd64 PACKAGEBUILD-15708482 'deb http://ftpmaster.internal/ubuntu disco main universe' 'deb http://ftpmaster.internal/ubuntu disco-security main universe' 'deb http://ftpmaster.internal/ubuntu disco-updates main universe' 'deb http://ftpmaster.internal/ubuntu disco-proposed main universe' Overriding sources.list in build-PACKAGEBUILD-15708482 RUN: /usr/share/launchpad-buildd/slavebin/in-target update-debian-chroot --backend=chroot --series=disco --arch=amd64 PACKAGEBUILD-15708482 Updating target for build PACKAGEBUILD-15708482 Get:1 http://ftpmaster.internal/ubuntu disco InRelease [243 kB] Get:2 http://ftpmaster.internal/ubuntu disco-security InRelease [65.4 kB] Get:3 http://ftpmaster.internal/ubuntu disco-updates InRelease [65.4 kB] Get:4 http://ftpmaster.internal/ubuntu disco-proposed InRelease [93.2 kB] Get:5 http://ftpmaster.internal/ubuntu disco/main amd64 Packages [1005 kB] Get:6 http://ftpmaster.internal/ubuntu disco/main Translation-en [507 kB] Get:7 http://ftpmaster.internal/ubuntu disco/universe amd64 Packages [8928 kB] Get:8 http://ftpmaster.internal/ubuntu disco/universe Translation-en [5130 kB] Get:9 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 Packages [76.6 kB] Get:10 http://ftpmaster.internal/ubuntu disco-proposed/main Translation-en [40.1 kB] Get:11 http://ftpmaster.internal/ubuntu disco-proposed/universe amd64 Packages [330 kB] Get:12 http://ftpmaster.internal/ubuntu disco-proposed/universe Translation-en [177 kB] Fetched 16.7 MB in 9s (1845 kB/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... Calculating upgrade... The following packages were automatically installed and are no longer required: libgdbm5 libperl5.26 perl-modules-5.26 Use 'sudo apt autoremove' to remove them. The following NEW packages will be installed: libgdbm6 libperl5.28 perl-modules-5.28 The following packages will be upgraded: apt base-files binutils binutils-common binutils-x86-64-linux-gnu cpp cpp-8 dash dmsetup fakeroot findutils g++ g++-8 gcc gcc-8 gcc-8-base hostname init init-system-helpers libapparmor1 libapt-pkg5.0 libasan5 libatomic1 libaudit-common libaudit1 libbinutils libcap-ng0 libcc1-0 libdb5.3 libdevmapper1.02.1 libfakeroot libgcc-8-dev libgcc1 libgcrypt20 libgdbm-compat4 libgnutls30 libgomp1 libgpg-error0 libitm1 libkmod2 liblsan0 libmpx2 libquadmath0 libseccomp2 libselinux1 libsemanage-common libsemanage1 libsqlite3-0 libstdc++-8-dev libstdc++6 libsystemd0 libtsan0 libubsan1 libudev1 linux-libc-dev lockfile-progs perl perl-base sed systemd systemd-sysv tar tzdata 63 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. Need to get 50.2 MB of archives. After this operation, 48.8 MB of additional disk space will be used. Get:1 http://ftpmaster.internal/ubuntu disco/main amd64 base-files amd64 10.1ubuntu8 [60.1 kB] Get:2 http://ftpmaster.internal/ubuntu disco/main amd64 dash amd64 0.5.10.2-1 [89.3 kB] Get:3 http://ftpmaster.internal/ubuntu disco/main amd64 findutils amd64 4.6.0+git+20181018-1 [295 kB] Get:4 http://ftpmaster.internal/ubuntu disco/main amd64 hostname amd64 3.21 [11.2 kB] Get:5 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 perl-modules-5.28 all 5.28.0-4 [2810 kB] Get:6 http://ftpmaster.internal/ubuntu disco/main amd64 libgdbm6 amd64 1.18.1-2 [27.6 kB] Get:7 http://ftpmaster.internal/ubuntu disco/main amd64 libgdbm-compat4 amd64 1.18.1-2 [6152 B] Get:8 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libperl5.28 amd64 5.28.0-4 [3836 kB] Get:9 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 perl amd64 5.28.0-4 [204 kB] Get:10 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 perl-base amd64 5.28.0-4 [1510 kB] Get:11 http://ftpmaster.internal/ubuntu disco/main amd64 libdb5.3 amd64 5.3.28+dfsg1-0.2 [672 kB] Get:12 http://ftpmaster.internal/ubuntu disco/main amd64 sed amd64 4.5-2 [186 kB] Get:13 http://ftpmaster.internal/ubuntu disco/main amd64 tar amd64 1.30+dfsg-3 [242 kB] Get:14 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 init-system-helpers all 1.56 [38.8 kB] Get:15 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libquadmath0 amd64 8.2.0-10ubuntu1 [134 kB] Get:16 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libubsan1 amd64 8.2.0-10ubuntu1 [121 kB] Get:17 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 gcc-8-base amd64 8.2.0-10ubuntu1 [18.7 kB] Get:18 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libgcc1 amd64 1:8.2.0-10ubuntu1 [40.8 kB] Get:19 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libitm1 amd64 8.2.0-10ubuntu1 [28.2 kB] Get:20 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libasan5 amd64 8.2.0-10ubuntu1 [364 kB] Get:21 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libgomp1 amd64 8.2.0-10ubuntu1 [76.4 kB] Get:22 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libatomic1 amd64 8.2.0-10ubuntu1 [9060 B] Get:23 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 liblsan0 amd64 8.2.0-10ubuntu1 [132 kB] Get:24 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libtsan0 amd64 8.2.0-10ubuntu1 [288 kB] Get:25 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libmpx2 amd64 8.2.0-10ubuntu1 [11.7 kB] Get:26 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 cpp-8 amd64 8.2.0-10ubuntu1 [7222 kB] Get:27 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libcc1-0 amd64 8.2.0-10ubuntu1 [39.5 kB] Get:28 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 gcc-8 amd64 8.2.0-10ubuntu1 [8000 kB] Get:29 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 g++-8 amd64 8.2.0-10ubuntu1 [8116 kB] Get:30 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libstdc++-8-dev amd64 8.2.0-10ubuntu1 [1539 kB] Get:31 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libgcc-8-dev amd64 8.2.0-10ubuntu1 [2305 kB] Get:32 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libstdc++6 amd64 8.2.0-10ubuntu1 [400 kB] Get:33 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libbinutils amd64 2.31.1-8ubuntu1 [482 kB] Get:34 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 binutils-common amd64 2.31.1-8ubuntu1 [194 kB] Get:35 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 binutils amd64 2.31.1-8ubuntu1 [3392 B] Get:36 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 binutils-x86-64-linux-gnu amd64 2.31.1-8ubuntu1 [1830 kB] Get:37 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libudev1 amd64 239-7ubuntu12 [54.3 kB] Get:38 http://ftpmaster.internal/ubuntu disco/main amd64 libapt-pkg5.0 amd64 1.8.0~alpha2ubuntu1 [814 kB] Get:39 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libgnutls30 amd64 3.6.4-2ubuntu2 [747 kB] Get:40 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libseccomp2 amd64 2.3.3-3ubuntu2 [38.9 kB] Get:41 http://ftpmaster.internal/ubuntu disco/main amd64 apt amd64 1.8.0~alpha2ubuntu1 [1182 kB] Get:42 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 systemd-sysv amd64 239-7ubuntu12 [9396 B] Get:43 http://ftpmaster.internal/ubuntu disco/main amd64 libapparmor1 amd64 2.12-4ubuntu10 [29.9 kB] Get:44 http://ftpmaster.internal/ubuntu disco/main amd64 libaudit-common all 1:2.8.3-1ubuntu3 [4068 B] Get:45 http://ftpmaster.internal/ubuntu disco/main amd64 libcap-ng0 amd64 0.7.9-1build1 [10.9 kB] Get:46 http://ftpmaster.internal/ubuntu disco/main amd64 libaudit1 amd64 1:2.8.3-1ubuntu3 [38.8 kB] Get:47 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libgpg-error0 amd64 1.32-3 [56.0 kB] Get:48 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libkmod2 amd64 25-1ubuntu2 [41.7 kB] Get:49 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 systemd amd64 239-7ubuntu12 [2970 kB] Get:50 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libsystemd0 amd64 239-7ubuntu12 [211 kB] Get:51 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 init amd64 1.56 [6652 B] Get:52 http://ftpmaster.internal/ubuntu disco/main amd64 libgcrypt20 amd64 1.8.4-3ubuntu1 [420 kB] Get:53 http://ftpmaster.internal/ubuntu disco/main amd64 libselinux1 amd64 2.8-1build2 [68.6 kB] Get:54 http://ftpmaster.internal/ubuntu disco/main amd64 libsemanage-common all 2.8-1build2 [6892 B] Get:55 http://ftpmaster.internal/ubuntu disco/main amd64 libsemanage1 amd64 2.8-1build2 [85.1 kB] Get:56 http://ftpmaster.internal/ubuntu disco/main amd64 libdevmapper1.02.1 amd64 2:1.02.145-4.1ubuntu4 [127 kB] Get:57 http://ftpmaster.internal/ubuntu disco/main amd64 dmsetup amd64 2:1.02.145-4.1ubuntu4 [74.6 kB] Get:58 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libsqlite3-0 amd64 3.25.3-2 [529 kB] Get:59 http://ftpmaster.internal/ubuntu disco/main amd64 tzdata all 2018g-1 [188 kB] Get:60 http://ftpmaster.internal/ubuntu disco/main amd64 g++ amd64 4:8.2.0-2ubuntu2 [1608 B] Get:61 http://ftpmaster.internal/ubuntu disco/main amd64 gcc amd64 4:8.2.0-2ubuntu2 [5224 B] Get:62 http://ftpmaster.internal/ubuntu disco/main amd64 cpp amd64 4:8.2.0-2ubuntu2 [27.6 kB] Get:63 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libfakeroot amd64 1.23-1 [25.3 kB] Get:64 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 fakeroot amd64 1.23-1 [62.4 kB] Get:65 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 linux-libc-dev amd64 4.18.0-12.13 [1054 kB] Get:66 http://ftpmaster.internal/ubuntu disco/main amd64 lockfile-progs amd64 0.1.18 [9872 B] debconf: delaying package configuration, since apt-utils is not installed Fetched 50.2 MB in 2s (30.0 MB/s) (Reading database ... 12650 files and directories currently installed.) Preparing to unpack .../base-files_10.1ubuntu8_amd64.deb ... Unpacking base-files (10.1ubuntu8) over (10.1ubuntu7) ... Setting up base-files (10.1ubuntu8) ... Installing new version of config file /etc/issue ... Installing new version of config file /etc/issue.net ... Installing new version of config file /etc/lsb-release ... (Reading database ... 12650 files and directories currently installed.) Preparing to unpack .../dash_0.5.10.2-1_amd64.deb ... Removing 'diversion of /bin/sh to /bin/sh.distrib by dash' Adding 'diversion of /bin/sh to /bin/sh.distrib by bash' Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash' Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by bash' Unpacking dash (0.5.10.2-1) over (0.5.8-2.10) ... Setting up dash (0.5.10.2-1) ... Removing 'diversion of /bin/sh to /bin/sh.distrib by bash' Adding 'diversion of /bin/sh to /bin/sh.distrib by dash' Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by bash' Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash' (Reading database ... 12650 files and directories currently installed.) Preparing to unpack .../findutils_4.6.0+git+20181018-1_amd64.deb ... Unpacking findutils (4.6.0+git+20181018-1) over (4.6.0+git+20180808-2) ... Setting up findutils (4.6.0+git+20181018-1) ... (Reading database ... 12650 files and directories currently installed.) Preparing to unpack .../hostname_3.21_amd64.deb ... Unpacking hostname (3.21) over (3.20) ... Setting up hostname (3.21) ... (Reading database ... 12650 files and directories currently installed.) Preparing to unpack .../0-perl_5.28.0-4_amd64.deb ... Unpacking perl (5.28.0-4) over (5.26.2-7) ... Selecting previously unselected package perl-modules-5.28. Preparing to unpack .../1-perl-modules-5.28_5.28.0-4_all.deb ... Unpacking perl-modules-5.28 (5.28.0-4) ... Selecting previously unselected package libgdbm6:amd64. Preparing to unpack .../2-libgdbm6_1.18.1-2_amd64.deb ... Unpacking libgdbm6:amd64 (1.18.1-2) ... Preparing to unpack .../3-libgdbm-compat4_1.18.1-2_amd64.deb ... Unpacking libgdbm-compat4:amd64 (1.18.1-2) over (1.14.1-6) ... Selecting previously unselected package libperl5.28:amd64. Preparing to unpack .../4-libperl5.28_5.28.0-4_amd64.deb ... Unpacking libperl5.28:amd64 (5.28.0-4) ... Preparing to unpack .../5-perl-base_5.28.0-4_amd64.deb ... Unpacking perl-base (5.28.0-4) over (5.26.2-7) ... Setting up perl-base (5.28.0-4) ... (Reading database ... 14539 files and directories currently installed.) Preparing to unpack .../libdb5.3_5.3.28+dfsg1-0.2_amd64.deb ... Unpacking libdb5.3:amd64 (5.3.28+dfsg1-0.2) over (5.3.28+dfsg1-0.1) ... Setting up libdb5.3:amd64 (5.3.28+dfsg1-0.2) ... (Reading database ... 14539 files and directories currently installed.) Preparing to unpack .../archives/sed_4.5-2_amd64.deb ... Unpacking sed (4.5-2) over (4.5-1) ... Setting up sed (4.5-2) ... (Reading database ... 14539 files and directories currently installed.) Preparing to unpack .../tar_1.30+dfsg-3_amd64.deb ... Unpacking tar (1.30+dfsg-3) over (1.30+dfsg-2) ... Setting up tar (1.30+dfsg-3) ... (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../init-system-helpers_1.56_all.deb ... Unpacking init-system-helpers (1.56) over (1.54) ... Setting up init-system-helpers (1.56) ... (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../libquadmath0_8.2.0-10ubuntu1_amd64.deb ... Unpacking libquadmath0:amd64 (8.2.0-10ubuntu1) over (8.2.0-7ubuntu1) ... Preparing to unpack .../libubsan1_8.2.0-10ubuntu1_amd64.deb ... Unpacking libubsan1:amd64 (8.2.0-10ubuntu1) over (8.2.0-7ubuntu1) ... Preparing to unpack .../gcc-8-base_8.2.0-10ubuntu1_amd64.deb ... Unpacking gcc-8-base:amd64 (8.2.0-10ubuntu1) over (8.2.0-7ubuntu1) ... Setting up gcc-8-base:amd64 (8.2.0-10ubuntu1) ... (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../libgcc1_1%3a8.2.0-10ubuntu1_amd64.deb ... Unpacking libgcc1:amd64 (1:8.2.0-10ubuntu1) over (1:8.2.0-7ubuntu1) ... Setting up libgcc1:amd64 (1:8.2.0-10ubuntu1) ... (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../00-libitm1_8.2.0-10ubuntu1_amd64.deb ... Unpacking libitm1:amd64 (8.2.0-10ubuntu1) over (8.2.0-7ubuntu1) ... Preparing to unpack .../01-libasan5_8.2.0-10ubuntu1_amd64.deb ... Unpacking libasan5:amd64 (8.2.0-10ubuntu1) over (8.2.0-7ubuntu1) ... Preparing to unpack .../02-libgomp1_8.2.0-10ubuntu1_amd64.deb ... Unpacking libgomp1:amd64 (8.2.0-10ubuntu1) over (8.2.0-7ubuntu1) ... Preparing to unpack .../03-libatomic1_8.2.0-10ubuntu1_amd64.deb ... Unpacking libatomic1:amd64 (8.2.0-10ubuntu1) over (8.2.0-7ubuntu1) ... Preparing to unpack .../04-liblsan0_8.2.0-10ubuntu1_amd64.deb ... Unpacking liblsan0:amd64 (8.2.0-10ubuntu1) over (8.2.0-7ubuntu1) ... Preparing to unpack .../05-libtsan0_8.2.0-10ubuntu1_amd64.deb ... Unpacking libtsan0:amd64 (8.2.0-10ubuntu1) over (8.2.0-7ubuntu1) ... Preparing to unpack .../06-libmpx2_8.2.0-10ubuntu1_amd64.deb ... Unpacking libmpx2:amd64 (8.2.0-10ubuntu1) over (8.2.0-7ubuntu1) ... Preparing to unpack .../07-cpp-8_8.2.0-10ubuntu1_amd64.deb ... Unpacking cpp-8 (8.2.0-10ubuntu1) over (8.2.0-7ubuntu1) ... Preparing to unpack .../08-libcc1-0_8.2.0-10ubuntu1_amd64.deb ... Unpacking libcc1-0:amd64 (8.2.0-10ubuntu1) over (8.2.0-7ubuntu1) ... Preparing to unpack .../09-gcc-8_8.2.0-10ubuntu1_amd64.deb ... Unpacking gcc-8 (8.2.0-10ubuntu1) over (8.2.0-7ubuntu1) ... Preparing to unpack .../10-g++-8_8.2.0-10ubuntu1_amd64.deb ... Unpacking g++-8 (8.2.0-10ubuntu1) over (8.2.0-7ubuntu1) ... Preparing to unpack .../11-libstdc++-8-dev_8.2.0-10ubuntu1_amd64.deb ... Unpacking libstdc++-8-dev:amd64 (8.2.0-10ubuntu1) over (8.2.0-7ubuntu1) ... Preparing to unpack .../12-libgcc-8-dev_8.2.0-10ubuntu1_amd64.deb ... Unpacking libgcc-8-dev:amd64 (8.2.0-10ubuntu1) over (8.2.0-7ubuntu1) ... Preparing to unpack .../13-libstdc++6_8.2.0-10ubuntu1_amd64.deb ... Unpacking libstdc++6:amd64 (8.2.0-10ubuntu1) over (8.2.0-7ubuntu1) ... Setting up libstdc++6:amd64 (8.2.0-10ubuntu1) ... (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../libbinutils_2.31.1-8ubuntu1_amd64.deb ... Unpacking libbinutils:amd64 (2.31.1-8ubuntu1) over (2.31.1-6ubuntu1) ... Preparing to unpack .../binutils-common_2.31.1-8ubuntu1_amd64.deb ... Unpacking binutils-common:amd64 (2.31.1-8ubuntu1) over (2.31.1-6ubuntu1) ... Preparing to unpack .../binutils_2.31.1-8ubuntu1_amd64.deb ... Unpacking binutils (2.31.1-8ubuntu1) over (2.31.1-6ubuntu1) ... Preparing to unpack .../binutils-x86-64-linux-gnu_2.31.1-8ubuntu1_amd64.deb ... Unpacking binutils-x86-64-linux-gnu (2.31.1-8ubuntu1) over (2.31.1-6ubuntu1) ... Preparing to unpack .../libudev1_239-7ubuntu12_amd64.deb ... Unpacking libudev1:amd64 (239-7ubuntu12) over (239-7ubuntu10) ... Setting up libudev1:amd64 (239-7ubuntu12) ... (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../libapt-pkg5.0_1.8.0~alpha2ubuntu1_amd64.deb ... Unpacking libapt-pkg5.0:amd64 (1.8.0~alpha2ubuntu1) over (1.7.0) ... Setting up libapt-pkg5.0:amd64 (1.8.0~alpha2ubuntu1) ... (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../libgnutls30_3.6.4-2ubuntu2_amd64.deb ... Unpacking libgnutls30:amd64 (3.6.4-2ubuntu2) over (3.6.4-2ubuntu1) ... Setting up libgnutls30:amd64 (3.6.4-2ubuntu2) ... (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../libseccomp2_2.3.3-3ubuntu2_amd64.deb ... Unpacking libseccomp2:amd64 (2.3.3-3ubuntu2) over (2.3.3-3ubuntu1) ... Setting up libseccomp2:amd64 (2.3.3-3ubuntu2) ... (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../apt_1.8.0~alpha2ubuntu1_amd64.deb ... Unpacking apt (1.8.0~alpha2ubuntu1) over (1.7.0) ... Setting up apt (1.8.0~alpha2ubuntu1) ... Installing new version of config file /etc/apt/apt.conf.d/01autoremove ... (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../systemd-sysv_239-7ubuntu12_amd64.deb ... Unpacking systemd-sysv (239-7ubuntu12) over (239-7ubuntu10) ... Preparing to unpack .../libapparmor1_2.12-4ubuntu10_amd64.deb ... Unpacking libapparmor1:amd64 (2.12-4ubuntu10) over (2.12-4ubuntu8) ... Preparing to unpack .../libaudit-common_1%3a2.8.3-1ubuntu3_all.deb ... Unpacking libaudit-common (1:2.8.3-1ubuntu3) over (1:2.8.3-1ubuntu2) ... Setting up libaudit-common (1:2.8.3-1ubuntu3) ... (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../libcap-ng0_0.7.9-1build1_amd64.deb ... Unpacking libcap-ng0:amd64 (0.7.9-1build1) over (0.7.9-1) ... Setting up libcap-ng0:amd64 (0.7.9-1build1) ... (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../libaudit1_1%3a2.8.3-1ubuntu3_amd64.deb ... Unpacking libaudit1:amd64 (1:2.8.3-1ubuntu3) over (1:2.8.3-1ubuntu2) ... Setting up libaudit1:amd64 (1:2.8.3-1ubuntu3) ... (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../libgpg-error0_1.32-3_amd64.deb ... Unpacking libgpg-error0:amd64 (1.32-3) over (1.32-1) ... Setting up libgpg-error0:amd64 (1.32-3) ... (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../libkmod2_25-1ubuntu2_amd64.deb ... Unpacking libkmod2:amd64 (25-1ubuntu2) over (25-1ubuntu1) ... Preparing to unpack .../systemd_239-7ubuntu12_amd64.deb ... Unpacking systemd (239-7ubuntu12) over (239-7ubuntu10) ... Preparing to unpack .../libsystemd0_239-7ubuntu12_amd64.deb ... Unpacking libsystemd0:amd64 (239-7ubuntu12) over (239-7ubuntu10) ... Setting up libsystemd0:amd64 (239-7ubuntu12) ... Setting up libapparmor1:amd64 (2.12-4ubuntu10) ... Setting up libkmod2:amd64 (25-1ubuntu2) ... Setting up systemd (239-7ubuntu12) ... Setting up systemd-sysv (239-7ubuntu12) ... (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../archives/init_1.56_amd64.deb ... Unpacking init (1.56) over (1.54) ... Preparing to unpack .../libgcrypt20_1.8.4-3ubuntu1_amd64.deb ... Unpacking libgcrypt20:amd64 (1.8.4-3ubuntu1) over (1.8.3-1ubuntu1) ... Setting up libgcrypt20:amd64 (1.8.4-3ubuntu1) ... (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../libselinux1_2.8-1build2_amd64.deb ... Unpacking libselinux1:amd64 (2.8-1build2) over (2.8-1build1) ... Setting up libselinux1:amd64 (2.8-1build2) ... (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../libsemanage-common_2.8-1build2_all.deb ... Unpacking libsemanage-common (2.8-1build2) over (2.8-1build1) ... Setting up libsemanage-common (2.8-1build2) ... (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../libsemanage1_2.8-1build2_amd64.deb ... Unpacking libsemanage1:amd64 (2.8-1build2) over (2.8-1build1) ... Setting up libsemanage1:amd64 (2.8-1build2) ... (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../00-libdevmapper1.02.1_2%3a1.02.145-4.1ubuntu4_amd64.deb ... Unpacking libdevmapper1.02.1:amd64 (2:1.02.145-4.1ubuntu4) over (2:1.02.145-4.1ubuntu3) ... Preparing to unpack .../01-dmsetup_2%3a1.02.145-4.1ubuntu4_amd64.deb ... Unpacking dmsetup (2:1.02.145-4.1ubuntu4) over (2:1.02.145-4.1ubuntu3) ... Preparing to unpack .../02-libsqlite3-0_3.25.3-2_amd64.deb ... Unpacking libsqlite3-0:amd64 (3.25.3-2) over (3.24.0-1) ... Preparing to unpack .../03-tzdata_2018g-1_all.deb ... Unpacking tzdata (2018g-1) over (2018e-1) ... Preparing to unpack .../04-g++_4%3a8.2.0-2ubuntu2_amd64.deb ... Unpacking g++ (4:8.2.0-2ubuntu2) over (4:8.2.0-1ubuntu1) ... Preparing to unpack .../05-gcc_4%3a8.2.0-2ubuntu2_amd64.deb ... Unpacking gcc (4:8.2.0-2ubuntu2) over (4:8.2.0-1ubuntu1) ... Preparing to unpack .../06-cpp_4%3a8.2.0-2ubuntu2_amd64.deb ... Unpacking cpp (4:8.2.0-2ubuntu2) over (4:8.2.0-1ubuntu1) ... Preparing to unpack .../07-libfakeroot_1.23-1_amd64.deb ... Unpacking libfakeroot:amd64 (1.23-1) over (1.22-2ubuntu1) ... Preparing to unpack .../08-fakeroot_1.23-1_amd64.deb ... Unpacking fakeroot (1.23-1) over (1.22-2ubuntu1) ... Preparing to unpack .../09-linux-libc-dev_4.18.0-12.13_amd64.deb ... Unpacking linux-libc-dev:amd64 (4.18.0-12.13) over (4.18.0-10.11) ... Preparing to unpack .../10-lockfile-progs_0.1.18_amd64.deb ... Unpacking lockfile-progs (0.1.18) over (0.1.17build1) ... Setting up libquadmath0:amd64 (8.2.0-10ubuntu1) ... Setting up cpp-8 (8.2.0-10ubuntu1) ... Setting up libgomp1:amd64 (8.2.0-10ubuntu1) ... Setting up libatomic1:amd64 (8.2.0-10ubuntu1) ... Setting up cpp (4:8.2.0-2ubuntu2) ... Setting up libcc1-0:amd64 (8.2.0-10ubuntu1) ... Setting up tzdata (2018g-1) ... Current default time zone: 'Etc/UTC' Local time is now: Mon Nov 26 23:27:07 UTC 2018. Universal Time is now: Mon Nov 26 23:27:07 UTC 2018. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up init (1.56) ... Setting up libtsan0:amd64 (8.2.0-10ubuntu1) ... Setting up linux-libc-dev:amd64 (4.18.0-12.13) ... Setting up libdevmapper1.02.1:amd64 (2:1.02.145-4.1ubuntu4) ... Setting up liblsan0:amd64 (8.2.0-10ubuntu1) ... Setting up libgdbm6:amd64 (1.18.1-2) ... Setting up binutils-common:amd64 (2.31.1-8ubuntu1) ... Setting up libmpx2:amd64 (8.2.0-10ubuntu1) ... Setting up perl-modules-5.28 (5.28.0-4) ... Processing triggers for libc-bin (2.28-0ubuntu1) ... Setting up libfakeroot:amd64 (1.23-1) ... Setting up libsqlite3-0:amd64 (3.25.3-2) ... Setting up dmsetup (2:1.02.145-4.1ubuntu4) ... Setting up libgdbm-compat4:amd64 (1.18.1-2) ... Setting up lockfile-progs (0.1.18) ... Setting up libasan5:amd64 (8.2.0-10ubuntu1) ... Setting up libitm1:amd64 (8.2.0-10ubuntu1) ... Setting up libubsan1:amd64 (8.2.0-10ubuntu1) ... Setting up libbinutils:amd64 (2.31.1-8ubuntu1) ... Setting up libperl5.28:amd64 (5.28.0-4) ... Setting up fakeroot (1.23-1) ... Setting up perl (5.28.0-4) ... Setting up libgcc-8-dev:amd64 (8.2.0-10ubuntu1) ... Setting up binutils-x86-64-linux-gnu (2.31.1-8ubuntu1) ... Setting up libstdc++-8-dev:amd64 (8.2.0-10ubuntu1) ... Setting up binutils (2.31.1-8ubuntu1) ... Setting up gcc-8 (8.2.0-10ubuntu1) ... Setting up g++-8 (8.2.0-10ubuntu1) ... Setting up gcc (4:8.2.0-2ubuntu2) ... Setting up g++ (4:8.2.0-2ubuntu2) ... Processing triggers for libc-bin (2.28-0ubuntu1) ... RUN: /usr/share/launchpad-buildd/slavebin/sbuild-package PACKAGEBUILD-15708482 amd64 disco-proposed -c chroot:build-PACKAGEBUILD-15708482 --arch=amd64 --dist=disco-proposed --nolog -A octave-image_2.8.1-1.dsc Initiating build PACKAGEBUILD-15708482 with 4 jobs across 4 processor cores. Kernel reported to sbuild: 4.4.0-139-generic #165-Ubuntu SMP Wed Oct 24 10:58:50 UTC 2018 x86_64 sbuild (Debian sbuild) 0.67.0 (26 Dec 2015) on lgw01-amd64-018.buildd +==============================================================================+ | octave-image 2.8.1-1 (amd64) 26 Nov 2018 23:27 | +==============================================================================+ Package: octave-image Version: 2.8.1-1 Source Version: 2.8.1-1 Distribution: disco-proposed Machine Architecture: amd64 Host Architecture: amd64 Build Architecture: amd64 I: NOTICE: Log filtering will replace 'build/octave-image-MGic0F/octave-image-2.8.1' with '<>' I: NOTICE: Log filtering will replace 'build/octave-image-MGic0F' with '<>' I: NOTICE: Log filtering will replace 'home/buildd/build-PACKAGEBUILD-15708482/chroot-autobuild' with '<>' +------------------------------------------------------------------------------+ | Fetch source files | +------------------------------------------------------------------------------+ Local sources ------------- octave-image_2.8.1-1.dsc exists in .; copying to chroot Check architectures ------------------- Check dependencies ------------------ Merged Build-Depends: build-essential, fakeroot Filtered Build-Depends: build-essential, fakeroot dpkg-deb: building package 'sbuild-build-depends-core-dummy' in '/<>/resolver-lMm030/apt_archive/sbuild-build-depends-core-dummy.deb'. Ign:1 copy:/<>/resolver-lMm030/apt_archive ./ InRelease Get:2 copy:/<>/resolver-lMm030/apt_archive ./ Release [2119 B] Ign:3 copy:/<>/resolver-lMm030/apt_archive ./ Release.gpg Get:4 copy:/<>/resolver-lMm030/apt_archive ./ Sources [214 B] Get:5 copy:/<>/resolver-lMm030/apt_archive ./ Packages [528 B] Fetched 2861 B in 0s (122 kB/s) Reading package lists... Reading package lists... +------------------------------------------------------------------------------+ | Install core build dependencies (apt-based resolver) | +------------------------------------------------------------------------------+ Installing build dependencies Reading package lists... Building dependency tree... Reading state information... The following packages were automatically installed and are no longer required: libgdbm5 libperl5.26 perl-modules-5.26 Use 'apt autoremove' to remove them. The following NEW packages will be installed: sbuild-build-depends-core-dummy 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 852 B of archives. After this operation, 0 B of additional disk space will be used. Get:1 copy:/<>/resolver-lMm030/apt_archive ./ sbuild-build-depends-core-dummy 0.invalid.0 [852 B] debconf: delaying package configuration, since apt-utils is not installed Fetched 852 B in 0s (0 B/s) Selecting previously unselected package sbuild-build-depends-core-dummy. (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../sbuild-build-depends-core-dummy_0.invalid.0_amd64.deb ... Unpacking sbuild-build-depends-core-dummy (0.invalid.0) ... Setting up sbuild-build-depends-core-dummy (0.invalid.0) ... Merged Build-Depends: debhelper (>= 11), dh-octave, gnuplot-nox Filtered Build-Depends: debhelper (>= 11), dh-octave, gnuplot-nox dpkg-deb: building package 'sbuild-build-depends-octave-image-dummy' in '/<>/resolver-GwEDnX/apt_archive/sbuild-build-depends-octave-image-dummy.deb'. Ign:1 copy:/<>/resolver-GwEDnX/apt_archive ./ InRelease Get:2 copy:/<>/resolver-GwEDnX/apt_archive ./ Release [2119 B] Ign:3 copy:/<>/resolver-GwEDnX/apt_archive ./ Release.gpg Get:4 copy:/<>/resolver-GwEDnX/apt_archive ./ Sources [227 B] Get:5 copy:/<>/resolver-GwEDnX/apt_archive ./ Packages [546 B] Fetched 2892 B in 0s (131 kB/s) Reading package lists... Reading package lists... +------------------------------------------------------------------------------+ | Install octave-image build dependencies (apt-based resolver) | +------------------------------------------------------------------------------+ Installing build dependencies Reading package lists... Building dependency tree... Reading state information... The following packages were automatically installed and are no longer required: libgdbm5 libperl5.26 perl-modules-5.26 Use 'apt autoremove' to remove them. The following additional packages will be installed: aglfn autoconf automake autopoint autotools-dev bsdmainutils cme debhelper dh-autoreconf dh-octave dh-octave-autopkgtest dh-strip-nondeterminism dwz file fontconfig fontconfig-config fonts-dejavu-core fonts-freefont-otf gettext gettext-base gfortran gfortran-8 gnuplot-data gnuplot-nox groff-base hdf5-helpers intltool-debian libaec-dev libaec0 libamd2 libapp-cmd-perl libarchive-zip-perl libarpack2 libasn1-8-heimdal libasound2 libasound2-data libavahi-client3 libavahi-common-data libavahi-common3 libb-hooks-op-check-perl libblas-dev libblas3 libbsd0 libcairo2 libcamd2 libcapture-tiny-perl libcarp-assert-more-perl libcarp-assert-perl libccolamd2 libcholmod3 libclass-load-perl libclone-choose-perl libcolamd2 libconfig-model-perl libconvert-binhex-perl libcroco3 libcups2 libcurl3-gnutls libcxsparse3 libdata-optlist-perl libdatrie1 libdbus-1-3 libdevel-callchecker-perl libdouble-conversion1 libdrm-amdgpu1 libdrm-common libdrm-dev libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libdynaloader-functions-perl libedit2 libegl-mesa0 libegl1 libelf1 libencode-locale-perl liberror-perl libevdev2 libexpat1 libexporter-lite-perl libexporter-tiny-perl libfftw3-bin libfftw3-dev libfftw3-double3 libfftw3-long3 libfftw3-quad3 libfftw3-single3 libfile-homedir-perl libfile-listing-perl libfile-stripnondeterminism-perl libfile-which-perl libflac8 libfltk-gl1.3 libfltk1.3 libfontconfig1 libfreetype6 libfribidi0 libgbm1 libgd3 libgetopt-long-descriptive-perl libgfortran-8-dev libgfortran5 libgl1 libgl1-mesa-dev libgl1-mesa-dri libgl2ps1.4 libglapi-mesa libgles1 libgles2 libglib2.0-0 libglpk40 libglu1-mesa libglvnd-core-dev libglvnd-dev libglvnd0 libglx-mesa0 libglx0 libgraphicsmagick++-q16-12 libgraphicsmagick-q16-3 libgraphite2-3 libgssapi-krb5-2 libgssapi3-heimdal libgudev-1.0-0 libharfbuzz0b libhash-merge-perl libhcrypto4-heimdal libhdf5-100 libhdf5-cpp-100 libhdf5-dev libheimbase1-heimdal libheimntlm0-heimdal libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libhx509-5-heimdal libice6 libicu63 libinput-bin libinput10 libio-html-perl libio-socket-ssl-perl libio-stringy-perl libio-tiecombine-perl libjack-jackd2-0 libjbig0 libjpeg-dev libjpeg-turbo8 libjpeg-turbo8-dev libjpeg8 libjpeg8-dev libjson-perl libk5crypto3 libkeyutils1 libkrb5-26-heimdal libkrb5-3 libkrb5support0 liblapack-dev liblapack3 liblcms2-2 libldap-2.4-2 libldap-common liblist-moreutils-perl libllvm7 liblog-log4perl-perl libltdl7 liblua5.3-0 liblwp-mediatypes-perl liblwp-protocol-https-perl libmagic-mgc libmagic1 libmailtools-perl libmetis5 libmime-tools-perl libmodule-implementation-perl libmodule-pluggable-perl libmodule-runtime-perl libmouse-perl libmousex-nativetraits-perl libmousex-strictconstructor-perl libmtdev1 libncurses-dev libnet-http-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnghttp2-14 liboctave-dev liboctave6 libogg0 libopengl0 libpackage-stash-perl libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libparams-classify-perl libparams-util-perl libparams-validate-perl libparse-debcontrol-perl libparse-recdescent-perl libpath-tiny-perl libpciaccess0 libpcre2-16-0 libpipeline1 libpixman-1-0 libpod-pom-perl libportaudio2 libpsl5 libpthread-stubs0-dev libqhull7 libqrupdate1 libqscintilla2-qt5-13 libqscintilla2-qt5-l10n libqt5core5a libqt5dbus5 libqt5gui5 libqt5help5 libqt5network5 libqt5printsupport5 libqt5sql5 libqt5widgets5 libreadline-dev libregexp-common-perl libroken18-heimdal librtmp1 libsamplerate0 libsasl2-2 libsasl2-modules-db libsensors4 libsigsegv2 libsm6 libsndfile1 libstring-rewriteprefix-perl libsub-exporter-perl libsub-install-perl libsuitesparseconfig5 libsz2 libtext-unidecode-perl libthai-data libthai0 libtiff5 libtimedate-perl libtool libtry-tiny-perl libumfpack5 liburi-perl libvorbis0a libvorbisenc2 libwacom-common libwacom2 libwayland-client0 libwayland-server0 libwebp6 libwebpmux3 libwind0-heimdal libwmf0.2-7 libwww-perl libwww-robotrules-perl libx11-6 libx11-data libx11-dev libx11-xcb-dev libx11-xcb1 libxau-dev libxau6 libxcb-dri2-0 libxcb-dri2-0-dev libxcb-dri3-0 libxcb-dri3-dev libxcb-glx0 libxcb-glx0-dev libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-present-dev libxcb-present0 libxcb-randr0 libxcb-randr0-dev libxcb-render-util0 libxcb-render0 libxcb-render0-dev libxcb-shape0 libxcb-shape0-dev libxcb-shm0 libxcb-sync-dev libxcb-sync1 libxcb-util1 libxcb-xfixes0 libxcb-xfixes0-dev libxcb-xinerama0 libxcb-xkb1 libxcb1 libxcb1-dev libxcursor1 libxdamage-dev libxdamage1 libxdmcp-dev libxdmcp6 libxext-dev libxext6 libxfixes-dev libxfixes3 libxft2 libxi6 libxinerama1 libxkbcommon-x11-0 libxkbcommon0 libxml-libxml-perl libxml-namespacesupport-perl libxml-sax-base-perl libxml-sax-perl libxml2 libxpm4 libxrender1 libxshmfence-dev libxshmfence1 libxxf86vm-dev libxxf86vm1 libyaml-perl libyaml-tiny-perl m4 man-db mesa-common-dev netbase octave octave-common perl-openssl-defaults po-debconf tex-common texinfo ucf x11-common x11proto-core-dev x11proto-damage-dev x11proto-dev x11proto-fixes-dev x11proto-xext-dev x11proto-xf86vidmode-dev xkb-data xorg-sgml-doctools xtrans-dev zlib1g-dev Suggested packages: autoconf-archive gnu-standards autoconf-doc wamerican | wordlist whois vacation libconfig-model-cursesui-perl libconfig-model-itself-perl dh-make gettext-doc libasprintf-dev libgettextpo-dev gfortran-multilib gfortran-doc gfortran-8-multilib gfortran-8-doc libgfortran5-dbg libcoarrays-dev gnuplot-doc groff libasound2-plugins alsa-utils liblapack-doc libconfig-model-dpkg-perl libconfig-model-openssh-perl libterm-readline-perl-perl | libterm-readline-gnu-perl cups-common libfftw3-doc libgd-tools libiodbc2-dev default-libmysqlclient-dev graphicsmagick-dbg krb5-doc krb5-user libhdf5-doc libdata-dump-perl jackd2 liblcms2-utils libdbd-csv-perl liblog-dispatch-filerotate-perl librrds-perl libxml-dom-perl libcrypt-ssleay-perl ncurses-doc libscalar-number-perl pciutils libqscintilla2-doc qt5-image-formats-plugins qtwayland5 readline-doc lm-sensors libtool-doc gcj-jdk libwmf0.2-7-gtk libauthen-ntlm-perl libx11-doc libxcb-doc libxext-doc libyaml-shell-perl m4-doc apparmor less www-browser libmail-box-perl texlive-base texlive-latex-base texlive-generic-recommended texinfo-doc-nonfree texlive-fonts-recommended Recommended packages: libconfig-model-approx-perl libconfig-model-dpkg-perl libconfig-model-lcdproc-perl libconfig-model-openssh-perl libconfig-model-systemd-perl libconfig-model-tkui-perl curl | wget | lynx fonts-liberation groff libclone-perl | libclone-pp-perl bash-completion fuse libfuse-perl libtext-levenshtein-damerau-perl dbus libarchive-cpio-perl libglib2.0-data shared-mime-info xdg-user-dirs ghostscript gsfonts libhtml-format-perl libjson-xs-perl krb5-locales liblog-dispatch-perl libipc-shareable-perl libclass-method-modifiers-perl libauthen-sasl-perl libpackage-stash-xs-perl libtie-ixhash-perl libunicode-utf8-perl publicsuffix qttranslations5-l10n libqt5svg5 qt5-gtk-platformtheme libqt5sql5-sqlite | libqt5sql5-mysql | libqt5sql5-odbc | libqt5sql5-psql | libqt5sql5-tds | libqt5sql5-ibase libsasl2-modules libltdl-dev libwacom-bin libdata-dump-perl libhtml-form-perl libhttp-daemon-perl libxml-sax-expat-perl libyaml-libyaml-perl | libyaml-syck-perl libopenblas-base | libatlas3-base pstoedit epstool default-jre-headless octave-doc libmail-sendmail-perl The following NEW packages will be installed: aglfn autoconf automake autopoint autotools-dev bsdmainutils cme debhelper dh-autoreconf dh-octave dh-octave-autopkgtest dh-strip-nondeterminism dwz file fontconfig fontconfig-config fonts-dejavu-core fonts-freefont-otf gettext gettext-base gfortran gfortran-8 gnuplot-data gnuplot-nox groff-base hdf5-helpers intltool-debian libaec-dev libaec0 libamd2 libapp-cmd-perl libarchive-zip-perl libarpack2 libasn1-8-heimdal libasound2 libasound2-data libavahi-client3 libavahi-common-data libavahi-common3 libb-hooks-op-check-perl libblas-dev libblas3 libbsd0 libcairo2 libcamd2 libcapture-tiny-perl libcarp-assert-more-perl libcarp-assert-perl libccolamd2 libcholmod3 libclass-load-perl libclone-choose-perl libcolamd2 libconfig-model-perl libconvert-binhex-perl libcroco3 libcups2 libcurl3-gnutls libcxsparse3 libdata-optlist-perl libdatrie1 libdbus-1-3 libdevel-callchecker-perl libdouble-conversion1 libdrm-amdgpu1 libdrm-common libdrm-dev libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libdynaloader-functions-perl libedit2 libegl-mesa0 libegl1 libelf1 libencode-locale-perl liberror-perl libevdev2 libexpat1 libexporter-lite-perl libexporter-tiny-perl libfftw3-bin libfftw3-dev libfftw3-double3 libfftw3-long3 libfftw3-quad3 libfftw3-single3 libfile-homedir-perl libfile-listing-perl libfile-stripnondeterminism-perl libfile-which-perl libflac8 libfltk-gl1.3 libfltk1.3 libfontconfig1 libfreetype6 libfribidi0 libgbm1 libgd3 libgetopt-long-descriptive-perl libgfortran-8-dev libgfortran5 libgl1 libgl1-mesa-dev libgl1-mesa-dri libgl2ps1.4 libglapi-mesa libgles1 libgles2 libglib2.0-0 libglpk40 libglu1-mesa libglvnd-core-dev libglvnd-dev libglvnd0 libglx-mesa0 libglx0 libgraphicsmagick++-q16-12 libgraphicsmagick-q16-3 libgraphite2-3 libgssapi-krb5-2 libgssapi3-heimdal libgudev-1.0-0 libharfbuzz0b libhash-merge-perl libhcrypto4-heimdal libhdf5-100 libhdf5-cpp-100 libhdf5-dev libheimbase1-heimdal libheimntlm0-heimdal libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libhx509-5-heimdal libice6 libicu63 libinput-bin libinput10 libio-html-perl libio-socket-ssl-perl libio-stringy-perl libio-tiecombine-perl libjack-jackd2-0 libjbig0 libjpeg-dev libjpeg-turbo8 libjpeg-turbo8-dev libjpeg8 libjpeg8-dev libjson-perl libk5crypto3 libkeyutils1 libkrb5-26-heimdal libkrb5-3 libkrb5support0 liblapack-dev liblapack3 liblcms2-2 libldap-2.4-2 libldap-common liblist-moreutils-perl libllvm7 liblog-log4perl-perl libltdl7 liblua5.3-0 liblwp-mediatypes-perl liblwp-protocol-https-perl libmagic-mgc libmagic1 libmailtools-perl libmetis5 libmime-tools-perl libmodule-implementation-perl libmodule-pluggable-perl libmodule-runtime-perl libmouse-perl libmousex-nativetraits-perl libmousex-strictconstructor-perl libmtdev1 libncurses-dev libnet-http-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnghttp2-14 liboctave-dev liboctave6 libogg0 libopengl0 libpackage-stash-perl libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libparams-classify-perl libparams-util-perl libparams-validate-perl libparse-debcontrol-perl libparse-recdescent-perl libpath-tiny-perl libpciaccess0 libpcre2-16-0 libpipeline1 libpixman-1-0 libpod-pom-perl libportaudio2 libpsl5 libpthread-stubs0-dev libqhull7 libqrupdate1 libqscintilla2-qt5-13 libqscintilla2-qt5-l10n libqt5core5a libqt5dbus5 libqt5gui5 libqt5help5 libqt5network5 libqt5printsupport5 libqt5sql5 libqt5widgets5 libreadline-dev libregexp-common-perl libroken18-heimdal librtmp1 libsamplerate0 libsasl2-2 libsasl2-modules-db libsensors4 libsigsegv2 libsm6 libsndfile1 libstring-rewriteprefix-perl libsub-exporter-perl libsub-install-perl libsuitesparseconfig5 libsz2 libtext-unidecode-perl libthai-data libthai0 libtiff5 libtimedate-perl libtool libtry-tiny-perl libumfpack5 liburi-perl libvorbis0a libvorbisenc2 libwacom-common libwacom2 libwayland-client0 libwayland-server0 libwebp6 libwebpmux3 libwind0-heimdal libwmf0.2-7 libwww-perl libwww-robotrules-perl libx11-6 libx11-data libx11-dev libx11-xcb-dev libx11-xcb1 libxau-dev libxau6 libxcb-dri2-0 libxcb-dri2-0-dev libxcb-dri3-0 libxcb-dri3-dev libxcb-glx0 libxcb-glx0-dev libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-present-dev libxcb-present0 libxcb-randr0 libxcb-randr0-dev libxcb-render-util0 libxcb-render0 libxcb-render0-dev libxcb-shape0 libxcb-shape0-dev libxcb-shm0 libxcb-sync-dev libxcb-sync1 libxcb-util1 libxcb-xfixes0 libxcb-xfixes0-dev libxcb-xinerama0 libxcb-xkb1 libxcb1 libxcb1-dev libxcursor1 libxdamage-dev libxdamage1 libxdmcp-dev libxdmcp6 libxext-dev libxext6 libxfixes-dev libxfixes3 libxft2 libxi6 libxinerama1 libxkbcommon-x11-0 libxkbcommon0 libxml-libxml-perl libxml-namespacesupport-perl libxml-sax-base-perl libxml-sax-perl libxml2 libxpm4 libxrender1 libxshmfence-dev libxshmfence1 libxxf86vm-dev libxxf86vm1 libyaml-perl libyaml-tiny-perl m4 man-db mesa-common-dev netbase octave octave-common perl-openssl-defaults po-debconf sbuild-build-depends-octave-image-dummy tex-common texinfo ucf x11-common x11proto-core-dev x11proto-damage-dev x11proto-dev x11proto-fixes-dev x11proto-xext-dev x11proto-xf86vidmode-dev xkb-data xorg-sgml-doctools xtrans-dev zlib1g-dev 0 upgraded, 346 newly installed, 0 to remove and 0 not upgraded. Need to get 109 MB of archives. After this operation, 565 MB of additional disk space will be used. Get:1 copy:/<>/resolver-GwEDnX/apt_archive ./ sbuild-build-depends-octave-image-dummy 0.invalid.0 [872 B] Get:2 http://ftpmaster.internal/ubuntu disco/main amd64 libxau6 amd64 1:1.0.8-1 [8376 B] Get:3 http://ftpmaster.internal/ubuntu disco/main amd64 libbsd0 amd64 0.9.1-1 [44.6 kB] Get:4 http://ftpmaster.internal/ubuntu disco/main amd64 libxdmcp6 amd64 1:1.1.2-3 [10.7 kB] Get:5 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb1 amd64 1.13.1-1 [45.4 kB] Get:6 http://ftpmaster.internal/ubuntu disco/main amd64 libx11-data all 2:1.6.7-1 [113 kB] Get:7 http://ftpmaster.internal/ubuntu disco/main amd64 libx11-6 amd64 2:1.6.7-1 [572 kB] Get:8 http://ftpmaster.internal/ubuntu disco/main amd64 libxext6 amd64 2:1.3.3-1 [29.4 kB] Get:9 http://ftpmaster.internal/ubuntu disco/main amd64 bsdmainutils amd64 11.1.2ubuntu2 [181 kB] Get:10 http://ftpmaster.internal/ubuntu disco/main amd64 groff-base amd64 1.22.3-10 [1153 kB] Get:11 http://ftpmaster.internal/ubuntu disco/main amd64 libpipeline1 amd64 1.5.0-2 [25.7 kB] Get:12 http://ftpmaster.internal/ubuntu disco/main amd64 man-db amd64 2.8.4-3 [1028 kB] Get:13 http://ftpmaster.internal/ubuntu disco/main amd64 libogg0 amd64 1.3.2-1 [17.2 kB] Get:14 http://ftpmaster.internal/ubuntu disco/main amd64 x11-common all 1:7.7+19ubuntu8 [22.5 kB] Get:15 http://ftpmaster.internal/ubuntu disco/main amd64 libice6 amd64 2:1.0.9-2 [40.2 kB] Get:16 http://ftpmaster.internal/ubuntu disco/main amd64 libsm6 amd64 2:1.2.2-1 [15.8 kB] Get:17 http://ftpmaster.internal/ubuntu disco/main amd64 libxxf86vm1 amd64 1:1.1.4-1 [10.6 kB] Get:18 http://ftpmaster.internal/ubuntu disco/main amd64 ucf all 3.0038 [50.5 kB] Get:19 http://ftpmaster.internal/ubuntu disco/main amd64 tex-common all 6.10 [32.6 kB] Get:20 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-icccm4 amd64 0.4.1-1ubuntu1 [10.4 kB] Get:21 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-keysyms1 amd64 0.4.0-1 [8406 B] Get:22 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-render0 amd64 1.13.1-1 [14.8 kB] Get:23 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-render-util0 amd64 0.3.9-1 [9638 B] Get:24 http://ftpmaster.internal/ubuntu disco/main amd64 libmagic-mgc amd64 1:5.34-2 [197 kB] Get:25 http://ftpmaster.internal/ubuntu disco/main amd64 libmagic1 amd64 1:5.34-2 [72.3 kB] Get:26 http://ftpmaster.internal/ubuntu disco/main amd64 file amd64 1:5.34-2 [22.8 kB] Get:27 http://ftpmaster.internal/ubuntu disco/main amd64 libdbus-1-3 amd64 1.12.10-1ubuntu2 [177 kB] Get:28 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libelf1 amd64 0.175-1 [44.2 kB] Get:29 http://ftpmaster.internal/ubuntu disco/main amd64 libexpat1 amd64 2.2.6-1 [87.2 kB] Get:30 http://ftpmaster.internal/ubuntu disco/main amd64 libfribidi0 amd64 1.0.5-3 [26.1 kB] Get:31 http://ftpmaster.internal/ubuntu disco/main amd64 libglib2.0-0 amd64 2.58.1-2 [1176 kB] Get:32 http://ftpmaster.internal/ubuntu disco/main amd64 libicu63 amd64 63.1-4 [8286 kB] Get:33 http://ftpmaster.internal/ubuntu disco/main amd64 libxml2 amd64 2.9.4+dfsg1-7ubuntu3 [625 kB] Get:34 http://ftpmaster.internal/ubuntu disco/main amd64 netbase all 5.5 [12.9 kB] Get:35 http://ftpmaster.internal/ubuntu disco/main amd64 xkb-data all 2.23.1-1ubuntu1.18.10.1 [325 kB] Get:36 http://ftpmaster.internal/ubuntu disco/main amd64 gettext-base amd64 0.19.8.1-9 [50.1 kB] Get:37 http://ftpmaster.internal/ubuntu disco/main amd64 libdrm-common all 2.4.95-1 [5000 B] Get:38 http://ftpmaster.internal/ubuntu disco/main amd64 libdrm2 amd64 2.4.95-1 [30.6 kB] Get:39 http://ftpmaster.internal/ubuntu disco/main amd64 libedit2 amd64 3.1-20180525-1 [78.5 kB] Get:40 http://ftpmaster.internal/ubuntu disco/main amd64 libkrb5support0 amd64 1.16.1-1ubuntu1 [31.0 kB] Get:41 http://ftpmaster.internal/ubuntu disco/main amd64 libk5crypto3 amd64 1.16.1-1ubuntu1 [85.5 kB] Get:42 http://ftpmaster.internal/ubuntu disco/main amd64 libkeyutils1 amd64 1.5.9-9.3 [9640 B] Get:43 http://ftpmaster.internal/ubuntu disco/main amd64 libkrb5-3 amd64 1.16.1-1ubuntu1 [281 kB] Get:44 http://ftpmaster.internal/ubuntu disco/main amd64 libgssapi-krb5-2 amd64 1.16.1-1ubuntu1 [122 kB] Get:45 http://ftpmaster.internal/ubuntu disco/main amd64 libpsl5 amd64 0.20.2-2 [50.0 kB] Get:46 http://ftpmaster.internal/ubuntu disco/main amd64 libsigsegv2 amd64 2.12-2 [13.9 kB] Get:47 http://ftpmaster.internal/ubuntu disco/main amd64 m4 amd64 1.4.18-1ubuntu1 [199 kB] Get:48 http://ftpmaster.internal/ubuntu disco/main amd64 autoconf all 2.69-11 [322 kB] Get:49 http://ftpmaster.internal/ubuntu disco/main amd64 autotools-dev all 20180224.1 [39.6 kB] Get:50 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 automake all 1:1.16.1-4 [522 kB] Get:51 http://ftpmaster.internal/ubuntu disco/main amd64 autopoint all 0.19.8.1-9 [412 kB] Get:52 http://ftpmaster.internal/ubuntu disco/universe amd64 libcapture-tiny-perl all 0.48-1 [20.4 kB] Get:53 http://ftpmaster.internal/ubuntu disco/main amd64 libparams-util-perl amd64 1.07-3build4 [19.7 kB] Get:54 http://ftpmaster.internal/ubuntu disco/main amd64 libsub-install-perl all 0.928-1 [10.5 kB] Get:55 http://ftpmaster.internal/ubuntu disco/main amd64 libdata-optlist-perl all 0.110-1 [9956 B] Get:56 http://ftpmaster.internal/ubuntu disco/main amd64 libb-hooks-op-check-perl amd64 0.22-1build1 [10.1 kB] Get:57 http://ftpmaster.internal/ubuntu disco/main amd64 libdynaloader-functions-perl all 0.003-1 [11.9 kB] Get:58 http://ftpmaster.internal/ubuntu disco/main amd64 libdevel-callchecker-perl amd64 0.007-2build2 [14.1 kB] Get:59 http://ftpmaster.internal/ubuntu disco/main amd64 libparams-classify-perl amd64 0.015-1build1 [21.0 kB] Get:60 http://ftpmaster.internal/ubuntu disco/main amd64 libmodule-runtime-perl all 0.016-1 [16.2 kB] Get:61 http://ftpmaster.internal/ubuntu disco/main amd64 libtry-tiny-perl all 0.30-1 [20.5 kB] Get:62 http://ftpmaster.internal/ubuntu disco/main amd64 libmodule-implementation-perl all 0.09-1 [12.2 kB] Get:63 http://ftpmaster.internal/ubuntu disco/main amd64 libpackage-stash-perl all 0.37-1 [18.3 kB] Get:64 http://ftpmaster.internal/ubuntu disco/universe amd64 libclass-load-perl all 0.25-1 [13.5 kB] Get:65 http://ftpmaster.internal/ubuntu disco/main amd64 libio-stringy-perl all 2.111-2 [60.6 kB] Get:66 http://ftpmaster.internal/ubuntu disco/main amd64 libparams-validate-perl amd64 1.29-1build1 [52.4 kB] Get:67 http://ftpmaster.internal/ubuntu disco/main amd64 libsub-exporter-perl all 0.987-1 [44.9 kB] Get:68 http://ftpmaster.internal/ubuntu disco/main amd64 libgetopt-long-descriptive-perl all 0.103-2 [24.5 kB] Get:69 http://ftpmaster.internal/ubuntu disco/universe amd64 libio-tiecombine-perl all 1.005-1 [12.5 kB] Get:70 http://ftpmaster.internal/ubuntu disco/universe amd64 libmodule-pluggable-perl all 5.2-1 [21.9 kB] Get:71 http://ftpmaster.internal/ubuntu disco/universe amd64 libstring-rewriteprefix-perl all 0.007-2 [6064 B] Get:72 http://ftpmaster.internal/ubuntu disco/universe amd64 libapp-cmd-perl all 0.331-1 [58.6 kB] Get:73 http://ftpmaster.internal/ubuntu disco/universe amd64 libcarp-assert-perl all 0.21-1 [16.6 kB] Get:74 http://ftpmaster.internal/ubuntu disco/universe amd64 libcarp-assert-more-perl all 1.16-1 [14.4 kB] Get:75 http://ftpmaster.internal/ubuntu disco/main amd64 libfile-which-perl all 1.22-1 [12.0 kB] Get:76 http://ftpmaster.internal/ubuntu disco/main amd64 libfile-homedir-perl all 1.004-1 [37.3 kB] Get:77 http://ftpmaster.internal/ubuntu disco/universe amd64 libclone-choose-perl all 0.010-1 [7672 B] Get:78 http://ftpmaster.internal/ubuntu disco/universe amd64 libhash-merge-perl all 0.300-1 [12.8 kB] Get:79 http://ftpmaster.internal/ubuntu disco/universe amd64 libjson-perl all 2.97001-1 [73.3 kB] Get:80 http://ftpmaster.internal/ubuntu disco/main amd64 libexporter-tiny-perl all 1.002001-1 [35.5 kB] Get:81 http://ftpmaster.internal/ubuntu disco/main amd64 liblist-moreutils-perl amd64 0.416-1build4 [56.0 kB] Get:82 http://ftpmaster.internal/ubuntu disco/universe amd64 liblog-log4perl-perl all 1.49-1 [344 kB] Get:83 http://ftpmaster.internal/ubuntu disco/universe amd64 libmouse-perl amd64 2.5.6-1build1 [155 kB] Get:84 http://ftpmaster.internal/ubuntu disco/universe amd64 libmousex-nativetraits-perl all 1.09-2 [66.7 kB] Get:85 http://ftpmaster.internal/ubuntu disco/universe amd64 libmousex-strictconstructor-perl all 0.02-2 [4812 B] Get:86 http://ftpmaster.internal/ubuntu disco/universe amd64 libparse-recdescent-perl all 1.967015+dfsg-2 [145 kB] Get:87 http://ftpmaster.internal/ubuntu disco/main amd64 libpath-tiny-perl all 0.108-1 [42.6 kB] Get:88 http://ftpmaster.internal/ubuntu disco/universe amd64 libpod-pom-perl all 2.01-1 [69.7 kB] Get:89 http://ftpmaster.internal/ubuntu disco/universe amd64 libregexp-common-perl all 2017060201-1 [168 kB] Get:90 http://ftpmaster.internal/ubuntu disco/main amd64 libyaml-tiny-perl all 1.73-1 [25.2 kB] Get:91 http://ftpmaster.internal/ubuntu disco/universe amd64 libconfig-model-perl all 2.127-1 [398 kB] Get:92 http://ftpmaster.internal/ubuntu disco/main amd64 libyaml-perl all 1.27-1 [57.7 kB] Get:93 http://ftpmaster.internal/ubuntu disco/universe amd64 cme all 1.029-1 [76.0 kB] Get:94 http://ftpmaster.internal/ubuntu disco/main amd64 libtool all 2.4.6-6 [195 kB] Get:95 http://ftpmaster.internal/ubuntu disco/main amd64 dh-autoreconf all 19 [16.1 kB] Get:96 http://ftpmaster.internal/ubuntu disco/main amd64 libarchive-zip-perl all 1.64-1 [84.9 kB] Get:97 http://ftpmaster.internal/ubuntu disco/main amd64 libfile-stripnondeterminism-perl all 0.45.0-1 [15.1 kB] Get:98 http://ftpmaster.internal/ubuntu disco/main amd64 dh-strip-nondeterminism all 0.45.0-1 [5128 B] Get:99 http://ftpmaster.internal/ubuntu disco/main amd64 dwz amd64 0.12-2 [77.7 kB] Get:100 http://ftpmaster.internal/ubuntu disco/main amd64 libcroco3 amd64 0.6.12-2 [81.3 kB] Get:101 http://ftpmaster.internal/ubuntu disco/main amd64 gettext amd64 0.19.8.1-9 [896 kB] Get:102 http://ftpmaster.internal/ubuntu disco/main amd64 intltool-debian all 0.35.0+20060710.4 [24.9 kB] Get:103 http://ftpmaster.internal/ubuntu disco/main amd64 po-debconf all 1.0.21 [233 kB] Get:104 http://ftpmaster.internal/ubuntu disco/main amd64 debhelper all 11.3.2ubuntu1 [883 kB] Get:105 http://ftpmaster.internal/ubuntu disco/main amd64 libblas3 amd64 3.8.0-1build1 [138 kB] Get:106 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libgfortran5 amd64 8.2.0-10ubuntu1 [587 kB] Get:107 http://ftpmaster.internal/ubuntu disco/main amd64 liblapack3 amd64 3.8.0-1build1 [2099 kB] Get:108 http://ftpmaster.internal/ubuntu disco-proposed/universe amd64 libarpack2 amd64 3.6.3-1 [90.1 kB] Get:109 http://ftpmaster.internal/ubuntu disco/main amd64 libsuitesparseconfig5 amd64 1:5.3.0+dfsg-1 [9288 B] Get:110 http://ftpmaster.internal/ubuntu disco/main amd64 libamd2 amd64 1:5.3.0+dfsg-1 [19.4 kB] Get:111 http://ftpmaster.internal/ubuntu disco/main amd64 libcamd2 amd64 1:5.3.0+dfsg-1 [20.9 kB] Get:112 http://ftpmaster.internal/ubuntu disco/main amd64 libccolamd2 amd64 1:5.3.0+dfsg-1 [22.4 kB] Get:113 http://ftpmaster.internal/ubuntu disco/main amd64 libcolamd2 amd64 1:5.3.0+dfsg-1 [16.4 kB] Get:114 http://ftpmaster.internal/ubuntu disco/main amd64 libmetis5 amd64 5.1.0.dfsg-5 [169 kB] Get:115 http://ftpmaster.internal/ubuntu disco/main amd64 libcholmod3 amd64 1:5.3.0+dfsg-1 [308 kB] Get:116 http://ftpmaster.internal/ubuntu disco/main amd64 libroken18-heimdal amd64 7.5.0+dfsg-2.1 [41.4 kB] Get:117 http://ftpmaster.internal/ubuntu disco/main amd64 libasn1-8-heimdal amd64 7.5.0+dfsg-2.1 [182 kB] Get:118 http://ftpmaster.internal/ubuntu disco/main amd64 libheimbase1-heimdal amd64 7.5.0+dfsg-2.1 [29.4 kB] Get:119 http://ftpmaster.internal/ubuntu disco/main amd64 libhcrypto4-heimdal amd64 7.5.0+dfsg-2.1 [86.7 kB] Get:120 http://ftpmaster.internal/ubuntu disco/main amd64 libwind0-heimdal amd64 7.5.0+dfsg-2.1 [47.8 kB] Get:121 http://ftpmaster.internal/ubuntu disco/main amd64 libhx509-5-heimdal amd64 7.5.0+dfsg-2.1 [107 kB] Get:122 http://ftpmaster.internal/ubuntu disco/main amd64 libkrb5-26-heimdal amd64 7.5.0+dfsg-2.1 [206 kB] Get:123 http://ftpmaster.internal/ubuntu disco/main amd64 libheimntlm0-heimdal amd64 7.5.0+dfsg-2.1 [14.8 kB] Get:124 http://ftpmaster.internal/ubuntu disco/main amd64 libgssapi3-heimdal amd64 7.5.0+dfsg-2.1 [96.4 kB] Get:125 http://ftpmaster.internal/ubuntu disco/main amd64 libsasl2-modules-db amd64 2.1.27~101-g0780600+dfsg-3ubuntu2 [14.8 kB] Get:126 http://ftpmaster.internal/ubuntu disco/main amd64 libsasl2-2 amd64 2.1.27~101-g0780600+dfsg-3ubuntu2 [49.2 kB] Get:127 http://ftpmaster.internal/ubuntu disco/main amd64 libldap-common all 2.4.46+dfsg-5ubuntu3 [16.0 kB] Get:128 http://ftpmaster.internal/ubuntu disco/main amd64 libldap-2.4-2 amd64 2.4.46+dfsg-5ubuntu3 [154 kB] Get:129 http://ftpmaster.internal/ubuntu disco/main amd64 libnghttp2-14 amd64 1.35.0-1 [78.9 kB] Get:130 http://ftpmaster.internal/ubuntu disco/main amd64 librtmp1 amd64 2.4+20151223.gitfa8646d.1-2 [54.5 kB] Get:131 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libcurl3-gnutls amd64 7.61.0-1ubuntu2.2 [215 kB] Get:132 http://ftpmaster.internal/ubuntu disco/main amd64 libcxsparse3 amd64 1:5.3.0+dfsg-1 [62.0 kB] Get:133 http://ftpmaster.internal/ubuntu disco/main amd64 libfftw3-double3 amd64 3.3.8-2 [727 kB] Get:134 http://ftpmaster.internal/ubuntu disco/main amd64 libfftw3-single3 amd64 3.3.8-2 [757 kB] Get:135 http://ftpmaster.internal/ubuntu disco/main amd64 libfreetype6 amd64 2.8.1-2ubuntu2 [335 kB] Get:136 http://ftpmaster.internal/ubuntu disco/main amd64 fonts-dejavu-core all 2.37-1 [1041 kB] Get:137 http://ftpmaster.internal/ubuntu disco/main amd64 fontconfig-config all 2.13.0-5ubuntu3 [28.4 kB] Get:138 http://ftpmaster.internal/ubuntu disco/main amd64 libfontconfig1 amd64 2.13.0-5ubuntu3 [112 kB] Get:139 http://ftpmaster.internal/ubuntu disco/main amd64 libglvnd0 amd64 1.1.0-1 [47.6 kB] Get:140 http://ftpmaster.internal/ubuntu disco/main amd64 libglapi-mesa amd64 18.2.2-0ubuntu1 [23.4 kB] Get:141 http://ftpmaster.internal/ubuntu disco/main amd64 libx11-xcb1 amd64 2:1.6.7-1 [9204 B] Get:142 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-dri2-0 amd64 1.13.1-1 [6892 B] Get:143 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-dri3-0 amd64 1.13.1-1 [6488 B] Get:144 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-glx0 amd64 1.13.1-1 [22.0 kB] Get:145 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-present0 amd64 1.13.1-1 [5552 B] Get:146 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-sync1 amd64 1.13.1-1 [8836 B] Get:147 http://ftpmaster.internal/ubuntu disco/main amd64 libxdamage1 amd64 1:1.1.4-3 [6934 B] Get:148 http://ftpmaster.internal/ubuntu disco/main amd64 libxfixes3 amd64 1:5.0.3-1 [10.8 kB] Get:149 http://ftpmaster.internal/ubuntu disco/main amd64 libxshmfence1 amd64 1.3-1 [5028 B] Get:150 http://ftpmaster.internal/ubuntu disco/main amd64 libdrm-amdgpu1 amd64 2.4.95-1 [17.4 kB] Get:151 http://ftpmaster.internal/ubuntu disco/main amd64 libpciaccess0 amd64 0.14-1 [17.9 kB] Get:152 http://ftpmaster.internal/ubuntu disco/main amd64 libdrm-intel1 amd64 2.4.95-1 [60.0 kB] Get:153 http://ftpmaster.internal/ubuntu disco/main amd64 libdrm-nouveau2 amd64 2.4.95-1 [16.5 kB] Get:154 http://ftpmaster.internal/ubuntu disco/main amd64 libdrm-radeon1 amd64 2.4.95-1 [21.4 kB] Get:155 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libllvm7 amd64 1:7.0.1~+rc2-7 [12.9 MB] Get:156 http://ftpmaster.internal/ubuntu disco/main amd64 libsensors4 amd64 1:3.4.0-4 [28.8 kB] Get:157 http://ftpmaster.internal/ubuntu disco/main amd64 libgl1-mesa-dri amd64 18.2.2-0ubuntu1 [6553 kB] Get:158 http://ftpmaster.internal/ubuntu disco/main amd64 libglx-mesa0 amd64 18.2.2-0ubuntu1 [135 kB] Get:159 http://ftpmaster.internal/ubuntu disco/main amd64 libglx0 amd64 1.1.0-1 [28.2 kB] Get:160 http://ftpmaster.internal/ubuntu disco/main amd64 libgl1 amd64 1.1.0-1 [88.7 kB] Get:161 http://ftpmaster.internal/ubuntu disco/universe amd64 libgl2ps1.4 amd64 1.4.0+dfsg1-2 [38.2 kB] Get:162 http://ftpmaster.internal/ubuntu disco/main amd64 libglu1-mesa amd64 9.0.0-2.1build1 [168 kB] Get:163 http://ftpmaster.internal/ubuntu disco/main amd64 libjbig0 amd64 2.1-3.1build1 [26.7 kB] Get:164 http://ftpmaster.internal/ubuntu disco/main amd64 libjpeg-turbo8 amd64 2.0.0-0ubuntu2 [117 kB] Get:165 http://ftpmaster.internal/ubuntu disco/main amd64 libjpeg8 amd64 8c-2ubuntu8 [2194 B] Get:166 http://ftpmaster.internal/ubuntu disco/main amd64 libwebp6 amd64 0.6.1-2 [185 kB] Get:167 http://ftpmaster.internal/ubuntu disco/main amd64 libtiff5 amd64 4.0.10-3 [157 kB] Get:168 http://ftpmaster.internal/ubuntu disco/main amd64 liblcms2-2 amd64 2.9-3 [139 kB] Get:169 http://ftpmaster.internal/ubuntu disco/main amd64 libwebpmux3 amd64 0.6.1-2 [19.6 kB] Get:170 http://ftpmaster.internal/ubuntu disco/main amd64 libwmf0.2-7 amd64 0.2.8.4-14 [149 kB] Get:171 http://ftpmaster.internal/ubuntu disco/universe amd64 libgraphicsmagick-q16-3 amd64 1.3.31-1 [1149 kB] Get:172 http://ftpmaster.internal/ubuntu disco/universe amd64 libgraphicsmagick++-q16-12 amd64 1.3.31-1 [101 kB] Get:173 http://ftpmaster.internal/ubuntu disco/universe amd64 libaec0 amd64 1.0.2-1 [19.1 kB] Get:174 http://ftpmaster.internal/ubuntu disco/universe amd64 libsz2 amd64 1.0.2-1 [5152 B] Get:175 http://ftpmaster.internal/ubuntu disco/universe amd64 libhdf5-100 amd64 1.10.0-patch1+docs-4build2 [1235 kB] Get:176 http://ftpmaster.internal/ubuntu disco/universe amd64 libqrupdate1 amd64 1.1.2-3 [36.2 kB] Get:177 http://ftpmaster.internal/ubuntu disco/main amd64 libumfpack5 amd64 1:5.3.0+dfsg-1 [228 kB] Get:178 http://ftpmaster.internal/ubuntu disco/universe amd64 liboctave6 amd64 4.4.1-2 [7045 kB] Get:179 http://ftpmaster.internal/ubuntu disco/main amd64 libxrender1 amd64 1:0.9.10-1 [18.7 kB] Get:180 http://ftpmaster.internal/ubuntu disco/main amd64 libxcursor1 amd64 1:1.1.15-2 [19.8 kB] Get:181 http://ftpmaster.internal/ubuntu disco/main amd64 libxft2 amd64 2.3.2-2 [38.5 kB] Get:182 http://ftpmaster.internal/ubuntu disco/main amd64 libxinerama1 amd64 2:1.1.4-1 [7080 B] Get:183 http://ftpmaster.internal/ubuntu disco/universe amd64 libfltk1.3 amd64 1.3.4-7 [520 kB] Get:184 http://ftpmaster.internal/ubuntu disco/universe amd64 libfltk-gl1.3 amd64 1.3.4-7 [37.6 kB] Get:185 http://ftpmaster.internal/ubuntu disco/main amd64 libltdl7 amd64 2.4.6-6 [38.8 kB] Get:186 http://ftpmaster.internal/ubuntu disco/universe amd64 libglpk40 amd64 4.65-2 [378 kB] Get:187 http://ftpmaster.internal/ubuntu disco/main amd64 libasound2-data all 1.1.7-1 [38.8 kB] Get:188 http://ftpmaster.internal/ubuntu disco/main amd64 libasound2 amd64 1.1.7-1 [340 kB] Get:189 http://ftpmaster.internal/ubuntu disco/main amd64 libsamplerate0 amd64 0.1.9-2 [939 kB] Get:190 http://ftpmaster.internal/ubuntu disco/main amd64 libjack-jackd2-0 amd64 1.9.12~dfsg-2 [263 kB] Get:191 http://ftpmaster.internal/ubuntu disco/universe amd64 libportaudio2 amd64 19.6.0-1 [64.6 kB] Get:192 http://ftpmaster.internal/ubuntu disco/universe amd64 libqhull7 amd64 2015.2-4 [152 kB] Get:193 http://ftpmaster.internal/ubuntu disco/universe amd64 libqscintilla2-qt5-l10n all 2.10.4+dfsg-1build2 [39.9 kB] Get:194 http://ftpmaster.internal/ubuntu disco/universe amd64 libdouble-conversion1 amd64 3.1.0-2 [37.9 kB] Get:195 http://ftpmaster.internal/ubuntu disco/universe amd64 libpcre2-16-0 amd64 10.32-3 [169 kB] Get:196 http://ftpmaster.internal/ubuntu disco-proposed/universe amd64 libqt5core5a amd64 5.11.2+dfsg-7ubuntu2 [1917 kB] Get:197 http://ftpmaster.internal/ubuntu disco/main amd64 fontconfig amd64 2.13.0-5ubuntu3 [170 kB] Get:198 http://ftpmaster.internal/ubuntu disco/main amd64 libwayland-server0 amd64 1.16.0-1ubuntu1 [29.6 kB] Get:199 http://ftpmaster.internal/ubuntu disco/main amd64 libgbm1 amd64 18.2.2-0ubuntu1 [24.4 kB] Get:200 http://ftpmaster.internal/ubuntu disco/main amd64 libwayland-client0 amd64 1.16.0-1ubuntu1 [23.6 kB] Get:201 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-xfixes0 amd64 1.13.1-1 [9268 B] Get:202 http://ftpmaster.internal/ubuntu disco/main amd64 libegl-mesa0 amd64 18.2.2-0ubuntu1 [87.7 kB] Get:203 http://ftpmaster.internal/ubuntu disco/main amd64 libegl1 amd64 1.1.0-1 [31.8 kB] Get:204 http://ftpmaster.internal/ubuntu disco/main amd64 libgraphite2-3 amd64 1.3.12-1 [73.6 kB] Get:205 http://ftpmaster.internal/ubuntu disco/main amd64 libharfbuzz0b amd64 2.1.1-1build1 [328 kB] Get:206 http://ftpmaster.internal/ubuntu disco/main amd64 libevdev2 amd64 1.6.0+dfsg-1 [29.1 kB] Get:207 http://ftpmaster.internal/ubuntu disco/main amd64 libmtdev1 amd64 1.1.5-1ubuntu3 [13.8 kB] Get:208 http://ftpmaster.internal/ubuntu disco/main amd64 libgudev-1.0-0 amd64 1:232-2 [13.6 kB] Get:209 http://ftpmaster.internal/ubuntu disco/main amd64 libwacom-common all 0.31-1 [38.1 kB] Get:210 http://ftpmaster.internal/ubuntu disco/main amd64 libwacom2 amd64 0.31-1 [18.0 kB] Get:211 http://ftpmaster.internal/ubuntu disco/main amd64 libinput-bin amd64 1.12.1-1 [12.6 kB] Get:212 http://ftpmaster.internal/ubuntu disco/main amd64 libinput10 amd64 1.12.1-1 [101 kB] Get:213 http://ftpmaster.internal/ubuntu disco-proposed/universe amd64 libqt5dbus5 amd64 5.11.2+dfsg-7ubuntu2 [200 kB] Get:214 http://ftpmaster.internal/ubuntu disco-proposed/universe amd64 libqt5network5 amd64 5.11.2+dfsg-7ubuntu2 [651 kB] Get:215 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-shm0 amd64 1.13.1-1 [5548 B] Get:216 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-util1 amd64 0.4.0-0ubuntu3 [11.2 kB] Get:217 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-image0 amd64 0.4.0-1build1 [12.3 kB] Get:218 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-randr0 amd64 1.13.1-1 [16.3 kB] Get:219 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-shape0 amd64 1.13.1-1 [5920 B] Get:220 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-xinerama0 amd64 1.13.1-1 [5240 B] Get:221 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-xkb1 amd64 1.13.1-1 [29.0 kB] Get:222 http://ftpmaster.internal/ubuntu disco/main amd64 libxi6 amd64 2:1.7.9-1 [29.2 kB] Get:223 http://ftpmaster.internal/ubuntu disco/main amd64 libxkbcommon0 amd64 0.8.2-1 [97.8 kB] Get:224 http://ftpmaster.internal/ubuntu disco/main amd64 libxkbcommon-x11-0 amd64 0.8.2-1 [13.5 kB] Get:225 http://ftpmaster.internal/ubuntu disco-proposed/universe amd64 libqt5gui5 amd64 5.11.2+dfsg-7ubuntu2 [2812 kB] Get:226 http://ftpmaster.internal/ubuntu disco/main amd64 libavahi-common-data amd64 0.7-4ubuntu3 [21.5 kB] Get:227 http://ftpmaster.internal/ubuntu disco/main amd64 libavahi-common3 amd64 0.7-4ubuntu3 [21.5 kB] Get:228 http://ftpmaster.internal/ubuntu disco/main amd64 libavahi-client3 amd64 0.7-4ubuntu3 [25.2 kB] Get:229 http://ftpmaster.internal/ubuntu disco/main amd64 libcups2 amd64 2.2.9-2 [212 kB] Get:230 http://ftpmaster.internal/ubuntu disco-proposed/universe amd64 libqt5widgets5 amd64 5.11.2+dfsg-7ubuntu2 [2232 kB] Get:231 http://ftpmaster.internal/ubuntu disco-proposed/universe amd64 libqt5printsupport5 amd64 5.11.2+dfsg-7ubuntu2 [189 kB] Get:232 http://ftpmaster.internal/ubuntu disco/universe amd64 libqscintilla2-qt5-13 amd64 2.10.4+dfsg-1build2 [1038 kB] Get:233 http://ftpmaster.internal/ubuntu disco-proposed/universe amd64 libqt5sql5 amd64 5.11.2+dfsg-7ubuntu2 [117 kB] Get:234 http://ftpmaster.internal/ubuntu disco/universe amd64 libqt5help5 amd64 5.11.2-5 [142 kB] Get:235 http://ftpmaster.internal/ubuntu disco/main amd64 libflac8 amd64 1.3.2-3 [213 kB] Get:236 http://ftpmaster.internal/ubuntu disco/main amd64 libvorbis0a amd64 1.3.6-1 [86.0 kB] Get:237 http://ftpmaster.internal/ubuntu disco/main amd64 libvorbisenc2 amd64 1.3.6-1 [70.6 kB] Get:238 http://ftpmaster.internal/ubuntu disco/main amd64 libsndfile1 amd64 1.0.28-4 [169 kB] Get:239 http://ftpmaster.internal/ubuntu disco/universe amd64 libtext-unidecode-perl all 1.30-1 [99.0 kB] Get:240 http://ftpmaster.internal/ubuntu disco/main amd64 libxml-namespacesupport-perl all 1.12-1 [13.2 kB] Get:241 http://ftpmaster.internal/ubuntu disco/main amd64 libxml-sax-base-perl all 1.09-1 [18.8 kB] Get:242 http://ftpmaster.internal/ubuntu disco/main amd64 libxml-sax-perl all 1.00+dfsg-1.1~build1 [56.1 kB] Get:243 http://ftpmaster.internal/ubuntu disco/main amd64 libxml-libxml-perl amd64 2.0132+dfsg-2build1 [319 kB] Get:244 http://ftpmaster.internal/ubuntu disco/universe amd64 texinfo amd64 6.5.0.dfsg.1-4build1 [848 kB] Get:245 http://ftpmaster.internal/ubuntu disco/universe amd64 octave-common all 4.4.1-2 [4037 kB] Get:246 http://ftpmaster.internal/ubuntu disco/universe amd64 octave amd64 4.4.1-2 [1759 kB] Get:247 http://ftpmaster.internal/ubuntu disco/main amd64 libncurses-dev amd64 6.1+20180210-4ubuntu1 [333 kB] Get:248 http://ftpmaster.internal/ubuntu disco/main amd64 libreadline-dev amd64 7.0-5 [133 kB] Get:249 http://ftpmaster.internal/ubuntu disco/main amd64 zlib1g-dev amd64 1:1.2.11.dfsg-0ubuntu2 [176 kB] Get:250 http://ftpmaster.internal/ubuntu disco/main amd64 libjpeg-turbo8-dev amd64 2.0.0-0ubuntu2 [238 kB] Get:251 http://ftpmaster.internal/ubuntu disco/main amd64 libjpeg8-dev amd64 8c-2ubuntu8 [1552 B] Get:252 http://ftpmaster.internal/ubuntu disco/main amd64 libjpeg-dev amd64 8c-2ubuntu8 [1546 B] Get:253 http://ftpmaster.internal/ubuntu disco/universe amd64 libaec-dev amd64 1.0.2-1 [16.9 kB] Get:254 http://ftpmaster.internal/ubuntu disco/universe amd64 hdf5-helpers amd64 1.10.0-patch1+docs-4build2 [12.2 kB] Get:255 http://ftpmaster.internal/ubuntu disco/universe amd64 libhdf5-cpp-100 amd64 1.10.0-patch1+docs-4build2 [112 kB] Get:256 http://ftpmaster.internal/ubuntu disco/universe amd64 libhdf5-dev amd64 1.10.0-patch1+docs-4build2 [2465 kB] Get:257 http://ftpmaster.internal/ubuntu disco/main amd64 xorg-sgml-doctools all 1:1.11-1 [12.9 kB] Get:258 http://ftpmaster.internal/ubuntu disco/main amd64 x11proto-dev all 2018.4-4 [251 kB] Get:259 http://ftpmaster.internal/ubuntu disco/main amd64 x11proto-core-dev all 2018.4-4 [2620 B] Get:260 http://ftpmaster.internal/ubuntu disco/main amd64 libxau-dev amd64 1:1.0.8-1 [11.1 kB] Get:261 http://ftpmaster.internal/ubuntu disco/main amd64 libxdmcp-dev amd64 1:1.1.2-3 [25.1 kB] Get:262 http://ftpmaster.internal/ubuntu disco/main amd64 xtrans-dev all 1.3.5-1 [70.5 kB] Get:263 http://ftpmaster.internal/ubuntu disco/main amd64 libpthread-stubs0-dev amd64 0.3-4 [4068 B] Get:264 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb1-dev amd64 1.13.1-1 [80.0 kB] Get:265 http://ftpmaster.internal/ubuntu disco/main amd64 libx11-dev amd64 2:1.6.7-1 [644 kB] Get:266 http://ftpmaster.internal/ubuntu disco/main amd64 libdrm-dev amd64 2.4.95-1 [121 kB] Get:267 http://ftpmaster.internal/ubuntu disco/main amd64 mesa-common-dev amd64 18.2.2-0ubuntu1 [551 kB] Get:268 http://ftpmaster.internal/ubuntu disco/main amd64 libglvnd-core-dev amd64 1.1.0-1 [12.6 kB] Get:269 http://ftpmaster.internal/ubuntu disco/main amd64 libgles1 amd64 1.1.0-1 [12.1 kB] Get:270 http://ftpmaster.internal/ubuntu disco/main amd64 libgles2 amd64 1.1.0-1 [17.3 kB] Get:271 http://ftpmaster.internal/ubuntu disco/main amd64 libopengl0 amd64 1.1.0-1 [31.6 kB] Get:272 http://ftpmaster.internal/ubuntu disco/main amd64 libglvnd-dev amd64 1.1.0-1 [3388 B] Get:273 http://ftpmaster.internal/ubuntu disco/main amd64 libx11-xcb-dev amd64 2:1.6.7-1 [9764 B] Get:274 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-dri3-dev amd64 1.13.1-1 [7360 B] Get:275 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-render0-dev amd64 1.13.1-1 [18.4 kB] Get:276 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-randr0-dev amd64 1.13.1-1 [20.4 kB] Get:277 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-shape0-dev amd64 1.13.1-1 [7124 B] Get:278 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-xfixes0-dev amd64 1.13.1-1 [11.6 kB] Get:279 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-sync-dev amd64 1.13.1-1 [10.6 kB] Get:280 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-present-dev amd64 1.13.1-1 [6980 B] Get:281 http://ftpmaster.internal/ubuntu disco/main amd64 libxshmfence-dev amd64 1.3-1 [3692 B] Get:282 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-dri2-0-dev amd64 1.13.1-1 [8480 B] Get:283 http://ftpmaster.internal/ubuntu disco/main amd64 libxcb-glx0-dev amd64 1.13.1-1 [27.7 kB] Get:284 http://ftpmaster.internal/ubuntu disco/main amd64 x11proto-fixes-dev all 1:2018.4-4 [2620 B] Get:285 http://ftpmaster.internal/ubuntu disco/main amd64 libxfixes-dev amd64 1:5.0.3-1 [11.0 kB] Get:286 http://ftpmaster.internal/ubuntu disco/main amd64 x11proto-damage-dev all 1:2018.4-4 [2620 B] Get:287 http://ftpmaster.internal/ubuntu disco/main amd64 libxdamage-dev amd64 1:1.1.4-3 [5028 B] Get:288 http://ftpmaster.internal/ubuntu disco/main amd64 x11proto-xext-dev all 2018.4-4 [2620 B] Get:289 http://ftpmaster.internal/ubuntu disco/main amd64 libxext-dev amd64 2:1.3.3-1 [82.1 kB] Get:290 http://ftpmaster.internal/ubuntu disco/main amd64 x11proto-xf86vidmode-dev all 2018.4-4 [2632 B] Get:291 http://ftpmaster.internal/ubuntu disco/main amd64 libxxf86vm-dev amd64 1:1.1.4-1 [13.3 kB] Get:292 http://ftpmaster.internal/ubuntu disco/main amd64 libgl1-mesa-dev amd64 18.2.2-0ubuntu1 [4420 B] Get:293 http://ftpmaster.internal/ubuntu disco/main amd64 libblas-dev amd64 3.8.0-1build1 [141 kB] Get:294 http://ftpmaster.internal/ubuntu disco/main amd64 liblapack-dev amd64 3.8.0-1build1 [2128 kB] Get:295 http://ftpmaster.internal/ubuntu disco/main amd64 libfftw3-long3 amd64 3.3.8-2 [312 kB] Get:296 http://ftpmaster.internal/ubuntu disco/main amd64 libfftw3-quad3 amd64 3.3.8-2 [552 kB] Get:297 http://ftpmaster.internal/ubuntu disco/main amd64 libfftw3-bin amd64 3.3.8-2 [32.2 kB] Get:298 http://ftpmaster.internal/ubuntu disco/main amd64 libfftw3-dev amd64 3.3.8-2 [2087 kB] Get:299 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 libgfortran-8-dev amd64 8.2.0-10ubuntu1 [621 kB] Get:300 http://ftpmaster.internal/ubuntu disco-proposed/main amd64 gfortran-8 amd64 8.2.0-10ubuntu1 [7642 kB] Get:301 http://ftpmaster.internal/ubuntu disco/main amd64 gfortran amd64 4:8.2.0-2ubuntu2 [1368 B] Get:302 http://ftpmaster.internal/ubuntu disco/universe amd64 liboctave-dev amd64 4.4.1-2 [458 kB] Get:303 http://ftpmaster.internal/ubuntu disco/main amd64 libencode-locale-perl all 1.05-1 [12.3 kB] Get:304 http://ftpmaster.internal/ubuntu disco/main amd64 libtimedate-perl all 2.3000-2 [37.5 kB] Get:305 http://ftpmaster.internal/ubuntu disco/main amd64 libhttp-date-perl all 6.02-1 [10.4 kB] Get:306 http://ftpmaster.internal/ubuntu disco/main amd64 libfile-listing-perl all 6.04-1 [9774 B] Get:307 http://ftpmaster.internal/ubuntu disco/main amd64 libhtml-tagset-perl all 3.20-3 [12.1 kB] Get:308 http://ftpmaster.internal/ubuntu disco/main amd64 liburi-perl all 1.74-1 [77.1 kB] Get:309 http://ftpmaster.internal/ubuntu disco/main amd64 libhtml-parser-perl amd64 3.72-3build2 [86.2 kB] Get:310 http://ftpmaster.internal/ubuntu disco/main amd64 libhtml-tree-perl all 5.07-1 [200 kB] Get:311 http://ftpmaster.internal/ubuntu disco/main amd64 libio-html-perl all 1.001-1 [14.9 kB] Get:312 http://ftpmaster.internal/ubuntu disco/main amd64 liblwp-mediatypes-perl all 6.02-1 [21.7 kB] Get:313 http://ftpmaster.internal/ubuntu disco/main amd64 libhttp-message-perl all 6.18-1 [75.3 kB] Get:314 http://ftpmaster.internal/ubuntu disco/main amd64 libhttp-cookies-perl all 6.04-1 [17.2 kB] Get:315 http://ftpmaster.internal/ubuntu disco/main amd64 libhttp-negotiate-perl all 6.01-1 [12.5 kB] Get:316 http://ftpmaster.internal/ubuntu disco/main amd64 perl-openssl-defaults amd64 3build1 [7012 B] Get:317 http://ftpmaster.internal/ubuntu disco/main amd64 libnet-ssleay-perl amd64 1.85-2ubuntu3 [283 kB] Get:318 http://ftpmaster.internal/ubuntu disco/main amd64 libio-socket-ssl-perl all 2.060-3 [173 kB] Get:319 http://ftpmaster.internal/ubuntu disco/main amd64 libnet-http-perl all 6.18-1 [22.8 kB] Get:320 http://ftpmaster.internal/ubuntu disco/main amd64 liblwp-protocol-https-perl all 6.07-2 [8284 B] Get:321 http://ftpmaster.internal/ubuntu disco/main amd64 libwww-robotrules-perl all 6.02-1 [12.6 kB] Get:322 http://ftpmaster.internal/ubuntu disco/main amd64 libwww-perl all 6.36-1 [138 kB] Get:323 http://ftpmaster.internal/ubuntu disco/main amd64 liberror-perl all 0.17027-1 [26.6 kB] Get:324 http://ftpmaster.internal/ubuntu disco/universe amd64 libexporter-lite-perl all 0.08-1 [9916 B] Get:325 http://ftpmaster.internal/ubuntu disco/universe amd64 libparse-debcontrol-perl all 2.005-4 [24.2 kB] Get:326 http://ftpmaster.internal/ubuntu disco/main amd64 libconvert-binhex-perl all 1.125-1 [29.7 kB] Get:327 http://ftpmaster.internal/ubuntu disco/main amd64 libnet-smtp-ssl-perl all 1.04-1 [5948 B] Get:328 http://ftpmaster.internal/ubuntu disco/main amd64 libmailtools-perl all 2.18-1 [74.0 kB] Get:329 http://ftpmaster.internal/ubuntu disco/main amd64 libmime-tools-perl all 5.509-1 [192 kB] Get:330 http://ftpmaster.internal/ubuntu disco/universe amd64 aglfn all 1.7-3 [29.4 kB] Get:331 http://ftpmaster.internal/ubuntu disco/universe amd64 gnuplot-data all 5.2.5+dfsg1-1 [56.6 kB] Get:332 http://ftpmaster.internal/ubuntu disco/main amd64 libpixman-1-0 amd64 0.34.0-2 [229 kB] Get:333 http://ftpmaster.internal/ubuntu disco/main amd64 libcairo2 amd64 1.16.0-1 [584 kB] Get:334 http://ftpmaster.internal/ubuntu disco/main amd64 libxpm4 amd64 1:3.5.12-1 [34.0 kB] Get:335 http://ftpmaster.internal/ubuntu disco/main amd64 libgd3 amd64 2.2.5-5 [118 kB] Get:336 http://ftpmaster.internal/ubuntu disco/main amd64 liblua5.3-0 amd64 5.3.3-1 [119 kB] Get:337 http://ftpmaster.internal/ubuntu disco/main amd64 libthai-data all 0.1.28-1 [134 kB] Get:338 http://ftpmaster.internal/ubuntu disco/main amd64 libdatrie1 amd64 0.2.12-1 [18.3 kB] Get:339 http://ftpmaster.internal/ubuntu disco/main amd64 libthai0 amd64 0.1.28-1 [18.0 kB] Get:340 http://ftpmaster.internal/ubuntu disco/main amd64 libpango-1.0-0 amd64 1.42.4-4 [153 kB] Get:341 http://ftpmaster.internal/ubuntu disco/main amd64 libpangoft2-1.0-0 amd64 1.42.4-4 [35.3 kB] Get:342 http://ftpmaster.internal/ubuntu disco/main amd64 libpangocairo-1.0-0 amd64 1.42.4-4 [23.1 kB] Get:343 http://ftpmaster.internal/ubuntu disco/universe amd64 gnuplot-nox amd64 5.2.5+dfsg1-1 [791 kB] Get:344 http://ftpmaster.internal/ubuntu disco/universe amd64 fonts-freefont-otf all 20120503-8 [3055 kB] Get:345 http://ftpmaster.internal/ubuntu disco/universe amd64 dh-octave-autopkgtest all 0.6.1 [7820 B] Get:346 http://ftpmaster.internal/ubuntu disco/universe amd64 dh-octave all 0.6.1 [18.4 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 109 MB in 4s (27.3 MB/s) Selecting previously unselected package libxau6:amd64. (Reading database ... 14538 files and directories currently installed.) Preparing to unpack .../000-libxau6_1%3a1.0.8-1_amd64.deb ... Unpacking libxau6:amd64 (1:1.0.8-1) ... Selecting previously unselected package libbsd0:amd64. Preparing to unpack .../001-libbsd0_0.9.1-1_amd64.deb ... Unpacking libbsd0:amd64 (0.9.1-1) ... Selecting previously unselected package libxdmcp6:amd64. Preparing to unpack .../002-libxdmcp6_1%3a1.1.2-3_amd64.deb ... Unpacking libxdmcp6:amd64 (1:1.1.2-3) ... Selecting previously unselected package libxcb1:amd64. Preparing to unpack .../003-libxcb1_1.13.1-1_amd64.deb ... Unpacking libxcb1:amd64 (1.13.1-1) ... Selecting previously unselected package libx11-data. Preparing to unpack .../004-libx11-data_2%3a1.6.7-1_all.deb ... Unpacking libx11-data (2:1.6.7-1) ... Selecting previously unselected package libx11-6:amd64. Preparing to unpack .../005-libx11-6_2%3a1.6.7-1_amd64.deb ... Unpacking libx11-6:amd64 (2:1.6.7-1) ... Selecting previously unselected package libxext6:amd64. Preparing to unpack .../006-libxext6_2%3a1.3.3-1_amd64.deb ... Unpacking libxext6:amd64 (2:1.3.3-1) ... Selecting previously unselected package bsdmainutils. Preparing to unpack .../007-bsdmainutils_11.1.2ubuntu2_amd64.deb ... Unpacking bsdmainutils (11.1.2ubuntu2) ... Selecting previously unselected package groff-base. Preparing to unpack .../008-groff-base_1.22.3-10_amd64.deb ... Unpacking groff-base (1.22.3-10) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../009-libpipeline1_1.5.0-2_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.0-2) ... Selecting previously unselected package man-db. Preparing to unpack .../010-man-db_2.8.4-3_amd64.deb ... Unpacking man-db (2.8.4-3) ... Selecting previously unselected package libogg0:amd64. Preparing to unpack .../011-libogg0_1.3.2-1_amd64.deb ... Unpacking libogg0:amd64 (1.3.2-1) ... Selecting previously unselected package x11-common. Preparing to unpack .../012-x11-common_1%3a7.7+19ubuntu8_all.deb ... dpkg-query: no packages found matching nux-tools Unpacking x11-common (1:7.7+19ubuntu8) ... Selecting previously unselected package libice6:amd64. Preparing to unpack .../013-libice6_2%3a1.0.9-2_amd64.deb ... Unpacking libice6:amd64 (2:1.0.9-2) ... Selecting previously unselected package libsm6:amd64. Preparing to unpack .../014-libsm6_2%3a1.2.2-1_amd64.deb ... Unpacking libsm6:amd64 (2:1.2.2-1) ... Selecting previously unselected package libxxf86vm1:amd64. Preparing to unpack .../015-libxxf86vm1_1%3a1.1.4-1_amd64.deb ... Unpacking libxxf86vm1:amd64 (1:1.1.4-1) ... Selecting previously unselected package ucf. Preparing to unpack .../016-ucf_3.0038_all.deb ... Moving old data out of the way Unpacking ucf (3.0038) ... Selecting previously unselected package tex-common. Preparing to unpack .../017-tex-common_6.10_all.deb ... Unpacking tex-common (6.10) ... Selecting previously unselected package libxcb-icccm4:amd64. Preparing to unpack .../018-libxcb-icccm4_0.4.1-1ubuntu1_amd64.deb ... Unpacking libxcb-icccm4:amd64 (0.4.1-1ubuntu1) ... Selecting previously unselected package libxcb-keysyms1:amd64. Preparing to unpack .../019-libxcb-keysyms1_0.4.0-1_amd64.deb ... Unpacking libxcb-keysyms1:amd64 (0.4.0-1) ... Selecting previously unselected package libxcb-render0:amd64. Preparing to unpack .../020-libxcb-render0_1.13.1-1_amd64.deb ... Unpacking libxcb-render0:amd64 (1.13.1-1) ... Selecting previously unselected package libxcb-render-util0:amd64. Preparing to unpack .../021-libxcb-render-util0_0.3.9-1_amd64.deb ... Unpacking libxcb-render-util0:amd64 (0.3.9-1) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../022-libmagic-mgc_1%3a5.34-2_amd64.deb ... Unpacking libmagic-mgc (1:5.34-2) ... Selecting previously unselected package libmagic1:amd64. Preparing to unpack .../023-libmagic1_1%3a5.34-2_amd64.deb ... Unpacking libmagic1:amd64 (1:5.34-2) ... Selecting previously unselected package file. Preparing to unpack .../024-file_1%3a5.34-2_amd64.deb ... Unpacking file (1:5.34-2) ... Selecting previously unselected package libdbus-1-3:amd64. Preparing to unpack .../025-libdbus-1-3_1.12.10-1ubuntu2_amd64.deb ... Unpacking libdbus-1-3:amd64 (1.12.10-1ubuntu2) ... Selecting previously unselected package libelf1:amd64. Preparing to unpack .../026-libelf1_0.175-1_amd64.deb ... Unpacking libelf1:amd64 (0.175-1) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../027-libexpat1_2.2.6-1_amd64.deb ... Unpacking libexpat1:amd64 (2.2.6-1) ... Selecting previously unselected package libfribidi0:amd64. Preparing to unpack .../028-libfribidi0_1.0.5-3_amd64.deb ... Unpacking libfribidi0:amd64 (1.0.5-3) ... Selecting previously unselected package libglib2.0-0:amd64. Preparing to unpack .../029-libglib2.0-0_2.58.1-2_amd64.deb ... Unpacking libglib2.0-0:amd64 (2.58.1-2) ... Selecting previously unselected package libicu63:amd64. Preparing to unpack .../030-libicu63_63.1-4_amd64.deb ... Unpacking libicu63:amd64 (63.1-4) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../031-libxml2_2.9.4+dfsg1-7ubuntu3_amd64.deb ... Unpacking libxml2:amd64 (2.9.4+dfsg1-7ubuntu3) ... Selecting previously unselected package netbase. Preparing to unpack .../032-netbase_5.5_all.deb ... Unpacking netbase (5.5) ... Selecting previously unselected package xkb-data. Preparing to unpack .../033-xkb-data_2.23.1-1ubuntu1.18.10.1_all.deb ... Unpacking xkb-data (2.23.1-1ubuntu1.18.10.1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../034-gettext-base_0.19.8.1-9_amd64.deb ... Unpacking gettext-base (0.19.8.1-9) ... Selecting previously unselected package libdrm-common. Preparing to unpack .../035-libdrm-common_2.4.95-1_all.deb ... Unpacking libdrm-common (2.4.95-1) ... Selecting previously unselected package libdrm2:amd64. Preparing to unpack .../036-libdrm2_2.4.95-1_amd64.deb ... Unpacking libdrm2:amd64 (2.4.95-1) ... Selecting previously unselected package libedit2:amd64. Preparing to unpack .../037-libedit2_3.1-20180525-1_amd64.deb ... Unpacking libedit2:amd64 (3.1-20180525-1) ... Selecting previously unselected package libkrb5support0:amd64. Preparing to unpack .../038-libkrb5support0_1.16.1-1ubuntu1_amd64.deb ... Unpacking libkrb5support0:amd64 (1.16.1-1ubuntu1) ... Selecting previously unselected package libk5crypto3:amd64. Preparing to unpack .../039-libk5crypto3_1.16.1-1ubuntu1_amd64.deb ... Unpacking libk5crypto3:amd64 (1.16.1-1ubuntu1) ... Selecting previously unselected package libkeyutils1:amd64. Preparing to unpack .../040-libkeyutils1_1.5.9-9.3_amd64.deb ... Unpacking libkeyutils1:amd64 (1.5.9-9.3) ... Selecting previously unselected package libkrb5-3:amd64. Preparing to unpack .../041-libkrb5-3_1.16.1-1ubuntu1_amd64.deb ... Unpacking libkrb5-3:amd64 (1.16.1-1ubuntu1) ... Selecting previously unselected package libgssapi-krb5-2:amd64. Preparing to unpack .../042-libgssapi-krb5-2_1.16.1-1ubuntu1_amd64.deb ... Unpacking libgssapi-krb5-2:amd64 (1.16.1-1ubuntu1) ... Selecting previously unselected package libpsl5:amd64. Preparing to unpack .../043-libpsl5_0.20.2-2_amd64.deb ... Unpacking libpsl5:amd64 (0.20.2-2) ... Selecting previously unselected package libsigsegv2:amd64. Preparing to unpack .../044-libsigsegv2_2.12-2_amd64.deb ... Unpacking libsigsegv2:amd64 (2.12-2) ... Selecting previously unselected package m4. Preparing to unpack .../045-m4_1.4.18-1ubuntu1_amd64.deb ... Unpacking m4 (1.4.18-1ubuntu1) ... Selecting previously unselected package autoconf. Preparing to unpack .../046-autoconf_2.69-11_all.deb ... Unpacking autoconf (2.69-11) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../047-autotools-dev_20180224.1_all.deb ... Unpacking autotools-dev (20180224.1) ... Selecting previously unselected package automake. Preparing to unpack .../048-automake_1%3a1.16.1-4_all.deb ... Unpacking automake (1:1.16.1-4) ... Selecting previously unselected package autopoint. Preparing to unpack .../049-autopoint_0.19.8.1-9_all.deb ... Unpacking autopoint (0.19.8.1-9) ... Selecting previously unselected package libcapture-tiny-perl. Preparing to unpack .../050-libcapture-tiny-perl_0.48-1_all.deb ... Unpacking libcapture-tiny-perl (0.48-1) ... Selecting previously unselected package libparams-util-perl. Preparing to unpack .../051-libparams-util-perl_1.07-3build4_amd64.deb ... Unpacking libparams-util-perl (1.07-3build4) ... Selecting previously unselected package libsub-install-perl. Preparing to unpack .../052-libsub-install-perl_0.928-1_all.deb ... Unpacking libsub-install-perl (0.928-1) ... Selecting previously unselected package libdata-optlist-perl. Preparing to unpack .../053-libdata-optlist-perl_0.110-1_all.deb ... Unpacking libdata-optlist-perl (0.110-1) ... Selecting previously unselected package libb-hooks-op-check-perl. Preparing to unpack .../054-libb-hooks-op-check-perl_0.22-1build1_amd64.deb ... Unpacking libb-hooks-op-check-perl (0.22-1build1) ... Selecting previously unselected package libdynaloader-functions-perl. Preparing to unpack .../055-libdynaloader-functions-perl_0.003-1_all.deb ... Unpacking libdynaloader-functions-perl (0.003-1) ... Selecting previously unselected package libdevel-callchecker-perl. Preparing to unpack .../056-libdevel-callchecker-perl_0.007-2build2_amd64.deb ... Unpacking libdevel-callchecker-perl (0.007-2build2) ... Selecting previously unselected package libparams-classify-perl. Preparing to unpack .../057-libparams-classify-perl_0.015-1build1_amd64.deb ... Unpacking libparams-classify-perl (0.015-1build1) ... Selecting previously unselected package libmodule-runtime-perl. Preparing to unpack .../058-libmodule-runtime-perl_0.016-1_all.deb ... Unpacking libmodule-runtime-perl (0.016-1) ... Selecting previously unselected package libtry-tiny-perl. Preparing to unpack .../059-libtry-tiny-perl_0.30-1_all.deb ... Unpacking libtry-tiny-perl (0.30-1) ... Selecting previously unselected package libmodule-implementation-perl. Preparing to unpack .../060-libmodule-implementation-perl_0.09-1_all.deb ... Unpacking libmodule-implementation-perl (0.09-1) ... Selecting previously unselected package libpackage-stash-perl. Preparing to unpack .../061-libpackage-stash-perl_0.37-1_all.deb ... Unpacking libpackage-stash-perl (0.37-1) ... Selecting previously unselected package libclass-load-perl. Preparing to unpack .../062-libclass-load-perl_0.25-1_all.deb ... Unpacking libclass-load-perl (0.25-1) ... Selecting previously unselected package libio-stringy-perl. Preparing to unpack .../063-libio-stringy-perl_2.111-2_all.deb ... Unpacking libio-stringy-perl (2.111-2) ... Selecting previously unselected package libparams-validate-perl. Preparing to unpack .../064-libparams-validate-perl_1.29-1build1_amd64.deb ... Unpacking libparams-validate-perl (1.29-1build1) ... Selecting previously unselected package libsub-exporter-perl. Preparing to unpack .../065-libsub-exporter-perl_0.987-1_all.deb ... Unpacking libsub-exporter-perl (0.987-1) ... Selecting previously unselected package libgetopt-long-descriptive-perl. Preparing to unpack .../066-libgetopt-long-descriptive-perl_0.103-2_all.deb ... Unpacking libgetopt-long-descriptive-perl (0.103-2) ... Selecting previously unselected package libio-tiecombine-perl. Preparing to unpack .../067-libio-tiecombine-perl_1.005-1_all.deb ... Unpacking libio-tiecombine-perl (1.005-1) ... Selecting previously unselected package libmodule-pluggable-perl. Preparing to unpack .../068-libmodule-pluggable-perl_5.2-1_all.deb ... Unpacking libmodule-pluggable-perl (5.2-1) ... Selecting previously unselected package libstring-rewriteprefix-perl. Preparing to unpack .../069-libstring-rewriteprefix-perl_0.007-2_all.deb ... Unpacking libstring-rewriteprefix-perl (0.007-2) ... Selecting previously unselected package libapp-cmd-perl. Preparing to unpack .../070-libapp-cmd-perl_0.331-1_all.deb ... Unpacking libapp-cmd-perl (0.331-1) ... Selecting previously unselected package libcarp-assert-perl. Preparing to unpack .../071-libcarp-assert-perl_0.21-1_all.deb ... Unpacking libcarp-assert-perl (0.21-1) ... Selecting previously unselected package libcarp-assert-more-perl. Preparing to unpack .../072-libcarp-assert-more-perl_1.16-1_all.deb ... Unpacking libcarp-assert-more-perl (1.16-1) ... Selecting previously unselected package libfile-which-perl. Preparing to unpack .../073-libfile-which-perl_1.22-1_all.deb ... Unpacking libfile-which-perl (1.22-1) ... Selecting previously unselected package libfile-homedir-perl. Preparing to unpack .../074-libfile-homedir-perl_1.004-1_all.deb ... Unpacking libfile-homedir-perl (1.004-1) ... Selecting previously unselected package libclone-choose-perl. Preparing to unpack .../075-libclone-choose-perl_0.010-1_all.deb ... Unpacking libclone-choose-perl (0.010-1) ... Selecting previously unselected package libhash-merge-perl. Preparing to unpack .../076-libhash-merge-perl_0.300-1_all.deb ... Unpacking libhash-merge-perl (0.300-1) ... Selecting previously unselected package libjson-perl. Preparing to unpack .../077-libjson-perl_2.97001-1_all.deb ... Unpacking libjson-perl (2.97001-1) ... Selecting previously unselected package libexporter-tiny-perl. Preparing to unpack .../078-libexporter-tiny-perl_1.002001-1_all.deb ... Unpacking libexporter-tiny-perl (1.002001-1) ... Selecting previously unselected package liblist-moreutils-perl. Preparing to unpack .../079-liblist-moreutils-perl_0.416-1build4_amd64.deb ... Unpacking liblist-moreutils-perl (0.416-1build4) ... Selecting previously unselected package liblog-log4perl-perl. Preparing to unpack .../080-liblog-log4perl-perl_1.49-1_all.deb ... Unpacking liblog-log4perl-perl (1.49-1) ... Selecting previously unselected package libmouse-perl. Preparing to unpack .../081-libmouse-perl_2.5.6-1build1_amd64.deb ... Unpacking libmouse-perl (2.5.6-1build1) ... Selecting previously unselected package libmousex-nativetraits-perl. Preparing to unpack .../082-libmousex-nativetraits-perl_1.09-2_all.deb ... Unpacking libmousex-nativetraits-perl (1.09-2) ... Selecting previously unselected package libmousex-strictconstructor-perl. Preparing to unpack .../083-libmousex-strictconstructor-perl_0.02-2_all.deb ... Unpacking libmousex-strictconstructor-perl (0.02-2) ... Selecting previously unselected package libparse-recdescent-perl. Preparing to unpack .../084-libparse-recdescent-perl_1.967015+dfsg-2_all.deb ... Unpacking libparse-recdescent-perl (1.967015+dfsg-2) ... Selecting previously unselected package libpath-tiny-perl. Preparing to unpack .../085-libpath-tiny-perl_0.108-1_all.deb ... Unpacking libpath-tiny-perl (0.108-1) ... Selecting previously unselected package libpod-pom-perl. Preparing to unpack .../086-libpod-pom-perl_2.01-1_all.deb ... Unpacking libpod-pom-perl (2.01-1) ... Selecting previously unselected package libregexp-common-perl. Preparing to unpack .../087-libregexp-common-perl_2017060201-1_all.deb ... Unpacking libregexp-common-perl (2017060201-1) ... Selecting previously unselected package libyaml-tiny-perl. Preparing to unpack .../088-libyaml-tiny-perl_1.73-1_all.deb ... Unpacking libyaml-tiny-perl (1.73-1) ... Selecting previously unselected package libconfig-model-perl. Preparing to unpack .../089-libconfig-model-perl_2.127-1_all.deb ... Unpacking libconfig-model-perl (2.127-1) ... Selecting previously unselected package libyaml-perl. Preparing to unpack .../090-libyaml-perl_1.27-1_all.deb ... Unpacking libyaml-perl (1.27-1) ... Selecting previously unselected package cme. Preparing to unpack .../091-cme_1.029-1_all.deb ... Unpacking cme (1.029-1) ... Selecting previously unselected package libtool. Preparing to unpack .../092-libtool_2.4.6-6_all.deb ... Unpacking libtool (2.4.6-6) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../093-dh-autoreconf_19_all.deb ... Unpacking dh-autoreconf (19) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../094-libarchive-zip-perl_1.64-1_all.deb ... Unpacking libarchive-zip-perl (1.64-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../095-libfile-stripnondeterminism-perl_0.45.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (0.45.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../096-dh-strip-nondeterminism_0.45.0-1_all.deb ... Unpacking dh-strip-nondeterminism (0.45.0-1) ... Selecting previously unselected package dwz. Preparing to unpack .../097-dwz_0.12-2_amd64.deb ... Unpacking dwz (0.12-2) ... Selecting previously unselected package libcroco3:amd64. Preparing to unpack .../098-libcroco3_0.6.12-2_amd64.deb ... Unpacking libcroco3:amd64 (0.6.12-2) ... Selecting previously unselected package gettext. Preparing to unpack .../099-gettext_0.19.8.1-9_amd64.deb ... Unpacking gettext (0.19.8.1-9) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../100-intltool-debian_0.35.0+20060710.4_all.deb ... Unpacking intltool-debian (0.35.0+20060710.4) ... Selecting previously unselected package po-debconf. Preparing to unpack .../101-po-debconf_1.0.21_all.deb ... Unpacking po-debconf (1.0.21) ... Selecting previously unselected package debhelper. Preparing to unpack .../102-debhelper_11.3.2ubuntu1_all.deb ... Unpacking debhelper (11.3.2ubuntu1) ... Selecting previously unselected package libblas3:amd64. Preparing to unpack .../103-libblas3_3.8.0-1build1_amd64.deb ... Unpacking libblas3:amd64 (3.8.0-1build1) ... Selecting previously unselected package libgfortran5:amd64. Preparing to unpack .../104-libgfortran5_8.2.0-10ubuntu1_amd64.deb ... Unpacking libgfortran5:amd64 (8.2.0-10ubuntu1) ... Selecting previously unselected package liblapack3:amd64. Preparing to unpack .../105-liblapack3_3.8.0-1build1_amd64.deb ... Unpacking liblapack3:amd64 (3.8.0-1build1) ... Selecting previously unselected package libarpack2:amd64. Preparing to unpack .../106-libarpack2_3.6.3-1_amd64.deb ... Unpacking libarpack2:amd64 (3.6.3-1) ... Selecting previously unselected package libsuitesparseconfig5:amd64. Preparing to unpack .../107-libsuitesparseconfig5_1%3a5.3.0+dfsg-1_amd64.deb ... Unpacking libsuitesparseconfig5:amd64 (1:5.3.0+dfsg-1) ... Selecting previously unselected package libamd2:amd64. Preparing to unpack .../108-libamd2_1%3a5.3.0+dfsg-1_amd64.deb ... Unpacking libamd2:amd64 (1:5.3.0+dfsg-1) ... Selecting previously unselected package libcamd2:amd64. Preparing to unpack .../109-libcamd2_1%3a5.3.0+dfsg-1_amd64.deb ... Unpacking libcamd2:amd64 (1:5.3.0+dfsg-1) ... Selecting previously unselected package libccolamd2:amd64. Preparing to unpack .../110-libccolamd2_1%3a5.3.0+dfsg-1_amd64.deb ... Unpacking libccolamd2:amd64 (1:5.3.0+dfsg-1) ... Selecting previously unselected package libcolamd2:amd64. Preparing to unpack .../111-libcolamd2_1%3a5.3.0+dfsg-1_amd64.deb ... Unpacking libcolamd2:amd64 (1:5.3.0+dfsg-1) ... Selecting previously unselected package libmetis5:amd64. Preparing to unpack .../112-libmetis5_5.1.0.dfsg-5_amd64.deb ... Unpacking libmetis5:amd64 (5.1.0.dfsg-5) ... Selecting previously unselected package libcholmod3:amd64. Preparing to unpack .../113-libcholmod3_1%3a5.3.0+dfsg-1_amd64.deb ... Unpacking libcholmod3:amd64 (1:5.3.0+dfsg-1) ... Selecting previously unselected package libroken18-heimdal:amd64. Preparing to unpack .../114-libroken18-heimdal_7.5.0+dfsg-2.1_amd64.deb ... Unpacking libroken18-heimdal:amd64 (7.5.0+dfsg-2.1) ... Selecting previously unselected package libasn1-8-heimdal:amd64. Preparing to unpack .../115-libasn1-8-heimdal_7.5.0+dfsg-2.1_amd64.deb ... Unpacking libasn1-8-heimdal:amd64 (7.5.0+dfsg-2.1) ... Selecting previously unselected package libheimbase1-heimdal:amd64. Preparing to unpack .../116-libheimbase1-heimdal_7.5.0+dfsg-2.1_amd64.deb ... Unpacking libheimbase1-heimdal:amd64 (7.5.0+dfsg-2.1) ... Selecting previously unselected package libhcrypto4-heimdal:amd64. Preparing to unpack .../117-libhcrypto4-heimdal_7.5.0+dfsg-2.1_amd64.deb ... Unpacking libhcrypto4-heimdal:amd64 (7.5.0+dfsg-2.1) ... Selecting previously unselected package libwind0-heimdal:amd64. Preparing to unpack .../118-libwind0-heimdal_7.5.0+dfsg-2.1_amd64.deb ... Unpacking libwind0-heimdal:amd64 (7.5.0+dfsg-2.1) ... Selecting previously unselected package libhx509-5-heimdal:amd64. Preparing to unpack .../119-libhx509-5-heimdal_7.5.0+dfsg-2.1_amd64.deb ... Unpacking libhx509-5-heimdal:amd64 (7.5.0+dfsg-2.1) ... Selecting previously unselected package libkrb5-26-heimdal:amd64. Preparing to unpack .../120-libkrb5-26-heimdal_7.5.0+dfsg-2.1_amd64.deb ... Unpacking libkrb5-26-heimdal:amd64 (7.5.0+dfsg-2.1) ... Selecting previously unselected package libheimntlm0-heimdal:amd64. Preparing to unpack .../121-libheimntlm0-heimdal_7.5.0+dfsg-2.1_amd64.deb ... Unpacking libheimntlm0-heimdal:amd64 (7.5.0+dfsg-2.1) ... Selecting previously unselected package libgssapi3-heimdal:amd64. Preparing to unpack .../122-libgssapi3-heimdal_7.5.0+dfsg-2.1_amd64.deb ... Unpacking libgssapi3-heimdal:amd64 (7.5.0+dfsg-2.1) ... Selecting previously unselected package libsasl2-modules-db:amd64. Preparing to unpack .../123-libsasl2-modules-db_2.1.27~101-g0780600+dfsg-3ubuntu2_amd64.deb ... Unpacking libsasl2-modules-db:amd64 (2.1.27~101-g0780600+dfsg-3ubuntu2) ... Selecting previously unselected package libsasl2-2:amd64. Preparing to unpack .../124-libsasl2-2_2.1.27~101-g0780600+dfsg-3ubuntu2_amd64.deb ... Unpacking libsasl2-2:amd64 (2.1.27~101-g0780600+dfsg-3ubuntu2) ... Selecting previously unselected package libldap-common. Preparing to unpack .../125-libldap-common_2.4.46+dfsg-5ubuntu3_all.deb ... Unpacking libldap-common (2.4.46+dfsg-5ubuntu3) ... Selecting previously unselected package libldap-2.4-2:amd64. Preparing to unpack .../126-libldap-2.4-2_2.4.46+dfsg-5ubuntu3_amd64.deb ... Unpacking libldap-2.4-2:amd64 (2.4.46+dfsg-5ubuntu3) ... Selecting previously unselected package libnghttp2-14:amd64. Preparing to unpack .../127-libnghttp2-14_1.35.0-1_amd64.deb ... Unpacking libnghttp2-14:amd64 (1.35.0-1) ... Selecting previously unselected package librtmp1:amd64. Preparing to unpack .../128-librtmp1_2.4+20151223.gitfa8646d.1-2_amd64.deb ... Unpacking librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2) ... Selecting previously unselected package libcurl3-gnutls:amd64. Preparing to unpack .../129-libcurl3-gnutls_7.61.0-1ubuntu2.2_amd64.deb ... Unpacking libcurl3-gnutls:amd64 (7.61.0-1ubuntu2.2) ... Selecting previously unselected package libcxsparse3:amd64. Preparing to unpack .../130-libcxsparse3_1%3a5.3.0+dfsg-1_amd64.deb ... Unpacking libcxsparse3:amd64 (1:5.3.0+dfsg-1) ... Selecting previously unselected package libfftw3-double3:amd64. Preparing to unpack .../131-libfftw3-double3_3.3.8-2_amd64.deb ... Unpacking libfftw3-double3:amd64 (3.3.8-2) ... Selecting previously unselected package libfftw3-single3:amd64. Preparing to unpack .../132-libfftw3-single3_3.3.8-2_amd64.deb ... Unpacking libfftw3-single3:amd64 (3.3.8-2) ... Selecting previously unselected package libfreetype6:amd64. Preparing to unpack .../133-libfreetype6_2.8.1-2ubuntu2_amd64.deb ... Unpacking libfreetype6:amd64 (2.8.1-2ubuntu2) ... Selecting previously unselected package fonts-dejavu-core. Preparing to unpack .../134-fonts-dejavu-core_2.37-1_all.deb ... Unpacking fonts-dejavu-core (2.37-1) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../135-fontconfig-config_2.13.0-5ubuntu3_all.deb ... Unpacking fontconfig-config (2.13.0-5ubuntu3) ... Selecting previously unselected package libfontconfig1:amd64. Preparing to unpack .../136-libfontconfig1_2.13.0-5ubuntu3_amd64.deb ... Unpacking libfontconfig1:amd64 (2.13.0-5ubuntu3) ... Selecting previously unselected package libglvnd0:amd64. Preparing to unpack .../137-libglvnd0_1.1.0-1_amd64.deb ... Unpacking libglvnd0:amd64 (1.1.0-1) ... Selecting previously unselected package libglapi-mesa:amd64. Preparing to unpack .../138-libglapi-mesa_18.2.2-0ubuntu1_amd64.deb ... Unpacking libglapi-mesa:amd64 (18.2.2-0ubuntu1) ... Selecting previously unselected package libx11-xcb1:amd64. Preparing to unpack .../139-libx11-xcb1_2%3a1.6.7-1_amd64.deb ... Unpacking libx11-xcb1:amd64 (2:1.6.7-1) ... Selecting previously unselected package libxcb-dri2-0:amd64. Preparing to unpack .../140-libxcb-dri2-0_1.13.1-1_amd64.deb ... Unpacking libxcb-dri2-0:amd64 (1.13.1-1) ... Selecting previously unselected package libxcb-dri3-0:amd64. Preparing to unpack .../141-libxcb-dri3-0_1.13.1-1_amd64.deb ... Unpacking libxcb-dri3-0:amd64 (1.13.1-1) ... Selecting previously unselected package libxcb-glx0:amd64. Preparing to unpack .../142-libxcb-glx0_1.13.1-1_amd64.deb ... Unpacking libxcb-glx0:amd64 (1.13.1-1) ... Selecting previously unselected package libxcb-present0:amd64. Preparing to unpack .../143-libxcb-present0_1.13.1-1_amd64.deb ... Unpacking libxcb-present0:amd64 (1.13.1-1) ... Selecting previously unselected package libxcb-sync1:amd64. Preparing to unpack .../144-libxcb-sync1_1.13.1-1_amd64.deb ... Unpacking libxcb-sync1:amd64 (1.13.1-1) ... Selecting previously unselected package libxdamage1:amd64. Preparing to unpack .../145-libxdamage1_1%3a1.1.4-3_amd64.deb ... Unpacking libxdamage1:amd64 (1:1.1.4-3) ... Selecting previously unselected package libxfixes3:amd64. Preparing to unpack .../146-libxfixes3_1%3a5.0.3-1_amd64.deb ... Unpacking libxfixes3:amd64 (1:5.0.3-1) ... Selecting previously unselected package libxshmfence1:amd64. Preparing to unpack .../147-libxshmfence1_1.3-1_amd64.deb ... Unpacking libxshmfence1:amd64 (1.3-1) ... Selecting previously unselected package libdrm-amdgpu1:amd64. Preparing to unpack .../148-libdrm-amdgpu1_2.4.95-1_amd64.deb ... Unpacking libdrm-amdgpu1:amd64 (2.4.95-1) ... Selecting previously unselected package libpciaccess0:amd64. Preparing to unpack .../149-libpciaccess0_0.14-1_amd64.deb ... Unpacking libpciaccess0:amd64 (0.14-1) ... Selecting previously unselected package libdrm-intel1:amd64. Preparing to unpack .../150-libdrm-intel1_2.4.95-1_amd64.deb ... Unpacking libdrm-intel1:amd64 (2.4.95-1) ... Selecting previously unselected package libdrm-nouveau2:amd64. Preparing to unpack .../151-libdrm-nouveau2_2.4.95-1_amd64.deb ... Unpacking libdrm-nouveau2:amd64 (2.4.95-1) ... Selecting previously unselected package libdrm-radeon1:amd64. Preparing to unpack .../152-libdrm-radeon1_2.4.95-1_amd64.deb ... Unpacking libdrm-radeon1:amd64 (2.4.95-1) ... Selecting previously unselected package libllvm7:amd64. Preparing to unpack .../153-libllvm7_1%3a7.0.1~+rc2-7_amd64.deb ... Unpacking libllvm7:amd64 (1:7.0.1~+rc2-7) ... Selecting previously unselected package libsensors4:amd64. Preparing to unpack .../154-libsensors4_1%3a3.4.0-4_amd64.deb ... Unpacking libsensors4:amd64 (1:3.4.0-4) ... Selecting previously unselected package libgl1-mesa-dri:amd64. Preparing to unpack .../155-libgl1-mesa-dri_18.2.2-0ubuntu1_amd64.deb ... Unpacking libgl1-mesa-dri:amd64 (18.2.2-0ubuntu1) ... Selecting previously unselected package libglx-mesa0:amd64. Preparing to unpack .../156-libglx-mesa0_18.2.2-0ubuntu1_amd64.deb ... Unpacking libglx-mesa0:amd64 (18.2.2-0ubuntu1) ... Selecting previously unselected package libglx0:amd64. Preparing to unpack .../157-libglx0_1.1.0-1_amd64.deb ... Unpacking libglx0:amd64 (1.1.0-1) ... Selecting previously unselected package libgl1:amd64. Preparing to unpack .../158-libgl1_1.1.0-1_amd64.deb ... Unpacking libgl1:amd64 (1.1.0-1) ... Selecting previously unselected package libgl2ps1.4. Preparing to unpack .../159-libgl2ps1.4_1.4.0+dfsg1-2_amd64.deb ... Unpacking libgl2ps1.4 (1.4.0+dfsg1-2) ... Selecting previously unselected package libglu1-mesa:amd64. Preparing to unpack .../160-libglu1-mesa_9.0.0-2.1build1_amd64.deb ... Unpacking libglu1-mesa:amd64 (9.0.0-2.1build1) ... Selecting previously unselected package libjbig0:amd64. Preparing to unpack .../161-libjbig0_2.1-3.1build1_amd64.deb ... Unpacking libjbig0:amd64 (2.1-3.1build1) ... Selecting previously unselected package libjpeg-turbo8:amd64. Preparing to unpack .../162-libjpeg-turbo8_2.0.0-0ubuntu2_amd64.deb ... Unpacking libjpeg-turbo8:amd64 (2.0.0-0ubuntu2) ... Selecting previously unselected package libjpeg8:amd64. Preparing to unpack .../163-libjpeg8_8c-2ubuntu8_amd64.deb ... Unpacking libjpeg8:amd64 (8c-2ubuntu8) ... Selecting previously unselected package libwebp6:amd64. Preparing to unpack .../164-libwebp6_0.6.1-2_amd64.deb ... Unpacking libwebp6:amd64 (0.6.1-2) ... Selecting previously unselected package libtiff5:amd64. Preparing to unpack .../165-libtiff5_4.0.10-3_amd64.deb ... Unpacking libtiff5:amd64 (4.0.10-3) ... Selecting previously unselected package liblcms2-2:amd64. Preparing to unpack .../166-liblcms2-2_2.9-3_amd64.deb ... Unpacking liblcms2-2:amd64 (2.9-3) ... Selecting previously unselected package libwebpmux3:amd64. Preparing to unpack .../167-libwebpmux3_0.6.1-2_amd64.deb ... Unpacking libwebpmux3:amd64 (0.6.1-2) ... Selecting previously unselected package libwmf0.2-7:amd64. Preparing to unpack .../168-libwmf0.2-7_0.2.8.4-14_amd64.deb ... Unpacking libwmf0.2-7:amd64 (0.2.8.4-14) ... Selecting previously unselected package libgraphicsmagick-q16-3. Preparing to unpack .../169-libgraphicsmagick-q16-3_1.3.31-1_amd64.deb ... Unpacking libgraphicsmagick-q16-3 (1.3.31-1) ... Selecting previously unselected package libgraphicsmagick++-q16-12. Preparing to unpack .../170-libgraphicsmagick++-q16-12_1.3.31-1_amd64.deb ... Unpacking libgraphicsmagick++-q16-12 (1.3.31-1) ... Selecting previously unselected package libaec0:amd64. Preparing to unpack .../171-libaec0_1.0.2-1_amd64.deb ... Unpacking libaec0:amd64 (1.0.2-1) ... Selecting previously unselected package libsz2:amd64. Preparing to unpack .../172-libsz2_1.0.2-1_amd64.deb ... Unpacking libsz2:amd64 (1.0.2-1) ... Selecting previously unselected package libhdf5-100:amd64. Preparing to unpack .../173-libhdf5-100_1.10.0-patch1+docs-4build2_amd64.deb ... Unpacking libhdf5-100:amd64 (1.10.0-patch1+docs-4build2) ... Selecting previously unselected package libqrupdate1:amd64. Preparing to unpack .../174-libqrupdate1_1.1.2-3_amd64.deb ... Unpacking libqrupdate1:amd64 (1.1.2-3) ... Selecting previously unselected package libumfpack5:amd64. Preparing to unpack .../175-libumfpack5_1%3a5.3.0+dfsg-1_amd64.deb ... Unpacking libumfpack5:amd64 (1:5.3.0+dfsg-1) ... Selecting previously unselected package liboctave6:amd64. Preparing to unpack .../176-liboctave6_4.4.1-2_amd64.deb ... Unpacking liboctave6:amd64 (4.4.1-2) ... Selecting previously unselected package libxrender1:amd64. Preparing to unpack .../177-libxrender1_1%3a0.9.10-1_amd64.deb ... Unpacking libxrender1:amd64 (1:0.9.10-1) ... Selecting previously unselected package libxcursor1:amd64. Preparing to unpack .../178-libxcursor1_1%3a1.1.15-2_amd64.deb ... Unpacking libxcursor1:amd64 (1:1.1.15-2) ... Selecting previously unselected package libxft2:amd64. Preparing to unpack .../179-libxft2_2.3.2-2_amd64.deb ... Unpacking libxft2:amd64 (2.3.2-2) ... Selecting previously unselected package libxinerama1:amd64. Preparing to unpack .../180-libxinerama1_2%3a1.1.4-1_amd64.deb ... Unpacking libxinerama1:amd64 (2:1.1.4-1) ... Selecting previously unselected package libfltk1.3:amd64. Preparing to unpack .../181-libfltk1.3_1.3.4-7_amd64.deb ... Unpacking libfltk1.3:amd64 (1.3.4-7) ... Selecting previously unselected package libfltk-gl1.3:amd64. Preparing to unpack .../182-libfltk-gl1.3_1.3.4-7_amd64.deb ... Unpacking libfltk-gl1.3:amd64 (1.3.4-7) ... Selecting previously unselected package libltdl7:amd64. Preparing to unpack .../183-libltdl7_2.4.6-6_amd64.deb ... Unpacking libltdl7:amd64 (2.4.6-6) ... Selecting previously unselected package libglpk40:amd64. Preparing to unpack .../184-libglpk40_4.65-2_amd64.deb ... Unpacking libglpk40:amd64 (4.65-2) ... Selecting previously unselected package libasound2-data. Preparing to unpack .../185-libasound2-data_1.1.7-1_all.deb ... Unpacking libasound2-data (1.1.7-1) ... Selecting previously unselected package libasound2:amd64. Preparing to unpack .../186-libasound2_1.1.7-1_amd64.deb ... Unpacking libasound2:amd64 (1.1.7-1) ... Selecting previously unselected package libsamplerate0:amd64. Preparing to unpack .../187-libsamplerate0_0.1.9-2_amd64.deb ... Unpacking libsamplerate0:amd64 (0.1.9-2) ... Selecting previously unselected package libjack-jackd2-0:amd64. Preparing to unpack .../188-libjack-jackd2-0_1.9.12~dfsg-2_amd64.deb ... Unpacking libjack-jackd2-0:amd64 (1.9.12~dfsg-2) ... Selecting previously unselected package libportaudio2:amd64. Preparing to unpack .../189-libportaudio2_19.6.0-1_amd64.deb ... Unpacking libportaudio2:amd64 (19.6.0-1) ... Selecting previously unselected package libqhull7:amd64. Preparing to unpack .../190-libqhull7_2015.2-4_amd64.deb ... Unpacking libqhull7:amd64 (2015.2-4) ... Selecting previously unselected package libqscintilla2-qt5-l10n. Preparing to unpack .../191-libqscintilla2-qt5-l10n_2.10.4+dfsg-1build2_all.deb ... Unpacking libqscintilla2-qt5-l10n (2.10.4+dfsg-1build2) ... Selecting previously unselected package libdouble-conversion1:amd64. Preparing to unpack .../192-libdouble-conversion1_3.1.0-2_amd64.deb ... Unpacking libdouble-conversion1:amd64 (3.1.0-2) ... Selecting previously unselected package libpcre2-16-0:amd64. Preparing to unpack .../193-libpcre2-16-0_10.32-3_amd64.deb ... Unpacking libpcre2-16-0:amd64 (10.32-3) ... Selecting previously unselected package libqt5core5a:amd64. Preparing to unpack .../194-libqt5core5a_5.11.2+dfsg-7ubuntu2_amd64.deb ... Unpacking libqt5core5a:amd64 (5.11.2+dfsg-7ubuntu2) ... Selecting previously unselected package fontconfig. Preparing to unpack .../195-fontconfig_2.13.0-5ubuntu3_amd64.deb ... Unpacking fontconfig (2.13.0-5ubuntu3) ... Selecting previously unselected package libwayland-server0:amd64. Preparing to unpack .../196-libwayland-server0_1.16.0-1ubuntu1_amd64.deb ... Unpacking libwayland-server0:amd64 (1.16.0-1ubuntu1) ... Selecting previously unselected package libgbm1:amd64. Preparing to unpack .../197-libgbm1_18.2.2-0ubuntu1_amd64.deb ... Unpacking libgbm1:amd64 (18.2.2-0ubuntu1) ... Selecting previously unselected package libwayland-client0:amd64. Preparing to unpack .../198-libwayland-client0_1.16.0-1ubuntu1_amd64.deb ... Unpacking libwayland-client0:amd64 (1.16.0-1ubuntu1) ... Selecting previously unselected package libxcb-xfixes0:amd64. Preparing to unpack .../199-libxcb-xfixes0_1.13.1-1_amd64.deb ... Unpacking libxcb-xfixes0:amd64 (1.13.1-1) ... Selecting previously unselected package libegl-mesa0:amd64. Preparing to unpack .../200-libegl-mesa0_18.2.2-0ubuntu1_amd64.deb ... Unpacking libegl-mesa0:amd64 (18.2.2-0ubuntu1) ... Selecting previously unselected package libegl1:amd64. Preparing to unpack .../201-libegl1_1.1.0-1_amd64.deb ... Unpacking libegl1:amd64 (1.1.0-1) ... Selecting previously unselected package libgraphite2-3:amd64. Preparing to unpack .../202-libgraphite2-3_1.3.12-1_amd64.deb ... Unpacking libgraphite2-3:amd64 (1.3.12-1) ... Selecting previously unselected package libharfbuzz0b:amd64. Preparing to unpack .../203-libharfbuzz0b_2.1.1-1build1_amd64.deb ... Unpacking libharfbuzz0b:amd64 (2.1.1-1build1) ... Selecting previously unselected package libevdev2:amd64. Preparing to unpack .../204-libevdev2_1.6.0+dfsg-1_amd64.deb ... Unpacking libevdev2:amd64 (1.6.0+dfsg-1) ... Selecting previously unselected package libmtdev1:amd64. Preparing to unpack .../205-libmtdev1_1.1.5-1ubuntu3_amd64.deb ... Unpacking libmtdev1:amd64 (1.1.5-1ubuntu3) ... Selecting previously unselected package libgudev-1.0-0:amd64. Preparing to unpack .../206-libgudev-1.0-0_1%3a232-2_amd64.deb ... Unpacking libgudev-1.0-0:amd64 (1:232-2) ... Selecting previously unselected package libwacom-common. Preparing to unpack .../207-libwacom-common_0.31-1_all.deb ... Unpacking libwacom-common (0.31-1) ... Selecting previously unselected package libwacom2:amd64. Preparing to unpack .../208-libwacom2_0.31-1_amd64.deb ... Unpacking libwacom2:amd64 (0.31-1) ... Selecting previously unselected package libinput-bin. Preparing to unpack .../209-libinput-bin_1.12.1-1_amd64.deb ... Unpacking libinput-bin (1.12.1-1) ... Selecting previously unselected package libinput10:amd64. Preparing to unpack .../210-libinput10_1.12.1-1_amd64.deb ... Unpacking libinput10:amd64 (1.12.1-1) ... Selecting previously unselected package libqt5dbus5:amd64. Preparing to unpack .../211-libqt5dbus5_5.11.2+dfsg-7ubuntu2_amd64.deb ... Unpacking libqt5dbus5:amd64 (5.11.2+dfsg-7ubuntu2) ... Selecting previously unselected package libqt5network5:amd64. Preparing to unpack .../212-libqt5network5_5.11.2+dfsg-7ubuntu2_amd64.deb ... Unpacking libqt5network5:amd64 (5.11.2+dfsg-7ubuntu2) ... Selecting previously unselected package libxcb-shm0:amd64. Preparing to unpack .../213-libxcb-shm0_1.13.1-1_amd64.deb ... Unpacking libxcb-shm0:amd64 (1.13.1-1) ... Selecting previously unselected package libxcb-util1:amd64. Preparing to unpack .../214-libxcb-util1_0.4.0-0ubuntu3_amd64.deb ... Unpacking libxcb-util1:amd64 (0.4.0-0ubuntu3) ... Selecting previously unselected package libxcb-image0:amd64. Preparing to unpack .../215-libxcb-image0_0.4.0-1build1_amd64.deb ... Unpacking libxcb-image0:amd64 (0.4.0-1build1) ... Selecting previously unselected package libxcb-randr0:amd64. Preparing to unpack .../216-libxcb-randr0_1.13.1-1_amd64.deb ... Unpacking libxcb-randr0:amd64 (1.13.1-1) ... Selecting previously unselected package libxcb-shape0:amd64. Preparing to unpack .../217-libxcb-shape0_1.13.1-1_amd64.deb ... Unpacking libxcb-shape0:amd64 (1.13.1-1) ... Selecting previously unselected package libxcb-xinerama0:amd64. Preparing to unpack .../218-libxcb-xinerama0_1.13.1-1_amd64.deb ... Unpacking libxcb-xinerama0:amd64 (1.13.1-1) ... Selecting previously unselected package libxcb-xkb1:amd64. Preparing to unpack .../219-libxcb-xkb1_1.13.1-1_amd64.deb ... Unpacking libxcb-xkb1:amd64 (1.13.1-1) ... Selecting previously unselected package libxi6:amd64. Preparing to unpack .../220-libxi6_2%3a1.7.9-1_amd64.deb ... Unpacking libxi6:amd64 (2:1.7.9-1) ... Selecting previously unselected package libxkbcommon0:amd64. Preparing to unpack .../221-libxkbcommon0_0.8.2-1_amd64.deb ... Unpacking libxkbcommon0:amd64 (0.8.2-1) ... Selecting previously unselected package libxkbcommon-x11-0:amd64. Preparing to unpack .../222-libxkbcommon-x11-0_0.8.2-1_amd64.deb ... Unpacking libxkbcommon-x11-0:amd64 (0.8.2-1) ... Selecting previously unselected package libqt5gui5:amd64. Preparing to unpack .../223-libqt5gui5_5.11.2+dfsg-7ubuntu2_amd64.deb ... Unpacking libqt5gui5:amd64 (5.11.2+dfsg-7ubuntu2) ... Selecting previously unselected package libavahi-common-data:amd64. Preparing to unpack .../224-libavahi-common-data_0.7-4ubuntu3_amd64.deb ... Unpacking libavahi-common-data:amd64 (0.7-4ubuntu3) ... Selecting previously unselected package libavahi-common3:amd64. Preparing to unpack .../225-libavahi-common3_0.7-4ubuntu3_amd64.deb ... Unpacking libavahi-common3:amd64 (0.7-4ubuntu3) ... Selecting previously unselected package libavahi-client3:amd64. Preparing to unpack .../226-libavahi-client3_0.7-4ubuntu3_amd64.deb ... Unpacking libavahi-client3:amd64 (0.7-4ubuntu3) ... Selecting previously unselected package libcups2:amd64. Preparing to unpack .../227-libcups2_2.2.9-2_amd64.deb ... Unpacking libcups2:amd64 (2.2.9-2) ... Selecting previously unselected package libqt5widgets5:amd64. Preparing to unpack .../228-libqt5widgets5_5.11.2+dfsg-7ubuntu2_amd64.deb ... Unpacking libqt5widgets5:amd64 (5.11.2+dfsg-7ubuntu2) ... Selecting previously unselected package libqt5printsupport5:amd64. Preparing to unpack .../229-libqt5printsupport5_5.11.2+dfsg-7ubuntu2_amd64.deb ... Unpacking libqt5printsupport5:amd64 (5.11.2+dfsg-7ubuntu2) ... Selecting previously unselected package libqscintilla2-qt5-13. Preparing to unpack .../230-libqscintilla2-qt5-13_2.10.4+dfsg-1build2_amd64.deb ... Unpacking libqscintilla2-qt5-13 (2.10.4+dfsg-1build2) ... Selecting previously unselected package libqt5sql5:amd64. Preparing to unpack .../231-libqt5sql5_5.11.2+dfsg-7ubuntu2_amd64.deb ... Unpacking libqt5sql5:amd64 (5.11.2+dfsg-7ubuntu2) ... Selecting previously unselected package libqt5help5:amd64. Preparing to unpack .../232-libqt5help5_5.11.2-5_amd64.deb ... Unpacking libqt5help5:amd64 (5.11.2-5) ... Selecting previously unselected package libflac8:amd64. Preparing to unpack .../233-libflac8_1.3.2-3_amd64.deb ... Unpacking libflac8:amd64 (1.3.2-3) ... Selecting previously unselected package libvorbis0a:amd64. Preparing to unpack .../234-libvorbis0a_1.3.6-1_amd64.deb ... Unpacking libvorbis0a:amd64 (1.3.6-1) ... Selecting previously unselected package libvorbisenc2:amd64. Preparing to unpack .../235-libvorbisenc2_1.3.6-1_amd64.deb ... Unpacking libvorbisenc2:amd64 (1.3.6-1) ... Selecting previously unselected package libsndfile1:amd64. Preparing to unpack .../236-libsndfile1_1.0.28-4_amd64.deb ... Unpacking libsndfile1:amd64 (1.0.28-4) ... Selecting previously unselected package libtext-unidecode-perl. Preparing to unpack .../237-libtext-unidecode-perl_1.30-1_all.deb ... Unpacking libtext-unidecode-perl (1.30-1) ... Selecting previously unselected package libxml-namespacesupport-perl. Preparing to unpack .../238-libxml-namespacesupport-perl_1.12-1_all.deb ... Unpacking libxml-namespacesupport-perl (1.12-1) ... Selecting previously unselected package libxml-sax-base-perl. Preparing to unpack .../239-libxml-sax-base-perl_1.09-1_all.deb ... Unpacking libxml-sax-base-perl (1.09-1) ... Selecting previously unselected package libxml-sax-perl. Preparing to unpack .../240-libxml-sax-perl_1.00+dfsg-1.1~build1_all.deb ... Unpacking libxml-sax-perl (1.00+dfsg-1.1~build1) ... Selecting previously unselected package libxml-libxml-perl. Preparing to unpack .../241-libxml-libxml-perl_2.0132+dfsg-2build1_amd64.deb ... Unpacking libxml-libxml-perl (2.0132+dfsg-2build1) ... Selecting previously unselected package texinfo. Preparing to unpack .../242-texinfo_6.5.0.dfsg.1-4build1_amd64.deb ... Unpacking texinfo (6.5.0.dfsg.1-4build1) ... Selecting previously unselected package octave-common. Preparing to unpack .../243-octave-common_4.4.1-2_all.deb ... Unpacking octave-common (4.4.1-2) ... Selecting previously unselected package octave. Preparing to unpack .../244-octave_4.4.1-2_amd64.deb ... Unpacking octave (4.4.1-2) ... Selecting previously unselected package libncurses-dev:amd64. Preparing to unpack .../245-libncurses-dev_6.1+20180210-4ubuntu1_amd64.deb ... Unpacking libncurses-dev:amd64 (6.1+20180210-4ubuntu1) ... Selecting previously unselected package libreadline-dev:amd64. Preparing to unpack .../246-libreadline-dev_7.0-5_amd64.deb ... Unpacking libreadline-dev:amd64 (7.0-5) ... Selecting previously unselected package zlib1g-dev:amd64. Preparing to unpack .../247-zlib1g-dev_1%3a1.2.11.dfsg-0ubuntu2_amd64.deb ... Unpacking zlib1g-dev:amd64 (1:1.2.11.dfsg-0ubuntu2) ... Selecting previously unselected package libjpeg-turbo8-dev:amd64. Preparing to unpack .../248-libjpeg-turbo8-dev_2.0.0-0ubuntu2_amd64.deb ... Unpacking libjpeg-turbo8-dev:amd64 (2.0.0-0ubuntu2) ... Selecting previously unselected package libjpeg8-dev:amd64. Preparing to unpack .../249-libjpeg8-dev_8c-2ubuntu8_amd64.deb ... Unpacking libjpeg8-dev:amd64 (8c-2ubuntu8) ... Selecting previously unselected package libjpeg-dev:amd64. Preparing to unpack .../250-libjpeg-dev_8c-2ubuntu8_amd64.deb ... Unpacking libjpeg-dev:amd64 (8c-2ubuntu8) ... Selecting previously unselected package libaec-dev:amd64. Preparing to unpack .../251-libaec-dev_1.0.2-1_amd64.deb ... Unpacking libaec-dev:amd64 (1.0.2-1) ... Selecting previously unselected package hdf5-helpers. Preparing to unpack .../252-hdf5-helpers_1.10.0-patch1+docs-4build2_amd64.deb ... Unpacking hdf5-helpers (1.10.0-patch1+docs-4build2) ... Selecting previously unselected package libhdf5-cpp-100:amd64. Preparing to unpack .../253-libhdf5-cpp-100_1.10.0-patch1+docs-4build2_amd64.deb ... Unpacking libhdf5-cpp-100:amd64 (1.10.0-patch1+docs-4build2) ... Selecting previously unselected package libhdf5-dev. Preparing to unpack .../254-libhdf5-dev_1.10.0-patch1+docs-4build2_amd64.deb ... Unpacking libhdf5-dev (1.10.0-patch1+docs-4build2) ... Selecting previously unselected package xorg-sgml-doctools. Preparing to unpack .../255-xorg-sgml-doctools_1%3a1.11-1_all.deb ... Unpacking xorg-sgml-doctools (1:1.11-1) ... Selecting previously unselected package x11proto-dev. Preparing to unpack .../256-x11proto-dev_2018.4-4_all.deb ... Unpacking x11proto-dev (2018.4-4) ... Selecting previously unselected package x11proto-core-dev. Preparing to unpack .../257-x11proto-core-dev_2018.4-4_all.deb ... Unpacking x11proto-core-dev (2018.4-4) ... Selecting previously unselected package libxau-dev:amd64. Preparing to unpack .../258-libxau-dev_1%3a1.0.8-1_amd64.deb ... Unpacking libxau-dev:amd64 (1:1.0.8-1) ... Selecting previously unselected package libxdmcp-dev:amd64. Preparing to unpack .../259-libxdmcp-dev_1%3a1.1.2-3_amd64.deb ... Unpacking libxdmcp-dev:amd64 (1:1.1.2-3) ... Selecting previously unselected package xtrans-dev. Preparing to unpack .../260-xtrans-dev_1.3.5-1_all.deb ... Unpacking xtrans-dev (1.3.5-1) ... Selecting previously unselected package libpthread-stubs0-dev:amd64. Preparing to unpack .../261-libpthread-stubs0-dev_0.3-4_amd64.deb ... Unpacking libpthread-stubs0-dev:amd64 (0.3-4) ... Selecting previously unselected package libxcb1-dev:amd64. Preparing to unpack .../262-libxcb1-dev_1.13.1-1_amd64.deb ... Unpacking libxcb1-dev:amd64 (1.13.1-1) ... Selecting previously unselected package libx11-dev:amd64. Preparing to unpack .../263-libx11-dev_2%3a1.6.7-1_amd64.deb ... Unpacking libx11-dev:amd64 (2:1.6.7-1) ... Selecting previously unselected package libdrm-dev:amd64. Preparing to unpack .../264-libdrm-dev_2.4.95-1_amd64.deb ... Unpacking libdrm-dev:amd64 (2.4.95-1) ... Selecting previously unselected package mesa-common-dev:amd64. Preparing to unpack .../265-mesa-common-dev_18.2.2-0ubuntu1_amd64.deb ... Unpacking mesa-common-dev:amd64 (18.2.2-0ubuntu1) ... Selecting previously unselected package libglvnd-core-dev:amd64. Preparing to unpack .../266-libglvnd-core-dev_1.1.0-1_amd64.deb ... Unpacking libglvnd-core-dev:amd64 (1.1.0-1) ... Selecting previously unselected package libgles1:amd64. Preparing to unpack .../267-libgles1_1.1.0-1_amd64.deb ... Unpacking libgles1:amd64 (1.1.0-1) ... Selecting previously unselected package libgles2:amd64. Preparing to unpack .../268-libgles2_1.1.0-1_amd64.deb ... Unpacking libgles2:amd64 (1.1.0-1) ... Selecting previously unselected package libopengl0:amd64. Preparing to unpack .../269-libopengl0_1.1.0-1_amd64.deb ... Unpacking libopengl0:amd64 (1.1.0-1) ... Selecting previously unselected package libglvnd-dev:amd64. Preparing to unpack .../270-libglvnd-dev_1.1.0-1_amd64.deb ... Unpacking libglvnd-dev:amd64 (1.1.0-1) ... Selecting previously unselected package libx11-xcb-dev:amd64. Preparing to unpack .../271-libx11-xcb-dev_2%3a1.6.7-1_amd64.deb ... Unpacking libx11-xcb-dev:amd64 (2:1.6.7-1) ... Selecting previously unselected package libxcb-dri3-dev:amd64. Preparing to unpack .../272-libxcb-dri3-dev_1.13.1-1_amd64.deb ... Unpacking libxcb-dri3-dev:amd64 (1.13.1-1) ... Selecting previously unselected package libxcb-render0-dev:amd64. Preparing to unpack .../273-libxcb-render0-dev_1.13.1-1_amd64.deb ... Unpacking libxcb-render0-dev:amd64 (1.13.1-1) ... Selecting previously unselected package libxcb-randr0-dev:amd64. Preparing to unpack .../274-libxcb-randr0-dev_1.13.1-1_amd64.deb ... Unpacking libxcb-randr0-dev:amd64 (1.13.1-1) ... Selecting previously unselected package libxcb-shape0-dev:amd64. Preparing to unpack .../275-libxcb-shape0-dev_1.13.1-1_amd64.deb ... Unpacking libxcb-shape0-dev:amd64 (1.13.1-1) ... Selecting previously unselected package libxcb-xfixes0-dev:amd64. Preparing to unpack .../276-libxcb-xfixes0-dev_1.13.1-1_amd64.deb ... Unpacking libxcb-xfixes0-dev:amd64 (1.13.1-1) ... Selecting previously unselected package libxcb-sync-dev:amd64. Preparing to unpack .../277-libxcb-sync-dev_1.13.1-1_amd64.deb ... Unpacking libxcb-sync-dev:amd64 (1.13.1-1) ... Selecting previously unselected package libxcb-present-dev:amd64. Preparing to unpack .../278-libxcb-present-dev_1.13.1-1_amd64.deb ... Unpacking libxcb-present-dev:amd64 (1.13.1-1) ... Selecting previously unselected package libxshmfence-dev:amd64. Preparing to unpack .../279-libxshmfence-dev_1.3-1_amd64.deb ... Unpacking libxshmfence-dev:amd64 (1.3-1) ... Selecting previously unselected package libxcb-dri2-0-dev:amd64. Preparing to unpack .../280-libxcb-dri2-0-dev_1.13.1-1_amd64.deb ... Unpacking libxcb-dri2-0-dev:amd64 (1.13.1-1) ... Selecting previously unselected package libxcb-glx0-dev:amd64. Preparing to unpack .../281-libxcb-glx0-dev_1.13.1-1_amd64.deb ... Unpacking libxcb-glx0-dev:amd64 (1.13.1-1) ... Selecting previously unselected package x11proto-fixes-dev. Preparing to unpack .../282-x11proto-fixes-dev_1%3a2018.4-4_all.deb ... Unpacking x11proto-fixes-dev (1:2018.4-4) ... Selecting previously unselected package libxfixes-dev:amd64. Preparing to unpack .../283-libxfixes-dev_1%3a5.0.3-1_amd64.deb ... Unpacking libxfixes-dev:amd64 (1:5.0.3-1) ... Selecting previously unselected package x11proto-damage-dev. Preparing to unpack .../284-x11proto-damage-dev_1%3a2018.4-4_all.deb ... Unpacking x11proto-damage-dev (1:2018.4-4) ... Selecting previously unselected package libxdamage-dev:amd64. Preparing to unpack .../285-libxdamage-dev_1%3a1.1.4-3_amd64.deb ... Unpacking libxdamage-dev:amd64 (1:1.1.4-3) ... Selecting previously unselected package x11proto-xext-dev. Preparing to unpack .../286-x11proto-xext-dev_2018.4-4_all.deb ... Unpacking x11proto-xext-dev (2018.4-4) ... Selecting previously unselected package libxext-dev:amd64. Preparing to unpack .../287-libxext-dev_2%3a1.3.3-1_amd64.deb ... Unpacking libxext-dev:amd64 (2:1.3.3-1) ... Selecting previously unselected package x11proto-xf86vidmode-dev. Preparing to unpack .../288-x11proto-xf86vidmode-dev_2018.4-4_all.deb ... Unpacking x11proto-xf86vidmode-dev (2018.4-4) ... Selecting previously unselected package libxxf86vm-dev:amd64. Preparing to unpack .../289-libxxf86vm-dev_1%3a1.1.4-1_amd64.deb ... Unpacking libxxf86vm-dev:amd64 (1:1.1.4-1) ... Selecting previously unselected package libgl1-mesa-dev:amd64. Preparing to unpack .../290-libgl1-mesa-dev_18.2.2-0ubuntu1_amd64.deb ... Unpacking libgl1-mesa-dev:amd64 (18.2.2-0ubuntu1) ... Selecting previously unselected package libblas-dev:amd64. Preparing to unpack .../291-libblas-dev_3.8.0-1build1_amd64.deb ... Unpacking libblas-dev:amd64 (3.8.0-1build1) ... Selecting previously unselected package liblapack-dev:amd64. Preparing to unpack .../292-liblapack-dev_3.8.0-1build1_amd64.deb ... Unpacking liblapack-dev:amd64 (3.8.0-1build1) ... Selecting previously unselected package libfftw3-long3:amd64. Preparing to unpack .../293-libfftw3-long3_3.3.8-2_amd64.deb ... Unpacking libfftw3-long3:amd64 (3.3.8-2) ... Selecting previously unselected package libfftw3-quad3:amd64. Preparing to unpack .../294-libfftw3-quad3_3.3.8-2_amd64.deb ... Unpacking libfftw3-quad3:amd64 (3.3.8-2) ... Selecting previously unselected package libfftw3-bin. Preparing to unpack .../295-libfftw3-bin_3.3.8-2_amd64.deb ... Unpacking libfftw3-bin (3.3.8-2) ... Selecting previously unselected package libfftw3-dev:amd64. Preparing to unpack .../296-libfftw3-dev_3.3.8-2_amd64.deb ... Unpacking libfftw3-dev:amd64 (3.3.8-2) ... Selecting previously unselected package libgfortran-8-dev:amd64. Preparing to unpack .../297-libgfortran-8-dev_8.2.0-10ubuntu1_amd64.deb ... Unpacking libgfortran-8-dev:amd64 (8.2.0-10ubuntu1) ... Selecting previously unselected package gfortran-8. Preparing to unpack .../298-gfortran-8_8.2.0-10ubuntu1_amd64.deb ... Unpacking gfortran-8 (8.2.0-10ubuntu1) ... Selecting previously unselected package gfortran. Preparing to unpack .../299-gfortran_4%3a8.2.0-2ubuntu2_amd64.deb ... Unpacking gfortran (4:8.2.0-2ubuntu2) ... Selecting previously unselected package liboctave-dev. Preparing to unpack .../300-liboctave-dev_4.4.1-2_amd64.deb ... Unpacking liboctave-dev (4.4.1-2) ... Selecting previously unselected package libencode-locale-perl. Preparing to unpack .../301-libencode-locale-perl_1.05-1_all.deb ... Unpacking libencode-locale-perl (1.05-1) ... Selecting previously unselected package libtimedate-perl. Preparing to unpack .../302-libtimedate-perl_2.3000-2_all.deb ... Unpacking libtimedate-perl (2.3000-2) ... Selecting previously unselected package libhttp-date-perl. Preparing to unpack .../303-libhttp-date-perl_6.02-1_all.deb ... Unpacking libhttp-date-perl (6.02-1) ... Selecting previously unselected package libfile-listing-perl. Preparing to unpack .../304-libfile-listing-perl_6.04-1_all.deb ... Unpacking libfile-listing-perl (6.04-1) ... Selecting previously unselected package libhtml-tagset-perl. Preparing to unpack .../305-libhtml-tagset-perl_3.20-3_all.deb ... Unpacking libhtml-tagset-perl (3.20-3) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../306-liburi-perl_1.74-1_all.deb ... Unpacking liburi-perl (1.74-1) ... Selecting previously unselected package libhtml-parser-perl. Preparing to unpack .../307-libhtml-parser-perl_3.72-3build2_amd64.deb ... Unpacking libhtml-parser-perl (3.72-3build2) ... Selecting previously unselected package libhtml-tree-perl. Preparing to unpack .../308-libhtml-tree-perl_5.07-1_all.deb ... Unpacking libhtml-tree-perl (5.07-1) ... Selecting previously unselected package libio-html-perl. Preparing to unpack .../309-libio-html-perl_1.001-1_all.deb ... Unpacking libio-html-perl (1.001-1) ... Selecting previously unselected package liblwp-mediatypes-perl. Preparing to unpack .../310-liblwp-mediatypes-perl_6.02-1_all.deb ... Unpacking liblwp-mediatypes-perl (6.02-1) ... Selecting previously unselected package libhttp-message-perl. Preparing to unpack .../311-libhttp-message-perl_6.18-1_all.deb ... Unpacking libhttp-message-perl (6.18-1) ... Selecting previously unselected package libhttp-cookies-perl. Preparing to unpack .../312-libhttp-cookies-perl_6.04-1_all.deb ... Unpacking libhttp-cookies-perl (6.04-1) ... Selecting previously unselected package libhttp-negotiate-perl. Preparing to unpack .../313-libhttp-negotiate-perl_6.01-1_all.deb ... Unpacking libhttp-negotiate-perl (6.01-1) ... Selecting previously unselected package perl-openssl-defaults:amd64. Preparing to unpack .../314-perl-openssl-defaults_3build1_amd64.deb ... Unpacking perl-openssl-defaults:amd64 (3build1) ... Selecting previously unselected package libnet-ssleay-perl. Preparing to unpack .../315-libnet-ssleay-perl_1.85-2ubuntu3_amd64.deb ... Unpacking libnet-ssleay-perl (1.85-2ubuntu3) ... Selecting previously unselected package libio-socket-ssl-perl. Preparing to unpack .../316-libio-socket-ssl-perl_2.060-3_all.deb ... Unpacking libio-socket-ssl-perl (2.060-3) ... Selecting previously unselected package libnet-http-perl. Preparing to unpack .../317-libnet-http-perl_6.18-1_all.deb ... Unpacking libnet-http-perl (6.18-1) ... Selecting previously unselected package liblwp-protocol-https-perl. Preparing to unpack .../318-liblwp-protocol-https-perl_6.07-2_all.deb ... Unpacking liblwp-protocol-https-perl (6.07-2) ... Selecting previously unselected package libwww-robotrules-perl. Preparing to unpack .../319-libwww-robotrules-perl_6.02-1_all.deb ... Unpacking libwww-robotrules-perl (6.02-1) ... Selecting previously unselected package libwww-perl. Preparing to unpack .../320-libwww-perl_6.36-1_all.deb ... Unpacking libwww-perl (6.36-1) ... Selecting previously unselected package liberror-perl. Preparing to unpack .../321-liberror-perl_0.17027-1_all.deb ... Unpacking liberror-perl (0.17027-1) ... Selecting previously unselected package libexporter-lite-perl. Preparing to unpack .../322-libexporter-lite-perl_0.08-1_all.deb ... Unpacking libexporter-lite-perl (0.08-1) ... Selecting previously unselected package libparse-debcontrol-perl. Preparing to unpack .../323-libparse-debcontrol-perl_2.005-4_all.deb ... Unpacking libparse-debcontrol-perl (2.005-4) ... Selecting previously unselected package libconvert-binhex-perl. Preparing to unpack .../324-libconvert-binhex-perl_1.125-1_all.deb ... Unpacking libconvert-binhex-perl (1.125-1) ... Selecting previously unselected package libnet-smtp-ssl-perl. Preparing to unpack .../325-libnet-smtp-ssl-perl_1.04-1_all.deb ... Unpacking libnet-smtp-ssl-perl (1.04-1) ... Selecting previously unselected package libmailtools-perl. Preparing to unpack .../326-libmailtools-perl_2.18-1_all.deb ... Unpacking libmailtools-perl (2.18-1) ... Selecting previously unselected package libmime-tools-perl. Preparing to unpack .../327-libmime-tools-perl_5.509-1_all.deb ... Unpacking libmime-tools-perl (5.509-1) ... Selecting previously unselected package aglfn. Preparing to unpack .../328-aglfn_1.7-3_all.deb ... Unpacking aglfn (1.7-3) ... Selecting previously unselected package gnuplot-data. Preparing to unpack .../329-gnuplot-data_5.2.5+dfsg1-1_all.deb ... Unpacking gnuplot-data (5.2.5+dfsg1-1) ... Selecting previously unselected package libpixman-1-0:amd64. Preparing to unpack .../330-libpixman-1-0_0.34.0-2_amd64.deb ... Unpacking libpixman-1-0:amd64 (0.34.0-2) ... Selecting previously unselected package libcairo2:amd64. Preparing to unpack .../331-libcairo2_1.16.0-1_amd64.deb ... Unpacking libcairo2:amd64 (1.16.0-1) ... Selecting previously unselected package libxpm4:amd64. Preparing to unpack .../332-libxpm4_1%3a3.5.12-1_amd64.deb ... Unpacking libxpm4:amd64 (1:3.5.12-1) ... Selecting previously unselected package libgd3:amd64. Preparing to unpack .../333-libgd3_2.2.5-5_amd64.deb ... Unpacking libgd3:amd64 (2.2.5-5) ... Selecting previously unselected package liblua5.3-0:amd64. Preparing to unpack .../334-liblua5.3-0_5.3.3-1_amd64.deb ... Unpacking liblua5.3-0:amd64 (5.3.3-1) ... Selecting previously unselected package libthai-data. Preparing to unpack .../335-libthai-data_0.1.28-1_all.deb ... Unpacking libthai-data (0.1.28-1) ... Selecting previously unselected package libdatrie1:amd64. Preparing to unpack .../336-libdatrie1_0.2.12-1_amd64.deb ... Unpacking libdatrie1:amd64 (0.2.12-1) ... Selecting previously unselected package libthai0:amd64. Preparing to unpack .../337-libthai0_0.1.28-1_amd64.deb ... Unpacking libthai0:amd64 (0.1.28-1) ... Selecting previously unselected package libpango-1.0-0:amd64. Preparing to unpack .../338-libpango-1.0-0_1.42.4-4_amd64.deb ... Unpacking libpango-1.0-0:amd64 (1.42.4-4) ... Selecting previously unselected package libpangoft2-1.0-0:amd64. Preparing to unpack .../339-libpangoft2-1.0-0_1.42.4-4_amd64.deb ... Unpacking libpangoft2-1.0-0:amd64 (1.42.4-4) ... Selecting previously unselected package libpangocairo-1.0-0:amd64. Preparing to unpack .../340-libpangocairo-1.0-0_1.42.4-4_amd64.deb ... Unpacking libpangocairo-1.0-0:amd64 (1.42.4-4) ... Selecting previously unselected package gnuplot-nox. Preparing to unpack .../341-gnuplot-nox_5.2.5+dfsg1-1_amd64.deb ... Unpacking gnuplot-nox (5.2.5+dfsg1-1) ... Selecting previously unselected package fonts-freefont-otf. Preparing to unpack .../342-fonts-freefont-otf_20120503-8_all.deb ... Unpacking fonts-freefont-otf (20120503-8) ... Selecting previously unselected package dh-octave-autopkgtest. Preparing to unpack .../343-dh-octave-autopkgtest_0.6.1_all.deb ... Unpacking dh-octave-autopkgtest (0.6.1) ... Selecting previously unselected package dh-octave. Preparing to unpack .../344-dh-octave_0.6.1_all.deb ... Unpacking dh-octave (0.6.1) ... Selecting previously unselected package sbuild-build-depends-octave-image-dummy. Preparing to unpack .../345-sbuild-build-depends-octave-image-dummy_0.invalid.0_amd64.deb ... Unpacking sbuild-build-depends-octave-image-dummy (0.invalid.0) ... Setting up libregexp-common-perl (2017060201-1) ... Setting up libhtml-tagset-perl (3.20-3) ... Setting up libpath-tiny-perl (0.108-1) ... Setting up libedit2:amd64 (3.1-20180525-1) ... Setting up libsub-install-perl (0.928-1) ... Setting up libglvnd0:amd64 (1.1.0-1) ... Setting up libopengl0:amd64 (1.1.0-1) ... Setting up libclone-choose-perl (0.010-1) ... Setting up libio-stringy-perl (2.111-2) ... Setting up libcxsparse3:amd64 (1:5.3.0+dfsg-1) ... Setting up libtry-tiny-perl (0.30-1) ... Setting up libgles1:amd64 (1.1.0-1) ... Setting up libaec0:amd64 (1.0.2-1) ... Setting up libexpat1:amd64 (2.2.6-1) ... Setting up liblog-log4perl-perl (1.49-1) ... Setting up libqhull7:amd64 (2015.2-4) ... Setting up libarchive-zip-perl (1.64-1) ... Setting up libwacom-common (0.31-1) ... Setting up libnghttp2-14:amd64 (1.35.0-1) ... Setting up libdouble-conversion1:amd64 (3.1.0-2) ... Setting up libxml-namespacesupport-perl (1.12-1) ... Setting up libicu63:amd64 (63.1-4) ... Setting up libevdev2:amd64 (1.6.0+dfsg-1) ... Setting up libfile-which-perl (1.22-1) ... Setting up libencode-locale-perl (1.05-1) ... Setting up liberror-perl (0.17027-1) ... Setting up libtimedate-perl (2.3000-2) ... Setting up liblcms2-2:amd64 (2.9-3) ... Setting up libjbig0:amd64 (2.1-3.1build1) ... Setting up libsigsegv2:amd64 (2.12-2) ... Setting up libldap-common (2.4.46+dfsg-5ubuntu3) ... Setting up libpthread-stubs0-dev:amd64 (0.3-4) ... Setting up fonts-dejavu-core (2.37-1) ... Setting up libllvm7:amd64 (1:7.0.1~+rc2-7) ... Setting up perl-openssl-defaults:amd64 (3build1) ... Setting up libpsl5:amd64 (0.20.2-2) ... Setting up libfile-homedir-perl (1.004-1) ... Setting up libelf1:amd64 (0.175-1) ... Setting up groff-base (1.22.3-10) ... Setting up libb-hooks-op-check-perl (0.22-1build1) ... Setting up libglib2.0-0:amd64 (2.58.1-2) ... No schema files found: doing nothing. Setting up libasound2-data (1.1.7-1) ... Setting up libxshmfence1:amd64 (1.3-1) ... Setting up xorg-sgml-doctools (1:1.11-1) ... Setting up libcapture-tiny-perl (0.48-1) ... Setting up libio-html-perl (1.001-1) ... Setting up libexporter-tiny-perl (1.002001-1) ... Setting up libtext-unidecode-perl (1.30-1) ... Setting up libwayland-client0:amd64 (1.16.0-1ubuntu1) ... Setting up xkb-data (2.23.1-1ubuntu1.18.10.1) ... Setting up libsasl2-modules-db:amd64 (2.1.27~101-g0780600+dfsg-3ubuntu2) ... Setting up libsasl2-2:amd64 (2.1.27~101-g0780600+dfsg-3ubuntu2) ... Setting up libyaml-perl (1.27-1) ... Setting up libparse-recdescent-perl (1.967015+dfsg-2) ... Setting up libdatrie1:amd64 (0.2.12-1) ... Setting up gettext-base (0.19.8.1-9) ... Setting up fonts-freefont-otf (20120503-8) ... Setting up libjpeg-turbo8:amd64 (2.0.0-0ubuntu2) ... Setting up libpipeline1:amd64 (1.5.0-2) ... Setting up libroken18-heimdal:amd64 (7.5.0+dfsg-2.1) ... Setting up libglapi-mesa:amd64 (18.2.2-0ubuntu1) ... Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2) ... Setting up m4 (1.4.18-1ubuntu1) ... Setting up libfftw3-double3:amd64 (3.3.8-2) ... Setting up libbsd0:amd64 (0.9.1-1) ... Setting up libpod-pom-perl (2.01-1) ... Setting up libyaml-tiny-perl (1.73-1) ... Setting up libkrb5support0:amd64 (1.16.1-1ubuntu1) ... Setting up ucf (3.0038) ... Setting up libxml2:amd64 (2.9.4+dfsg1-7ubuntu3) ... Setting up libdynaloader-functions-perl (0.003-1) ... Setting up x11proto-dev (2018.4-4) ... Setting up libfreetype6:amd64 (2.8.1-2ubuntu2) ... Setting up libmagic-mgc (1:5.34-2) ... Setting up libasound2:amd64 (1.1.7-1) ... Setting up libmagic1:amd64 (1:5.34-2) ... Setting up libdrm-common (2.4.95-1) ... Setting up libgraphite2-3:amd64 (1.3.12-1) ... Setting up libcroco3:amd64 (0.6.12-2) ... Setting up libogg0:amd64 (1.3.2-1) ... Setting up libfftw3-quad3:amd64 (3.3.8-2) ... Setting up libexporter-lite-perl (0.08-1) ... Setting up libxml-sax-base-perl (1.09-1) ... Setting up x11proto-damage-dev (1:2018.4-4) ... Setting up libx11-xcb1:amd64 (2:1.6.7-1) ... Setting up libpixman-1-0:amd64 (0.34.0-2) ... Setting up xtrans-dev (1.3.5-1) ... Setting up libblas3:amd64 (3.8.0-1build1) ... update-alternatives: using /usr/lib/x86_64-linux-gnu/blas/libblas.so.3 to provide /usr/lib/x86_64-linux-gnu/libblas.so.3 (libblas.so.3-x86_64-linux-gnu) in auto mode Setting up x11proto-xext-dev (2018.4-4) ... Setting up libjpeg-turbo8-dev:amd64 (2.0.0-0ubuntu2) ... Setting up liblwp-mediatypes-perl (6.02-1) ... Processing triggers for libc-bin (2.28-0ubuntu1) ... Setting up dwz (0.12-2) ... Setting up libhash-merge-perl (0.300-1) ... Setting up autotools-dev (20180224.1) ... Setting up liburi-perl (1.74-1) ... Setting up libio-tiecombine-perl (1.005-1) ... Setting up libheimbase1-heimdal:amd64 (7.5.0+dfsg-2.1) ... Setting up libsuitesparseconfig5:amd64 (1:5.3.0+dfsg-1) ... Setting up libmetis5:amd64 (5.1.0.dfsg-5) ... Processing triggers for systemd (239-7ubuntu12) ... Setting up libltdl7:amd64 (2.4.6-6) ... Setting up libhtml-parser-perl (3.72-3build2) ... Setting up libmtdev1:amd64 (1.1.5-1ubuntu3) ... Setting up libmouse-perl (2.5.6-1build1) ... Setting up libcolamd2:amd64 (1:5.3.0+dfsg-1) ... Setting up libfribidi0:amd64 (1.0.5-3) ... Setting up libpciaccess0:amd64 (0.14-1) ... Setting up libccolamd2:amd64 (1:5.3.0+dfsg-1) ... Setting up libfftw3-single3:amd64 (3.3.8-2) ... Setting up libsensors4:amd64 (1:3.4.0-4) ... Setting up libgles2:amd64 (1.1.0-1) ... Setting up libxkbcommon0:amd64 (0.8.2-1) ... Setting up octave-common (4.4.1-2) ... Setting up libnet-http-perl (6.18-1) ... Setting up libgudev-1.0-0:amd64 (1:232-2) ... Setting up libqscintilla2-qt5-l10n (2.10.4+dfsg-1build2) ... Setting up aglfn (1.7-3) ... Setting up libthai-data (0.1.28-1) ... Setting up libxdmcp6:amd64 (1:1.1.2-3) ... Setting up libkeyutils1:amd64 (1.5.9-9.3) ... Setting up bsdmainutils (11.1.2ubuntu2) ... update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode Setting up libconvert-binhex-perl (1.125-1) ... Setting up libsamplerate0:amd64 (0.1.9-2) ... Setting up libjson-perl (2.97001-1) ... Setting up libparams-util-perl (1.07-3build4) ... Setting up libvorbis0a:amd64 (1.3.6-1) ... Setting up x11-common (1:7.7+19ubuntu8) ... update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults Running in chroot, ignoring request. invoke-rc.d: policy-rc.d denied execution of start. Setting up liblua5.3-0:amd64 (5.3.3-1) ... Setting up libfftw3-long3:amd64 (3.3.8-2) ... Setting up libncurses-dev:amd64 (6.1+20180210-4ubuntu1) ... Setting up libgfortran5:amd64 (8.2.0-10ubuntu1) ... Setting up libglvnd-core-dev:amd64 (1.1.0-1) ... Setting up libpcre2-16-0:amd64 (10.32-3) ... Setting up hdf5-helpers (1.10.0-patch1+docs-4build2) ... Setting up libwww-robotrules-perl (6.02-1) ... Setting up libcarp-assert-perl (0.21-1) ... Setting up libx11-data (2:1.6.7-1) ... Setting up libxau6:amd64 (1:1.0.8-1) ... Setting up autopoint (0.19.8.1-9) ... Setting up libdbus-1-3:amd64 (1.12.10-1ubuntu2) ... Setting up libavahi-common-data:amd64 (0.7-4ubuntu3) ... Setting up libmodule-pluggable-perl (5.2-1) ... Setting up libsz2:amd64 (1.0.2-1) ... Setting up libwayland-server0:amd64 (1.16.0-1ubuntu1) ... Setting up netbase (5.5) ... Setting up libwebp6:amd64 (0.6.1-2) ... Setting up zlib1g-dev:amd64 (1:1.2.11.dfsg-0ubuntu2) ... Setting up libfile-stripnondeterminism-perl (0.45.0-1) ... Setting up libxml-sax-perl (1.00+dfsg-1.1~build1) ... update-perl-sax-parsers: Registering Perl SAX parser XML::SAX::PurePerl with priority 10... update-perl-sax-parsers: Updating overall Perl SAX parser modules info file... Creating config file /etc/perl/XML/SAX/ParserDetails.ini with new version Setting up libjpeg8:amd64 (8c-2ubuntu8) ... Setting up liblist-moreutils-perl (0.416-1build4) ... Setting up libqt5core5a:amd64 (5.11.2+dfsg-7ubuntu2) ... Setting up libdata-optlist-perl (0.110-1) ... Setting up libk5crypto3:amd64 (1.16.1-1ubuntu1) ... Setting up libqt5dbus5:amd64 (5.11.2+dfsg-7ubuntu2) ... Setting up libfftw3-bin (3.3.8-2) ... Setting up fontconfig-config (2.13.0-5ubuntu3) ... Setting up libhttp-date-perl (6.02-1) ... Setting up libmousex-nativetraits-perl (1.09-2) ... Setting up libqt5network5:amd64 (5.11.2+dfsg-7ubuntu2) ... Setting up tex-common (6.10) ... update-language: texlive-base not installed and configured, doing nothing! Setting up x11proto-core-dev (2018.4-4) ... Setting up libwacom2:amd64 (0.31-1) ... Setting up libhdf5-100:amd64 (1.10.0-patch1+docs-4build2) ... Setting up libwind0-heimdal:amd64 (7.5.0+dfsg-2.1) ... Setting up libmousex-strictconstructor-perl (0.02-2) ... Setting up libxshmfence-dev:amd64 (1.3-1) ... Setting up gettext (0.19.8.1-9) ... Setting up libblas-dev:amd64 (3.8.0-1build1) ... update-alternatives: using /usr/lib/x86_64-linux-gnu/blas/libblas.so to provide /usr/lib/x86_64-linux-gnu/libblas.so (libblas.so-x86_64-linux-gnu) in auto mode Setting up libnet-ssleay-perl (1.85-2ubuntu3) ... Setting up libasn1-8-heimdal:amd64 (7.5.0+dfsg-2.1) ... Setting up liblapack3:amd64 (3.8.0-1build1) ... update-alternatives: using /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/x86_64-linux-gnu/liblapack.so.3 (liblapack.so.3-x86_64-linux-gnu) in auto mode Setting up libdevel-callchecker-perl (0.007-2build2) ... Setting up x11proto-fixes-dev (1:2018.4-4) ... Setting up libcarp-assert-more-perl (1.16-1) ... Setting up libcamd2:amd64 (1:5.3.0+dfsg-1) ... Setting up libhcrypto4-heimdal:amd64 (7.5.0+dfsg-2.1) ... Setting up libflac8:amd64 (1.3.2-3) ... Setting up libaec-dev:amd64 (1.0.2-1) ... Setting up libharfbuzz0b:amd64 (2.1.1-1build1) ... Setting up libtiff5:amd64 (4.0.10-3) ... Setting up x11proto-xf86vidmode-dev (2018.4-4) ... Setting up libxau-dev:amd64 (1:1.0.8-1) ... Setting up autoconf (2.69-11) ... Setting up libthai0:amd64 (0.1.28-1) ... Setting up file (1:5.34-2) ... Setting up gnuplot-data (5.2.5+dfsg1-1) ... Setting up libinput-bin (1.12.1-1) ... Setting up libhx509-5-heimdal:amd64 (7.5.0+dfsg-2.1) ... Setting up libio-socket-ssl-perl (2.060-3) ... Setting up libhtml-tree-perl (5.07-1) ... Setting up libdrm2:amd64 (2.4.95-1) ... Setting up libqrupdate1:amd64 (1.1.2-3) ... Setting up libsub-exporter-perl (0.987-1) ... Setting up intltool-debian (0.35.0+20060710.4) ... Setting up libamd2:amd64 (1:5.3.0+dfsg-1) ... Setting up libdrm-intel1:amd64 (2.4.95-1) ... Setting up libstring-rewriteprefix-perl (0.007-2) ... Setting up libxdmcp-dev:amd64 (1:1.1.2-3) ... Setting up libjpeg8-dev:amd64 (8c-2ubuntu8) ... Setting up libjpeg-dev:amd64 (8c-2ubuntu8) ... Setting up libwebpmux3:amd64 (0.6.1-2) ... Setting up libfftw3-dev:amd64 (3.3.8-2) ... Setting up automake (1:1.16.1-4) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libqt5sql5:amd64 (5.11.2+dfsg-7ubuntu2) ... Setting up libreadline-dev:amd64 (7.0-5) ... Setting up libjack-jackd2-0:amd64 (1.9.12~dfsg-2) ... Setting up libice6:amd64 (2:1.0.9-2) ... Setting up libfile-listing-perl (6.04-1) ... Setting up libarpack2:amd64 (3.6.3-1) ... Setting up man-db (2.8.4-3) ... Not building database; man-db/auto-update is not 'true'. Setting up libhttp-message-perl (6.18-1) ... Setting up libkrb5-3:amd64 (1.16.1-1ubuntu1) ... Setting up libavahi-common3:amd64 (0.7-4ubuntu3) ... Setting up libdrm-radeon1:amd64 (2.4.95-1) ... Setting up libxml-libxml-perl (2.0132+dfsg-2build1) ... update-perl-sax-parsers: Registering Perl SAX parser XML::LibXML::SAX::Parser with priority 50... update-perl-sax-parsers: Registering Perl SAX parser XML::LibXML::SAX with priority 50... update-perl-sax-parsers: Updating overall Perl SAX parser modules info file... Replacing config file /etc/perl/XML/SAX/ParserDetails.ini with new version Setting up libkrb5-26-heimdal:amd64 (7.5.0+dfsg-2.1) ... Setting up libvorbisenc2:amd64 (1.3.6-1) ... Setting up libdrm-nouveau2:amd64 (2.4.95-1) ... Setting up libgfortran-8-dev:amd64 (8.2.0-10ubuntu1) ... Setting up libparams-classify-perl (0.015-1build1) ... Setting up libxcb1:amd64 (1.13.1-1) ... Setting up libheimntlm0-heimdal:amd64 (7.5.0+dfsg-2.1) ... Setting up libhttp-negotiate-perl (6.01-1) ... Setting up libxcb-xkb1:amd64 (1.13.1-1) ... Setting up liblapack-dev:amd64 (3.8.0-1build1) ... update-alternatives: using /usr/lib/x86_64-linux-gnu/lapack/liblapack.so to provide /usr/lib/x86_64-linux-gnu/liblapack.so (liblapack.so-x86_64-linux-gnu) in auto mode Setting up libtool (2.4.6-6) ... Setting up libxcb-xinerama0:amd64 (1.13.1-1) ... Setting up libxcb-present0:amd64 (1.13.1-1) ... Setting up libfontconfig1:amd64 (2.13.0-5ubuntu3) ... Setting up libxcb-dri2-0:amd64 (1.13.1-1) ... Setting up libsm6:amd64 (2:1.2.2-1) ... Setting up libxcb-dri3-0:amd64 (1.13.1-1) ... Setting up libxcb-glx0:amd64 (1.13.1-1) ... Setting up libxcb-randr0:amd64 (1.13.1-1) ... Setting up libhdf5-cpp-100:amd64 (1.10.0-patch1+docs-4build2) ... Setting up libxcb-xfixes0:amd64 (1.13.1-1) ... Setting up libxcb-icccm4:amd64 (0.4.1-1ubuntu1) ... Setting up libxcb-render0:amd64 (1.13.1-1) ... Setting up libnet-smtp-ssl-perl (1.04-1) ... Setting up libportaudio2:amd64 (19.6.0-1) ... Setting up libconfig-model-perl (2.127-1) ... Setting up libglpk40:amd64 (4.65-2) ... Setting up po-debconf (1.0.21) ... Setting up libdrm-amdgpu1:amd64 (2.4.95-1) ... Setting up libhttp-cookies-perl (6.04-1) ... Setting up libmodule-runtime-perl (0.016-1) ... Setting up gfortran-8 (8.2.0-10ubuntu1) ... Setting up libdrm-dev:amd64 (2.4.95-1) ... Setting up libgbm1:amd64 (18.2.2-0ubuntu1) ... Setting up libx11-6:amd64 (2:1.6.7-1) ... Setting up libinput10:amd64 (1.12.1-1) ... Setting up libgl1-mesa-dri:amd64 (18.2.2-0ubuntu1) ... Setting up libhdf5-dev (1.10.0-patch1+docs-4build2) ... update-alternatives: using /usr/lib/x86_64-linux-gnu/pkgconfig/hdf5-serial.pc to provide /usr/lib/x86_64-linux-gnu/pkgconfig/hdf5.pc (hdf5.pc) in auto mode Setting up libxcb-util1:amd64 (0.4.0-0ubuntu3) ... Setting up libxkbcommon-x11-0:amd64 (0.8.2-1) ... Setting up libcholmod3:amd64 (1:5.3.0+dfsg-1) ... Setting up libxcb-sync1:amd64 (1.13.1-1) ... Setting up libgssapi-krb5-2:amd64 (1.16.1-1ubuntu1) ... Setting up libsndfile1:amd64 (1.0.28-4) ... Setting up libxcb-shm0:amd64 (1.13.1-1) ... Setting up libxpm4:amd64 (1:3.5.12-1) ... Setting up libxcb-shape0:amd64 (1.13.1-1) ... Setting up libxrender1:amd64 (1:0.9.10-1) ... Setting up libxcb1-dev:amd64 (1.13.1-1) ... Setting up libxcb-glx0-dev:amd64 (1.13.1-1) ... Setting up libavahi-client3:amd64 (0.7-4ubuntu3) ... Setting up libxcb-keysyms1:amd64 (0.4.0-1) ... Setting up libegl-mesa0:amd64 (18.2.2-0ubuntu1) ... Setting up texinfo (6.5.0.dfsg.1-4build1) ... Setting up libx11-dev:amd64 (2:1.6.7-1) ... Setting up libxft2:amd64 (2.3.2-2) ... Setting up libgssapi3-heimdal:amd64 (7.5.0+dfsg-2.1) ... Setting up libwmf0.2-7:amd64 (0.2.8.4-14) ... Setting up libxcb-sync-dev:amd64 (1.13.1-1) ... Setting up fontconfig (2.13.0-5ubuntu3) ... Regenerating fonts cache... done. Setting up libcups2:amd64 (2.2.9-2) ... Setting up gfortran (4:8.2.0-2ubuntu2) ... update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f95 (f95) in auto mode update-alternatives: using /usr/bin/gfortran to provide /usr/bin/f77 (f77) in auto mode Setting up libx11-xcb-dev:amd64 (2:1.6.7-1) ... Setting up libxcb-render-util0:amd64 (0.3.9-1) ... Setting up libmailtools-perl (2.18-1) ... Setting up libxdamage1:amd64 (1:1.1.4-3) ... Setting up libxcb-image0:amd64 (0.4.0-1build1) ... Setting up mesa-common-dev:amd64 (18.2.2-0ubuntu1) ... Setting up libxext6:amd64 (2:1.3.3-1) ... Setting up libmodule-implementation-perl (0.09-1) ... Setting up libxfixes3:amd64 (1:5.0.3-1) ... Setting up libgd3:amd64 (2.2.5-5) ... Setting up libumfpack5:amd64 (1:5.3.0+dfsg-1) ... Setting up libgraphicsmagick-q16-3 (1.3.31-1) ... Setting up libparams-validate-perl (1.29-1build1) ... Setting up libxcb-dri2-0-dev:amd64 (1.13.1-1) ... Setting up libxcb-render0-dev:amd64 (1.13.1-1) ... Setting up libegl1:amd64 (1.1.0-1) ... Setting up libxcb-dri3-dev:amd64 (1.13.1-1) ... Setting up libxcursor1:amd64 (1:1.1.15-2) ... Setting up libldap-2.4-2:amd64 (2.4.46+dfsg-5ubuntu3) ... Setting up libxext-dev:amd64 (2:1.3.3-1) ... Setting up libpango-1.0-0:amd64 (1.42.4-4) ... Setting up libxcb-shape0-dev:amd64 (1.13.1-1) ... Setting up libxxf86vm1:amd64 (1:1.1.4-1) ... Setting up libxxf86vm-dev:amd64 (1:1.1.4-1) ... Setting up libxfixes-dev:amd64 (1:5.0.3-1) ... Setting up libglx-mesa0:amd64 (18.2.2-0ubuntu1) ... Setting up libmime-tools-perl (5.509-1) ... Setting up libpackage-stash-perl (0.37-1) ... Setting up libxi6:amd64 (2:1.7.9-1) ... Setting up libgraphicsmagick++-q16-12 (1.3.31-1) ... Setting up libcairo2:amd64 (1.16.0-1) ... Setting up libxinerama1:amd64 (2:1.1.4-1) ... Setting up libxcb-randr0-dev:amd64 (1.13.1-1) ... Setting up libgetopt-long-descriptive-perl (0.103-2) ... Setting up libxcb-xfixes0-dev:amd64 (1.13.1-1) ... Setting up libcurl3-gnutls:amd64 (7.61.0-1ubuntu2.2) ... Setting up libxdamage-dev:amd64 (1:1.1.4-3) ... Setting up libclass-load-perl (0.25-1) ... Setting up libpangoft2-1.0-0:amd64 (1.42.4-4) ... Setting up libfltk1.3:amd64 (1.3.4-7) ... Setting up libxcb-present-dev:amd64 (1.13.1-1) ... Setting up libglx0:amd64 (1.1.0-1) ... Setting up libapp-cmd-perl (0.331-1) ... Setting up cme (1.029-1) ... Setting up libpangocairo-1.0-0:amd64 (1.42.4-4) ... Setting up gnuplot-nox (5.2.5+dfsg1-1) ... update-alternatives: using /usr/bin/gnuplot-nox to provide /usr/bin/gnuplot (gnuplot) in auto mode Setting up libgl1:amd64 (1.1.0-1) ... Setting up libglu1-mesa:amd64 (9.0.0-2.1build1) ... Setting up libgl2ps1.4 (1.4.0+dfsg1-2) ... Setting up dh-octave-autopkgtest (0.6.1) ... Setting up libfltk-gl1.3:amd64 (1.3.4-7) ... Setting up libglvnd-dev:amd64 (1.1.0-1) ... Setting up libgl1-mesa-dev:amd64 (18.2.2-0ubuntu1) ... Setting up libqt5gui5:amd64 (5.11.2+dfsg-7ubuntu2) ... Setting up liboctave6:amd64 (4.4.1-2) ... Setting up libqt5widgets5:amd64 (5.11.2+dfsg-7ubuntu2) ... Setting up libqt5printsupport5:amd64 (5.11.2+dfsg-7ubuntu2) ... Setting up libqt5help5:amd64 (5.11.2-5) ... Setting up libqscintilla2-qt5-13 (2.10.4+dfsg-1build2) ... Setting up octave (4.4.1-2) ... Setting up liboctave-dev (4.4.1-2) ... Setting up dh-autoreconf (19) ... Setting up liblwp-protocol-https-perl (6.07-2) ... Setting up dh-strip-nondeterminism (0.45.0-1) ... Setting up libwww-perl (6.36-1) ... Setting up debhelper (11.3.2ubuntu1) ... Setting up libparse-debcontrol-perl (2.005-4) ... Setting up dh-octave (0.6.1) ... Setting up sbuild-build-depends-octave-image-dummy (0.invalid.0) ... Processing triggers for libc-bin (2.28-0ubuntu1) ... Processing triggers for systemd (239-7ubuntu12) ... +------------------------------------------------------------------------------+ | Build environment | +------------------------------------------------------------------------------+ Kernel: Linux 4.4.0-139-generic amd64 (x86_64) Toolchain package versions: binutils_2.31.1-8ubuntu1 dpkg-dev_1.19.0.5ubuntu5 g++-8_8.2.0-10ubuntu1 gcc-8_8.2.0-10ubuntu1 libc6-dev_2.28-0ubuntu1 libstdc++-8-dev_8.2.0-10ubuntu1 libstdc++6_8.2.0-10ubuntu1 linux-libc-dev_4.18.0-12.13 Package versions: adduser_3.117ubuntu1 advancecomp_2.1-1 aglfn_1.7-3 apt_1.8.0~alpha2ubuntu1 autoconf_2.69-11 automake_1:1.16.1-4 autopoint_0.19.8.1-9 autotools-dev_20180224.1 base-files_10.1ubuntu8 base-passwd_3.5.45 bash_4.4.18-2ubuntu3 binutils_2.31.1-8ubuntu1 binutils-common_2.31.1-8ubuntu1 binutils-x86-64-linux-gnu_2.31.1-8ubuntu1 bsdmainutils_11.1.2ubuntu2 bsdutils_1:2.32-0.1ubuntu2 build-essential_12.5ubuntu2 bzip2_1.0.6-9 ca-certificates_20180409 cme_1.029-1 coreutils_8.28-1ubuntu2 cpp_4:8.2.0-2ubuntu2 cpp-8_8.2.0-10ubuntu1 dash_0.5.10.2-1 debconf_1.5.69 debhelper_11.3.2ubuntu1 debianutils_4.8.6 dh-autoreconf_19 dh-octave_0.6.1 dh-octave-autopkgtest_0.6.1 dh-strip-nondeterminism_0.45.0-1 diffutils_1:3.6-1 dmsetup_2:1.02.145-4.1ubuntu4 dpkg_1.19.0.5ubuntu5 dpkg-dev_1.19.0.5ubuntu5 dwz_0.12-2 e2fslibs_1.44.4-2 e2fsprogs_1.44.4-2 fakeroot_1.23-1 fdisk_2.32-0.1ubuntu2 file_1:5.34-2 findutils_4.6.0+git+20181018-1 fontconfig_2.13.0-5ubuntu3 fontconfig-config_2.13.0-5ubuntu3 fonts-dejavu-core_2.37-1 fonts-freefont-otf_20120503-8 g++_4:8.2.0-2ubuntu2 g++-8_8.2.0-10ubuntu1 gcc_4:8.2.0-2ubuntu2 gcc-8_8.2.0-10ubuntu1 gcc-8-base_8.2.0-10ubuntu1 gettext_0.19.8.1-9 gettext-base_0.19.8.1-9 gfortran_4:8.2.0-2ubuntu2 gfortran-8_8.2.0-10ubuntu1 gnuplot-data_5.2.5+dfsg1-1 gnuplot-nox_5.2.5+dfsg1-1 gpg_2.2.8-3ubuntu1 gpg-agent_2.2.8-3ubuntu1 gpgconf_2.2.8-3ubuntu1 gpgv_2.2.8-3ubuntu1 grep_3.1-2ubuntu1 groff-base_1.22.3-10 gzip_1.6-5ubuntu2 hdf5-helpers_1.10.0-patch1+docs-4build2 hostname_3.21 init_1.56 init-system-helpers_1.56 initscripts_2.88dsf-59.3ubuntu2 insserv_1.14.0-5ubuntu3 intltool-debian_0.35.0+20060710.4 libacl1_2.2.52-3build1 libaec-dev_1.0.2-1 libaec0_1.0.2-1 libamd2_1:5.3.0+dfsg-1 libapp-cmd-perl_0.331-1 libapparmor1_2.12-4ubuntu10 libapt-pkg5.0_1.8.0~alpha2ubuntu1 libarchive-zip-perl_1.64-1 libargon2-1_0~20171227-0.1 libarpack2_3.6.3-1 libasan5_8.2.0-10ubuntu1 libasn1-8-heimdal_7.5.0+dfsg-2.1 libasound2_1.1.7-1 libasound2-data_1.1.7-1 libassuan0_2.5.1-2 libatomic1_8.2.0-10ubuntu1 libattr1_1:2.4.47-2build1 libaudit-common_1:2.8.3-1ubuntu3 libaudit1_1:2.8.3-1ubuntu3 libavahi-client3_0.7-4ubuntu3 libavahi-common-data_0.7-4ubuntu3 libavahi-common3_0.7-4ubuntu3 libb-hooks-op-check-perl_0.22-1build1 libbinutils_2.31.1-8ubuntu1 libblas-dev_3.8.0-1build1 libblas3_3.8.0-1build1 libblkid1_2.32-0.1ubuntu2 libbsd0_0.9.1-1 libbz2-1.0_1.0.6-9 libc-bin_2.28-0ubuntu1 libc-dev-bin_2.28-0ubuntu1 libc6_2.28-0ubuntu1 libc6-dev_2.28-0ubuntu1 libcairo2_1.16.0-1 libcamd2_1:5.3.0+dfsg-1 libcap-ng0_0.7.9-1build1 libcap2_1:2.25-1.2 libcapture-tiny-perl_0.48-1 libcarp-assert-more-perl_1.16-1 libcarp-assert-perl_0.21-1 libcc1-0_8.2.0-10ubuntu1 libccolamd2_1:5.3.0+dfsg-1 libcholmod3_1:5.3.0+dfsg-1 libclass-load-perl_0.25-1 libclone-choose-perl_0.010-1 libcolamd2_1:5.3.0+dfsg-1 libcom-err2_1.44.4-2 libcomerr2_1.44.4-2 libconfig-model-perl_2.127-1 libconvert-binhex-perl_1.125-1 libcroco3_0.6.12-2 libcryptsetup12_2:2.0.4-2ubuntu2 libcups2_2.2.9-2 libcurl3-gnutls_7.61.0-1ubuntu2.2 libcxsparse3_1:5.3.0+dfsg-1 libdata-optlist-perl_0.110-1 libdatrie1_0.2.12-1 libdb5.3_5.3.28+dfsg1-0.2 libdbus-1-3_1.12.10-1ubuntu2 libdebconfclient0_0.244ubuntu1 libdevel-callchecker-perl_0.007-2build2 libdevmapper1.02.1_2:1.02.145-4.1ubuntu4 libdouble-conversion1_3.1.0-2 libdpkg-perl_1.19.0.5ubuntu5 libdrm-amdgpu1_2.4.95-1 libdrm-common_2.4.95-1 libdrm-dev_2.4.95-1 libdrm-intel1_2.4.95-1 libdrm-nouveau2_2.4.95-1 libdrm-radeon1_2.4.95-1 libdrm2_2.4.95-1 libdynaloader-functions-perl_0.003-1 libedit2_3.1-20180525-1 libegl-mesa0_18.2.2-0ubuntu1 libegl1_1.1.0-1 libelf1_0.175-1 libencode-locale-perl_1.05-1 liberror-perl_0.17027-1 libevdev2_1.6.0+dfsg-1 libexpat1_2.2.6-1 libexporter-lite-perl_0.08-1 libexporter-tiny-perl_1.002001-1 libext2fs2_1.44.4-2 libfakeroot_1.23-1 libfdisk1_2.32-0.1ubuntu2 libffi6_3.2.1-8 libfftw3-bin_3.3.8-2 libfftw3-dev_3.3.8-2 libfftw3-double3_3.3.8-2 libfftw3-long3_3.3.8-2 libfftw3-quad3_3.3.8-2 libfftw3-single3_3.3.8-2 libfile-homedir-perl_1.004-1 libfile-listing-perl_6.04-1 libfile-stripnondeterminism-perl_0.45.0-1 libfile-which-perl_1.22-1 libflac8_1.3.2-3 libfltk-gl1.3_1.3.4-7 libfltk1.3_1.3.4-7 libfontconfig1_2.13.0-5ubuntu3 libfreetype6_2.8.1-2ubuntu2 libfribidi0_1.0.5-3 libgbm1_18.2.2-0ubuntu1 libgcc-8-dev_8.2.0-10ubuntu1 libgcc1_1:8.2.0-10ubuntu1 libgcrypt20_1.8.4-3ubuntu1 libgd3_2.2.5-5 libgdbm-compat4_1.18.1-2 libgdbm5_1.14.1-6 libgdbm6_1.18.1-2 libgetopt-long-descriptive-perl_0.103-2 libgfortran-8-dev_8.2.0-10ubuntu1 libgfortran5_8.2.0-10ubuntu1 libgl1_1.1.0-1 libgl1-mesa-dev_18.2.2-0ubuntu1 libgl1-mesa-dri_18.2.2-0ubuntu1 libgl2ps1.4_1.4.0+dfsg1-2 libglapi-mesa_18.2.2-0ubuntu1 libgles1_1.1.0-1 libgles2_1.1.0-1 libglib2.0-0_2.58.1-2 libglpk40_4.65-2 libglu1-mesa_9.0.0-2.1build1 libglvnd-core-dev_1.1.0-1 libglvnd-dev_1.1.0-1 libglvnd0_1.1.0-1 libglx-mesa0_18.2.2-0ubuntu1 libglx0_1.1.0-1 libgmp10_2:6.1.2+dfsg-3 libgnutls30_3.6.4-2ubuntu2 libgomp1_8.2.0-10ubuntu1 libgpg-error0_1.32-3 libgraphicsmagick++-q16-12_1.3.31-1 libgraphicsmagick-q16-3_1.3.31-1 libgraphite2-3_1.3.12-1 libgssapi-krb5-2_1.16.1-1ubuntu1 libgssapi3-heimdal_7.5.0+dfsg-2.1 libgudev-1.0-0_1:232-2 libharfbuzz0b_2.1.1-1build1 libhash-merge-perl_0.300-1 libhcrypto4-heimdal_7.5.0+dfsg-2.1 libhdf5-100_1.10.0-patch1+docs-4build2 libhdf5-cpp-100_1.10.0-patch1+docs-4build2 libhdf5-dev_1.10.0-patch1+docs-4build2 libheimbase1-heimdal_7.5.0+dfsg-2.1 libheimntlm0-heimdal_7.5.0+dfsg-2.1 libhogweed4_3.4-1 libhtml-parser-perl_3.72-3build2 libhtml-tagset-perl_3.20-3 libhtml-tree-perl_5.07-1 libhttp-cookies-perl_6.04-1 libhttp-date-perl_6.02-1 libhttp-message-perl_6.18-1 libhttp-negotiate-perl_6.01-1 libhx509-5-heimdal_7.5.0+dfsg-2.1 libice6_2:1.0.9-2 libicu63_63.1-4 libidn11_1.33-2.2ubuntu1 libidn2-0_2.0.5-1 libinput-bin_1.12.1-1 libinput10_1.12.1-1 libio-html-perl_1.001-1 libio-socket-ssl-perl_2.060-3 libio-stringy-perl_2.111-2 libio-tiecombine-perl_1.005-1 libip4tc0_1.6.1-2ubuntu2 libisl19_0.20-2 libitm1_8.2.0-10ubuntu1 libjack-jackd2-0_1.9.12~dfsg-2 libjbig0_2.1-3.1build1 libjpeg-dev_8c-2ubuntu8 libjpeg-turbo8_2.0.0-0ubuntu2 libjpeg-turbo8-dev_2.0.0-0ubuntu2 libjpeg8_8c-2ubuntu8 libjpeg8-dev_8c-2ubuntu8 libjson-c3_0.12.1-1.3 libjson-perl_2.97001-1 libk5crypto3_1.16.1-1ubuntu1 libkeyutils1_1.5.9-9.3 libkmod2_25-1ubuntu2 libkrb5-26-heimdal_7.5.0+dfsg-2.1 libkrb5-3_1.16.1-1ubuntu1 libkrb5support0_1.16.1-1ubuntu1 liblapack-dev_3.8.0-1build1 liblapack3_3.8.0-1build1 liblcms2-2_2.9-3 libldap-2.4-2_2.4.46+dfsg-5ubuntu3 libldap-common_2.4.46+dfsg-5ubuntu3 liblist-moreutils-perl_0.416-1build4 libllvm7_1:7.0.1~+rc2-7 liblockfile-bin_1.14-1.1 liblockfile1_1.14-1.1 liblog-log4perl-perl_1.49-1 liblsan0_8.2.0-10ubuntu1 libltdl7_2.4.6-6 liblua5.3-0_5.3.3-1 liblwp-mediatypes-perl_6.02-1 liblwp-protocol-https-perl_6.07-2 liblz4-1_1.8.2-1ubuntu1 liblzma5_5.2.2-1.3 libmagic-mgc_1:5.34-2 libmagic1_1:5.34-2 libmailtools-perl_2.18-1 libmetis5_5.1.0.dfsg-5 libmime-tools-perl_5.509-1 libmodule-implementation-perl_0.09-1 libmodule-pluggable-perl_5.2-1 libmodule-runtime-perl_0.016-1 libmount1_2.32-0.1ubuntu2 libmouse-perl_2.5.6-1build1 libmousex-nativetraits-perl_1.09-2 libmousex-strictconstructor-perl_0.02-2 libmpc3_1.1.0-1 libmpfr6_4.0.1-1 libmpx2_8.2.0-10ubuntu1 libmtdev1_1.1.5-1ubuntu3 libncurses-dev_6.1+20180210-4ubuntu1 libncurses6_6.1+20180210-4ubuntu1 libncursesw6_6.1+20180210-4ubuntu1 libnet-http-perl_6.18-1 libnet-smtp-ssl-perl_1.04-1 libnet-ssleay-perl_1.85-2ubuntu3 libnettle6_3.4-1 libnghttp2-14_1.35.0-1 libnpth0_1.6-1 liboctave-dev_4.4.1-2 liboctave6_4.4.1-2 libogg0_1.3.2-1 libopengl0_1.1.0-1 libp11-kit0_0.23.14-2 libpackage-stash-perl_0.37-1 libpam-modules_1.1.8-3.6ubuntu2 libpam-modules-bin_1.1.8-3.6ubuntu2 libpam-runtime_1.1.8-3.6ubuntu2 libpam0g_1.1.8-3.6ubuntu2 libpango-1.0-0_1.42.4-4 libpangocairo-1.0-0_1.42.4-4 libpangoft2-1.0-0_1.42.4-4 libparams-classify-perl_0.015-1build1 libparams-util-perl_1.07-3build4 libparams-validate-perl_1.29-1build1 libparse-debcontrol-perl_2.005-4 libparse-recdescent-perl_1.967015+dfsg-2 libpath-tiny-perl_0.108-1 libpciaccess0_0.14-1 libpcre2-16-0_10.32-3 libpcre3_2:8.39-11 libperl5.26_5.26.2-7 libperl5.28_5.28.0-4 libpipeline1_1.5.0-2 libpixman-1-0_0.34.0-2 libpng16-16_1.6.34-2 libpod-pom-perl_2.01-1 libportaudio2_19.6.0-1 libprocps7_2:3.3.15-2ubuntu1 libpsl5_0.20.2-2 libpthread-stubs0-dev_0.3-4 libqhull7_2015.2-4 libqrupdate1_1.1.2-3 libqscintilla2-qt5-13_2.10.4+dfsg-1build2 libqscintilla2-qt5-l10n_2.10.4+dfsg-1build2 libqt5core5a_5.11.2+dfsg-7ubuntu2 libqt5dbus5_5.11.2+dfsg-7ubuntu2 libqt5gui5_5.11.2+dfsg-7ubuntu2 libqt5help5_5.11.2-5 libqt5network5_5.11.2+dfsg-7ubuntu2 libqt5printsupport5_5.11.2+dfsg-7ubuntu2 libqt5sql5_5.11.2+dfsg-7ubuntu2 libqt5widgets5_5.11.2+dfsg-7ubuntu2 libquadmath0_8.2.0-10ubuntu1 libreadline-dev_7.0-5 libreadline7_7.0-5 libregexp-common-perl_2017060201-1 libroken18-heimdal_7.5.0+dfsg-2.1 librtmp1_2.4+20151223.gitfa8646d.1-2 libsamplerate0_0.1.9-2 libsasl2-2_2.1.27~101-g0780600+dfsg-3ubuntu2 libsasl2-modules-db_2.1.27~101-g0780600+dfsg-3ubuntu2 libseccomp2_2.3.3-3ubuntu2 libselinux1_2.8-1build2 libsemanage-common_2.8-1build2 libsemanage1_2.8-1build2 libsensors4_1:3.4.0-4 libsepol1_2.8-1 libsigsegv2_2.12-2 libslang2_2.3.2-1ubuntu1 libsm6_2:1.2.2-1 libsmartcols1_2.32-0.1ubuntu2 libsndfile1_1.0.28-4 libsqlite3-0_3.25.3-2 libss2_1.44.4-2 libssl1.1_1.1.1-1ubuntu2 libstdc++-8-dev_8.2.0-10ubuntu1 libstdc++6_8.2.0-10ubuntu1 libstring-rewriteprefix-perl_0.007-2 libsub-exporter-perl_0.987-1 libsub-install-perl_0.928-1 libsuitesparseconfig5_1:5.3.0+dfsg-1 libsystemd0_239-7ubuntu12 libsz2_1.0.2-1 libtasn1-6_4.13-3 libtext-unidecode-perl_1.30-1 libthai-data_0.1.28-1 libthai0_0.1.28-1 libtiff5_4.0.10-3 libtimedate-perl_2.3000-2 libtinfo6_6.1+20180210-4ubuntu1 libtool_2.4.6-6 libtry-tiny-perl_0.30-1 libtsan0_8.2.0-10ubuntu1 libubsan1_8.2.0-10ubuntu1 libudev1_239-7ubuntu12 libumfpack5_1:5.3.0+dfsg-1 libunistring2_0.9.10-1ubuntu1 liburi-perl_1.74-1 libusb-0.1-4_2:0.1.12-32 libuuid1_2.32-0.1ubuntu2 libvorbis0a_1.3.6-1 libvorbisenc2_1.3.6-1 libwacom-common_0.31-1 libwacom2_0.31-1 libwayland-client0_1.16.0-1ubuntu1 libwayland-server0_1.16.0-1ubuntu1 libwebp6_0.6.1-2 libwebpmux3_0.6.1-2 libwind0-heimdal_7.5.0+dfsg-2.1 libwmf0.2-7_0.2.8.4-14 libwww-perl_6.36-1 libwww-robotrules-perl_6.02-1 libx11-6_2:1.6.7-1 libx11-data_2:1.6.7-1 libx11-dev_2:1.6.7-1 libx11-xcb-dev_2:1.6.7-1 libx11-xcb1_2:1.6.7-1 libxau-dev_1:1.0.8-1 libxau6_1:1.0.8-1 libxcb-dri2-0_1.13.1-1 libxcb-dri2-0-dev_1.13.1-1 libxcb-dri3-0_1.13.1-1 libxcb-dri3-dev_1.13.1-1 libxcb-glx0_1.13.1-1 libxcb-glx0-dev_1.13.1-1 libxcb-icccm4_0.4.1-1ubuntu1 libxcb-image0_0.4.0-1build1 libxcb-keysyms1_0.4.0-1 libxcb-present-dev_1.13.1-1 libxcb-present0_1.13.1-1 libxcb-randr0_1.13.1-1 libxcb-randr0-dev_1.13.1-1 libxcb-render-util0_0.3.9-1 libxcb-render0_1.13.1-1 libxcb-render0-dev_1.13.1-1 libxcb-shape0_1.13.1-1 libxcb-shape0-dev_1.13.1-1 libxcb-shm0_1.13.1-1 libxcb-sync-dev_1.13.1-1 libxcb-sync1_1.13.1-1 libxcb-util1_0.4.0-0ubuntu3 libxcb-xfixes0_1.13.1-1 libxcb-xfixes0-dev_1.13.1-1 libxcb-xinerama0_1.13.1-1 libxcb-xkb1_1.13.1-1 libxcb1_1.13.1-1 libxcb1-dev_1.13.1-1 libxcursor1_1:1.1.15-2 libxdamage-dev_1:1.1.4-3 libxdamage1_1:1.1.4-3 libxdmcp-dev_1:1.1.2-3 libxdmcp6_1:1.1.2-3 libxext-dev_2:1.3.3-1 libxext6_2:1.3.3-1 libxfixes-dev_1:5.0.3-1 libxfixes3_1:5.0.3-1 libxft2_2.3.2-2 libxi6_2:1.7.9-1 libxinerama1_2:1.1.4-1 libxkbcommon-x11-0_0.8.2-1 libxkbcommon0_0.8.2-1 libxml-libxml-perl_2.0132+dfsg-2build1 libxml-namespacesupport-perl_1.12-1 libxml-sax-base-perl_1.09-1 libxml-sax-perl_1.00+dfsg-1.1~build1 libxml2_2.9.4+dfsg1-7ubuntu3 libxpm4_1:3.5.12-1 libxrender1_1:0.9.10-1 libxshmfence-dev_1.3-1 libxshmfence1_1.3-1 libxxf86vm-dev_1:1.1.4-1 libxxf86vm1_1:1.1.4-1 libyaml-perl_1.27-1 libyaml-tiny-perl_1.73-1 libzstd1_1.3.5+dfsg-1ubuntu1 linux-libc-dev_4.18.0-12.13 lockfile-progs_0.1.18 login_1:4.5-1ubuntu1 lsb-base_9.20170808ubuntu1 m4_1.4.18-1ubuntu1 make_4.2.1-1.2 man-db_2.8.4-3 mawk_1.3.3-17ubuntu3 mesa-common-dev_18.2.2-0ubuntu1 mount_2.32-0.1ubuntu2 multiarch-support_2.28-0ubuntu1 ncurses-base_6.1+20180210-4ubuntu1 ncurses-bin_6.1+20180210-4ubuntu1 netbase_5.5 octave_4.4.1-2 octave-common_4.4.1-2 openssl_1.1.1-1ubuntu2 optipng_0.7.6-1.1 passwd_1:4.5-1ubuntu1 patch_2.7.6-3 perl_5.28.0-4 perl-base_5.28.0-4 perl-modules-5.26_5.26.2-7 perl-modules-5.28_5.28.0-4 perl-openssl-defaults_3build1 pinentry-curses_1.1.0-1build2 pkgbinarymangler_143 po-debconf_1.0.21 policyrcd-script-zg2_0.1-3 procps_2:3.3.15-2ubuntu1 readline-common_7.0-5 sbuild-build-depends-core-dummy_0.invalid.0 sbuild-build-depends-octave-image-dummy_0.invalid.0 sed_4.5-2 sensible-utils_0.0.12 systemd_239-7ubuntu12 systemd-sysv_239-7ubuntu12 sysv-rc_2.88dsf-59.3ubuntu2 sysvinit-utils_2.88dsf-59.10ubuntu2 tar_1.30+dfsg-3 tex-common_6.10 texinfo_6.5.0.dfsg.1-4build1 tzdata_2018g-1 ubuntu-keyring_2018.09.18.1 ucf_3.0038 util-linux_2.32-0.1ubuntu2 x11-common_1:7.7+19ubuntu8 x11proto-core-dev_2018.4-4 x11proto-damage-dev_1:2018.4-4 x11proto-dev_2018.4-4 x11proto-fixes-dev_1:2018.4-4 x11proto-xext-dev_2018.4-4 x11proto-xf86vidmode-dev_2018.4-4 xkb-data_2.23.1-1ubuntu1.18.10.1 xorg-sgml-doctools_1:1.11-1 xtrans-dev_1.3.5-1 xz-utils_5.2.2-1.3 zlib1g_1:1.2.11.dfsg-0ubuntu2 zlib1g-dev_1:1.2.11.dfsg-0ubuntu2 +------------------------------------------------------------------------------+ | Build | +------------------------------------------------------------------------------+ Unpack source ------------- gpgv: Signature made Mon Nov 26 14:57:45 2018 UTC gpgv: using RSA key 3F464391498FE874BDB5D98F2124AA1983785C90 gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./octave-image_2.8.1-1.dsc dpkg-source: info: extracting octave-image in octave-image-2.8.1 dpkg-source: info: unpacking octave-image_2.8.1.orig.tar.gz dpkg-source: info: unpacking octave-image_2.8.1-1.debian.tar.xz dpkg-source: info: applying skip-unit-tests-impyramid.patch dpkg-source: info: applying drop-unit-tests-grayscale.patch dpkg-source: info: applying skip-unit-test-otf2psf.patch dpkg-source: info: applying skip-unit-test-nlfilter.patch dpkg-source: info: applying skip-unit-test-cp2tform.patch dpkg-source: info: applying skip-unit-test-fftconv2.patch dpkg-source: info: applying skip-unit-test-imrode.patch dpkg-source: info: applying relax-unit-test-otf2psf-psf2otf.patch dpkg-source: info: applying skip-unit-test-bwconncomp.patch dpkg-source: info: applying skip-unit-test-imadjust.patch dpkg-source: info: applying xtest-in-normxcorr2.patch Check disc space ---------------- Sufficient free space for build User Environment ---------------- APT_CONFIG=/var/lib/sbuild/apt.conf DEB_BUILD_OPTIONS=parallel=4 HOME=/sbuild-nonexistent LANG=C.UTF-8 LC_ALL=C.UTF-8 LOGNAME=buildd PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games SCHROOT_ALIAS_NAME=build-PACKAGEBUILD-15708482 SCHROOT_CHROOT_NAME=build-PACKAGEBUILD-15708482 SCHROOT_COMMAND=env SCHROOT_GID=2501 SCHROOT_GROUP=buildd SCHROOT_SESSION_ID=build-PACKAGEBUILD-15708482 SCHROOT_UID=2001 SCHROOT_USER=buildd SHELL=/bin/sh TERM=unknown USER=buildd V=1 dpkg-buildpackage ----------------- dpkg-buildpackage: info: source package octave-image dpkg-buildpackage: info: source version 2.8.1-1 dpkg-buildpackage: info: source distribution unstable dpkg-source --before-build octave-image-2.8.1 dpkg-buildpackage: info: host architecture amd64 dpkg-source: info: using options from octave-image-2.8.1/debian/source/options: --extend-diff-ignore=inst/im2double\.m|src/Makefile|src/config\.h|src/config\.log|src/config\.status|src/confdefs\.h|src/conftest\.cpp|src/ntsc2rgb\.m|src/rgb2ntsc\.m|inst/ntsc2rgb\.m|inst/rgb2ntsc\.m debian/rules clean dh clean --buildsystem=octave --with=octave dh_auto_clean -O--buildsystem=octave dh_octave_clean make[1]: Entering directory '/<>/src' make[1]: *** No rule to make target 'clean'. make[1]: Leaving directory '/<>/src' dh_clean -O--buildsystem=octave debian/rules binary dh binary --buildsystem=octave --with=octave dh_update_autotools_config -O--buildsystem=octave dh_autoreconf -O--buildsystem=octave dh_octave_version -O--buildsystem=octave Checking the Octave version... ok dh_auto_configure -O--buildsystem=octave dh_auto_build -O--buildsystem=octave dh_auto_test -O--buildsystem=octave create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=octave dh_prep -O--buildsystem=octave dh_auto_install -O--buildsystem=octave octave --no-gui --no-history --silent --no-init-file --no-window-system /usr/share/dh-octave/install-pkg.m warning: pkg: creating the directory /<>/debian/octave-image/usr/share/octave/packages warning: pkg: creating the directory /<>/debian/octave-image/usr/lib/x86_64-linux-gnu/octave/packages checking for a sed that does not truncate output... /bin/sed checking for octave... /usr/bin/octave checking for mkoctfile... /usr/bin/mkoctfile --verbose checking whether the C++ compiler works... yes checking for C++ compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking for g++ option to enable C++11 features... none needed checking whether feval is in the octave namespace... yes checking whether octave value has Octave style is* methods... yes checking whether templated lambda functions accept '&const int'... yes checking Octave core for function im2double... error: writing file '/sbuild-nonexistent/.octave_hist': No such file or directory error: ignoring const execution_exception& while preparing to exit yes checking Octave core for function ntsc2rgb... error: writing file '/sbuild-nonexistent/.octave_hist': No such file or directory error: ignoring const execution_exception& while preparing to exit no checking Octave core for function rgb2gray... error: writing file '/sbuild-nonexistent/.octave_hist': No such file or directory error: ignoring const execution_exception& while preparing to exit yes checking Octave core for function rgb2ntsc... error: writing file '/sbuild-nonexistent/.octave_hist': No such file or directory error: ignoring const execution_exception& while preparing to exit no configure: creating ./config.status config.status: creating Makefile config.status: creating config.h make[1]: Entering directory '/<>/src' /usr/bin/mkoctfile --verbose -Wall -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security __spatial_filtering__.cc /usr/bin/mkoctfile --verbose -Wall -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security __bilateral__.cc g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security __spatial_filtering__.cc -o __spatial_filtering__.o /usr/bin/mkoctfile --verbose -Wall -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security __eps__.cc g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security __bilateral__.cc -o __bilateral__.o /usr/bin/mkoctfile --verbose -Wall -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security __custom_gaussian_smoothing__.cc g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security __eps__.cc -o __eps__.o g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security __custom_gaussian_smoothing__.cc -o __custom_gaussian_smoothing__.o g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -shared -Wl,-Bsymbolic -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -o __eps__.oct __eps__.o -L/usr/lib/x86_64-linux-gnu/octave/4.4.1 -L/usr/lib/x86_64-linux-gnu -loctinterp -loctave -Wl,-Bsymbolic-functions -Wl,-z,relro /usr/bin/mkoctfile --verbose -Wall -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security __boundary__.cc g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security __boundary__.cc -o __boundary__.o g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -shared -Wl,-Bsymbolic -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -o __custom_gaussian_smoothing__.oct __custom_gaussian_smoothing__.o -L/usr/lib/x86_64-linux-gnu/octave/4.4.1 -L/usr/lib/x86_64-linux-gnu -loctinterp -loctave -Wl,-Bsymbolic-functions -Wl,-z,relro /usr/bin/mkoctfile --verbose -Wall -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security bwfill.cc g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security bwfill.cc -o bwfill.o g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -shared -Wl,-Bsymbolic -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -o __boundary__.oct __boundary__.o -L/usr/lib/x86_64-linux-gnu/octave/4.4.1 -L/usr/lib/x86_64-linux-gnu -loctinterp -loctave -Wl,-Bsymbolic-functions -Wl,-z,relro g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -shared -Wl,-Bsymbolic -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -o __bilateral__.oct __bilateral__.o -L/usr/lib/x86_64-linux-gnu/octave/4.4.1 -L/usr/lib/x86_64-linux-gnu -loctinterp -loctave -Wl,-Bsymbolic-functions -Wl,-z,relro /usr/bin/mkoctfile --verbose -Wall -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security rotate_scale.cc g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security rotate_scale.cc -o rotate_scale.o /usr/bin/mkoctfile --verbose -Wall -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security hough_line.cc g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security hough_line.cc -o hough_line.o g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -shared -Wl,-Bsymbolic -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -o __spatial_filtering__.oct __spatial_filtering__.o -L/usr/lib/x86_64-linux-gnu/octave/4.4.1 -L/usr/lib/x86_64-linux-gnu -loctinterp -loctave -Wl,-Bsymbolic-functions -Wl,-z,relro /usr/bin/mkoctfile --verbose -Wall -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security graycomatrix.cc g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security graycomatrix.cc -o graycomatrix.o g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -shared -Wl,-Bsymbolic -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -o bwfill.oct bwfill.o -L/usr/lib/x86_64-linux-gnu/octave/4.4.1 -L/usr/lib/x86_64-linux-gnu -loctinterp -loctave -Wl,-Bsymbolic-functions -Wl,-z,relro /usr/bin/mkoctfile --verbose -Wall -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security bwdist.cc g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security bwdist.cc -o bwdist.o g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -shared -Wl,-Bsymbolic -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -o rotate_scale.oct rotate_scale.o -L/usr/lib/x86_64-linux-gnu/octave/4.4.1 -L/usr/lib/x86_64-linux-gnu -loctinterp -loctave -Wl,-Bsymbolic-functions -Wl,-z,relro g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -shared -Wl,-Bsymbolic -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -o hough_line.oct hough_line.o -L/usr/lib/x86_64-linux-gnu/octave/4.4.1 -L/usr/lib/x86_64-linux-gnu -loctinterp -loctave -Wl,-Bsymbolic-functions -Wl,-z,relro /usr/bin/mkoctfile --verbose -Wall -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security intlut.cc g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security intlut.cc -o intlut.o /usr/bin/mkoctfile --verbose -Wall -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security nonmax_supress.cc g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security nonmax_supress.cc -o nonmax_supress.o g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -shared -Wl,-Bsymbolic -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -o graycomatrix.oct graycomatrix.o -L/usr/lib/x86_64-linux-gnu/octave/4.4.1 -L/usr/lib/x86_64-linux-gnu -loctinterp -loctave -Wl,-Bsymbolic-functions -Wl,-z,relro /usr/bin/mkoctfile --verbose -Wall -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -c strel.cc g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security strel.cc -o strel.o g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -shared -Wl,-Bsymbolic -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -o bwdist.oct bwdist.o -L/usr/lib/x86_64-linux-gnu/octave/4.4.1 -L/usr/lib/x86_64-linux-gnu -loctinterp -loctave -Wl,-Bsymbolic-functions -Wl,-z,relro /usr/bin/mkoctfile --verbose -Wall -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -c connectivity.cc g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security connectivity.cc -o connectivity.o g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -shared -Wl,-Bsymbolic -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -o intlut.oct intlut.o -L/usr/lib/x86_64-linux-gnu/octave/4.4.1 -L/usr/lib/x86_64-linux-gnu -loctinterp -loctave -Wl,-Bsymbolic-functions -Wl,-z,relro cp ntsc2rgb.m.in ntsc2rgb.m cp rgb2ntsc.m.in rgb2ntsc.m g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -shared -Wl,-Bsymbolic -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -o nonmax_supress.oct nonmax_supress.o -L/usr/lib/x86_64-linux-gnu/octave/4.4.1 -L/usr/lib/x86_64-linux-gnu -loctinterp -loctave -Wl,-Bsymbolic-functions -Wl,-z,relro /usr/bin/mkoctfile --verbose -Wall -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security conndef.cc connectivity.o g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security conndef.cc -o conndef.o /usr/bin/mkoctfile --verbose -Wall -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security bwlabeln.cc connectivity.o /usr/bin/mkoctfile --verbose -Wall -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security imreconstruct.cc connectivity.o g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security bwlabeln.cc -o bwlabeln.o g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security imreconstruct.cc -o imreconstruct.o /usr/bin/mkoctfile --verbose -Wall -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security bwconncomp.cc connectivity.o g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security bwconncomp.cc -o bwconncomp.o g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -shared -Wl,-Bsymbolic -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -o conndef.oct connectivity.o conndef.o -L/usr/lib/x86_64-linux-gnu/octave/4.4.1 -L/usr/lib/x86_64-linux-gnu -loctinterp -loctave -Wl,-Bsymbolic-functions -Wl,-z,relro /usr/bin/mkoctfile --verbose -Wall -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security watershed.cc connectivity.o g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security watershed.cc -o watershed.o g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -shared -Wl,-Bsymbolic -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -o bwlabeln.oct connectivity.o bwlabeln.o -L/usr/lib/x86_64-linux-gnu/octave/4.4.1 -L/usr/lib/x86_64-linux-gnu -loctinterp -loctave -Wl,-Bsymbolic-functions -Wl,-z,relro /usr/bin/mkoctfile --verbose -Wall -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security imerode.cc strel.o g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security imerode.cc -o imerode.o g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -shared -Wl,-Bsymbolic -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -o bwconncomp.oct connectivity.o bwconncomp.o -L/usr/lib/x86_64-linux-gnu/octave/4.4.1 -L/usr/lib/x86_64-linux-gnu -loctinterp -loctave -Wl,-Bsymbolic-functions -Wl,-z,relro g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -shared -Wl,-Bsymbolic -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -o imreconstruct.oct connectivity.o imreconstruct.o -L/usr/lib/x86_64-linux-gnu/octave/4.4.1 -L/usr/lib/x86_64-linux-gnu -loctinterp -loctave -Wl,-Bsymbolic-functions -Wl,-z,relro g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -shared -Wl,-Bsymbolic -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -o watershed.oct connectivity.o watershed.o -L/usr/lib/x86_64-linux-gnu/octave/4.4.1 -L/usr/lib/x86_64-linux-gnu -loctinterp -loctave -Wl,-Bsymbolic-functions -Wl,-z,relro g++ -I/usr/include/octave-4.4.1/octave/.. -I/usr/include/octave-4.4.1/octave -pthread -fopenmp -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -g -shared -Wl,-Bsymbolic -Wall -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -o imerode.oct strel.o imerode.o -L/usr/lib/x86_64-linux-gnu/octave/4.4.1 -L/usr/lib/x86_64-linux-gnu -loctinterp -loctave -Wl,-Bsymbolic-functions -Wl,-z,relro make[1]: Leaving directory '/<>/src' copyfile /<>/./src/ntsc2rgb.m /<>/./src/rgb2ntsc.m/<>/./inst copyfile /<>/./src/__bilateral__.oct /<>/./src/__boundary__.oct /<>/./src/__custom_gaussian_smoothing__.oct /<>/./src/__eps__.oct /<>/./src/__spatial_filtering__.oct /<>/./src/bwconncomp.oct /<>/./src/bwdist.oct /<>/./src/bwfill.oct /<>/./src/bwlabeln.oct /<>/./src/conndef.oct /<>/./src/graycomatrix.oct /<>/./src/hough_line.oct /<>/./src/imerode.oct /<>/./src/imreconstruct.oct /<>/./src/intlut.oct /<>/./src/nonmax_supress.oct /<>/./src/rotate_scale.oct /<>/./src/watershed.oct /<>/./inst/x86_64-pc-linux-gnu-api-v52 For information about changes from previous versions of the image package, run 'news image'. dh_octave_check -O--buildsystem=octave Checking package... Checking m files ... [inst/iptcheckmap.m] >>>>> /<>/inst/iptcheckmap.m ***** test ("iptcheckmap (jet(64), 'func', 'var', 2)"); # simple must work ***** fail ("iptcheckmap (3, 'func', 'var', 2)"); # not a colormap 2 tests, 2 passed, 0 known failure, 0 skipped [inst/immse.m] >>>>> /<>/inst/immse.m ***** error immse (rand (10), rand (12)) ***** error immse (uint8 ([0 1 2 3]), uint16 ([0 1 2 3])) ***** error immse (double ([0 1 2 3]), single ([0 1 2 3])) ***** assert (immse (magic (5), magic (5)), 0) ***** assert (immse (single (magic (5)), single (magic (5))), single (0)) ***** assert (immse (uint8 (magic (5)), uint8 (magic (5))), 0) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/applylut.m] >>>>> /<>/inst/applylut.m ***** demo lut = makelut (inline ('sum (x (:)) >= 3', 'x'), 3); S = applylut (eye (5), lut); disp (S) ## Everything should be 0 despite a diagonal which doesn't reach borders. ***** assert (prod (applylut (eye (3), makelut (@(x) x(1) == 1, 2)) == eye (3)), [1 1 1]); ***** assert (prod (applylut (eye (3), makelut (@(x) x(2,2) == 1, 3)) == eye (3)), [1 1 1]); ***** assert (prod (applylut (eye (3), makelut (@(x) x(3,3) == 1, 3)) == applylut (eye (3), makelut (@(x) x(2,2) == 1, 2))), [1 1 1]); 3 tests, 3 passed, 0 known failure, 0 skipped [inst/qtgetblk.m] >>>>> /<>/inst/qtgetblk.m ***** demo [vals,r,c]=qtgetblk(eye(4),qtdecomp(eye(4)),2) % Returns 2 blocks, at [1,3] and [3,1] (2*2 zeros blocks) ***** shared A,S A=[ 1, 4, 2, 5,54,55,61,62; 3, 6, 3, 1,58,53,67,65; 3, 6, 3, 1,58,53,67,65; 3, 6, 3, 1,58,53,67,65; 23,42,42,42,99,99,99,99; 27,42,42,42,99,99,99,99; 23,22,26,25,99,99,99,99; 22,22,24,22,99,99,99,99]; S=qtdecomp(A,10); ***** test [va]=qtgetblk(A,S,8); [vb,r,c]=qtgetblk(A,S,8); [vc,i]=qtgetblk(A,S,8); assert(va, vb); assert(va, vc); assert(i,[]); assert(r,[]); assert(c,[]); R=[]; assert(va,R); ***** test [va]=qtgetblk(A,S,4); [vb,r,c]=qtgetblk(A,S,4); [vc,i]=qtgetblk(A,S,4); assert(va, vb); assert(va, vc); assert(i, find(full(S)==4)); assert(r,[1;5]); assert(c,[1;5]); R=zeros(4,4,2); R(:,:,1)=A(1:4,1:4); R(:,:,2)=A(5:8,5:8); assert(va,R); ***** test [va]=qtgetblk(A,S,2); [vb,r,c]=qtgetblk(A,S,2); [vc,i]=qtgetblk(A,S,2); assert(va, vb); assert(va, vc); assert(i, find(full(S)==2)); assert(r,[7;5;7;1;3;1;3]); assert(c,[1;3;3;5;5;7;7]); R=zeros(2,2,7); R(:,:,1)=A(7:8,1:2); R(:,:,2)=A(5:6,3:4); R(:,:,3)=A(7:8,3:4); R(:,:,4)=A(1:2,5:6); R(:,:,5)=A(3:4,5:6); R(:,:,6)=A(1:2,7:8); R(:,:,7)=A(3:4,7:8); assert(va,R); 3 tests, 3 passed, 0 known failure, 0 skipped [inst/fftconvn.m] >>>>> /<>/inst/fftconvn.m ***** function test_shapes (a, b, precision) shapes = {"valid", "same", "full"}; for i = 1:3 shape = shapes{i}; assert (fftconvn (a, b, shape), convn (a, b, shape), precision); endfor assert (fftconvn (a, b), fftconvn (a, b, "full")); ***** endfunction ***** test test_shapes (randi (255, 100), randi (255, 10), 0.1) ***** test test_shapes (randi (255, 100, 100), randi (255, 10, 10), 0.1) ***** test test_shapes (randi (255, 100, 100, 100), randi (255, 10, 10, 10), 0.1) ***** test test_shapes (randi (255, 100, 50, 20), randi (255, 10, 7), 0.1) ***** test test_shapes (randi (255, 100, 50, 20), randi (255, 10), 0.1) ***** test for s = [55 56 57 58] test_shapes (randi (255, 200, 200), randi (255, s, s), 0.1) endfor ***** test for s = [203 204 205 206] test_shapes (randi (255, s, s), randi (255, 52, 52), 0.1) endfor ***** test test_shapes (randi (255, 100, 100, "uint8"), randi (255, 10, 10, "uint8"), 0.1) ***** test test_shapes (randi (255, 100, 100, "uint8"), randi (255, 10, 10), 0.1) ***** test test_shapes (randi (255, 100, 100, "single"), randi (255, 10, 10, "single"), 0.9) ***** test test_shapes (randi (255, 100, 100, "single"), randi (255, 10, 10), 0.9) 11 tests, 11 passed, 0 known failure, 0 skipped [inst/rangefilt.m] >>>>> /<>/inst/rangefilt.m ***** test im = rangefilt (ones (5)); assert (im, zeros (5)); 1 test, 1 passed, 0 known failure, 0 skipped [inst/medfilt2.m] >>>>> /<>/inst/medfilt2.m ***** shared b, f b = [ 0 1 2 3 1 8 12 12 4 20 24 21 7 22 25 18]; f = [ 0 1 2 0 1 4 12 3 4 12 20 12 0 7 20 0]; ***** assert (medfilt2 (b), f); f = [ 0 1 2 3 1 8 12 12 4 20 24 18 4 20 24 18]; ***** assert (medfilt2 (b, true (3, 1)), f); ***** assert (medfilt2 (b, [3 1]), f); f = [ 1 8 10 10 1 8 12 12 4 20 24 18 7 20 24 18]; ***** assert (medfilt2 (b, [3 1], 10), f); ***** assert (medfilt2 (b, 10, [3 1]), f); f = [ 0.5 4.5 7.0 7.5 2.5 14.0 18.0 15.0 2.5 14.0 18.0 15.0 2.0 10.0 12.0 9.0]; ***** assert (medfilt2 (b, true (4, 1)), f); ***** assert (medfilt2 (b, [4 1]), f); 7 tests, 7 passed, 0 known failure, 0 skipped [inst/checkerboard.m] >>>>> /<>/inst/checkerboard.m ***** demo ## Simplest case, default checkerboard size: ## 8 by 8 checkerboard, with squares 10 pixel wide board = checkerboard (); imshow (board) ***** demo ## Simplest case, default checkerboard size: ## 8 by 16 checkerboard, with squares 5 pixel wide board = checkerboard (5, 4, 8); imshow (board) ***** assert (checkerboard (0), zeros (0, 0)) ***** assert (checkerboard (0, 3), zeros (0, 0)) ***** assert (checkerboard (0, 2, 4), zeros (0, 0)) ***** assert (checkerboard (0, 2, 4, 3), zeros (0, 0, 0)) ***** assert (checkerboard (0, 2, 4, 3, 2), zeros (0, 0, 0, 0)) ***** assert (checkerboard (1, 4, 2, 3, 0), zeros (8, 4, 6, 0)) ***** assert (checkerboard (1, 4, 0, 3, 2), zeros (8, 0, 6, 4)) ***** assert (checkerboard (2, 4, 0, 3, 2), zeros (16, 0, 12, 8)) ***** test out = zeros (80); i1 = ((1:20:80) .+ (0:9)')(:); i2 = ((11:20:80) .+ (0:9)')(:); out(i1, i2) = 1; out(i2, i1) = 1; i1r = ((41:20:80) .+ (0:9)')(:); i2r = ((51:20:80) .+ (0:9)')(:); out(i2, i1r) = 0.7; out(i1, i2r) = 0.7; assert (checkerboard (), out) assert (checkerboard (10, 4, 4), out) assert (checkerboard (10, [4 4]), out) assert (checkerboard (10, [4; 4]), out) ***** test out = zeros (8); out(2:2:8, 1:2:8) = 1; out(1:2:8, 2:2:8) = 1; out(1:2:8, 6:2:8) = 0.7; out(2:2:8, 5:2:8) = 0.7; assert (checkerboard (1), out) assert (checkerboard (1, 4), out) assert (checkerboard (1, 4, 4), out) assert (checkerboard (1, [4 4]), out) ***** test out = zeros (10); out(2:2:10, 1:2:10) = 1; out(1:2:10, 2:2:10) = 1; out(1:2:10, 6:2:10) = 0.7; out(2:2:10, 7:2:10) = 0.7; assert (checkerboard (1, 5), out) assert (checkerboard (1, 5, 5), out) assert (checkerboard (1, [5 5]), out) ***** test out = zeros (20); out([1:4:20 2:4:20], [3:4:20 4:4:20]) = 1; out([3:4:20 4:4:20], [1:4:20 2:4:20]) = 1; out([1:4:20 2:4:20], [11:4:20 12:4:20]) = 0.7; out([3:4:20 4:4:20], [13:4:20 14:4:20]) = 0.7; assert (checkerboard (2, 5), out) assert (checkerboard (2, 5, 5), out) assert (checkerboard (2, [5 5]), out) ***** test out = zeros (4, 4, 4); out([1 3], 1, [1 3]) = 1; out([2 4], 2, [1 3]) = 1; out([1 3], 2, [2 4]) = 1; out([2 4], 1, [2 4]) = 1; out([1 3], 3, [1 3]) = 0.7; out([2 4], 4, [1 3]) = 0.7; out([1 3], 4, [2 4]) = 0.7; out([2 4], 3, [2 4]) = 0.7; assert (checkerboard (1, [2 2 2]), out) assert (checkerboard (1, 2, 2, 2), out) ***** test out = zeros (8, 8, 8); out([1 2 5 6], [1 2], [1 2 5 6]) = 1; out([3 4 7 8], [3 4], [1 2 5 6]) = 1; out([1 2 5 6], [3 4], [3 4 7 8]) = 1; out([3 4 7 8], [1 2], [3 4 7 8]) = 1; out([1 2 5 6], [5 6], [1 2 5 6]) = 0.7; out([3 4 7 8], [7 8], [1 2 5 6]) = 0.7; out([1 2 5 6], [7 8], [3 4 7 8]) = 0.7; out([3 4 7 8], [5 6], [3 4 7 8]) = 0.7; assert (checkerboard (2, [2 2 2]), out) assert (checkerboard (2, 2, 2, 2), out) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/rgb2xyz.m] >>>>> /<>/inst/rgb2xyz.m ***** assert (rgb2xyz ([0 0 0]), [0, 0, 0], 1e-3) ***** assert (rgb2xyz ([1 0 0]), [0.4125, 0.2127, 0.0193], 1e-3) ***** assert (rgb2xyz ([1 1 0]), [0.7700, 0.9278, 0.1385], 1e-3) ***** assert (rgb2xyz ([0 1 0]), [0.3576, 0.7152, 0.1192], 1e-3) ***** assert (rgb2xyz ([0 1 1]), [0.5380, 0.7873, 1.0694], 1e-3) ***** assert (rgb2xyz ([0 0 1]), [0.1804, 0.0722, 0.9502], 1e-3) ***** assert (rgb2xyz ([1 0 1]), [0.5929, 0.2848, 0.9696], 1e-3) ***** assert (rgb2xyz ([1 1 1]), [0.9505, 1.0000, 1.0888], 1e-3) ***** assert (rgb2xyz ([0.5 0.5 0.5]), [0.2034, 0.2140, 0.2330], 1e-3) ***** assert (rgb2xyz ([0.75 0 0]), [0.2155, 0.1111, 0.0101], 1e-3) ***** assert (rgb2xyz ([0.5 0 0]), [0.0883, 0.0455, 0.0041], 1e-3) ***** assert (rgb2xyz ([0.25 0 0]), [0.0210, 0.0108, 0.0010], 1e-3) ***** assert (rgb2xyz ([1 0.5 0.5]), [0.5276, 0.3812, 0.2482], 1e-3) ***** assert (rgb2xyz ([1.5 1 1]), [1.5845, 1.3269, 1.1185], 1e-3) ***** test rgb_map = rand (64, 3); assert (xyz2rgb (rgb2xyz (rgb_map)), rgb_map, 2e-5); ***** test rgb_img = rand (64, 64, 3); assert (xyz2rgb (rgb2xyz (rgb_img)), rgb_img, 2e-5); ***** assert (rgb2xyz (sparse ([0 0 0])), [0 0 0], 1e-3) ***** assert (rgb2xyz (sparse ([0 0 1])), [0.1804, 0.0722, 0.9502], 1e-3) ***** assert (rgb2xyz (uint8([255 255 255])), [0.9505, 1.0000, 1.0888], 1e-3) ***** assert (class (rgb2xyz (single([1 1 1]))), 'single') ***** error rgb2xyz () ***** error rgb2xyz (1,2) ***** error rgb2xyz ({1}) ***** error rgb2xyz (ones (2,2)) ***** test rgb = rand (16, 16, 3, 5); xyz = zeros (size (rgb)); for i = 1:5 xyz(:,:,:,i) = rgb2xyz (rgb(:,:,:,i)); endfor assert (rgb2xyz (rgb), xyz) 25 tests, 25 passed, 0 known failure, 0 skipped [inst/bwmorph.m] >>>>> /<>/inst/bwmorph.m ***** demo bwmorph (true (11), "shrink", Inf) # Should return 0 matrix with 1 pixel set to 1 at (6,6) ***** test slBW = logical ([ 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0]); rslBW = logical ([ 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]); assert (bwmorph (slBW, "skel-lantuejoul", 1), [rslBW(1:5,:); false(7, 7)]); assert (bwmorph (slBW, "skel-lantuejoul", 2), [rslBW(1:8,:); false(4, 7)]); assert (bwmorph (slBW, "skel-lantuejoul", 3), rslBW); assert (bwmorph (slBW, "skel-lantuejoul", Inf), rslBW); ***** test bw = [ 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0]; final = logical ([ 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0]); assert (bwmorph (bw, "skel", Inf), final) assert (bwmorph (bw, "skel", 3), final) ***** error bwmorph ("not a matrix", "dilate") ***** assert (bwmorph (magic (10), "dilate"), imdilate (logical (magic (10)), ones (3))); ***** test in = logical ([1 1 0 0 1 0 1 0 0 0 1 1 1 0 1 1 0 1 0 0 1 1 1 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 0 1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 0 0 0 1 1 0 0 1 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 0 0 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 0 0 1 1 1 0 0 1 0 0 1 0 1 1 1 0 1 0 0 1 0 0 1 1 0 0 1 1 1 0 1 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 1 0 0 0 0 1 0 1 1 0 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 0 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 1]); se = strel ("arbitrary", ones (3)); assert (bwmorph (in, "dilate"), imdilate (in, se)); assert (bwmorph (in, "dilate", 3), imdilate (imdilate (imdilate (in, se), se), se)); assert (bwmorph (in, "bothat"), imbothat (in, se)); assert (bwmorph (in, "tophat"), imtophat (in, se)); assert (bwmorph (in, "open"), imopen (in, se)); assert (bwmorph (in, "close"), imclose (in, se)); ***** assert (bwmorph ([1 0 0; 1 0 1; 0 0 1], "bridge"), logical ([1 1 0; 1 1 1; 0 1 1])); ***** assert (bwmorph ([0 0 0; 1 0 1; 0 0 1], "clean"), logical ([0 0 0; 0 0 1; 0 0 1])); ***** assert (bwmorph ([0 0 0; 0 1 0; 0 0 0], "clean"), false (3)); ***** assert (bwmorph ([0 1 0; 1 0 0; 0 0 0], "diag"), logical ([1 1 0; 1 1 0; 0 0 0])); ***** test in = logical ([0 1 0 1 0 1 1 1 0 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1]); out = logical ([0 1 0 1 0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1]); assert (bwmorph (in, "fill"), out); ***** assert (bwmorph ([1 1 1; 0 1 0; 1 1 1], "hbreak"), logical ([1 1 1; 0 0 0; 1 1 1])); ***** test in = logical ([0 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1]); out = logical ([0 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 1 1 1 1 1 1]); assert (bwmorph (in, "remove"), out); out = logical ([0 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 1 1 1 1 1 1]); assert (bwmorph (in, "remove", Inf), out); ***** xtest ## tests for spur are failing (matlab incompatible) in = logical ([0 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1]); out = logical ([0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1]); assert (bwmorph (in, "spur"), out); out = logical ([0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1]); assert (bwmorph (in, "spur", Inf), out); !!!!! known failure ASSERT errors for: assert (bwmorph (in, "spur"),out) Location | Observed | Expected | Reason (1,2) 0 1 Abs err 1 exceeds tol 0 by 1 ***** xtest ## bug #44396 in = [ 0 0 0 1 0 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 1 0]; out = [ 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0]; assert (bwmorph (in, "shrink"), logical (out)); !!!!! known failure ASSERT errors for: assert (bwmorph (in, "shrink"),logical (out)) Location | Observed | Expected | Reason (2,4) 1 0 Abs err 1 exceeds tol 0 by 1 (3,4) 0 1 Abs err 1 exceeds tol 0 by 1 (4,4) 1 0 Abs err 1 exceeds tol 0 by 1 (5,4) 1 0 Abs err 1 exceeds tol 0 by 1 14 tests, 12 passed, 2 known failures, 0 skipped [inst/findbounds.m] >>>>> /<>/inst/findbounds.m ***** test im = checkerboard (); theta = pi/6; T = maketform ('affine', [cos(theta) -sin(theta); ... sin(theta) cos(theta); 0 0]); inbnd = [0 0; 1 1]; outbnd = findbounds (T, inbnd); diag = 2^.5; ang = pi/4; assert (diff (outbnd(:,1)), diag * abs (cos (theta - ang)), eps) assert (diff (outbnd(:,2)), diag * abs (cos (theta - ang)), eps) 1 test, 1 passed, 0 known failure, 0 skipped [inst/label2rgb.m] >>>>> /<>/inst/label2rgb.m ***** function map = test_colormap () map = [0 0 0; 0.5 0.5 0.5; 0.125 0.125 0.125]; ***** endfunction ***** shared in, out, cmap in = [ 0 1 1 0 2 2 0 3 3 0 1 1 0 2 2 0 3 3]; out = [255 0 0 255 128 128 255 32 32 255 0 0 255 128 128 255 32 32]; out(:,:,2) = out(:,:,3) = out(:,:,1); out = uint8(out); cmap = [0 0 0; 0.5 0.5 0.5; 0.125 0.125 0.125]; ***** assert (label2rgb (in, cmap), out); ***** assert (label2rgb (uint8 (in), cmap), out); ***** assert (label2rgb (in, "test_colormap"), out); ***** assert (label2rgb (in, @test_colormap), out); out(find (in == 0)) = 0; ***** assert (label2rgb (in, cmap, "cyan"), out); ***** assert (label2rgb (in, cmap, [0 1 1]), out); in(1) = 10; ***** error label2rgb (in, cmap); ***** error label2rgb (in, cmap, 89); ***** error label2rgb (in, cmap, "g", "wrong"); 9 tests, 9 passed, 0 known failure, 0 skipped [inst/hough.m] >>>>> /<>/inst/hough.m ***** shared BW0, BW1, BW2, BWx, BWy BW0 = false (5); BW0(2,2) = true; BW1 = zeros (100, 100); BW1(1,1) = 1; BW1(100,100) = 1; BW1(1,100) = 1; BW1(100, 1) = 1; BW1(50,50) = 1; n = 100; BW2 = false (n); a = 50; # line starts at left side at row a b = 3; # slope of line is 1:b for column = 1:n if (rem (column, b) == 0) row = a - column/b; BW2(row, column) = true; endif endfor BWx = false (10); BWx(:,5) = true; BWy = false (10); BWy(5,:) = true; ***** test [H, T, R] = hough (BW1); assert (size (H), [283 180]); ***** test [H, T, R] = hough (BW1, "Theta", [-90 0 45 79]); assert (size (H), [283 4]); ***** test [H, T, R] = hough (BW1, "ThetaResolution", 0.5); assert (size (H), [283 360]); ***** error hough ("foo") ***** test I = [0 0 1 0; 1 1 1 1; 0 0 1 1; 0 0 1 0]; I2 = I; for v = [0.7 0.2 5] I2(1,3) = v; assert (hough (I2), hough (I)) endfor ***** error [H, T, R] = hough (BW0, "Theta"); ***** error [H, T, R] = hough (BW0, "Theta", ones (10)); ***** error [H, T, R] = hough (BW0, "Theta", [5 -i 7]); ***** error [H, T, R] = hough (BW0, "RhoResolution", 0.5); ***** test [Hd, Td, Rd] = hough (BW0); [H1, T1, R1] = hough (BW0, "RhoResolution", 1); assert (Hd, H1) assert (Td, T1) assert (Rd, R1) ***** test [H, theta, rho] = hough (BW2); H_max = max (H(:)); H_size = size (H); [~, max_idx_lin] = max (H(:)); [max_row, max_column] = ind2sub (size (H), max_idx_lin); theta_max = theta(max_column); rho_max = rho(max_row); assert (H_max , 33); assert (H_size, [283 180]); assert (max_row, 188); assert (max_column, 163); assert (theta_max, 72); assert (rho_max, 46); ***** test [H, theta, rho] = hough (BW2, "Theta", [65:1:75]); H_max = max (H(:)); H_size = size (H); [~, max_idx_lin] = max (H(:)); [max_row, max_column] = ind2sub (size (H), max_idx_lin); theta_max = theta(max_column); rho_max = rho(max_row); assert (H_max , 33); assert (H_size, [283 11]); assert (max_row, 188); assert (max_column, 8); assert (theta_max, 72); assert (rho_max, 46); ***** test [H, theta, rho] = hough (BW2, "Theta", [-90:0.5:89.5]); H_max = max (H(:)); H_size = size (H); [~, max_idx_lin] = max (H(:)); [max_row, max_column] = ind2sub (size (H), max_idx_lin); theta_max = theta(max_column); rho_max = rho(max_row); assert (H_max , 33); assert (H_size, [283 360]); assert (max_row, 188); assert (max_column, 324); assert (theta_max, 71.5); assert (rho_max, 46); ***** test [H, theta, rho] = hough (BW2, "ThetaResolution", 0.5); H_max = max (H(:)); H_size = size (H); [~, max_idx_lin] = max (H(:)); [max_row, max_column] = ind2sub (size (H), max_idx_lin); theta_max = theta(max_column); rho_max = rho(max_row); assert (H_max , 33); assert (H_size, [283 360]); assert (max_row, 188); assert (max_column, 324); assert (theta_max, 71.5); assert (rho_max, 46); ***** test [H, theta, rho] = hough (BWx); H_max = max (H(:)); [~, max_idx_lin] = max (H(:)); [max_row, max_column] = ind2sub (size (H), max_idx_lin); theta_max = theta(max_column); rho_max = rho(max_row); assert (H_max , 10); assert (max_column, 88); assert (theta_max, -3); assert (rho_max, 4); ***** xtest # those ones are currently not Matlab compatible [H, theta, rho] = hough (BWx); H_size = size (H); [~, max_idx_lin] = max (H(:)); [max_row, max_column] = ind2sub (size (H), max_idx_lin); assert (H_size, [27 180]); assert (max_row, 18); !!!!! known failure ASSERT errors for: assert (H_size,[27, 180]) Location | Observed | Expected | Reason (1) 29 27 Abs err 2 exceeds tol 0 by 2 ***** test [H, theta, rho] = hough (BWy); H_max = max (H(:)); [~, max_idx_lin] = max (H(:)); [max_row, max_column] = ind2sub (size (H), max_idx_lin); theta_max = theta(max_column); rho_max = rho(max_row); assert (H_max , 10); assert (max_column, 1); assert (theta_max, -90); assert (rho_max, -4); ***** xtest # those ones are currently not Matlab compatible [H, theta, rho] = hough (BWy); H_size = size (H); [~, max_idx_lin] = max (H(:)); [max_row, max_column] = ind2sub (size (H), max_idx_lin); assert (H_size, [27 180]); assert (max_row, 11); !!!!! known failure ASSERT errors for: assert (H_size,[27, 180]) Location | Observed | Expected | Reason (1) 29 27 Abs err 2 exceeds tol 0 by 2 ***** demo BW = zeros (100, 150); BW(30,:) = 1; BW(:, 65) = 1; BW(35:45, 35:50) = 1; for i = 1:90 BW(i,i) = 1; endfor BW = imnoise (BW, "salt & pepper"); figure (); imshow (BW); title ("BW"); [H, theta, rho] = hough (BW); H /= max (H(:)); figure (); imshow (H, "XData", theta, "YData", rho); title ("hough transform of BW"); axis on; xlabel ("angle \\theta [degrees]"); ylabel ("distance \\rho to origin [pixels]"); 18 tests, 16 passed, 2 known failures, 0 skipped [inst/imhmin.m] >>>>> /<>/inst/imhmin.m ***** shared im0, im0_h2_out im0 = uint8 ([5 5 5 5 5; 5 4 3 4 5; 5 3 0 3 5; 5 4 3 4 5; 5 5 5 5 5]); im0_h2_out = uint8 ([5 5 5 5 5; 5 4 3 4 5; 5 3 2 3 5; 5 4 3 4 5; 5 5 5 5 5]); ***** error imhmin () ***** error imhmin (im0) ***** error imhmin ("hello", 2) ***** error imhmin (i.*im0, 2) ***** error imhmin (sparse (im0), 2) ***** error imhmin (im0, -2) ***** error imhmin (im0, 'a') ***** error imhmin (im0, ones (2)) ***** error imhmin (im0, 2*i) ***** assert (imhmin (im0, 2), im0_h2_out) ***** assert (imhmin (double (im0), 2), double (im0_h2_out)) ***** assert (imhmin (im0, 2, 8), im0_h2_out) ***** assert (imhmin (im0, 2, 4), im0_h2_out) ***** assert (imhmin (im0, 2, true (3)), im0_h2_out) ***** test out = imhmin (double (im0), 2); assert (size (out), size (im0)) assert (class (out), "double") ***** test out = imhmin (single (im0), 2); assert (size (out), size (im0)) assert (class (out), "single") ***** test out = imhmin (uint8 (im0), 2); assert (size (out), size (im0)) assert (class (out), "uint8") ***** test out = imhmin (uint16 (im0), 2); assert (size (out), size (im0)) assert (class (out), "uint16") ***** test im = cat (3, im0, im0, im0, im0); out = imhmin (im, 2); assert (size (out), size (im)) ***** test im = 10 .* ones (10); im(2:4, 2:4) = 7; im(6:8, 6:8) = 2; expected_4 = 10 .* ones (10); expected_4(6:8, 6:8) = 6; expected_2 = 10 .* ones (10); expected_2(6:8, 6:8) = 4; expected_2(2:4, 2:4) = 9; out = imhmin (im, 4); assert (out, expected_4, eps) out = imhmin (im, 2); assert (out, expected_2, eps) out = imhmin (0.1.*im, 0.4); assert (out, 0.1 .* expected_4, eps) ***** test im2 = 10 .* ones (10); im2(2:4, 2:4) = 7; im2(6:9, 6:9)=2; im2(5, 5)=2; im2(6, 7)=10; im2(7, 8)=10; expected_4 = 10 .* ones (10); expected_4(6:9, 6:9) = 6; expected_4(5, 5) = 6; expected_4(6, 7) = 10; expected_4(7, 8) = 10; expected_8 = expected_4; expected_8(2:4, 2:4) = 7; out2 = imhmin (im2, 4); assert (out2, expected_8, eps) out2 = imhmin (im2, 4, 4); assert (out2, expected_4, eps) out2 = imhmin (im2, 4, 8); assert (out2, expected_8, eps) 21 tests, 21 passed, 0 known failure, 0 skipped [inst/bestblk.m] >>>>> /<>/inst/bestblk.m ***** demo siz = bestblk ([200; 10], 50); disp (siz) ***** error bestblk ("string") ***** error bestblk ([100 200], "string") ***** error <2 elements> bestblk ([100], 5) ***** assert (bestblk ([ 10 12], 2), [ 2 2]); ***** assert (bestblk ([ 10 12], 3), [ 2 3]); ***** assert (bestblk ([300 100], 150), [150 100]); ***** assert (bestblk ([256 128], 17), [ 16 16]); ***** assert (bestblk ([ 17 17], 3), [ 3 3]); ***** assert (bestblk ([230 470]), bestblk ([230 470], 100)) ***** assert (bestblk ([10 12 10], 3), [2 3 2]); ***** assert (bestblk ([ 9 12 9], 3), [3 3 3]); ***** assert (bestblk ([10 12 10 11], 5), [5 4 5 4]); 12 tests, 12 passed, 0 known failure, 0 skipped [inst/makelut.m] >>>>> /<>/inst/makelut.m ***** demo makelut(inline('sum(x(:))>=3','x'), 2) % Returns '1' if one or more values % in the input matrix are 1 ***** assert(prod(makelut(inline('sum(x(:))==2','x'),2)==makelut(inline('sum(x(:))==a*b*c*d','x','a','b','c','d'),2,2/(3*4*5),3,4,5))); # test multiple params ***** assert(prod(makelut(inline('x(1,1)==1','x'),2)==[zeros(2^3,1);ones(2^3,1)])==1); # test 2-by-2 ***** assert(prod(makelut(inline('x(1,1)==1','x'),3)==[zeros(2^8,1);ones(2^8,1)])==1); # test 3-by-3 ***** assert(prod(makelut(inline('x(1,1)==1','x'),4)==[zeros(2^15,1);ones(2^15,1)])==1); # test 4-by-4 ***** assert(prod(makelut(inline('x(2,1)==1','x'),3)==[zeros(2^7,1);ones(2^7,1);zeros(2^7,1);ones(2^7,1)])==1); # another test for 3-by-3 5 tests, 5 passed, 0 known failure, 0 skipped [inst/lab2xyz.m] >>>>> /<>/inst/lab2xyz.m ***** assert (lab2xyz ([0, 0, 0]), [0 0 0], 1e-3) ***** assert (lab2xyz ([53.24, 80.09, 67.20]), [0.4125, 0.2127, 0.0193], 1e-3) ***** assert (lab2xyz ([97.14, -21.55, 94.48]), [0.7700, 0.9278, 0.1385], 1e-3) ***** assert (lab2xyz ([87.74, -86.18, 83.18]), [0.3576, 0.7152, 0.1192], 1e-3) ***** assert (lab2xyz ([91.11, -48.09, -14.13]), [0.5380, 0.7873, 1.0694], 1e-3) ***** assert (lab2xyz ([32.30, 79.19, -107.86]), [0.1804, 0.07217, 0.9502], 1e-3) ***** assert (lab2xyz ([60.32, 98.24, -60.83]), [0.5929, 0.28484, 0.9696], 1e-3) ***** assert (lab2xyz ([100, 0.00, 0.00]), [0.9505, 1.0000, 1.0888], 1e-3) ***** assert (lab2xyz ([53.39, 0.00, 0.00]), [0.2034, 0.2140, 0.2330], 1e-3) ***** assert (lab2xyz ([39.77, 64.51, 54.13]), [0.2155, 0.1111, 0.0101], 1e-3) ***** assert (lab2xyz ([25.42, 47.91, 37.91]), [0.0883, 0.0455, 0.0041], 1e-3) ***** assert (lab2xyz ([9.66, 29.68, 15.24]), [0.02094, 0.0108, 0.00098], 1e-3) ***** assert (lab2xyz ([68.11, 48.39, 22.83]), [0.5276, 0.3812, 0.2482], 1e-3) ***** assert (lab2xyz ([150 130 130]), [4.596, 2.931, 0.519], 1e-3) ***** test lab_map = rand (64, 3); lab_map(:,1) = lab_map(:,1) .* 100; lab_map(:,2) = lab_map(:,2) .* 254 - 127; lab_map(:,3) = lab_map(:,3) .* 254 - 127; assert (xyz2lab (lab2xyz (lab_map)), lab_map, 1e-5); ***** test lab_img = rand (64, 64, 3); lab_img(:,:,1) = lab_img(:,:,1) .* 100; lab_img(:,:,2) = lab_img(:,:,2) .* 254 - 127; lab_img(:,:,3) = lab_img(:,:,3) .* 254 - 127; assert (xyz2lab (lab2xyz (lab_img)), lab_img, 1e-5); ***** assert (lab2xyz (sparse ([0 0 0])), [0 0 0], 1e-3) ***** assert (lab2xyz (sparse ([100, 0.00, 0.00])), [0.9505, 1.0000, 1.0888], 1e-3) ***** assert (class (lab2xyz (single([50 50 50]))), 'single') ***** error lab2xyz () ***** error lab2xyz (1,2) ***** error lab2xyz ({1}) ***** error lab2xyz (ones (2,2)) ***** test lab = rand (16, 16, 3, 5); lab(:,:,1,:) = lab(:,:,1,:) .* 100; lab(:,:,2,:) = lab(:,:,2,:) .* 254 - 127; lab(:,:,3,:) = lab(:,:,3,:) .* 254 - 127; xyz = zeros (size (lab)); for i = 1:5 xyz(:,:,:,i) = lab2xyz (lab(:,:,:,i)); endfor assert (lab2xyz (lab), xyz) 24 tests, 24 passed, 0 known failure, 0 skipped [inst/radon.m] >>>>> /<>/inst/radon.m ***** test A = radon(ones(2,2),30); assert (A,[0 0 0.608253175473055 2.103325780167649 1.236538105676658 0.051882938682637 0]',1e-10) 1 test, 1 passed, 0 known failure, 0 skipped [inst/imdivide.m] >>>>> /<>/inst/imdivide.m ***** assert (imdivide (uint8 ([23 250]), uint8 ([ 2 50])), uint8 ([ 12 5])); # default to first class ***** assert (imdivide (uint8 ([56 255]), uint8 ([ 0 0])), uint8 ([255 255])); # dividing by zero works (tested in matlab) ***** assert (imdivide (uint8 ([23 250]), 2), uint8 ([ 12 125])); # works subtracting a scalar ***** assert (imdivide (uint8 ([23 250]), uint8 ([ 2 50]), "uint16"), uint16 ([ 12 5])); # defining output class works (not in matlab) ***** assert (imdivide (logical ([1 1 0 0]), logical ([1 0 1 0])), double ([1 Inf 0 NaN])); # dividing logical matrix (tested in matlab) ***** fail ("imdivide (uint8 ([23 250]), uint16 ([23 250]))"); # input needs to have same class 6 tests, 6 passed, 0 known failure, 0 skipped [inst/imgetfile.m] >>>>> /<>/inst/imgetfile.m ***** assert (1) 1 test, 1 passed, 0 known failure, 0 skipped [inst/otf2psf.m] >>>>> /<>/inst/otf2psf.m ***** function otf = rand_otf (varargin) otf = complex (rand (varargin{:}), rand (varargin{:})); ***** endfunction ***** test otf = rand_otf (6, 1); assert (otf2psf (otf), circshift (ifft (otf), 3), eps); ***** test otf = rand_otf (6, 6); assert (otf2psf (otf), circshift (ifft2 (otf), [3 3]), eps); ***** test otf = rand_otf (6, 6, 6); assert (otf2psf (otf), circshift (ifftn (otf), [3 3 3]), eps); ***** test otf = rand_otf (7, 1); assert (otf2psf (otf), circshift (ifft (otf), 3), eps); ***** test otf = rand_otf (7, 7); assert (otf2psf (otf), circshift (ifft2 (otf), [3 3]), eps); ***** test otf = rand_otf (6, 7, 8); assert (otf2psf (otf), circshift (ifftn (otf), [3 3 4]), eps); ***** test otf = rand_otf (7, 1); ppsf = circshift (ifft (otf), 3); assert (otf2psf (otf, 6), ppsf(1:6), eps); assert (otf2psf (otf, [6 1]), ppsf(1:6), eps); ***** test otf = rand_otf (7, 7); ppsf = circshift (ifft2 (otf), [3 3]); assert (otf2psf (otf, [6 1]), ppsf(1:6,4), eps); ***** test otf = rand_otf (6, 7); ppsf = circshift (ifft2 (otf), [3 3]); assert (otf2psf (otf, [6 6]), ppsf(:,1:6), eps); ***** error otf2psf ("not a otf") ***** error otf2psf (rand_otf (16), 18) ***** error otf2psf (rand_otf (16), [14 18]) ***** error otf2psf (rand_otf (16), [18 18]) ***** error otf2psf (rand_otf (16, 1), 18) ***** test psf = fspecial ("gaussian", 16); otf = psf2otf (psf); assert (otf2psf (otf), psf, eps); ***** xtest psf = rand (16); otf = psf2otf (psf); assert (otf2psf (otf), psf, 2*eps); ***** test psf = rand (8); otf = psf2otf (psf, [16 16]); assert (otf2psf (otf, [8 8]), psf, 2*eps); 17 tests, 17 passed, 0 known failure, 0 skipped [inst/imregionalmin.m] >>>>> /<>/inst/imregionalmin.m ***** test a = [ 7 3 9 3 10 3 4 2 3 10 1 3 1 4 6 9 4 10 8 7 9 3 4 8 5 9 3 3 8 9 3 6 9 4 1 10]; a4 = logical ([ 0 0 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0]); assert (imregionalmin (a, 4), a4) assert (imregionalmin (uint8 (a), 4), a4) assert (imregionalmin (int8 (a), 4), a4) a8 = logical ([ 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0]); assert (imregionalmin (a), a8) assert (imregionalmin (a, 8), a8) assert (imregionalmin (uint8 (a), 8), a8) assert (imregionalmin (int8 (a), 8), a8) ***** test a = [ 4 8 5 -1 8 7 -1 4 0 7 1 1 6 1 2 6 7 0 6 1 5 -2 5 9 1 4 -1 0 0 2 4 6 1 0 7 1]; a4 = logical ([ 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1]); assert (imregionalmin (a, 4), a4) assert (imregionalmin (int8 (a), 4), a4) a8 = logical ([ 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0]); assert (imregionalmin (a), a8) assert (imregionalmin (a, 8), a8) assert (imregionalmin (int8 (a), 8), a8) ***** test ## test float input images im0 = peaks (); im1 = im0 ./ 100; max_pos_expected = [1; 49; 664; 1286; 1302; 2401]; max0 = imregionalmin (im0); max0_pos = find (max0); max1 = imregionalmin (im1); assert (max1, max0) assert (max0_pos, max_pos_expected) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/imtophat.m] >>>>> /<>/inst/imtophat.m ***** assert (imtophat (ones (3), [1 1; 0 1]), zeros (3)); ***** assert (imtophat (true (3), [1 1; 0 1]), false (3)); ***** shared in, out, se in = [ 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0]; out = [ 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0]; ***** assert (imtophat (logical (in), ones (3)), logical (out)); out = [12 19 0 0 0 16 23 0 7 0 18 0 0 6 1 19 0 2 9 1 0 74 81 12 7 0 1 8 15 7 68 70 2 14 0 6 7 14 16 0 69 76 8 0 0 7 14 21 0 1 0 7 59 54 61 13 20 0 0 32 18 0 69 60 62 19 0 0 0 27 73 0 0 66 68 0 1 6 6 33 0 0 17 19 1 0 2 9 7 14 1 6 23 0 7 1 8 15 0 32]; ***** assert (imtophat (magic (10), ones (3)), out); ***** assert (imtophat (uint8 (magic (10)), strel ("square", 3)), uint8 (out)); ## using a se that will be decomposed in 2 pieces out =[91 98 0 0 0 27 34 11 18 0 94 76 3 6 1 33 15 17 24 1 0 77 84 12 7 14 16 23 30 7 80 82 14 18 0 32 34 41 43 0 81 88 20 0 0 33 40 47 24 6 12 19 63 57 64 16 23 0 7 39 18 0 69 60 62 19 1 3 12 39 73 0 0 66 68 0 2 9 18 45 4 6 81 67 49 6 8 15 19 26 5 12 87 48 55 7 14 21 0 32]; ***** assert (imtophat (magic (10), ones(5)), out); ## using a weird non-symmetric and even-size se out =[85 92 0 0 0 12 23 0 17 0 91 73 0 6 0 18 0 2 13 0 0 72 81 13 6 0 1 9 15 0 60 62 10 12 0 8 8 17 17 0 61 69 0 0 0 28 16 41 0 0 0 0 47 52 61 12 16 0 0 31 6 0 53 58 60 17 0 0 0 33 69 0 0 60 62 0 0 6 0 33 0 0 17 60 42 0 2 13 1 8 0 6 23 0 7 0 7 15 0 14]; ***** assert (imtophat (magic (10), [1 0 0 0; 1 1 1 0; 0 1 0 1]), out); ## N dimensional and weird se in = reshape (magic(16), [4 8 4 2]); se = ones (3, 3, 3); se(:,:,1) = [1 0 1; 0 1 1; 0 0 0]; se(:,:,3) = [1 0 1; 0 1 1; 0 0 1]; out = zeros (size (in)); out(:,:,1,1) = [ 239 146 82 18 0 19 83 133 0 35 99 163 219 128 64 0 0 46 128 195 187 123 59 0 157 93 47 0 14 78 142 211]; out(:,:,2,1) = [ 0 21 85 149 233 146 64 0 205 128 64 0 0 41 87 151 171 107 57 0 0 64 121 185 0 64 142 213 169 105 41 0]; out(:,:,3,1) = [ 231 146 78 14 0 27 77 137 0 43 107 167 211 128 64 0 0 46 128 199 179 119 51 0 149 85 39 0 18 78 142 219]; out(:,:,4,1) = [ 0 29 93 157 225 128 64 0 197 128 64 0 0 31 95 159 163 99 53 0 0 61 125 189 0 64 146 221 161 97 33 0]; out(:,:,1,2) = [ 223 146 82 18 0 35 99 149 0 48 115 179 203 128 64 0 0 46 128 211 171 107 43 0 141 77 31 0 14 78 142 227]; out(:,:,2,2) = [ 0 37 101 165 217 146 64 0 189 125 64 0 0 57 103 167 155 91 41 0 0 64 128 201 0 64 142 229 153 89 25 0]; out(:,:,3,2) = [ 215 146 78 14 0 43 93 153 0 48 123 183 195 128 64 0 0 46 128 215 163 103 35 0 133 69 23 0 18 78 142 235]; out(:,:,4,2) = [ 0 45 109 173 209 128 64 0 181 117 64 0 0 47 111 175 147 83 37 0 0 64 128 205 0 64 146 237 145 81 17 0]; ***** assert (imtophat (in, se), out); 8 tests, 8 passed, 0 known failure, 0 skipped [inst/rgb2ycbcr.m] >>>>> /<>/inst/rgb2ycbcr.m ***** test in(:,:,1) = magic (5); in(:,:,2) = magic (5); in(:,:,3) = magic (5); out(:,:,1) = [31 37 17 23 29 36 20 22 28 30 19 21 27 33 35 25 26 32 34 19 25 31 37 18 24]; out(:,:,2) = 128; out(:,:,3) = 128; assert (rgb2ycbcr (uint8 (in)), uint8 (out)); ***** shared cbcr cbcr = 0.5019607843137255; out(1:10, 1) = linspace (16/255, 235/255, 10); out(:, [2 3]) = cbcr; assert (rgb2ycbcr (gray (10)), out, 0.00001); ***** assert (rgb2ycbcr ([1 1 1]), [0.92157 cbcr cbcr], 0.0001); ***** assert (class (rgb2ycbcr (single (rand (5, 5, 3)))), "single") 3 tests, 3 passed, 0 known failure, 0 skipped [inst/imimposemin.m] >>>>> /<>/inst/imimposemin.m ***** shared im0, bw0, out0, out0_4 im0 = uint8 ([5 5 5 5 5; 5 4 3 4 5; 5 3 0 3 5; 5 4 3 4 5; 5 5 5 5 5]); bw0 = false (5); bw0(4, 4) = true; out0 = im0 + 1; out0(4, 4) = 0; out0_4 = out0; out0_4(3, 3) = 4; ***** error imimposemin () ***** error imimposemin (im0) ***** error imimposemin ("hello", bw0) ***** error imimposemin (i.*im0, bw0) ***** error imimposemin (sparse (im0), bw0) ***** error imimposemin (im0, ones (2)) ***** error imimposemin (im0, 'hello') ***** error imimposemin (im0, i .* double (bw0)) ***** error imimposemin (im0, sparse (bw0)) ***** error imimposemin (im0, bw0, 'hello') ***** error imimposemin (im0, bw0, 3) ***** assert (imimposemin (im0, bw0), out0) ***** assert (imimposemin (im0, bw0, 8), out0) ***** assert (imimposemin (im0, bw0, 4), out0_4) ***** assert (imimposemin (im0, bw0, true (3)), out0) ***** test out = imimposemin (im0, bw0); assert (size (out), size (im0)) assert (class (out), "uint8") ***** test out = imimposemin (double (im0), bw0); assert (size (out), size (im0)) assert (class (out), "double") ***** test out = imimposemin (single (im0), bw0); assert (size (out), size (im0)) assert (class (out), "single") ***** test out = imimposemin (uint16 (im0), bw0); assert (size (out), size (im0)) assert (class (out), "uint16") ***** test im = cat (3, im0, im0, im0, im0); bw = cat (3, bw0, bw0, bw0, bw0); out = imimposemin (im, bw); assert (size (out), size (im)) ***** test expected_double = double (im0); expected_double += 0.005; expected_double(4, 4) = -inf; out = imimposemin (double (im0), bw0); assert (out, expected_double, eps) ***** test im = uint8 (10 .* ones (10)); im(6:8, 6:8) = 2; im(2:4, 2:4) = 7; im(3, 3) = 5; im(2, 9) = 9; im(3, 8) = 9; im(9, 2) = 9; im(8, 3) = 9; bw = false (10); bw(3, 3) = true; bw(6:8, 6:8) = true; expected = uint8 (11 .* ones(10)); expected(2:4, 2:4) = 8; expected(3, 3) = 0; expected(6:8, 6:8) = 0; expected_double = double (expected); expected_double -= 0.992; expected_double (expected_double < 0) = -inf; out = imimposemin (im, bw); assert (out, expected, eps) out = imimposemin (double (im), bw); assert (out, expected_double, eps) 22 tests, 22 passed, 0 known failure, 0 skipped [inst/histeq.m] >>>>> /<>/inst/histeq.m ***** assert (histeq ([]), []); ***** assert (histeq (0), 1); ***** assert (histeq (1), 1); ***** assert (histeq (1.5), 1); ***** assert (histeq (zeros (100, 200)), ones (100, 200)); # matrix ***** xtest assert (histeq ([0 1]), [0.4920634921 1], 10^-8); !!!!! known failure ASSERT errors for: assert (histeq ([0, 1]),[0.4920634921, 1],10 ^ -8) Location | Observed | Expected | Reason (1) 0.5 0.49206 Abs err 0.0079365 exceeds tol 1e-08 by 0.008 ***** xtest assert (histeq ([0 1]'), [0.4920634921 1]', 10^-8); # column array !!!!! known failure ASSERT errors for: assert (histeq ([0, 1]'),[0.4920634921, 1]',10 ^ -8) Location | Observed | Expected | Reason (1) 0.5 0.49206 Abs err 0.0079365 exceeds tol 1e-08 by 0.008 ***** xtest assert (histeq ([0 255]), [0.4920634921 1], 10^-8); !!!!! known failure ASSERT errors for: assert (histeq ([0, 255]),[0.4920634921, 1],10 ^ -8) Location | Observed | Expected | Reason (1) 0.5 0.49206 Abs err 0.0079365 exceeds tol 1e-08 by 0.008 ***** xtest assert (histeq (uint8 ([0 1])), [ 125 190]); # uint8 !!!!! known failure ASSERT errors for: assert (histeq (uint8 ([0, 1])),[125, 190]) Location | Observed | Expected | Reason (1) 0.5 125 Abs err 124.5 exceeds tol 0 by 1e+02 (2) 1 190 Abs err 189 exceeds tol 0 by 2e+02 ***** xtest assert (histeq (uint8 ([0 255])), [ 125 255]); !!!!! known failure ASSERT errors for: assert (histeq (uint8 ([0, 255])),[125, 255]) Location | Observed | Expected | Reason (1) 0.5 125 Abs err 124.5 exceeds tol 0 by 1e+02 (2) 1 255 Abs err 254 exceeds tol 0 by 3e+02 ***** xtest assert (histeq (uint16 ([0 1])), [65535 65535]); # uint16 !!!!! known failure ASSERT errors for: assert (histeq (uint16 ([0, 1])),[65535, 65535]) Location | Observed | Expected | Reason (1) 0.5 65535 Abs err 65534 exceeds tol 0 by 7e+04 (2) 1 65535 Abs err 65534 exceeds tol 0 by 7e+04 ***** xtest assert (histeq (uint16 ([0 255])), [32247 48891]); !!!!! known failure ASSERT errors for: assert (histeq (uint16 ([0, 255])),[32247, 48891]) Location | Observed | Expected | Reason (1) 0.5 32247 Abs err 32246 exceeds tol 0 by 3e+04 (2) 1 48891 Abs err 48890 exceeds tol 0 by 5e+04 ***** xtest assert (histeq (uint16 ([0 256])), [32247 48891]); !!!!! known failure ASSERT errors for: assert (histeq (uint16 ([0, 256])),[32247, 48891]) Location | Observed | Expected | Reason (1) 0.5 32247 Abs err 32246 exceeds tol 0 by 3e+04 (2) 1 48891 Abs err 48890 exceeds tol 0 by 5e+04 ***** xtest assert (histeq (uint16 ([0 65535])), [32247 65535]); !!!!! known failure ASSERT errors for: assert (histeq (uint16 ([0, 65535])),[32247, 65535]) Location | Observed | Expected | Reason (1) 0.5 32247 Abs err 32246 exceeds tol 0 by 3e+04 (2) 1 65535 Abs err 65534 exceeds tol 0 by 7e+04 ***** test assert (histeq ([0 1 1] ), [ 1/3 1 1] , 10^-8); ***** test assert (histeq ([0 0 1]'), [ 2/3 2/3 1]', 10^-8); ***** xtest assert (histeq ([0 1 2] ), [ 1/3 1 1] , 10^-8); !!!!! known failure ASSERT errors for: assert (histeq ([0, 1, 2]),[1 / 3, 1, 1],10 ^ -8) Location | Observed | Expected | Reason (2) 0.66667 1 Abs err 0.33333 exceeds tol 1e-08 by 0.3 ***** xtest assert (histeq (uint8 ([0 1 2])), [ 85 125 215]); !!!!! known failure ASSERT errors for: assert (histeq (uint8 ([0, 1, 2])),[85, 125, 215]) Location | Observed | Expected | Reason (1) 0.33333 85 Abs err 84.667 exceeds tol 0 by 8e+01 (2) 0.66667 125 Abs err 124.33 exceeds tol 0 by 1e+02 (3) 1 215 Abs err 214 exceeds tol 0 by 2e+02 ***** xtest assert (histeq (uint16 ([0 1 2])), [65535 65535 65535]); !!!!! known failure ASSERT errors for: assert (histeq (uint16 ([0, 1, 2])),[65535, 65535, 65535]) Location | Observed | Expected | Reason (1) 0.33333 65535 Abs err 65535 exceeds tol 0 by 7e+04 (2) 0.66667 65535 Abs err 65534 exceeds tol 0 by 7e+04 (3) 1 65535 Abs err 65534 exceeds tol 0 by 7e+04 ***** xtest assert (histeq (uint16 ([0 100 200])), [43690 43690 55133]); !!!!! known failure ASSERT errors for: assert (histeq (uint16 ([0, 100, 200])),[43690, 43690, 55133]) Location | Observed | Expected | Reason (1) 0.33333 43690 Abs err 43690 exceeds tol 0 by 4e+04 (2) 0.66667 43690 Abs err 43689 exceeds tol 0 by 4e+04 (3) 1 55133 Abs err 55132 exceeds tol 0 by 6e+04 ***** xtest J = [20 32 57 81 105 125 150 174 198 223 247]; assert (histeq (uint8 (0:10:100)), J); !!!!! known failure ASSERT errors for: assert (histeq (uint8 (0:10:100)),J) Location | Observed | Expected | Reason (1) 0.090909 20 Abs err 19.909 exceeds tol 0 by 2e+01 (2) 0.18182 32 Abs err 31.818 exceeds tol 0 by 3e+01 (3) 0.27273 57 Abs err 56.727 exceeds tol 0 by 6e+01 (4) 0.36364 81 Abs err 80.636 exceeds tol 0 by 8e+01 (5) 0.45455 105 Abs err 104.55 exceeds tol 0 by 1e+02 (6) 0.54545 125 Abs err 124.45 exceeds tol 0 by 1e+02 (7) 0.63636 150 Abs err 149.36 exceeds tol 0 by 1e+02 (8) 0.72727 174 Abs err 173.27 exceeds tol 0 by 2e+02 (9) 0.81818 198 Abs err 197.18 exceeds tol 0 by 2e+02 (10) 0.90909 223 Abs err 222.09 exceeds tol 0 by 2e+02 (11) 1 247 Abs err 246 exceeds tol 0 by 2e+02 ***** xtest J = [0.0793650794 0.1269841270 0.2222222222 0.3174603175 0.4126984127 0.4920634921 0.5873015873 0.6825396825 0.7777777778 0.8730158730 1.0000000000]; assert (histeq (0:0.1:1), J', 10^-8); !!!!! known failure ASSERT errors for: assert (histeq (0:0.1:1),J',10 ^ -8) Location | Observed | Expected | Reason (1) 0.090909 0.079365 Abs err 0.011544 exceeds tol 1e-08 by 0.01 (2) 0.18182 0.12698 Abs err 0.054834 exceeds tol 1e-08 by 0.05 (3) 0.27273 0.22222 Abs err 0.050505 exceeds tol 1e-08 by 0.05 (4) 0.36364 0.31746 Abs err 0.046176 exceeds tol 1e-08 by 0.05 (5) 0.45455 0.4127 Abs err 0.041847 exceeds tol 1e-08 by 0.04 (6) 0.54545 0.49206 Abs err 0.053391 exceeds tol 1e-08 by 0.05 (7) 0.63636 0.5873 Abs err 0.049062 exceeds tol 1e-08 by 0.05 (8) 0.72727 0.68254 Abs err 0.044733 exceeds tol 1e-08 by 0.04 (9) 0.81818 0.77778 Abs err 0.040404 exceeds tol 1e-08 by 0.04 (10) 0.90909 0.87302 Abs err 0.036075 exceeds tol 1e-08 by 0.04 22 tests, 7 passed, 15 known failures, 0 skipped [inst/imhmax.m] >>>>> /<>/inst/imhmax.m ***** shared im0, im0_h2_out im0 = uint8 ([0 0 0 0 0; 0 1 2 1 0; 0 2 5 2 0; 0 1 2 1 0; 0 0 0 0 0]); im0_h2_out = uint8 ([0 0 0 0 0; 0 1 2 1 0; 0 2 3 2 0; 0 1 2 1 0; 0 0 0 0 0]); ***** error imhmax () ***** error imhmax (im0) ***** error imhmax ("hello", 2) ***** error imhmax (i.*im0, 2) ***** error imhmax (sparse (im0), 2) ***** error imhmax (im0, -2) ***** error imhmax (im0, 'a') ***** error imhmax (im0, ones (2)) ***** error imhmax (im0, 2*i) ***** assert (imhmax (im0, 2), im0_h2_out) ***** assert (imhmax (double (im0), 2), double (im0_h2_out)) ***** assert (imhmax (im0, 2, 8), im0_h2_out) ***** assert (imhmax (im0, 2, 4), im0_h2_out) ***** assert (imhmax (im0, 2, true (3)), im0_h2_out) ***** test out = imhmax (double (im0), 2); assert (size (out), size (im0)) assert (class (out), "double") ***** test out = imhmax (single (im0), 2); assert (size (out), size (im0)) assert (class (out), "single") ***** test out = imhmax (uint8 (im0), 2); assert (size (out), size (im0)) assert (class (out), "uint8") ***** test out = imhmax (uint16 (im0), 2); assert (size (out), size (im0)) assert (class (out), "uint16") ***** test im = cat (3, im0, im0, im0, im0); out = imhmax (im, 2); assert (size (out), size (im)) ***** test im = zeros (10); im(2:4, 2:4) = 3; im(6:8, 6:8) = 8; expected_4 = zeros (10); expected_4(6:8, 6:8) = 4; expected_2 = zeros (10); expected_2(2:4, 2:4) = 1; expected_2(6:8, 6:8) = 6; out = imhmax (im, 4); assert (out, expected_4, eps) out = imhmax (im, 2); assert (out, expected_2, eps) out = imhmax (0.1 .* im, 0.4); assert (out, 0.1 .* expected_4, eps) ***** test im2 = zeros (10); im2(2:4, 2:4) = 3; im2(6:9, 6:9)=8; im2(5, 5)=8; im2(6, 7)=0; im2(7, 8)=0; expected_4 = zeros (10); expected_4(6:9, 6:9) = 4; expected_4(5, 5) = 4; expected_4(6, 7) = 0; expected_4(7, 8) = 0; expected_8 = expected_4; expected_8(2:4, 2:4) = 3; out2 = imhmax (im2, 4); assert (out2, expected_8, eps) out2 = imhmax (im2, 4, 4); assert (out2, expected_4, eps) out2 = imhmax (im2, 4, 8); assert (out2, expected_8, eps) 21 tests, 21 passed, 0 known failure, 0 skipped [inst/entropy.m] >>>>> /<>/inst/entropy.m ***** assert (entropy ([0 1]), 1) ***** assert (entropy (uint8 ([0 1])), 1) ***** assert (entropy ([0 0]), 0) ***** assert (entropy ([0]), 0) ***** assert (entropy ([1]), 0) ***** assert (entropy ([0 .5; 2 0]), 1.5) ***** assert (entropy (repmat ([0 .5; 2 0], 1, 1, 3)), entropy ([0 .5; 2 0])) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/bwareafilt.m] >>>>> /<>/inst/bwareafilt.m ***** shared a2d, a3d a2d = [1 0 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1]; a3d = a2d; a3d(:,:,2) = [ 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0]; a3d(:,:,3) = [ 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0]; ***** test f2d = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0]; assert (bwareafilt (a2d, 2), logical (f2d)); assert (bwareafilt (a2d, 2, 8), logical (f2d)); assert (bwareafilt (a2d, 2, 4), logical (f2d)); ***** test f2d = [1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0]; assert (bwareafilt (a2d, 5), logical (f2d)); assert (bwareafilt (a2d, 5, 8), logical (f2d)); ***** test f2d = [0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1]; assert (bwareafilt (a2d, 11, "smallest", 4), logical (f2d)); ***** test f2d = [1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; assert (bwareafilt (a2d, [3 5]), logical (f2d)); assert (bwareafilt (a2d, [3 5], 8), logical (f2d)); ***** test f2d = [1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; assert (bwareafilt (a2d, [3 4], 4), logical (f2d)); assert (bwareafilt (a2d, [3 4], [0 1 0; 1 1 1; 0 1 0]), logical (f2d)); ***** test f2d = [1 0 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0]; assert (bwareafilt (a2d, [2 4]), logical (f2d)); assert (bwareafilt (a2d, [2 4], 8), logical (f2d)); assert (bwareafilt (a2d, [2 4], ones (3)), logical (f2d)); ***** test f3d = [0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0]; f3d(:,:,2) = [ 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0]; f3d(:,:,3) = [ 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0]; assert (bwareafilt (a3d, 2), logical (f3d)); assert (bwareafilt (a3d, 2, 26), logical (f3d)); assert (bwareafilt (a3d, 2, ones (3, 3, 3)), logical (f3d)); ***** test f3d = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0]; f3d(:,:,2) = [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0]; f3d(:,:,3) = [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0]; assert (bwareafilt (a3d, 2, 6), logical (f3d)); assert (bwareafilt (a3d, 2, conndef (3, "minimal")), logical (f3d)); 8 tests, 8 passed, 0 known failure, 0 skipped [inst/imfindcircles.m] >>>>> /<>/inst/imfindcircles.m ***** shared im0, rgb0, im1 im0 = [0 0 0 0 0; 0 1 2 1 0; 0 2 5 2 0; 0 1 2 1 0; 0 0 0 0 0]; rgb0 = cat (3, im0, 3.*im0, 2.*im0); im1 = zeros (20); im1(2:6, 5:9) = 1; im1(13:19, 13:19) = 1; ***** function image = circlesimage (numx, numy, centersx, centersy, rs, values) ## create an image with circles of given parameters num = length (centersx); image = zeros (numy, numx); [indy, indx] = meshgrid (1:numx, 1:numy); for n = 1:num centerx = centersx(n); centery = centersy(n); r = rs(n); value = values(n); dist_squared = (indx - centerx).^ 2 + (indy - centery).^ 2; image(dist_squared <= (r-0.5)^2) = value; endfor ***** endfunction ***** error imfindcircles () ***** error imfindcircles (im0) ***** error imfindcircles (im0, [1 2 3]) ***** error imfindcircles (im0, -3) ***** error imfindcircles (im0, 4+2*i) ***** error imfindcircles (ones (5,5,4), 2) ***** error imfindcircles (ones (5,5,5,5), 2) ***** error imfindcircles (im0, [2 1]) ***** error imfindcircles (im0, 2, "rubbish") ***** error imfindcircles (im0, 2, "more", "rubbish") ***** error imfindcircles (im0, 2, "ObjectPolarity", "rubbish") ***** error imfindcircles (im0, 2, "ObjectPolarity", 5) ***** error imfindcircles (im0, 2, "ObjectPolarity") ***** error imfindcircles (im0, 2, "Method", "rubbish") ***** error imfindcircles (im0, 2, "Method", 5) ***** error imfindcircles (im0, 2, "Method") ***** error imfindcircles (im0, 2, "Sensitivity", "rubbish") ***** error imfindcircles (im0, 2, "Sensitivity") ***** error imfindcircles (im0, 2, "Sensitivity", -0.1) ***** error imfindcircles (im0, 2, "Sensitivity", 1.1) ***** error imfindcircles (im0, 2, "Sensitivity", [0.1 0.2]) ***** error imfindcircles (im0, 2, "EdgeThreshold", "rubbish") ***** error imfindcircles (im0, 2, "EdgeThreshold") ***** error imfindcircles (im0, 2, "EdgeThreshold", -0.1) ***** error imfindcircles (im0, 2, "EdgeThreshold", 1.1) ***** error imfindcircles (im0, 2, "EdgeThreshold", [0.1 0.2]) ***** error imfindcircles (im0, 2, "EdgeThreshold", 0.1, "ObjectPolarity", "bright", "Sensitivity", 0.3, "Method", "PhaseCode", "more", 1) ***** test # none of this should fail imfindcircles (im0, 2); imfindcircles (im0, [1 2]); imfindcircles (logical (im0), 2); imfindcircles (logical (im0), [1 2]); imfindcircles (rgb0, 2); imfindcircles (rgb0, [1 2]); imfindcircles (uint8 (im0), 2); imfindcircles (uint8 (im0), [1 2]); imfindcircles (im0, 2, "ObjectPolarity", "bright"); imfindcircles (im0, 2, "ObjectPolarity", "dark"); imfindcircles (im0, 2, "Method", "PhaseCode"); imfindcircles (im0, 2, "Sensitivity", 0.5); imfindcircles (im0, 2, "EdgeThreshold", 0.5); imfindcircles (im0, 2, "ObjectPolarity", "bright", "Method", "PhaseCode"); imfindcircles (im0, 2, "ObjectPolarity", "bright", "Sensitivity", 0.3, "Method", "PhaseCode"); imfindcircles (im0, 2, "EdgeThreshold", 0.1, "ObjectPolarity", "bright", "Sensitivity", 0.3, "Method", "PhaseCode"); ***** test centers = imfindcircles (im1, 2); assert (size (centers, 2), 2) assert (class (centers), "double") ***** test [centers, radii] = imfindcircles (im1, [1 5]); assert (size (centers, 2), 2) assert (size (radii, 2), 1) assert (class (radii), "double") ***** test [centers, radii, strengths] = imfindcircles (im1, [1 5]); assert (size (strengths, 2), 1) assert (class (strengths), "double") ***** error [a b c d] = imfindcircles (im0, 2); ***** test ## sub-pixel accuracy of circle center xs = [95.7]; ys = [101.1]; rs = [50]; vals = [0.5]; im = circlesimage (200, 200, xs, ys, rs, vals); filt = ones (3) ./ 9; im = imfilter (im, filt); [centers, radii] = imfindcircles (im, [40 60]); assert (centers, [101.1, 95.7], 0.1); assert (radii, 50, 1); ***** test ## specificity to circular shapes and strengths output value xs = [100 202]; ys = [101, 203]; rs = [40, 41]; vals = [0.8, 0.9]; im = circlesimage (300, 300, xs, ys, rs, vals); filt = ones (3) ./ 9; im = imfilter (im, filt); im(30:170, 50:100) = 0; im(20:120, 180:280) = 1; [centers, radii, strengths] = imfindcircles (im, [30 50], "Sensitivity", 0.9); assert (size (centers), [2 2]); assert (centers, [203, 202; 101, 100], 1.5); assert (radii, [40; 41], 2.5); assert (strengths(1) / strengths(2) > 1.8, true); ***** test # radius range parameter & dark circles xs = [50, 420, 180]; ys = [80, 100, 200]; rs = [35, 30, 40]; vals = [0.7, 0.8, 0.9]; im = circlesimage (300, 500, xs, ys, rs, vals); filt = ones (3) ./ 9; im = imfilter (im, filt); [centers1, radii1] = imfindcircles (im, [28 36]); [centers2, radii2] = imfindcircles (im, [28 42]); assert (size (centers1), [2 2]); assert (centers1, [100 420; 80 50], 0.2); assert (radii1, [30; 35], 2); assert (size (centers2), [3 2]); im_dark = 1-im; [centers_dark, radii_dark, strengths_dark] = imfindcircles (im_dark, [25 42], "ObjectPolarity", "dark"); assert (sortrows (centers_dark), [80 50; 100 420; 200 180], 0.2); assert (sortrows (radii_dark), [30; 35; 40], 1); ***** test # ability to find circles with big radius xs = [111, 555, 341]; ys = [222, 401, 161]; rs = [45, 50, 150]; vals = [0.6, 0.8, 0.7]; im = circlesimage (400, 701, xs, ys, rs, vals); [centers, radii] = imfindcircles (im, [140 160], "Sensitivity", 0.98); assert (centers, [161, 341], 0.2); assert (radii, 150, 1); ***** test # overlapping circles xs = [105, 155]; ys = [202, 221]; rs = [45, 50]; vals = [0.5, 0.8]; im = circlesimage(385, 422, xs, ys, rs, vals); filt = ones (3) ./ 9; im = imfilter (im, filt); [centers, radii] = imfindcircles (im, [30 80]); assert (centers, [221, 155; 202, 105], 0.5); assert (radii, [50; 45], 1); ***** test # overlapping circles, only 10 pixels apart xs = [155, 155]; ys = [175, 157]; rs = [50, 50]; vals = [0.7, 0.8]; im = circlesimage (300, 300, xs, ys, rs, vals); filt = ones (3) ./ 9; im = imfilter (im, filt); [centers, radii] = imfindcircles (im, [30 80], "Sensitivity", 0.95); assert (centers, [157, 155; 175, 155], 1); assert (radii, [50; 50], 1); ***** test # edge threshold parameter xs = [100 202]; ys = [101, 203]; rs = [40, 41]; vals = [0.1, 0.9]; im = circlesimage (300, 300, xs, ys, rs, vals); filt = ones (3) ./ 9; im= imfilter (im, filt); [centers_auto, radii_auto] = imfindcircles (im, [30 50]); [centers_0, radii_0] = imfindcircles (im, [30 50], "EdgeThreshold", 0); [centers_05, radii_05] = imfindcircles (im, [30 50], "EdgeThreshold", 0.5); assert (centers_auto, [203, 202], 0.2); assert (radii_auto, 41, 1); assert (centers_0, [101, 100; 203, 202], 0.2); assert (radii_0, [40; 41], 1); assert (centers_05, [203, 202], 0.2); assert (radii_05, 41, 1); ***** demo ## First generate an input image: model = [ 1.0 0.2 0.2 0.2 0.5 0 1.0 0.3 0.3 -0.1 -0.2 0 -0.5 0.7 0.7 -0.5 0.5 0]; im = phantom (model); im(170:230,170:230) = 1; im = imfilter (im, fspecial ("average", 3)); im = imnoise (im, "salt & pepper"); imshow (im); ## Find and show circles with radius between 20 and 50: [centers, radii] = imfindcircles (im, [20 50]); viscircles (centers, radii) title ("found circles in red") 39 tests, 39 passed, 0 known failure, 0 skipped [inst/im2col.m] >>>>> /<>/inst/im2col.m ***** demo ## Divide A using distinct blocks and then reverse the operation A = [ 1:10 11:20 21:30 31:40]; B = im2col (A, [2 5], "distinct") C = col2im (B, [2 5], [4 10], "distinct") ***** test a = rand (10); assert (im2col (a, [5 5]), im2col (a, [5 5], "sliding")) ***** test a = rand (10); assert (im2col (a, [5 5]), im2col (a, "indexed", [5 5])) ***** error im2col (rand (20), [2 5], 10) ***** error im2col (rand (20), [2 5], "wrong_block_type") ***** error im2col (rand (10), [5 5], "sliding", 5) ***** error im2col (rand (10), "indexed", [5 5], "sliding", 5) ***** shared B, A, Bs, As, Ap, Bp0, Bp1, Bp0_3s v = [1:10]'; r = reshape (v, 2, 5); B = [v v+20 v+40 v+10 v+30 v+50]; A = [r r+10; r+20 r+30; r+40 r+50]; As = [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]; b1 = As(1:2, 1:4)(:); b2 = As(2:3, 1:4)(:); b3 = As(1:2, 2:5)(:); b4 = As(2:3, 2:5)(:); Bs = [b1, b2, b3, b4]; Ap = A(:, 1:9); Bp1 = Bp0 = B; Bp0(9:10, 4:6) = 0; Bp1(9:10, 4:6) = 1; Bp0_3s = Bp0; Bp0_3s(11:30, :) = 0; ***** assert (im2col (A, [2 5], "distinct"), B); ***** assert (im2col (Ap, [2 5], "distinct"), Bp0); ***** assert (im2col (Ap, [2 5 3], "distinct"), Bp0_3s); ***** assert (im2col (Ap, "indexed", [2 5], "distinct"), Bp1); ***** assert (im2col (uint8 (Ap), "indexed", [2 5], "distinct"), uint8 (Bp0)); ***** assert (im2col (uint16 (Ap), "indexed", [2 5], "distinct"), uint16 (Bp0)); ***** assert (im2col (int16 (Ap), "indexed", [2 5], "distinct"), int16 (Bp1)); ***** assert (im2col (uint32 (Ap), "indexed", [2 5], "distinct"), uint32 (Bp1)); ***** assert (im2col (uint8 (A), [2 5], "distinct"), uint8 (B)); ***** assert (im2col (single (A), [2 5], "distinct"), single (B)); ***** assert (im2col (logical (A), [2 5], "distinct"), logical (B)); ***** assert (im2col (uint8 (As), [2 4], "sliding"), uint8 (Bs)); ***** assert (im2col (single (As), [2 4], "sliding"), single (Bs)); ***** assert (im2col (logical (As), [2 4], "sliding"), logical (Bs)); ***** assert (im2col (As, [2 4], "sliding"), Bs); ***** assert (im2col (As, [3 5], "sliding"), As(:)); ***** test A = randi (9, 10, 9, 5); ***** assert (convn (A, ones (3, 3, 3), "valid"), reshape (sum (im2col (A, [3 3 3])), [8 7 3])); A = randi (9, 10, 9, 5, 7); ***** assert (convn (A, ones (3, 3, 3), "valid"), reshape (sum (im2col (A, [3 3 3])), [8 7 3 7])); ***** assert (convn (A, ones (3, 4, 3), "valid"), reshape (sum (im2col (A, [3 4 3])), [8 6 3 7])); ***** assert (convn (A, ones (3, 5, 3, 2), "valid"), reshape (sum (im2col (A, [3 5 3 2])), [8 5 3 6])); ***** assert (im2col (1:8, [2 1]), zeros (2, 0)) 28 tests, 28 passed, 0 known failure, 0 skipped [inst/ordfiltn.m] >>>>> /<>/inst/ordfiltn.m ***** shared b, f, s b = [ 0 1 2 3 1 8 12 12 4 20 24 21 7 22 25 18]; f = [ 8 12 12 12 20 24 24 24 22 25 25 25 22 25 25 25]; ***** assert (ordfiltn (b, 9, true (3)), f); f = [ 1 8 12 12 8 20 21 21 20 24 24 24 20 24 24 24]; ***** assert (ordfiltn (b, 8, true (3)), f); f = [ 1 2 8 12 4 12 20 21 8 22 22 21 20 24 24 24]; ***** assert (ordfiltn (b, 7, true (3), "symmetric"), f); f = [ 1 8 12 12 4 20 24 21 7 22 25 21 7 22 25 21]; ***** assert (ordfiltn (b, 3, true (3, 1)), f); f = [ 1 8 12 12 4 20 24 18 4 20 24 18 4 20 24 18]; ***** assert (ordfiltn (b, 3, true (4, 1)), f); f = [ 4 20 24 21 7 22 25 21 7 22 25 21 7 22 25 21]; ***** assert (ordfiltn (b, 4, true (4, 1)), f); s = [0 0 1 0 0 1 0 0 1]; f = [ 2 8 12 12 9 20 22 21 21 25 24 24 21 25 24 24]; ***** assert (ordfiltn (b, 8, true (3), s), f); b(:,:,2) = b(:,:,1) - 1; b(:,:,3) = b(:,:,2) - 1; f(:,:,1) = [ 1 8 11 11 8 20 21 21 20 24 24 24 20 24 24 24]; f(:,:,2) = [ 6 10 11 11 18 22 22 22 20 24 24 24 20 24 24 24]; f(:,:,3) = [ 0 7 10 10 7 19 20 20 19 23 23 23 19 23 23 23]; ***** assert (ordfiltn (b, 25, true (3, 3, 3)), f); 8 tests, 8 passed, 0 known failure, 0 skipped [inst/isrgb.m] >>>>> /<>/inst/isrgb.m ***** assert (isrgb ("this is not a RGB image"), false); ***** assert (isrgb (rand (5, 5)), false); ***** assert (isrgb (rand (5, 5, 1, 5)), false); ***** assert (isrgb (rand (5, 5, 3, 5)), true); ***** assert (isrgb (rand (5, 5, 3)), true); ***** assert (isrgb (ones (5, 5, 3)), true); ***** assert (isrgb (ones (5, 5, 3) + eps), false); ***** assert (isrgb (zeros (5, 5, 3) - eps), false); ***** assert (isrgb (rand (5, 5, 3) > 0.5), false); ***** assert (isrgb (randi ([-100 100], 5, 5, 3, "int16")), true) 10 tests, 10 passed, 0 known failure, 0 skipped [inst/qtdecomp.m] >>>>> /<>/inst/qtdecomp.m ***** demo full(qtdecomp(eye(8))) %It finds 2 big blocks of 0 and it decomposes further where 0 and 1 are mixed. ***** # Test if odd-sized limits split ***** assert(full(qtdecomp(eye(5))), reshape([5,zeros(1,24)],5,5)); ***** assert(full(qtdecomp(eye(6))), repmat(reshape([3,zeros(1,8)],3,3),2,2)); ***** # Test 'equal' method ***** test a=ones(2,2); b=[2,0;0,0]; assert(full(qtdecomp(eye(4))), [a,b;b,a]); ***** shared A, B2, B4 A=[ 1, 4, 2, 5,54,55,61,62; 3, 6, 3, 1,58,53,67,65; 3, 6, 3, 1,58,53,67,65; 3, 6, 3, 1,58,53,67,65; 23,42,42,42,99,99,99,99; 27,42,42,42,99,99,99,99; 23,22,26,25,99,99,99,99; 22,22,24,22,99,99,99,99]; B2=[2,0;0,0]; B4=zeros(4); B4(1,1)=4; ***** test R=[ones(4,8); [ones(2),B2;ones(2,4)], B4]; assert(full(qtdecomp(A)), R); assert(full(qtdecomp(A,0)), R); ***** # Test 'threshold' method ***** test R=[ones(4,8); [ones(2),B2;B2,ones(2)],B4]; assert(full(qtdecomp(A,1)), R); ***** test R=[[B4,[B2,B2;B2,B2]]; [[ones(2),B2;B2,B2],B4]]; assert(full(qtdecomp(A,10)), R); ***** test R=[[B4,[B2,B2;B2,B2]]; [[B2,B2;B2,B2],B4]]; assert(full(qtdecomp(A,10,2)), R); assert(full(qtdecomp(A,100,[2, 4])), [B4,B4;B4,B4]); ***** test f = @(A, c1 = 54, c2 = 0, c3 = 0) (A (1, 1, :) != ((c1+c2+c3) * ones (1, 1, size (A, 3))))(:); assert(full(qtdecomp(A,f)),[ones(4),B4;ones(4,8)]); assert(full(qtdecomp(A,f,54)),[ones(4),B4;ones(4,8)]); assert(full(qtdecomp(A,f,4,40,10)),[ones(4),B4;ones(4,8)]); ***** test ***** # no params first_eq=inline("(A(1,1,:)!=(54*ones(1,1,size(A,3))))(:)","A"); assert(full(qtdecomp(A,first_eq)),[ones(4),B4;ones(4,8)]); ***** test ***** # 1 param first_eq=inline("(A(1,1,:)!=(c*ones(1,1,size(A,3))))(:)","A","c"); assert(full(qtdecomp(A,first_eq,54)),[ones(4),B4;ones(4,8)]); ***** test ***** # 3 params first_eq=inline("(A(1,1,:)!=((c1+c2+c3)*ones(1,1,size(A,3))))(:)","A","c1","c2","c3"); assert(full(qtdecomp(A,first_eq,4,40,10)),[ones(4),B4;ones(4,8)]); 11 tests, 11 passed, 0 known failure, 0 skipped [inst/impyramid.m] >>>>> /<>/inst/impyramid.m ***** xtest in = [116 227 153 69 146 194 59 130 139 106 2 47 137 249 90 75 16 24 158 44 155 68 46 84 166 156 69 204 32 152 71 221 137 230 210 153 192 115 30 118 107 143 108 52 51 73 101 21 175 90 54 158 143 77 26 168 113 229 165 225 9 47 133 135 130 207 236 43 19 73]; reduced = [ 114 139 131 103 111 97 122 141 110 99 103 123 112 123 121 47 107 134 153 94]; ## this is what we should return if we were Matlab compatible reduced_matlab = [ 114 139 131 103 111 97 122 141 111 100 103 123 112 123 122 47 107 134 153 94]; expanded = [ 88 132 160 154 132 108 94 102 120 138 138 100 66 74 96 112 116 104 78 62 98 128 142 146 154 154 140 126 126 122 86 54 58 82 114 132 112 74 36 54 74 100 130 168 184 156 118 104 92 64 40 44 66 100 122 104 66 66 68 64 76 98 130 154 148 132 122 108 80 60 78 104 106 98 98 86 104 106 88 78 78 96 122 144 154 154 140 112 98 124 144 110 74 92 106 102 130 134 120 108 126 154 174 180 172 156 142 138 146 140 96 60 84 106 88 140 170 158 140 156 180 188 180 164 152 154 156 140 112 82 66 84 96 90 136 164 154 134 132 138 136 130 122 120 130 134 108 82 86 100 104 92 92 126 142 136 116 96 80 74 72 82 94 106 106 88 78 108 138 132 102 80 116 140 138 122 96 68 52 52 80 110 114 112 118 128 148 164 164 140 58 98 132 140 130 110 82 62 62 102 142 144 138 154 168 164 156 170 162 36 68 100 120 130 122 106 92 96 134 174 182 172 156 136 116 104 122 124 16 34 58 86 108 114 110 106 112 138 170 184 172 126 74 48 44 60 68]; ## this is what we should return if we were Matlab compatible expanded_matlab = [ 115 154 185 178 150 122 105 116 138 159 158 117 78 86 112 129 133 120 103 69 98 128 141 146 152 152 139 125 127 121 87 55 58 81 113 131 112 84 40 54 74 100 131 167 184 157 119 104 92 64 41 44 66 100 121 103 74 76 69 65 75 97 130 153 148 131 122 108 80 61 79 103 105 98 97 98 120 105 88 77 78 96 121 143 155 154 140 112 98 124 143 109 74 91 123 117 129 134 119 107 125 153 173 180 172 156 143 138 146 140 96 60 83 122 99 139 170 157 139 156 181 188 180 164 151 154 156 140 112 81 65 84 110 101 136 163 153 133 132 138 136 130 122 120 130 133 108 82 86 99 104 104 103 126 143 136 116 97 81 73 73 82 94 105 105 87 78 108 138 133 116 90 116 139 139 122 96 69 52 53 80 109 114 111 116 128 148 163 164 160 66 99 131 140 131 109 83 62 62 102 142 144 138 154 169 164 157 169 184 41 68 99 121 130 122 107 92 95 133 173 182 172 156 135 114 105 121 142 21 38 64 98 124 131 127 123 129 160 194 212 199 144 82 52 48 65 85]; assert (impyramid (uint8 (in), "reduce"), uint8 (reduced)) assert (impyramid (uint8 (in), "expand"), uint8 (expanded)) !!!!! known failure ASSERT errors for: assert (impyramid (uint8 (in), "expand"),uint8 (expanded)) Location | Observed | Expected | Reason (1,1) 87 88 Abs err 1 exceeds tol 0 by 1 (2,1) 61 62 Abs err 1 exceeds tol 0 by 1 (5,1) 105 104 Abs err 1 exceeds tol 0 by 1 (6,1) 103 102 Abs err 1 exceeds tol 0 by 1 (7,1) 89 88 Abs err 1 exceeds tol 0 by 1 (9,1) 91 92 Abs err 1 exceeds tol 0 by 1 (10,1) 79 80 Abs err 1 exceeds tol 0 by 1 (11,1) 59 58 Abs err 1 exceeds tol 0 by 1 (13,1) 17 16 Abs err 1 exceeds tol 0 by 1 (5,2) 105 106 Abs err 1 exceeds tol 0 by 1 (6,2) 129 130 Abs err 1 exceeds tol 0 by 1 (7,2) 139 140 Abs err 1 exceeds tol 0 by 1 (9,2) 125 126 Abs err 1 exceeds tol 0 by 1 (11,2) 99 98 Abs err 1 exceeds tol 0 by 1 (12,2) 67 68 Abs err 1 exceeds tol 0 by 1 (1,3) 159 160 Abs err 1 exceeds tol 0 by 1 (8,3) 163 164 Abs err 1 exceeds tol 0 by 1 (10,3) 139 140 Abs err 1 exceeds tol 0 by 1 (11,3) 131 132 Abs err 1 exceeds tol 0 by 1 (12,3) 98 100 Abs err 2 exceeds tol 0 by 2 (2,4) 141 142 Abs err 1 exceeds tol 0 by 1 (4,4) 75 76 Abs err 1 exceeds tol 0 by 1 (5,4) 77 78 Abs err 1 exceeds tol 0 by 1 (6,4) 118 120 Abs err 2 exceeds tol 0 by 2 (7,4) 157 158 Abs err 1 exceeds tol 0 by 1 (8,4) 152 154 Abs err 2 exceeds tol 0 by 2 (9,4) 135 136 Abs err 1 exceeds tol 0 by 1 (1,5) 131 132 Abs err 1 exceeds tol 0 by 1 (4,5) 97 98 Abs err 1 exceeds tol 0 by 1 (5,5) 77 78 Abs err 1 exceeds tol 0 by 1 (6,5) 106 108 Abs err 2 exceeds tol 0 by 2 (7,5) 139 140 Abs err 1 exceeds tol 0 by 1 (8,5) 132 134 Abs err 2 exceeds tol 0 by 2 (10,5) 121 122 Abs err 1 exceeds tol 0 by 1 (11,5) 131 130 Abs err 1 exceeds tol 0 by 1 (13,5) 109 108 Abs err 1 exceeds tol 0 by 1 (1,6) 107 108 Abs err 1 exceeds tol 0 by 1 (2,6) 152 154 Abs err 2 exceeds tol 0 by 2 (3,6) 167 168 Abs err 1 exceeds tol 0 by 1 (4,6) 129 130 Abs err 1 exceeds tol 0 by 1 (6,6) 124 126 Abs err 2 exceeds tol 0 by 2 (9,6) 97 96 Abs err 1 exceeds tol 0 by 1 (10,6) 95 96 Abs err 1 exceeds tol 0 by 1 (11,6) 109 110 Abs err 1 exceeds tol 0 by 1 (2,7) 152 154 Abs err 2 exceeds tol 0 by 2 (4,7) 152 154 Abs err 2 exceeds tol 0 by 2 (5,7) 121 122 Abs err 1 exceeds tol 0 by 1 (6,7) 153 154 Abs err 1 exceeds tol 0 by 1 (8,7) 137 138 Abs err 1 exceeds tol 0 by 1 (9,7) 81 80 Abs err 1 exceeds tol 0 by 1 (10,7) 69 68 Abs err 1 exceeds tol 0 by 1 (11,7) 83 82 Abs err 1 exceeds tol 0 by 1 (12,7) 107 106 Abs err 1 exceeds tol 0 by 1 (2,8) 139 140 Abs err 1 exceeds tol 0 by 1 (4,8) 147 148 Abs err 1 exceeds tol 0 by 1 (5,8) 142 144 Abs err 2 exceeds tol 0 by 2 (6,8) 173 174 Abs err 1 exceeds tol 0 by 1 (7,8) 187 188 Abs err 1 exceeds tol 0 by 1 (9,8) 73 74 Abs err 1 exceeds tol 0 by 1 (2,9) 125 126 Abs err 1 exceeds tol 0 by 1 (4,9) 131 132 Abs err 1 exceeds tol 0 by 1 (5,9) 155 154 Abs err 1 exceeds tol 0 by 1 (12,9) 95 96 Abs err 1 exceeds tol 0 by 1 (13,9) 111 112 Abs err 1 exceeds tol 0 by 1 (3,10) 103 104 Abs err 1 exceeds tol 0 by 1 (6,10) 171 172 Abs err 1 exceeds tol 0 by 1 (9,10) 81 82 Abs err 1 exceeds tol 0 by 1 (12,10) 133 134 Abs err 1 exceeds tol 0 by 1 (13,10) 139 138 Abs err 1 exceeds tol 0 by 1 (1,11) 137 138 Abs err 1 exceeds tol 0 by 1 (2,11) 120 122 Abs err 2 exceeds tol 0 by 2 (5,11) 139 140 Abs err 1 exceeds tol 0 by 1 (7,11) 151 152 Abs err 1 exceeds tol 0 by 1 (8,11) 119 120 Abs err 1 exceeds tol 0 by 1 (10,11) 109 110 Abs err 1 exceeds tol 0 by 1 (12,11) 172 174 Abs err 2 exceeds tol 0 by 2 (13,11) 169 170 Abs err 1 exceeds tol 0 by 1 (1,12) 101 100 Abs err 1 exceeds tol 0 by 1 (4,12) 79 80 Abs err 1 exceeds tol 0 by 1 (6,12) 143 142 Abs err 1 exceeds tol 0 by 1 (9,12) 104 106 Abs err 2 exceeds tol 0 by 2 (12,12) 181 182 Abs err 1 exceeds tol 0 by 1 (1,13) 67 66 Abs err 1 exceeds tol 0 by 1 (2,13) 55 54 Abs err 1 exceeds tol 0 by 1 (3,13) 41 40 Abs err 1 exceeds tol 0 by 1 (4,13) 61 60 Abs err 1 exceeds tol 0 by 1 (6,13) 137 138 Abs err 1 exceeds tol 0 by 1 (8,13) 133 134 Abs err 1 exceeds tol 0 by 1 (9,13) 105 106 Abs err 1 exceeds tol 0 by 1 (10,13) 111 112 Abs err 1 exceeds tol 0 by 1 (12,13) 171 172 Abs err 1 exceeds tol 0 by 1 (13,13) 173 172 Abs err 1 exceeds tol 0 by 1 (1,14) 73 74 Abs err 1 exceeds tol 0 by 1 (2,14) 57 58 Abs err 1 exceeds tol 0 by 1 (6,14) 145 146 Abs err 1 exceeds tol 0 by 1 (8,14) 107 108 Abs err 1 exceeds tol 0 by 1 (9,14) 86 88 Abs err 2 exceeds tol 0 by 2 (10,14) 116 118 Abs err 2 exceeds tol 0 by 2 (11,14) 153 154 Abs err 1 exceeds tol 0 by 1 (12,14) 155 156 Abs err 1 exceeds tol 0 by 1 (1,15) 97 96 Abs err 1 exceeds tol 0 by 1 (2,15) 81 82 Abs err 1 exceeds tol 0 by 1 (4,15) 103 104 Abs err 1 exceeds tol 0 by 1 (5,15) 143 144 Abs err 1 exceeds tol 0 by 1 (11,15) 169 168 Abs err 1 exceeds tol 0 by 1 (12,15) 135 136 Abs err 1 exceeds tol 0 by 1 (2,16) 113 114 Abs err 1 exceeds tol 0 by 1 (4,16) 105 106 Abs err 1 exceeds tol 0 by 1 (5,16) 109 110 Abs err 1 exceeds tol 0 by 1 (6,16) 95 96 Abs err 1 exceeds tol 0 by 1 (7,16) 81 82 Abs err 1 exceeds tol 0 by 1 (8,16) 85 86 Abs err 1 exceeds tol 0 by 1 (9,16) 107 108 Abs err 1 exceeds tol 0 by 1 (12,16) 114 116 Abs err 2 exceeds tol 0 by 2 (2,17) 130 132 Abs err 2 exceeds tol 0 by 2 (3,17) 121 122 Abs err 1 exceeds tol 0 by 1 (7,17) 65 66 Abs err 1 exceeds tol 0 by 1 (8,17) 98 100 Abs err 2 exceeds tol 0 by 2 (10,17) 163 164 Abs err 1 exceeds tol 0 by 1 (11,17) 157 156 Abs err 1 exceeds tol 0 by 1 (12,17) 105 104 Abs err 1 exceeds tol 0 by 1 (1,18) 105 104 Abs err 1 exceeds tol 0 by 1 (3,18) 103 104 Abs err 1 exceeds tol 0 by 1 (4,18) 97 98 Abs err 1 exceeds tol 0 by 1 (5,18) 91 92 Abs err 1 exceeds tol 0 by 1 (6,18) 83 84 Abs err 1 exceeds tol 0 by 1 (8,18) 103 104 Abs err 1 exceeds tol 0 by 1 (9,18) 133 132 Abs err 1 exceeds tol 0 by 1 (11,18) 169 170 Abs err 1 exceeds tol 0 by 1 (12,18) 121 122 Abs err 1 exceeds tol 0 by 1 (13,18) 59 60 Abs err 1 exceeds tol 0 by 1 (1,19) 79 78 Abs err 1 exceeds tol 0 by 1 (2,19) 75 74 Abs err 1 exceeds tol 0 by 1 (4,19) 85 86 Abs err 1 exceeds tol 0 by 1 (5,19) 107 106 Abs err 1 exceeds tol 0 by 1 (6,19) 105 106 Abs err 1 exceeds tol 0 by 1 (7,19) 95 96 Abs err 1 exceeds tol 0 by 1 (8,19) 91 92 Abs err 1 exceeds tol 0 by 1 (10,19) 139 140 Abs err 1 exceeds tol 0 by 1 (11,19) 160 162 Abs err 2 exceeds tol 0 by 2 (12,19) 123 124 Abs err 1 exceeds tol 0 by 1 (13,19) 67 68 Abs err 1 exceeds tol 0 by 1 ***** test in = randi ([0 255], [40 39 3 5], "uint8"); red = impyramid (in, "reduce"); for p = 1:3 for n = 1:5 assert (red(:,:,p,n), impyramid (in(:,:,p,n), "reduce")) endfor endfor exp = impyramid (in, "expand"); for p = 1:3 for n = 1:5 assert (exp(:,:,p,n), impyramid (in(:,:,p,n), "expand")) endfor endfor ***** xtest in = repmat (uint8 (255), [10 10]); assert (impyramid (in, "reduce"), repmat (uint8 (255), [5 5])) assert (impyramid (in, "expand"), repmat (uint8 (255), [19 19])) !!!!! known failure ASSERT errors for: assert (impyramid (in, "expand"),repmat (uint8 (255), [19, 19])) Location | Observed | Expected | Reason (1,1) 195 255 Abs err 60 exceeds tol 0 by 6e+01 (2,1) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (3,1) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (4,1) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (5,1) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (6,1) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (7,1) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (8,1) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (9,1) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (10,1) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (11,1) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (12,1) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (13,1) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (14,1) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (15,1) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (16,1) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (17,1) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (18,1) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (19,1) 195 255 Abs err 60 exceeds tol 0 by 6e+01 (1,2) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (19,2) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (1,3) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (19,3) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (1,4) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (19,4) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (1,5) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (19,5) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (1,6) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (19,6) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (1,7) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (19,7) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (1,8) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (19,8) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (1,9) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (19,9) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (1,10) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (19,10) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (1,11) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (19,11) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (1,12) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (19,12) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (1,13) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (19,13) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (1,14) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (19,14) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (1,15) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (19,15) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (1,16) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (19,16) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (1,17) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (19,17) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (1,18) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (19,18) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (1,19) 195 255 Abs err 60 exceeds tol 0 by 6e+01 (2,19) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (3,19) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (4,19) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (5,19) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (6,19) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (7,19) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (8,19) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (9,19) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (10,19) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (11,19) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (12,19) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (13,19) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (14,19) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (15,19) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (16,19) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (17,19) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (18,19) 223 255 Abs err 32 exceeds tol 0 by 3e+01 (19,19) 195 255 Abs err 60 exceeds tol 0 by 6e+01 ***** xtest in = logical ([ 1 0 1 1 0 0 1 1 0 0 1 1 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 0 0 1 1 0 0 1 0 0 0 0 0 1 1 0 1 1 0 1 1 1 1 0 0 1 0 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 1 0 0 1 0 0 0 1 0]); reduced = logical ([ 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 1 0 0 0 1 1 1 0 0]); expanded = logical ([ 1 1 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0]); assert (impyramid (in, "reduce"), reduced) assert (impyramid (in, "expand"), expanded) !!!!! known failure ASSERT errors for: assert (impyramid (in, "reduce"),reduced) Location | Observed | Expected | Reason (4,1) 1 0 Abs err 1 exceeds tol 0 by 1 (1,3) 1 0 Abs err 1 exceeds tol 0 by 1 (2,3) 1 0 Abs err 1 exceeds tol 0 by 1 (3,3) 1 0 Abs err 1 exceeds tol 0 by 1 (4,3) 1 0 Abs err 1 exceeds tol 0 by 1 (4,4) 1 0 Abs err 1 exceeds tol 0 by 1 (5,4) 1 0 Abs err 1 exceeds tol 0 by 1 (1,5) 1 0 Abs err 1 exceeds tol 0 by 1 (4,5) 1 0 Abs err 1 exceeds tol 0 by 1 (5,5) 1 0 Abs err 1 exceeds tol 0 by 1 4 tests, 1 passed, 3 known failures, 0 skipped [inst/poly2mask.m] >>>>> /<>/inst/poly2mask.m ***** demo s = [0:pi/4:2*pi]; x = cos (s) * 90 + 101; y = sin (s) * 90 + 101; bw = poly2mask(x, y, 200, 200); imshow (bw); ***** demo s = [0:2*pi/5:pi*4]; s = s ([1, 3, 5, 2, 4, 6]); x = cos (s) * 90 + 101; y = sin (s) * 90 + 101; bw = poly2mask (x, y, 200, 200); imshow (bw); ***** # Convex polygons ***** shared xs, ys, Rs, xt, yt, Rt xs=[3,3,10,10]; ys=[4,12,12,4]; Rs=zeros(16,14); Rs(5:12,4:10)=1; Rs=logical(Rs); xt=[1,4,7]; yt=[1,4,1]; Rt=[0,0,0,0,0,0,0; 0,0,1,1,1,1,0; 0,0,0,1,1,0,0; 0,0,0,1,0,0,0; 0,0,0,0,0,0,0]; Rt=logical(Rt); ***** assert(poly2mask(xs,ys,16,14),Rs); # rectangle ***** assert(poly2mask(xs,ys,8,7),Rs(1:8,1:7)); # clipped ***** assert(poly2mask(xs-7,ys-8,8,7),Rs(9:16,8:14)); # more clipping ***** assert(poly2mask(xt,yt,5,7),Rt); # triangle ***** assert(poly2mask(xt,yt,3,3),Rt(1:3,1:3)); # clipped ***** # Concave polygons ***** test x=[3,3,5,5,8,8,10,10]; y=[4,12,12,8,8,11,11,4]; R=zeros(16,14); R(5:12,4:5)=1; R(5:8,6:8)=1; R(5:11,9:10)=1; R=logical(R); assert(poly2mask(x,y,16,14), R); ***** # Complex polygons ***** test x=[1,5,1,5]; y=[1,1,4,4]; R=[0,0,0,0,0,0; 0,0,1,1,0,0; 0,0,1,1,0,0; 0,1,1,1,1,0; 0,0,0,0,0,0]; R=logical(R); assert(poly2mask(x,y,5,6), R); 7 tests, 7 passed, 0 known failure, 0 skipped [inst/imcomplement.m] >>>>> /<>/inst/imcomplement.m ***** assert (imcomplement (10), -9); ***** assert (imcomplement (single (10)), single (-9)); ***** assert (imcomplement (0.2), 0.8); ***** assert (imcomplement (uint8 (0)), uint8 (255)); ***** assert (imcomplement (uint8 (1)), uint8 (254)); ***** assert (imcomplement (uint16 (0)), uint16 (65535)); ***** assert (imcomplement (uint16 (1)), uint16 (65534)); ***** assert (imcomplement (int8 (-128)), int8 ( 127)); ***** assert (imcomplement (int8 ( 127)), int8 (-128)); ***** assert (imcomplement (int16 (-1)), int16 ( 0)); ***** assert (imcomplement (int16 ( 0)), int16 (-1)); ***** assert (imcomplement (int16 ( 1)), int16 (-2)); ***** assert (imcomplement ([true false true]), [false true false]) ***** error imcomplement ("not an image") 14 tests, 14 passed, 0 known failure, 0 skipped [inst/imextendedmax.m] >>>>> /<>/inst/imextendedmax.m ***** shared im0, bw0_h2_out im0 = uint8 ([0 0 0 0 0; 0 1 2 1 0; 0 2 5 2 0; 0 1 2 1 0; 0 0 0 0 0]); bw0_h2_out = false (5); bw0_h2_out(3,3) = true; ***** error imextendedmax () ***** error imextendedmax (im0) ***** error imextendedmax ("hello", 2) ***** error imextendedmax (i.*im0, 2) ***** error imextendedmax (sparse (im0), 2) ***** error imextendedmax (im0, -2) ***** error imextendedmax (im0, 'a') ***** error imextendedmax (im0, ones (2)) ***** error imextendedmax (im0, 2*i) ***** assert (imextendedmax (im0, 2), bw0_h2_out) ***** assert (imextendedmax (double (im0), 2), bw0_h2_out) ***** assert (imextendedmax (im0, 2, 8), bw0_h2_out) ***** assert (imextendedmax (im0, 2, 4), bw0_h2_out) ***** assert (imextendedmax (im0, 2, true (3)), bw0_h2_out) ***** test out = imextendedmax (im0, 2); assert (size (out), size (im0)) assert (class (out), "logical") ***** test out = imextendedmax (single (im0), 2); assert (size (out), size (im0)) assert (class (out), "logical") ***** test out = imextendedmax (uint8 (im0), 2); assert (size (out), size (im0)) assert (class (out), "logical") ***** test out = imextendedmax (uint16 (im0), 2); assert (size (out), size (im0)) assert (class (out), "logical") ***** test im = cat (3, im0, im0, im0, im0); out = imextendedmax (im, 2); assert (size (out), size (im)) ***** test im = zeros (10); im(2:4, 2:4) = 3; im(6:8, 6:8) = 8; expected_4 = false (10); expected_4(6:8, 6:8) = true; expected_2 = expected_4; expected_2(2:4, 2:4) = true; out = imextendedmax (im, 4); assert (out, expected_4, eps) out = imextendedmax (0.1.*im, 0.4); assert (out, expected_4, eps) out = imextendedmax (im, 2); assert (out, expected_2, eps) ***** test im2 = zeros (10); im2(2:4, 2:4) = 3; im2(6:9, 6:9)=8; im2(5, 5)=8; im2(6, 7)=0; im2(7, 8)=0; expected_8 = false (10); expected_8(6:9, 6:9) = true; expected_8(5, 5) = true; expected_8(6, 7) = false; expected_8(7, 8) = false; expected_4 = expected_8; expected_4(2:4, 2:4) = true; out2 = imextendedmax (im2, 2); assert (out2, expected_8, eps) out2 = imextendedmax (im2, 2, 4); assert (out2, expected_4, eps) out2 = imextendedmax (im2, 2, 8); assert (out2, expected_8, eps) 21 tests, 21 passed, 0 known failure, 0 skipped [inst/regionprops.m] >>>>> /<>/inst/regionprops.m ***** shared bw2d, gray2d, bw2d_over_bb, bw2d_insides bw2d = logical ([ 0 1 0 1 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 1]); gray2d = [ 2 4 0 7 5 2 3 0 4 9 3 7 0 5 3 4 8 1 9 2 0 5 8 6 8 9 7 2 2 5]; ## For testing overlapping bounding boxes bw2d_over_bb = logical ([ 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 1]); ## For testing when there's regions inside regions bw2d_insides = logical ([ 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0]); ***** function c = get_2d_centroid_for (idx) subs = ind2sub ([5 6], idx); m = false ([5 6]); m(idx) = true; y = sum ((1:5)' .* sum (m, 2) /sum (m(:))); x = sum ((1:6) .* sum (m, 1) /sum (m(:))); c = [x y]; ***** endfunction ***** assert (regionprops (bw2d, "Area"), struct ("Area", {8; 6})) ***** assert (regionprops (double (bw2d), "Area"), struct ("Area", {14})) ***** assert (regionprops (bwlabel (bw2d, 4), "Area"), struct ("Area", {4; 6; 4})) ***** assert (regionprops (bw2d, "PixelIdxList"), struct ("PixelIdxList", {[6; 7; 12; 8; 16; 21; 22; 27] [15; 19; 20; 24; 29; 30]})) ***** assert (regionprops (bwlabel (bw2d, 4), "PixelIdxList"), struct ("PixelIdxList", {[6; 7; 8; 12] [15; 19; 20; 24; 29; 30] [16; 21; 22; 27]})) ***** assert (regionprops (bw2d, "PixelList"), struct ("PixelList", {[2 1; 2 2; 3 2; 2 3; 4 1; 5 1; 5 2; 6 2] [3 5; 4 4; 4 5; 5 4; 6 4; 6 5]})) ***** assert (regionprops (bwlabel (bw2d, 4), "PixelList"), struct ("PixelList", {[2 1; 2 2; 2 3; 3 2] [3 5; 4 4; 4 5; 5 4; 6 4; 6 5] [4 1; 5 1; 5 2; 6 2]})) ***** assert (regionprops (bw2d, gray2d, "PixelValues"), struct ("PixelValues", {[4; 0; 4; 5; 7; 5; 3; 7] [7; 5; 2; 8; 6; 5]})) ***** assert (regionprops (bw2d, gray2d, "MaxIntensity"), struct ("MaxIntensity", {7; 8})) ***** assert (regionprops (bw2d, gray2d, "MinIntensity"), struct ("MinIntensity", {0; 2})) ***** assert (regionprops (bw2d, "BoundingBox"), struct ("BoundingBox", {[1.5 0.5 5 3]; [2.5 3.5 4 2]})) ***** assert (regionprops (bw2d, "Centroid"), struct ("Centroid", {get_2d_centroid_for([6 7 8 12 16 21 22 27]) get_2d_centroid_for([15 19 20 24 29 30])}), 5 * eps) ***** test props = struct ("Area", {8; 6}, "Centroid", {get_2d_centroid_for([6 7 8 12 16 21 22 27]) get_2d_centroid_for([15 19 20 24 29 30])}, "BoundingBox", {[1.5 0.5 5 3]; [2.5 3.5 4 2]}); assert (regionprops (bw2d, "basic"), props, 5 * eps) assert (regionprops (bwconncomp (bw2d, 8), "basic"), props, 5 * eps) assert (regionprops (bwlabeln (bw2d, 8), "basic"), props, 5 * eps) ***** test props = struct ("Area", {4; 6; 4}, "Centroid", {get_2d_centroid_for([6 7 8 12]) get_2d_centroid_for([15 19 20 24 29 30]) get_2d_centroid_for([16 21 22 27])}, "BoundingBox", {[1.5 0.5 2 3]; [2.5 3.5 4 2]; [3.5 0.5 3 2]}); assert (regionprops (bwconncomp (bw2d, 4), "basic"), props, 5 * eps) assert (regionprops (bwlabeln (bw2d, 4), "basic"), props, 5 * eps) ***** assert (regionprops (double (bw2d), "basic"), struct ("Area", 14, "Centroid", get_2d_centroid_for (find (bw2d)), "BoundingBox", [1.5 0.5 5 5]), eps*1000) ***** assert (regionprops ([0 0 1], "Centroid").Centroid, [3 1]) ***** assert (regionprops ([0 0 1; 0 0 0], "Centroid").Centroid, [3 1]) ***** assert (regionprops ([0 1 1], "Centroid").Centroid, [2.5 1]) ***** assert (regionprops ([0 1 1; 0 0 0], "Centroid").Centroid, [2.5 1]) ***** test a = zeros (2, 3, 3); a(:, :, 1) = [0 1 0; 0 0 0]; a(:, :, 3) = a(:, :, 1); c = regionprops (a, "centroid"); assert (c.Centroid, [2 1 2]) ***** test d1=2; d2=4; d3=6; a = ones (d1, d2, d3); c = regionprops (a, "centroid"); assert (c.Centroid, [mean(1:d2), mean(1:d1), mean(1:d3)], eps*1000) ***** test a = [0 0 2 2; 3 3 0 0; 0 1 0 1]; c = regionprops (a, "centroid"); assert (c(1).Centroid, [3 3]) assert (c(2).Centroid, [3.5 1]) assert (c(3).Centroid, [1.5 2]) ***** test ***** assert (regionprops (bw2d, gray2d, "WeightedCentroid"), struct ("WeightedCentroid", {sum([2 1; 2 2; 3 2; 2 3; 4 1; 5 1; 5 2; 6 2] .* ([4; 0; 4; 5; 7; 5; 3; 7] / 35)) sum([3 5; 4 4; 4 5; 5 4; 6 4; 6 5] .* ([7; 5; 2; 8; 6; 5] / 33))}), 5 * eps) ***** test img = zeros (3, 9); img(2, 1:9) = 0:0.1:0.8; bw = im2bw (img, 0.5); props = regionprops (bw, img, "WeightedCentroid"); ix = 7:9; x = sum (img(2,ix) .* (ix)) / sum (img(2,ix)); assert (props(1).WeightedCentroid(1), x, 10*eps) assert (props(1).WeightedCentroid(2), 2, 10*eps) ***** assert (regionprops (bw2d, gray2d, "MeanIntensity"), struct ("MeanIntensity", {mean([4 0 5 4 7 5 3 7]) mean([7 5 2 8 6 5])})) ***** assert (regionprops (bwlabel (bw2d, 4), gray2d, "MeanIntensity"), struct ("MeanIntensity", {mean([4 0 5 4]) mean([7 5 2 8 6 5]) mean([7 5 3 7])})) ***** assert (regionprops (bw2d, "SubarrayIdx"), struct ("SubarrayIdx", {{[1 2 3], [2 3 4 5 6]} {[4 5], [3 4 5 6]}})) ***** assert (regionprops (bwlabel (bw2d, 4), "SubarrayIdx"), struct ("SubarrayIdx", {{[1 2 3], [2 3]} {[4 5], [3 4 5 6]} {[1 2], [4 5 6]}})) ***** test out = struct ("Image", {logical([1 0 1 1 0; 1 1 0 1 1; 1 0 0 0 0]) logical([0 1 1 1; 1 1 0 1])}); assert (regionprops (bw2d, "Image"), out) assert (regionprops (bw2d, gray2d, "Image"), out) assert (regionprops (bwlabel (bw2d), "Image"), out) ***** assert (regionprops (bwlabel (bw2d, 4), "Image"), struct ("Image", {logical([1 0; 1 1; 1 0]) logical([0 1 1 1; 1 1 0 1]) logical([1 1 0; 0 1 1])})) ***** test out = struct ("Image", {logical([0 1 1 1; 1 1 0 0; 1 0 0 0; 1 0 0 0]) logical([1 1 0 0; 1 1 0 0; 1 1 1 1]) logical([1 1; 0 1; 0 1])}); assert (regionprops (bw2d_over_bb, "Image"), out) assert (regionprops (bwlabel (bw2d_over_bb), "Image"), out) ***** test out = struct ("Image", {logical([1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1]) logical([1 1; 1 1])}); assert (regionprops (bw2d_insides, "Image"), out) assert (regionprops (bwlabel (bw2d_insides), "Image"), out) ***** test l = uint8 ([ 0 0 0 0 0 0 0 1 1 1 1 0 0 1 2 2 1 0 0 1 2 2 1 0 0 1 1 1 1 0 0 0 0 0 0 0 ]); assert (regionprops (l, "EulerNumber"), struct ("EulerNumber", {0; 1})) l = uint8 ([ 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 2 2 2 1 0 0 1 2 3 2 1 0 0 1 2 2 2 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 ]); assert (regionprops (l, "EulerNumber"), struct ("EulerNumber", {0; 0; 1})) ***** test l = uint8 ([ 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 ]); assert (regionprops (l, "EulerNumber"), struct ("EulerNumber", 1)) ***** test l = uint8 ([ 1 1 1 1 1 1 1 1 1 2 1 2 2 1 1 2 1 2 1 2 1 1 1 2 1 2 1 1 1 2 1 2 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 ]); assert (regionprops (l, "EulerNumber"), struct ("EulerNumber", {-9; -4})) ***** test l = uint8 ([ 1 1 1 1 1 1 1 1 1 4 1 5 5 1 1 3 1 4 1 5 1 1 1 3 1 4 1 1 1 2 1 3 1 4 1 1 2 2 1 3 1 1 1 1 1 1 1 1 1 ]); assert (regionprops (l, "EulerNumber"), struct ("EulerNumber", {-9; 1; 1; 1; 1})) ***** test l = uint8 ([ 1 1 1 1 1 1 1 0 1 2 1 2 2 1 1 2 1 2 1 2 1 1 1 2 1 2 1 1 1 2 1 2 1 2 1 1 2 2 1 2 1 1 1 1 1 1 1 1 1 ]); filled = { logical([ 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ]); logical([ 0 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 0 ]); }; assert (regionprops (l, {"FilledImage", "FilledArea"}), struct ("FilledImage", filled, "FilledArea", {48; 19})) ***** test l = uint8 ([ 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 ]); filled = logical ([ 1 0 1 0 1 1 0 1 0 1 ]); assert (regionprops (l, {"FilledImage", "FilledArea"}), struct ("FilledImage", filled, "FilledArea", 6)) l = uint8 ([ 2 2 2 2 2 2 2 2 1 2 1 2 1 2 2 1 2 1 2 1 2 2 2 2 2 2 2 2 ]); filled = { logical([ 1 0 1 0 1 1 0 1 0 1 ]); true(4, 7) }; assert (regionprops (l, {"FilledImage", "FilledArea"}), struct ("FilledImage", filled, "FilledArea", {6; 28})) ***** test l = uint8 ([ 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 2 2 2 1 0 0 1 2 3 2 1 0 0 1 2 2 2 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 ]); filled = {true(5, 5); true(3, 3); true}; assert (regionprops (l, {"FilledImage", "FilledArea"}), struct ("FilledImage", filled, "FilledArea", {25; 9; 1})) ***** test l = uint8 ([ 1 1 1 2 0 0 1 0 2 1 2 0 1 2 0 1 0 2 1 2 1 1 0 2 0 1 2 2 2 2 ]); filled = { logical([ 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 ]); logical([ 0 0 1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 ]) }; assert (regionprops (l, {"FilledImage", "FilledArea"}), struct ("FilledImage", filled, "FilledArea", {16; 18})) ***** test bw = false (5, 5, 5); bw(2:4, 2:4, [1 5]) = true; bw(2:4, [1 5], 2:4) = true; bw([1 5], 2:4, 2:4) = true; filled = bw; filled(2:4, 2:4, 2:4) = true; assert (regionprops (bw, {"FilledImage", "FilledArea"}), struct ("FilledImage", filled, "FilledArea", 81)) ***** test l = uint8 ([ 1 1 1 2 0 0 1 0 2 1 2 0 1 2 0 1 0 2 1 2 1 1 0 2 0 1 2 2 2 2 ]); assert (regionprops (l, {"Extent"}), struct ("Extent", {0.55; 0.44})) ***** test bw = logical ([0 0 0; 0 1 0; 0 0 0]); assert (regionprops (bw, {"MinorAxisLength", "MajorAxisLength", ... "Eccentricity", "Orientation"}), struct ("MajorAxisLength", 4 .* sqrt (1/12), "MinorAxisLength", 4 .* sqrt (1/12), "Eccentricity", 0, "Orientation", 0)) ***** test a = eye (4); t = regionprops (a, "majoraxislength"); assert (t.MajorAxisLength, 6.4291, 1e-3); t = regionprops (a, "minoraxislength"); assert(t.MinorAxisLength, 1.1547 , 1e-3); t = regionprops (a, "eccentricity"); assert (t.Eccentricity, 0.98374 , 1e-3); t = regionprops (a, "orientation"); assert (t.Orientation, -45); t = regionprops (a, "equivdiameter"); assert (t.EquivDiameter, 2.2568, 1e-3); ***** test b = ones (5); t = regionprops (b, "majoraxislength"); assert (t.MajorAxisLength, 5.7735 , 1e-3); t = regionprops (b, "minoraxislength"); assert (t.MinorAxisLength, 5.7735 , 1e-3); t = regionprops (b, "eccentricity"); assert (t.Eccentricity, 0); t = regionprops (b, "orientation"); assert (t.Orientation, 0); t = regionprops (b, "equivdiameter"); assert (t.EquivDiameter, 5.6419, 1e-3); ***** test c = [0 0 1; 0 1 1; 1 1 0]; t = regionprops (c, "minoraxislength"); assert (t.MinorAxisLength, 1.8037 , 1e-3); t = regionprops (c, "majoraxislength"); assert (t.MajorAxisLength, 4.1633 , 1e-3); t = regionprops (c, "eccentricity"); assert (t.Eccentricity, 0.90128 , 1e-3); t = regionprops (c, "orientation"); assert (t.Orientation, 45); t = regionprops (c, "equivdiameter"); assert (t.EquivDiameter, 2.5231, 1e-3); ***** test bw = logical ([0 0 0 0; 0 1 1 0; 0 0 0 0]); props = regionprops (bw, "Orientation"); assert ([props.Orientation], 0, 0) props = regionprops (bw', "Orientation"); assert ([props.Orientation], 90, 0) bw = logical ([0 0 0 0; 0 1 1 0; 0 1 1 0; 0 0 0 0]); props = regionprops (bw, "Orientation"); assert ([props.Orientation], 0, 0) bw = logical ([1 1 0 0 0 ; 0 0 1 1 0 ; 0 0 0 0 0; 0 0 0 0 0]); props = regionprops (bw, "Orientation"); assert ([props.Orientation], -22.5, eps (22.5)) bw = logical ([ 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0]); props = regionprops (bw, "Orientation"); assert ([props.Orientation], [0 -67.5 0 90]) ***** test f = [0 0 0 0; 1 1 1 1; 0 1 1 1; 0 0 0 0]; t = regionprops (f, "Extrema"); 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]; assert (t.Extrema, shouldbe, eps); ***** test bw = false (5); bw([8 12 13 14 18]) = true; extrema = [2 1; 3 1; 4 2; 4 3; 3 4; 2 4; 1 3; 1 2] + 0.5; assert (regionprops (bw, "extrema"), struct ("Extrema", extrema)) ***** test ext1 = [1 0; 5 0; 6 1; 6 2; 2 3; 1 3; 1 3; 1 0] + 0.5; ext2 = [3 3; 6 3; 6 3; 6 5; 6 5; 2 5; 2 5; 2 4] + 0.5; assert (regionprops (bw2d, "extrema"), struct ("Extrema", {ext1; ext2})) ***** assert (regionprops (bw2d, "equivDiameter"), struct ("EquivDiameter", {sqrt(4*8/pi); sqrt(4*6/pi)})) ***** assert (regionprops (bw2d_over_bb, "equivDiameter"), struct ("EquivDiameter", {sqrt(4*7/pi); sqrt(4*8/pi); sqrt(4*4/pi)})) ***** assert (regionprops (bw2d_insides, "equivDiameter"), struct ("EquivDiameter", {sqrt(4*20/pi); sqrt(4*4/pi)})) ***** test I = zeros (40); disk = fspecial ("disk",10); disk = disk ./ max (disk(:)); I(10:30, 10:30) = disk; bw = im2bw (I, 0.5); props = regionprops (bw, "Perimeter"); assert (props.Perimeter, 10*4 + (sqrt (2) * 4)*4, eps*100) props = regionprops (bwconncomp (bw), "Perimeter"); assert (props.Perimeter, 10*4 + (sqrt (2) * 4)*4, eps*100) ***** assert (regionprops (bw2d, "Perimeter"), struct ("Perimeter", {(sqrt (2)*6 + 4); (sqrt (2)*3 + 4)}), eps*10) ***** assert (regionprops (bw2d_insides, "Perimeter"), struct ("Perimeter", {20; 4})) ***** assert (regionprops (bwconncomp (bw2d_insides), "Perimeter"), struct ("Perimeter", {20; 4})) ***** assert (regionprops ([1 0 1; 1 0 1], "Area"), struct ("Area", 4)) ***** assert (regionprops ([1 0 2; 1 1 2], "Area"), struct ("Area", {3; 2})) ***** assert (regionprops ([1 0 3; 1 1 3], "Area"), struct ("Area", {3; 0; 2})) ***** assert (size (regionprops ([1 0 0; 0 0 2], "Area")), [2, 1]) ***** error regionprops ([1 -2 0 3]) ***** error regionprops ([1 1.5 0 3]) ***** test im = rand (5); ## First do this so we get a list of all supported properties and don't ## have to update the list each time. bw = false (5); bw(13) = true; props = regionprops (bw, im, "all"); all_props = fieldnames (props); bw = false (5); props = regionprops (bw, im, "all"); assert (size (props), [0 1]) assert (sort (all_props), sort (fieldnames (props))) ***** test im = rand (5); ## First do this so we get a list of all supported properties and don't ## have to update the list each time. labeled = zeros (5); labeled(13) = 1; props = regionprops (labeled, im, "all"); all_props = fieldnames (props); labeled = zeros (5); props = regionprops (labeled, im, "all"); assert (size (props), [0 1]) assert (sort (all_props), sort (fieldnames (props))) ***** test im = rand (5); ## First do this so we get a list of all supported properties and don't ## have to update the list each time. bw = false (5); bw(13) = true; props = regionprops (bwconncomp (bw), im, "all"); all_props = fieldnames (props); bw = false (5); props = regionprops (bwconncomp (bw), im, "all"); assert (size (props), [0 1]) assert (sort (all_props), sort (fieldnames (props))) ***** test bw = logical ([ 0 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0]); props = regionprops (bw, "MajorAxisLength", "MinorAxisLength", "Orientation"); assert ([props.MajorAxisLength] ,[4.51354115 3.65148372], 1.e-8) assert ([props.MinorAxisLength], [2.01801654 1.82574186], 1.e-8) assert ([props.Orientation], [12.93317840 18.43494882], 1.e-8) ***** warning regionprops (rand (5, 5, 5) > 0.5, {"perimeter", "extrema"}); ***** warning regionprops (rand (5, 5) > 0.5, {"minintensity", "weightedcentroid"}); ***** error regionprops ([0 -1 3 4; 0 -1 3 4]) ***** error regionprops ([0 1.5 3 4; 0 1.5 3 4]) ***** error regionprops (int8 ([0 -1 3 4; 0 -1 3 4])) ***** error regionprops (rand (5, 5) > 0.5, "ConvexArea") ***** error regionprops (rand (5, 5) > 0.5, "ConvexHull") ***** error regionprops (rand (5, 5) > 0.5, "ConvexImage") ***** error regionprops (rand (5, 5) > 0.5, "Solidity") ***** test # bug #52926 ## Perimeter of objects that would be connected with connectivity 8 ## but have been labeled with connectivity 4. BW = logical ([1 1 1 0 0 0 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0]); L = bwlabel (BW, 4); props = regionprops(L, "Perimeter"); assert ([props.Perimeter], [18 4 6+sqrt(2)]) 78 tests, 78 passed, 0 known failure, 0 skipped [inst/imsubtract.m] >>>>> /<>/inst/imsubtract.m ***** assert (imsubtract (uint8 ([23 250]), uint8 ([24 50])), uint8 ([ 0 200])); # default to first class and truncate ***** assert (imsubtract (uint8 ([23 250]), 10), uint8 ([13 240])); # works subtracting a scalar ***** assert (imsubtract (uint8 ([23 250]), uint8 ([24 50]), "uint16"), uint16 ([ 0 200])); # defining output class works (not in matlab) ***** assert (imsubtract (logical ([ 1 0]), logical ([ 1 1])), double ([ 0 -1])); # return double for two logical images ***** assert (imsubtract (logical ([ 1 0]), logical ([ 1 1]), "logical"), logical ([ 0 0])); # this is matlab incompatible on purpose ***** error imsubtract (uint8 ([23 250]), uint16 ([23 250])); ***** warning imsubtract (uint8 ([23 250]), uint8 ([24 255]), "int8"); ***** test warning ("off", "all"); assert (imsubtract (uint8 ([23 250]), uint8 ([24 255]), "int8"), int8 ([-1 0])) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/imtransform.m] >>>>> /<>/inst/imtransform.m ***** demo ## Various linear transforms figure (); im = [checkerboard(20, 2, 4); checkerboard(40, 1, 2)]; %input space corners incp = [1 1; 160 1; 160 160; 1 160]; udata = [min(incp(:,1)) max(incp(:,1))]; vdata = [min(incp(:,2)) max(incp(:,2))]; subplot (2,3,1); imshow (im) hold on plot (incp(:,1), incp(:,2), 'ob') axis on xlabel ('Original') % Translation and scaling outcp = incp * 2; outcp(:,1) += 200; outcp(:,2) += 500; T = maketform ('affine', incp(1:3,:), outcp(1:3,:)); subplot (2,3,2); [im2 xdata ydata] = imtransform (im, T, 'udata', udata, 'vdata', vdata, 'fillvalues', 1); imh = imshow (im2); set (imh, 'xdata', xdata, 'ydata', ydata) set (gca, 'xlim', xdata, 'ylim', ydata) axis on, hold on, xlabel ('Translation / Scaling'); plot (outcp(:,1), outcp(:,2), 'or') % Shear outcp = [1 1; 160 1; 140 160; -19 160]; % affine only needs 3 control points T = maketform ('affine', incp(1:3,:), outcp(1:3,:)); subplot (2,3,3); [im2 xdata ydata] = imtransform (im, T, 'udata', udata, 'vdata', vdata, 'fillvalues', 1); imh = imshow (im2); set (imh, 'xdata', xdata, 'ydata', ydata) set (gca, 'xlim', xdata, 'ylim', ydata) axis on, hold on, xlabel ('Shear'); plot (outcp(:,1), outcp(:,2), 'or') % Rotation theta = pi/4; T = maketform ('affine', [cos(theta) -sin(theta); ... sin(theta) cos(theta); 0 0]); outcp = tformfwd (T, incp); subplot (2,3,4); [im2 xdata ydata] = imtransform (im, T, 'udata', udata, 'vdata', vdata, 'fillvalues', 1 ); imh = imshow (im2); set (imh, 'xdata', xdata, 'ydata', ydata) set (gca, 'xlim', xdata, 'ylim', ydata) axis on, hold on, xlabel ('Rotation'); plot (outcp(:,1), outcp(:,2), 'or') % Reflection around x axis outcp = incp; outcp(:,2) *= -1; T = cp2tform (incp, outcp, 'similarity'); subplot (2,3,5); [im2 xdata ydata] = imtransform (im, T, 'udata', udata, 'vdata', vdata, 'fillvalues', 1 ); imh = imshow (im2); set (imh, 'xdata', xdata, 'ydata', ydata) set (gca, 'xlim', xdata, 'ylim', ydata) axis on, hold on, xlabel ('Reflection'); plot (outcp(:,1), outcp(:,2), 'or') % Projection outcp = [1 1; 160 -40; 220 220; 12 140]; T = maketform ('projective', incp, outcp); subplot (2,3,6); [im2 xdata ydata] = imtransform (im, T, 'udata', udata, 'vdata', vdata, 'fillvalues', 1 ); imh = imshow (im2); set (imh, 'xdata', xdata, 'ydata', ydata) set (gca, 'xlim', xdata, 'ylim', ydata) axis on, hold on, xlabel ('Projection'); plot (outcp(:,1), outcp(:,2), 'or') ***** demo ## Streched image rad = 2; % minimum value: 4/pi [uu vv] = meshgrid ((-2:2)/rad, (-2:2)/rad); rescfactor = sin ((uu.^2 + vv.^2).^.5); inpts = [(reshape (uu, numel (uu), 1)), (reshape (vv, numel (uu), 1))]; xx = rescfactor .* sign(uu); yy = rescfactor .* sign(vv); outpts = [reshape(xx, numel (xx), 1) reshape(yy, numel (yy), 1)]; T = cp2tform (inpts, outpts, "polynomial", 4); figure; subplot (1,2,1) im = zeros (800, 800, 3); im(:,:,1) = checkerboard (100) > 0.2; im(:,:,3) = checkerboard (100) < 0.2; [im2 xdata ydata] = imtransform (im, T, 'udata', [-2 2], 'vdata', [-2 2], 'fillvalues', [0 1 0]); imh = imshow (im2); set (imh, 'xdata', xdata, 'ydata', ydata) set (gca, 'xlim', xdata, 'ylim', ydata) [im cmap] = imread ('default.img'); subplot (1,2,2) [im2 xdata ydata] = imtransform (im, T, 'udata', [-1 1], 'vdata', [-1 1], 'fillvalues', round (length (cmap) / 2)); imh = imshow (im2, cmap); ***** test im = checkerboard (); incp = [0 0; 0 1; 1 1]; scl = 10; outcp = scl * incp; T = maketform ('affine', incp, outcp); [im2 xdata ydata] = imtransform (im, T, 'udata', [0 1], 'vdata', [0 1], 'size', [500 500]); assert (xdata, scl * ([0 1])) assert (ydata, scl * ([0 1])) assert (size (im2), [500 500]) ***** test im = checkerboard (); incp = [0 0; 0 1; 1 1]; scl = 10; outcp = scl * incp; xyscale = scl; T = maketform ('affine', incp, outcp); [im2 xdata ydata] = imtransform (im, T, 'xyscale', xyscale); assert (size (im2), size (im), 1) ***** test im = checkerboard (100, 10, 4); theta = 2 * pi; T = maketform ("affine", [cos(theta) -sin(theta); ... sin(theta) cos(theta); 0 0]); im2 = imtransform (im, T, "nearest", "xdata", [1 800], "ydata", [1 2000]); im = im(2:end-1, 2:end-1); %avoid boundaries im2 = im2(2:end-1, 2:end-1); assert (im, im2) ***** test im = checkerboard (20, 10, 4); theta = pi/6; T = maketform ('affine', [cos(theta) -sin(theta); ... sin(theta) cos(theta); 0 0]); [im2, xdata] = imtransform (im, T); nu = columns(im); nv = rows(im); nx = xdata(2); diag = sqrt (nu^2 + nv^2); ang = atan (nv / nu); assert (nx, diag * abs (cos (theta - ang)), diag * 1 / size (im2, 2)) ***** test im = rand (2); tmat = [eye(2); 0 0]; T = maketform ("affine", tmat); im2 = imtransform (im, T, "xdata", [1 3]); assert (im2(:,3), zeros (2,1)) ***** test im = rand (2); tmat = [eye(2); 0 0]; T = maketform ('affine', tmat); im2 = imtransform (im, T, "xdata", [1 3]); assert (size (im2), [2 3]) ***** test im = rand (2); tmat = [eye(2); 0 0]; T = maketform ('affine', tmat); im2 = imtransform (im, T, "xyscale", [0.5 0.5]); assert (size (im2), [3 3]) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/cp2tform.m] >>>>> /<>/inst/cp2tform.m ***** function [crw, cap] = coords (npt = 1000, scale = 2, dtheta = pi/3, dx = 2, dy = -6, sig2noise = 1e32) theta = (rand(npt, 1)*2-1)*2*pi; R = rand(npt,1); y = R.*sin(theta); x = R.*cos(theta); crw = [y x]; thetap = theta + dtheta; Rap = R * scale; yap = Rap.*sin(thetap); yap = yap + dy; yap = yap + rand (size (yap)) * norm (yap) / sig2noise; xap = Rap.*cos(thetap); xap = xap + dx; xap = xap + rand (size (xap)) * norm (xap) / sig2noise; cap = [yap xap]; ***** endfunction ***** test npt = 100000; [crw, cap] = coords (npt); ttype = 'projective'; T = cp2tform (crw, cap, ttype); crw2 = tforminv (T, cap); finalerr = norm (crw - crw2)/npt; assert (finalerr < 2*eps, "norm = %3.2e ( > 2*eps)", finalerr) ***** xtest npt = 100000; [crw, cap] = coords (npt); ttype = 'affine'; T = cp2tform (crw, cap, ttype); crw2 = tforminv (T, cap); finalerr = norm (crw - crw2)/npt; assert (finalerr < eps, "norm = %3.2e ( > eps)", finalerr) ***** xtest npt = 100000; [crw, cap] = coords (npt); ttype = 'nonreflective similarity'; T = cp2tform (crw, cap, ttype); crw2 = tforminv (T, cap); finalerr = norm (crw - crw2)/npt; assert (finalerr < eps, "norm = %3.2e ( > eps)", finalerr) ***** xtest npt = 100000; [crw, cap] = coords (npt); cap(:,2) *= -1; % reflection around y axis ttype = 'similarity'; T = cp2tform (crw, cap, ttype); crw2 = tforminv (T, cap); finalerr = norm (crw - crw2)/npt; assert (finalerr < eps, "norm = %3.2e ( > eps)", finalerr) ***** xtest npt = 100000; [crw, cap] = coords (npt); ttype = 'polynomial'; ord = 2; T = cp2tform (crw, cap, ttype, ord); crw2 = tforminv (T, cap); finalerr = norm (crw - crw2)/npt; assert (finalerr < eps, "norm = %3.2e ( > eps)", finalerr) ***** xtest npt = 100000; [crw, cap] = coords (npt); ttype = 'polynomial'; ord = 3; T = cp2tform (crw, cap, ttype, ord); crw2 = tforminv (T, cap); finalerr = norm (crw - crw2)/npt; assert (finalerr < eps, "norm = %3.2e ( > eps)", finalerr) ***** xtest npt = 100000; [crw, cap] = coords (npt); ttype = 'polynomial'; ord = 4; T = cp2tform (crw, cap, ttype, ord); crw2 = tforminv (T, cap); finalerr = norm (crw - crw2)/npt; assert (finalerr < 6*eps, "norm = %3.2e ( > 6*eps)", finalerr) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/col2im.m] >>>>> /<>/inst/col2im.m ***** demo ## Divide A using distinct blocks and then reverse the operation A = [ 1:10 11:20 21:30 31:40]; B = im2col (A, [2 5], "distinct") C = col2im (B, [2 5], [4 10], "distinct") ***** demo ## Get sliding blocks of size from A into columns, calculate the ## mean of each block (mean of each column), and reconstruct A ## after a median filter. A = reshape (1:24, [4 6]) B = im2col (A, [2 3], "sliding") C = mean (B); col2im (C, [1 1], [3 4], "sliding") ***** error col2im (ones (10), [5 5], [10 10], "wrong_block_type"); ***** error col2im (ones (10), [1 1], [ 7 7], "sliding"); ***** error col2im (ones (10), [3 3], [10 10], "distinct") ***** error col2im (ones (10), [5 5], [10 11], "distinct"); ***** assert (col2im (sum (im2col (magic (10), [3 3], "sliding")), [1 1], [8 8]), convn (magic (10), ones (3, 3), "valid")); ***** test B = ones (1, (10-2+1)*(7-3+1)); A = ones ((10-2+1), (7-3+1)); assert (col2im (B, [2 3], [10 7]), A); ## same but different classes assert (col2im (int16 (B), [2 3], [10 7]), int16 (A)); assert (col2im (single (B), [2 3], [10 7]), single (A)); assert (col2im (logical (B), [2 3], [10 7]), logical (A)); ***** test a = rand (10)(:); assert (col2im (a, [1 1], [10 10]), col2im (a, [1 1], [10 10], "sliding")) ***** shared A, B v = [1:10]'; r = reshape (1:10, [2 5]); B = [v v+10 v+20 v+30 v+40 v+50]; A = [r r+30 r+10 r+40 r+20 r+50]; assert (col2im (B, [2 5], [6 10], "distinct"), A); ***** assert (col2im (int16 (B), [2 5], [6 10], "distinct"), int16 (A)); ***** assert (col2im (logical (B), [2 5], [6 10], "distinct"), logical (A)); ***** assert (col2im (single (B), [2 5], [6 10], "distinct"), single (A)); ***** test a = rand (10, 8); b = im2col (a, [5 5], "distinct"); assert (col2im (b, [5 5], [10 8], "distinct"), a); a = rand (8); b = im2col (a, [5 5], "distinct"); assert (col2im (b, [5 5], [8 8], "distinct"), a); ***** shared a, b ## Same number of multiple dimensions a = rand (10, 10, 10); b = im2col (a, [5 5 5], "distinct"); ***** assert (col2im (b, [5 5 5], [10 10 10], "distinct"), a); ## Different number of dimensions a = rand (10, 10, 10); b = im2col (a, [5 5], "distinct"); ***** assert (col2im (b, [5 5], [10 10 10], "distinct"), a); ## Removing padding from multiple dimensions a = rand (10, 10, 7); b = im2col (a, [5 5 3], "distinct"); ***** assert (col2im (b, [5 5 3], [10 10 7], "distinct"), a); a = rand (10, 10, 7); b = im2col (a, [5 5 5 2], "distinct"); ***** assert (col2im (b, [5 5 5 2], [10 10 7], "distinct"), a); 15 tests, 15 passed, 0 known failure, 0 skipped [inst/psf2otf.m] >>>>> /<>/inst/psf2otf.m ***** test psf = rand (6, 1); assert (psf2otf (psf), fft (circshift (psf, [-3])), eps); ***** test psf = rand (6, 6); assert (psf2otf (psf), fft2 (circshift (psf, [-3 -3])), eps); ***** test psf = rand (6, 6, 6); assert (psf2otf (psf), fftn (circshift (psf, [-3 -3 -3])), eps); ***** test psf = rand (7, 1); assert (psf2otf (psf), fft (circshift (psf, [-3])), eps); ***** test psf = rand (7, 7); assert (psf2otf (psf), fft2 (circshift (psf, [-3 -3])), eps); ***** test psf = rand (6, 7, 8); assert (psf2otf (psf), fftn (circshift (psf, [-3 -3 -4])), eps); ***** test psf = rand (6, 1); ppsf = [psf; 0]; assert (psf2otf (psf, 7), fft (circshift (ppsf, [-3])), eps); ***** test psf = rand (6, 1); ppsf = [[psf; 0] zeros(7, 6)]; assert (psf2otf (psf, [7 7]), fft2 (circshift (ppsf, [-3 0])), eps); ***** test psf = rand (6, 6); ppsf = [psf zeros(6, 1)]; assert (psf2otf (psf, [6 7]), fft2 (circshift (ppsf, [-3 -3])), eps); ***** error psf2otf (complex (rand (16), rand (16))) ***** error psf2otf (rand (16), 14) ***** error psf2otf (rand (16), [14 14]) ***** error psf2otf (rand (16), [18]) ***** error psf2otf (rand (16), [18 14]) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/im2int16.m] >>>>> /<>/inst/im2int16.m ***** assert (im2int16 (int16 ([-2 2 3])), int16 ([-2 2 3])); ***** assert (im2int16 (uint16 ([0 65535])), int16 ([-32768 32767])); ***** assert (im2int16 ([false true]), int16 ([-32768 32767])); ***** assert (im2int16 ([true false]), int16 ([32767 -32768])); ***** assert (im2int16 (uint8 ([0 127 128 255])), int16 ([-32768 -129 128 32767])); ***** assert (im2int16 ([0 1.4/65535 1.5/65535 2/65535 1]), int16 ([-32768 -32767 -32766 -32766 32767])); ***** assert (im2int16 ([0 0.5 1]), int16 ([-32768 0 32767])); ***** assert (im2int16 ([-1 0 1 2]), int16 ([-32768 -32768 32767 32767])); ***** error im2int16 ([1 2], "indexed"); 9 tests, 9 passed, 0 known failure, 0 skipped [inst/imlincomb.m] >>>>> /<>/inst/imlincomb.m ***** assert (imlincomb (0.5, uint8 ([255 10]), 0.5, uint8 ([50 20])), uint8 ([153 15])); # default to first class and truncate ***** assert (imlincomb (0.5, uint8 ([255 10]), 0.5, uint8 ([50 20]), "uint16"), uint16 ([153 15])); # defining output class works ***** assert (imlincomb (0.5, uint8 ([255 10]), 0.5, uint8 ([50 20]), 10), uint8 ([163 25])); # default to first class and truncate ***** assert (imlincomb (0.5, uint8 ([255 10]), 0.5, uint8 ([50 20]), 1000, "uint16"), uint16 ([1153 1015])); # defining output class works ***** assert (imlincomb (0.5, uint8 ([255 10]), 0.5, uint8 ([50 20]), 1000), uint8 ([255 255])); # defining output class works 5 tests, 5 passed, 0 known failure, 0 skipped [inst/im2single.m] >>>>> /<>/inst/im2single.m ***** assert (im2single (single ([1 2 3])), single ([1 2 3])); ***** assert (im2single ([1 2 3]), single ([1 2 3])); ***** assert (im2single (uint8 ([0 127 128 255])), single ([0 127/255 128/255 1])); ***** assert (im2single (uint16 ([0 127 128 65535])), single ([0 127/65535 128/65535 1])); ***** assert (im2single (int16 ([-32768 -32767 -32766 32767])), single ([0 1/65535 2/65535 1])); ***** assert (im2single (uint8 ([0 1 255]), "indexed"), single ([1 2 256])); ***** assert (im2single (uint16 ([0 1 2557]), "indexed"), single ([1 2 2558])); ***** assert (im2single ([3 25], "indexed"), single ([3 25])); ***** error im2single ([0 1 2], "indexed"); ***** error im2single (int16 ([17 8]), "indexed"); ***** error im2single (int16 ([-7 8]), "indexed"); ***** error im2single ([false true], "indexed"); 12 tests, 12 passed, 0 known failure, 0 skipped [inst/imsharpen.m] >>>>> /<>/inst/imsharpen.m ***** test A = zeros (7, 7); A(4,4) = 1; B = [ 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 -0.00238 -0.01064 -0.01755 -0.01064 -0.00238 0.00000 0.00000 -0.01064 -0.04771 -0.07866 -0.04771 -0.01064 0.00000 0.00000 -0.01755 -0.07866 1.67032 -0.07866 -0.01755 0.00000 0.00000 -0.01064 -0.04771 -0.07866 -0.04771 -0.01064 0.00000 0.00000 -0.00238 -0.01064 -0.01755 -0.01064 -0.00238 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000]; assert (imsharpen (A), B, 5e-6) ***** test A = zeros (7, 7); A(4,4) = 1; B = [ -0.0035147 -0.0065663 -0.0095539 -0.0108259 -0.0095539 -0.0065663 -0.0035147 -0.0065663 -0.0122674 -0.0178490 -0.0202255 -0.0178490 -0.0122674 -0.0065663 -0.0095539 -0.0178490 -0.0259701 -0.0294280 -0.0259701 -0.0178490 -0.0095539 -0.0108259 -0.0202255 -0.0294280 1.7666538 -0.0294280 -0.0202255 -0.0108259 -0.0095539 -0.0178490 -0.0259701 -0.0294280 -0.0259701 -0.0178490 -0.0095539 -0.0065663 -0.0122674 -0.0178490 -0.0202255 -0.0178490 -0.0122674 -0.0065663 -0.0035147 -0.0065663 -0.0095539 -0.0108259 -0.0095539 -0.0065663 -0.0035147]; assert (imsharpen (A, "radius", 2), B, 5e-8) ***** test A = zeros (7, 7); A(4,4) = 1; assert (imsharpen (A, "radius", 0.01), A) ***** test A = zeros (7, 7); A(4,4) = 1; B = A; B(3:5,3:5) = -0.000000000011110; B(3:5,4) = -0.000002981278097; B(4,3:5) = -0.000002981278097; B(4,4) = 1.000011925156828; assert (imsharpen (A, "radius", 0.2), B, eps*10) ***** test A = zeros (7, 7); A(4,4) = 1; B = [ 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 -0.00297 -0.01331 -0.02194 -0.01331 -0.00297 0.00000 0.00000 -0.01331 -0.05963 -0.09832 -0.05963 -0.01331 0.00000 0.00000 -0.02194 -0.09832 1.83790 -0.09832 -0.02194 0.00000 0.00000 -0.01331 -0.05963 -0.09832 -0.05963 -0.01331 0.00000 0.00000 -0.00297 -0.01331 -0.02194 -0.01331 -0.00297 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000]; assert (imsharpen (A, "amount", 1), B, 5e-6) ***** test A = zeros (7, 7); A(4,4) = 1; B = zeros (7, 7); B(4,4) = 1.670317742690299; B(4,3) = -0.078656265079077; B(3,4) = -0.078656265079077; B(4,5) = -0.078656265079077; B(5,4) = -0.078656265079077; assert (imsharpen (A, "Threshold", 0.117341762), B, eps*10) ***** test A = zeros (7, 7); A(4,4) = 1; B = zeros (7, 7); B(4,4) = 1.670317742690299; assert (imsharpen (A, "Threshold", 0.117341763), B, eps*10) ***** test A = zeros (7, 7, "uint8"); A(3:5,3:5) = 150; B = zeros (7, 7, "uint8"); B(3:5,3:5) = 211; B(4,3:5) = 195; B(3:5,4) = 195; B(4,4) = 175; assert (imsharpen (A), B) ***** test A = zeros (7, 7, "uint8"); A(3:5,3:5) = 100; B = zeros (7, 7, "uint8"); B(3:5,3:5) = 173; assert (imsharpen (A, "radius", 4), B) ***** test A = zeros (7, 7, 3, "uint8"); A(4,4,:) = 255; assert (imsharpen (A), A) ***** xtest A = zeros(7,7,3, "uint8"); A(4,4,1) = 255; B = A; B(4,4,2) = 146; # Octave result is 145; B(4,4,3) = 100; # Octave result is 99; assert (imsharpen (A), B) !!!!! known failure ASSERT errors for: assert (imsharpen (A),B) Location | Observed | Expected | Reason (4,4,2) 145 146 Abs err 1 exceeds tol 0 by 1 (4,4,3) 99 100 Abs err 1 exceeds tol 0 by 1 ***** xtest A = zeros (7, 7, 3, "uint8"); A(3:5,3:5,1) = 100; A(3:5,3:5,2) = 150; B = A; B(3:5,3:5,1) = 164; B(3:5,4,1) = 146; # Octave result is 147 B(4,3:5,1) = 146; # Octave result is 145 B(4,4,1) = 125; # Octave result is 126 B(3:5,3:5,2) = 213; B(3:5,4,2) = 195; # Octave result is 196 B(4,3:5,2) = 195; # Octave result is 196 B(4,4,2) = 175; B(3:5,3:5,3) = 79; B(3:5,4,3) = 62; B(4,3:5,3) = 62; B(4,4,3) = 40; # Octave result is 39 assert (imsharpen (A), B) !!!!! known failure ASSERT errors for: assert (imsharpen (A),B) Location | Observed | Expected | Reason (4,3,1) 147 146 Abs err 1 exceeds tol 0 by 1 (3,4,1) 147 146 Abs err 1 exceeds tol 0 by 1 (4,4,1) 126 125 Abs err 1 exceeds tol 0 by 1 (5,4,1) 147 146 Abs err 1 exceeds tol 0 by 1 (4,5,1) 147 146 Abs err 1 exceeds tol 0 by 1 (4,3,2) 196 195 Abs err 1 exceeds tol 0 by 1 (3,4,2) 196 195 Abs err 1 exceeds tol 0 by 1 (5,4,2) 196 195 Abs err 1 exceeds tol 0 by 1 (4,5,2) 196 195 Abs err 1 exceeds tol 0 by 1 (4,4,3) 39 40 Abs err 1 exceeds tol 0 by 1 ***** error imsharpen () ***** error imsharpen (ones (3, 3), "Radius") ***** error imsharpen (ones (3, 3), "Radius", 0) ***** error imsharpen (ones (3, 3), "Amount", -1) ***** error imsharpen (ones (3, 3), "Threshold", 1.5) ***** error imsharpen (ones (3, 3), "Threshold", -1) ***** error imsharpen (ones (3, 3), "foo") ***** error imsharpen ("foo") 20 tests, 18 passed, 2 known failures, 0 skipped [inst/imsmooth.m] >>>>> /<>/inst/imsmooth.m ***** test ## checking Bilateral Filter ## constant image remain the same after Bilateral Filter A = uint8(255*ones(128,128)); B = uint8(imsmooth(A, 'Bilateral', 2, 10)); assert (A,B); ## Bilateral Filter does not smear outlayers A = zeros(256,256); A(128,128) = 256; ## bilateral filter does not smear outlayers B = imsmooth(A, 'Bilateral', 2, 10); assert (A,B,1.e-140); ## When sigma_r is large the filter behaves almost ## like the isotropic Gaussian filter A0 = fspecial ('gaussian',100,100); A = uint8(A0/max(max(A0))*255); B1 = imsmooth(A, 'Bilateral', 2, 100); B2 = imsmooth(A, 'Gaussian', 2); assert (B1,B2); 1 test, 1 passed, 0 known failure, 0 skipped [inst/imrotate.m] >>>>> /<>/inst/imrotate.m ***** test ## Verify minimal loss across six rotations that add up to 360 +/- 1 deg.: methods = { "nearest", "bilinear", "bicubic", "Fourier" }; angles = [ 59 60 61 ]; tolerances = [ 7.4 8.5 8.6 # nearest 3.5 3.1 3.5 # bilinear 2.7 2.0 2.7 # bicubic 2.7 1.6 2.8 ]/8; # Fourier # This is peaks(50) without the dependency on the plot package x = y = linspace(-3,3,50); [X,Y] = meshgrid(x,y); x = 3*(1-X).^2.*exp(-X.^2 - (Y+1).^2) ... - 10*(X/5 - X.^3 - Y.^5).*exp(-X.^2-Y.^2) ... - 1/3*exp(-(X+1).^2 - Y.^2); x -= min(x(:)); # Fourier does not handle neg. values well x = x./max(x(:)); for m = 1:(length(methods)) y = x; for i = 1:5 y = imrotate(y, 60, methods{m}, "crop", 0); end for a = 1:(length(angles)) assert(norm((x - imrotate(y, angles(a), methods{m}, "crop", 0)) (10:40, 10:40)) < tolerances(m,a)); endfor endfor ***** xtest ## Verify exactness of near-90 and 90-degree rotations: X = rand(99); for angle = [90 180 270] for da = [-0.1 0.1] Y = imrotate(X, angle + da , "nearest", :, 0); Z = imrotate(Y, -(angle + da), "nearest", :, 0); assert(norm(X - Z) == 0); # exact zero-sum rotation assert(norm(Y - imrotate(X, angle, "nearest", :, 0)) == 0); # near zero-sum endfor endfor !!!!! known failure assert (norm (X - Z) == 0) failed ***** test ## Verify preserved pixel density: methods = { "nearest", "bilinear", "bicubic", "Fourier" }; ## This test does not seem to do justice to the Fourier method...: tolerances = [ 4 2.2 2.0 209 ]; range = 3:9:100; for m = 1:(length(methods)) t = []; for n = range t(end + 1) = sum(imrotate(eye(n), 20, methods{m}, :, 0)(:)); endfor assert(t, range, tolerances(m)); endfor ***** test a = reshape (1:18, [2 3 3]); a90(:,:,1) = [5 6; 3 4; 1 2]; a90(:,:,2) = a90(:,:,1) + 6; a90(:,:,3) = a90(:,:,2) + 6; a180(:,:,1) = [6 4 2; 5 3 1]; a180(:,:,2) = a180(:,:,1) + 6; a180(:,:,3) = a180(:,:,2) + 6; am90(:,:,1) = [2 1; 4 3; 6 5]; am90(:,:,2) = am90(:,:,1) + 6; am90(:,:,3) = am90(:,:,2) + 6; assert (imrotate (a, 0), a); assert (imrotate (a, 90), a90); assert (imrotate (a, -90), am90); assert (imrotate (a, 180), a180); assert (imrotate (a, -180), a180); assert (imrotate (a, 270), am90); assert (imrotate (a, -270), a90); assert (imrotate (a, 360), a); ***** test # bug #53309 in = ones (2, 4); out = [0 1 1 0; 0 1 1 0]; assert (imrotate (in, 90, "nearest", "crop"), out) assert (imrotate (repmat (in, [1 1 3]), 90, "nearest", "crop"), repmat (out, [1 1 3])) ***** test ## bug #53309 rgbs = { rand(5, 4, 3), # normal path, does interpolation rand(4, 4, 3), # rows and columns, same number, simple rotdim rand(4, 6, 3), # rows and columns differents, but of length even }; for rgb_i = 1:numel(rgbs) rgb = rgbs{rgb_i}; rot = imrotate (rgb, 90, "nearest", "crop"); for i = 1:3 assert (rot(:,:,i), imrotate (rgb(:,:,i), 90, "nearest", "crop")) endfor ## same check but with an integer class rgb = im2uint8 (rgb); rot = imrotate (rgb, 90, "nearest", "crop"); assert (class (rgb), class (rot)) for i = 1:3 assert (rot(:,:,i), imrotate (rgb(:,:,i), 90, "nearest", "crop")) endfor endfor 6 tests, 5 passed, 1 known failure, 0 skipped [inst/isgray.m] >>>>> /<>/inst/isgray.m ***** assert (isgray ([0 0 1; 1 0 1]), true) ***** assert (isgray (zeros (3)), true) ***** assert (isgray (ones (3)), true) ***** test a = rand (10); assert (isgray (a), true); a(5, 5) = 2; assert (isgray (a), false); ***** test a = uint8 (randi (255, 10)); assert (isgray (a), true); a = int8 (a); assert (isgray (a), false); ***** test a = rand (10); a(50) = NaN; assert (isgray (a), true); ***** assert (isgray (rand (5, 5, 1, 4)), true); ***** assert (isgray (rand (5, 5, 3, 4)), false); ***** assert (isgray (rand (5, 5, 3)), false); ***** assert (isgray (rand (5, 5, 1, 3, 4)), false); ***** assert (isgray (rand (5, "single")), true) ***** assert (isgray ([.1 .2 .3; .4 NaN .6; .7 .8 .9]), true) ***** assert (isgray ([.1 .2 .3; NA NaN .6; .7 .8 .9]), true) ***** assert (isgray ([.1 .2 .3; NA .5 .6; .7 .8 .9]), true) ***** assert (isgray (NaN (5)), false) ***** assert (isgray (NA (5)), false) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/im2bw.m] >>>>> /<>/inst/im2bw.m ***** assert(im2bw ([0 0.4 0.5 0.6 1], 0.5), logical([0 0 0 1 1])); # basic usage ***** assert(im2bw (uint8 ([0 100 255]), 0.5), logical([0 0 1])); # with a uint8 input ***** warning bw = im2bw (logical ([0 1 0])); ***** warning bw = im2bw (logical ([0 1 0]), 1); ***** test warning ("off", "all", "local"); assert (im2bw (logical ([0 1 0])), logical ([0 1 0])) assert (im2bw (logical ([0 1 0]), 0), logical ([0 1 0])) assert (im2bw (logical ([0 1 0]), 1), logical ([0 1 0])) ***** assert (nnz (im2bw (uint8 ([0:255]), 0.9)), 26) ***** test img = uint8 ([0:255]); s = 0; for i=0:.1:1 s += nnz (im2bw (img, i)); endfor assert (s, 1405) ***** assert (nnz (im2bw (int16 ([-128:127]), 0.499)), 194) ***** assert (nnz (im2bw (int16 ([-128:127]), 0.500)), 128) ***** assert (nnz (im2bw (int16 ([-128:127]), 0.501)), 62) ***** test img = uint16 ([0:intmax("uint16")]); s = 0; for i=0:.1:1 s += nnz (im2bw (img, i)); endfor assert (s, 360445) ***** test img = int16 ([intmin("int16"):intmax("int16")]); s = 0; for i=0:.1:1 s += nnz (im2bw (img, i)); endfor assert (s, 360445) ***** test im = [((randn(10)/10)+.3) ((randn(10)/10)+.7)]; assert (im2bw (im, "Otsu"), im2bw (im, graythresh (im, "Otsu"))) assert (im2bw (im, "moments"), im2bw (im, graythresh (im, "moments"))) ***** test im = [((randn(10)/10)+.3) ((randn(10)/10)+.7)]; im = reshape (im, [10 10 1 2]); assert (im2bw (im, "Otsu"), im2bw (im, graythresh (im, "Otsu"))) assert (im2bw (im, "moments"), im2bw (im, graythresh (im, "moments"))) 14 tests, 14 passed, 0 known failure, 0 skipped [inst/imcrop.m] >>>>> /<>/inst/imcrop.m ***** test a = randi (255, [100 100]); rect = [20 30 3 5]; assert (nthargout ([1 2], @imcrop, a, rect), {a(30:35, 20:23) rect}); assert (nthargout (2, @imcrop, a, rect), rect); assert (nthargout ([3 4], 4, @imcrop, a, rect), {a(30:35, 20:23) rect}); ***** test rgb = randi (255, [100 100 3]); rect = [20 30 3 5]; assert (nthargout ([1 2], @imcrop, rgb, rect), {rgb(30:35, 20:23,:) rect}); assert (nthargout (2, @imcrop, rgb, rect), rect); assert (nthargout ([3 4], 4, @imcrop, rgb, rect), {rgb(30:35, 20:23,:) rect}); ***** test a = randi (255, [100 100]); rect = [20 30 3 5]; cmap = jet (255); assert (nthargout ([1 2], @imcrop, a, cmap, rect), {a(30:35, 20:23) rect}); assert (nthargout (2, @imcrop, a, cmap, rect), rect); assert (nthargout ([3 4], 4, @imcrop, a, cmap, rect), {a(30:35, 20:23) rect}); ***** test a = rand (100) > 0.5; rect = [20 30 3 5]; assert (nthargout ([1 2], @imcrop, a, rect), {a(30:35, 20:23) rect}); assert (nthargout (2, @imcrop, a, rect), rect); assert (nthargout ([3 4], 4, @imcrop, a, rect), {a(30:35, 20:23) rect}); ***** assert (imcrop (0, [0.5 0.5 0.9 0.9]), 0); ***** assert (imcrop (zeros (5), [1 1 1 1]), zeros (2)); ***** test im = magic (5); assert (imcrop (im, [1 1 5 5]), im) assert (imcrop (im, [0 0 5 5]), im) assert (imcrop (im, [1 1 2 5]), im(:,1:3)) assert (imcrop (im, [1 -3 2 5]), im(1:2,1:3)) assert (imcrop (im, [5 -3 2 5]), im(1:2,5)) ***** test im = [1:7] .* [1; 2; 3; 4; 5]; assert (imcrop (im, [1 1 5 5]), im(:,1:6)) assert (imcrop (im, [0 0 5 5]), im(:,1:5)) assert (imcrop (im, [1 1 2 5]), im(:,1:3)) assert (imcrop (im, [1 -3 2 7]), im(1:4,1:3)) assert (imcrop (im, [7 -3 2 7]), im(1:4,7)) ***** test ## Matlab returns [] (size 0x0) for this cases, while we return ## [] (size 2x0). We are not compatible by design. If it ever ## becomes an issue to anyone we can review this decision. assert (imcrop (magic (5), [6 -3 2 5]), zeros (2, 0)) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/edgetaper.m] >>>>> /<>/inst/edgetaper.m ***** assert (class (edgetaper (rand (100), rand (16))), "double") ***** assert (class (edgetaper (randi (255, 100, "uint8"), rand (16))), "uint8") 2 tests, 2 passed, 0 known failure, 0 skipped [inst/graythresh.m] >>>>> /<>/inst/graythresh.m ***** shared img, histo ## this is the old default.img that came with GNU Octave. While the current ## is very very similar, is off just enough for us to get precision errors 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])); ***** assert (graythresh (img, "percentile"), 142/255); ***** assert (graythresh (img, "percentile", 0.5), 142/255); ***** assert (graythresh (img, "moments"), 142/255); ***** assert (graythresh (img, "minimum"), 93/255); ***** assert (graythresh (img, "maxentropy"), 150/255); ***** assert (graythresh (img, "intermodes"), 99/255); ***** assert (graythresh (img, "otsu"), 115/255); histo = hist (img(:), 0:255); ***** assert (graythresh (histo, "otsu"), 115/255); ***** assert (graythresh (img, "mean"), 0.51445615982, 0.000000001); # here our results differ from ImageJ ***** test im = repmat (0.5, 100, 100); [t, g] = graythresh (im); assert (t, 0) assert (g, 0) ***** test im = [-2 1 0; 43 .5 .2]; clip_im = [ 0 1 0; 1 .5 .2]; t =graythresh (clip_im); assert (graythresh (im), t) assert (graythresh (single (im)), t) 11 tests, 11 passed, 0 known failure, 0 skipped [inst/imcast.m] >>>>> /<>/inst/imcast.m ***** test im = randi ([0 255], 40, "uint8"); assert (imcast (im, "uint8"), im2uint8 (im)) assert (imcast (im, "uint16"), im2uint16 (im)) assert (imcast (im, "single"), im2single (im)) assert (imcast (im, "uint8", "indexed"), im2uint8 (im, "indexed")) assert (imcast (im, "uint16", "indexed"), im2uint16 (im, "indexed")) assert (imcast (im, "single", "indexed"), im2single (im, "indexed")) ***** test im = randi ([1 256], 40, "double"); assert (imcast (im, "uint8"), im2uint8 (im)) assert (imcast (im, "uint8", "indexed"), im2uint8 (im, "indexed")) assert (imcast (im, "single", "indexed"), im2single (im, "indexed")) ***** test im = randi ([0 65535], 40, "uint16"); assert (imcast (im, "uint8"), im2uint8 (im)) assert (imcast (im, "single"), im2single (im)) assert (imcast (im, "single", "indexed"), im2single (im, "indexed")) ***** test im = randi ([1 255], 40, "double"); assert (imcast (im, "uint8", "indexed"), im2uint8 (im, "indexed")) assert (imcast (im, "single", "indexed"), im2single (im, "indexed")) ***** test im = rand (40); assert (imcast (im, "uint8"), im2uint8 (im)) ***** error imcast (randi (127, 40, "int8"), "uint8") ***** error imcast (randi (255, 40, "uint8"), "uint32") ***** error imcast (randi (255, 40, "uint8"), "not a class") ***** error imcast (randi ([0 65535], 40, "uint16"), "uint8", "indexed") 9 tests, 9 passed, 0 known failure, 0 skipped [inst/imabsdiff.m] >>>>> /<>/inst/imabsdiff.m ***** assert (imabsdiff (uint8 ([23 250]), uint8 ([26 50])), uint8 ([ 3 200])); # default to first class and abs works ***** assert (imabsdiff (uint8 ([23 250]), uint8 ([24 50]), "uint16"), uint16 ([ 1 200])); # defining output class works (not in matlab) ***** assert (imabsdiff (uint8 ([23 250]), uint8 ([24 255]), "int8"), int8 ([ 1 5])); # signed integers kinda work (not in matlab) ***** assert (imabsdiff (logical ([ 1 0]), logical ([ 1 1])), double ([ 0 1])); # return double for two logical images ***** fail ("imabsdiff (uint8 ([23 250]), 30"); # fails subtracting a scalar ***** fail ("imabsdiff (uint8 ([23 250]), uint16 ([23 250]))"); # input need to have same class 6 tests, 6 passed, 0 known failure, 0 skipped [inst/colfilt.m] >>>>> /<>/inst/colfilt.m ***** demo ## Perform moving average filter with a 4x4 window A = magic (12) colfilt (A, [4 4], "sliding", @mean) ***** test A = reshape (1:36, [6 6]); assert (colfilt (A, [2 2], [3 3], "sliding", @sum), conv2 (A, ones (2), "same")); 1 test, 1 passed, 0 known failure, 0 skipped [inst/mat2gray.m] >>>>> /<>/inst/mat2gray.m ***** assert(mat2gray([1 2 3]), [0 0.5 1]); # standard use ***** assert(mat2gray(repmat ([1 2; 3 3], [1 1 3])), repmat ([0 0.5; 1 1], [1 1 3])); # setting min and max ***** assert(mat2gray([1 2 3], [2 2]), [1 1 1]); # equal min and max ***** assert(mat2gray([-1 0 0.5 3], [2 2]), [0 0 0.5 1]); # equal min and max ***** assert(mat2gray(ones(3*0.5)), ones(3*0.5)); # equal min and max from the image (not set) ***** assert(mat2gray([1 2 3], [3 1]), [1 0.5 0]); # max and min inverted ***** assert (mat2gray ([-3 -2 -1]), [0 0.5 1]) 7 tests, 7 passed, 0 known failure, 0 skipped [inst/bwhitmiss.m] >>>>> /<>/inst/bwhitmiss.m ***** test bw1 = repmat ([0 1 0 1 1], [3 1]); bw2 = repmat ([0 1 0 0 0], [3 1]); assert (bwhitmiss (bw1, [1; 0; 1], [1 0 1]), logical (bw2)) assert (bwhitmiss (bw1, [0 1 0; -1 0 -1; 0 1 0]), logical (bw2)) 1 test, 1 passed, 0 known failure, 0 skipped [inst/impixel.m] >>>>> /<>/inst/impixel.m ***** shared img2d, img3d img2d = uint8 (magic (10)); img3d(:,:,1) = img2d; img3d(:,:,2) = img2d + 1; img3d(:,:,3) = img2d + 2; img3d = uint8 (img3d); ***** assert (impixel (img2d, 2, 2), single ([80 80 80])); ***** assert (impixel (img2d, -2, 2), single ([NA NA NA])); ***** assert (impixel (img2d, [1 10], [1 10]), single ([92 92 92; 59 59 59])); ***** assert (impixel (img3d, [1 10], [1 10]), single ([92 93 94; 59 60 61])); ***** assert (impixel (double (img2d), [1 10], [1 10]), [92 92 92; 59 59 59]); ***** assert (impixel ([1 10], [1 10], img2d, [1 10], [1 10]), single ([92 92 92; 59 59 59])); ***** assert (impixel ([3 12], [-4 12], img2d, [1 10], [1 10]), single ([NA NA NA; 44 44 44])); ***** assert (impixel ([3 5], [-4 3], img2d, [1 10], [1 10]), single ([NA NA NA; NA NA NA])); ## the following returns double because it's an indexed image ***** assert (impixel ([3 12], [-4 12], img2d, gray (100), [1 10], [1 10]), [NA NA NA; 4/9 4/9 4/9]); 9 tests, 9 passed, 0 known failure, 0 skipped [inst/imopen.m] >>>>> /<>/inst/imopen.m ***** shared in, out in = [ 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0]; out = [ 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; ***** assert (imopen (logical (in), ones (3)), logical (out)); out = [80 80 1 8 15 51 51 51 51 40 80 80 7 8 15 54 55 55 55 40 4 7 7 8 15 54 55 55 55 40 17 17 17 7 3 54 55 55 55 28 17 17 17 2 9 54 54 54 52 33 17 17 17 29 29 29 29 26 33 33 5 5 13 29 29 29 30 32 39 39 6 6 13 29 29 29 30 32 39 39 10 12 77 77 77 35 35 35 39 39 10 12 77 77 77 35 35 35 27 27]; ***** assert (imopen (magic (10), ones (3)), out); ***** assert (imopen (uint8 (magic (10)), strel ("square", 3)), uint8 (out)); ## using a se that will be decomposed in 2 pieces out =[ 1 1 1 8 15 40 40 40 40 40 4 4 4 8 15 40 40 40 40 40 4 4 4 8 15 40 40 40 40 40 5 5 5 3 3 28 28 28 28 28 5 5 5 2 9 28 28 28 28 28 5 5 13 26 26 26 26 26 26 26 5 5 13 29 29 29 29 29 27 27 6 6 13 29 29 29 29 29 27 27 6 6 13 29 29 29 29 29 27 27 6 6 13 29 29 29 29 29 27 27]; ***** assert (imopen (magic (10), ones(5)), out); ## using a weird non-symmetric and even-size se out =[ 7 7 1 8 15 55 51 51 41 40 7 7 7 8 16 55 55 55 51 41 4 9 7 7 16 54 55 54 55 47 25 25 9 9 3 52 54 52 54 28 25 24 25 2 9 33 52 34 52 34 17 24 29 31 29 30 33 26 33 34 17 5 29 31 31 31 30 32 39 33 10 6 13 35 35 29 31 32 45 39 10 12 77 36 36 35 35 31 45 45 11 12 77 77 77 36 36 35 27 45]; ***** assert (imopen (magic (10), [1 0 0 0; 1 1 1 0; 0 1 0 1]), out); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/lab2double.m] >>>>> /<>/inst/lab2double.m ***** test l_max_f = 100 + (25500 / 65280); ab_max_f = 127 + (255 / 256); cm = [ -Inf Inf NaN l_max_f ab_max_f -200 -129 -128 -128+(255/65280)*(0.499999) -128+(255/65280)*(0.500001) # should be 0.5, but float rounding error -128+(255/65280)*(0.500002) -127 -1 0 (100/65280)*(0.499999) (100/65280)*(0.51) (100/65280)*(0.500001) 1 99 100 101 126 127 128 254 255 256 257]; cm = repmat (cm, [1 3]); im2d = reshape (cm, [7 4 3]); imnd = permute (im2d, [1 4 3 2]); cm_uint8 = uint8 ([ 0 0 0 255 255 255 255 255 255 255 228 228 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 127 127 0 128 128 0 128 128 0 128 128 0 128 128 3 129 129 252 227 227 255 228 228 255 229 229 255 254 254 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255]); assert (lab2uint8 (cm), cm_uint8) im2d_uint8 = reshape (cm_uint8, [7 4 3]); assert (lab2uint8 (im2d), im2d_uint8) assert (lab2uint8 (imnd), permute (im2d_uint8, [1 4 3 2])) cm_uint16 = uint16 ([ 0 0 0 65535 65535 65535 65535 65535 65535 65535 58468 58468 65535 65535 65535 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 256 256 0 32512 32512 0 32768 32768 0 32768 32768 1 32768 32768 1 32768 32768 653 33024 33024 64627 58112 58112 65280 58368 58368 65535 58624 58624 65535 65024 65024 65535 65280 65280 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535]); assert (lab2uint16 (cm), cm_uint16) im2d_uint16 = reshape (cm_uint16, [7 4 3]); assert (lab2uint16 (im2d), im2d_uint16) assert (lab2uint16 (imnd), permute (im2d_uint16, [1 4 3 2])) assert (lab2single (cm), single (cm)) assert (lab2single (im2d), single (im2d)) assert (lab2single (imnd), single (imnd)) 1 test, 1 passed, 0 known failure, 0 skipped [inst/normxcorr2.m] >>>>> /<>/inst/normxcorr2.m ***** function offsets = get_max_offsets (c) l = find (c == max (c(:))); offsets = nthargout (1:ndims (c), @ind2sub, size (c), l); ***** endfunction ***** test row_shift = 18; col_shift = 20; a = randi (255, 30, 30); b = a(row_shift-10:row_shift, col_shift-7:col_shift); c = normxcorr2 (b, a); ## should return exact coordinates assert (get_max_offsets (c), {row_shift col_shift}); ## Even with some small noise, should return exact coordinates b = imnoise (b, "gaussian"); c = normxcorr2 (b, a); assert (get_max_offsets (c), {row_shift col_shift}); ***** xtest a = rand (10, 10); c = normxcorr2 (a(5:7, 6:9), a); assert (c(7, 9), 1, eps*2); ***** test a = 10 * randn (100, 100); auto = normxcorr2 (a, a); add_in = normxcorr2 (a, -a); assert (auto, -add_in); ***** test a = 10 * randn (50, 50); b = 10 * randn (100, 100); do scale = 100 * rand (); until (scale != 0) assert (max ((normxcorr2 (scale*a,b) .- normxcorr2 (a,b))(:)), 0, 1e-10); assert (max ((normxcorr2 (a,scale*b) .- normxcorr2 (a,b))(:)), 0, 1e-10); a_shift1 = a .+ scale * ones (size (a)); b_shift1 = b .+ scale * ones (size (b)); a_shift2 = a .- scale * ones (size (a)); b_shift2 = b .- scale * ones (size (b)); assert (max ((normxcorr2 (a_shift1,b) .- normxcorr2 (a,b))(:)), 0, 1e-10); assert (max ((normxcorr2 (a,b_shift1) .- normxcorr2 (a,b))(:)), 0, 1e-10); assert (max ((normxcorr2 (a_shift2,b) .- normxcorr2 (a,b))(:)), 0, 1e-10); assert (max ((normxcorr2 (a,b_shift2) .- normxcorr2 (a,b))(:)), 0, 1e-10); ***** test a = randi (100, 15, 15, 15); c = normxcorr2 (a(5:10, 2:6, 3:7), a); assert (get_max_offsets (c), {10 6 7}); a = randi (100, 15, 15, 15); c = normxcorr2 (a(5:10, 2:6, 1:1), a); assert (get_max_offsets (c), {10 6 1}); ***** warning normxcorr2 (rand (20), rand (5)); ***** error normxcorr2 (rand (5)); ***** error normxcorr2 (rand (5), rand (20), 2); ***** test a = [ 252 168 50 1 59; 114 0 0 0 0] ./ 255; b = [ 1 171 255 255 255 255 240 71 131 254 255 255 255; 0 109 254 255 255 233 59 0 131 254 255 255 255; 76 13 195 253 194 34 0 19 217 255 255 255 255; 110 0 0 0 0 0 3 181 255 255 255 255 255; 153 0 0 0 0 2 154 254 255 255 255 255 255]./255; c = normxcorr2 (a, b); assert (max (imag (c(:))), 0); ***** test img = [1 1 1 0]; t = [1 1 0]; c = normxcorr2 (t, img); assert (c(3), 0) 10 tests, 10 passed, 0 known failure, 0 skipped [inst/iptnum2ordinal.m] >>>>> /<>/inst/iptnum2ordinal.m ***** assert (strcmp (iptnum2ordinal (1), 'first')); # simple works ***** assert (strcmp (iptnum2ordinal (21), '21st')); # after 20, goes stupid ***** assert (strcmp (iptnum2ordinal (100), '100th')); # use th correctly ***** fail ("iptnum2ordinal (inf)"); # must be real ***** fail ("iptnum2ordinal (0)"); # must be positive ***** fail ("iptnum2ordinal (-1)"); # must be positive ***** fail ("iptnum2ordinal (3.4)"); # must be integer 7 tests, 7 passed, 0 known failure, 0 skipped [inst/imattributes.m] >>>>> /<>/inst/imattributes.m ***** shared x, map, img, rgb, bw [x, map] = imread ("default.img"); rgb = ind2rgb (x, map); img = ind2gray (x, map); bw = im2bw (img); ***** test h = imshow (img); a = imattributes (h); assert ([a.("Height (rows)") a.("Width (columns)")], [53 40]); assert (a.Class, "uint8"); assert (a.("Image type"), "intensity"); assert (a.("Minimum intensity"), uint8 (28)); assert (a.("Maximum intensity"), uint8 (250)); ***** xtest h = imshow (rgb); a = imattributes (h); assert ([a.("Height (rows)") a.("Width (columns)")], [53 40]); assert (a.Class, "uint8"); assert (a.("Image type"), "truecolor"); assert (isfield (a, "Minimum intensity"), false); assert (isfield (a, "Maximum intensity"), false); !!!!! known failure ASSERT errors for: assert (a.Class,"uint8") Location | Observed | Expected | Reason [] double uint8 Strings don't match ***** test h = imshow (bw); a = imattributes (h); assert ([a.("Height (rows)") a.("Width (columns)")], [53 40]); assert (a.Class, "logical"); assert (a.("Image type"), "binary"); assert (isfield (a, "Minimum intensity"), false); assert (isfield (a, "Maximum intensity"), false); ***** test h = imshow (x, map); a = imattributes (h); assert ([a.("Height (rows)") a.("Width (columns)")], [53 40]); assert (a.Class, "uint8"); assert (a.("Image type"), "indexed"); assert (a.("Minimum intensity"), uint8 (0)); assert (a.("Maximum intensity"), uint8 (55)); ***** test h = imshow (img); a1 = imattributes (); a2 = imattributes (h); assert (a1, a2); 5 tests, 4 passed, 1 known failure, 0 skipped [inst/imgradient.m] >>>>> /<>/inst/imgradient.m ***** test A = [0 1 0 1 1 1 0 1 0]; [gMag, gDir] = imgradient (A); assert (gMag,[sqrt(18) 4 sqrt(18); 4 0 4; sqrt(18),4,sqrt(18)]); assert (gDir,[-45 -90 -135; -0 -0 -180; 45 90 135]); ## the following just test if passing gx and gy separately gets ## us the same as the image and method though imgradient [gxSobel, gySobel] = imgradientxy (A, "Sobel"); [gxPrewitt, gyPrewitt] = imgradientxy (A, "Prewitt"); [gxCd, gyCd] = imgradientxy (A, "CentralDifference"); [gxId, gyId] = imgradientxy (A, "IntermediateDifference"); assert (imgradient (A), imgradient (gxSobel, gySobel)); assert (imgradient (A, "Sobel"), imgradient (gxSobel, gySobel)); assert (imgradient (A, "Prewitt"), imgradient(gxPrewitt, gyPrewitt)); assert (imgradient (A, "CentralDifference"), imgradient (gxCd, gyCd)); assert (imgradient (A, "IntermediateDifference"), imgradient (gxId, gyId)); 1 test, 1 passed, 0 known failure, 0 skipped [inst/grayslice.m] >>>>> /<>/inst/grayslice.m ***** function gs = test_grayslice_vector (I, v) gs = zeros (size (I)); for idx = 1:numel (v) gs(I >= v(idx)) = idx; endfor ***** endfunction ***** function gs = test_grayslice_scalar (I, n) v = (1:(n-1)) / n; gs = test_grayslice_vector (I, v); ***** endfunction ***** shared I2d, I3d, I5d, double_corner I2d = rand (10, 10); I3d = rand (10, 10, 3); I5d = rand (10, 10, 4, 3, 5); double_corner = I2d; double_corner(I2d > 0.1 & I2d < 0.3) = -0.2; double_corner(I2d > 0.6 & I2d < 0.7) = 1.3; ***** assert (grayslice (I2d), grayslice (I2d, 10)) ***** assert (grayslice (I2d, 10), uint8 (test_grayslice_scalar (I2d, 10))) ***** assert (grayslice (I2d, [0.3 0.5 0.7]), uint8 (test_grayslice_vector (I2d, [0.3 0.5 0.7]))) ***** assert (grayslice (I3d, 10), uint8 (test_grayslice_scalar (I3d, 10))) ***** assert (grayslice (I5d, 300), test_grayslice_scalar (I5d, 300)+1) ***** assert (grayslice (I3d, [0.3 0.5 0.7]), uint8 (test_grayslice_vector (I3d, [0.3 0.5 0.7]))) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/imadjust.m] >>>>> /<>/inst/imadjust.m ***** error imadjust ("bad argument"); ***** error imadjust ([1:100], "bad argument", [], 1); ***** error <2 row column per plane> imadjust ([1:100], [0 1 1], [], 1); ***** error <2 row column per plane> imadjust ([1:100], [], [0 1 1], 1); ***** error imadjust ([1:100], [], [], [0; 1]); ***** error imadjust (rand (5, 5, 3), [], [], [0 1]); ***** error imadjust ([1:100], [0; 1], [], -1); ***** error imadjust ([1:100], [0; 5], []); ***** error imadjust ([1:100], [-2; 1], []); ***** error imadjust ([1:100], [], [0; 4]); ***** error imadjust ([1:100], [], [-2; 1]); ***** error imadjust (rand (5) > .5); ***** test im = [0.01:0.01:1]; assert (imadjust (im), [0 linspace(0, 1, 98) 1], eps) assert (imadjust (im), imadjust (im, stretchlim (im, 0.01), [0; 1], 1)) assert (imadjust (im, []), imadjust (im, [0; 1], [0; 1], 1)) assert (imadjust (im, [], []), imadjust (im, [0; 1], [0; 1], 1)) assert (imadjust (im, [], [.25 .75]), imadjust (im, [0; 1], [.25; .75], 1)) assert (imadjust (im, [.25; .75], []), imadjust (im, [.25; .75], [0; 1], 1)) ***** assert (imadjust (linspace (0, 1), [], [.25 .75]), linspace (.25, .75, 100), eps) ***** assert (imadjust (linspace (0, 1, 100),[1/99; 98/99]), [0 linspace(0, 1, 98) 1], eps) ***** shared cm cm = [[0:8]' [1:9]' [2:10]'] / 10; ***** assert (imadjust (cm, [0; 1], [0.5; 1]), (cm /2) + .5) ***** assert (imadjust (cm, [0 1], [0.5 1]), (cm /2) + .5) ***** assert (imadjust (cm, [0; 1], [.1 .2 .3; .7 .8 .9]), (cm*.6) .+ [.1 .2 .3], eps) ***** assert (imadjust (cm, [.2 .4 .6; .7 .8 .9], [0; 1]), [[0 0 linspace(0, 1, 6) 1]' ... [0 0 0 linspace(0, 1, 5) 1]' ... [0 0 0 0 linspace(0, 1, 4) 1]'], eps) ***** assert (imadjust (cm, [.2 .4 .6; .7 .8 .9], [0 .1 .2; .8 .9 1]), [[0 0 linspace(0, .8, 6) .8]' ... [.1 .1 .1 linspace(.1, .9, 5) .9]' ... [.2 .2 .2 .2 linspace(.2, 1, 4) 1]'], eps) ***** assert (imadjust (cm, [.2 .4 .6; .7 .8 .9], [0 .1 .2; .8 .9 1], [0.5 1 2]), [[0 0 0 (((([.3 .4 .5 .6]-.2)/.5).^.5)*.8) .8 .8]' ... [.1 .1 .1 linspace(.1, .9, 5) .9]' ... [.2 .2 .2 .2 .2 ((((([.7 .8]-.6)/.3).^2).*.8)+.2) 1 1]'], eps*10) ***** test im = [-0.4:.1:0.8 0.0:.1:1.2 0.1:.1:1.3 -0.4:.2:2.0]; ## just clipping assert (imadjust (im, [0; 1], [0; 1]), [0 0 0 0 (0:.1:.8) (0:.1:1) 1 1 (.1:.1:1) 1 1 1 0 0 (0:.2:1) 1 1 1 1 1], eps) ## clipping and invert assert (imadjust (im, [0; 1], [1; 0]), [1 1 1 1 (1:-.1:.2) (1:-.1:0) 0 0 (.9:-.1:0) 0 0 0 1 1 (1:-.2:0) 0 0 0 0 0], eps) ## rescale assert (imadjust (im, [.2; .7], [.1; .9]), [1 1 1 1 1 1 1 2.6 4.2 5.8 7.4 9 9 1 1 1 2.6 4.2 5.8 7.4 9 9 9 9 9 9 1 1 2.6 4.2 5.8 7.4 9 9 9 9 9 9 9 1 1 1 1 4.2 7.4 9 9 9 9 9 9 9]/10, eps) ## rescale and invert assert (imadjust (im, [.2; .7], [.9; .1]), [9 9 9 9 9 9 9 7.4 5.8 4.2 2.6 1 1 9 9 9 7.4 5.8 4.2 2.6 1 1 1 1 1 1 9 9 7.4 5.8 4.2 2.6 1 1 1 1 1 1 1 9 9 9 9 5.8 2.6 1 1 1 1 1 1 1]/10, eps) ***** assert (imadjust (linspace (0, 1), [], [], 2), linspace (0, 1) .^ 2) ***** shared oRGB oRGB = zeros (10, 1, 3); oRGB(:,:,1) = [0 linspace(0,1,6) 1 1 1]'; oRGB(:,:,2) = [0 0 linspace(0,1,6) 1 1]'; oRGB(:,:,3) = [0 0 0 linspace(0,1,6) 1]'; ***** assert (imadjust (oRGB, [0; 1], [0; 1]), oRGB) ***** assert (imadjust (oRGB, [.2; .8], [0; 1]), reshape ([[0 0 0 1/3 2/3 1 1 1 1 1]' [0 0 0 0 1/3 2/3 1 1 1 1]' [0 0 0 0 0 1/3 2/3 1 1 1]'], [10 1 3]), eps) ***** assert (imadjust (oRGB, [.2; .8], [.1; .9]), reshape ([[.1 .1 .1 (1/3)+(.1/3) (2/3)-(.1/3) .9 .9 .9 .9 .9]' [.1 .1 .1 .1 (1/3)+(.1/3) (2/3)-(.1/3) .9 .9 .9 .9]' [.1 .1 .1 .1 .1 (1/3)+(.1/3) (2/3)-(.1/3) .9 .9 .9]'], [10 1 3]), eps) ***** assert (imadjust (oRGB, [.2; .8], [.2; .8]), reshape ([[2 2 2 4 6 8 8 8 8 8]' [2 2 2 2 4 6 8 8 8 8]' [2 2 2 2 2 4 6 8 8 8]']/10, [10 1 3]), eps) ***** assert (imadjust (oRGB, [0; 1], [.1 .2 .3; .9 .8 .7]), reshape ([[1 1 2.6 4.2 5.8 7.4 9 9 9 9]' [2 2 2 3.2 4.4 5.6 6.8 8 8 8]' [3 3 3 3 3.8 4.6 5.4 6.2 7 7]']/10, [10 1 3]), eps) ***** assert (imadjust (oRGB, [.1 .2 .3; .9 .8 .7], [0; 1]), reshape ([[0 0 .125 .375 .625 .875 1 1 1 1]' [0 0 0 0 1/3 2/3 1 1 1 1]' [0 0 0 0 0 .25 .75 1 1 1]'], [10 1 3]), eps*10) ***** assert (imadjust (oRGB, [.1 .2 .3; .9 .8 .7], [.2 0 .4; .5 1 .7 ]), reshape ([[.2 .2 .2375 .3125 .3875 .4625 .5 .5 .5 .5]' [0 0 0 0 1/3 2/3 1 1 1 1]' [.4 .4 .4 .4 .4 .475 .625 .7 .7 .7]'], [10 1 3]), eps) ***** test img = rand (4, 4, 2, 3, 4); adj = zeros (4, 4, 2, 3, 4); for p = 1:2 for q = 1:3 for r = 1:4 adj(:,:,p,q,r) = imadjust (img(:,:,p,q,r)); endfor endfor endfor assert (imadjust (img), adj) ***** test img = rand (4, 4, 2, 3, 2); adj = zeros (4, 4, 2, 3, 2); in = reshape ([ 3 5 7 9 11 13 15 17 19 21 23 25; 97 95 93 91 89 87 85 83 81 79 77 75] / 100, [2 2 3 2]); out = reshape ([ 5 7 9 11 14 15 17 19 21 23 25 27; 95 93 91 89 87 85 83 81 79 77 75 73] / 100, [2 2 3 2]); gamma = reshape (0.6:.1:1.7, [1 2 3 2]); for p = 1:2 for q = 1:3 for r = 1:2 adj(:,:,p,q,r) = imadjust (img(:,:,p,q,r), in(:,p,q,r), out(:,p,q,r), gamma(1,p,q,r)); endfor endfor endfor assert (imadjust (img, in, out, gamma), adj) ***** test in = int16 (1:6); assert (imadjust (in), int16 ([-32768 -19661 -6554 6553 19660 32767])) assert (imadjust (in, []), in) ***** test in = uint8([ 35 1 6 26 19 24 3 32 7 21 23 25 31 9 2 22 27 20 8 28 33 17 10 15 30 5 34 12 14 16 4 36 29 13 18 11]); out = uint8([ 12 0 0 1 0 0 0 8 0 0 0 0 7 0 0 0 2 0 0 3 9 0 0 0 6 0 11 0 0 0 0 13 4 0 0 0]); assert (imadjust (in, [.1 .9], [0 1]), out); ***** test in = uint8([ 140 4 24 104 76 96 12 128 28 84 92 100 124 36 8 88 108 80 32 112 132 68 40 60 120 20 136 48 56 64 16 144 116 52 72 44]); out = uint8([ 143 0 0 98 63 88 0 128 3 73 83 93 123 13 0 78 103 68 8 108 133 53 18 43 118 0 138 28 38 48 0 148 113 33 58 23]); assert (imadjust (in, [.1 .9], [0 1]), out); ***** xtest in_u8 = randi ([0 255], 5, 5, 2, 3, "uint8"); in_u16 = randi ([0 65535], 5, 5, 2, 3, "uint16"); in_i16 = randi ([-32768 32767], 5, 5, 2, 3, "int16"); in_u8_d = im2double (in_u8); in_u16_d = im2double (in_u16); in_i16_d = im2double (in_i16); ## default values assert (imadjust (in_u8), im2uint8 (imadjust (in_u8_d))) assert (imadjust (in_u16), im2uint16 (imadjust (in_u16_d))) assert (imadjust (in_i16), im2int16 (imadjust (in_i16_d))) ## single adjustment for all planes args = {[.3; .7], [.1; .9], [1.5]}; assert (imadjust (in_u8, args{:}), im2uint8 (imadjust (in_u8_d, args{:}))) assert (imadjust (in_u16, args{:}), im2uint16 (imadjust (in_u16_d, args{:}))) assert (imadjust (in_i16, args{:}), im2int16 (imadjust (in_i16_d, args{:}))) ## single adjustment for all planes (mixed with some complement) args = {reshape([.2 .3 .25 .1 0 .1; .9 .7 .85 .9 1 .8], [2 2 3]), reshape([.1 .2 .05 .9 1 .3; .9 .85 .7 .1 0 .9], [2 2 3]), reshape([1 .75 1 1.2 1.5 2], [1 2 3])}; assert (imadjust (in_u8, args{:}), im2uint8 (imadjust (in_u8_d, args{:}))) assert (imadjust (in_u16, args{:}), im2uint16 (imadjust (in_u16_d, args{:}))) assert (imadjust (in_i16, args{:}), im2int16 (imadjust (in_i16_d, args{:}))) ## test use of [] as limit and negative args = {[], [.95; 0], 1.25}; assert (imadjust (in_u8, args{:}), im2uint8 (imadjust (in_u8_d, args{:}))) assert (imadjust (in_u16, args{:}), im2uint16 (imadjust (in_u16_d, args{:}))) assert (imadjust (in_i16, args{:}), im2int16 (imadjust (in_i16_d, args{:}))) 36 tests, 36 passed, 0 known failure, 0 skipped [inst/imhist.m] >>>>> /<>/inst/imhist.m ***** shared nn, bb, enn, ebb [nn, bb] = imhist(logical([0 1 0 0 1])); ***** assert({nn, bb}, {[3 2]', [0 1]'}) [nn, bb] = imhist([0 0.2 0.4 0.9 1], 5); ***** assert({nn, bb}, {[1 1 1 0 2]', [0 0.25 0.5 0.75 1]'}) [nn, bb] = imhist([-2 0 0.2 0.4 0.9 1 5], 5); ***** assert({nn, bb}, {[2 1 1 0 3]', [0 0.25 0.5 0.75 1]'}) [nn, bb] = imhist(uint8([0 32 255]), 256); enn = zeros(256, 1); enn([1, 33, 256]) = 1; ebb = 0:255; ***** assert({nn, bb}, {enn, ebb'}) [nn, bb] = imhist(int8([-50 0 100]), 31); enn = zeros(31, 1); enn([10, 16, 28]) = 1; ebb = -128:8.5:127; ***** assert({nn, bb}, {enn, ebb'}) 5 tests, 5 passed, 0 known failure, 0 skipped [inst/@strel/strel.m] >>>>> /<>/inst/@strel/strel.m ***** test shape = logical ([0 0 0 1]); assert (getnhood (strel (shape)), shape); assert (getnhood (strel ("arbitrary", shape)), shape); height = [0 0 0 3]; assert (getnhood (strel ("arbitrary", shape, height)), shape); assert (getheight (strel ("arbitrary", shape, height)), height); ***** test shape = logical ([0 0 1]); height = [-2 1 3]; ## this works for matlab compatibility assert (getnhood (strel ("arbitrary", shape, height)), shape); assert (getheight (strel ("arbitrary", shape, height)), height); ***** test shape = logical ([0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 0 1 0 0 0]); height = [ 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.66667 0.74536 0.66667 0.33333 0.00000 0.00000 0.66667 0.88192 0.94281 0.88192 0.66667 0.00000 0.00000 0.74536 0.94281 1.00000 0.94281 0.74536 0.00000 0.00000 0.66667 0.88192 0.94281 0.88192 0.66667 0.00000 0.00000 0.33333 0.66667 0.74536 0.66667 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000]; assert (getnhood (strel ("ball", 3, 1)), shape); assert (getheight (strel ("ball", 3, 1)), height, 0.0001); ***** test shape = logical ([0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0]); assert (getnhood (strel ("diamond", 3)), shape); ***** test shape = logical ([0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 0 1 0 0 0]); assert (getnhood (strel ("disk", 3, 0)), shape); ***** test shape = logical ([1 1 1]); assert (getnhood (strel ("line", 3.9, 20.17)), shape); shape = logical ([0 0 1 0 1 0 1 0 0]); assert (getnhood (strel ("line", 3.9, 20.18)), shape); shape = logical ([1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1]); assert (getnhood (strel ("line", 14, 130)), shape); ***** test se = strel ("octagon", 0); seq = getsequence (se); assert (getnhood (se), true (1)); assert (getnhood (seq(1)), true (1)); se = strel ("octagon", 3); seq = getsequence (se); shape = logical ([0 0 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1 1 1 0 0]); assert (getnhood (se), shape); assert (size (seq), [4 1]); templ1 = logical ([0 0 0; 1 1 1; 0 0 0]); templ2 = logical ([0 1 0; 0 1 0; 0 1 0]); templ3 = logical ([1 0 0; 0 1 0; 0 0 1]); templ4 = logical ([0 0 1; 0 1 0; 1 0 0]); assert ({getnhood(seq(1)) getnhood(seq(2)) getnhood(seq(3)) getnhood(seq(4))}, {templ1 templ2 templ3 templ4}); seq = getsequence (strel ("octagon", 21)); assert (size (seq), [28 1]); assert (arrayfun (@(x) getnhood (seq(x)), 1:4:25, "UniformOutput", false), repmat ({templ1}, 1, 7)); assert (arrayfun (@(x) getnhood (seq(x)), 2:4:26, "UniformOutput", false), repmat ({templ2}, 1, 7)); assert (arrayfun (@(x) getnhood (seq(x)), 3:4:27, "UniformOutput", false), repmat ({templ3}, 1, 7)); assert (arrayfun (@(x) getnhood (seq(x)), 4:4:28, "UniformOutput", false), repmat ({templ4}, 1, 7)); ***** test shape = logical ([1 1 0]'); assert (getnhood (strel ("pair", [-1 0])), shape); shape = logical ([1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0]); assert (getnhood (strel ("pair", [-1 -3])), shape); shape = logical ([0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]); assert (getnhood (strel ("pair", [2 3])), shape); ***** test assert (getnhood (strel ("rectangle", [10 5])), true (10, 5)); assert (getnhood (strel ("square", 5)), true (5)); ***** shared se, seq se = strel ("square", 5); seq = getsequence (se); assert (class (se(1)), "strel") assert (class (se(1,1)),"strel") assert (class (seq), "strel") assert (class (seq(1)), "strel") assert (class (seq(2)), "strel") assert (numel (se), 1) assert (numel (seq), 2) assert (getnhood (seq(1)), true (5, 1)) assert (getnhood (seq(2)), true (1, 5)) assert (size (se), [1 1]) assert (size (seq), [2 1]) assert (isscalar (se), true) assert (isscalar (seq), false) ***** error se(2); ***** error seq(3); ***** test se = strel ("arbitrary", [1 0 0; 1 1 0; 0 1 0], [2 0 0; 3 1 0; 0 3 0]); ref = reflect (se); assert (getnhood (ref), logical([0 1 0; 0 1 1; 0 0 1])); assert (getheight (ref), [0 3 0; 0 1 3; 0 0 2]); ***** error strel() ***** error strel("nonmethodthing", 2) ***** error strel("arbitrary", "stuff") ***** error strel("arbitrary", [0 0 1], [2 0 1; 4 5 1]) ***** error strel("arbitrary", [0 0 1], "stuff") ***** error strel("ball", -3, 1) ***** error strel("diamond", -3) ***** error strel("disk", -3) ***** error strel("line", 0, 45) ***** error strel("octagon", 3.5) ***** error strel("octagon", 4) ***** error strel("octagon", -1) ***** error strel("pair", [45 67 90]) ***** error strel("rectangle", 2) ***** error strel("rectangle", [2 -5]) ***** error strel("square", [34 1-2]) 28 tests, 28 passed, 0 known failure, 0 skipped [inst/immultiply.m] >>>>> /<>/inst/immultiply.m ***** assert (immultiply (uint8 ([255 50]), uint16 ([300 50])), uint8 ([255 255])); # default to first class and truncate ***** assert (immultiply (uint8 ([250 50]), uint16 ([ 3 4]), "uint32"), uint32 ([750 200])); # defining output class works (not in matlab?) ***** assert (immultiply (uint8 ([255 50]), 4), uint8 ([255 200])); # works multiplying by a scalar ***** assert (immultiply (logical ([ 1 0]), uint16 ([300 50])), uint16 ([300 0])); # output class defaults to whatever input is not logical ***** assert (immultiply (logical ([ 1 0]), logical ([ 1 1])), double ([ 1 0])); # tested on matlab for compatibility 5 tests, 5 passed, 0 known failure, 0 skipped [inst/roicolor.m] >>>>> /<>/inst/roicolor.m ***** demo roicolor([1:10],2,4); % Returns '1' where input values are between 2 and 4 (both included). ***** assert(roicolor([1:10],2,4),logical([0,1,1,1,zeros(1,6)])); ***** assert(roicolor([1,2;3,4],3,3),logical([0,0;1,0])); ***** assert(roicolor([1,2;3,4],[1,4]),logical([1,0;0,1])); 3 tests, 3 passed, 0 known failure, 0 skipped [inst/lab2uint16.m] >>>>> /<>/inst/lab2uint16.m ***** test cm_uint16 = uint16 ([0 127 128 383 384 65151 65152 65279 65280 65281 65534 65535]); cm_uint16 = repmat (cm_uint16(:), [1 3]); im2d_uint16 = reshape (cm_uint16, [4 3 3]); imnd_uint16 = permute (im2d_uint16, [1 4 3 2]); cm_uint8 = uint8 ([0 0 1 1 2 254 255 255 255 255 255 255]); cm_uint8 = repmat (cm_uint8(:), [1 3]); assert (lab2uint8 (cm_uint16), cm_uint8) im2d_uint8 = reshape (cm_uint8, [4 3 3]); assert (lab2uint8 (im2d_uint16), im2d_uint8) assert (lab2uint8 (imnd_uint16), permute (im2d_uint8, [1 4 3 2])) l1 = 100/65280; ab1 = 255/65280; cm = [ 0 -128 127*l1 -128+(ab1*127) 128*l1 -128+(ab1*128) 383*l1 -128+(ab1*383) 384*l1 -128+(ab1*384) 65151*l1 -128+(ab1*65151) 65152*l1 -128+(ab1*65152) 65279*l1 -128+(ab1*65279) 100 127 65281*l1 -128+(ab1*65281) 65534*l1 -128+(ab1*65534) 65535*l1 -128+(ab1*65535)]; cm(:,3) = cm(:,2); im2d = reshape (cm, [4 3 3]); imnd = permute (im2d, [1 4 3 2]); assert (lab2double (cm_uint16), cm) assert (lab2double (im2d_uint16), im2d) assert (lab2double (imnd_uint16), imnd) assert (lab2single (cm_uint16), single (cm)) assert (lab2single (im2d_uint16), single (im2d)) assert (lab2single (imnd_uint16), single (imnd)) 1 test, 1 passed, 0 known failure, 0 skipped [inst/xyz2rgb.m] >>>>> /<>/inst/xyz2rgb.m ***** assert (xyz2rgb ([0, 0, 0]), [0 0 0], 1e-3) ***** assert (xyz2rgb ([0.4125, 0.2127, 0.0193]), [1 0 0], 1e-3) ***** assert (xyz2rgb ([0.7700, 0.9278, 0.1385]), [1 1 0], 1e-3) ***** assert (xyz2rgb ([0.3576, 0.7152, 0.1192]), [0 1 0], 1e-3) ***** assert (xyz2rgb ([0.5380, 0.7873, 1.0694]), [0 1 1], 1e-3) ***** assert (xyz2rgb ([0.1804, 0.07217, 0.9502]), [0 0 1], 1e-3) ***** assert (xyz2rgb ([0.5929, 0.28484, 0.9696]), [1 0 1], 1e-3) ***** assert (xyz2rgb ([0.9505, 1.0000, 1.0888]), [1 1 1], 1e-3) ***** assert (xyz2rgb ([0.2034, 0.2140, 0.2330]), [0.5 0.5 0.5], 1e-3) ***** assert (xyz2rgb ([0.2155, 0.1111, 0.0101]), [0.75 0 0], 1e-3) ***** assert (xyz2rgb ([0.0883, 0.0455, 0.0041]), [0.5 0 0], 1e-3) ***** assert (xyz2rgb ([0.0210, 0.0108, 0.0010]), [0.25 0 0], 1e-3) ***** assert (xyz2rgb ([0.5276, 0.3812, 0.2482]), [1 0.5 0.5], 1e-3) ***** assert (xyz2rgb ([1.5 1 1]), [1.5712, 0.7109 0.9717], 1e-3) ***** test xyz_map = rand (64, 3); assert (rgb2xyz (xyz2rgb (xyz_map)), xyz_map, 3e-4); ***** test xyz_img = rand (64, 64, 3); assert (rgb2xyz (xyz2rgb (xyz_img)), xyz_img, 3e-4); ***** assert (xyz2rgb (sparse ([0 0 0])), [0 0 0], 1e-3) ***** assert (class (xyz2rgb (single([0.5 0.5 0.5]))), 'single') ***** error xyz2rgb () ***** error xyz2rgb (1,2) ***** error xyz2rgb ({1}) ***** error xyz2rgb (ones (2,2)) ***** test xyz = rand (16, 16, 3, 5); rgb = zeros (size (xyz)); for i = 1:5 rgb(:,:,:,i) = xyz2rgb (xyz(:,:,:,i)); endfor assert (xyz2rgb (xyz), rgb) 23 tests, 23 passed, 0 known failure, 0 skipped [inst/lab2single.m] >>>>> /<>/inst/lab2single.m ***** test l_max_f = 100 + (25500 / 65280); ab_max_f = 127 + (255 / 256); cm = [ -Inf Inf NaN l_max_f ab_max_f -200 -129 -128 -128+(255/65280)*(0.499) -128+(255/65280)*(0.500) -128+(255/65280)*(0.501) -127 -1 0 (100/65280)*(0.499999) (100/65280)*(0.51) (100/65280)*(0.500001) 1 99 100 101 126 127 128 254 255 256 257]; cm = repmat (single (cm), [1 3]); im2d = reshape (cm, [7 4 3]); imnd = permute (im2d, [1 4 3 2]); cm_uint8 = uint8 ([ 0 0 0 255 255 255 255 255 255 255 228 228 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 127 127 0 128 128 0 128 128 0 128 128 0 128 128 3 129 129 252 227 227 255 228 228 255 229 229 255 254 254 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255]); assert (lab2uint8 (cm), cm_uint8) im2d_uint8 = reshape (cm_uint8, [7 4 3]); assert (lab2uint8 (im2d), im2d_uint8) assert (lab2uint8 (imnd), permute (im2d_uint8, [1 4 3 2])) cm_uint16 = uint16 ([ 0 0 0 65535 65535 65535 65535 65535 65535 65535 58468 58468 65535 65535 65535 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 256 256 0 32512 32512 0 32768 32768 0 32768 32768 1 32768 32768 1 32768 32768 653 33024 33024 64627 58112 58112 65280 58368 58368 65535 58624 58624 65535 65024 65024 65535 65280 65280 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535 65535]); assert (lab2uint16 (cm), cm_uint16) im2d_uint16 = reshape (cm_uint16, [7 4 3]); assert (lab2uint16 (im2d), im2d_uint16) assert (lab2uint16 (imnd), permute (im2d_uint16, [1 4 3 2])) assert (lab2double (cm), double (cm)) assert (lab2double (im2d), double (im2d)) assert (lab2double (imnd), double (imnd)) 1 test, 1 passed, 0 known failure, 0 skipped [inst/lab2rgb.m] >>>>> /<>/inst/lab2rgb.m ***** assert (lab2rgb ([0 0 0]), [0, 0, 0], 1e-3) ***** assert (lab2rgb ([53.24, 80.09, 67.20]), [1 0 0], 1e-3) ***** assert (lab2rgb ([97.14, -21.55, 94.48]), [1 1 0], 1e-3) ***** assert (lab2rgb ([87.74, -86.18, 83.18]), [0 1 0], 1e-3) ***** assert (lab2rgb ([91.11, -48.09, -14.13]), [0 1 1], 1e-3) ***** assert (lab2rgb ([32.30, 79.19, -107.86]), [0 0 1], 1e-3) ***** assert (lab2rgb ([60.32, 98.24, -60.83]), [1 0 1], 1e-3) ***** assert (lab2rgb ([100, 0.00, 0.00]), [1 1 1], 1e-3) ***** assert (lab2rgb ([53.39, 0.00, 0.00]), [0.5 0.5 0.5], 1e-3) ***** assert (lab2rgb ([39.77, 64.51, 54.13]), [0.75 0 0], 1e-3) ***** assert (lab2rgb ([25.42, 47.91, 37.91]), [0.5 0 0], 1e-3) ***** assert (lab2rgb ([9.66, 29.68, 15.24]), [0.25 0 0], 1e-3) ***** assert (lab2rgb ([68.11, 48.39, 22.83]), [1 0.5 0.5], 1e-3) ***** assert (lab2rgb ([150 130 130]), [2.714, 1.028, 0.492], 1e-3) ***** test lab_map = rand (64, 3); lab_map(:,1) = lab_map(:,1) .* 100; lab_map(:,2) = lab_map(:,2) .* 254 - 127; lab_map(:,3) = lab_map(:,3) .* 254 - 127; assert (rgb2lab (lab2rgb (lab_map)), lab_map, 5e-3); ***** test lab_img = rand (64, 64, 3); lab_img(:,:,1) = lab_img(:,:,1) .* 100; lab_img(:,:,2) = lab_img(:,:,2) .* 254 - 127; lab_img(:,:,3) = lab_img(:,:,3) .* 254 - 127; assert (rgb2lab (lab2rgb (lab_img)), lab_img, 5e-3); ***** assert (lab2rgb (sparse ([0 0 0])), [0 0 0], 1e-3) ***** assert (lab2rgb (sparse ([100, 0.00, 0.00])), [1 1 1], 1e-3) ***** assert (class (lab2rgb (single([50 50 50]))), 'single') ***** error lab2rgb () ***** error lab2rgb (1,2) ***** error lab2rgb ({1}) ***** error lab2rgb (ones (2,2)) ***** test lab = rand (16, 16, 3, 5); lab(:,:,1,:) = lab(:,:,1,:) .* 100; lab(:,:,2,:) = lab(:,:,2,:) .* 254 - 127; lab(:,:,3,:) = lab(:,:,3,:) .* 254 - 127; rgb = zeros (size (lab)); for i = 1:5 rgb(:,:,:,i) = lab2rgb (lab(:,:,:,i)); endfor assert (lab2rgb (lab), rgb) 24 tests, 24 passed, 0 known failure, 0 skipped [inst/getrangefromclass.m] >>>>> /<>/inst/getrangefromclass.m ***** shared img img = ones (5); ***** assert (getrangefromclass (double (img)), [0 1]); # double returns [0 1] ***** assert (getrangefromclass (single (img)), [0 1]); # single returns [0 1] ***** assert (getrangefromclass (logical (img)), [0 1]); # logical returns [0 1] ***** assert (getrangefromclass (int8 (img)), [-128 127]); # checks int ***** assert (getrangefromclass (uint8 (img)), [0 255]); # checks unit ***** fail ("getrangefromclass ('string')"); # fails with strings ***** fail ("getrangefromclass ({3, 4})"); # fails with cells 7 tests, 7 passed, 0 known failure, 0 skipped [inst/imfilter.m] >>>>> /<>/inst/imfilter.m ***** test img = [ 8 2 6 7 4 3 7 8 4 1 9 9 1 1 4 7 3 3 8 1 2 9 8 3 7 6 5 8 6 5 9 5 9 1 8 2 7 3 5 8 6 8 7 1 2 2 9 9 9 9 1 2 7 8 5 5 9 4 3 2 3 4 7 7 5 9 5 2 7 6 5 9 4 3 6 4 2 3 7 5 9 8 6 9 7 6 2 6 4 1 9 9 2 1 7 3 3 5 6 4]; expected_corr = [ 46 53 30 34 44 42 40 51 42 19 48 66 57 42 46 50 59 58 49 34 48 67 55 54 44 58 50 50 64 39 44 77 52 43 28 55 57 75 70 50 29 51 65 51 42 50 60 62 55 42 23 44 58 59 63 59 55 57 50 36 36 50 52 56 56 47 48 45 47 39 51 64 70 62 56 50 40 38 41 31 58 72 50 49 58 45 41 42 49 28 27 37 27 21 19 26 16 23 24 17]; assert (imfilter (img, [0 1 0; 2 1 1; 1 2 2]), expected_corr) ## test order of options (and matching with defaults) assert (imfilter (img, [0 1 0; 2 1 1; 1 2 2], 0), expected_corr) assert (imfilter (img, [0 1 0; 2 1 1; 1 2 2], "corr"), expected_corr) assert (imfilter (img, [0 1 0; 2 1 1; 1 2 2], "corr", 0), expected_corr) assert (imfilter (img, [0 1 0; 2 1 1; 1 2 2], 0, "corr"), expected_corr) expected_conv = [ 21 31 23 22 21 28 29 26 22 6 47 55 43 43 51 44 49 64 44 24 56 69 53 34 47 50 57 48 52 37 38 70 60 56 41 57 54 61 66 44 46 67 53 48 32 54 59 65 63 46 28 56 63 50 36 54 58 66 63 47 20 43 55 62 67 57 52 53 44 28 42 51 54 61 57 53 44 46 48 39 53 70 63 50 57 42 38 38 43 33 53 62 50 54 52 44 38 40 40 20]; assert (imfilter (img, [0 1 0; 2 1 1; 1 2 2], "conv"), expected_conv) ## alternative class assert (imfilter (single (img), [0 1 0; 2 1 1; 1 2 2]), single (expected_corr)) assert (imfilter (int8 (img), [0 1 0; 2 1 1; 1 2 2]), int8 (expected_corr)) assert (imfilter (uint8 (img), [0 1 0; 2 1 1; 1 2 2]), uint8 (expected_corr)) assert (imfilter (single (img), [0 1 0; 2 1 1; 1 2 2], "conv"), single (expected_conv)) assert (imfilter (int8 (img), [0 1 0; 2 1 1; 1 2 2], "conv"), int8 (expected_conv)) assert (imfilter (uint8 (img), [0 1 0; 2 1 1; 1 2 2], "conv"), uint8 (expected_conv)) ***** test I = zeros (6); I(2:3,2:3) = 1; F = zeros (4); F(2,2:3) = 1; result = [0 0 0 0 0 0 1 2 1 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; assert (imfilter (I, F), result) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/blockproc.m] >>>>> /<>/inst/blockproc.m ***** demo blockproc(eye(6),[2,2],inline("any(x(:))","x")) # Returns a 3-by-3 diagonal ***** assert(blockproc(eye(6),[2,2],"sum"),blockproc(eye(6),[2,2],@sum)); ***** assert(blockproc(eye(6),[2,2],"sum"),blockproc(eye(6),[2,2],inline("sum(x)","x"))); ***** assert(blockproc(eye(6),[1,2],@sum),kron(eye(3),[1;1])); ***** assert(blockproc(eye(6),[2,2],inline("any(x(:))","x")),eye(3)!=0); ***** assert(blockproc(eye(6),[1,2],[1,1],inline("sum(x(:))","x")),[2,1,0;3,2,0;2,3,1;1,3,2;0,2,3;0,1,2]); ***** assert(blockproc(eye(6),'indexed',[1,2],[1,1],inline("sum(x(:))","x")),[8,5,6;6,2,3;5,3,4;4,3,5;3,2,6;6,5,8]); ***** assert(blockproc(eye(6),[2,3],[4,3],inline("sum(x(:))","x")),ones(3,2)*6); ***** assert(blockproc(eye(6),[2,2],inline("int8(sum(x(:)))","x")),eye(3,"int8")*2); ***** assert(blockproc(uint8(eye(6)),[1,2],[1,1],inline("sum(x(:))","x")),[2,1,0;3,2,0;2,3,1;1,3,2;0,2,3;0,1,2]); ***** assert(blockproc(uint8(eye(6)),'indexed',[1,2],[1,1],inline("sum(x(:))","x")),[2,1,0;3,2,0;2,3,1;1,3,2;0,2,3;0,1,2]); ***** assert(blockproc(uint16(eye(6)),[1,2],[1,1],inline("sum(x(:))","x")),[2,1,0;3,2,0;2,3,1;1,3,2;0,2,3;0,1,2]); ***** assert(blockproc(uint16(eye(6)),'indexed',[1,2],[1,1],inline("sum(x(:))","x")),[2,1,0;3,2,0;2,3,1;1,3,2;0,2,3;0,1,2]); 12 tests, 12 passed, 0 known failure, 0 skipped [inst/edge.m] >>>>> /<>/inst/edge.m ***** test im = [ 249 238 214 157 106 69 60 90 131 181 224 247 252 250 250 250 242 221 165 112 73 62 91 133 183 225 248 252 250 251 252 246 228 173 120 78 63 90 130 181 224 248 253 251 251 253 248 232 185 132 87 62 80 116 170 217 244 253 251 252 253 249 236 198 149 101 66 71 101 155 206 238 252 252 252 254 250 240 210 164 115 73 69 92 143 196 232 252 253 252 70 70 68 61 49 36 24 22 26 38 52 63 70 70 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 62 63 62 59 51 42 33 25 22 26 36 45 56 60 62 252 253 252 246 221 190 157 114 90 90 118 157 203 235 248 251 253 254 251 233 209 182 136 103 92 107 139 185 225 245 251 253 254 253 243 227 206 163 128 108 110 133 175 217 242 252 253 254 254 249 241 228 195 164 137 127 139 172 212 239 ] / 255; methods = {"kirsch", "prewitt", "sobel"}; for m_i = 1:numel (methods) method = methods{m_i}; bw = edge (im, method, 0.2, "both", "thinning"); assert (edge (im, method, 0.2), bw) args = perms ({0.2, "both", "thinning"}); for i = 1:rows (args) assert (edge (im, method, args{i,:}), bw) endfor bw = edge (im, method, 0.2, "vertical", "nothinning"); args = perms ({0.2, "vertical", "nothinning"}); for i = 1:rows (args) assert (edge (im, method, args{i,:}), bw) endfor bw = edge (im, method, 0.2, "vertical", "thinning"); args = perms ({0.2, "vertical"}); for i = 1:rows (args) assert (edge (im, method, args{i,:}), bw) endfor bw = edge (im, method, 0.2, "both", "nothinning"); args = perms ({0.2, "nothinning"}); for i = 1:rows (args) assert (edge (im, method, args{i,:}), bw) endfor endfor ***** error bw = edge (rand (10), "sobel", 0.2, 0.4) ***** error bw = edge (rand (10), "sobel", "thinning", "nothinning") ***** error bw = edge (rand (10), "sobel", "both", "both") ***** error bw = edge (rand (10), "sobel", [0.2 0.7], "both", "thinning") ***** error bw = edge (rand (10), "kirsch", 0.2, 0.4) ***** error bw = edge (rand (10), "kirsch", "thinning", "nothinning") ***** error bw = edge (rand (10), "kirsch", "both", "both") ***** error bw = edge (rand (10), "kirsch", [0.2 0.7], "both", "thinning") ***** error bw = edge (rand (10), "prewitt", 0.2, 0.4) ***** error bw = edge (rand (10), "prewitt", "thinning", "nothinning") ***** error bw = edge (rand (10), "prewitt", "both", "both") ***** error bw = edge (rand (10), "prewitt", [0.2 0.7], "both", "thinning") ***** test im = [ 249 238 214 157 106 69 60 90 131 181 224 247 252 250 250 250 242 221 165 112 73 62 91 133 183 225 248 252 250 251 252 246 228 173 120 78 63 90 130 181 224 248 253 251 251 253 248 232 185 132 87 62 80 116 170 217 244 253 251 252 253 249 236 198 149 101 66 71 101 155 206 238 252 252 252 254 250 240 210 164 115 73 69 92 143 196 232 252 253 252 70 70 68 61 49 36 24 22 26 38 52 63 70 70 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 62 63 62 59 51 42 33 25 22 26 36 45 56 60 62 252 253 252 246 221 190 157 114 90 90 118 157 203 235 248 251 253 254 251 233 209 182 136 103 92 107 139 185 225 245 251 253 254 253 243 227 206 163 128 108 110 133 175 217 242 252 253 254 254 249 241 228 195 164 137 127 139 172 212 239 ] / 255; bw = edge (im, "roberts", .2, "thinning"); assert (edge (im, "roberts", 0.2), bw) assert (edge (im, "roberts", "thinning", 0.2), bw) bw = edge (im, "roberts", .2, "nothinning"); assert (edge (im, "roberts", "nothinning", 0.2), bw) ***** error bw = edge (rand (10), "roberts", 0.2, 0.4) ***** error bw = edge (rand (10), "roberts", "thinning", "nothinning") ***** error bw = edge (rand (10), "roberts", "both", "thinning") ***** test im = rand (10); [~, thresh] = edge (im, "canny"); assert (size (thresh), [1 2]) [~, thresh] = edge (im, "canny", [.2 .6]); assert (thresh, [.2 .6]) [~, thresh] = edge (im, "canny", [.2; .6]); assert (thresh, [.2 .6]) ***** test in = zeros (5); in(3,3) = 1; E = 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]); assert (edge (in), E) assert (edge (uint8 (in.*100)), E) assert (edge (in, "sobel"), E) assert (edge (in, "sobel", 0), E) assert (edge (in, "sobel", 1), false (5)) [E, auto_thresh] = edge (in); assert (auto_thresh, 0.2449, 1e-4) V = logical([ 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0]); assert (edge (in, "sobel", 0, "vertical"), V) H = logical ([ 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0]); assert (edge (in, "sobel", 0, "horizontal"), H) V = false (5); V(3,2) = true; V(3,4) = true; assert (edge (in, "sobel", [], "vertical"), V) H = false (5); H(2,3) = true; H(4,3) = true; assert (edge (in, "sobel", [], "horizontal"), H) ***** test A = ones (5); A(3, 3) = 0; expected = 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]); assert (edge (A), expected) ***** test in = zeros (5); in(3, 3) = 1; E = logical ([ 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0]); assert (edge (in, "prewitt"), E) [~, auto_thresh] = edge (in, "prewitt"); assert (auto_thresh, 0.2309, 1e-4) V = logical([ 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0]); assert (edge (in, "prewitt", 0, "vertical"), V) H = logical ([ 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0]); assert (edge (in, "prewitt", 0, "horizontal"), H) ***** test in = zeros (5); in(3,3) = 1; in(3,4) = 0.9; E = logical ([ 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0]); assert (edge (in, "roberts"), E) [~, auto_thresh] = edge (in, "roberts"); assert (auto_thresh, 0.6591, 1e-4) E45 = [0 0 0 0 0 0 -0.5 -0.45 0 0 0 0 0.50 0.45 0 0 0 0 0 0 0 0 0 0 0]; E135 = [0 0 0 0 0 0 0 -0.50 -0.45 0 0 0.5 0.45 0 0 0 0 0 0 0 0 0 0 0 0]; [~, ~, erg45, erg135] = edge (in, "roberts"); assert (erg45, E45) assert (erg135, E135) ***** xtest ## The edge image is correct and Matlab compatible so those should ## pass. However, the threshold values used to generate the edge ## image are not the same as Matlab. in_8 = fspecial ("gaussian", [8 8], 2); in_8 /= in_8(4,4); in_8_uint8 = im2uint8 (in_8); ## Matlab changed their implementation of the Canny method in ## release 2011a. We are compatible with their new implementation ## but for testing purposes, this is the expected result for the ## old implementation. out_8_old = logical ([ 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0]); out_8 = logical ([ 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]); out_thresh = [0.34375 0.859375]; [obs_edge, obs_thresh] = edge (in_8, "Canny"); assert (obs_edge, out_8) assert (obs_thresh, out_thresh) [obs_edge_givethresh, obs_thresh_givethresh] ... = edge (in_8, "Canny", out_thresh); assert (obs_edge_givethresh, out_8) assert (obs_thresh_givethresh, out_thresh) [obs_edge_uint8, obs_thresh_uint8] = edge (in_8_uint8, "Canny"); assert (obs_edge_uint8, out_8) assert (obs_thresh_uint8, out_thresh) !!!!! known failure ASSERT errors for: assert (obs_thresh,out_thresh) Location | Observed | Expected | Reason (1) 0.27112 0.34375 Abs err 0.072632 exceeds tol 0 by 0.07 (2) 0.67779 0.85938 Abs err 0.18158 exceeds tol 0 by 0.2 ***** xtest ## The edge image is correct and Matlab compatible so those should ## pass. However, the threshold values used to generate the edge ## image are not the same as Matlab. in_9 = fspecial ("gaussian", [9 9], 2); in_9 /= in_9(5,5); ## Matlab changed their implementation of the Canny method in ## release 2011a. We are compatible with their new implementation ## but for testing purposes, this is the expected result for the ## old implementation. out_9_old = logical ([ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]); out_9 = logical ([ 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]); out_thresh = [0.35 0.875]; [obs_edge, obs_thresh] = edge (in_9, "Canny"); assert (obs_edge, out_9) assert (obs_thresh, out_thresh) [obs_edge_givethresh, obs_thresh_givethresh] ... = edge (in_9, "Canny", out_thresh); assert (obs_edge_givethresh, out_9) assert (obs_thresh_givethresh, out_thresh) !!!!! known failure ASSERT errors for: assert (obs_thresh,out_thresh) Location | Observed | Expected | Reason (1) 0.261 0.35 Abs err 0.089001 exceeds tol 0 by 0.09 (2) 0.6525 0.875 Abs err 0.2225 exceeds tol 0 by 0.2 24 tests, 22 passed, 2 known failures, 0 skipped [inst/xyz2lab.m] >>>>> /<>/inst/xyz2lab.m ***** assert (xyz2lab ([0, 0, 0]), [0 0 0], 5e-2) ***** assert (xyz2lab ([0.4125, 0.2127, 0.0193]), [53.24, 80.09, 67.20], 5e-2) ***** assert (xyz2lab ([0.7700, 0.9278, 0.1385]), [97.14, -21.55, 94.48], 5e-2) ***** assert (xyz2lab ([0.3576, 0.7152, 0.1192]), [87.74, -86.18, 83.18], 5e-2) ***** assert (xyz2lab ([0.5380, 0.7873, 1.0694]), [91.11, -48.09, -14.13], 5e-2) ***** assert (xyz2lab ([0.1804, 0.07217, 0.9502]), [32.30, 79.19, -107.86], 5e-2) ***** assert (xyz2lab ([0.5929, 0.28484, 0.9696]), [60.32, 98.24, -60.83], 5e-2) ***** assert (xyz2lab ([0.9505, 1.0000, 1.0888]), [100, 0.00, 0.00], 5e-2) ***** assert (xyz2lab ([0.2034, 0.2140, 0.2330]), [53.39, 0.00, 0.00], 5e-2) ***** assert (xyz2lab ([0.2155, 0.1111, 0.0101]), [39.77, 64.51, 54.13], 5e-2) ***** assert (xyz2lab ([0.0883, 0.0455, 0.0041]), [25.42, 47.91, 37.91], 5e-2) ***** assert (xyz2lab ([0.02094, 0.0108, 0.00098]), [9.66, 29.68, 15.24], 5e-2) ***** assert (xyz2lab ([0.5276, 0.3812, 0.2482]), [68.11, 48.39, 22.83], 5e-2) ***** assert (xyz2lab ([1.5 1 1]), [100, 82.15, 5.60], 5e-2) xyz_map = rand (64, 3); assert (lab2xyz (xyz2lab (xyz_map)), xyz_map, 1e-5); ***** test xyz_img = rand (64, 64, 3); assert (lab2xyz (xyz2lab (xyz_img)), xyz_img, 1e-5); ***** assert (xyz2lab (sparse ([0 0 0])), [0 0 0], 5e-2) ***** assert (class (xyz2lab (single([0.5 0.5 0.5]))), 'single') ***** error xyz2lab () ***** error xyz2lab (1,2) ***** error xyz2lab ({1}) ***** error xyz2lab (ones (2,2)) ***** test xyz = rand (16, 16, 3, 5); lab = zeros (size (xyz)); for i = 1:5 lab(:,:,:,i) = xyz2lab (xyz(:,:,:,i)); endfor assert (xyz2lab (xyz), lab) 22 tests, 22 passed, 0 known failure, 0 skipped [inst/bweuler.m] >>>>> /<>/inst/bweuler.m ***** demo A=zeros(9,10); A([2,5,8],2:9)=1; A(2:8,[2,9])=1 bweuler(A) # Euler number (objects minus holes) is 1-2=-1 in an 8-like object ***** test A=zeros(10,10); A(2:9,3:8)=1; A(4,4)=0; A(8,8)=0; # not a hole A(6,6)=0; assert(bweuler(A),-1); ***** test A=zeros(10,10); A(2:4,2:4)=1; A(5:8,5:8)=1; assert(bweuler(A,4),2); assert(bweuler(A,8),1); assert(bweuler(A),1); ***** error <2 dimensions> bweuler (true (5, 5, 1, 5)) 3 tests, 3 passed, 0 known failure, 0 skipped [inst/isbw.m] >>>>> /<>/inst/isbw.m ***** shared img img = round (rand (10)); ***** assert (isbw (img, "non-logical"), true); ***** assert (isbw (img, "logical"), false); ***** assert (isbw (logical (img), "logical"), true); ***** assert (isbw (logical (img), "non-logical"), true); ***** test img(1, 1) = 2; assert (isbw (img, "non-logical"), false); ***** test a( 1, 1) = 1; a(50, 50) = 2; assert (isbw (a, "non-logical"), false); ***** assert (isbw (rand (5, 5, 1, 4) > 0.5), true) ***** assert (isbw (rand (5, 5, 3, 4) > 0.5), false) ***** assert (isbw (rand (5, 5, 3) > 0.5), false) ***** assert (isbw (rand (5, 5, 1, 3, 4) > 0.5), false) ***** assert (isbw (randi ([0 1], 5, 5, 1, 4), "non-logical"), true) ***** assert (isbw (randi ([0 1], 5, 5, 3, 4), "non-logical"), false) ***** assert (isbw (randi ([0 1], 5, 5, 3), "non-logical"), false) ***** assert (isbw (randi ([0 1], 5, 5, 1, 3, 4), "non-logical"), false) ***** assert (isbw (single ([0 0 1]), "non-logical"), true) ***** assert (isbw ([0 NaN 1], "non-logical"), false) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/fspecial.m] >>>>> /<>/inst/fspecial.m ***** test for i = 1:9 n = 2^i; assert (sum (fspecial ("disk", n)(:)), 1, eps*n*n); endfor ***** test for r = [3 5 9 17] f = fspecial ("disk", r); [X, Y] = meshgrid (-r:r, -r:r); rhi = (abs (X) + 0.5).^2 + (abs (Y) + 0.5).^2; rlo = (abs (X) - 0.5).^2 + (abs (Y) - 0.5).^2; fhi = (rhi <= (r^2)); flo = (rlo >= (r^2)); for i = 1:(2*r+1) for j = 1:(2*r+1) if (fhi(i,j)) assert (f(i,j), 1/(pi*r^2), eps); endif if (flo(i,j)) assert (f(i,j), 0); endif endfor endfor endfor ***** error fspecial ("gaussian", 0) ***** error fspecial ("gaussian", 3.9) ***** assert (fspecial ("gaussian"), fspecial ("gaussian", 3, 0.5)) ***** assert (fspecial ("gaussian"), fspecial ("gaussian", [3 3], 0.5)) ***** test c = ([-1:1].^2) .+ ([-1:1]'.^2); gauss = exp (- (c ./ (2 * (0.5 .^ 2)))); f = gauss / sum (gauss(:)); assert (fspecial ("gaussian"), f) expected = [ 0.01134373655849507 0.08381950580221061 0.01134373655849507 0.08381950580221061 0.61934703055717721 0.08381950580221061 0.01134373655849507 0.08381950580221061 0.01134373655849507]; assert (f, expected, eps) ***** function f = f_gaussian_2d (hsize, sigma) c = ([(-hsize(1)):(hsize(1))]'.^2) .+ ([(-hsize(2)):(hsize(2))].^2); gauss = exp (- (c ./ (2 * (sigma .^ 2)))); f = gauss ./ sum (gauss(:)); ***** endfunction ***** test f = fspecial ("gaussian"); assert (f, f_gaussian_2d ([1 1], .5)) expected = [ 0.01134373655849507 0.08381950580221061 0.01134373655849507 0.08381950580221061 0.61934703055717721 0.08381950580221061 0.01134373655849507 0.08381950580221061 0.01134373655849507]; assert (f, expected, eps) ***** test f = fspecial ("gaussian", 7, 2); assert (f, f_gaussian_2d ([3 3], 2)) expected = [ 0.00492233115934352 0.00919612528958620 0.01338028334410124 0.01516184737296414 0.01338028334410124 0.00919612528958620 0.00492233115934352 0.00919612528958620 0.01718062389630964 0.02499766026691484 0.02832606006174462 0.02499766026691484 0.01718062389630964 0.00919612528958620 0.01338028334410124 0.02499766026691484 0.03637138107390363 0.04121417419979795 0.03637138107390363 0.02499766026691484 0.01338028334410124 0.01516184737296414 0.02832606006174462 0.04121417419979795 0.04670177773892775]; expected = reshape ([expected; expected((end-1):-1:1)], [7 7]); assert (f, expected, eps) ***** test f = fspecial ("gaussian", [7 5], 2); assert (f, f_gaussian_2d ([3 2], 2)) expected = [ 0.01069713252648568 0.01998487459872362 0.02907782096336423 0.03294948784319031 0.02907782096336423 0.01998487459872362 0.01069713252648568 0.01556423598706978 0.02907782096336423 0.04230797985750011 0.04794122192790870 0.04230797985750011 0.02907782096336423 0.01556423598706978 0.01763658993191515 0.03294948784319031 0.04794122192790870 0.05432452146574315]; expected = reshape ([expected; expected((end-1):-1:1)], [7 5]); assert (f, expected, eps) ***** test f = fspecial ("gaussian", [4 2], 2); expected = [0.10945587477855045 0.14054412522144952]; expected = expected([1 1; 2 2; 2 2; 1 1]); assert (f, expected, eps) ***** test expected =[0.04792235409415088 0.06153352068439959 0.07901060453704994]; expected = expected([1 2 2 1; 2 3 3 2; 2 3 3 2; 1 2 2 1]); assert (fspecial ("gaussian", 4, 2), expected) ***** function f = f_gaussian_3d (lengths, sigma) [x, y, z] = ndgrid (-lengths(1):lengths(1), -lengths(2):lengths(2), -lengths(3):lengths(3)); sig_22 = 2 * (sigma.^2); f = exp (-((x.^2)/sig_22 + (y.^2)/sig_22 + (z.^2)/sig_22)); f = f / sum (f(:)); ***** endfunction ***** test obs = fspecial ("gaussian", [5 5 5]); assert (obs, f_gaussian_3d ([2 2 2], .5)) u_values = [ 0.00000000001837155 0.00000000741161178 0.00000005476481523 0.00000299005759843 0.00002209370333384 0.00016325161336690 0.00120627532940896 0.00891323607975882 0.06586040141635063 0.48664620076350640]; expected = zeros (5, 5, 5); expected([1 5 21 25 101 105 121 125]) = u_values(1); 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); expected([3 11 15 23 51 55 71 75 103 111 115 123]) = u_values(3); 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); 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); expected([13 53 61 65 73 113]) = u_values(6); expected([32 34 42 44 82 84 92 94]) = u_values(7); expected([33 37 39 43 57 59 67 69 83 87 89 93]) = u_values(8); expected([38 58 62 64 68 88]) = u_values(9); expected([63]) = u_values(10); assert (obs, expected, 4 * eps) ***** test obs = fspecial ("gaussian", [5 5 5], 1); assert (obs, f_gaussian_3d ([2 2 2], 1)) u_values = [ 0.00016177781678373 0.00072503787330278 0.00119538536377748 0.00324939431236223 0.00535734551968363 0.00883276951279243 0.01456277497493249 0.02400995686159072 0.03958572658629712 0.06526582943894763]; expected = zeros (5, 5, 5); expected([1 5 21 25 101 105 121 125]) = u_values(1); 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); expected([3 11 15 23 51 55 71 75 103 111 115 123]) = u_values(3); 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); 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); expected([13 53 61 65 73 113]) = u_values(6); expected([32 34 42 44 82 84 92 94]) = u_values(7); expected([33 37 39 43 57 59 67 69 83 87 89 93]) = u_values(8); expected([38 58 62 64 68 88]) = u_values(9); expected([63]) = u_values(10); assert (obs, expected, eps) ***** test obs = fspecial ("gaussian", [3 4 1 5], 3); assert (find (obs == max (obs(:))), [29; 32]) assert (size (obs), [3 4 1 5]) assert (obs(:)(1:30), obs(:)(end:-1:31)) ***** test f = repmat (1/9, [3 3]); assert (fspecial ("average", [3 3]), f) ## Test default assert (fspecial ("average"), fspecial ("average", [3 3])) assert (fspecial ("average"), fspecial ("average", [3])) f = repmat (1/21, [3 7]); assert (fspecial ("average", [3 7]), f) f = repmat (1/40, [4 5 1 2]); assert (fspecial ("average", [4 5 1 2]), f) ## Behave even if it's a column vector assert (fspecial ("average", [4 5 1 2]'), f) 16 tests, 16 passed, 0 known failure, 0 skipped [inst/padarray.m] >>>>> /<>/inst/padarray.m ***** demo padarray([1,2,3;4,5,6],[2,1]) % pads [1,2,3;4,5,6] with a whole border of 2 rows and 1 columns of 0 ***** demo padarray([1,2,3;4,5,6],[2,1],5) % pads [1,2,3;4,5,6] with a whole border of 2 rows and 1 columns of 5 ***** demo padarray([1,2,3;4,5,6],[2,1],0,'pre') % pads [1,2,3;4,5,6] with a left and top border of 2 rows and 1 columns of 0 ***** demo padarray([1,2,3;4,5,6],[2,1],'circular') % pads [1,2,3;4,5,6] with a whole 'circular' border of 2 rows and 1 columns % border 'repeats' data as if we tiled blocks of data ***** demo padarray([1,2,3;4,5,6],[2,1],'replicate') % pads [1,2,3;4,5,6] with a whole border of 2 rows and 1 columns which % 'replicates' edge data ***** demo padarray([1,2,3;4,5,6],[2,1],'symmetric') % pads [1,2,3;4,5,6] with a whole border of 2 rows and 1 columns which % is symmetric to the data on the edge ***** assert (padarray ([1;2], [1]), [0;1;2;0]); ***** assert (padarray ([3 4], [0 2]), [0 0 3 4 0 0]); ***** assert (padarray ([1 2 3; 4 5 6], [1 2]), [zeros(1, 7); 0 0 1 2 3 0 0; 0 0 4 5 6 0 0; zeros(1, 7)]); ***** test assert (padarray ([1 2 3; 4 5 6], [3 2 1]), cat(3, zeros(8, 7), [ [ zeros(3, 7) ] [zeros(2, 2) [1 2 3; 4 5 6] zeros(2, 2) ] [ zeros(3,7)] ], zeros (8, 7))); ***** assert (padarray ([1 2], [4 5]), padarray ([1 2], [4 5], 0)); ***** assert (padarray ([1 2], [4 5]), padarray ([1 2], [4 5], "both")); ***** assert (padarray ([1;2], [1], i), [i; 1; 2; i]); ***** assert (padarray ([1;2], [1], i, "pre"), [i; 1; 2]); ***** assert (padarray ([1;2], [1], i, "post"), [1; 2; i]); ***** assert (padarray ([1;2], [1], i, "both"), [i; 1; 2; i]); ***** assert (padarray ([1 2], [0 1], i, "pre"), [i 1 2]); ***** assert (padarray ([1 2], [0 1], i, "post"), [1 2 i]); ***** assert (padarray ([1 2], [0 1], i, "both"), [i 1 2 i]); ***** assert (padarray ([1 2], [0;1], i, "both"), [i 1 2 i]); ***** test A = [1 2 3; 4 5 6]; B = repmat (A, 7, 9); assert (padarray (A, [1 2], "circular", "pre"), B(2:4,2:6)); assert (padarray (A, [1 2], "circular", "post"), B(3:5,4:8)); assert (padarray (A, [1 2], "circular", "both"), B(2:5,2:8)); ## This tests when padding is bigger than data assert (padarray (A, [5 10], "circular", "both"), B(2:13,3:25)); ***** test A = int8 ([1 2 3; 4 5 6]); B = repmat (A, 7, 9); assert (padarray (A, [1 2], "circular", "pre"), B(2:4,2:6)); assert (padarray (A, [1 2], "circular", "post"), B(3:5,4:8)); assert (padarray (A, [1 2], "circular", "both"), B(2:5,2:8)); ## This tests when padding is bigger than data assert (padarray (A, [5 10], "circular", "both"), B(2:13,3:25)); ***** test A = [1 2; 3 4]; B = kron (A, ones (10, 5)); assert (padarray (A, [9 4], "replicate", "pre"), B(1:11,1:6)); assert (padarray (A, [9 4], "replicate", "post"), B(10:20,5:10)); assert (padarray (A, [9 4], "replicate", "both"), B); ## same with uint class assert (padarray (uint8 (A), [9 4], "replicate", "pre"), uint8 (B(1:11,1:6))); assert (padarray (uint8 (A), [9 4], "replicate", "post"), uint8 (B(10:20,5:10))); assert (padarray (uint8 (A), [9 4], "replicate", "both"), uint8 (B)); ***** test A = [1:3 4:6]; HA = [3:-1:1 6:-1:4]; VA = [4:6 1:3]; VHA = [6:-1:4 3:-1:1]; B = [VHA VA VHA HA A HA VHA VA VHA]; assert (padarray (A, [1 2], "symmetric", "pre"), B(2:4,2:6)); assert (padarray (A, [1 2], "symmetric", "post"), B(3:5,4:8)); assert (padarray (A, [1 2], "symmetric", "both"), B(2:5,2:8)); ## same with int class assert (padarray (int16 (A), [1 2], "symmetric", "pre"), int16 (B(2:4,2:6))); assert (padarray (int16 (A), [1 2], "symmetric", "post"), int16 (B(3:5,4:8))); assert (padarray (int16 (A), [1 2], "symmetric", "both"), int16 (B(2:5,2:8))); ***** assert (padarray (int8 ([1; 2]), [1]), int8 ([0; 1; 2; 0])); ***** assert (padarray (uint8 ([3 4]), [0 2]), uint8 ([0 0 3 4 0 0])); ***** assert (padarray (int16 ([1; 2]), [1], 4), int16 ([4; 1; 2; 4])); ***** assert (padarray (uint16 ([1; 2]), [1], 0), uint16 ([0; 1; 2; 0])); ***** assert (padarray (uint32 ([1; 2]), [1], 6, "post"), uint32 ([1; 2; 6])); ***** assert (padarray (int32 ([1; 2]), [1], int32 (4), "pre"), int32 ([4; 1; 2])); ***** test in = [ 7 5 1 3 5 3 3 4 7 5 2 3 6 1 3 8]; padded = [ 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 5 7 7 5 1 3 3 1 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 3 5 5 3 3 4 4 3 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 1 6 6 1 3 8 8 3 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2 5 7 7 5 2 3 3 2]; for ite = 1:10 assert (padarray (in, [ite ite], "symmetric"), padded((11-ite):(14+ite),(11-ite):(14+ite))); assert (padarray (in, [ite ite], "symmetric", "pre"), padded((11-ite):14,(11-ite):14)); assert (padarray (in, [ite ite], "symmetric", "post"), padded(11:(14+ite),11:(14+ite))); endfor ***** test in = [ 7 5 4 9 6 4 5 1 5 3 3 3 2 6 7 3]; padded = [ 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 7 3 7 6 2 6 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 3 3 3 3 5 3 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 4 9 4 5 7 5 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4 5 1 5 4 6 4]; for ite = 1:10 assert (padarray (in, [ite ite], "reflect"), padded((11-ite):(14+ite),(11-ite):(14+ite))); assert (padarray (in, [ite ite], "reflect", "pre"), padded((11-ite):14,(11-ite):14)); assert (padarray (in, [ite ite], "reflect", "post"), padded(11:(14+ite),11:(14+ite))); endfor 26 tests, 26 passed, 0 known failure, 0 skipped [inst/imclose.m] >>>>> /<>/inst/imclose.m ***** shared in, out in = [ 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0]; out = [ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0]; ***** assert (imclose (logical (in), ones (3)), logical (out)); out = [99 99 16 16 16 73 74 64 64 64 98 88 16 16 16 73 71 64 64 64 93 88 88 61 61 61 68 70 70 70 93 88 88 61 61 61 68 71 71 71 93 93 88 61 61 61 68 75 66 66 79 79 82 90 90 49 49 49 49 66 79 79 82 91 91 48 46 46 46 66 79 79 82 95 97 48 46 46 46 72 18 18 94 96 84 48 46 46 46 59 18 18 100 96 84 50 50 50 50 59]; ***** assert (imclose (magic (10), ones (3)), out); ***** assert (imclose (uint8 (magic (10)), strel ("square", 3)), uint8 (out)); ## using a se that will be decomposed in 2 pieces out =[ 99 99 88 74 74 74 74 70 70 70 98 93 88 74 74 74 74 70 70 70 93 93 88 74 74 74 74 70 70 70 93 93 88 74 74 74 74 71 71 71 93 93 88 75 75 75 75 75 75 75 93 93 90 90 90 72 72 72 72 72 93 93 91 91 91 72 72 72 72 72 93 93 93 95 97 72 72 72 72 72 94 94 94 96 97 72 72 72 72 72 100 100 100 97 97 72 72 72 72 72]; ***** assert (imclose (magic (10), ones(5)), out); ## using a weird non-symmetric and even-size se out =[ 92 99 16 16 16 70 74 58 58 58 98 88 60 73 16 73 69 70 64 58 88 81 88 60 60 60 69 69 70 70 87 87 61 68 61 60 68 69 71 69 86 93 87 61 61 61 68 75 68 69 23 82 89 89 90 45 68 45 68 66 23 23 82 89 91 48 45 45 45 66 79 23 82 95 97 46 48 46 45 72 18 79 94 96 78 50 46 46 46 59 18 18 100 94 94 78 50 50 46 59]; ***** assert (imclose (magic (10), [1 0 0 0; 1 1 1 0; 0 1 0 1]), out); 5 tests, 5 passed, 0 known failure, 0 skipped [inst/lab2uint8.m] >>>>> /<>/inst/lab2uint8.m ***** test cm_uint8 = uint8 ([0 1 2 3 4 127 128 200 254 255]); cm_uint8 = repmat (cm_uint8(:), [1 3]); im2d_uint8 = reshape (cm_uint8, [5 2 3]); imnd_uint8 = permute (im2d_uint8, [1 4 3 2]); cm_uint16 = uint16 ([0 256 512 768 1024 32512 32768 51200 65024 65280]); cm_uint16 = repmat (cm_uint16(:), [1 3]); assert (lab2uint16 (cm_uint8), cm_uint16) im2d_uint16 = reshape (cm_uint16, [5 2 3]); assert (lab2uint16 (im2d_uint8), im2d_uint16) assert (lab2uint16 (imnd_uint8), permute (im2d_uint16, [1 4 3 2])) l1 = 100/255; cm = [ 0 -128 -128 l1 -127 -127 2*l1 -126 -126 3*l1 -125 -125 4*l1 -124 -124 127*l1 -1 -1 128*l1 0 0 200*l1 72 72 254*l1 126 126 100 127 127]; im2d = reshape (cm, [5 2 3]); imnd = permute (im2d, [1 4 3 2]); assert (lab2double (cm_uint8), cm) assert (lab2double (im2d_uint8), im2d) assert (lab2double (imnd_uint8), imnd) assert (lab2single (cm_uint8), single (cm)) assert (lab2single (im2d_uint8), single (im2d)) assert (lab2single (imnd_uint8), single (imnd)) 1 test, 1 passed, 0 known failure, 0 skipped [inst/qtsetblk.m] >>>>> /<>/inst/qtsetblk.m ***** demo J=qtsetblk(eye(4),qtdecomp(eye(4)),2,ones(2,2,2)) % Sets upper-right and lower-left blocks of 2*2 zeros to ones ***** shared A, S A=[ 1, 4, 2, 5,54,55,61,62; 3, 6, 3, 1,58,53,67,65; 3, 6, 3, 1,58,53,67,65; 3, 6, 3, 1,58,53,67,65; 23,42,42,42,99,99,99,99; 27,42,42,42,99,99,99,99; 23,22,26,25,99,99,99,99; 22,22,24,22,99,99,99,99]; S = qtdecomp (A, 10); ***** test R=A; vals=zeros(4,4,2); vals(:,:,1)=reshape([1:16],4,4); vals(:,:,2)=reshape([21:36],4,4); R(1:4,1:4)=reshape([1:16],4,4); R(5:8,5:8)=reshape([21:36],4,4); assert(qtsetblk(A,S,4,vals),R); ***** test R=A; R(1:4,5:8)=1; R(7:8,1:4)=1; R(5:6,3:4)=1; assert(qtsetblk(A,S,2,ones(2,2,7)),R); ***** test R=A; R(5:6,1:2)=10; assert(qtsetblk(A,S,1,ones(1,1,4)*10),R); 3 tests, 3 passed, 0 known failure, 0 skipped [inst/bwperim.m] >>>>> /<>/inst/bwperim.m ***** test in = [ 1 1 1 1 0 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 1 1 0]; out = [1 1 1 1 0 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0 1 0 0 0 1 1 1 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 0 0 1 1 1 1 1 1 0 1 0 1 1 0]; assert (bwperim (in), logical (out)) assert (bwperim (in, 4), logical (out)) out = [1 1 1 1 0 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 0 1 0 1 1 0 0 0 0 1 1 1 1 0 1 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 0 0 1 1 1 1 1 1 0 1 0 1 1 0]; assert (bwperim (in, 8), logical (out)) out = [1 1 1 1 0 1 1 0 1 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 0 1 1 1 1 1 1 0 1 0 1 1 0]; assert (bwperim (in, [1 0 0; 0 1 0; 0 0 1]), logical (out)) ***** test in = [ 0 0 0 0 0 0 0 0 0 5 0 0 1 9 0 Inf 9 7 0 0 0 0 1.5 5 7 1 0 0 0 0.5 -1 89 i 0 0 0 4 10 15 1 0 0 0 0 0 0 0 0 0]; out = [0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0]; assert (bwperim (in), logical (out)) ***** test in = reshape (magic(16), [8 8 4]) > 50; out(:,:,1) = [ 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0]; out(:,:,2) = [ 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 1 0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 1 1 0 0 1 0 1 0 1 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0]; out(:,:,3) = [ 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0]; out(:,:,4) = [ 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0]; assert (bwperim (in), logical (out)) out(:,:,1) = [ 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0]; out(:,:,2) = [ 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0]; out(:,:,3) = [ 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0]; out(:,:,4) = [ 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0]; assert (bwperim (in, 18), logical (out)) ***** error bwperim ("text") ***** error bwperim (rand (10), 5) ***** error bwperim (rand (10), "text") ***** test a = false (5); a(1:4,2:4) = true; p = false (5); p(1:4,[2 4]) = true; assert (bwperim (a, [0 0 0; 1 1 1; 0 0 0]), p) ***** test a = false (8, 8, 5); a(4:5,4:5,2:4) = true; a(2:7,2:7,3) = true; assert (bwperim (a, 26), a) ## It is easy to forget that is correct b = a; b(4:5, 4:5, 3) = false; assert (bwperim (a), b) c = a; c(3:6,3:6,3) = false; assert (bwperim (a, 4), c) ***** test conn_self = logical ([0 0 0; 0 1 0; 0 0 0]); assert (bwperim (true), true) assert (bwperim (true, conn_self), false) assert (bwperim (true (1, 6)), true (1, 6)) assert (bwperim (true (1, 6), conn_self), false (1, 6)) assert (bwperim (true (6, 1)), true (6, 1)) bw_3d = true (1, 1, 6); assert (bwperim (bw_3d), bw_3d) assert (bwperim (bw_3d, conn_self), false (1, 1, 6)) assert (bwperim (bw_3d, true (3)), bw_3d) perim_3d = bw_3d; perim_3d(1, 1, 2:end-1) = false; conn_3d = false (3, 3, 3); conn_3d(2, 2, :) = true; assert (bwperim (true (1, 1, 6), conn_3d), perim_3d) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/fftconv2.m] >>>>> /<>/inst/fftconv2.m ***** xtest a = repmat (1:10, 5); b = repmat (10:-1:3, 7); assert (fftconv2 (a, b), conv2 (a, b), 1.3e4*eps) assert (fftconv2 (b, a), conv2 (b, a), 1.3e4*eps) assert (fftconv2 (a, b, "full"), conv2 (a, b, "full"), 1.3e4*eps) assert (fftconv2 (b, a, "full"), conv2 (b, a, "full"), 1.3e4*eps) assert (fftconv2 (a, b, "same"), conv2 (a, b, "same"), 1e4*eps) assert (fftconv2 (b, a, "same"), conv2 (b, a, "same"), 1e4*eps) assert (isempty (fftconv2 (a, b, "valid"))); assert (fftconv2 (b, a, "valid"), conv2 (b, a, "valid"), 1e4*eps) ***** test x = 1:4; y = 4:-1:1; a = repmat(1:10, 5); assert (fftconv2 (x, y, a), conv2 (x, y, a), 1e4*eps) assert (fftconv2 (x, y, a, "full"), conv2 (x, y, a, "full"), 1e4*eps) assert (fftconv2 (x, y, a, "same"), conv2 (x, y, a, "same"), 1e4*eps) assert (fftconv2 (x, y, a, "valid"), conv2 (x, y, a, "valid"), 1e4*eps) ***** demo ## Draw a cross z = zeros (101, 101); z(50, :) = 1; z(:, 50) = 1; subplot (1, 3, 1) imshow (z); title ("Original thin cross") ## Draw a sinc blob b = getheight (strel ("ball", 10, 1)); subplot (1, 3, 2) imshow (b); title ("Sync blob") ## Convolve the cross with the blob fc = real (fftconv2 (z, b, "same")); subplot (1, 3, 3) imshow (fc, [min(fc(:)) max(fc(:))]) title ("Convolution in the frequency domain") 2 tests, 2 passed, 0 known failure, 0 skipped [inst/imresize.m] >>>>> /<>/inst/imresize.m ***** test in = [116 227 153 69 146 194 59 130 139 106 2 47 137 249 90 75 16 24 158 44 155 68 46 84 166 156 69 204 32 152 71 221 137 230 210 153 192 115 30 118 107 143 108 52 51 73 101 21 175 90 54 158 143 77 26 168 113 229 165 225 9 47 133 135 130 207 236 43 19 73]; assert (imresize (uint8 (in), 1, "nearest"), uint8 (in)) assert (imresize (uint8 (in), 1, "bicubic"), uint8 (in)) out = [116 116 227 227 153 153 69 69 146 146 194 194 59 59 130 130 139 139 106 106 116 116 227 227 153 153 69 69 146 146 194 194 59 59 130 130 139 139 106 106 2 2 47 47 137 137 249 249 90 90 75 75 16 16 24 24 158 158 44 44 2 2 47 47 137 137 249 249 90 90 75 75 16 16 24 24 158 158 44 44 155 155 68 68 46 46 84 84 166 166 156 156 69 69 204 204 32 32 152 152 155 155 68 68 46 46 84 84 166 166 156 156 69 69 204 204 32 32 152 152 71 71 221 221 137 137 230 230 210 210 153 153 192 192 115 115 30 30 118 118 71 71 221 221 137 137 230 230 210 210 153 153 192 192 115 115 30 30 118 118 107 107 143 143 108 108 52 52 51 51 73 73 101 101 21 21 175 175 90 90 107 107 143 143 108 108 52 52 51 51 73 73 101 101 21 21 175 175 90 90 54 54 158 158 143 143 77 77 26 26 168 168 113 113 229 229 165 165 225 225 54 54 158 158 143 143 77 77 26 26 168 168 113 113 229 229 165 165 225 225 9 9 47 47 133 133 135 135 130 130 207 207 236 236 43 43 19 19 73 73 9 9 47 47 133 133 135 135 130 130 207 207 236 236 43 43 19 19 73 73]; assert (imresize (uint8 (in), 2, "nearest"), uint8 (out)) assert (imresize (uint8 (in), 2, "neAreST"), uint8 (out)) assert (imresize (uint8 (in), [14 NaN], "nearest"), uint8 (out)) assert (imresize (uint8 (in), [NaN 20], "nearest"), uint8 (out)) out = [116 116 227 227 153 153 69 69 146 146 194 194 59 59 130 130 139 139 106 106 2 2 47 47 137 137 249 249 90 90 75 75 16 16 24 24 158 158 44 44 155 155 68 68 46 46 84 84 166 166 156 156 69 69 204 204 32 32 152 152 71 71 221 221 137 137 230 230 210 210 153 153 192 192 115 115 30 30 118 118 107 107 143 143 108 108 52 52 51 51 73 73 101 101 21 21 175 175 90 90 54 54 158 158 143 143 77 77 26 26 168 168 113 113 229 229 165 165 225 225 9 9 47 47 133 133 135 135 130 130 207 207 236 236 43 43 19 19 73 73]; assert (imresize (uint8 (in), [7 20], "nearest"), uint8 (out)) assert (imresize (uint8 (in), 1.5, "bicubic"), imresize (uint8 (in), 1.5, "cubic")) assert (imresize (uint8 (in), [NaN, size(in,2)*1.5], "bicubic"), imresize (uint8 (in), 1.5, "cubic")) assert (imresize (uint8 (in), [size(in,1)*1.5, NaN], "bicubic"), imresize (uint8 (in), 1.5, "cubic")) assert (imresize (uint8 (in), 1.5, "linear"), imresize (uint8 (in), 1.5, "LIneAR")) assert (imresize (uint8 (in), 1.5, "linear"), imresize (uint8 (in), 1.5, "triangle")) out = [ 47 249 75 24 44 221 230 153 115 118 158 77 168 229 225 47 135 207 43 73]; assert (imresize (uint8 (in), 0.5, "nearest"), uint8 (out)) ***** assert (imresize (repmat (5, [3 3]), 2), repmat (5, [6 6]), eps*100) ***** assert (imresize (repmat (5, [3 3 2]), 2), repmat (5, [6 6 2]), eps*100) ***** shared in, out in = [116 227 153 69 146 194 59 130 139 106 2 47 137 249 90 75 16 24 158 44 155 68 46 84 166 156 69 204 32 152 71 221 137 230 210 153 192 115 30 118 107 143 108 52 51 73 101 21 175 90 54 158 143 77 26 168 113 229 165 225 9 47 133 135 130 207 236 43 19 73]; out = [116 185 235 171 96 64 134 189 186 74 90 141 140 124 108 44 92 143 149 164 163 119 123 118 44 38 80 151 118 63 14 21 47 107 195 228 115 81 70 24 19 56 137 105 49 145 98 49 49 71 107 148 159 132 58 124 176 61 85 145 118 139 144 92 116 168 201 188 159 140 167 158 27 69 152 62 151 218 145 174 219 201 164 146 187 148 84 48 76 115 102 132 151 119 90 72 72 72 83 114 60 31 144 130 81 82 121 154 133 87 41 19 67 116 95 108 140 183 180 164 40 96 152 149 117 74 34 108 179 131 175 215 153 177 219 11 33 73 127 137 125 113 158 212 229 148 55 35 63 96 4 17 53 121 141 138 133 171 220 253 141 16 7 36 67]; ***** xtest assert (imresize (uint8 (in), 1.5, "bicubic"), uint8 (out)) out = [116 172 215 165 111 82 133 170 171 81 95 132 138 123 106 59 98 138 144 152 152 125 127 119 54 58 89 137 112 75 27 39 62 110 172 202 123 96 78 36 40 68 123 100 62 129 97 64 62 87 119 146 148 128 74 117 154 73 94 134 113 129 136 101 125 162 183 172 151 135 146 139 53 83 135 77 143 195 145 166 197 186 162 146 171 138 92 62 84 113 101 129 149 120 98 81 78 82 91 111 77 56 132 123 95 81 116 147 130 96 61 43 80 119 109 116 132 162 164 158 46 93 139 141 114 80 50 109 168 141 166 189 151 171 200 16 41 77 123 130 123 115 157 204 214 145 69 48 71 98 9 28 61 119 134 134 131 169 212 231 140 39 23 46 73]; !!!!! known failure ASSERT errors for: assert (imresize (uint8 (in), 1.5, "bicubic"),uint8 (out)) Location | Observed | Expected | Reason (2,1) 26 44 Abs err 18 exceeds tol 0 by 2e+01 (3,1) 21 14 Abs err 7 exceeds tol 0 by 7 (4,1) 132 145 Abs err 13 exceeds tol 0 by 1e+01 (5,1) 140 118 Abs err 22 exceeds tol 0 by 2e+01 (6,1) 71 62 Abs err 9 exceeds tol 0 by 9 (7,1) 92 102 Abs err 10 exceeds tol 0 by 1e+01 (8,1) 102 82 Abs err 20 exceeds tol 0 by 2e+01 (9,1) 72 40 Abs err 32 exceeds tol 0 by 3e+01 (10,1) 28 11 Abs err 17 exceeds tol 0 by 2e+01 (11,1) 9 4 Abs err 5 exceeds tol 0 by 5 (1,2) 198 185 Abs err 13 exceeds tol 0 by 1e+01 (2,2) 78 92 Abs err 14 exceeds tol 0 by 1e+01 (3,2) 9 21 Abs err 12 exceeds tol 0 by 1e+01 (4,2) 70 98 Abs err 28 exceeds tol 0 by 3e+01 (5,2) 150 139 Abs err 11 exceeds tol 0 by 1e+01 (6,2) 180 151 Abs err 29 exceeds tol 0 by 3e+01 (7,2) 162 132 Abs err 30 exceeds tol 0 by 3e+01 (8,2) 130 121 Abs err 9 exceeds tol 0 by 9 (9,2) 137 96 Abs err 41 exceeds tol 0 by 4e+01 (10,2) 80 33 Abs err 47 exceeds tol 0 by 5e+01 (11,2) 21 17 Abs err 4 exceeds tol 0 by 4 (1,3) 227 235 Abs err 8 exceeds tol 0 by 8 (2,3) 138 143 Abs err 5 exceeds tol 0 by 5 (3,3) 42 47 Abs err 5 exceeds tol 0 by 5 (4,3) 26 49 Abs err 23 exceeds tol 0 by 2e+01 (5,3) 117 144 Abs err 27 exceeds tol 0 by 3e+01 (6,3) 213 218 Abs err 5 exceeds tol 0 by 5 (7,3) 182 151 Abs err 31 exceeds tol 0 by 3e+01 (8,3) 142 154 Abs err 12 exceeds tol 0 by 1e+01 (9,3) 176 152 Abs err 24 exceeds tol 0 by 2e+01 (10,3) 139 73 Abs err 66 exceeds tol 0 by 7e+01 (11,3) 77 53 Abs err 24 exceeds tol 0 by 2e+01 (1,4) 164 171 Abs err 7 exceeds tol 0 by 7 (2,4) 151 149 Abs err 2 exceeds tol 0 by 2 (3,4) 100 107 Abs err 7 exceeds tol 0 by 7 (4,4) 47 49 Abs err 2 exceeds tol 0 by 2 (5,4) 73 92 Abs err 19 exceeds tol 0 by 2e+01 (6,4) 138 145 Abs err 7 exceeds tol 0 by 7 (7,4) 128 119 Abs err 9 exceeds tol 0 by 9 (8,4) 119 133 Abs err 14 exceeds tol 0 by 1e+01 (9,4) 144 149 Abs err 5 exceeds tol 0 by 5 (10,4) 145 127 Abs err 18 exceeds tol 0 by 2e+01 (11,4) 127 121 Abs err 6 exceeds tol 0 by 6 (1,5) 86 96 Abs err 10 exceeds tol 0 by 1e+01 (2,5) 200 164 Abs err 36 exceeds tol 0 by 4e+01 (3,5) 211 195 Abs err 16 exceeds tol 0 by 2e+01 (4,5) 78 71 Abs err 7 exceeds tol 0 by 7 (5,5) 91 116 Abs err 25 exceeds tol 0 by 2e+01 (6,5) 184 174 Abs err 10 exceeds tol 0 by 1e+01 (7,5) 124 90 Abs err 34 exceeds tol 0 by 3e+01 (8,5) 65 87 Abs err 22 exceeds tol 0 by 2e+01 (9,5) 95 117 Abs err 22 exceeds tol 0 by 2e+01 (10,5) 130 137 Abs err 7 exceeds tol 0 by 7 (11,5) 144 141 Abs err 3 exceeds tol 0 by 3 (1,6) 73 64 Abs err 9 exceeds tol 0 by 9 (2,6) 185 163 Abs err 22 exceeds tol 0 by 2e+01 (3,6) 222 228 Abs err 6 exceeds tol 0 by 6 (4,6) 120 107 Abs err 13 exceeds tol 0 by 1e+01 (5,6) 161 168 Abs err 7 exceeds tol 0 by 7 (6,6) 240 219 Abs err 21 exceeds tol 0 by 2e+01 (7,6) 134 72 Abs err 62 exceeds tol 0 by 6e+01 (8,6) 18 41 Abs err 23 exceeds tol 0 by 2e+01 (9,6) 34 74 Abs err 40 exceeds tol 0 by 4e+01 (10,6) 85 125 Abs err 40 exceeds tol 0 by 4e+01 (11,6) 131 138 Abs err 7 exceeds tol 0 by 7 (1,7) 128 134 Abs err 6 exceeds tol 0 by 6 (2,7) 115 119 Abs err 4 exceeds tol 0 by 4 (3,7) 121 115 Abs err 6 exceeds tol 0 by 6 (4,7) 139 148 Abs err 9 exceeds tol 0 by 9 (5,7) 204 201 Abs err 3 exceeds tol 0 by 3 (6,7) 220 201 Abs err 19 exceeds tol 0 by 2e+01 (7,7) 127 72 Abs err 55 exceeds tol 0 by 6e+01 (8,7) 16 19 Abs err 3 exceeds tol 0 by 3 (9,7) 4 34 Abs err 30 exceeds tol 0 by 3e+01 (10,7) 55 113 Abs err 58 exceeds tol 0 by 6e+01 (11,7) 123 133 Abs err 10 exceeds tol 0 by 1e+01 (1,8) 197 189 Abs err 8 exceeds tol 0 by 8 (2,8) 104 123 Abs err 19 exceeds tol 0 by 2e+01 (3,8) 76 81 Abs err 5 exceeds tol 0 by 5 (4,8) 157 159 Abs err 2 exceeds tol 0 by 2 (5,8) 206 188 Abs err 18 exceeds tol 0 by 2e+01 (6,8) 174 164 Abs err 10 exceeds tol 0 by 1e+01 (7,8) 98 72 Abs err 26 exceeds tol 0 by 3e+01 (8,8) 49 67 Abs err 18 exceeds tol 0 by 2e+01 (9,8) 77 108 Abs err 31 exceeds tol 0 by 3e+01 (10,8) 130 158 Abs err 28 exceeds tol 0 by 3e+01 (11,8) 164 171 Abs err 7 exceeds tol 0 by 7 (1,9) 179 186 Abs err 7 exceeds tol 0 by 7 (2,9) 99 118 Abs err 19 exceeds tol 0 by 2e+01 (3,9) 65 70 Abs err 5 exceeds tol 0 by 5 (4,9) 120 132 Abs err 12 exceeds tol 0 by 1e+01 (5,9) 164 159 Abs err 5 exceeds tol 0 by 5 (6,9) 154 146 Abs err 8 exceeds tol 0 by 8 (7,9) 98 83 Abs err 15 exceeds tol 0 by 2e+01 (8,9) 88 116 Abs err 28 exceeds tol 0 by 3e+01 (9,9) 146 179 Abs err 33 exceeds tol 0 by 3e+01 (10,9) 206 212 Abs err 6 exceeds tol 0 by 6 (11,9) 223 220 Abs err 3 exceeds tol 0 by 3 (1,10) 80 74 Abs err 6 exceeds tol 0 by 6 (2,10) 42 44 Abs err 2 exceeds tol 0 by 2 (3,10) 25 24 Abs err 1 exceeds tol 0 by 1 (4,10) 44 58 Abs err 14 exceeds tol 0 by 1e+01 (5,10) 133 140 Abs err 7 exceeds tol 0 by 7 (6,10) 192 187 Abs err 5 exceeds tol 0 by 5 (7,10) 151 114 Abs err 37 exceeds tol 0 by 4e+01 (8,10) 92 95 Abs err 3 exceeds tol 0 by 3 (9,10) 92 131 Abs err 39 exceeds tol 0 by 4e+01 (10,10) 173 229 Abs err 56 exceeds tol 0 by 6e+01 (11,10) 255 253 Abs err 2 exceeds tol 0 by 2 (1,11) 70 90 Abs err 20 exceeds tol 0 by 2e+01 (2,11) 7 38 Abs err 31 exceeds tol 0 by 3e+01 (3,11) 14 19 Abs err 5 exceeds tol 0 by 5 (4,11) 98 124 Abs err 26 exceeds tol 0 by 3e+01 (5,11) 180 167 Abs err 13 exceeds tol 0 by 1e+01 (6,11) 173 148 Abs err 25 exceeds tol 0 by 2e+01 (7,11) 90 60 Abs err 30 exceeds tol 0 by 3e+01 (8,11) 61 108 Abs err 47 exceeds tol 0 by 5e+01 (9,11) 137 175 Abs err 38 exceeds tol 0 by 4e+01 (10,11) 176 148 Abs err 28 exceeds tol 0 by 3e+01 (11,11) 160 141 Abs err 19 exceeds tol 0 by 2e+01 (1,12) 135 141 Abs err 6 exceeds tol 0 by 6 (2,12) 51 80 Abs err 29 exceeds tol 0 by 3e+01 (3,12) 58 56 Abs err 2 exceeds tol 0 by 2 (5,12) 192 158 Abs err 34 exceeds tol 0 by 3e+01 (6,12) 104 84 Abs err 20 exceeds tol 0 by 2e+01 (7,12) 19 31 Abs err 12 exceeds tol 0 by 1e+01 (8,12) 65 140 Abs err 75 exceeds tol 0 by 8e+01 (9,12) 214 215 Abs err 1 exceeds tol 0 by 1 (10,12) 180 55 Abs err 125 exceeds tol 0 by 1e+02 (11,12) 29 16 Abs err 13 exceeds tol 0 by 1e+01 (1,13) 145 140 Abs err 5 exceeds tol 0 by 5 (2,13) 150 151 Abs err 1 exceeds tol 0 by 1 (3,13) 124 137 Abs err 13 exceeds tol 0 by 1e+01 (4,13) 89 61 Abs err 28 exceeds tol 0 by 3e+01 (5,13) 39 27 Abs err 12 exceeds tol 0 by 1e+01 (6,13) 37 48 Abs err 11 exceeds tol 0 by 1e+01 (7,13) 89 144 Abs err 55 exceeds tol 0 by 6e+01 (8,13) 166 183 Abs err 17 exceeds tol 0 by 2e+01 (9,13) 198 153 Abs err 45 exceeds tol 0 by 4e+01 (10,13) 118 35 Abs err 83 exceeds tol 0 by 8e+01 (1,14) 129 124 Abs err 5 exceeds tol 0 by 5 (2,14) 146 118 Abs err 28 exceeds tol 0 by 3e+01 (3,14) 121 105 Abs err 16 exceeds tol 0 by 2e+01 (4,14) 67 85 Abs err 18 exceeds tol 0 by 2e+01 (5,14) 25 69 Abs err 44 exceeds tol 0 by 4e+01 (6,14) 49 76 Abs err 27 exceeds tol 0 by 3e+01 (7,14) 119 130 Abs err 11 exceeds tol 0 by 1e+01 (8,14) 189 180 Abs err 9 exceeds tol 0 by 9 (9,14) 197 177 Abs err 20 exceeds tol 0 by 2e+01 (10,14) 121 63 Abs err 58 exceeds tol 0 by 6e+01 (11,14) 35 36 Abs err 1 exceeds tol 0 by 1 (1,15) 106 108 Abs err 2 exceeds tol 0 by 2 (2,15) 53 63 Abs err 10 exceeds tol 0 by 1e+01 (3,15) 59 49 Abs err 10 exceeds tol 0 by 1e+01 (4,15) 133 145 Abs err 12 exceeds tol 0 by 1e+01 (5,15) 157 152 Abs err 5 exceeds tol 0 by 5 (6,15) 118 115 Abs err 3 exceeds tol 0 by 3 (7,15) 78 81 Abs err 3 exceeds tol 0 by 3 (8,15) 118 164 Abs err 46 exceeds tol 0 by 5e+01 (9,15) 217 219 Abs err 2 exceeds tol 0 by 2 (10,15) 184 96 Abs err 88 exceeds tol 0 by 9e+01 (11,15) 73 67 Abs err 6 exceeds tol 0 by 6 ***** xtest assert (imresize (uint8 (in), 1.5, "bilinear"), uint8 (out)) out = [108 136 125 89 107 111 132 143 114 99 106 110 106 127 136 47 121 163 138 68]; !!!!! known failure ASSERT errors for: assert (imresize (uint8 (in), 1.5, "bilinear"),uint8 (out)) Location | Observed | Expected | Reason (2,1) 48 44 Abs err 4 exceeds tol 0 by 4 (3,1) 33 14 Abs err 19 exceeds tol 0 by 2e+01 (4,1) 124 145 Abs err 21 exceeds tol 0 by 2e+01 (5,1) 121 118 Abs err 3 exceeds tol 0 by 3 (6,1) 71 62 Abs err 9 exceeds tol 0 by 9 (7,1) 93 102 Abs err 9 exceeds tol 0 by 9 (8,1) 96 82 Abs err 14 exceeds tol 0 by 1e+01 (9,1) 65 40 Abs err 25 exceeds tol 0 by 2e+01 (10,1) 36 11 Abs err 25 exceeds tol 0 by 2e+01 (11,1) 9 4 Abs err 5 exceeds tol 0 by 5 (1,2) 187 185 Abs err 2 exceeds tol 0 by 2 (2,2) 93 92 Abs err 1 exceeds tol 0 by 1 (3,2) 45 21 Abs err 24 exceeds tol 0 by 2e+01 (4,2) 85 98 Abs err 13 exceeds tol 0 by 1e+01 (5,2) 126 139 Abs err 13 exceeds tol 0 by 1e+01 (6,2) 167 151 Abs err 16 exceeds tol 0 by 2e+01 (7,2) 145 132 Abs err 13 exceeds tol 0 by 1e+01 (8,2) 128 121 Abs err 7 exceeds tol 0 by 7 (9,2) 123 96 Abs err 27 exceeds tol 0 by 3e+01 (10,2) 86 33 Abs err 53 exceeds tol 0 by 5e+01 (11,2) 33 17 Abs err 16 exceeds tol 0 by 2e+01 (1,3) 206 235 Abs err 29 exceeds tol 0 by 3e+01 (2,3) 126 143 Abs err 17 exceeds tol 0 by 2e+01 (3,3) 71 47 Abs err 24 exceeds tol 0 by 2e+01 (4,3) 64 49 Abs err 15 exceeds tol 0 by 2e+01 (5,3) 116 144 Abs err 28 exceeds tol 0 by 3e+01 (6,3) 197 218 Abs err 21 exceeds tol 0 by 2e+01 (7,3) 159 151 Abs err 8 exceeds tol 0 by 8 (8,3) 137 154 Abs err 17 exceeds tol 0 by 2e+01 (9,3) 150 152 Abs err 2 exceeds tol 0 by 2 (10,3) 121 73 Abs err 48 exceeds tol 0 by 5e+01 (11,3) 72 53 Abs err 19 exceeds tol 0 by 2e+01 (1,4) 158 171 Abs err 13 exceeds tol 0 by 1e+01 (2,4) 142 149 Abs err 7 exceeds tol 0 by 7 (3,4) 114 107 Abs err 7 exceeds tol 0 by 7 (4,4) 64 49 Abs err 15 exceeds tol 0 by 2e+01 (5,4) 86 92 Abs err 6 exceeds tol 0 by 6 (6,4) 143 145 Abs err 2 exceeds tol 0 by 2 (7,4) 124 119 Abs err 5 exceeds tol 0 by 5 (8,4) 117 133 Abs err 16 exceeds tol 0 by 2e+01 (9,4) 137 149 Abs err 12 exceeds tol 0 by 1e+01 (10,4) 137 127 Abs err 10 exceeds tol 0 by 1e+01 (11,4) 127 121 Abs err 6 exceeds tol 0 by 6 (1,5) 105 96 Abs err 9 exceeds tol 0 by 9 (2,5) 163 164 Abs err 1 exceeds tol 0 by 1 (3,5) 174 195 Abs err 21 exceeds tol 0 by 2e+01 (4,5) 94 71 Abs err 23 exceeds tol 0 by 2e+01 (5,5) 117 116 Abs err 1 exceeds tol 0 by 1 (6,5) 190 174 Abs err 16 exceeds tol 0 by 2e+01 (7,5) 122 90 Abs err 32 exceeds tol 0 by 3e+01 (8,5) 82 87 Abs err 5 exceeds tol 0 by 5 (9,5) 99 117 Abs err 18 exceeds tol 0 by 2e+01 (10,5) 117 137 Abs err 20 exceeds tol 0 by 2e+01 (11,5) 134 141 Abs err 7 exceeds tol 0 by 7 (1,6) 86 64 Abs err 22 exceeds tol 0 by 2e+01 (3,6) 192 228 Abs err 36 exceeds tol 0 by 4e+01 (4,6) 124 107 Abs err 17 exceeds tol 0 by 2e+01 (5,6) 151 168 Abs err 17 exceeds tol 0 by 2e+01 (6,6) 226 219 Abs err 7 exceeds tol 0 by 7 (7,6) 121 72 Abs err 49 exceeds tol 0 by 5e+01 (8,6) 55 41 Abs err 14 exceeds tol 0 by 1e+01 (9,6) 63 74 Abs err 11 exceeds tol 0 by 1e+01 (10,6) 93 125 Abs err 32 exceeds tol 0 by 3e+01 (11,6) 134 138 Abs err 4 exceeds tol 0 by 4 (1,7) 135 134 Abs err 1 exceeds tol 0 by 1 (2,7) 122 119 Abs err 3 exceeds tol 0 by 3 (3,7) 121 115 Abs err 6 exceeds tol 0 by 6 (4,7) 146 148 Abs err 2 exceeds tol 0 by 2 (5,7) 178 201 Abs err 23 exceeds tol 0 by 2e+01 (6,7) 213 201 Abs err 12 exceeds tol 0 by 1e+01 (7,7) 116 72 Abs err 44 exceeds tol 0 by 4e+01 (8,7) 48 19 Abs err 29 exceeds tol 0 by 3e+01 (9,7) 37 34 Abs err 3 exceeds tol 0 by 3 (10,7) 72 113 Abs err 41 exceeds tol 0 by 4e+01 (11,7) 131 133 Abs err 2 exceeds tol 0 by 2 (1,8) 170 189 Abs err 19 exceeds tol 0 by 2e+01 (2,8) 117 123 Abs err 6 exceeds tol 0 by 6 (3,8) 98 81 Abs err 17 exceeds tol 0 by 2e+01 (4,8) 145 159 Abs err 14 exceeds tol 0 by 1e+01 (5,8) 169 188 Abs err 19 exceeds tol 0 by 2e+01 (6,8) 182 164 Abs err 18 exceeds tol 0 by 2e+01 (7,8) 110 72 Abs err 38 exceeds tol 0 by 4e+01 (8,8) 69 67 Abs err 2 exceeds tol 0 by 2 (9,8) 90 108 Abs err 18 exceeds tol 0 by 2e+01 (10,8) 126 158 Abs err 32 exceeds tol 0 by 3e+01 (11,8) 169 171 Abs err 2 exceeds tol 0 by 2 (1,9) 175 186 Abs err 11 exceeds tol 0 by 1e+01 (2,9) 110 118 Abs err 8 exceeds tol 0 by 8 (3,9) 82 70 Abs err 12 exceeds tol 0 by 1e+01 (4,9) 128 132 Abs err 4 exceeds tol 0 by 4 (5,9) 150 159 Abs err 9 exceeds tol 0 by 9 (6,9) 159 146 Abs err 13 exceeds tol 0 by 1e+01 (7,9) 110 83 Abs err 27 exceeds tol 0 by 3e+01 (8,9) 94 116 Abs err 22 exceeds tol 0 by 2e+01 (9,9) 144 179 Abs err 35 exceeds tol 0 by 4e+01 (10,9) 181 212 Abs err 31 exceeds tol 0 by 3e+01 (11,9) 211 220 Abs err 9 exceeds tol 0 by 9 (1,10) 88 74 Abs err 14 exceeds tol 0 by 1e+01 (2,10) 52 44 Abs err 8 exceeds tol 0 by 8 (3,10) 40 24 Abs err 16 exceeds tol 0 by 2e+01 (4,10) 76 58 Abs err 18 exceeds tol 0 by 2e+01 (5,10) 126 140 Abs err 14 exceeds tol 0 by 1e+01 (6,10) 184 187 Abs err 3 exceeds tol 0 by 3 (7,10) 130 114 Abs err 16 exceeds tol 0 by 2e+01 (8,10) 101 95 Abs err 6 exceeds tol 0 by 6 (9,10) 119 131 Abs err 12 exceeds tol 0 by 1e+01 (10,10) 167 229 Abs err 62 exceeds tol 0 by 6e+01 (11,10) 230 253 Abs err 23 exceeds tol 0 by 2e+01 (1,11) 89 90 Abs err 1 exceeds tol 0 by 1 (2,11) 47 38 Abs err 9 exceeds tol 0 by 9 (3,11) 41 19 Abs err 22 exceeds tol 0 by 2e+01 (4,11) 105 124 Abs err 19 exceeds tol 0 by 2e+01 (5,11) 140 167 Abs err 27 exceeds tol 0 by 3e+01 (6,11) 159 148 Abs err 11 exceeds tol 0 by 1e+01 (7,11) 104 60 Abs err 44 exceeds tol 0 by 4e+01 (8,11) 86 108 Abs err 22 exceeds tol 0 by 2e+01 (9,11) 144 175 Abs err 31 exceeds tol 0 by 3e+01 (10,11) 159 148 Abs err 11 exceeds tol 0 by 1e+01 (11,11) 153 141 Abs err 12 exceeds tol 0 by 1e+01 (1,12) 131 141 Abs err 10 exceeds tol 0 by 1e+01 (2,12) 72 80 Abs err 8 exceeds tol 0 by 8 (3,12) 65 56 Abs err 9 exceeds tol 0 by 9 (4,12) 160 176 Abs err 16 exceeds tol 0 by 2e+01 (5,12) 159 158 Abs err 1 exceeds tol 0 by 1 (6,12) 109 84 Abs err 25 exceeds tol 0 by 2e+01 (7,12) 63 31 Abs err 32 exceeds tol 0 by 3e+01 (8,12) 70 140 Abs err 70 exceeds tol 0 by 7e+01 (9,12) 186 215 Abs err 29 exceeds tol 0 by 3e+01 (10,12) 151 55 Abs err 96 exceeds tol 0 by 1e+02 (11,12) 41 16 Abs err 25 exceeds tol 0 by 2e+01 (1,13) 136 140 Abs err 4 exceeds tol 0 by 4 (2,13) 126 151 Abs err 25 exceeds tol 0 by 2e+01 (3,13) 112 137 Abs err 25 exceeds tol 0 by 2e+01 (4,13) 89 61 Abs err 28 exceeds tol 0 by 3e+01 (5,13) 70 27 Abs err 43 exceeds tol 0 by 4e+01 (6,13) 54 48 Abs err 6 exceeds tol 0 by 6 (7,13) 100 144 Abs err 44 exceeds tol 0 by 4e+01 (8,13) 141 183 Abs err 42 exceeds tol 0 by 4e+01 (9,13) 173 153 Abs err 20 exceeds tol 0 by 2e+01 (10,13) 120 35 Abs err 85 exceeds tol 0 by 8e+01 (11,13) 26 7 Abs err 19 exceeds tol 0 by 2e+01 (1,14) 127 124 Abs err 3 exceeds tol 0 by 3 (2,14) 121 118 Abs err 3 exceeds tol 0 by 3 (3,14) 109 105 Abs err 4 exceeds tol 0 by 4 (4,14) 83 85 Abs err 2 exceeds tol 0 by 2 (6,14) 61 76 Abs err 15 exceeds tol 0 by 2e+01 (7,14) 111 130 Abs err 19 exceeds tol 0 by 2e+01 (8,14) 153 180 Abs err 27 exceeds tol 0 by 3e+01 (9,14) 178 177 Abs err 1 exceeds tol 0 by 1 (10,14) 127 63 Abs err 64 exceeds tol 0 by 6e+01 (11,14) 38 36 Abs err 2 exceeds tol 0 by 2 (1,15) 106 108 Abs err 2 exceeds tol 0 by 2 (2,15) 69 63 Abs err 6 exceeds tol 0 by 6 (3,15) 66 49 Abs err 17 exceeds tol 0 by 2e+01 (4,15) 130 145 Abs err 15 exceeds tol 0 by 2e+01 (5,15) 138 152 Abs err 14 exceeds tol 0 by 1e+01 (6,15) 118 115 Abs err 3 exceeds tol 0 by 3 (7,15) 101 81 Abs err 20 exceeds tol 0 by 2e+01 (8,15) 117 164 Abs err 47 exceeds tol 0 by 5e+01 (9,15) 198 219 Abs err 21 exceeds tol 0 by 2e+01 (10,15) 164 96 Abs err 68 exceeds tol 0 by 7e+01 (11,15) 73 67 Abs err 6 exceeds tol 0 by 6 ***** xtest assert (imresize (uint8 (in), 0.5, "bilinear"), uint8 (out)) out = [103 141 124 78 110 111 134 153 114 91 115 108 93 128 146 38 124 175 143 54]; !!!!! known failure ASSERT errors for: assert (imresize (uint8 (in), 0.5, "bilinear"),uint8 (out)) Location | Observed | Expected | Reason . O(4x5) E(11x15) Dimensions don't match ***** xtest assert (imresize (uint8 (in), 0.5, "bicubic"), uint8 (out)) !!!!! known failure ASSERT errors for: assert (imresize (uint8 (in), 0.5, "bicubic"),uint8 (out)) Location | Observed | Expected | Reason . O(4x5) E(11x15) Dimensions don't match 7 tests, 3 passed, 4 known failures, 0 skipped [inst/wiener2.m] >>>>> /<>/inst/wiener2.m ***** shared im0, im0_out, im0_n im0 = ones(5,5); im0_out = ones(5,5); im0_out(1:4:5, 1:4:5) = 0.67111; im0_out(1:4:5, 2:4) = 0.78074; im0_out(2:4, 1:4:5) = 0.78074; im0_n = 0.1462; ***** error wiener2 () ***** assert (wiener2 (im0)) ***** assert (wiener2 (im0, [2, 3])) ***** assert (wiener2 (im0, 0.5)) ***** assert (wiener2 (im0, [2, 3], 0.5)) ***** error wiener2 (im0, [2, 3], 0.5, 2) ***** test [im_out, noise_out] = wiener2 (im0); assert (size (im_out), size (im0)) assert (class (noise_out), "double") assert (numel (noise_out), 1) ***** assert (wiener2 (im0), im0_out, 1e-5) ***** assert (wiener2 (single (im0)), single (im0_out), 1e-5) ***** assert (class (wiener2 (single (im0))), "single") ***** assert (wiener2 (im2uint8 (im0)), im2uint8 (im0_out)) ***** assert (class (wiener2 (im2uint8 (im0))), "uint8") ***** assert (wiener2 (im2uint16 (im0)), im2uint16 (im0_out), 1) ***** assert (class (wiener2 (im2uint16 (im0))), "uint16") ***** assert (wiener2 (im2int16 (im0)), im2int16 (im0_out), 1) ***** assert (class (wiener2 (im2int16 (im0))), "int16") ***** error wiener2 (true (5)) ***** test im_out = wiener2 (im0); assert (im_out, im0_out, 1e-4) [out, n] = wiener2 (im0); assert (out, im0_out, 1e-4) assert (n, im0_n, 1e-4) ***** test im1 = zeros (5, 5); im1(2:4, 2:4) = 1; im1_out = [ 0.1111 0.2222 0.2726 0.2222 0.1111; 0.2222 0.5911 0.7274 0.5911 0.2222; 0.2726 0.7274 1.0000 0.7274 0.2726; 0.2222 0.5911 0.7274 0.5911 0.2222; 0.1111 0.2222 0.2726 0.2222 0.1111]; im1_n = 0.1817; im1_out_55 = [ 0.1600 0.2400 0.2400 0.2400 0.1600; 0.2400 0.4667 0.4667 0.4667 0.2400; 0.2400 0.4667 0.4667 0.4667 0.2400; 0.2400 0.4667 0.4667 0.4667 0.2400; 0.1600 0.2400 0.2400 0.2400 0.1600]; im1_n_55 = 0.1920; im1_out_05 = [ 0.1111 0.2222 0.3333 0.2222 0.1111; 0.2222 0.4444 0.6667 0.4444 0.2222; 0.3333 0.6667 1.0000 0.6667 0.3333; 0.2222 0.4444 0.6667 0.4444 0.2222; 0.1111 0.2222 0.3333 0.2222 0.1111]; im1_out_55_05 = [ 0.1600 0.2400 0.2400 0.2400 0.1600; 0.2400 0.3600 0.3600 0.3600 0.2400; 0.2400 0.3600 0.3600 0.3600 0.2400; 0.2400 0.3600 0.3600 0.3600 0.2400; 0.1600 0.2400 0.2400 0.2400 0.1600]; im1_out_35 = [ 0.1333 0.2000 0.2000 0.2000 0.1333; 0.2642 0.5156 0.5156 0.5156 0.2642; 0.3230 0.6770 0.6770 0.6770 0.3230; 0.2642 0.5156 0.5156 0.5156 0.2642; 0.1333 0.2000 0.2000 0.2000 0.1333]; im1_out_51 = [ 0 0.2400 0.2400 0.2400 0 0 0.7600 0.7600 0.7600 0 0 0.7600 0.7600 0.7600 0 0 0.7600 0.7600 0.7600 0 0 0.2400 0.2400 0.2400 0]; assert (wiener2 (im1), im1_out, 1e-4) [out, n] = wiener2 (im1); assert (out, im1_out, 1e-4) assert (n, im1_n, 1e-4) assert (wiener2 (im1, [5, 5]), im1_out_55, 1e-4) [out, n] = wiener2 (im1, [5, 5]); assert (out, im1_out_55, 1e-4) assert (n, im1_n_55, 1e-4) assert (wiener2 (im1, 0.5), im1_out_05, 1e-4) assert (wiener2 (im1, [5, 5], 0.5), im1_out_55_05, 1e-4) assert (wiener2 (im1, [3, 5]), im1_out_35, 1e-4) assert (wiener2 (im1, [5, 1]), im1_out_51, 1e-4) ***** test im2 = zeros (5, 5); im2(2:4, 2:4) = 70; im2(3, 3) = 90; im2 = uint8 (im2); im2_out = uint8 ([ 8 16 20 16 8 ; 16 46 54 46 16; 20 54 72 54 20; 16 46 54 46 16; 8 16 20 16 8 ]); im2_n = 0.0146; im2_out_55 = uint8 ([ 12 18 18 18 12; 18 32 32 32 18; 18 32 35 32 18; 18 32 32 32 18; 12 18 18 18 12]); im2_n_55 = 0.0160; im2_out_03 = uint8 ([ 8 16 23 16 8 ; 16 33 49 33 16; 23 49 72 49 23; 16 33 49 33 16; 8 16 23 16 8 ]); im2_n_03 = 0.3000; [out, n] = wiener2 (im2); assert (out, im2_out) assert (n, im2_n, 1e-4) [out, n] = wiener2 (im2, [5, 5]); assert (out, im2_out_55) assert (n, im2_n_55, 1e-4) [out, n] = wiener2 (im2, 0.3); assert (out, im2_out_03) assert (n, im2_n_03, 1e-4) ***** test im3 = zeros (5, 5); im3(2:4, 2:4) = 70; im3(3, 3) = 20; im3 = uint8 (im3); im3_out = uint8 ([ 8 16 19 16 8 ; 16 32 47 32 16; 19 47 64 47 19; 16 32 47 32 16; 8 16 19 16 8 ]); im3_n = 0.0134; [out, n] = wiener2 (im3); assert (out, im3_out) assert (n, im3_n, 1e-4) ***** test im4 = 50 .* ones (5, 5); im4(:, 1) = 200; im4(:, 2) = 100; im4 = uint8 (im4); im4_out = uint8 ([ 148 90 44 33 22; 161 111 67 50 33; 161 111 67 50 33; 161 111 67 50 33; 148 90 44 33 22]); im4_n = 0.0398; [out, n] = wiener2 (im4); assert (out, im4_out) assert (n, im4_n, 1e-4) ***** test im5 = zeros (100, 100); im5(30, 30) = 1; im5_out_center = [ 0 0 0 0 0 0 0; 0 0 0 0 0 0 0; 0 0 0.0001 0.0001 0.0001 0 0; 0 0 0.0001 0.9992 0.0001 0 0; 0 0 0.0001 0.0001 0.0001 0 0; 0 0 0 0 0 0 0; 0 0 0 0 0 0 0]; im5_n = 8.8889e-5; [out, n] = wiener2 (im5); out_center = out(27:33, 27:33); assert (out_center, im5_out_center, 1e-4) assert (n, im5_n, 1e-4) ***** demo I = phantom (); J = imnoise (I, "gaussian", 0, 0.02); figure, imshow (J); title ("Image with added Gaussian noise"); K = wiener2 (J, [5 5]); figure, imshow (K); title ("Image with noise reduced by wiener2 filtering"); 23 tests, 23 passed, 0 known failure, 0 skipped [inst/ycbcr2rgb.m] >>>>> /<>/inst/ycbcr2rgb.m ***** assert (ycbcr2rgb (rgb2ycbcr (jet (10))), jet (10), 0.00001); ***** assert (class (ycbcr2rgb (single (rand (5, 5, 3)))), "single") 2 tests, 2 passed, 0 known failure, 0 skipped [inst/stretchlim.m] >>>>> /<>/inst/stretchlim.m ***** error (stretchlim ()); ***** error (stretchlim ("bad parameter")); ***** error (stretchlim (zeros (10, 10), "bad parameter")); ***** error (stretchlim (zeros (10, 10), 0.01, 2)); ***** assert (stretchlim (0.01:.01:1), [0.02; 0.99]) ***** assert (stretchlim (0.01:.01:1), stretchlim (0.01:.01:1, [0.01 0.99])) ***** assert (stretchlim (0.01:.01:1, 0.15), stretchlim (0.01:.01:1, [0.15 0.85])) ***** assert (stretchlim (0.01:.01:1, [0.01,0.95]), [0.02; 0.95], eps) ***** assert (stretchlim (0.01:.01:1, 0), [0.01; 1]) ***** test im = rand (5); assert (stretchlim (im, 0), [min(im(:)); max(im(:))]) ***** test im = rand (5, 5, 3); assert (stretchlim (im, 0), [min(im(:,:,1)(:)) min(im(:,:,2)(:)) min(im(:,:,3)(:)); max(im(:,:,1)(:)) max(im(:,:,2)(:)) max(im(:,:,3)(:))]) ***** test im = rand (5); assert (stretchlim (im, 0.03), [min(im(:)); max(im(:))]) assert (stretchlim (im, 0.0399), [min(im(:)); max(im(:))]) ***** assert (stretchlim (uint8 (1:100)), im2double (uint8 ([2; 99]))) ***** assert (stretchlim (uint8 (1:100), .25), im2double (uint8 ([26; 75]))) ***** assert (stretchlim (uint16 (1:1000)), im2double (uint16 ([11; 990]))) ***** assert (stretchlim (int16 (-100:100)), im2double (int16 ([-98; 98]))) ***** assert (stretchlim (single (0.01:.01:1)), double (single (0.01:.01:1)([2; 99])).') ***** assert (stretchlim (uint8 ([1 repmat(2, [1, 90]) 92:100]), 0.05), im2double (uint8 ([2; 95]))) ***** assert (stretchlim (uint8 ([1 repmat(2, [1 4]) 6:100]), 0.05), im2double (uint8 ([6; 95]))) ***** assert (stretchlim (uint8 ([1 repmat(2, [1 5]) 7:100]), 0.05), im2double (uint8 ([2; 95]))) ***** assert (stretchlim (uint8 ([1 repmat(2, [1 6]) 8:100]), 0.05), im2double (uint8 ([2; 95]))) ***** assert (stretchlim (uint8 ([1 repmat(2, [1 7]) 9:100]), 0.05), im2double (uint8 ([2; 95]))) ***** assert (stretchlim (uint8 ([1 repmat(2, [1 8]) 10:100]), 0.05), im2double (uint8 ([2; 95]))) ***** assert (stretchlim (uint8 ([1 repmat(2, [1 5]) repmat(3, [1 5]) 9:100]), 0.04), im2double (uint8 ([2; 96]))) ***** assert (stretchlim (uint8 ([1 repmat(2, [1 5]) repmat(3, [1 5]) 9:100]), 0.05), im2double (uint8 ([2; 95]))) ***** assert (stretchlim (uint8 ([1 repmat(2, [1 5]) repmat(3, [1 5]) 9:100]), 0.06), im2double (uint8 ([3; 94]))) ***** assert (stretchlim (uint8 ([1 repmat(2, [1 5]) repmat(3, [1 5]) 9:100]), 0.07), im2double (uint8 ([3; 93]))) ***** assert (stretchlim (uint8 ([1 repmat(2, [1 5]) repmat(3, [1 5]) 9:100]), 0.08), im2double (uint8 ([3; 92]))) ***** test RGB = zeros (100, 1, 3, "uint16"); RGB(:,:,1) = [1:1:100]; RGB(:,:,2) = [2:2:200]; RGB(:,:,3) = [4:4:400]; assert (stretchlim (RGB) , im2double (uint16 ([2 4 8; 99 198 396]))) ***** test im6c = zeros (100, 1, 6, "uint16"); im6c(:,:,1) = [1:1:100]; im6c(:,:,2) = [2:2:200]; im6c(:,:,3) = [4:4:400]; im6c(:,:,4) = [8:8:800]; im6c(:,:,5) = [16:16:1600]; im6c(:,:,6) = [32:32:3200]; assert (stretchlim (im6c) , im2double (uint16 ([2 4 8 16 32 64; 99 198 396 792 1584 3168]))) ***** test im = [0 0 .1 .1 .1 .1 .2 .2 .2 .4 .4 .6 .6 .7 .7 .9 .9 .9 1 1]; assert (stretchlim (im), [0; 1]) ## Consider the returned lower limit in this test. A lower limit ## of 0.1 will saturate two elements (10%), while 0.2 will saturate ## 6 elements (30%). Both have the same distance to 20% but returning ## 0.1 is Matlab compatible. ## Now looking at the higher limit. A limit of .9 will saturate ## 2 elements (10%), while a limit of 0.7 will saturate 5 elements (25%). ## However, for Matlab compatibility we must return .9 even though ## 25% would be closer to 20%. ## Basically, it's not just rounded. assert (stretchlim (im, .2), [0.1; 0.9]) assert (stretchlim (im, .15), [0.1; 0.9]) assert (stretchlim (im, .1), [0.1; 0.9]) assert (stretchlim (im, .25), [0.1; 0.7]) ## Reorder the vector of values (real images don't have the values ## already sorted), just to be sure it all works. im([6 3 16 11 7 17 14 8 5 19 15 1 2 4 18 13 9 20 10 12]) = im; assert (stretchlim (im, .2), [0.1; 0.9]) assert (stretchlim (im, .15), [0.1; 0.9]) assert (stretchlim (im, .1), [0.1; 0.9]) assert (stretchlim (im, .25), [0.1; 0.7]) ***** assert (stretchlim (0.01:.001:1), [0.019; 0.991], eps) ***** assert (stretchlim (0.01:.001:1, [0.01,0.95]), [0.019; 0.951], eps) ***** assert (stretchlim (0.01:.001:1, 0), [0.01; 1]) ***** assert (stretchlim (single (0.01:.001:1)), double (single (0.01:.001:1)([10; 982])).') ***** test assert (stretchlim ([(.05:.05:1) (2:4)], 0.2), [0.25; 0.95], eps) assert (stretchlim ([(.05:.05:1) (2:5)], 0.2), [0.25; 1]) assert (stretchlim ([(.05:.05:1) (2:6)], 0.2), [0.3; 1]) assert (stretchlim ([(.05:.05:1) (2:7)], 0.2), [0.3; 1]) ***** test assert (stretchlim ([(-6:0) (.05:.05:1)], 0.2), [0; 0.75], eps) assert (stretchlim ([(-5:0) (.05:.05:1)], 0.2), [0; 0.75], eps) ***** test im = rand (4, 4, 2, 3, 2); rv = zeros (2, 2, 3, 2); for p = 1:2 for q = 1:3 for r = 1:2 rv(:,p,q,r) = stretchlim (im(:,:,p,q,r), 0.25); endfor endfor endfor assert (stretchlim (im, 0.25), rv) ***** test im = rand (4, 4, 2, 3, 2); rv = zeros (2, 2, 3, 2); for p = 1:2 for q = 1:3 for r = 1:2 rv(:,p,q,r) = stretchlim (im(:,:,p,q,r), 0); endfor endfor endfor assert (stretchlim (im, 0), rv) ***** assert (stretchlim (zeros (5)), [0; 1]) ***** assert (stretchlim (ones (5)), [0; 1]) ***** assert (stretchlim (.6 * ones (5)), [0; 1]) ***** assert (stretchlim (zeros (3, 3, 3, 3)), repmat ([0; 1], [1 3 3])) ***** assert (stretchlim ([0 .5 .5 .5 .5 1], .2), [0; 1]) ***** test im = repmat ((magic (5) -1) / 24, [1 1 3 3]); im(:,:,1,1) = 0; im(:,:,2,2) = .5; im(:,:,3,3) = 1; lims = stretchlim (im, 0.2); assert (size (lims), [2 3 3]) assert (lims(:, [2 3 4 6 7 8]), repmat ([(1/24)*round(24*.2); 1-((1/24)*round(24*.2))], [1 6]), eps) assert (lims(:, [1 5 9]), repmat ([0; 1], [1 3])) 45 tests, 45 passed, 0 known failure, 0 skipped [inst/montage.m] >>>>> /<>/inst/montage.m ***** function cdata = montage_cdata (varargin) h = figure (); set (h, "visible", "off"); mh = montage (varargin{:}); cdata = get (mh, "cdata"); close (h); ***** endfunction ***** test im = uint8 (ones (2, 2, 1, 5)) .* reshape ([1 2 3 4 5], [1 1 1 5]); cdata = montage_cdata (im); expected = uint8 ([ 1 1 2 2 3 3 1 1 2 2 3 3 4 4 5 5 0 0 4 4 5 5 0 0 ]); assert (cdata, expected) ***** test im = uint8 (ones (2, 4, 1, 6)) .* reshape ([1 2 3 4 5 6], [1 1 1 6]); cdata = montage_cdata (im); expected = uint8 ([ 1 1 1 1 2 2 2 2 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 6 5 5 5 5 6 6 6 6 ]); assert (cdata, expected) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/viscircles.m] >>>>> /<>/inst/viscircles.m ***** demo centers = randi ([0 100], 5, 2); radii = randi ([10 100], 5, 1); axis equal viscircles (centers, radii, "Color", "magenta", "LineStyle", ":", "LineWidth", 5); title ("5 random circles"); #---------------------------------------------- # the figure window shows 5 circles with random # radii and positions ***** test # old undocumented property h = viscircles ([0 0], 1, "EdgeColor", "black"); assert (get (get (h, "children")(1), "color"), [0 0 0]) ***** test # old undocumented property h = viscircles ([0 0], 1, "DrawBackgroundCircle", false); assert (numel (get (h, "children")), 1) ***** error ... viscircles ([0 0], 1, "Color", "magenta", "EdgeColor", "black") ***** test centers = randi ([0 100], 5, 2); radii = randi ([0 100], 5, 1); h = viscircles (centers, radii); close; ***** test centers = randi ([0 100], 5, 2); radii = randi ([0 100], 5, 1); figure (); h = viscircles (gca (), centers, radii); close; ***** test centers = randi ([0 100], 5, 2); radii = randi ([0 100], 5, 1); h = viscircles (centers, radii, "Color", "magenta", "LineStyle", ":", "LineWidth", 5); close; ***** test centers = randi ([0 100],5,2); radii = randi ([0 100],5,1); figure (); h = viscircles (centers, radii, "Color", "magenta", "LineStyle", ":", "LineWidth", 5); close; 7 tests, 7 passed, 0 known failure, 0 skipped [inst/imgradientxy.m] >>>>> /<>/inst/imgradientxy.m ***** test A = [0 1 0 1 1 1 0 1 0]; [gxSobel, gySobel] = imgradientxy (A); [gxSobel2, gySobel2] = imgradientxy (A, "Sobel"); assert (gxSobel, [ 3 0 -3 4 0 -4 3 0 -3]); assert (gySobel, [ 3 4 3 0 0 0 -3 -4 -3]); ## test default method assert(gxSobel, gxSobel2); assert(gySobel, gySobel2); [gxPrewitt, gyPrewitt] = imgradientxy (A, "Prewitt"); assert (gxPrewitt, [ 2 0 -2 3 0 -3 2 0 -2]); assert (gyPrewitt, [ 2 3 2 0 0 0 -2 -3 -2]); [gxCd, gyCd] = imgradientxy (A, "CentralDifference"); assert (gxCd, [ 0.5 0.0 -0.5 0.5 0.0 -0.5 0.5 0.0 -0.5]); assert (gyCd, [ 0.5 0.5 0.5 0 0 0 -0.5 -0.5 -0.5]); [gxId, gyId] = imgradientxy(A, "IntermediateDifference"); assert (gxId, [ 1 -1 0 0 0 -1 1 -1 0]); assert (gyId, [ 1 0 1 -1 0 -1 0 -1 0]); 1 test, 1 passed, 0 known failure, 0 skipped [inst/im2uint8.m] >>>>> /<>/inst/im2uint8.m ***** assert (im2uint8 (uint8 ([1 2 3])), uint8 ([1 2 3])); ***** assert (im2uint8 (uint16 ([0 65535])), uint8 ([0 255])); ***** assert (im2uint8 ([0 0.5 1]), uint8 ([0 128 255])); ***** assert (im2uint8 ([1 2]), uint8 ([255 255])); ***** assert (im2uint8 ([-1 0 0.5 1 2]), uint8 ([0 0 128 255 255])); ***** assert (im2uint8 (int16 ([-32768 0 32768])), uint8 ([0 128 255])); ***** assert (im2uint8 ([false true]), uint8 ([0 255])); ***** assert (im2uint8 ([true false]), uint8 ([255 0])); ***** assert (im2uint8 ([1 256], "indexed"), uint8 ([0 255])); ***** assert (im2uint8 ([3 25], "indexed"), uint8 ([2 24])); ***** assert (im2uint8 (uint16 ([3 25]), "indexed"), uint8 ([3 25])); ***** error im2uint8 ([0 1 2], "indexed"); ***** error im2uint8 (int16 ([17 8]), "indexed"); ***** error im2uint8 (int16 ([-7 8]), "indexed"); ***** error im2uint8 ([false true], "indexed"); ***** error im2uint8 (uint16 (256), "indexed"); ***** error im2uint8 (257, "indexed"); 17 tests, 17 passed, 0 known failure, 0 skipped [inst/imtranslate.m] >>>>> /<>/inst/imtranslate.m ***** test obs = imtranslate (ones (5, 5), 2, 1, "crop"); exp = zeros (5, 5); exp(1:4, 3:5) = 1; assert (obs, exp, eps * 10) obs = imtranslate (ones (5, 5), -2, -1, "crop"); exp = zeros (5, 5); exp(2:5, 1:3) = 1; assert (obs, exp, eps * 10) 1 test, 1 passed, 0 known failure, 0 skipped [inst/imnoise.m] >>>>> /<>/inst/imnoise.m ***** assert(var(imnoise(ones(10)/2,'gaussian')(:)),0.01,0.005) # probabilistic ***** assert(length(find(imnoise(ones(10)/2,'salt & pepper')~=0.5)),5,10) # probabilistic ***** assert(var(imnoise(ones(10)/2,'speckle')(:)),0.01,0.005) # probabilistic ***** test A = imnoise (.5 * ones (100), 'poisson'); assert (class (A), 'double') ***** test A = imnoise (.5 * ones (100, 'single'), 'poisson'); assert (class (A), 'single') ***** test A = imnoise (128 * ones (100, 'uint8'), 'poisson'); assert (class (A), 'uint8') ***** test A = imnoise (256 * ones (100, 'uint16'), 'poisson'); assert (class (A), 'uint16') ***** demo A = imnoise (2^7 * ones (100, 'uint8'), 'poisson'); subplot (2, 2, 1) imshow (A) title ('uint8 image with poisson noise') A = imnoise (2^15 * ones (100, 'uint16'), 'poisson'); subplot (2, 2, 2) imshow (A) title ('uint16 image with poisson noise') A = imnoise (.5 * ones (100), 'poisson'); subplot (2, 2, 3) imshow (A) title ('double image with poisson noise') A = imnoise (.5 * ones (100, 'single'), 'poisson'); subplot (2, 2, 4) imshow (A) title ('single image with poisson noise') 7 tests, 7 passed, 0 known failure, 0 skipped [inst/imextendedmin.m] >>>>> /<>/inst/imextendedmin.m ***** shared im0, bw0_h2_out im0 = uint8 ([5 5 5 5 5; 5 4 3 4 5; 5 3 0 3 5; 5 4 3 4 5; 5 5 5 5 5]); bw0_h2_out = false (5); bw0_h2_out(3,3) = true; ***** error imextendedmin () ***** error imextendedmin (im0) ***** error imextendedmin ("hello", 2) ***** error imextendedmin (i.*im0, 2) ***** error imextendedmin (sparse (im0), 2) ***** error imextendedmin (im0, -2) ***** error imextendedmin (im0, 'a') ***** error imextendedmin (im0, ones (2)) ***** error imextendedmin (im0, 2*i) ***** assert (imextendedmin (im0, 2), bw0_h2_out) ***** assert (imextendedmin (double (im0), 2), bw0_h2_out) ***** assert (imextendedmin (im0, 2, 8), bw0_h2_out) ***** assert (imextendedmin (im0, 2, 4), bw0_h2_out) ***** assert (imextendedmin (im0, 2, true (3)), bw0_h2_out) ***** test out = imextendedmin (im0, 2); assert (size (out), size (im0)) assert (class (out), "logical") ***** test out = imextendedmin (single (im0), 2); assert (size (out), size (im0)) assert (class (out), "logical") ***** test out = imextendedmin (uint8 (im0), 2); assert (size (out), size (im0)) assert (class (out), "logical") ***** test out = imextendedmin (uint16 (im0), 2); assert (size (out), size (im0)) assert (class (out), "logical") ***** test im = cat (3, im0, im0, im0, im0); out = imextendedmin (im, 2); assert (size (out), size (im)) ***** test im = 10 .* ones (10); im(2:4, 2:4) = 7; im(6:8, 6:8) = 2; expected_4 = false (10); expected_4(6:8, 6:8) = true; expected_2 = expected_4; expected_2(2:4, 2:4) = true; out = imextendedmin (im, 4); assert (out, expected_4, eps) out = imextendedmin (0.1.*im, 0.4); assert (out, expected_4, eps) out = imextendedmin (im, 2); assert (out, expected_2, eps) ***** test im2 = 10 .* ones (10); im2(2:4, 2:4) = 7; im2(6:9, 6:9)=2; im2(5, 5)=2; im2(6, 7)=10; im2(7, 8)=10; expected_8 = false (10); expected_8(6:9, 6:9) = true; expected_8(5, 5) = true; expected_8(6, 7) = false; expected_8(7, 8) = false; expected_4 = expected_8; expected_4(2:4, 2:4) = true; out2 = imextendedmin (im2, 2); assert (out2, expected_8, eps) out2 = imextendedmin (im2, 2, 4); assert (out2, expected_4, eps) out2 = imextendedmin (im2, 2, 8); assert (out2, expected_8, eps) 21 tests, 21 passed, 0 known failure, 0 skipped [inst/mean2.m] >>>>> /<>/inst/mean2.m ***** test ## This throws a division by zero warning which Matlab does not, but ## that's because Matlab does not throw such warnings in the first ## place. Octave does, so we do not turn the warning off. warning ("off", "Octave:divide-by-zero", "local"); assert (mean2 ([]), NaN) ***** assert (mean2 (logical ([1 1; 0 0])), 0.5) ***** assert (mean2 (ones (3, 3, 3)), 1) ***** assert (mean2 (i), i) ***** assert (mean2 ([1 i]), [0.5+0.5i]) ***** assert (mean2 (speye (3)), sparse (1/3)) 6 tests, 6 passed, 0 known failure, 0 skipped [inst/imadd.m] >>>>> /<>/inst/imadd.m ***** assert (imadd (uint8 ([23 250]), uint8 ([23 250])), uint8 ([46 255])); # default to first class and truncate ***** assert (imadd (uint8 ([23 250]), 10), uint8 ([33 255])); # works adding a scalar ***** assert (imadd (uint8 ([23 250]), uint8 ([23 250]), "uint16"), uint16 ([46 500])); # defining output class works ***** assert (imadd (logical ([ 1 0]), logical ([ 1 1])), double ([ 2 1])); # return double for two logical images ***** assert (imadd (logical ([ 1 0]), logical ([ 1 1]), "logical"), logical ([ 1 1])); # this is matlab incompatible on purpose ***** fail ("imadd (uint8 ([23 250]), uint16 ([23 250]))"); # input need to have same class 6 tests, 6 passed, 0 known failure, 0 skipped [inst/rgb2lab.m] >>>>> /<>/inst/rgb2lab.m ***** assert (rgb2lab ([0 0 0]), [0, 0, 0], 1e-2) ***** assert (rgb2lab ([1 0 0]), [53.24, 80.09, 67.20], 1e-2) ***** assert (rgb2lab ([1 1 0]), [97.14, -21.55, 94.48], 1e-2) ***** assert (rgb2lab ([0 1 0]), [87.74, -86.18, 83.18], 1e-2) ***** assert (rgb2lab ([0 1 1]), [91.11, -48.09, -14.13], 1e-2) ***** assert (rgb2lab ([0 0 1]), [32.30, 79.19, -107.86], 1e-2) ***** assert (rgb2lab ([1 0 1]), [60.32, 98.24, -60.83], 1e-2) ***** assert (rgb2lab ([1 1 1]), [100, 0.00, 0.00], 1e-2) ***** assert (rgb2lab ([0.5 0.5 0.5]), [53.39, 0.00, 0.00], 1e-2) ***** assert (rgb2lab ([0.75 0 0]), [39.77, 64.51, 54.13], 1e-2) ***** assert (rgb2lab ([0.5 0 0]), [25.42, 47.91, 37.91], 1e-2) ***** assert (rgb2lab ([0.25 0 0]), [9.66, 29.68, 15.24], 1e-2) ***** assert (rgb2lab ([1 0.5 0.5]), [68.11, 48.39, 22.83], 1e-2) ***** assert (rgb2lab ([1.5 1 1]), [111.47, 43.42, 17.98], 1e-2) ***** test rgb_map = rand (64, 3); assert (lab2rgb (rgb2lab (rgb_map)), rgb_map, 2e-5); ***** test rgb_img = rand (64, 64, 3); assert (lab2rgb (rgb2lab (rgb_img)), rgb_img, 2e-5); ***** assert (rgb2lab (sparse ([0 0 1])), sparse ([32.30, 79.19, -107.86]), 1e-2) ***** assert (rgb2lab (sparse ([0 1 1])), sparse ([91.11, -48.09, -14.13]), 1e-2) ***** assert (rgb2lab (sparse ([1 1 1])), sparse ([100, 0.00, 0.00]), 1e-2) ***** assert (rgb2lab (uint8([255 255 255])), [100, 0.00, 0.00], 1e-2) ***** assert (class (rgb2lab (single([1 1 1]))), 'single') ***** error rgb2lab () ***** error rgb2lab (1,2) ***** error rgb2lab ({1}) ***** error rgb2lab (ones (2,2)) ***** test rgb = rand (16, 16, 3, 5); lab = zeros (size (rgb)); for i = 1:5 lab(:,:,:,i) = rgb2lab (rgb(:,:,:,i)); endfor assert (rgb2lab (rgb), lab) 26 tests, 26 passed, 0 known failure, 0 skipped [inst/imquantize.m] >>>>> /<>/inst/imquantize.m ***** error imquantize (rand (5), [3 4 2 5]) ***** error imquantize (rand (5), [1 2 3], "foo") ***** error imquantize (rand (5), [1 2 3 4], 1:6) ***** error imquantize (rand (5), [1 2 3 4], 1:2) ***** test img = [-inf 0 10000000; -100000 -3 1/1000000; 5 5 10]; [q, q_idx] = imquantize (img, 5); assert (q, [1 1 2; 1 1 1; 1 1 2]) assert (q_idx, q) ***** test img = [1:10; 11:20; 21:30; 31:40; 41:50; 51:60; 61:70]; expected_q = [ 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 20 20 20 20 20 20 20 20 20 20 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 15 15 15 15 15 15 15 15 15 15]; expected_q_idx = [ 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7]; [q, q_idx] = imquantize (img, [5 15 25 30 40 60], [0 1 5 10 20 30 15]); assert (q, expected_q) assert (q_idx, expected_q_idx) [q, q_idx] = imquantize (single (img), [5 15 25 30 40 60], [0 1 5 10 20 30 15]); assert (q, expected_q) assert (q_idx, expected_q_idx) [q, q_idx] = imquantize (uint8 (img), [5 15 25 30 40 60], [0 1 5 10 20 30 15]); assert (q, expected_q) assert (q_idx, expected_q_idx) [q, q_idx] = imquantize (uint8 (img), uint8 ([5 15 25 30 40 60]), [0 1 5 10 20 30 15]); assert (q, expected_q) assert (q_idx, expected_q_idx) [q, q_idx] = imquantize (uint8 (img), uint8 ([5 15 25 30 40 60]), uint8 ([0 1 5 10 20 30 15])); assert (q, uint8 (expected_q)) assert (q_idx, expected_q_idx) ***** test img = randi ([0 255], 10, "uint8"); [q, q_idx] = imquantize (img, [50 100 150 200]); assert (class (q), "double") assert (class (q_idx), "double") [q, q_idx] = imquantize (img, [50 100 150 200], uint16 ([5 7 8 9 2])); assert (class (q), "uint16") assert (class (q_idx), "double") [q, q_idx] = imquantize (img, [50 100 150 200], uint8 ([5 7 8 9 2])); assert (class (q), "uint8") assert (class (q_idx), "double") ***** test img = [1:10; 11:20; 21:30; 31:40; 41:50; 51:60; 61:70].'; r_idx = reshape (randperm (numel (img)), size (img)); [quant, quant_idx] = imquantize (img, [5 15 25 30 40 60]); [quant_r, quant_r_idx] = imquantize (img(r_idx), [5 15 25 30 40 60]); assert (imquantize (img(r_idx), [5 15 25 30 40 60]), quant(r_idx)) assert (quant_r, quant_r_idx) 8 tests, 8 passed, 0 known failure, 0 skipped [inst/imbothat.m] >>>>> /<>/inst/imbothat.m ***** assert (imbothat (ones (3), [1 1; 0 1]), zeros (3)); ***** assert (imbothat (true (3), [1 1; 0 1]), false (3)); ***** shared in, out, se in = [ 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0]; out = [ 1 1 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0]; ***** assert (imbothat (logical (in), ones (3)), logical (out)); out = [ 7 0 15 8 1 6 0 13 6 24 0 8 9 2 0 0 16 7 0 23 89 7 0 41 39 7 12 7 0 23 8 1 69 40 58 1 6 2 0 43 7 0 63 59 52 0 0 0 14 32 62 55 6 7 0 7 0 23 16 1 56 74 0 2 0 0 16 14 7 0 0 73 69 0 0 19 15 8 1 0 8 6 0 0 6 13 9 2 0 6 7 0 0 19 0 14 7 0 23 0]; ***** assert (imbothat (magic (10), ones (3)), out); ***** assert (imbothat (uint8 (magic (10)), strel ("square", 3)), uint8 (out)); ## using a se that will be decomposed in 2 pieces out =[ 7 0 87 66 59 7 0 19 12 30 0 13 81 60 58 1 19 13 6 29 89 12 0 54 52 20 18 7 0 23 8 6 69 53 71 14 12 2 0 43 7 0 63 73 66 14 7 0 23 41 76 69 14 7 0 30 23 46 39 7 70 88 9 2 0 24 42 40 33 6 14 87 80 0 0 43 41 34 27 0 84 82 0 0 19 37 35 28 26 19 89 82 0 20 13 36 29 22 45 13]; ***** assert (imbothat (magic (10), ones(5)), out); ## using a weird non-symmetric and even-size se out =[ 0 0 15 8 1 3 0 7 0 18 0 8 53 59 0 0 14 13 0 17 84 0 0 40 38 6 13 6 0 23 2 0 42 47 58 0 6 0 0 41 0 0 62 59 52 0 0 0 16 35 6 58 13 6 0 3 19 19 35 1 0 18 0 0 0 0 15 13 6 0 0 17 69 0 0 17 17 8 0 0 8 67 0 0 0 15 9 2 0 6 7 0 0 17 10 42 7 0 19 0]; ***** assert (imbothat (magic (10), [1 0 0 0; 1 1 1 0; 0 1 0 1]), out); ## N dimensional and weird se in = reshape (magic(16), [4 8 4 2]); se = ones (3, 3, 3); se(:,:,1) = [1 0 1; 0 1 1; 0 0 0]; se(:,:,3) = [1 0 1; 0 1 1; 0 0 1]; out = zeros (size (in)); out(:,:,1,1) = [ 0 17 81 145 237 146 64 0 205 128 64 0 0 37 83 147 175 111 47 0 0 64 117 181 0 64 128 209 173 109 45 0]; out(:,:,2,1) = [ 235 142 78 18 0 23 69 133 0 35 103 163 215 128 46 0 0 64 128 195 183 123 48 0 153 93 43 0 14 78 146 215]; out(:,:,3,1) = [ 0 25 89 153 229 142 64 0 201 128 64 0 0 41 91 155 167 103 57 0 0 64 125 189 0 64 146 217 165 101 37 0]; out(:,:,4,1) = [ 227 142 78 14 0 31 77 141 0 43 107 171 211 128 46 0 0 64 128 203 179 115 48 0 149 99 35 0 18 82 146 223]; out(:,:,1,2) = [ 0 33 97 161 221 146 64 0 189 125 61 0 0 53 99 163 159 95 31 0 0 64 128 197 0 64 128 225 157 93 29 0]; out(:,:,2,2) = [ 219 142 78 18 0 39 85 149 0 51 119 179 199 128 46 0 0 64 128 211 167 107 43 0 137 77 27 0 14 78 146 231]; out(:,:,3,2) = [ 0 41 105 169 213 142 64 0 185 121 64 0 0 57 107 171 151 87 41 0 0 64 128 205 0 64 146 233 149 85 21 0]; out(:,:,4,2) = [ 211 142 78 14 0 47 93 157 0 59 123 187 195 128 46 0 0 64 128 219 163 99 35 0 133 83 19 0 18 82 146 239]; ***** assert (imbothat (in, se), out); 8 tests, 8 passed, 0 known failure, 0 skipped [inst/imclearborder.m] >>>>> /<>/inst/imclearborder.m ***** test a = logical ([ 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 1 0 0 0 1 0]); a4 = logical ([ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]); a8 = logical ([ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]); assert (imclearborder (a, 4), a4) assert (imclearborder (a, [0 1 0; 1 1 1; 0 1 0]), a4) assert (imclearborder (a), a8) assert (imclearborder (a, 8), a8) assert (imclearborder (a, ones (3)), a8) ***** test a = false (5, 5, 3); a(2:4,2:4,:) = true; assert (imclearborder (a, 4), a) a(1,2) = true; a4 = a; a4(:,:,1) = false; assert (imclearborder (a, 4), a4) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/isind.m] >>>>> /<>/inst/isind.m ***** assert (isind ([]), false); ***** assert (isind (1:10), true); ***** assert (isind (0:10), false); ***** assert (isind (1), true); ***** assert (isind (0), false); ***** assert (isind ([1.3 2.4]), false); ***** assert (isind ([1 2; 3 4]), true); ***** assert (isind (randi (100, 10, 10, 1, 4)), true); ***** assert (isind (randi (100, 10, 10, 3, 4)), false); ***** assert (isind (randi (100, 10, 10, 1, 4, 2)), false); 10 tests, 10 passed, 0 known failure, 0 skipped [inst/nlfilter.m] >>>>> /<>/inst/nlfilter.m ***** demo ## creates a "wide" diagonal (although it can be performed more ## efficiently with "imdilate (A, true (3))") nlfilter (eye (10), [3 3], @(x) any (x(:) > 0)) ***** assert (nlfilter (eye (4), [2 3], @(x) sum (x(:))), [2 2 1 0 1 2 2 1 0 1 2 2 0 0 1 1]); ***** assert (nlfilter (eye (4), "indexed", [2 3], @(x) sum (x(:))), [4 2 1 2 3 2 2 3 2 1 2 4 4 3 4 5]); ***** assert (nlfilter (eye (4), "indexed", [2 3], @(x, y) sum (x(:)) == y, 2), logical ([0 1 0 1 0 1 1 0 1 0 1 0 0 0 0 0])); ***** assert (nlfilter (uint8 (eye (4)), "indexed", [2 3], @(x) sum (x(:))), [2 2 1 0 1 2 2 1 0 1 2 2 0 0 1 1]); ***** assert (nlfilter (int16 (eye (4)), "indexed", [2 3], @(x) sum (x(:))), [4 2 1 2 3 2 2 3 2 1 2 4 4 3 4 5]); ***** assert (nlfilter (uint8 (eye (4)), "indexed", [2 3], @(x) int8 (sum (x(:)))), int8 ([2 2 1 0 1 2 2 1 0 1 2 2 0 0 1 1])); ***** test a = randi (10, 20, 20, 20); ## extra dimensions on matrix only assert (nlfilter (a, [5 5], @(x) max(x(:))), imdilate (a, ones (5))) ## extra dimensions on both matrix and block assert (nlfilter (a, [5 5 5], @(x) max(x(:))), imdilate (a, ones ([5 5 5]))) ## extra dimensions and padding assert (nlfilter (a, [3 7], @(x) max(x(:))), imdilate (a, ones ([3 7]))) assert (nlfilter (a, [3 7 3], @(x) max(x(:))), imdilate (a, ones ([3 7 3]))) ***** xtest a = randi (10, 15, 15, 4, 8, 3); assert (nlfilter (a, [3 4 7 5], @(x) max(x(:))), imdilate (a, ones ([3 4 7 5]))) ***** test a = randi (10, 15, 15, 4, 3, 8); ord = ordfiltn (a, 3, ones ([3 7 3 1 5])); assert (nlfilter (a, [3 7 3 1 5], @(x) sort (x(:))(3)), ord) assert (nlfilter (a, [3 7 3 1 5], @(x, y) sort (x(:))(y), 3), ord) 9 tests, 9 passed, 0 known failure, 0 skipped [inst/ntsc2rgb.m] >>>>> /<>/inst/ntsc2rgb.m ***** shared trans trans = [ 1.0, 1.0, 1.0; 0.95617, -0.27269, -1.10374; 0.62143, -0.64681, 1.70062 ]; ***** assert (ntsc2rgb ([.299 .596 .211]), [1 0 0], 1e-5) ***** assert (ntsc2rgb ([.587 -.274 -.523]), [0 1 0], 1e-5) ***** assert (ntsc2rgb ([.114 -.322 .312]), [0 0 1], 1e-5) ***** test rgb_map = rand (64, 3); assert (ntsc2rgb (rgb2ntsc (rgb_map)), rgb_map, 1e-3); ***** test rgb_img = rand (64, 64, 3); assert (ntsc2rgb (rgb2ntsc (rgb_img)), rgb_img, 1e-3); ***** assert (ntsc2rgb ([1.5 0 0]), [1 1 1]) ***** test ntsc = [0.4229 0.0336 0.7184]; rgb = ntsc * trans; # [0.9014 -0.0509 1.6075] rgb(1) /= rgb(3); # scaled based on the maximum rgb(2) = 0; # cut to 0 rgb(3) = 1; # cut to 1 assert (ntsc2rgb (ntsc), rgb); ***** test ntsc = [0.8229 0.3336 0.7184]; rgb = ntsc * trans; # [1.58831 0.26726 1.67642] rgb /= rgb(3); assert (ntsc2rgb (ntsc), rgb); ***** test ntsc = [0.4229 0.0336 0.7184 0.8229 0.3336 0.7184]; rgb = ntsc * trans; # [0.9014 -0.0509 1.6075; 1.58831 0.26726 1.67642] rgb(1,1) /= rgb(1,3); rgb(1,2) = 0; rgb(1,3) = 1; rgb(2,:) /= rgb(2,3); assert (ntsc2rgb (ntsc), rgb); ***** error ntsc2rgb () ***** error ntsc2rgb (1,2) ***** error ntsc2rgb (uint8 (1)) ***** error ntsc2rgb (ones (2,2)) ***** error ntsc2rgb (ones ([10 10 3], "uint8")) ***** error ntsc2rgb (ones ([10 10 3], "uint16")) ***** error ntsc2rgb (ones ([10 10 3], "int16")) ***** test yiq = rand (16, 16, 3, 5); rgb = zeros (size (yiq)); for i = 1:5 rgb(:,:,:,i) = ntsc2rgb (yiq(:,:,:,i)); endfor assert (ntsc2rgb (yiq), rgb); ***** test rgb = ntsc2rgb (rand (10, 10, 3)); assert (class (rgb), "double"); assert (size (rgb), [10 10 3]); ***** test rgb = ntsc2rgb (rand (10, 10, 3, "single")); assert (class (rgb), "single"); assert (size (rgb), [10 10 3]); ***** test ntsc = (rand (10, 10, 3) * 3 ) - 0.5; # values outside range [0 1] rgb = ntsc2rgb (ntsc); assert (class (rgb), "double"); assert (size (rgb), [10 10 3]); ***** test ntsc = (rand (10, 10, 3, "single") * 3 ) - 0.5; # values outside range [0 1] rgb = ntsc2rgb (ntsc); assert (class (rgb), "single"); assert (size (rgb), [10 10 3]); ***** test ntsc_double = reshape ([.299 .587 .114 0 .596 -.274 -.322 0 .211 -.523 .312 0], [2 2 3]); expected = reshape ([1 0 0 0 0 1 0 0 0 0 1 0], [2 2 3]); assert (ntsc2rgb (ntsc_double), expected, 1e-5); assert (ntsc2rgb (single (ntsc_double)), single (expected), 1e-5); 22 tests, 22 passed, 0 known failure, 0 skipped [inst/im2uint16.m] >>>>> /<>/inst/im2uint16.m ***** assert (im2uint16 (uint16 ([1 2 3])), uint16 ([1 2 3])); ***** assert (im2uint16 (uint8 ([0 127 128 255])), uint16 ([0 32639 32896 65535])); ***** assert (im2uint16 ([0 0.5 1]), uint16 ([0 32768 65535])); ***** assert (im2uint16 ([0 1/65535 1.4/65535 1.5/65535 1]), uint16 ([0 1 1 2 65535])); ***** assert (im2uint16 ([1 2]), uint16 ([65535 65535])); ***** assert (im2uint16 ([-1 0 0.5 1]), uint16 ([0 0 32768 65535])); ***** assert (im2uint16 (int16 ([-32768 -1 0 32768])), uint16 ([0 32767 32768 65535])); ***** assert (im2uint16 ([false true]), uint16 ([0 65535])); ***** assert (im2uint16 ([true false]), uint16 ([65535 0])); ***** assert (im2uint16 (uint8 ([3 25]), "indexed"), uint16 ([3 25])); ***** assert (im2uint16 ([1 3 25], "indexed"), uint16 ([0 2 24])); ***** error im2uint16 ([0 1 2], "indexed"); ***** error im2uint16 (int16 ([17 8]), "indexed"); ***** error im2uint16 (int16 ([-7 8]), "indexed"); ***** error im2uint16 ([false true], "indexed"); ***** error im2uint16 (65537, "indexed"); 16 tests, 16 passed, 0 known failure, 0 skipped [inst/stdfilt.m] >>>>> /<>/inst/stdfilt.m ***** test im = stdfilt (ones (5)); assert (im, zeros (5)); 1 test, 1 passed, 0 known failure, 0 skipped [inst/rgb2ntsc.m] >>>>> /<>/inst/rgb2ntsc.m ***** assert (rgb2ntsc ([1 0 0]), [.299 .596 .211]) ***** assert (rgb2ntsc ([0 1 0]), [.587 -.274 -.523]) ***** assert (rgb2ntsc ([0 0 1]), [.114 -.322 .312]) ***** test rgb_map = rand (64, 3); assert (ntsc2rgb (rgb2ntsc (rgb_map)), rgb_map, 1e-3); ***** test rgb_img = rand (64, 64, 3); assert (ntsc2rgb (rgb2ntsc (rgb_img)), rgb_img, 1e-3); assert (rgb2ntsc ([1.5 1 1]), [1.149 0.298 0.105], 1e-3); ***** error rgb2ntsc () ***** error rgb2ntsc (1,2) ***** error rgb2ntsc ({1}) ***** error rgb2ntsc (ones (2,2)) ***** test rgb = rand (16, 16, 3, 5); yiq = zeros (size (rgb)); for i = 1:5 yiq(:,:,:,i) = rgb2ntsc (rgb(:,:,:,i)); endfor assert (rgb2ntsc (rgb), yiq); ***** test ntsc = rgb2ntsc (rand (10, 10, 3)); assert (class (ntsc), "double"); assert (size (ntsc), [10 10 3]); ***** test ntsc = rgb2ntsc (rand (10, 10, 3, "single")); assert (class (ntsc), "single"); assert (size (ntsc), [10 10 3]); ***** test rgb = (rand (10, 10, 3) * 3 ) - 0.5; # values outside range [0 1] ntsc = rgb2ntsc (rgb); assert (class (ntsc), "double"); assert (size (ntsc), [10 10 3]); ***** test rgb = (rand (10, 10, 3, "single") * 3 ) - 0.5; # values outside range [0 1] ntsc = rgb2ntsc (rgb); assert (class (ntsc), "single"); assert (size (ntsc), [10 10 3]); ***** test ntsc = rgb2ntsc (randi ([0 255], 10, 10, 3, "uint8")); assert (class (ntsc), "double"); assert (size (ntsc), [10 10 3]); ***** test ntsc = rgb2ntsc (randi ([0 65535], 10, 10, 3, "uint16")); assert (class (ntsc), "double"); assert (size (ntsc), [10 10 3]); ***** test ntsc = rgb2ntsc (randi ([-128 127], 10, 10, 3, "int8")); assert (class (ntsc), "double"); assert (size (ntsc), [10 10 3]); ***** test rgb_double = reshape ([1 0 0 0 0 1 0 0 0 0 1 0], [2 2 3]); rgb_uint8 = reshape (uint8 ([255 0 0 0 0 255 0 0 0 0 255 0]), [2 2 3]); rgb_int16 = int16 (double (rgb_double * uint16 (65535)) -32768); expected = reshape ([.299 .587 .114 0 .596 -.274 -.322 0 .211 -.523 .312 0], [2 2 3]); assert (rgb2ntsc (rgb_double), expected); assert (rgb2ntsc (rgb_uint8), expected); assert (rgb2ntsc (single (rgb_double)), single (expected)); 18 tests, 18 passed, 0 known failure, 0 skipped [inst/imregionalmax.m] >>>>> /<>/inst/imregionalmax.m ***** test a = [ 7 3 9 3 10 3 4 2 3 10 1 3 1 4 6 9 4 10 8 7 9 3 4 8 5 9 3 3 8 9 3 6 9 4 1 10]; a4 = [ 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1]; assert (imregionalmax (a, 4), logical (a4)) a8 = [ 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]; assert (imregionalmax (a, 8), logical (a8)) assert (imregionalmax (a), logical (a8)) ***** test ## test float input images im0 = peaks (); im1 = im0 ./ 100; max_pos_expected = [1000; 1214; 1691; 2353]; max0 = imregionalmax (im0); max0_pos = find (max0); max1 = imregionalmax (im1); assert (max1, max0) assert (max0_pos, max_pos_expected) 2 tests, 2 passed, 0 known failure, 0 skipped [inst/imfill.m] >>>>> /<>/inst/imfill.m ***** test I = uint8 (5.*[1 1 1; 1 0 1; 1 1 1]); bw = logical ([1 1 1; 1 0 1; 1 1 1]); I2 = uint8 (5.*ones (3)); bw2 = logical (ones (3)); assert (imfill (int8 (I)), int8 (I2)) assert (imfill (int16 (I)), int16 (I2)) assert (imfill (int32 (I)), int32 (I2)) assert (imfill (int64 (I)), int64 (I2)) assert (imfill (uint8 (I)), uint8 (I2)) assert (imfill (uint16 (I)), uint16 (I2)) assert (imfill (uint32 (I)), uint32 (I2)) assert (imfill (uint64 (I)), uint64 (I2)) assert (imfill (single (I)), single (I2)) assert (imfill (double (I)), double (I2)) assert (imfill (bw, "holes"), bw2) assert (imfill (uint8 (bw)), uint8 (bw2)) ***** error imfill (i + ones (3, 3)); # complex input ***** error imfill (sparse (double (I))); # sparse input ***** error imfill (); ***** error imfill (true (3), 4, "holes", 5) ***** error imfill (false (3), ones (2, 3)) ***** error imfill (false (3), ones (2, 3), 4) ***** error imfill (false (3)) ***** error imfill (false (3), 0, 4) ***** warning bw = logical ([1 1 1; 1 0 1; 1 1 1]); assert (imfill (bw, [5 5]), bw) assert (imfill (bw, 15), bw) bw = repmat (bw, [1 1 3]); assert (imfill (bw, 30), bw) assert (imfill (bw, [2 2 5]), bw) ***** test bw = logical ([1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0]); bw2 = logical ([1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 1 0 0 0 1 1 1 0 1 0 0 0 1 1 1 0]); bw3 = logical ([1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0]); assert (imfill (bw, "holes"), bw2) assert (imfill (bw, 8, "holes"), bw2) assert (imfill (bw, 4, "holes"), bw2) assert (imfill (bw, [3 3]), bw3) assert (imfill (bw, 19), bw3) assert (imfill (bw, [3 3], 4), bw3) assert (imfill (bw, 19, 4), bw3) assert (imfill (bw, [3 3], 8), bw2) assert (imfill (bw, 19, 8), bw2) assert (imfill (bw, [19; 20]), bw3) assert (imfill (bw, [19; 20], 4), bw3) assert (imfill (bw, [19; 20], 8), bw2) ***** warning bw = logical ([1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1]); bw44 = logical ([1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 1 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1]); bw9 = logical ([1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]); assert (imfill (bw, "holes"), logical (ones (7))) assert (imfill (bw, [4 4]), bw44) assert (imfill (bw, 9), bw9) assert (imfill (bw, [4 4; 10 10]), bw44) ***** test bw = logical ([1 1 0 1 1]); assert (imfill (bw, "holes"), bw) bw = logical([1 1 0 1 1; 1 1 1 1 1]); assert (imfill (bw, "holes"), bw) ***** test I = zeros (5); I(:, [2 4]) = 1; I2_expected = [0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0]; I2 = imfill (I, [0 0 0; 1 1 1; 0 0 0], "holes"); assert (I2, I2_expected) ***** test I = zeros (5); I(:, [2 4]) = 1; I2_expected = I; I2 = imfill (I, [0 1 0; 0 1 0; 0 1 0], "holes"); assert (I2, I2_expected) ***** test # this test is Matlab compatible I = zeros (5); I(:, [2 4]) = 1; I2_expected = inf .* ones (5); I2 = imfill (I, [0 0 0; 0 1 0; 0 0 0], "holes"); assert (I2, I2_expected) ***** test I = false (5); I(:, [2 4]) = true; I2_expected = true (5); I2 = imfill (I, [0 0 0; 0 1 0; 0 0 0], "holes"); assert (I2, I2_expected) ***** test I = uint8 ([10 20 80 85 20 15 90 03 25 88 05 85 02 50 83 90 04 03 80 80 10 81 83 85 30]); I2 = uint8 ([10 20 80 85 20 15 90 80 80 88 05 85 80 80 83 90 80 80 80 80 10 81 83 85 30]); I3 = uint8 ([10 20 80 85 20 15 90 05 25 88 05 85 05 50 83 90 05 05 80 80 10 81 83 85 30]); assert (imfill (I), I2) assert (imfill (I, 4), I2) assert (imfill (I, 4, "holes"), I2) assert (imfill (I, 8), I3) assert (imfill (I, "holes"), I2) ***** test v_line = [0 1 0; 0 1 0; 0 1 0]; h_line = [0 0 0; 1 1 1; 0 0 0]; im = [0 1 0 0 1 0]; assert (imfill (im, h_line, "holes"), [0 1 1 1 1 0]) assert (imfill (im, v_line, "holes"), [0 1 0 0 1 0]) assert (imfill (im', h_line, "holes"), [0 1 0 0 1 0]') assert (imfill (im', v_line, "holes"), [0 1 1 1 1 0]') im = repmat (im, [1 1 5]); assert (imfill (im, h_line, "holes"), repmat ([0 1 1 1 1 0], [1 1 5])) assert (imfill (im, v_line, "holes"), im) im = permute (im, [2 1 3]); assert (imfill (im, h_line, "holes"), im) assert (imfill (im, v_line, "holes"), repmat ([0 1 1 1 1 0]', [1 1 5])) ***** test im = logical ([0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0]); fi = logical ([0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0]); assert (imfill (cat (3, im, im, im), 8, 'holes'), cat (3, fi, fi, fi)) assert (imfill (cat (3, im, im, im), 'holes'), cat (3, im, im, im)) assert (imfill (cat (3, fi, im, fi), 'holes'), cat (3, fi, fi, fi)) ***** test emp = false (5, 6); im = logical ([0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0 0]); fi = logical ([0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0]); fi1 = logical ([0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 0 1 0 1 1 1 1 0 0 0 0 0 0 0]); fi2 = logical ([0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0]); assert (imfill (cat (3, im, im, im), [3 3 2]), cat (3, fi1, fi1, fi1)) assert (imfill (cat (3, im, im, im), [3 5 2]), cat (3, fi2, fi2, fi2)) assert (imfill (cat (3, im, im, im), [3 3 2; 3 5 2]), cat (3, fi, fi, fi)) assert (imfill (cat (3, emp, im, emp), [3 3 2]), true (5, 6, 3)) 21 tests, 21 passed, 0 known failure, 0 skipped Checking C++ files ... [src/bwdist.cc] >>>>> /<>/src/bwdist.cc ***** shared bw bw = [0 1 0 1 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 1]; ***** test out = [ 1.00000 0.00000 1.00000 0.00000 1.00000 0.00000 0.00000 1.00000 1.41421 1.00000 1.00000 0.00000 0.00000 1.00000 1.00000 1.41421 2.23607 2.00000 1.00000 0.00000 0.00000 1.00000 2.00000 2.00000 2.00000 1.41421 1.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.41421 1.00000 0.00000 1.00000 1.00000 1.00000 0.00000 1.00000 2.00000 1.00000 0.00000 0.00000]; out = single (out); assert (bwdist (bw), out, 0.0001); # default is euclidean assert (bwdist (bw, "euclidean"), out, 0.0001); assert (bwdist (logical (bw), "euclidean"), out, 0.0001); ***** test out = [ 1 0 1 0 1 0 0 1 1 1 1 0 0 1 1 1 2 2 1 0 0 1 2 2 2 1 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 2 1 0 0]; out = single (out); assert (bwdist (bw, "chessboard"), out); ***** test out = [ 1 0 1 0 1 0 0 1 2 1 1 0 0 1 1 2 3 2 1 0 0 1 2 2 2 2 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 2 1 0 1 1 1 0 1 2 1 0 0]; out = single (out); assert (bwdist (bw, "cityblock"), out); ***** test out = [ 1.00000 0.00000 1.00000 0.00000 1.00000 0.00000 0.00000 1.00000 1.41421 1.00000 1.00000 0.00000 0.00000 1.00000 1.00000 1.41421 2.41421 2.00000 1.00000 0.00000 0.00000 1.00000 2.00000 2.00000 2.00000 1.41421 1.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.41421 1.00000 0.00000 1.00000 1.00000 1.00000 0.00000 1.00000 2.00000 1.00000 0.00000 0.00000]; out = single (out); assert (bwdist (bw, "quasi-euclidean"), out, 0.0001); bw(logical (bw)) = 3; # there is no actual check if matrix is binary or 0 and 1 assert (bwdist (bw, "quasi-euclidean"), out, 0.0001); bw(logical (bw)) = -2; # anything non-zero is considered object assert (bwdist (bw, "quasi-euclidean"), out, 0.0001); ***** test bw = [ 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1]; dist = [ 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0]; dist = single (dist); c = [ 1 5 9 13 13 21 25 29 33 2 6 10 14 14 22 26 30 34 3 7 10 15 19 23 27 31 35 8 8 12 16 20 24 28 32 36]; c = uint32 (c); [dout, cout] = bwdist (bw, "euclidean"); assert (dout, dist) assert (cout, c) ***** test bw = [ 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0]; out = single ([ 1.00000 0.00000 0.00000 1.00000 2.00000 1.00000 0.00000 1.00000 1.00000 1.00000 1.00000 sqrt(2) sqrt(2)+1 sqrt(2) 1.00000 sqrt(2) 0.00000 0.00000 1.00000 2.00000 2.00000 sqrt(2) 1.00000 sqrt(2) 1.00000 1.00000 sqrt(2) sqrt(2) 1.00000 1.00000 0.00000 1.00000 2.00000 2.00000 2.00000 1.00000 0.00000 1.00000 1.00000 0.00000 1.00000 sqrt(2) 2.00000 sqrt(2) 1.00000 sqrt(2) sqrt(2) 1.00000 0.00000 1.00000 1.00000 sqrt(2) sqrt(2) 1.00000 1.00000 sqrt(2) 1.00000 1.00000 0.00000 1.00000 1.00000 0.00000 0.00000 1.00000 ]); assert (bwdist (bw, "quasi-euclidean"), out); ***** error bwdist (bw, "not a valid method"); 7 tests, 7 passed, 0 known failure, 0 skipped [src/hough_line.cc] >>>>> /<>/src/hough_line.cc ***** test I = zeros(100, 100); I(1,1) = 1; I(100,100) = 1; I(1,100) = 1; I(100, 1) = 1; I(50,50) = 1; [J, R] = houghtf(I); J = J / max(J(:)); assert(size(J) == [length(R) 181]); ***** demo I = zeros(100, 150); I(30,:) = 1; I(:, 65) = 1; I(35:45, 35:50) = 1; for i = 1:90, I(i,i) = 1;endfor I = imnoise(I, 'salt & pepper'); imshow(I); J = houghtf(I); J = J / max(J(:)); imshow(J, bone(128), 'truesize'); 1 test, 1 passed, 0 known failure, 0 skipped [src/__spatial_filtering__.cc] >>>>> /<>/src/__spatial_filtering__.cc ***** shared a, domain, s, out a = [ 82 2 97 43 79 43 41 65 51 11 60 65 21 56 94 77 36 38 75 39 32 68 78 1 16 75 76 90 81 56 43 90 82 41 36 1 87 19 18 63 63 64 2 48 18 43 38 25 22 99 12 46 90 79 3 92 39 79 10 22 38 98 11 10 40 90 88 38 4 76 54 37 9 4 33 98 36 47 53 57 38 76 82 50 14 74 64 99 7 33 88 96 41 62 84 89 97 23 41 3]; domain = ones (3); s = zeros (3); out = [ 2 1 1 1 16 36 36 11 21 1 1 1 1 1 18 18 2 1 1 1 1 1 18 18 2 2 2 1 1 1 10 10 2 2 2 3 3 25 4 4 9 4 3 3 3 36 4 4 9 4 4 4 14 36 4 4 9 4 4 4 14 23 7 3]; ***** assert (__spatial_filtering__ (a, domain, "min", s), out); ***** assert (__spatial_filtering__ (a, domain, "ordered", s, 1), out); out = [ 97 97 97 94 94 90 90 90 90 90 94 94 94 90 90 90 90 90 82 75 87 90 90 99 90 90 90 92 92 92 87 99 98 98 90 92 92 92 88 99 98 98 90 98 98 98 88 79 98 98 82 98 98 99 99 99 96 96 84 98 98 99 99 99]; ***** assert (__spatial_filtering__ (a, domain, "max", s), out); ***** assert (__spatial_filtering__ (a, domain, "ordered", s, nnz (domain)), out); out = [ 60 43 43 43 43 43 51 51 60 56 36 36 36 38 38 39 63 48 18 18 36 38 25 25 46 48 36 36 36 38 22 22 38 46 11 40 39 39 25 22 37 11 10 33 39 47 38 38 38 11 11 33 40 64 38 38 41 41 33 50 64 64 41 33]; ***** assert (__spatial_filtering__ (a, domain, "ordered", s, 4), out); out = [ 31.223 33.788 35.561 31.011 26.096 20.630 20.403 24.712 23.428 29.613 32.376 34.002 33.593 32.470 29.605 26.333 27.834 32.890 29.903 24.207 30.083 32.497 31.898 32.600 32.027 28.995 33.530 31.002 32.241 32.004 27.501 32.070 34.682 36.030 33.046 33.745 32.509 27.352 28.607 34.180 32.709 37.690 32.992 40.036 34.456 26.656 27.685 26.863 30.971 36.227 25.775 34.873 29.917 25.269 32.292 30.410 29.135 31.626 30.056 33.594 30.814 28.853 30.917 29.120]; ***** assert (__spatial_filtering__ (a, domain, "std", s), out, 0.001); out = [ 95 96 96 93 78 54 54 79 69 89 93 93 93 89 72 72 88 89 81 74 86 89 72 81 88 88 88 91 91 91 77 89 96 96 88 89 89 67 84 95 89 94 87 95 95 62 84 75 89 94 78 94 84 63 95 95 87 92 80 94 84 76 92 96]; ***** assert (__spatial_filtering__ (a, domain, "range", s), out); domain = [ 1 1 0 0 1 1 0 1 0]; out = [ 2 2 1 16 36 36 38 39 60 1 1 16 1 36 19 18 32 2 1 1 1 19 18 18 2 2 18 3 1 1 19 10 46 2 2 3 18 38 10 4 11 9 4 3 3 36 4 4 9 4 4 10 36 36 38 4 37 9 4 4 33 36 7 7]; ***** assert (__spatial_filtering__ (a, domain, "min", s), out); ***** assert (__spatial_filtering__ (a, domain, "ordered", s, 1), out); out = [ 82 97 97 94 79 76 90 81 90 82 56 94 94 90 90 81 90 82 78 36 87 87 90 90 90 90 82 43 92 87 87 99 98 90 79 92 92 88 79 25 98 90 90 90 98 92 79 79 98 98 50 98 98 90 99 57 96 82 62 84 98 99 99 53]; ***** assert (__spatial_filtering__ (a, domain, "max", s), out); ***** assert (__spatial_filtering__ (a, domain, "ordered", s, nnz (domain)), out); out = [ 68 78 94 79 77 43 75 75 78 78 41 75 77 87 81 75 82 78 48 18 75 76 76 81 64 90 79 41 43 39 79 22 90 79 48 48 90 79 38 22 46 46 79 79 92 88 47 76 76 82 33 40 90 88 88 53 82 50 50 74 89 98 47 47]; ***** assert (__spatial_filtering__ (a, domain, "ordered", s, 4), out); out = [ 34.2389 39.2772 39.6699 31.6812 20.7364 16.5439 22.2419 17.2395 11.9248 36.3084 21.6217 30.8350 36.4047 21.6726 30.9144 26.1017 22.2980 33.2746 27.5808 14.5017 36.8890 29.0259 34.6020 33.2521 32.2490 37.9579 26.9685 17.1959 32.5346 31.3847 33.5976 36.8280 21.3354 40.1833 34.0044 33.9882 32.9894 24.1102 25.6613 9.0995 35.4641 35.3794 39.0871 35.4753 39.9775 28.7193 26.7451 35.6553 35.2179 45.3398 19.3210 35.2987 28.4042 24.0832 26.8421 25.0539 23.4307 26.2812 26.3287 35.6959 25.2646 28.1016 34.9829 17.9221]; ***** assert (__spatial_filtering__ (a, domain, "std", s), out, 0.001); out = [ 80 95 96 78 43 40 52 42 30 81 55 78 93 54 71 63 58 80 77 35 86 68 72 72 88 88 64 40 91 86 68 89 52 88 77 89 74 50 69 21 87 81 86 87 95 56 75 75 89 94 46 88 62 54 61 53 59 73 58 80 65 63 92 46]; ***** assert (__spatial_filtering__ (a, domain, "range", s), out); s = [ 1 -3 4 6 -7 2 -1 3 -5]; out = [ -1 3 4 19 38 29 31 41 61 3 -6 9 4 33 22 21 33 5 -2 2 -6 21 12 11 4 -5 20 6 -2 2 16 13 39 -1 3 -4 19 32 12 3 13 4 3 0 4 36 6 -3 11 2 -3 11 38 29 35 1 34 6 1 5 34 33 9 0]; ***** assert (__spatial_filtering__ (a, domain, "min", s), out); ***** assert (__spatial_filtering__ (a, domain, "ordered", s, 1), out); out = [ 83 94 98 87 80 79 93 84 93 85 53 91 95 92 83 74 84 75 79 29 89 80 87 91 87 93 83 45 95 84 88 101 101 83 72 94 93 91 72 26 91 87 91 92 101 93 76 80 95 99 53 100 91 91 102 59 99 75 65 87 95 101 92 50]; ***** assert (__spatial_filtering__ (a, domain, "max", s), out); ***** assert (__spatial_filtering__ (a, domain, "ordered", s, nnz (domain)), out); out = [ 71 81 96 79 78 44 77 68 80 71 44 77 78 90 83 72 83 75 51 21 72 76 77 78 57 91 82 42 40 42 82 20 92 81 45 49 85 81 41 24 43 47 76 80 90 81 50 78 79 85 35 37 87 85 89 46 84 52 43 76 92 100 44 48]; ***** assert (__spatial_filtering__ (a, domain, "ordered", s, 4), out); out = [ 34.903 40.206 39.885 28.627 20.620 19.248 25.209 17.111 14.536 35.865 23.221 32.230 34.903 23.923 28.879 22.621 20.635 30.113 29.351 11.610 38.863 25.936 34.608 34.482 29.811 40.998 28.279 17.897 34.666 29.978 36.150 38.213 25.066 39.240 30.013 37.300 31.856 27.428 22.884 10.281 31.890 34.761 39.645 37.526 39.336 27.031 25.648 39.285 35.017 47.776 22.764 35.912 25.460 25.636 29.861 24.566 25.213 25.000 26.391 38.451 24.631 31.305 31.118 20.611]; ***** assert (__spatial_filtering__ (a, domain, "std", s), out, 0.001); out = [ 84 91 94 68 42 50 62 43 32 82 59 82 91 59 61 53 51 70 81 27 95 59 75 80 83 98 63 39 97 82 72 88 62 84 69 98 74 59 60 23 78 83 88 92 97 57 70 83 84 97 56 89 53 62 67 58 65 69 64 82 61 68 83 50]; ***** assert (__spatial_filtering__ (a, domain, "range", s), out); 21 tests, 21 passed, 0 known failure, 0 skipped [src/graycomatrix.cc] >>>>> /<>/src/graycomatrix.cc ***** shared a ***** test a = [0 0 0 1 2; 1 1 0 1 1; 2 2 1 0 0; 1 1 0 2 0; 0 0 1 0 1]; squeeze(graycomatrix(a, 3, 1, -pi/4)) == [4 2 0; 2 3 2; 1 2 0]; ***** assert(size(graycomatrix(a, 3, 1:5, [0:3]*-pi/4)), [3, 3, 5, 4]) ***** demo # Pattern Recognition Engineering (Nadler & Smith) # Digital Image Processing (Gonzales & Woods), p. 668 a = [0 0 0 1 2; 1 1 0 1 1; 2 2 1 0 0; 1 1 0 2 0; 0 0 1 0 1]; graycomatrix(a, 3, 1, [0 1]*-pi/4) 2 tests, 2 passed, 0 known failure, 0 skipped [src/bwlabeln.cc] >>>>> /<>/src/bwlabeln.cc ***** shared a2d, a3d a2d = [1 0 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1]; a3d = a2d; a3d(:,:,2) = [ 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0]; a3d(:,:,3) = [ 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0]; ***** test label2dc4 = [ 1 0 0 0 0 0 8 0 0 13 1 0 0 4 0 6 0 10 0 13 1 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 2 0 5 5 5 0 0 0 0 2 2 0 5 0 0 0 11 0 0 2 2 0 0 0 0 9 0 12 0 2 2 0 0 0 0 0 0 0 0 2 2 0 0 0 7 7 0 0 14]; assert (bwlabeln (a2d, 4), label2dc4) assert (bwlabeln (a2d, [0 1 0; 1 1 1; 0 1 0]), label2dc4) assert (bwlabeln (a2d, conndef (2, "minimal")), label2dc4) assert (bwlabeln (a2d, conndef (3, "minimal")), label2dc4) ***** test label2dc8 = [ 1 0 0 0 0 0 5 0 0 8 1 0 0 3 0 5 0 5 0 8 1 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 2 0 4 4 4 0 0 0 0 2 2 0 4 0 0 0 7 0 0 2 2 0 0 0 0 7 0 7 0 2 2 0 0 0 0 0 0 0 0 2 2 0 0 0 6 6 0 0 9]; assert (bwlabeln (a2d, 8), label2dc8) assert (bwlabeln (a2d, ones (3)), label2dc8) assert (bwlabeln (a2d, conndef (2, "maximal")), label2dc8) assert (bwlabeln (a2d, conndef (3, "maximal")), label2dc8) ***** test label3dc8 = [ 1 0 0 0 0 0 5 0 0 8 1 0 0 3 0 5 0 5 0 8 1 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 2 0 4 4 4 0 0 0 0 2 2 0 4 0 0 0 7 0 0 2 2 0 0 0 0 7 0 7 0 2 2 0 0 0 0 0 0 0 0 2 2 0 0 0 6 6 0 0 9]; label3dc8(:,:,2) = [ 0 0 0 0 0 0 0 0 0 0 10 0 0 12 12 0 0 16 0 0 0 0 0 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 11 11 0 0 13 13 0 0 0 0 11 11 0 13 0 0 0 0 0 0 11 0 0 0 0 0 14 0 0 0 0 11 0 0 0 0 0 0 0 17 11 11 0 0 0 0 15 0 0 0]; label3dc8(:,:,3) = [ 18 0 0 0 0 0 0 0 0 0 0 18 0 20 20 0 0 22 0 0 0 0 0 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 0 0 0 0 0 0 0 0 0 19 19 0 0 0 0 0 0 0 23 19 19 0 0 0 0 0 0 0 0]; assert (bwlabeln (a3d, 8), label3dc8) assert (bwlabeln (a3d, ones (3, 3)), label3dc8) assert (bwlabeln (a3d, conndef (2, "maximal")), label3dc8) ***** test label3dc26 = [ 1 0 0 0 0 0 3 0 0 7 1 0 0 3 0 3 0 3 0 7 1 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 2 0 4 4 4 0 0 0 0 2 2 0 4 0 0 0 6 0 0 2 2 0 0 0 0 6 0 6 0 2 2 0 0 0 0 0 0 0 0 2 2 0 0 0 5 5 0 0 6]; label3dc26(:,:,2) = [ 0 0 0 0 0 0 0 0 0 0 1 0 0 3 3 0 0 3 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 2 0 0 4 4 0 0 0 0 2 2 0 4 0 0 0 0 0 0 2 0 0 0 0 0 6 0 0 0 0 2 0 0 0 0 0 0 0 6 2 2 0 0 0 0 5 0 0 0]; label3dc26(:,:,3) = [ 1 0 0 0 0 0 0 0 0 0 0 1 0 3 3 0 0 3 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 6 2 2 0 0 0 0 0 0 0 0]; assert (bwlabeln (a3d, 26), label3dc26) assert (bwlabeln (a3d, ones (3, 3, 3)), label3dc26) assert (bwlabeln (a3d, conndef (3, "maximal")), label3dc26) ***** test label3dc18 = [ 1 0 0 0 0 0 3 0 0 7 1 0 0 3 0 3 0 3 0 7 1 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 2 0 4 4 4 0 0 0 0 2 2 0 4 0 0 0 6 0 0 2 2 0 0 0 0 6 0 6 0 2 2 0 0 0 0 0 0 0 0 2 2 0 0 0 5 5 0 0 8]; label3dc18(:,:,2) = [ 0 0 0 0 0 0 0 0 0 0 1 0 0 3 3 0 0 3 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 2 0 0 4 4 0 0 0 0 2 2 0 4 0 0 0 0 0 0 2 0 0 0 0 0 6 0 0 0 0 2 0 0 0 0 0 0 0 8 2 2 0 0 0 0 5 0 0 0]; label3dc18(:,:,3) = [ 1 0 0 0 0 0 0 0 0 0 0 1 0 3 3 0 0 3 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 8 2 2 0 0 0 0 0 0 0 0]; assert (bwlabeln (a3d, 18), label3dc18) ***** test label2dc3 = [ 1 0 0 0 0 0 11 0 0 17 1 0 0 5 0 8 0 14 0 17 1 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 2 3 0 6 7 9 0 0 0 0 2 3 0 6 0 0 0 15 0 0 2 3 0 0 0 0 12 0 16 0 2 3 0 0 0 0 0 0 0 0 2 3 0 0 0 10 13 0 0 18]; assert (bwlabeln (a2d, [1 1 1]'), label2dc3) label3dc3 = label2dc3; label3dc3(:,:,2) = [ 0 0 0 0 0 0 0 0 0 0 19 0 0 24 26 0 0 31 0 0 0 0 0 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 20 22 0 0 27 28 0 0 0 0 20 22 0 25 0 0 0 0 0 0 20 0 0 0 0 0 29 0 0 0 0 23 0 0 0 0 0 0 0 32 21 23 0 0 0 0 30 0 0 0]; label3dc3(:,:,3) = [ 33 0 0 0 0 0 0 0 0 0 0 35 0 37 39 0 0 42 0 0 0 0 0 37 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 38 40 41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 34 0 0 0 0 0 0 0 0 0 34 36 0 0 0 0 0 0 0 43 34 36 0 0 0 0 0 0 0 0]; assert (bwlabeln (a3d, [1 1 1]'), label3dc3) ***** test label2dc1 = zeros (size (a2d)); label2dc1(a2d != 0) = 1:nnz (a2d); assert (bwlabeln (a2d, [1]), label2dc1); assert (bwlabeln (a2d, [0 1 0]'), label2dc1); label3dc1 = zeros (size (a3d)); label3dc1(a3d != 0) = 1:nnz (a3d); assert (bwlabeln (a3d, [1]), label3dc1); assert (bwlabeln (a3d, [0 1 0]'), label3dc1); ***** shared in in = rand (10) > 0.8; ***** assert (bwlabel (in, 4), bwlabeln (in, 4)); ***** assert (bwlabel (in, 4), bwlabeln (in, [0 1 0; 1 1 1; 0 1 0])); ***** assert (bwlabel (in, 8), bwlabeln (in, 8)); ***** assert (bwlabel (in, 8), bwlabeln (in, [1 1 1; 1 1 1; 1 1 1])); ***** assert (bwlabel (logical ([0 1 0; 0 0 0; 1 0 1])), [0 2 0; 0 0 0; 1 0 3]); ***** assert (bwlabel ([0 1 0; 0 0 0; 1 0 1]), [0 2 0; 0 0 0; 1 0 3]); ***** assert (bwlabel ([0 -1 0; 0 0 0; 5 0 0.2]), [0 2 0; 0 0 0; 1 0 3]); ***** shared in, out in = [ 0 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 1 0 1 0 1 1 1 0 0 0 0 0 1 1 0]; out = [ 0 3 3 0 0 9 0 0 0 0 0 0 0 5 0 0 0 0 0 13 0 4 4 0 0 0 0 0 13 13 1 0 0 0 0 0 0 11 0 0 0 0 0 0 0 10 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 8 8 0 12 0 0 0 0 0 7 0 8 0 12 0 14 2 2 0 0 0 0 0 12 12 0]; ***** assert (nthargout ([1 2], @bwlabel, in, 4), {out, 14}); ***** assert (nthargout ([1 2], @bwlabel, logical (in), 4), {out, 14}); out = [ 0 3 3 0 0 7 0 0 0 0 0 0 0 3 0 0 0 0 0 11 0 4 4 0 0 0 0 0 11 11 1 0 0 0 0 0 0 9 0 0 0 0 0 0 0 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 5 5 0 10 0 0 0 0 0 6 0 5 0 10 0 12 2 2 0 0 0 0 0 10 10 0]; ***** assert (nthargout ([1 2], @bwlabel, in, 6), {out, 12}); ***** assert (nthargout ([1 2], @bwlabel, logical (in), 6), {out, 12}); ## The labeled image is not the same as Matlab, but they are ## labeled correctly. Do we really need to get them properly ## ordered? (the algorithm in bwlabeln does it) mout = [0 1 1 0 0 4 0 0 0 0 0 0 0 1 0 0 0 0 0 5 0 1 1 0 0 0 0 0 5 5 1 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 3 3 0 6 0 0 0 0 0 3 0 3 0 6 0 6 2 2 0 0 0 0 0 6 6 0]; out = [ 0 2 2 0 0 4 0 0 0 0 0 0 0 2 0 0 0 0 0 5 0 2 2 0 0 0 0 0 5 5 2 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 3 3 0 6 0 0 0 0 0 3 0 3 0 6 0 6 1 1 0 0 0 0 0 6 6 0]; ***** assert (nthargout ([1 2], @bwlabel, in, 8), {out, 6}); ***** assert (nthargout ([1 2], @bwlabel, logical (in), 8), {out, 6}); ***** error bwlabel (rand (10, 10, 10) > 0.8, 4) ***** error bwlabel (rand (10) > 0.8, "text") ***** error bwlabel ("text", 6) 23 tests, 23 passed, 0 known failure, 0 skipped [src/imreconstruct.cc] >>>>> /<>/src/imreconstruct.cc ***** function recon = parallel_reconstruction (marker, mask, conn = conndef (ndims (marker), "maximal")) do previous = marker; marker = imdilate (marker, conn); ## FIXME https://savannah.gnu.org/bugs/index.php?43712 if (strcmp (class (marker), "logical")) marker = marker & mask; else marker = min (marker, mask); endif until (all ((marker == previous)(:))) recon = marker; ***** endfunction ***** test for cl = {"int8", "uint8", "int16", "uint16", "int32", "uint32"} cl = cl{1}; a = randi ([intmin(cl) intmax(cl)-30], 100, 100, cl); b = a + randi (20, 100, 100, cl); assert (imreconstruct (a, b), parallel_reconstruction (a, b)) endfor for cl = {"double", "single"} cl = cl{1}; a = (rand (100, 100, cl) - 0.5) .* 1000; b = a + rand (100, 100, cl) * 100; assert (imreconstruct (a, b), parallel_reconstruction (a, b)) endfor ***** test for cl = {"int8", "uint8", "int16", "uint16", "int32", "uint32"} cl = cl{1}; a = randi ([intmin(cl) intmax(cl)-30], 100, 100, cl); b = a + randi (20, 100, 100, cl); c = [0 1 0; 1 1 1; 0 1 0]; assert (imreconstruct (a, b, c), parallel_reconstruction (a, b, c)) endfor ***** test a = randi (210, 100, 100); b = a + randi (20, 100, 100); c = ones (3, 1); assert (imreconstruct (a, b, c), parallel_reconstruction (a, b, c)) ***** test a = randi (210, 500, 500, 10, 4); b = a + randi (20, 500, 500, 10, 4); c = ones (3, 3, 3); assert (imreconstruct (a, b, c), parallel_reconstruction (a, b, c)) ***** test a = randi (210, 500, 500, 10, 4); b = a + randi (20, 500, 500, 10, 4); c = conndef (4, "minimal"); assert (imreconstruct (a, b, c), parallel_reconstruction (a, b, c)) ***** test a = [ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0]; b = [ 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 1 1 0 1 1 0 0 1 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1]; c = [ 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 1 1 0 1 1 0 0 1 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0]; assert (imreconstruct (logical (a), logical (b)), logical (c)); c = [ 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0]; assert (imreconstruct (logical (a), logical (b), [0 1 0; 1 1 1; 0 1 0]), logical (c)); ***** test do b = rand (100, 100, 100) > 0.98; until (nnz (b) > 4) b = imdilate (b, ones (5, 5, 5)); a = false (size (b)); f = find (b); a(f(randi (numel (f), 6, 1))) = true; assert (imreconstruct (a, b), parallel_reconstruction (a, b)) ***** test a = randi (200, 100,100, 10, 10); b = a + randi (20, 100,100, 10, 10); c1 = ones (3, 3, 3); c2 = zeros (3, 3, 3, 3); c2(:,:,:,2) = c1; assert (imreconstruct (a, b, c1), imreconstruct (a, b, c2)) ***** test ## Values in MARKER above MASK should be clipped (bug #48794) ## (well, treated internally as if they were clipped) mask = logical ([1 1 1; 1 0 1; 1 1 1]); assert (imreconstruct (true (3, 3), mask), mask) mask = ones (5, 5); mask(2:4,2:4) = 0; assert (imreconstruct (ones (5, 5), mask), mask) mask = ones (5, 5); mask(2:4,2:4) = 0; assert (imreconstruct (repmat (2, [5, 5]), mask), mask) mask = ones (5, 5); mask(2:4,2:4) = 0; assert (imreconstruct (repmat (2, [5, 5]), mask), mask) marker = ones (3, 3, 3, 3); mask = marker; mask(2, 2, 2, 2) = 0; assert (imreconstruct (marker, mask), mask) marker = randi (210, 100, 100); assert (imreconstruct (marker +1, marker), marker) assert (imreconstruct (marker +1, marker), imreconstruct (marker, marker)) 9 tests, 9 passed, 0 known failure, 0 skipped [src/watershed.cc] >>>>> /<>/src/watershed.cc ***** test ex = tril (ones (50), -1) + triu (repmat (2, [50 50]), 2); ex(1, 1) = 1; ex(end, end) = 1; in = ones (50); in(end,1) = 0; in(1,end) = 0; assert (watershed (in), ex) ***** test ex = tril (ones (49), -1) + triu (repmat (2, [49 49]), 2); ex(1, 1) = 1; ex(end, end) = 1; in = ones (49); in(end,1) = 0; in(1,end) = 0; assert (watershed (in), ex) c = (fspecial ('disk', 5) > 0) + 1; in(20:30,20:30) = c; c = (fspecial ('disk', 4) > 0) + 2; in(21:29,21:29) = c; assert (watershed (in), ex) ***** test ex = tril (ones (49), -1) + triu (repmat (2, [49 49]), 2); ex(1:28,1:28) = (tril (ones (28) ,7) + triu (repmat (2, [28 28]), 10)); ex(1,9) = 1; ex(end,end) = 1; ex(20:29, 29) = 0; in = ones (49); in(end,1) = 0; in(1,end) = 0; c = (fspecial ("disk", 5) > 0) + 1; in(1:11,38:48) = c; assert (watershed (in), ex) ***** test im = [ 3 4 5 6 0 2 3 4 5 6 1 2 3 4 5 0 1 2 3 4 1 0 1 2 3]; labeled8 = [ 1 1 1 0 2 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]; labeled4 = [ 1 1 1 0 3 1 1 1 0 0 1 1 0 2 2 1 0 2 2 2 0 2 2 2 2]; labeled_weird = [ 1 1 1 0 2 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]; assert (watershed (im), labeled8); assert (watershed (im, 8), labeled8); assert (watershed (im, 4), labeled4); assert (watershed (im, [1 1 0; 1 1 1; 0 1 1]), labeled_weird); ***** test im = [ 2 3 30 2 3 30 3 30 255 31 30 4 2 255 31 30 1 2 255 5]; labeled4 = [ 1 1 0 4 1 0 3 0 0 2 0 5 2 2 2 0 2 2 0 6]; labeled_weird = [ 1 1 0 3 1 1 1 0 0 1 1 1 2 0 0 0 2 2 0 4]; assert (watershed (im, 4), labeled4); assert (watershed (im, [1 1 0; 1 1 1; 0 1 1]), labeled_weird); ***** xtest ## The following test is required for Matlab compatibility. There must be ## something specific about their implementation that causes it to return ## this value. Even when solving it on paper, we get different results. im = [ 2 3 30 2 3 30 3 30 255 31 30 4 2 255 31 30 1 2 255 5]; labeled8 = [ 1 1 0 3 1 1 0 3 0 0 0 0 2 2 0 4 2 2 0 4]; assert (watershed (im), labeled8); assert (watershed (im, 8), labeled8); !!!!! known failure ASSERT errors for: assert (watershed (im),labeled8) Location | Observed | Expected | Reason (3,4) 3 0 Abs err 3 exceeds tol 0 by 3 (4,4) 0 4 Abs err 4 exceeds tol 0 by 4 ***** test im = [ 2 2 2 2 2 2 2 2 2 30 30 30 2 2 2 30 20 20 20 30 2 40 40 20 20 20 40 40 1 40 20 20 20 40 0 1 1 40 20 40 0 0 1 1 1 20 0 0 0]; labeled8 = [ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 2 2 2 0 3 3 3 2 2 2 0 3 3 3 2 2 2 0 3 3 3]; labeled4 = [ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 2 0 1 1 1 0 3 2 2 0 1 0 3 3 2 2 2 0 3 3 3]; labeled_weird = [ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 2 0 0 0 3 3 3 2 2 0 3 3 3 3 2 2 2 0 3 3 3]; assert (watershed (im), labeled8); assert (watershed (im, 8), labeled8); assert (watershed (im, 4), labeled4); assert (watershed (im, [1 1 0; 1 1 1; 0 1 1]), labeled_weird); ***** test im = [ 40 40 40 40 40 40 40 40 40 40 40 40 40 40 3 3 5 5 5 10 10 10 10 15 20 40 40 3 3 5 5 30 30 30 10 15 15 20 40 40 3 3 5 30 20 20 20 30 15 15 20 40 40 40 40 40 40 20 20 20 40 40 40 40 40 40 10 10 10 40 20 20 20 40 10 10 10 40 40 5 5 5 10 40 20 40 10 10 5 5 40 40 1 3 5 10 15 20 15 10 5 1 0 40 40 1 3 5 10 15 20 15 10 5 1 0 40 40 40 40 40 40 40 40 40 40 40 40 40 40]; labeled8 = [ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 0 3 3 3 3 3 3 2 2 2 2 2 2 0 3 3 3 3 3 3 2 2 2 2 2 2 0 3 3 3 3 3 3 2 2 2 2 2 2 0 3 3 3 3 3 3 2 2 2 2 2 2 0 3 3 3 3 3 3]; labeled4 = [ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 2 2 2 2 0 1 1 1 0 3 3 3 3 2 2 2 2 2 0 1 0 3 3 3 3 3 2 2 2 2 2 2 0 3 3 3 3 3 3 2 2 2 2 2 2 0 3 3 3 3 3 3 2 2 2 2 2 2 0 3 3 3 3 3 3]; labeled_weird = [ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 2 2 2 2 0 0 0 3 3 3 3 3 3 2 2 2 2 2 0 3 3 3 3 3 3 3 2 2 2 2 2 2 0 3 3 3 3 3 3 2 2 2 2 2 2 0 3 3 3 3 3 3 2 2 2 2 2 2 0 3 3 3 3 3 3]; assert (watershed (im), labeled8); assert (watershed (im, 8), labeled8); assert (watershed (im, 4), labeled4); assert (watershed (im, [1 1 0; 1 1 1; 0 1 1]), labeled_weird); ***** xtest ## This test is failing for Matlab compatibility im_full = [ 1 2 10 3 8 7 5 3 2 5 10 8 1 4 1 8 2 3 8 3 6]; matlab_result_full = [ 1 1 0 3 0 4 4 0 0 0 0 0 4 4 2 2 2 0 4 4 4]; assert (watershed (im_full), matlab_result_full); im_crop = [ 2 10 3 8 7 5 2 5 10 8 1 4 8 2 3 8 3 6]; matlab_result_crop = [ 1 0 2 0 3 3 1 0 0 0 3 3 1 1 1 0 3 3]; assert (watershed (im_crop), matlab_result_crop); !!!!! known failure ASSERT errors for: assert (watershed (im_full),matlab_result_full) Location | Observed | Expected | Reason (3,4) 2 0 Abs err 2 exceeds tol 0 by 2 (3,5) 0 4 Abs err 4 exceeds tol 0 by 4 9 tests, 7 passed, 2 known failures, 0 skipped [src/conndef.cc] >>>>> /<>/src/conndef.cc ***** assert (conndef (1, "minimal"), [1; 1; 1]); ***** assert (conndef (2, "minimal"), [0 1 0; 1 1 1; 0 1 0]); ***** test C = zeros (3, 3, 3); C(:,2,2) = 1; C(2,:,2) = 1; C(2,2,:) = 1; assert (conndef (3, "minimal"), C); ***** test C = zeros (3, 3, 3, 3); C(:,:,2,1) = [0 0 0 0 1 0 0 0 0]; C(:,:,1,2) = [0 0 0 0 1 0 0 0 0]; C(:,:,2,2) = [0 1 0 1 1 1 0 1 0]; C(:,:,3,2) = [0 0 0 0 1 0 0 0 0]; C(:,:,2,3) = [0 0 0 0 1 0 0 0 0]; assert (conndef (4, "minimal"), C); ***** assert (conndef (1, "maximal"), ones (3, 1)); ***** assert (conndef (2, "maximal"), ones (3, 3)); ***** assert (conndef (3, "maximal"), ones (3, 3, 3)); ***** assert (conndef (4, "maximal"), ones (3, 3, 3, 3)); ***** assert (nnz (conndef (3, "minimal")), 7) ***** assert (nnz (conndef (4, "minimal")), 9) ***** assert (nnz (conndef (5, "minimal")), 11) ***** assert (nnz (conndef (6, "minimal")), 13) ***** assert (find (conndef (3, "minimal")), [5 11 13 14 15 17 23](:)) ***** assert (find (conndef (4, "minimal")), [14 32 38 40 41 42 44 50 68](:)) ***** assert (find (conndef (5, "minimal")), [ 41 95 113 119 121 122 123 125 131 149 203](:)) ***** assert (find (conndef (6, "minimal")), [ 122 284 338 356 362 364 365 366 368 374 392 446 608](:)) ***** error conndef () ***** error conndef (-2, "minimal") ***** error conndef (char (2), "minimal") ***** error conndef ("minimal", 3) ***** error conndef (3, "invalid") ***** error conndef (10) ***** assert (conndef (2, "minimal"), conndef (4)) ***** assert (conndef (2, "maximal"), conndef (8)) ***** assert (conndef (3, "minimal"), conndef (6)) ***** assert (conndef (3, "maximal"), conndef (26)) ***** assert (conndef (18), reshape ([0 1 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 0 1 0], [3 3 3])) ***** error fail ("iptcheckconn ( 4, 'func', 'var')"); ***** error fail ("iptcheckconn ( 6, 'func', 'var')"); ***** error fail ("iptcheckconn ( 8, 'func', 'var')"); ***** error fail ("iptcheckconn (18, 'func', 'var')"); ***** error fail ("iptcheckconn (26, 'func', 'var')"); ***** error fail ("iptcheckconn (1, 'func', 'var')"); ***** error fail ("iptcheckconn (ones (3, 1), 'func', 'var')"); ***** error fail ("iptcheckconn (ones (3, 3), 'func', 'var')"); ***** error fail ("iptcheckconn (ones (3, 3, 3), 'func', 'var')"); ***** error fail ("iptcheckconn (ones (3, 3, 3, 3), 'func', 'var')"); ***** error iptcheckconn (3, "func", "VAR"); ***** error iptcheckconn ([1 1 1; 1 0 1; 1 1 1], "func", "VAR"); ***** error iptcheckconn ([1 2 1; 1 1 1; 1 1 1], "func", "VAR"); ***** error iptcheckconn ([0 1 1; 1 1 1; 1 1 1], "func", "VAR"); ***** error iptcheckconn (ones (3, 3, 3, 4), "func", "VAR"); 42 tests, 42 passed, 0 known failure, 0 skipped [src/bwconncomp.cc] >>>>> /<>/src/bwconncomp.cc ***** test a = rand (10) > 0.5; cc = bwconncomp (a, 4); assert (cc.Connectivity, 4) assert (cc.ImageSize, [10 10]) b = false (10); for i = 1:numel (cc.PixelIdxList) b(cc.PixelIdxList{i}) = true; endfor assert (a, b) ***** test a = rand (10, 13) > 0.5; cc = bwconncomp (a, 4); assert (cc.ImageSize, [10 13]) b = false (10, 13); for i = 1:numel (cc.PixelIdxList) b(cc.PixelIdxList{i}) = true; endfor assert (a, b) ***** test a = rand (15) > 0.5; conn_8 = bwconncomp (a, 8); assert (conn_8, bwconncomp (a)) assert (conn_8, bwconncomp (a, ones (3))) assert (conn_8.Connectivity, 8) assert (bwconncomp (a, ones (3)).Connectivity, 8) assert (bwconncomp (a, [0 1 0; 1 1 1; 0 1 0]).Connectivity, 4) ***** xtest ## test that PixelIdxList is a row vector a = rand (40, 40) > 0.2; cc = bwconncomp (a, 4); assert (rows (cc.PixelIdxList), 1) assert (columns (cc.PixelIdxList), cc.NumObjects) ***** assert (bwconncomp (false (5)), struct ("ImageSize", [5 5], "NumObjects", 0, "PixelIdxList", {cell(1, 0)}, "Connectivity", 8)) ***** test in = [ 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1 0]; assert (bwareaopen (in, 1, 4), logical (in)) out = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0]; assert (bwareaopen (logical (in), 10, 4), logical (out)) assert (bwareaopen (in, 10, 4), logical (out)) assert (bwareaopen (in, 10, [0 1 0; 1 1 1; 0 1 0]), logical (out)) out = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0]; assert (bwareaopen (in, 10, 8), logical (out)) assert (bwareaopen (in, 10, ones (3)), logical (out)) assert (bwareaopen (in, 10), logical (out)) out = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 0 0 1 0]; assert (bwareaopen (in, 4, [1 1 0; 1 1 1; 0 1 1]), logical (out)) ***** error bwareaopen ("not an image", 78, 8) ***** error bwareaopen (rand (10) > 0.5, 10, 100) ***** error bwareaopen (rand (10) > 0.5, 10, "maximal") ***** error bwareaopen (rand (10) > 0.5, 10, [1 1 1; 0 1 1; 0 1 0]) 10 tests, 10 passed, 0 known failure, 0 skipped [src/intlut.cc] >>>>> /<>/src/intlut.cc ***** assert (intlut (uint8 (1:4), uint8 ( 255:-1:0)), uint8 (254:-1:251)); ***** assert (intlut (uint16 (1:4), uint16 (65535:-1:0)), uint16 (65534:-1:65531)); ***** assert (intlut (int16 (1:4), int16 (32767:-1:-32768)), int16 (-2:-1:-5)); ***** assert (intlut (uint8 (255), uint8 (0:255)), uint8 (255)); ***** assert (intlut (uint16 (65535), uint16 (0:65535)), uint16 (65535)); ***** assert (intlut (int16 (32767), int16 (-32768:32767)), int16 (32767)); ***** error intlut () ***** error intlut ("text") ***** error intlut (1:20, uint8 (0:255)); ***** error intlut (uint16 (1:20), uint8 (0:255)); ***** error intlut (uint8 (1:20), uint8 (0:200)); ***** error intlut (uint16 (1:20), uint16 (0:500)); error intlut (uint8 (56), uint8 (magic (16) -1)) 12 tests, 12 passed, 0 known failure, 0 skipped [src/imerode.cc] >>>>> /<>/src/imerode.cc ***** assert (imerode (eye (3), [1]), eye (3)); ***** assert (imerode (eye (3), []), Inf (3, 3)); ***** test im = [0 1 0 1 1 1 0 1 0]; se = [1 0 0 0 1 0 0 1 1]; assert (imerode (im, se), [0 1 0; 0 0 0; 0 1 0]); assert (imerode (logical(im), se), logical ([0 1 0; 0 0 0; 0 1 0])); assert (imerode (im, se, "full"), [ 0 0 0 0 Inf 1 0 1 0 Inf 0 0 0 0 0 Inf 0 1 0 1 Inf Inf 0 1 0]); assert (imerode (logical(im), se, "full"), logical([0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 1 0 1 0 1 1 1 0 1 0])); ***** xtest a = rand ([10 40 15 6 8 5]) > 0.2; se = ones ([5 3 7]); ## the image is not really indexed but this way it is padded with 1s assert (imerode (a, se), colfilt (a, "indexed", size (se), "sliding", @all)) assert (imerode (a, se, "valid"), convn (a, se, "valid") == nnz (se)) ## again, we need to pad it ourselves because convn pads with zeros b = true (size (a) + [4 2 6 0 0 0]); b(3:12, 2:41, 4:18,:,:,:) = a; assert (imdilate (b, se, "same"), convn (b, se, "same") > 0) b = true (size (a) + [8 4 12 0 0 0]); b(5:14, 3:42, 7:21,:,:,:) = a; assert (imdilate (b, se, "full"), convn (b, se, "full") > 0) ***** test im = [0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0]; se = [0 0 0 0 1 0 0 1 1]; out = [0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; assert (imerode (im, se), out); assert (imerode (logical (im), se), logical (out)); assert (imerode (im, logical (se)), out); assert (imerode (logical (im), logical (se)), logical (out)); # with an even-size SE se = [0 0 0 1 0 1 0 0 0 1 1 1]; out = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; assert (imerode (im, se), out); out = [ 0 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 1 1]; assert (imdilate (im, se), out); ***** test a = [ 82 2 97 43 79 43 41 65 51 11 60 65 21 56 94 77 36 38 75 39 32 68 78 1 16 75 76 90 81 56 43 90 82 41 36 1 87 19 18 63 63 64 2 48 18 43 38 25 22 99 12 46 90 79 3 92 39 79 10 22 38 98 11 10 40 90 88 38 4 76 54 37 9 4 33 98 36 47 53 57 38 76 82 50 14 74 64 99 7 33 88 96 41 62 84 89 97 23 41 3]; domain = ones (3); out = [ 2 1 1 1 16 36 36 11 21 1 1 1 1 1 18 18 2 1 1 1 1 1 18 18 2 2 2 1 1 1 10 10 2 2 2 3 3 25 4 4 9 4 3 3 3 36 4 4 9 4 4 4 14 36 4 4 9 4 4 4 14 23 7 3]; assert (imerode (a, domain, "valid"), out); assert (imerode (uint8 (a), domain, "valid"), uint8 (out)); assert (imerode (uint8 (a), strel ("arbitrary", domain), "valid"), uint8 (out)); assert (imerode (uint8 (a), strel ("square", 3), "valid"), uint8 (out)); ***** ## Test for non-flat strel assert (imerode (a, strel ("arbitrary", domain, ones (3)), "valid"), out -1); out = [ 97 97 97 94 94 90 90 90 90 90 94 94 94 90 90 90 90 90 82 75 87 90 90 99 90 90 90 92 92 92 87 99 98 98 90 92 92 92 88 99 98 98 90 98 98 98 88 79 98 98 82 98 98 99 99 99 96 96 84 98 98 99 99 99]; assert (imdilate (a, domain, "valid"), out); assert (imdilate (uint8 (a), domain, "valid"), uint8 (out)); ***** ## Test for non-flat strel assert (imdilate (a, strel ("arbitrary", domain, ones (3)), "valid"), out +1); ## test while using SE that can be decomposed and an actual sequence domain = ones (5); out = [ 2 1 1 1 1 1 16 11 11 11 2 1 1 1 1 1 1 1 11 11 2 1 1 1 1 1 1 1 11 11 2 1 1 1 1 1 1 1 10 10 2 1 1 1 1 1 1 1 4 4 2 2 2 1 1 1 1 1 4 4 2 2 2 2 2 3 3 4 4 4 9 4 3 3 3 3 3 3 3 3 9 4 4 4 4 4 4 3 3 3 9 4 4 4 4 4 7 3 3 3]; assert (imerode (a, domain), out); assert (imerode (a, strel ("square", 5)), out); assert (imerode (a, getsequence (strel ("square", 5))), out); ## using a non-symmetric SE domain = [ 1 1 0 0 1 1 0 1 0]; out = [ 2 2 1 16 36 36 38 39 60 1 1 16 1 36 19 18 32 2 1 1 1 19 18 18 2 2 18 3 1 1 19 10 46 2 2 3 18 38 10 4 11 9 4 3 3 36 4 4 9 4 4 10 36 36 38 4 37 9 4 4 33 36 7 7]; assert (imerode (a, domain, "valid"), out); assert (imerode (a, strel ("arbitrary", domain, ones (3)), "valid"), out -1); out = [ 78 97 56 94 94 90 90 81 90 82 78 94 87 87 90 90 90 90 82 43 75 87 90 99 90 90 79 92 92 87 79 25 98 90 90 90 92 92 79 79 98 98 79 98 98 90 88 57 98 82 50 74 98 99 99 53 96 82 84 89 98 97 99 99]; assert (imdilate (a, domain, "valid"), out); assert (imdilate (a, strel ("arbitrary", domain, ones (3)), "valid"), out +1); ***** test im = reshape (magic(16), [4 8 4 2]); se = true (3, 3, 3); out = zeros (4, 8, 4, 2); out(:,:,1,1) = [ 3 3 46 2 2 2 47 47 3 3 30 2 2 2 31 31 17 17 16 16 16 20 13 13 33 33 16 16 16 36 13 13]; out(:,:,2,1) = [ 3 3 46 2 2 2 43 43 3 3 30 2 2 2 27 27 17 17 12 12 12 20 13 13 33 33 12 12 12 36 13 13]; out(:,:,3,1) = [ 3 3 42 6 6 6 43 43 3 3 26 6 6 6 27 27 21 21 12 12 12 20 9 9 37 37 12 12 12 36 9 9]; out(:,:,4,1) = [ 7 7 42 6 6 6 43 43 7 7 26 6 6 6 27 27 21 21 12 12 12 24 9 9 37 37 12 12 12 40 9 9]; out(:,:,1,2) = [ 11 11 38 10 10 10 39 39 11 11 22 10 10 10 23 23 25 25 8 8 8 28 5 5 41 41 8 8 8 44 5 5]; out(:,:,2,2) = [ 11 11 38 10 10 10 35 35 11 11 22 10 10 10 19 19 25 25 4 4 4 28 5 5 41 41 4 4 4 44 5 5]; out(:,:,3,2) = [ 11 11 34 14 14 14 35 35 11 11 18 14 14 14 19 19 29 29 4 4 4 28 1 1 45 45 4 4 4 44 1 1]; out(:,:,4,2) = [ 15 15 34 14 14 14 35 35 15 15 18 14 14 14 19 19 29 29 4 4 4 32 1 1 45 45 4 4 4 48 1 1]; assert (imerode (im, se), out); assert (imerode (uint16 (im), se), uint16 (out)); ## trying a more weird SE se(:,:,1) = [1 0 1; 0 1 1; 0 0 0]; se(:,:,3) = [1 0 1; 0 1 1; 0 0 1]; out(:,:,1,1) = [ 3 17 46 2 2 2 47 47 17 3 30 2 2 2 31 31 17 17 16 16 16 20 13 31 33 33 16 16 16 36 13 13]; out(:,:,2,1) = [ 3 3 46 2 2 20 43 61 3 3 30 2 20 2 27 43 33 17 12 20 20 20 13 13 51 33 12 12 30 36 13 13]; out(:,:,3,1) = [ 3 21 42 6 6 6 43 43 21 3 26 6 6 6 27 27 21 21 12 12 12 20 9 27 37 37 12 12 12 36 9 9]; out(:,:,4,1) = [ 7 7 42 6 6 24 57 57 7 7 26 6 24 6 43 43 37 21 26 24 24 24 9 9 55 37 12 12 26 40 9 9]; out(:,:,1,2) = [ 11 25 38 10 10 10 39 39 25 11 22 10 10 10 23 23 25 25 8 8 8 28 5 23 41 41 8 8 8 44 5 5]; out(:,:,2,2) = [ 11 11 38 10 10 28 35 53 11 11 22 10 22 10 19 35 41 25 4 22 22 28 5 5 59 41 4 4 22 44 5 5]; out(:,:,3,2) = [ 11 29 34 14 14 14 35 35 29 11 18 14 14 14 19 19 29 29 4 4 4 28 1 19 45 45 4 4 4 44 1 1]; out(:,:,4,2) = [ 15 15 34 14 14 32 49 49 15 15 18 14 18 14 35 35 45 29 18 18 18 32 1 1 63 45 4 4 18 48 1 1]; assert (imerode (im, se), out); assert (imerode (uint16 (im), se), uint16 (out)); ***** error imerode (ones (10), 45) ***** error imerode (ones (10), "some text") ***** error imerode (ones (10), {23, 45}) ***** error imerode (rand (10) > 10 , strel ("arbitrary", true (3), ones (3))) ***** xtest a = rand ([10 40 15 6 8 5]) > 0.8; se = ones ([5 3 7]); assert (imdilate (a, se), convn (a, se, "same") > 0) assert (imdilate (a, se, "full"), convn (a, se, "full") > 0) assert (imdilate (a, se, "valid"), convn (a, se, "valid") > 0) assert (imdilate (a, se), colfilt (a, size (se), "sliding", @any)) ***** test im = reshape (magic(16), [4 8 4 2]); se = true (3, 3, 3); out = zeros (4, 8, 4, 2); out(:,:,1,1) = [ 256 256 209 253 253 253 212 212 256 256 225 253 253 253 228 228 238 238 243 243 243 239 242 242 222 222 243 243 243 223 242 242]; out(:,:,2,1) = [ 256 256 213 253 253 253 212 212 256 256 229 253 253 253 228 228 238 238 243 243 243 239 246 246 222 222 243 243 243 223 246 246]; out(:,:,3,1) = [ 252 252 213 253 253 253 216 216 252 252 229 253 253 253 232 232 238 238 247 247 247 235 246 246 222 222 247 247 247 219 246 246]; out(:,:,4,1) = [ 252 252 213 249 249 249 216 216 252 252 229 249 249 249 232 232 234 234 247 247 247 235 246 246 218 218 247 247 247 219 246 246]; out(:,:,1,2) = [ 248 248 217 245 245 245 220 220 248 248 233 245 245 245 236 236 230 230 251 251 251 231 250 250 214 214 251 251 251 215 250 250]; out(:,:,2,2) = [ 248 248 221 245 245 245 220 220 248 248 237 245 245 245 236 236 230 230 251 251 251 231 254 254 214 214 251 251 251 215 254 254]; out(:,:,3,2) = [ 244 244 221 245 245 245 224 224 244 244 237 245 245 245 240 240 230 230 255 255 255 227 254 254 214 214 255 255 255 211 254 254]; out(:,:,4,2) = [ 244 244 221 241 241 241 224 224 244 244 237 241 241 241 240 240 226 226 255 255 255 227 254 254 210 210 255 255 255 211 254 254]; assert (imdilate (im, se), out); assert (imdilate (uint16 (im), se), uint16 (out)); ## trying a more weird SE se(:,:,1) = [1 0 1; 0 1 1; 0 0 0]; se(:,:,3) = [1 0 1; 0 1 1; 0 0 1]; out(:,:,1,1) = [ 256 256 209 239 253 253 212 194 256 256 225 239 239 239 228 212 222 222 243 239 243 239 242 242 208 208 225 243 243 223 242 242]; out(:,:,2,1) = [ 256 256 213 253 253 253 212 212 238 256 229 253 253 253 228 228 238 238 243 243 243 239 246 228 222 222 243 243 243 223 228 246]; out(:,:,3,1) = [ 252 252 213 235 253 253 216 198 252 252 229 235 235 253 232 216 222 238 247 235 247 235 246 246 204 222 229 247 247 219 246 246]; out(:,:,4,1) = [ 252 252 213 249 249 249 216 216 234 252 229 249 249 249 232 232 234 234 247 247 247 235 246 232 218 218 247 247 247 219 232 246]; out(:,:,1,2) = [ 248 248 217 231 245 245 220 202 248 248 233 233 233 231 236 220 214 214 251 233 251 231 250 250 200 200 233 251 251 215 250 250]; out(:,:,2,2) = [ 248 248 221 245 245 245 220 220 230 248 237 245 245 245 236 236 230 230 251 251 251 231 254 236 214 214 251 251 251 215 236 254]; out(:,:,3,2) = [ 244 244 221 227 245 245 224 206 244 244 237 237 237 245 240 224 214 230 255 237 255 227 254 254 196 214 237 255 255 211 254 254]; out(:,:,4,2) = [ 244 244 221 241 241 241 224 224 226 244 237 241 241 241 240 240 226 226 255 255 255 227 254 240 210 210 255 255 255 211 240 254]; assert (imdilate (im, se), out); assert (imdilate (uint16 (im), se), uint16 (out)); ***** test # scalar blank SE se = 0; assert (imerode (5, se), Inf) assert (imerode (true, se), true) assert (imerode (false, se), true) assert (imerode (uint8 (3), se), uint8 (255)) assert (imdilate (5, se), -Inf) assert (imdilate (true, se), false) assert (imdilate (false, se), false) assert (imdilate (uint8 (3), se), uint8 (0)) ***** test # empty SE se = []; assert (imerode (5, se), Inf) assert (imerode (true, se), true) assert (imerode (false, se), true) assert (imerode (uint8 (3), se), uint8 (255)) assert (imdilate (5, se), -Inf) assert (imdilate (true, se), false) assert (imdilate (false, se), false) assert (imdilate (uint8 (3), se), uint8 (0)) ***** test # non-scalar blank SE se = zeros (3, 3); assert (imerode (5, se), Inf) assert (imerode (true, se), true) assert (imerode (false, se), true) assert (imerode (uint8 (3), se), uint8 (255)) assert (imdilate (5, se), -Inf) assert (imdilate(true, se), false) assert (imdilate (false, se), false) assert (imdilate (uint8 (3), se), uint8 (0)) ***** test # erode only with out-of-border elements se = [1 1 1; 1 0 1; 1 1 1]; assert (imerode (5, se), Inf) assert (imerode (true, se), true) assert (imdilate (5, se), -Inf) assert (imdilate (true, se), false) ***** test # only true elements of SE are out-of-border se = [0 0 0; 1 0 0; 1 1 0]; assert (imerode (zeros (3), se), [0 0 0; 0 0 0; Inf 0 0]) assert (imerode (false (3), se), logical ([0 0 0; 0 0 0; 1 0 0])) assert (imdilate (zeros (3), se), [0 0 -Inf; 0 0 0; 0 0 0]) assert (imdilate (false (3), se), false (3, 3)) se = [0 0 0; 0 0 0; 1 1 1]; assert (imerode (zeros (3, 3), se), [0 0 0; 0 0 0; Inf Inf Inf]) assert (imerode (false (3, 3), se), logical ([0 0 0; 0 0 0; 1 1 1])) assert (imdilate (zeros (3, 3), se), [-Inf -Inf -Inf; 0 0 0; 0 0 0]) assert (imdilate (false (3, 3), se), false (3, 3)) ***** test # only true elements of even-sized SE are out-of-border se = logical ([0 1; 1 1]); assert (imerode (false (3, 3), se), logical ([0 0 0; 0 0 0; 0 0 1])) assert (imerode (zeros (3, 3), se), [0 0 0; 0 0 0; 0 0 Inf]) assert (imdilate (false (3, 3), se), false (3, 3)) assert (imdilate (zeros (3, 3), se), [-Inf 0 0; 0 0 0; 0 0 0]) 19 tests, 19 passed, 0 known failure, 0 skipped Summary: 1456 tests, 1422 passed, 34 known failures, 0 skipped dh_octave_substvar -O--buildsystem=octave dh_installdocs -O--buildsystem=octave dh_installchangelogs -O--buildsystem=octave dh_octave_changelogs -O--buildsystem=octave dh_octave_examples -O--buildsystem=octave dh_perl -O--buildsystem=octave dh_link -O--buildsystem=octave dh_strip_nondeterminism -O--buildsystem=octave dh_compress -O--buildsystem=octave dh_fixperms -O--buildsystem=octave dh_missing -O--buildsystem=octave dh_strip -O--buildsystem=octave dh_makeshlibs -O--buildsystem=octave dh_shlibdeps -O--buildsystem=octave dh_installdeb -O--buildsystem=octave dh_gencontrol -O--buildsystem=octave dpkg-gencontrol: warning: package octave-image: unused substitution variable ${octave:Upstream-Description} dpkg-gencontrol: warning: package octave-image: unused substitution variable ${octave:Upstream-Description} dh_md5sums -O--buildsystem=octave dh_builddeb -O--buildsystem=octave INFO: pkgstriptranslations version 143 INFO: pkgstriptranslations version 143 pkgstriptranslations: processing octave-image-dbgsym (in debian/.debhelper/octave-image/dbgsym-root); do_strip: , oemstrip: pkgstriptranslations: processing octave-image (in debian/octave-image); do_strip: , oemstrip: pkgmaintainermangler: Maintainer field overridden to "Ubuntu Developers " pkgstripfiles: processing control file: debian/octave-image/DEBIAN/control, package octave-image, directory debian/octave-image pkgstripfiles: Truncating usr/share/doc/octave-image/changelog.Debian.gz to topmost ten records pkgstripfiles: Running PNG optimization (using 4 cpus) for package octave-image ... pkgstripfiles: No PNG files. dpkg-deb: building package 'octave-image' in '../octave-image_2.8.1-1_amd64.deb'. pkgmaintainermangler: Maintainer field overridden to "Ubuntu Developers " pkgstripfiles: processing control file: debian/.debhelper/octave-image/dbgsym-root/DEBIAN/control, package octave-image-dbgsym, directory debian/.debhelper/octave-image/dbgsym-root dpkg-deb: building package 'octave-image-dbgsym' in 'debian/.debhelper/scratch-space/build-octave-image/octave-image-dbgsym_2.8.1-1_amd64.deb'. Renaming octave-image-dbgsym_2.8.1-1_amd64.deb to octave-image-dbgsym_2.8.1-1_amd64.ddeb dpkg-genbuildinfo --build=binary dpkg-genchanges --build=binary -mLaunchpad Build Daemon >../octave-image_2.8.1-1_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build octave-image-2.8.1 dpkg-source: info: using options from octave-image-2.8.1/debian/source/options: --extend-diff-ignore=inst/im2double\.m|src/Makefile|src/config\.h|src/config\.log|src/config\.status|src/confdefs\.h|src/conftest\.cpp|src/ntsc2rgb\.m|src/rgb2ntsc\.m|inst/ntsc2rgb\.m|inst/rgb2ntsc\.m dpkg-buildpackage: info: binary-only upload (no source included) -------------------------------------------------------------------------------- Build finished at 20181126-2341 Finished -------- I: Built successfully +------------------------------------------------------------------------------+ | Post Build Chroot | +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ | Changes | +------------------------------------------------------------------------------+ octave-image_2.8.1-1_amd64.changes: ----------------------------------- Format: 1.8 Date: Sun, 25 Nov 2018 16:28:47 -0200 Source: octave-image Binary: octave-image Architecture: amd64 Version: 2.8.1-1 Distribution: disco-proposed Urgency: medium Maintainer: Launchpad Build Daemon Changed-By: Rafael Laboissiere Description: octave-image - image manipulation for Octave Changes: octave-image (2.8.1-1) unstable; urgency=medium . * New upstream version 2.8.1 * d/copyright: Reflect upstream changes * d/p/xtest-in-normxcorr2.patch: New patch * d/control: + Add Rules-Requires-Root: no + Bump Standards-Version to 4.2.1 Checksums-Sha1: 008aca96a4f55f22e077486d30ca5b791ab16c86 9614452 octave-image-dbgsym_2.8.1-1_amd64.ddeb 7ca9977109d5d0e63df60dfd5f3b84fb2c357a5d 15607 octave-image_2.8.1-1_amd64.buildinfo 1a602a24020bb6c9f7c63c7150d024abfb0a5002 529596 octave-image_2.8.1-1_amd64.deb Checksums-Sha256: 4e8db48c314618c01edf3efacebbd7df72a285bf2a913bf0ab7457b51af8de86 9614452 octave-image-dbgsym_2.8.1-1_amd64.ddeb c0de30493b37fd4e7c4898dc0791e89bdcafbf962fbe1a0eb5dcfe645f5b7e42 15607 octave-image_2.8.1-1_amd64.buildinfo 384d87cdaabc8f49a24b96f8d34c09ee38e0c9d9a4de54ae51c9228e64890601 529596 octave-image_2.8.1-1_amd64.deb Files: 6b0f2c1591d178fac918d9c6d85119b9 9614452 debug optional octave-image-dbgsym_2.8.1-1_amd64.ddeb c53cdaf372e0005daddd30ea62e7bfc9 15607 math optional octave-image_2.8.1-1_amd64.buildinfo 99a4968823e4b37d33a1f4cc6d1395ca 529596 math optional octave-image_2.8.1-1_amd64.deb +------------------------------------------------------------------------------+ | Package contents | +------------------------------------------------------------------------------+ octave-image_2.8.1-1_amd64.deb ------------------------------ new debian package, version 2.0. size 529596 bytes: control archive=6036 bytes. 902 bytes, 19 lines control 17936 bytes, 200 lines md5sums Package: octave-image Version: 2.8.1-1 Architecture: amd64 Maintainer: Ubuntu Developers Original-Maintainer: Debian Octave Group Installed-Size: 3063 Depends: libc6 (>= 2.27), libgcc1 (>= 1:3.0), liboctave6, libstdc++6 (>= 5.2), octave (>= 4.4.1) Section: math Priority: optional Homepage: https://octave.sourceforge.io/image/ Description: image manipulation for Octave This package provides functions for reading, writing, and processing images to Octave, a numerical computation software. The package supports almost all image formats through the use of ImageMagick. The package also provides functions for feature extraction, image statistics, spatial and geometric transformations, morphological operations, linear filtering, and much more. . This Octave add-on package is part of the Octave-Forge project. drwxr-xr-x root/root 0 2018-11-25 18:28 ./ drwxr-xr-x root/root 0 2018-11-25 18:28 ./usr/ drwxr-xr-x root/root 0 2018-11-25 18:28 ./usr/lib/ drwxr-xr-x root/root 0 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/ drwxr-xr-x root/root 0 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/ drwxr-xr-x root/root 0 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/ drwxr-xr-x root/root 0 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/ drwxr-xr-x root/root 0 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/ -rw-r--r-- root/root 181 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/PKG_ADD -rw-r--r-- root/root 221 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/PKG_DEL -rwxr-xr-x root/root 109024 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/__bilateral__.oct -rwxr-xr-x root/root 35152 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/__boundary__.oct -rwxr-xr-x root/root 88552 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/__custom_gaussian_smoothing__.oct -rwxr-xr-x root/root 26992 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/__eps__.oct -rwxr-xr-x root/root 178760 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/__spatial_filtering__.oct -rwxr-xr-x root/root 88744 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/bwconncomp.oct -rwxr-xr-x root/root 47552 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/bwdist.oct -rwxr-xr-x root/root 43408 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/bwfill.oct -rwxr-xr-x root/root 105080 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/bwlabeln.oct -rwxr-xr-x root/root 72184 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/conndef.oct -rwxr-xr-x root/root 39272 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/graycomatrix.oct -rwxr-xr-x root/root 39320 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/hough_line.oct -rwxr-xr-x root/root 265536 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/imerode.oct -rwxr-xr-x root/root 220288 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/imreconstruct.oct -rwxr-xr-x root/root 43368 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/intlut.oct -rwxr-xr-x root/root 39280 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/nonmax_supress.oct -rwxr-xr-x root/root 39280 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/rotate_scale.oct -rwxr-xr-x root/root 211856 2018-11-25 18:28 ./usr/lib/x86_64-linux-gnu/octave/packages/image-2.8.1/x86_64-pc-linux-gnu-api-v52/watershed.oct drwxr-xr-x root/root 0 2018-11-25 18:28 ./usr/share/ drwxr-xr-x root/root 0 2018-11-25 18:28 ./usr/share/doc/ drwxr-xr-x root/root 0 2018-11-25 18:28 ./usr/share/doc/octave-image/ lrwxrwxrwx root/root 0 2018-11-25 18:28 ./usr/share/doc/octave-image/NEWS -> ../../octave/packages/image-2.8.1/packinfo/NEWS -rw-r--r-- root/root 1212 2018-11-25 18:28 ./usr/share/doc/octave-image/changelog.Debian.gz -rw-r--r-- root/root 5294 2018-11-25 18:23 ./usr/share/doc/octave-image/copyright drwxr-xr-x root/root 0 2018-11-25 18:28 ./usr/share/octave/ drwxr-xr-x root/root 0 2018-11-25 18:28 ./usr/share/octave/packages/ drwxr-xr-x root/root 0 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/ drwxr-xr-x root/root 0 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/@strel/ -rw-r--r-- root/root 1516 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/@strel/display.m -rw-r--r-- root/root 1065 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/@strel/getheight.m -rw-r--r-- root/root 2030 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/@strel/getneighbors.m -rw-r--r-- root/root 963 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/@strel/getnhood.m -rw-r--r-- root/root 2697 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/@strel/getsequence.m -rw-r--r-- root/root 1234 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/@strel/isflat.m -rw-r--r-- root/root 1307 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/@strel/isscalar.m -rw-r--r-- root/root 1046 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/@strel/numel.m -rw-r--r-- root/root 2568 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/@strel/reflect.m -rw-r--r-- root/root 1294 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/@strel/size.m -rw-r--r-- root/root 25439 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/@strel/strel.m -rw-r--r-- root/root 1731 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/@strel/subsref.m -rw-r--r-- root/root 1177 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/@strel/translate.m -rw-r--r-- root/root 6413 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/analyze75info.m -rw-r--r-- root/root 2579 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/analyze75read.m -rw-r--r-- root/root 10441 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/analyze75write.m -rw-r--r-- root/root 2179 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/applylut.m -rw-r--r-- root/root 3427 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/bestblk.m -rw-r--r-- root/root 6151 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/blockproc.m -rw-r--r-- root/root 1870 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/bwarea.m -rw-r--r-- root/root 10570 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/bwareafilt.m -rw-r--r-- root/root 3805 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/bwboundaries.m -rw-r--r-- root/root 3370 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/bweuler.m -rw-r--r-- root/root 3345 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/bwhitmiss.m -rw-r--r-- root/root 35934 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/bwmorph.m -rw-r--r-- root/root 9728 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/bwperim.m -rw-r--r-- root/root 4327 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/bwpropfilt.m -rw-r--r-- root/root 1433 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/bwselect.m -rw-r--r-- root/root 6914 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/checkerboard.m -rw-r--r-- root/root 8896 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/col2im.m -rw-r--r-- root/root 6948 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/colfilt.m -rw-r--r-- root/root 1543 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/colorgradient.m -rw-r--r-- root/root 1261 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/corr2.m -rw-r--r-- root/root 11375 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/cp2tform.m -rw-r--r-- root/root 232074 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/doc-cache -rw-r--r-- root/root 30318 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/edge.m -rw-r--r-- root/root 4361 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/edgetaper.m -rw-r--r-- root/root 2345 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/entropy.m -rw-r--r-- root/root 3537 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/entropyfilt.m -rw-r--r-- root/root 2519 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/fchcode.m -rw-r--r-- root/root 5662 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/fftconv2.m -rw-r--r-- root/root 6115 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/fftconvn.m -rw-r--r-- root/root 2824 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/findbounds.m -rw-r--r-- root/root 20857 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/fspecial.m -rw-r--r-- root/root 2757 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/getrangefromclass.m -rw-r--r-- root/root 3824 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/grayslice.m -rw-r--r-- root/root 32659 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/graythresh.m -rw-r--r-- root/root 3549 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/histeq.m -rw-r--r-- root/root 8994 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/hough.m -rw-r--r-- root/root 3282 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/hough_circle.m -rw-r--r-- root/root 3975 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/houghtf.m -rw-r--r-- root/root 5936 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/im2bw.m -rw-r--r-- root/root 8954 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/im2col.m -rw-r--r-- root/root 2229 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/im2int16.m -rw-r--r-- root/root 2899 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/im2single.m -rw-r--r-- root/root 3232 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/im2uint16.m -rw-r--r-- root/root 3188 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/im2uint8.m -rw-r--r-- root/root 3114 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imabsdiff.m -rw-r--r-- root/root 3689 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imadd.m -rw-r--r-- root/root 18718 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imadjust.m -rw-r--r-- root/root 5223 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imattributes.m -rw-r--r-- root/root 7141 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imbothat.m -rw-r--r-- root/root 6943 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imcast.m -rw-r--r-- root/root 4935 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imclearborder.m -rw-r--r-- root/root 4711 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imclose.m -rw-r--r-- root/root 2835 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imcomplement.m -rw-r--r-- root/root 9624 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imcrop.m -rw-r--r-- root/root 2792 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imdivide.m -rw-r--r-- root/root 5986 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imextendedmax.m -rw-r--r-- root/root 5995 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imextendedmin.m -rw-r--r-- root/root 16146 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imfill.m -rw-r--r-- root/root 6939 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imfilter.m -rw-r--r-- root/root 22194 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imfindcircles.m -rw-r--r-- root/root 3282 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imgetfile.m -rw-r--r-- root/root 3547 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imgradient.m -rw-r--r-- root/root 4032 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imgradientxy.m -rw-r--r-- root/root 7054 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imhist.m -rw-r--r-- root/root 6023 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imhmax.m -rw-r--r-- root/root 6439 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imhmin.m -rw-r--r-- root/root 8071 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imimposemin.m -rw-r--r-- root/root 4926 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imlincomb.m -rw-r--r-- root/root 4731 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/immaximas.m -rw-r--r-- root/root 1892 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/immse.m -rw-r--r-- root/root 2768 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/immultiply.m -rw-r--r-- root/root 5337 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imnoise.m -rw-r--r-- root/root 4737 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imopen.m -rw-r--r-- root/root 5584 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imperspectivewarp.m -rw-r--r-- root/root 6664 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/impixel.m -rw-r--r-- root/root 10542 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/impyramid.m -rw-r--r-- root/root 6832 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imquantize.m -rw-r--r-- root/root 3270 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imregionalmax.m -rw-r--r-- root/root 4011 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imregionalmin.m -rw-r--r-- root/root 7454 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imremap.m -rw-r--r-- root/root 12743 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imresize.m -rw-r--r-- root/root 14817 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imrotate.m -rw-r--r-- root/root 8837 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imsharpen.m -rw-r--r-- root/root 4231 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imshear.m -rw-r--r-- root/root 18966 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imsmooth.m -rw-r--r-- root/root 4241 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imsubtract.m -rw-r--r-- root/root 6855 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imtophat.m -rw-r--r-- root/root 14774 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imtransform.m -rw-r--r-- root/root 2628 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/imtranslate.m -rw-r--r-- root/root 2406 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/iptcheckmap.m -rw-r--r-- root/root 3517 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/iptnum2ordinal.m -rw-r--r-- root/root 5965 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/iradon.m -rw-r--r-- root/root 3555 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/isbw.m -rw-r--r-- root/root 2913 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/isgray.m -rw-r--r-- root/root 2326 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/isind.m -rw-r--r-- root/root 2550 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/isrgb.m -rw-r--r-- root/root 4056 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/lab2double.m -rw-r--r-- root/root 4994 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/lab2rgb.m -rw-r--r-- root/root 4014 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/lab2single.m -rw-r--r-- root/root 2920 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/lab2uint16.m -rw-r--r-- root/root 2732 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/lab2uint8.m -rw-r--r-- root/root 5432 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/lab2xyz.m -rw-r--r-- root/root 6341 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/label2rgb.m -rw-r--r-- root/root 2125 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/labelmatrix.m -rw-r--r-- root/root 2734 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/makelut.m -rw-r--r-- root/root 7116 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/maketform.m -rw-r--r-- root/root 4644 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/mat2gray.m -rw-r--r-- root/root 1759 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/mean2.m -rw-r--r-- root/root 4329 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/medfilt2.m -rw-r--r-- root/root 2773 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/mmgradm.m -rw-r--r-- root/root 14607 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/montage.m -rw-r--r-- root/root 6318 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/nlfilter.m -rw-r--r-- root/root 5641 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/normxcorr2.m -rw-r--r-- root/root 6404 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/ntsc2rgb.m -rw-r--r-- root/root 1573 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/ordfilt2.m -rw-r--r-- root/root 4864 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/ordfiltn.m -rw-r--r-- root/root 3984 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/otf2psf.m drwxr-xr-x root/root 0 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/packinfo/ -rw-r--r-- root/root 476 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/packinfo/DESCRIPTION -rw-r--r-- root/root 2214 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/packinfo/INDEX -rw-r--r-- root/root 30405 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/packinfo/NEWS -rw-r--r-- root/root 25296 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/padarray.m -rw-r--r-- root/root 8460 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/phantom.m -rw-r--r-- root/root 7006 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/poly2mask.m drwxr-xr-x root/root 0 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/private/ -rw-r--r-- root/root 1704 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/private/analyze75filename.m -rw-r--r-- root/root 3148 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/private/colorspace_conversion_input_check.m -rw-r--r-- root/root 1513 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/private/colorspace_conversion_revert.m -rw-r--r-- root/root 1508 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/private/handle_colorspec.m -rw-r--r-- root/root 2009 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/private/im2col_check.m -rw-r--r-- root/root 3703 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/private/imarithmetics.m -rw-r--r-- root/root 1383 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/private/interp_method.m -rw-r--r-- root/root 932 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/private/is_float_image.m -rw-r--r-- root/root 1007 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/private/isimage.m -rw-r--r-- root/root 1102 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/private/ispart.m -rw-r--r-- root/root 1290 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/private/istform.m -rw-r--r-- root/root 3314 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/private/lab2cls.m -rw-r--r-- root/root 1651 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/private/pad_for_sliding_filter.m -rw-r--r-- root/root 1491 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/private/prepare_strel.m -rw-r--r-- root/root 4023 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/private/ycbcrfunc.m -rw-r--r-- root/root 3382 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/psf2otf.m -rw-r--r-- root/root 2157 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/psnr.m -rw-r--r-- root/root 9832 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/qtdecomp.m -rw-r--r-- root/root 3794 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/qtgetblk.m -rw-r--r-- root/root 2601 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/qtsetblk.m -rw-r--r-- root/root 2403 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/radon.m -rw-r--r-- root/root 2623 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/rangefilt.m -rw-r--r-- root/root 53886 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/regionprops.m -rw-r--r-- root/root 4638 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/rgb2lab.m -rw-r--r-- root/root 4868 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/rgb2ntsc.m -rw-r--r-- root/root 5189 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/rgb2xyz.m -rw-r--r-- root/root 2831 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/rgb2ycbcr.m -rw-r--r-- root/root 5717 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/rho_filter.m -rw-r--r-- root/root 2147 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/roicolor.m -rw-r--r-- root/root 1075 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/std2.m -rw-r--r-- root/root 2802 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/stdfilt.m -rw-r--r-- root/root 13705 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/stretchlim.m -rw-r--r-- root/root 2616 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/subimage.m -rw-r--r-- root/root 2267 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/tformfwd.m -rw-r--r-- root/root 2269 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/tforminv.m -rw-r--r-- root/root 14006 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/tiff_tag_read.m -rw-r--r-- root/root 6638 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/viscircles.m -rw-r--r-- root/root 6433 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/wavelength2rgb.m -rw-r--r-- root/root 10515 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/wiener2.m -rw-r--r-- root/root 4950 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/xyz2lab.m -rw-r--r-- root/root 4732 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/xyz2rgb.m -rw-r--r-- root/root 2339 2018-11-25 18:28 ./usr/share/octave/packages/image-2.8.1/ycbcr2rgb.m +------------------------------------------------------------------------------+ | Post Build | +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ | Cleanup | +------------------------------------------------------------------------------+ Purging /<> Not removing build depends: as requested +------------------------------------------------------------------------------+ | Summary | +------------------------------------------------------------------------------+ Build Architecture: amd64 Build-Space: 170456 Build-Time: 767 Distribution: disco-proposed Host Architecture: amd64 Install-Time: 82 Job: octave-image_2.8.1-1.dsc Machine Architecture: amd64 Package: octave-image Package-Time: 851 Source-Version: 2.8.1-1 Space: 170456 Status: successful Version: 2.8.1-1 -------------------------------------------------------------------------------- Finished at 20181126-2341 Build needed 00:14:11, 170456k disc space RUN: /usr/share/launchpad-buildd/slavebin/in-target scan-for-processes --backend=chroot --series=disco --arch=amd64 PACKAGEBUILD-15708482 Scanning for processes to kill in build PACKAGEBUILD-15708482