diff --git a/basis/images/png/png-tests.factor b/basis/images/png/png-tests.factor index 7e3fb5dc97..858718e63f 100755 --- a/basis/images/png/png-tests.factor +++ b/basis/images/png/png-tests.factor @@ -1,7 +1,183 @@ -! Copyright (C) 2009 Doug Coleman. +! Copyright (C) 2009 Doug Coleman, Keith Lazuka ! See http://factorcode.org/license.txt for BSD license. -USING: images.testing ; +USING: images.testing io.directories ; IN: images.png.tests -"vocab:images/testing/png/rgb.png" decode-test -"vocab:images/testing/png/yin_yang.png" decode-test +! Test files from PngSuite (http://www.libpng.org/pub/png/pngsuite.html) + +! The subset of the suite that should work given the current implementation. +"vocab:images/testing/png" [ + "basn2c08.png" decode-test + "basn6a08.png" decode-test + "f00n2c08.png" decode-test + "f01n2c08.png" decode-test + "f02n2c08.png" decode-test + "f03n2c08.png" decode-test + "f04n2c08.png" decode-test + "z00n2c08.png" decode-test + "z03n2c08.png" decode-test + "z06n2c08.png" decode-test + "z09n2c08.png" decode-test +] with-directory + +! The current PNG decoder implementation is very limited, +! so the entire test suite is not currently enabled. +! "vocab:images/testing/png/suite" [ +! "basi0g01.png" decode-test +! "basi0g02.png" decode-test +! "basi0g04.png" decode-test +! "basi0g08.png" decode-test +! "basi0g16.png" decode-test +! "basi2c08.png" decode-test +! "basi2c16.png" decode-test +! "basi3p01.png" decode-test +! "basi3p02.png" decode-test +! "basi3p04.png" decode-test +! "basi3p08.png" decode-test +! "basi4a08.png" decode-test +! "basi4a16.png" decode-test +! "basi6a08.png" decode-test +! "basi6a16.png" decode-test +! "basn0g01.png" decode-test +! "basn0g02.png" decode-test +! "basn0g04.png" decode-test +! "basn0g08.png" decode-test +! "basn0g16.png" decode-test +! "basn2c08.png" decode-test +! "basn2c16.png" decode-test +! "basn3p01.png" decode-test +! "basn3p02.png" decode-test +! "basn3p04.png" decode-test +! "basn3p08.png" decode-test +! "basn4a08.png" decode-test +! "basn4a16.png" decode-test +! "basn6a08.png" decode-test +! "basn6a16.png" decode-test +! "bgai4a08.png" decode-test +! "bgai4a16.png" decode-test +! "bgan6a08.png" decode-test +! "bgan6a16.png" decode-test +! "bgbn4a08.png" decode-test +! "bggn4a16.png" decode-test +! "bgwn6a08.png" decode-test +! "bgyn6a16.png" decode-test +! "ccwn2c08.png" decode-test +! "ccwn3p08.png" decode-test +! "cdfn2c08.png" decode-test +! "cdhn2c08.png" decode-test +! "cdsn2c08.png" decode-test +! "cdun2c08.png" decode-test +! "ch1n3p04.png" decode-test +! "ch2n3p08.png" decode-test +! "cm0n0g04.png" decode-test +! "cm7n0g04.png" decode-test +! "cm9n0g04.png" decode-test +! "cs3n2c16.png" decode-test +! "cs3n3p08.png" decode-test +! "cs5n2c08.png" decode-test +! "cs5n3p08.png" decode-test +! "cs8n2c08.png" decode-test +! "cs8n3p08.png" decode-test +! "ct0n0g04.png" decode-test +! "ct1n0g04.png" decode-test +! "ctzn0g04.png" decode-test +! "f00n0g08.png" decode-test +! "f00n2c08.png" decode-test +! "f01n0g08.png" decode-test +! "f01n2c08.png" decode-test +! "f02n0g08.png" decode-test +! "f02n2c08.png" decode-test +! "f03n0g08.png" decode-test +! "f03n2c08.png" decode-test +! "f04n0g08.png" decode-test +! "f04n2c08.png" decode-test +! "g03n0g16.png" decode-test +! "g03n2c08.png" decode-test +! "g03n3p04.png" decode-test +! "g04n0g16.png" decode-test +! "g04n2c08.png" decode-test +! "g04n3p04.png" decode-test +! "g05n0g16.png" decode-test +! "g05n2c08.png" decode-test +! "g05n3p04.png" decode-test +! "g07n0g16.png" decode-test +! "g07n2c08.png" decode-test +! "g07n3p04.png" decode-test +! "g10n0g16.png" decode-test +! "g10n2c08.png" decode-test +! "g10n3p04.png" decode-test +! "g25n0g16.png" decode-test +! "g25n2c08.png" decode-test +! "g25n3p04.png" decode-test +! "oi1n0g16.png" decode-test +! "oi1n2c16.png" decode-test +! "oi2n0g16.png" decode-test +! "oi2n2c16.png" decode-test +! "oi4n0g16.png" decode-test +! "oi4n2c16.png" decode-test +! "oi9n0g16.png" decode-test +! "oi9n2c16.png" decode-test +! "pngsuite_logo.png" decode-test +! "pp0n2c16.png" decode-test +! "pp0n6a08.png" decode-test +! "ps1n0g08.png" decode-test +! "ps1n2c16.png" decode-test +! "ps2n0g08.png" decode-test +! "ps2n2c16.png" decode-test +! "s01i3p01.png" decode-test +! "s01n3p01.png" decode-test +! "s02i3p01.png" decode-test +! "s02n3p01.png" decode-test +! "s03i3p01.png" decode-test +! "s03n3p01.png" decode-test +! "s04i3p01.png" decode-test +! "s04n3p01.png" decode-test +! "s05i3p02.png" decode-test +! "s05n3p02.png" decode-test +! "s06i3p02.png" decode-test +! "s06n3p02.png" decode-test +! "s07i3p02.png" decode-test +! "s07n3p02.png" decode-test +! "s08i3p02.png" decode-test +! "s08n3p02.png" decode-test +! "s09i3p02.png" decode-test +! "s09n3p02.png" decode-test +! "s32i3p04.png" decode-test +! "s32n3p04.png" decode-test +! "s33i3p04.png" decode-test +! "s33n3p04.png" decode-test +! "s34i3p04.png" decode-test +! "s34n3p04.png" decode-test +! "s35i3p04.png" decode-test +! "s35n3p04.png" decode-test +! "s36i3p04.png" decode-test +! "s36n3p04.png" decode-test +! "s37i3p04.png" decode-test +! "s37n3p04.png" decode-test +! "s38i3p04.png" decode-test +! "s38n3p04.png" decode-test +! "s39i3p04.png" decode-test +! "s39n3p04.png" decode-test +! "s40i3p04.png" decode-test +! "s40n3p04.png" decode-test +! "tbbn1g04.png" decode-test +! "tbbn2c16.png" decode-test +! "tbbn3p08.png" decode-test +! "tbgn2c16.png" decode-test +! "tbgn3p08.png" decode-test +! "tbrn2c08.png" decode-test +! "tbwn1g16.png" decode-test +! "tbwn3p08.png" decode-test +! "tbyn3p08.png" decode-test +! "tp0n1g08.png" decode-test +! "tp0n2c08.png" decode-test +! "tp0n3p08.png" decode-test +! "tp1n3p08.png" decode-test +! "x00n0g01.png" decode-test +! "xcrn0g04.png" decode-test +! "xlfn0g04.png" decode-test +! "z00n2c08.png" decode-test +! "z03n2c08.png" decode-test +! "z06n2c08.png" decode-test +! "z09n2c08.png" decode-test +! ] with-directory diff --git a/basis/images/testing/png/basn2c08.fig b/basis/images/testing/png/basn2c08.fig new file mode 100644 index 0000000000..84f8c97b93 Binary files /dev/null and b/basis/images/testing/png/basn2c08.fig differ diff --git a/basis/images/testing/png/basn2c08.png b/basis/images/testing/png/basn2c08.png new file mode 100644 index 0000000000..db5ad15865 Binary files /dev/null and b/basis/images/testing/png/basn2c08.png differ diff --git a/basis/images/testing/png/basn6a08.fig b/basis/images/testing/png/basn6a08.fig new file mode 100644 index 0000000000..f188879876 Binary files /dev/null and b/basis/images/testing/png/basn6a08.fig differ diff --git a/basis/images/testing/png/basn6a08.png b/basis/images/testing/png/basn6a08.png new file mode 100644 index 0000000000..e608738763 Binary files /dev/null and b/basis/images/testing/png/basn6a08.png differ diff --git a/basis/images/testing/png/f00n2c08.fig b/basis/images/testing/png/f00n2c08.fig new file mode 100644 index 0000000000..6a6aef9b0f Binary files /dev/null and b/basis/images/testing/png/f00n2c08.fig differ diff --git a/basis/images/testing/png/f00n2c08.png b/basis/images/testing/png/f00n2c08.png new file mode 100644 index 0000000000..d6a1ffff62 Binary files /dev/null and b/basis/images/testing/png/f00n2c08.png differ diff --git a/basis/images/testing/png/f01n2c08.fig b/basis/images/testing/png/f01n2c08.fig new file mode 100644 index 0000000000..f08c0bbee3 Binary files /dev/null and b/basis/images/testing/png/f01n2c08.fig differ diff --git a/basis/images/testing/png/f01n2c08.png b/basis/images/testing/png/f01n2c08.png new file mode 100644 index 0000000000..26fee958ce Binary files /dev/null and b/basis/images/testing/png/f01n2c08.png differ diff --git a/basis/images/testing/png/f02n2c08.fig b/basis/images/testing/png/f02n2c08.fig new file mode 100644 index 0000000000..722f02a5ff Binary files /dev/null and b/basis/images/testing/png/f02n2c08.fig differ diff --git a/basis/images/testing/png/f02n2c08.png b/basis/images/testing/png/f02n2c08.png new file mode 100644 index 0000000000..e590f12348 Binary files /dev/null and b/basis/images/testing/png/f02n2c08.png differ diff --git a/basis/images/testing/png/f03n2c08.fig b/basis/images/testing/png/f03n2c08.fig new file mode 100644 index 0000000000..2a37fe6c7b Binary files /dev/null and b/basis/images/testing/png/f03n2c08.fig differ diff --git a/basis/images/testing/png/f03n2c08.png b/basis/images/testing/png/f03n2c08.png new file mode 100644 index 0000000000..758115059d Binary files /dev/null and b/basis/images/testing/png/f03n2c08.png differ diff --git a/basis/images/testing/png/f04n2c08.fig b/basis/images/testing/png/f04n2c08.fig new file mode 100644 index 0000000000..c0db771fa4 Binary files /dev/null and b/basis/images/testing/png/f04n2c08.fig differ diff --git a/basis/images/testing/png/f04n2c08.png b/basis/images/testing/png/f04n2c08.png new file mode 100644 index 0000000000..3c8b5116e7 Binary files /dev/null and b/basis/images/testing/png/f04n2c08.png differ diff --git a/basis/images/testing/png/rgb.fig b/basis/images/testing/png/rgb.fig deleted file mode 100644 index cbe75e6b87..0000000000 Binary files a/basis/images/testing/png/rgb.fig and /dev/null differ diff --git a/basis/images/testing/png/rgb.png b/basis/images/testing/png/rgb.png deleted file mode 100755 index d34914a5ec..0000000000 Binary files a/basis/images/testing/png/rgb.png and /dev/null differ diff --git a/basis/images/testing/png/suite/basi0g01.png b/basis/images/testing/png/suite/basi0g01.png new file mode 100644 index 0000000000..556fa72704 Binary files /dev/null and b/basis/images/testing/png/suite/basi0g01.png differ diff --git a/basis/images/testing/png/suite/basi0g02.png b/basis/images/testing/png/suite/basi0g02.png new file mode 100644 index 0000000000..ce09821ef1 Binary files /dev/null and b/basis/images/testing/png/suite/basi0g02.png differ diff --git a/basis/images/testing/png/suite/basi0g04.png b/basis/images/testing/png/suite/basi0g04.png new file mode 100644 index 0000000000..3853273f93 Binary files /dev/null and b/basis/images/testing/png/suite/basi0g04.png differ diff --git a/basis/images/testing/png/suite/basi0g08.png b/basis/images/testing/png/suite/basi0g08.png new file mode 100644 index 0000000000..faed8bec44 Binary files /dev/null and b/basis/images/testing/png/suite/basi0g08.png differ diff --git a/basis/images/testing/png/suite/basi0g16.png b/basis/images/testing/png/suite/basi0g16.png new file mode 100644 index 0000000000..a9f28165ef Binary files /dev/null and b/basis/images/testing/png/suite/basi0g16.png differ diff --git a/basis/images/testing/png/suite/basi2c08.png b/basis/images/testing/png/suite/basi2c08.png new file mode 100644 index 0000000000..2aab44d42b Binary files /dev/null and b/basis/images/testing/png/suite/basi2c08.png differ diff --git a/basis/images/testing/png/suite/basi2c16.png b/basis/images/testing/png/suite/basi2c16.png new file mode 100644 index 0000000000..cd7e50f914 Binary files /dev/null and b/basis/images/testing/png/suite/basi2c16.png differ diff --git a/basis/images/testing/png/suite/basi3p01.png b/basis/images/testing/png/suite/basi3p01.png new file mode 100644 index 0000000000..00a7cea6c2 Binary files /dev/null and b/basis/images/testing/png/suite/basi3p01.png differ diff --git a/basis/images/testing/png/suite/basi3p02.png b/basis/images/testing/png/suite/basi3p02.png new file mode 100644 index 0000000000..bb16b44b30 Binary files /dev/null and b/basis/images/testing/png/suite/basi3p02.png differ diff --git a/basis/images/testing/png/suite/basi3p04.png b/basis/images/testing/png/suite/basi3p04.png new file mode 100644 index 0000000000..b4e888e247 Binary files /dev/null and b/basis/images/testing/png/suite/basi3p04.png differ diff --git a/basis/images/testing/png/suite/basi3p08.png b/basis/images/testing/png/suite/basi3p08.png new file mode 100644 index 0000000000..50a6d1cac7 Binary files /dev/null and b/basis/images/testing/png/suite/basi3p08.png differ diff --git a/basis/images/testing/png/suite/basi4a08.png b/basis/images/testing/png/suite/basi4a08.png new file mode 100644 index 0000000000..398132be5f Binary files /dev/null and b/basis/images/testing/png/suite/basi4a08.png differ diff --git a/basis/images/testing/png/suite/basi4a16.png b/basis/images/testing/png/suite/basi4a16.png new file mode 100644 index 0000000000..51192e7311 Binary files /dev/null and b/basis/images/testing/png/suite/basi4a16.png differ diff --git a/basis/images/testing/png/suite/basi6a08.png b/basis/images/testing/png/suite/basi6a08.png new file mode 100644 index 0000000000..aecb32e0d9 Binary files /dev/null and b/basis/images/testing/png/suite/basi6a08.png differ diff --git a/basis/images/testing/png/suite/basi6a16.png b/basis/images/testing/png/suite/basi6a16.png new file mode 100644 index 0000000000..4181533ad8 Binary files /dev/null and b/basis/images/testing/png/suite/basi6a16.png differ diff --git a/basis/images/testing/png/suite/basn0g01.png b/basis/images/testing/png/suite/basn0g01.png new file mode 100644 index 0000000000..1d722423aa Binary files /dev/null and b/basis/images/testing/png/suite/basn0g01.png differ diff --git a/basis/images/testing/png/suite/basn0g02.png b/basis/images/testing/png/suite/basn0g02.png new file mode 100644 index 0000000000..508332418f Binary files /dev/null and b/basis/images/testing/png/suite/basn0g02.png differ diff --git a/basis/images/testing/png/suite/basn0g04.png b/basis/images/testing/png/suite/basn0g04.png new file mode 100644 index 0000000000..0bf3687863 Binary files /dev/null and b/basis/images/testing/png/suite/basn0g04.png differ diff --git a/basis/images/testing/png/suite/basn0g08.png b/basis/images/testing/png/suite/basn0g08.png new file mode 100644 index 0000000000..23c82379a2 Binary files /dev/null and b/basis/images/testing/png/suite/basn0g08.png differ diff --git a/basis/images/testing/png/suite/basn0g16.png b/basis/images/testing/png/suite/basn0g16.png new file mode 100644 index 0000000000..e7c82f78eb Binary files /dev/null and b/basis/images/testing/png/suite/basn0g16.png differ diff --git a/basis/images/testing/png/suite/basn2c08.png b/basis/images/testing/png/suite/basn2c08.png new file mode 100644 index 0000000000..db5ad15865 Binary files /dev/null and b/basis/images/testing/png/suite/basn2c08.png differ diff --git a/basis/images/testing/png/suite/basn2c16.png b/basis/images/testing/png/suite/basn2c16.png new file mode 100644 index 0000000000..50c1cb91a0 Binary files /dev/null and b/basis/images/testing/png/suite/basn2c16.png differ diff --git a/basis/images/testing/png/suite/basn3p01.png b/basis/images/testing/png/suite/basn3p01.png new file mode 100644 index 0000000000..b145c2b8ef Binary files /dev/null and b/basis/images/testing/png/suite/basn3p01.png differ diff --git a/basis/images/testing/png/suite/basn3p02.png b/basis/images/testing/png/suite/basn3p02.png new file mode 100644 index 0000000000..8985b3d818 Binary files /dev/null and b/basis/images/testing/png/suite/basn3p02.png differ diff --git a/basis/images/testing/png/suite/basn3p04.png b/basis/images/testing/png/suite/basn3p04.png new file mode 100644 index 0000000000..0fbf9e827b Binary files /dev/null and b/basis/images/testing/png/suite/basn3p04.png differ diff --git a/basis/images/testing/png/suite/basn3p08.png b/basis/images/testing/png/suite/basn3p08.png new file mode 100644 index 0000000000..0ddad07e5f Binary files /dev/null and b/basis/images/testing/png/suite/basn3p08.png differ diff --git a/basis/images/testing/png/suite/basn4a08.png b/basis/images/testing/png/suite/basn4a08.png new file mode 100644 index 0000000000..3e13052201 Binary files /dev/null and b/basis/images/testing/png/suite/basn4a08.png differ diff --git a/basis/images/testing/png/suite/basn4a16.png b/basis/images/testing/png/suite/basn4a16.png new file mode 100644 index 0000000000..8243644d07 Binary files /dev/null and b/basis/images/testing/png/suite/basn4a16.png differ diff --git a/basis/images/testing/png/suite/basn6a08.png b/basis/images/testing/png/suite/basn6a08.png new file mode 100644 index 0000000000..e608738763 Binary files /dev/null and b/basis/images/testing/png/suite/basn6a08.png differ diff --git a/basis/images/testing/png/suite/basn6a16.png b/basis/images/testing/png/suite/basn6a16.png new file mode 100644 index 0000000000..984a99525f Binary files /dev/null and b/basis/images/testing/png/suite/basn6a16.png differ diff --git a/basis/images/testing/png/suite/bgai4a08.png b/basis/images/testing/png/suite/bgai4a08.png new file mode 100644 index 0000000000..398132be5f Binary files /dev/null and b/basis/images/testing/png/suite/bgai4a08.png differ diff --git a/basis/images/testing/png/suite/bgai4a16.png b/basis/images/testing/png/suite/bgai4a16.png new file mode 100644 index 0000000000..51192e7311 Binary files /dev/null and b/basis/images/testing/png/suite/bgai4a16.png differ diff --git a/basis/images/testing/png/suite/bgan6a08.png b/basis/images/testing/png/suite/bgan6a08.png new file mode 100644 index 0000000000..e608738763 Binary files /dev/null and b/basis/images/testing/png/suite/bgan6a08.png differ diff --git a/basis/images/testing/png/suite/bgan6a16.png b/basis/images/testing/png/suite/bgan6a16.png new file mode 100644 index 0000000000..984a99525f Binary files /dev/null and b/basis/images/testing/png/suite/bgan6a16.png differ diff --git a/basis/images/testing/png/suite/bgbn4a08.png b/basis/images/testing/png/suite/bgbn4a08.png new file mode 100644 index 0000000000..7cbefc3bff Binary files /dev/null and b/basis/images/testing/png/suite/bgbn4a08.png differ diff --git a/basis/images/testing/png/suite/bggn4a16.png b/basis/images/testing/png/suite/bggn4a16.png new file mode 100644 index 0000000000..13fd85ba19 Binary files /dev/null and b/basis/images/testing/png/suite/bggn4a16.png differ diff --git a/basis/images/testing/png/suite/bgwn6a08.png b/basis/images/testing/png/suite/bgwn6a08.png new file mode 100644 index 0000000000..a67ff205bb Binary files /dev/null and b/basis/images/testing/png/suite/bgwn6a08.png differ diff --git a/basis/images/testing/png/suite/bgyn6a16.png b/basis/images/testing/png/suite/bgyn6a16.png new file mode 100644 index 0000000000..ae3e9be58a Binary files /dev/null and b/basis/images/testing/png/suite/bgyn6a16.png differ diff --git a/basis/images/testing/png/suite/ccwn2c08.png b/basis/images/testing/png/suite/ccwn2c08.png new file mode 100644 index 0000000000..47c24817b7 Binary files /dev/null and b/basis/images/testing/png/suite/ccwn2c08.png differ diff --git a/basis/images/testing/png/suite/ccwn3p08.png b/basis/images/testing/png/suite/ccwn3p08.png new file mode 100644 index 0000000000..8bb2c10981 Binary files /dev/null and b/basis/images/testing/png/suite/ccwn3p08.png differ diff --git a/basis/images/testing/png/suite/cdfn2c08.png b/basis/images/testing/png/suite/cdfn2c08.png new file mode 100644 index 0000000000..559e5261e7 Binary files /dev/null and b/basis/images/testing/png/suite/cdfn2c08.png differ diff --git a/basis/images/testing/png/suite/cdhn2c08.png b/basis/images/testing/png/suite/cdhn2c08.png new file mode 100644 index 0000000000..3e07e8ecbd Binary files /dev/null and b/basis/images/testing/png/suite/cdhn2c08.png differ diff --git a/basis/images/testing/png/suite/cdsn2c08.png b/basis/images/testing/png/suite/cdsn2c08.png new file mode 100644 index 0000000000..076c32cc08 Binary files /dev/null and b/basis/images/testing/png/suite/cdsn2c08.png differ diff --git a/basis/images/testing/png/suite/cdun2c08.png b/basis/images/testing/png/suite/cdun2c08.png new file mode 100644 index 0000000000..846033be6b Binary files /dev/null and b/basis/images/testing/png/suite/cdun2c08.png differ diff --git a/basis/images/testing/png/suite/ch1n3p04.png b/basis/images/testing/png/suite/ch1n3p04.png new file mode 100644 index 0000000000..17cd12dfc9 Binary files /dev/null and b/basis/images/testing/png/suite/ch1n3p04.png differ diff --git a/basis/images/testing/png/suite/ch2n3p08.png b/basis/images/testing/png/suite/ch2n3p08.png new file mode 100644 index 0000000000..25c17987a7 Binary files /dev/null and b/basis/images/testing/png/suite/ch2n3p08.png differ diff --git a/basis/images/testing/png/suite/cm0n0g04.png b/basis/images/testing/png/suite/cm0n0g04.png new file mode 100644 index 0000000000..9fba5db3b8 Binary files /dev/null and b/basis/images/testing/png/suite/cm0n0g04.png differ diff --git a/basis/images/testing/png/suite/cm7n0g04.png b/basis/images/testing/png/suite/cm7n0g04.png new file mode 100644 index 0000000000..f7dc46e685 Binary files /dev/null and b/basis/images/testing/png/suite/cm7n0g04.png differ diff --git a/basis/images/testing/png/suite/cm9n0g04.png b/basis/images/testing/png/suite/cm9n0g04.png new file mode 100644 index 0000000000..dd70911adc Binary files /dev/null and b/basis/images/testing/png/suite/cm9n0g04.png differ diff --git a/basis/images/testing/png/suite/cs3n2c16.png b/basis/images/testing/png/suite/cs3n2c16.png new file mode 100644 index 0000000000..bf5fd20a20 Binary files /dev/null and b/basis/images/testing/png/suite/cs3n2c16.png differ diff --git a/basis/images/testing/png/suite/cs3n3p08.png b/basis/images/testing/png/suite/cs3n3p08.png new file mode 100644 index 0000000000..f4a66237bf Binary files /dev/null and b/basis/images/testing/png/suite/cs3n3p08.png differ diff --git a/basis/images/testing/png/suite/cs5n2c08.png b/basis/images/testing/png/suite/cs5n2c08.png new file mode 100644 index 0000000000..40f947c33e Binary files /dev/null and b/basis/images/testing/png/suite/cs5n2c08.png differ diff --git a/basis/images/testing/png/suite/cs5n3p08.png b/basis/images/testing/png/suite/cs5n3p08.png new file mode 100644 index 0000000000..dfd6e6e6ec Binary files /dev/null and b/basis/images/testing/png/suite/cs5n3p08.png differ diff --git a/basis/images/testing/png/suite/cs8n2c08.png b/basis/images/testing/png/suite/cs8n2c08.png new file mode 100644 index 0000000000..8e01d3294f Binary files /dev/null and b/basis/images/testing/png/suite/cs8n2c08.png differ diff --git a/basis/images/testing/png/suite/cs8n3p08.png b/basis/images/testing/png/suite/cs8n3p08.png new file mode 100644 index 0000000000..a44066eb6e Binary files /dev/null and b/basis/images/testing/png/suite/cs8n3p08.png differ diff --git a/basis/images/testing/png/suite/ct0n0g04.png b/basis/images/testing/png/suite/ct0n0g04.png new file mode 100644 index 0000000000..40d1e062f8 Binary files /dev/null and b/basis/images/testing/png/suite/ct0n0g04.png differ diff --git a/basis/images/testing/png/suite/ct1n0g04.png b/basis/images/testing/png/suite/ct1n0g04.png new file mode 100644 index 0000000000..3ba110aa76 Binary files /dev/null and b/basis/images/testing/png/suite/ct1n0g04.png differ diff --git a/basis/images/testing/png/suite/ctzn0g04.png b/basis/images/testing/png/suite/ctzn0g04.png new file mode 100644 index 0000000000..b4401c9cfc Binary files /dev/null and b/basis/images/testing/png/suite/ctzn0g04.png differ diff --git a/basis/images/testing/png/suite/f00n0g08.png b/basis/images/testing/png/suite/f00n0g08.png new file mode 100644 index 0000000000..45a0075967 Binary files /dev/null and b/basis/images/testing/png/suite/f00n0g08.png differ diff --git a/basis/images/testing/png/suite/f00n2c08.png b/basis/images/testing/png/suite/f00n2c08.png new file mode 100644 index 0000000000..d6a1ffff62 Binary files /dev/null and b/basis/images/testing/png/suite/f00n2c08.png differ diff --git a/basis/images/testing/png/suite/f01n0g08.png b/basis/images/testing/png/suite/f01n0g08.png new file mode 100644 index 0000000000..4a1107b463 Binary files /dev/null and b/basis/images/testing/png/suite/f01n0g08.png differ diff --git a/basis/images/testing/png/suite/f01n2c08.png b/basis/images/testing/png/suite/f01n2c08.png new file mode 100644 index 0000000000..26fee958ce Binary files /dev/null and b/basis/images/testing/png/suite/f01n2c08.png differ diff --git a/basis/images/testing/png/suite/f02n0g08.png b/basis/images/testing/png/suite/f02n0g08.png new file mode 100644 index 0000000000..bfe410c5e7 Binary files /dev/null and b/basis/images/testing/png/suite/f02n0g08.png differ diff --git a/basis/images/testing/png/suite/f02n2c08.png b/basis/images/testing/png/suite/f02n2c08.png new file mode 100644 index 0000000000..e590f12348 Binary files /dev/null and b/basis/images/testing/png/suite/f02n2c08.png differ diff --git a/basis/images/testing/png/suite/f03n0g08.png b/basis/images/testing/png/suite/f03n0g08.png new file mode 100644 index 0000000000..ed01e2923c Binary files /dev/null and b/basis/images/testing/png/suite/f03n0g08.png differ diff --git a/basis/images/testing/png/suite/f03n2c08.png b/basis/images/testing/png/suite/f03n2c08.png new file mode 100644 index 0000000000..758115059d Binary files /dev/null and b/basis/images/testing/png/suite/f03n2c08.png differ diff --git a/basis/images/testing/png/suite/f04n0g08.png b/basis/images/testing/png/suite/f04n0g08.png new file mode 100644 index 0000000000..663fdae3e7 Binary files /dev/null and b/basis/images/testing/png/suite/f04n0g08.png differ diff --git a/basis/images/testing/png/suite/f04n2c08.png b/basis/images/testing/png/suite/f04n2c08.png new file mode 100644 index 0000000000..3c8b5116e7 Binary files /dev/null and b/basis/images/testing/png/suite/f04n2c08.png differ diff --git a/basis/images/testing/png/suite/g03n0g16.png b/basis/images/testing/png/suite/g03n0g16.png new file mode 100644 index 0000000000..41083ca80f Binary files /dev/null and b/basis/images/testing/png/suite/g03n0g16.png differ diff --git a/basis/images/testing/png/suite/g03n2c08.png b/basis/images/testing/png/suite/g03n2c08.png new file mode 100644 index 0000000000..a9354dbee6 Binary files /dev/null and b/basis/images/testing/png/suite/g03n2c08.png differ diff --git a/basis/images/testing/png/suite/g03n3p04.png b/basis/images/testing/png/suite/g03n3p04.png new file mode 100644 index 0000000000..60396c95af Binary files /dev/null and b/basis/images/testing/png/suite/g03n3p04.png differ diff --git a/basis/images/testing/png/suite/g04n0g16.png b/basis/images/testing/png/suite/g04n0g16.png new file mode 100644 index 0000000000..32395b76c9 Binary files /dev/null and b/basis/images/testing/png/suite/g04n0g16.png differ diff --git a/basis/images/testing/png/suite/g04n2c08.png b/basis/images/testing/png/suite/g04n2c08.png new file mode 100644 index 0000000000..a652b0ce87 Binary files /dev/null and b/basis/images/testing/png/suite/g04n2c08.png differ diff --git a/basis/images/testing/png/suite/g04n3p04.png b/basis/images/testing/png/suite/g04n3p04.png new file mode 100644 index 0000000000..5661cc3131 Binary files /dev/null and b/basis/images/testing/png/suite/g04n3p04.png differ diff --git a/basis/images/testing/png/suite/g05n0g16.png b/basis/images/testing/png/suite/g05n0g16.png new file mode 100644 index 0000000000..70b37f01e2 Binary files /dev/null and b/basis/images/testing/png/suite/g05n0g16.png differ diff --git a/basis/images/testing/png/suite/g05n2c08.png b/basis/images/testing/png/suite/g05n2c08.png new file mode 100644 index 0000000000..932c136536 Binary files /dev/null and b/basis/images/testing/png/suite/g05n2c08.png differ diff --git a/basis/images/testing/png/suite/g05n3p04.png b/basis/images/testing/png/suite/g05n3p04.png new file mode 100644 index 0000000000..9619930585 Binary files /dev/null and b/basis/images/testing/png/suite/g05n3p04.png differ diff --git a/basis/images/testing/png/suite/g07n0g16.png b/basis/images/testing/png/suite/g07n0g16.png new file mode 100644 index 0000000000..d6a47c2d57 Binary files /dev/null and b/basis/images/testing/png/suite/g07n0g16.png differ diff --git a/basis/images/testing/png/suite/g07n2c08.png b/basis/images/testing/png/suite/g07n2c08.png new file mode 100644 index 0000000000..597346460f Binary files /dev/null and b/basis/images/testing/png/suite/g07n2c08.png differ diff --git a/basis/images/testing/png/suite/g07n3p04.png b/basis/images/testing/png/suite/g07n3p04.png new file mode 100644 index 0000000000..c73fb61365 Binary files /dev/null and b/basis/images/testing/png/suite/g07n3p04.png differ diff --git a/basis/images/testing/png/suite/g10n0g16.png b/basis/images/testing/png/suite/g10n0g16.png new file mode 100644 index 0000000000..85f2c958e9 Binary files /dev/null and b/basis/images/testing/png/suite/g10n0g16.png differ diff --git a/basis/images/testing/png/suite/g10n2c08.png b/basis/images/testing/png/suite/g10n2c08.png new file mode 100644 index 0000000000..b3039970c1 Binary files /dev/null and b/basis/images/testing/png/suite/g10n2c08.png differ diff --git a/basis/images/testing/png/suite/g10n3p04.png b/basis/images/testing/png/suite/g10n3p04.png new file mode 100644 index 0000000000..1b6a6be2ca Binary files /dev/null and b/basis/images/testing/png/suite/g10n3p04.png differ diff --git a/basis/images/testing/png/suite/g25n0g16.png b/basis/images/testing/png/suite/g25n0g16.png new file mode 100644 index 0000000000..a9f6787c7a Binary files /dev/null and b/basis/images/testing/png/suite/g25n0g16.png differ diff --git a/basis/images/testing/png/suite/g25n2c08.png b/basis/images/testing/png/suite/g25n2c08.png new file mode 100644 index 0000000000..03f505a64b Binary files /dev/null and b/basis/images/testing/png/suite/g25n2c08.png differ diff --git a/basis/images/testing/png/suite/g25n3p04.png b/basis/images/testing/png/suite/g25n3p04.png new file mode 100644 index 0000000000..4f943c6175 Binary files /dev/null and b/basis/images/testing/png/suite/g25n3p04.png differ diff --git a/basis/images/testing/png/suite/oi1n0g16.png b/basis/images/testing/png/suite/oi1n0g16.png new file mode 100644 index 0000000000..e7c82f78eb Binary files /dev/null and b/basis/images/testing/png/suite/oi1n0g16.png differ diff --git a/basis/images/testing/png/suite/oi1n2c16.png b/basis/images/testing/png/suite/oi1n2c16.png new file mode 100644 index 0000000000..50c1cb91a0 Binary files /dev/null and b/basis/images/testing/png/suite/oi1n2c16.png differ diff --git a/basis/images/testing/png/suite/oi2n0g16.png b/basis/images/testing/png/suite/oi2n0g16.png new file mode 100644 index 0000000000..14d64c583d Binary files /dev/null and b/basis/images/testing/png/suite/oi2n0g16.png differ diff --git a/basis/images/testing/png/suite/oi2n2c16.png b/basis/images/testing/png/suite/oi2n2c16.png new file mode 100644 index 0000000000..4c2e3e3352 Binary files /dev/null and b/basis/images/testing/png/suite/oi2n2c16.png differ diff --git a/basis/images/testing/png/suite/oi4n0g16.png b/basis/images/testing/png/suite/oi4n0g16.png new file mode 100644 index 0000000000..69e73ede31 Binary files /dev/null and b/basis/images/testing/png/suite/oi4n0g16.png differ diff --git a/basis/images/testing/png/suite/oi4n2c16.png b/basis/images/testing/png/suite/oi4n2c16.png new file mode 100644 index 0000000000..93691e373a Binary files /dev/null and b/basis/images/testing/png/suite/oi4n2c16.png differ diff --git a/basis/images/testing/png/suite/oi9n0g16.png b/basis/images/testing/png/suite/oi9n0g16.png new file mode 100644 index 0000000000..9248413576 Binary files /dev/null and b/basis/images/testing/png/suite/oi9n0g16.png differ diff --git a/basis/images/testing/png/suite/oi9n2c16.png b/basis/images/testing/png/suite/oi9n2c16.png new file mode 100644 index 0000000000..f0512e49f2 Binary files /dev/null and b/basis/images/testing/png/suite/oi9n2c16.png differ diff --git a/basis/images/testing/png/suite/pngsuite.doc b/basis/images/testing/png/suite/pngsuite.doc new file mode 100644 index 0000000000..7da918b4e9 --- /dev/null +++ b/basis/images/testing/png/suite/pngsuite.doc @@ -0,0 +1,520 @@ + PNGSUITE +---------------- + + testset for PNG-(de)coders + created by Willem van Schaik +------------------------------------ + +This is a collection of graphics images created to test the png applications +like viewers, converters and editors. All (as far as that is possible) +formats supported by the PNG standard are represented. + + +1. INTRODUCTION +-------------------- + +1.1 PNG capabilities +------------------------ + +Supported color-types are: + + - grayscale + - grayscale + alpha-channel + - color palettes + - rgb + - rgb + alpha-channel + +Allowed bitdepths are depending on the color-type, but are in the range +of 1-bit (grayscale, which is b&w) upto 16-bits. + +Special features are: + + - interlacing (Adam-7) + - gamma-support + - transparency (a poor-man's alpha solution) + + +1.2 File naming +------------------- + +Where possible, the testfiles are 32x32 bits icons. This results in a still +reasonable size of the suite even with a large number of tests. The name +of each test-file reflects thetype in the following way: + + g04i2c08.png + || |||+---- bit-depth + || ||+----- color-type (descriptive) + || |+------ color-type (numerical) + || +------- interlaced or non-interlaced + |+--------- parameter of test (in this case gamma-value) + +---------- test feature (in this case gamma) + + +1.3 PNG formats +------------------- + +color-type: + 0g - grayscale + 2c - rgb color + 3p - paletted + 4a - grayscale + alpha channel + 6a - rgb color + alpha channel + +bit-depth: + 01 - with color-type 0, 3 + 02 - with color-type 0, 3 + 04 - with color-type 0, 3 + 08 - with color-type 0, 2, 3, 4, 6 + 16 - with color-type 0, 2, 4, 6 + +interlacing: + n - non-interlaced + i - interlaced + + +2. THE TESTS +----------------- + +2.1 Sizes +------------- + +These tests are there to check if your software handles pictures well, with +picture sizes that are not a multiple of 8. This is particularly important +with Adam-7 type interlacing. In the same way these tests check if pictures +size 1x1 and similar are ok. + + s01 - 1x1 pixel picture + s02 - 2x2 pixel picture + s03 - 3x3 pixel picture + s04 - 4x4 pixel picture + s05 - 5x5 pixel picture + s06 - 6x6 pixel picture + s07 - 7x7 pixel picture + s08 - 8x8 pixel picture + s09 - 9x9 pixel picture + s32 - 32x32 pixel picture + s33 - 33x33 pixel picture + s34 - 34x34 pixel picture + s35 - 35x35 pixel picture + s36 - 36x36 pixel picture + s37 - 37x37 pixel picture + s38 - 38x38 pixel picture + s39 - 39x39 pixel picture + s40 - 40x40 pixel picture + + +2.2 Background +------------------ + +When the PNG file contains a background chunck, this should be used for +pictures with alpha-channel or pictures with a transparency chunck. For +pictures without this background-chunk, but with alpha, this testset +assumes a black background. + +For the images in this test, the left-side should be 100% the background +color, where moving to the right the color should gradually become the +image pattern. + + bga - alpha + no background + bgw - alpha + white background + bgg - alpha + gray background + bgb - alpha + black background + bgy - alpha + yellow background + + +2.3 Transparency +-------------------- + +Transparency should be used together with a background chunk. To test the +combination of the two the latter 4 tests are there. How to handle pictures +with transparancy, but without a background, opinions can differ. Here we +use black, but especially in the case of paletted images, the normal color +would maybe even be better. + + tp0 - not transparent for reference + tp1 - transparent, but no background chunk + tbw - transparent + white background + tbg - transparent + gray background + tbb - transparent + black background + tby - transparent + yellow background + + +2.4 Gamma +------------- + +To test if your viewer handles gamma-correction, 6 testfiles are available. +They contain corrected color-ramps and a corresponding gamma-chunk with the +file-gamma value. These are created in such a way that when the viewer does +the gamma correction right, all 6 should be displayed identical. + +If they are different, probably the gamma correction is omitted. In that +case, have a look at the two right coloumns in the 6 pictures. The image +where those two look the same (when looked from far) reflects the gamma of +your system. However, because of the limited size of the image, you should +do more elaborate tests to determine your display gamma. + + g03 - file-gamma = 0.35, for display with gamma = 2.8 + g04 - file-gamma = 0.45, for display with gamma = 2.2 (PC) + g05 - file-gamma = 0.55, for display with gamma = 1.8 (Mac) + g07 - file-gamma = 0.70, for display with gamma = 1.4 + g10 - file-gamma = 1.00, for display with gamma = 1.0 (NeXT) + g25 - file-gamma = 2.50, for display with gamma = 0.4 + + +2.5 Filtering +----------------- + +PNG uses file-filtering, for optimal compression. Normally the type is of +filtering is adjusted to the contents of the picture, but here each file +has the same picture, with a different filtering. + + f0 - no filtering + f1 - sub filtering + f2 - up filtering + f3 - average filtering + f4 - paeth filtering + + +2.6 Additional palettes +--------------------------- + +Besides the normal use of paletted images, palette chunks can in combination +with true-color (and other) images also be used to select color lookup-tables +when the video system is of limited capabilities. The suggested palette chunk +is specially created for this purpose. + + pp - normal palette chunk + ps - suggested palette chunk + + +2.7 Ancillary chunks (under construction) +------------------------ + +To test the correct decoding of ancillary chunks, these test-files contain +one or more examples of these chunkcs. Depending on the type of chunk, a +number of typical values are selected to test. Unluckily, the testset can +not contain all combinations, because that would be an endless set. + +The significant bits are used in files with the next higher bit-depth. They +indicate howmany bits are valid. + + cs3 - 3 significant bits + cs5 - 5 significant bits + cs8 - 8 significant bits (reference) + cs3 - 13 significant bits + +For the physical pixel dimensions, the result of each decoding should be +a sqare picture. The first (cdf) image is an example of flat (horizontal) +pixels, where the pHYS chunk (x is 1 per unit, y = 4 per unit) must take +care of the correction. The second is just the other way round. The last +example uses the unit specifier, for 1000 pixels per meter. This should +result in a picture of 3.2 cm square. + + cdf - physical pixel dimensions, 8x32 flat pixels + cdh - physical pixel dimensions, 32x8 high pixels + cds - physical pixel dimensions, 8x8 square pixels + cdu - physical pixel dimensions, with unit-specifier + + ccw - primary chromaticities and white point + + ch1 - histogram 15 colors + ch2 - histogram 256 colors + + cm7 - modification time, 01-jan-1970 + cm9 - modification time, 31-dec-1999 + cm0 - modification time, 01-jan-2000 + +In the textual chunk, a number of the standard, and some non-standard +text items are included. + + ct0 - no textual data + ct1 - with textual data + ctz - with compressed textual data + + +2.8 Chunk ordering (still under construction) +---------------------- + +These testfiles will test the obligatory ordering relations between various +chunk types (not yet) as well as the number of data chunks used for the image. + + oi1 - mother image with 1 idat-chunk + oi2 - image with 2 idat-chunks + oi4 - image with 4 unequal sized idat-chunks + oi9 - all idat-chunks of length one + + +2.9 Compression level +------------------------- + +Here you will find a set of images compressed by zlib, ranging from level 0 +for no compression at maximum speed upto level 9 for maximum compression. + + z00 - zlib compression level 0 - none + z03 - zlib compression level 3 + z06 - zlib compression level 6 - default + z09 - zlib compression level 9 - maximum + + +2.10 Corrupted files (under construction) +----------------------- + +All these files are illegal. When decoding they should generate appropriate +error-messages. + + x00 - empty IDAT chunk + xcr - added cr bytes + xlf - added lf bytes + xc0 - color type 0 + xc9 - color type 9 + xd0 - bit-depth 0 + xd3 - bit-depth 3 + xd9 - bit-depth 99 + xcs - incorrect IDAT checksum + + +3. TEST FILES +------------------ + +For each of the tests listed above, one or more test-files are created. A +selection is made (for each test) for the color-type and bitdepth to be used +for the tests. Further for a number of tests, both a non-interlaced as well +as an interlaced version is available. + + +3.1 Basic format test files (non-interlaced) +------------------------------------------------ + + basn0g01 - black & white + basn0g02 - 2 bit (4 level) grayscale + basn0g04 - 4 bit (16 level) grayscale + basn0g08 - 8 bit (256 level) grayscale + basn0g16 - 16 bit (64k level) grayscale + basn2c08 - 3x8 bits rgb color + basn2c16 - 3x16 bits rgb color + basn3p01 - 1 bit (2 color) paletted + basn3p02 - 2 bit (4 color) paletted + basn3p04 - 4 bit (16 color) paletted + basn3p08 - 8 bit (256 color) paletted + basn4a08 - 8 bit grayscale + 8 bit alpha-channel + basn4a16 - 16 bit grayscale + 16 bit alpha-channel + basn6a08 - 3x8 bits rgb color + 8 bit alpha-channel + basn6a16 - 3x16 bits rgb color + 16 bit alpha-channel + + +3.2 Basic format test files (Adam-7 interlaced) +--------------------------------------------------- + + basi0g01 - black & white + basi0g02 - 2 bit (4 level) grayscale + basi0g04 - 4 bit (16 level) grayscale + basi0g08 - 8 bit (256 level) grayscale + basi0g16 - 16 bit (64k level) grayscale + basi2c08 - 3x8 bits rgb color + basi2c16 - 3x16 bits rgb color + basi3p01 - 1 bit (2 color) paletted + basi3p02 - 2 bit (4 color) paletted + basi3p04 - 4 bit (16 color) paletted + basi3p08 - 8 bit (256 color) paletted + basi4a08 - 8 bit grayscale + 8 bit alpha-channel + basi4a16 - 16 bit grayscale + 16 bit alpha-channel + basi6a08 - 3x8 bits rgb color + 8 bit alpha-channel + basi6a16 - 3x16 bits rgb color + 16 bit alpha-channel + + +3.3 Sizes test files +----------------------- + + s01n3p01 - 1x1 paletted file, no interlacing + s02n3p01 - 2x2 paletted file, no interlacing + s03n3p01 - 3x3 paletted file, no interlacing + s04n3p01 - 4x4 paletted file, no interlacing + s05n3p02 - 5x5 paletted file, no interlacing + s06n3p02 - 6x6 paletted file, no interlacing + s07n3p02 - 7x7 paletted file, no interlacing + s08n3p02 - 8x8 paletted file, no interlacing + s09n3p02 - 9x9 paletted file, no interlacing + s32n3p04 - 32x32 paletted file, no interlacing + s33n3p04 - 33x33 paletted file, no interlacing + s34n3p04 - 34x34 paletted file, no interlacing + s35n3p04 - 35x35 paletted file, no interlacing + s36n3p04 - 36x36 paletted file, no interlacing + s37n3p04 - 37x37 paletted file, no interlacing + s38n3p04 - 38x38 paletted file, no interlacing + s39n3p04 - 39x39 paletted file, no interlacing + s40n3p04 - 40x40 paletted file, no interlacing + + s01i3p01 - 1x1 paletted file, interlaced + s02i3p01 - 2x2 paletted file, interlaced + s03i3p01 - 3x3 paletted file, interlaced + s04i3p01 - 4x4 paletted file, interlaced + s05i3p02 - 5x5 paletted file, interlaced + s06i3p02 - 6x6 paletted file, interlaced + s07i3p02 - 7x7 paletted file, interlaced + s08i3p02 - 8x8 paletted file, interlaced + s09i3p02 - 9x9 paletted file, interlaced + s32i3p04 - 32x32 paletted file, interlaced + s33i3p04 - 33x33 paletted file, interlaced + s34i3p04 - 34x34 paletted file, interlaced + s35i3p04 - 35x35 paletted file, interlaced + s36i3p04 - 36x36 paletted file, interlaced + s37i3p04 - 37x37 paletted file, interlaced + s38i3p04 - 38x38 paletted file, interlaced + s39i3p04 - 39x39 paletted file, interlaced + s40i3p04 - 40x40 paletted file, interlaced + + +3.4 Background test files (with alpha) +------------------------------------------ + + bgai4a08 - 8 bit grayscale, alpha, no background chunk, interlaced + bgai4a16 - 16 bit grayscale, alpha, no background chunk, interlaced + bgan6a08 - 3x8 bits rgb color, alpha, no background chunk + bgan6a16 - 3x16 bits rgb color, alpha, no background chunk + + bgbn4a08 - 8 bit grayscale, alpha, black background chunk + bggn4a16 - 16 bit grayscale, alpha, gray background chunk + bgwn6a08 - 3x8 bits rgb color, alpha, white background chunk + bgyn6a16 - 3x16 bits rgb color, alpha, yellow background chunk + + +3.5 Transparency (and background) test files +------------------------------------------------ + + tp0n1g08 - not transparent for reference (logo on gray) + tbbn1g04 - transparent, black background chunk + tbwn1g16 - transparent, white background chunk + tp0n2c08 - not transparent for reference (logo on gray) + tbrn2c08 - transparent, red background chunk + tbgn2c16 - transparent, green background chunk + tbbn2c16 - transparent, blue background chunk + tp0n3p08 - not transparent for reference (logo on gray) + tp1n3p08 - transparent, but no background chunk + tbbn3p08 - transparent, black background chunk + tbgn3p08 - transparent, light-gray background chunk + tbwn3p08 - transparent, white background chunk + tbyn3p08 - transparent, yellow background chunk + + +3.6 Gamma test files +------------------------ + + g03n0g16 - grayscale, file-gamma = 0.35 + g04n0g16 - grayscale, file-gamma = 0.45 + g05n0g16 - grayscale, file-gamma = 0.55 + g07n0g16 - grayscale, file-gamma = 0.70 + g10n0g16 - grayscale, file-gamma = 1.00 + g25n0g16 - grayscale, file-gamma = 2.50 + g03n2c08 - color, file-gamma = 0.35 + g04n2c08 - color, file-gamma = 0.45 + g05n2c08 - color, file-gamma = 0.55 + g07n2c08 - color, file-gamma = 0.70 + g10n2c08 - color, file-gamma = 1.00 + g25n2c08 - color, file-gamma = 2.50 + g03n3p04 - paletted, file-gamma = 0.35 + g04n3p04 - paletted, file-gamma = 0.45 + g05n3p04 - paletted, file-gamma = 0.55 + g07n3p04 - paletted, file-gamma = 0.70 + g10n3p04 - paletted, file-gamma = 1.00 + g25n3p04 - paletted, file-gamma = 2.50 + + +3.7 Filtering test files +---------------------------- + + f00n0g08 - grayscale, no interlacing, filter-type 0 + f01n0g08 - grayscale, no interlacing, filter-type 1 + f02n0g08 - grayscale, no interlacing, filter-type 2 + f03n0g08 - grayscale, no interlacing, filter-type 3 + f04n0g08 - grayscale, no interlacing, filter-type 4 + f00n2c08 - color, no interlacing, filter-type 0 + f01n2c08 - color, no interlacing, filter-type 1 + f02n2c08 - color, no interlacing, filter-type 2 + f03n2c08 - color, no interlacing, filter-type 3 + f04n2c08 - color, no interlacing, filter-type 4 + + +3.8 Additional palette chunk test files +------------------------------------------- + + pp0n2c16 - six-cube palette-chunk in true-color image + pp0n6a08 - six-cube palette-chunk in true-color+alpha image + ps1n0g08 - six-cube suggested palette (1 byte) in grayscale image + ps1n2c16 - six-cube suggested palette (1 byte) in true-color image + ps2n0g08 - six-cube suggested palette (2 bytes) in grayscale image + ps2n2c16 - six-cube suggested palette (2 bytes) in true-color image + + +3.9 Ancillary chunks test files +----------------------------------- + + cs5n2c08 - color, 5 significant bits + cs8n2c08 - color, 8 significant bits (reference) + cs3n2c16 - color, 13 significant bits + cs3n3p08 - paletted, 3 significant bits + cs5n3p08 - paletted, 5 significant bits + cs8n3p08 - paletted, 8 significant bits (reference) + + cdfn2c08 - physical pixel dimensions, 8x32 flat pixels + cdhn2c08 - physical pixel dimensions, 32x8 high pixels + cdsn2c08 - physical pixel dimensions, 8x8 square pixels + cdun2c08 - physical pixel dimensions, 1000 pixels per 1 meter + + ccwn2c08 - chroma chunk w:0.3127,0.3290 r:0.64,0.33 g:0.30,0.60 b:0.15,0.06 + ccwn3p08 - chroma chunk w:0.3127,0.3290 r:0.64,0.33 g:0.30,0.60 b:0.15,0.06 + + ch1n3p04 - histogram 15 colors + ch2n3p08 - histogram 256 colors + + cm7n0g04 - modification time, 01-jan-1970 00:00:00 + cm9n0g04 - modification time, 31-dec-1999 23:59:59 + cm0n0g04 - modification time, 01-jan-2000 12:34:56 + + ct0n0g04 - no textual data + ct1n0g04 - with textual data + ctzn0g04 - with compressed textual data + + + +3.10 Chunk ordering +---------------------- + + oi1n0g16 - grayscale mother image with 1 idat-chunk + oi2n0g16 - grayscale image with 2 idat-chunks + oi4n0g16 - grayscale image with 4 unequal sized idat-chunks + oi9n0g16 - grayscale image with all idat-chunks length one + oi1n2c16 - color mother image with 1 idat-chunk + oi2n2c16 - color image with 2 idat-chunks + oi4n2c16 - color image with 4 unequal sized idat-chunks + oi9n2c16 - color image with all idat-chunks length one + + + +3.11 Compression level +------------------------- + + z00n2c08 - color, no interlacing, compression level 0 (none) + z03n2c08 - color, no interlacing, compression level 3 + z06n2c08 - color, no interlacing, compression level 6 (default) + z09n2c08 - color, no interlacing, compression level 9 (maximum) + + + +3.12 Currupted files +----------------------- + + x00n0g01 - empty 0x0 grayscale file + xcrn0g04 - added cr bytes + xlfn0g04 - added lf bytes + xc0n0c08 - color type 0 + xc9n0c08 - color type 9 + xd0n2c00 - bit-depth 0 + xd3n2c03 - bit-depth 3 + xd9n2c99 - bit-depth 99 + xcsn2c08 - incorrect IDAT checksum + + +-------- + (c) Willem van Schaik + willem@schaik.com + Singapore, October 1996 diff --git a/basis/images/testing/png/suite/pngsuite_logo.png b/basis/images/testing/png/suite/pngsuite_logo.png new file mode 100644 index 0000000000..205460d828 Binary files /dev/null and b/basis/images/testing/png/suite/pngsuite_logo.png differ diff --git a/basis/images/testing/png/suite/pp0n2c16.png b/basis/images/testing/png/suite/pp0n2c16.png new file mode 100644 index 0000000000..8f2aad7335 Binary files /dev/null and b/basis/images/testing/png/suite/pp0n2c16.png differ diff --git a/basis/images/testing/png/suite/pp0n6a08.png b/basis/images/testing/png/suite/pp0n6a08.png new file mode 100644 index 0000000000..4ed7a30e4d Binary files /dev/null and b/basis/images/testing/png/suite/pp0n6a08.png differ diff --git a/basis/images/testing/png/suite/ps1n0g08.png b/basis/images/testing/png/suite/ps1n0g08.png new file mode 100644 index 0000000000..2053df2ba3 Binary files /dev/null and b/basis/images/testing/png/suite/ps1n0g08.png differ diff --git a/basis/images/testing/png/suite/ps1n2c16.png b/basis/images/testing/png/suite/ps1n2c16.png new file mode 100644 index 0000000000..b03ecfc669 Binary files /dev/null and b/basis/images/testing/png/suite/ps1n2c16.png differ diff --git a/basis/images/testing/png/suite/ps2n0g08.png b/basis/images/testing/png/suite/ps2n0g08.png new file mode 100644 index 0000000000..beeab8ff3d Binary files /dev/null and b/basis/images/testing/png/suite/ps2n0g08.png differ diff --git a/basis/images/testing/png/suite/ps2n2c16.png b/basis/images/testing/png/suite/ps2n2c16.png new file mode 100644 index 0000000000..c256f9091b Binary files /dev/null and b/basis/images/testing/png/suite/ps2n2c16.png differ diff --git a/basis/images/testing/png/suite/s01i3p01.png b/basis/images/testing/png/suite/s01i3p01.png new file mode 100644 index 0000000000..6c0fad1fc9 Binary files /dev/null and b/basis/images/testing/png/suite/s01i3p01.png differ diff --git a/basis/images/testing/png/suite/s01n3p01.png b/basis/images/testing/png/suite/s01n3p01.png new file mode 100644 index 0000000000..cb2c8c7826 Binary files /dev/null and b/basis/images/testing/png/suite/s01n3p01.png differ diff --git a/basis/images/testing/png/suite/s02i3p01.png b/basis/images/testing/png/suite/s02i3p01.png new file mode 100644 index 0000000000..2defaed911 Binary files /dev/null and b/basis/images/testing/png/suite/s02i3p01.png differ diff --git a/basis/images/testing/png/suite/s02n3p01.png b/basis/images/testing/png/suite/s02n3p01.png new file mode 100644 index 0000000000..2b1b669643 Binary files /dev/null and b/basis/images/testing/png/suite/s02n3p01.png differ diff --git a/basis/images/testing/png/suite/s03i3p01.png b/basis/images/testing/png/suite/s03i3p01.png new file mode 100644 index 0000000000..c23fdc4631 Binary files /dev/null and b/basis/images/testing/png/suite/s03i3p01.png differ diff --git a/basis/images/testing/png/suite/s03n3p01.png b/basis/images/testing/png/suite/s03n3p01.png new file mode 100644 index 0000000000..6d96ee4f87 Binary files /dev/null and b/basis/images/testing/png/suite/s03n3p01.png differ diff --git a/basis/images/testing/png/suite/s04i3p01.png b/basis/images/testing/png/suite/s04i3p01.png new file mode 100644 index 0000000000..0e710c2c39 Binary files /dev/null and b/basis/images/testing/png/suite/s04i3p01.png differ diff --git a/basis/images/testing/png/suite/s04n3p01.png b/basis/images/testing/png/suite/s04n3p01.png new file mode 100644 index 0000000000..956396c45b Binary files /dev/null and b/basis/images/testing/png/suite/s04n3p01.png differ diff --git a/basis/images/testing/png/suite/s05i3p02.png b/basis/images/testing/png/suite/s05i3p02.png new file mode 100644 index 0000000000..d14cbd351a Binary files /dev/null and b/basis/images/testing/png/suite/s05i3p02.png differ diff --git a/basis/images/testing/png/suite/s05n3p02.png b/basis/images/testing/png/suite/s05n3p02.png new file mode 100644 index 0000000000..bf940f0576 Binary files /dev/null and b/basis/images/testing/png/suite/s05n3p02.png differ diff --git a/basis/images/testing/png/suite/s06i3p02.png b/basis/images/testing/png/suite/s06i3p02.png new file mode 100644 index 0000000000..456ada3200 Binary files /dev/null and b/basis/images/testing/png/suite/s06i3p02.png differ diff --git a/basis/images/testing/png/suite/s06n3p02.png b/basis/images/testing/png/suite/s06n3p02.png new file mode 100644 index 0000000000..501064dc25 Binary files /dev/null and b/basis/images/testing/png/suite/s06n3p02.png differ diff --git a/basis/images/testing/png/suite/s07i3p02.png b/basis/images/testing/png/suite/s07i3p02.png new file mode 100644 index 0000000000..44b66bab9e Binary files /dev/null and b/basis/images/testing/png/suite/s07i3p02.png differ diff --git a/basis/images/testing/png/suite/s07n3p02.png b/basis/images/testing/png/suite/s07n3p02.png new file mode 100644 index 0000000000..6a582593d6 Binary files /dev/null and b/basis/images/testing/png/suite/s07n3p02.png differ diff --git a/basis/images/testing/png/suite/s08i3p02.png b/basis/images/testing/png/suite/s08i3p02.png new file mode 100644 index 0000000000..acf74f3fc4 Binary files /dev/null and b/basis/images/testing/png/suite/s08i3p02.png differ diff --git a/basis/images/testing/png/suite/s08n3p02.png b/basis/images/testing/png/suite/s08n3p02.png new file mode 100644 index 0000000000..b7094e1b4f Binary files /dev/null and b/basis/images/testing/png/suite/s08n3p02.png differ diff --git a/basis/images/testing/png/suite/s09i3p02.png b/basis/images/testing/png/suite/s09i3p02.png new file mode 100644 index 0000000000..0bfae8e456 Binary files /dev/null and b/basis/images/testing/png/suite/s09i3p02.png differ diff --git a/basis/images/testing/png/suite/s09n3p02.png b/basis/images/testing/png/suite/s09n3p02.png new file mode 100644 index 0000000000..711ab82451 Binary files /dev/null and b/basis/images/testing/png/suite/s09n3p02.png differ diff --git a/basis/images/testing/png/suite/s32i3p04.png b/basis/images/testing/png/suite/s32i3p04.png new file mode 100644 index 0000000000..0841910b72 Binary files /dev/null and b/basis/images/testing/png/suite/s32i3p04.png differ diff --git a/basis/images/testing/png/suite/s32n3p04.png b/basis/images/testing/png/suite/s32n3p04.png new file mode 100644 index 0000000000..fa58e3e3f6 Binary files /dev/null and b/basis/images/testing/png/suite/s32n3p04.png differ diff --git a/basis/images/testing/png/suite/s33i3p04.png b/basis/images/testing/png/suite/s33i3p04.png new file mode 100644 index 0000000000..ab0dc14aba Binary files /dev/null and b/basis/images/testing/png/suite/s33i3p04.png differ diff --git a/basis/images/testing/png/suite/s33n3p04.png b/basis/images/testing/png/suite/s33n3p04.png new file mode 100644 index 0000000000..764f1a3dc7 Binary files /dev/null and b/basis/images/testing/png/suite/s33n3p04.png differ diff --git a/basis/images/testing/png/suite/s34i3p04.png b/basis/images/testing/png/suite/s34i3p04.png new file mode 100644 index 0000000000..bd99039be4 Binary files /dev/null and b/basis/images/testing/png/suite/s34i3p04.png differ diff --git a/basis/images/testing/png/suite/s34n3p04.png b/basis/images/testing/png/suite/s34n3p04.png new file mode 100644 index 0000000000..9cbc68b3b9 Binary files /dev/null and b/basis/images/testing/png/suite/s34n3p04.png differ diff --git a/basis/images/testing/png/suite/s35i3p04.png b/basis/images/testing/png/suite/s35i3p04.png new file mode 100644 index 0000000000..e2a5e0a659 Binary files /dev/null and b/basis/images/testing/png/suite/s35i3p04.png differ diff --git a/basis/images/testing/png/suite/s35n3p04.png b/basis/images/testing/png/suite/s35n3p04.png new file mode 100644 index 0000000000..90b892ebaf Binary files /dev/null and b/basis/images/testing/png/suite/s35n3p04.png differ diff --git a/basis/images/testing/png/suite/s36i3p04.png b/basis/images/testing/png/suite/s36i3p04.png new file mode 100644 index 0000000000..eb61b6f9a3 Binary files /dev/null and b/basis/images/testing/png/suite/s36i3p04.png differ diff --git a/basis/images/testing/png/suite/s36n3p04.png b/basis/images/testing/png/suite/s36n3p04.png new file mode 100644 index 0000000000..b38d179774 Binary files /dev/null and b/basis/images/testing/png/suite/s36n3p04.png differ diff --git a/basis/images/testing/png/suite/s37i3p04.png b/basis/images/testing/png/suite/s37i3p04.png new file mode 100644 index 0000000000..6e2b1e9b79 Binary files /dev/null and b/basis/images/testing/png/suite/s37i3p04.png differ diff --git a/basis/images/testing/png/suite/s37n3p04.png b/basis/images/testing/png/suite/s37n3p04.png new file mode 100644 index 0000000000..4d3054da51 Binary files /dev/null and b/basis/images/testing/png/suite/s37n3p04.png differ diff --git a/basis/images/testing/png/suite/s38i3p04.png b/basis/images/testing/png/suite/s38i3p04.png new file mode 100644 index 0000000000..a0a8a140ad Binary files /dev/null and b/basis/images/testing/png/suite/s38i3p04.png differ diff --git a/basis/images/testing/png/suite/s38n3p04.png b/basis/images/testing/png/suite/s38n3p04.png new file mode 100644 index 0000000000..1233ed048e Binary files /dev/null and b/basis/images/testing/png/suite/s38n3p04.png differ diff --git a/basis/images/testing/png/suite/s39i3p04.png b/basis/images/testing/png/suite/s39i3p04.png new file mode 100644 index 0000000000..04fee93eae Binary files /dev/null and b/basis/images/testing/png/suite/s39i3p04.png differ diff --git a/basis/images/testing/png/suite/s39n3p04.png b/basis/images/testing/png/suite/s39n3p04.png new file mode 100644 index 0000000000..c750100d55 Binary files /dev/null and b/basis/images/testing/png/suite/s39n3p04.png differ diff --git a/basis/images/testing/png/suite/s40i3p04.png b/basis/images/testing/png/suite/s40i3p04.png new file mode 100644 index 0000000000..68f358b822 Binary files /dev/null and b/basis/images/testing/png/suite/s40i3p04.png differ diff --git a/basis/images/testing/png/suite/s40n3p04.png b/basis/images/testing/png/suite/s40n3p04.png new file mode 100644 index 0000000000..864b6b9673 Binary files /dev/null and b/basis/images/testing/png/suite/s40n3p04.png differ diff --git a/basis/images/testing/png/suite/tbbn1g04.png b/basis/images/testing/png/suite/tbbn1g04.png new file mode 100644 index 0000000000..fc8002053a Binary files /dev/null and b/basis/images/testing/png/suite/tbbn1g04.png differ diff --git a/basis/images/testing/png/suite/tbbn2c16.png b/basis/images/testing/png/suite/tbbn2c16.png new file mode 100644 index 0000000000..5abfbbb3a2 Binary files /dev/null and b/basis/images/testing/png/suite/tbbn2c16.png differ diff --git a/basis/images/testing/png/suite/tbbn3p08.png b/basis/images/testing/png/suite/tbbn3p08.png new file mode 100644 index 0000000000..4210d16832 Binary files /dev/null and b/basis/images/testing/png/suite/tbbn3p08.png differ diff --git a/basis/images/testing/png/suite/tbgn2c16.png b/basis/images/testing/png/suite/tbgn2c16.png new file mode 100644 index 0000000000..236c81dcf3 Binary files /dev/null and b/basis/images/testing/png/suite/tbgn2c16.png differ diff --git a/basis/images/testing/png/suite/tbgn3p08.png b/basis/images/testing/png/suite/tbgn3p08.png new file mode 100644 index 0000000000..42db2325b1 Binary files /dev/null and b/basis/images/testing/png/suite/tbgn3p08.png differ diff --git a/basis/images/testing/png/suite/tbrn2c08.png b/basis/images/testing/png/suite/tbrn2c08.png new file mode 100644 index 0000000000..8c214746d5 Binary files /dev/null and b/basis/images/testing/png/suite/tbrn2c08.png differ diff --git a/basis/images/testing/png/suite/tbwn1g16.png b/basis/images/testing/png/suite/tbwn1g16.png new file mode 100644 index 0000000000..dba2cbb6c3 Binary files /dev/null and b/basis/images/testing/png/suite/tbwn1g16.png differ diff --git a/basis/images/testing/png/suite/tbwn3p08.png b/basis/images/testing/png/suite/tbwn3p08.png new file mode 100644 index 0000000000..7922135aa7 Binary files /dev/null and b/basis/images/testing/png/suite/tbwn3p08.png differ diff --git a/basis/images/testing/png/suite/tbyn3p08.png b/basis/images/testing/png/suite/tbyn3p08.png new file mode 100644 index 0000000000..5b2c6cbbaa Binary files /dev/null and b/basis/images/testing/png/suite/tbyn3p08.png differ diff --git a/basis/images/testing/png/suite/tp0n1g08.png b/basis/images/testing/png/suite/tp0n1g08.png new file mode 100644 index 0000000000..caad31deae Binary files /dev/null and b/basis/images/testing/png/suite/tp0n1g08.png differ diff --git a/basis/images/testing/png/suite/tp0n2c08.png b/basis/images/testing/png/suite/tp0n2c08.png new file mode 100644 index 0000000000..f26be44679 Binary files /dev/null and b/basis/images/testing/png/suite/tp0n2c08.png differ diff --git a/basis/images/testing/png/suite/tp0n3p08.png b/basis/images/testing/png/suite/tp0n3p08.png new file mode 100644 index 0000000000..4d6cf9e44c Binary files /dev/null and b/basis/images/testing/png/suite/tp0n3p08.png differ diff --git a/basis/images/testing/png/suite/tp1n3p08.png b/basis/images/testing/png/suite/tp1n3p08.png new file mode 100644 index 0000000000..6c5fd6ec32 Binary files /dev/null and b/basis/images/testing/png/suite/tp1n3p08.png differ diff --git a/basis/images/testing/png/suite/x00n0g01.png b/basis/images/testing/png/suite/x00n0g01.png new file mode 100644 index 0000000000..db3a5fda7e Binary files /dev/null and b/basis/images/testing/png/suite/x00n0g01.png differ diff --git a/basis/images/testing/png/suite/xcrn0g04.png b/basis/images/testing/png/suite/xcrn0g04.png new file mode 100644 index 0000000000..5bce9f3ada Binary files /dev/null and b/basis/images/testing/png/suite/xcrn0g04.png differ diff --git a/basis/images/testing/png/suite/xlfn0g04.png b/basis/images/testing/png/suite/xlfn0g04.png new file mode 100644 index 0000000000..1fd104ba61 --- /dev/null +++ b/basis/images/testing/png/suite/xlfn0g04.png @@ -0,0 +1,13 @@ +PNG + + + + + +IHDR )IDATx] +0 P*@# + +#T10lPF`ؠF=IQ*u`%qk +H񚈩mߟ э=,fOK + +t(F ;P{xp]9/p*$(*yՃ@C  cqNU#)11.rf0gh(tEkIENDB` \ No newline at end of file diff --git a/basis/images/testing/png/suite/z00n2c08.png b/basis/images/testing/png/suite/z00n2c08.png new file mode 100644 index 0000000000..7669eb8385 Binary files /dev/null and b/basis/images/testing/png/suite/z00n2c08.png differ diff --git a/basis/images/testing/png/suite/z03n2c08.png b/basis/images/testing/png/suite/z03n2c08.png new file mode 100644 index 0000000000..bfb10de8de Binary files /dev/null and b/basis/images/testing/png/suite/z03n2c08.png differ diff --git a/basis/images/testing/png/suite/z06n2c08.png b/basis/images/testing/png/suite/z06n2c08.png new file mode 100644 index 0000000000..b90ebc10f5 Binary files /dev/null and b/basis/images/testing/png/suite/z06n2c08.png differ diff --git a/basis/images/testing/png/suite/z09n2c08.png b/basis/images/testing/png/suite/z09n2c08.png new file mode 100644 index 0000000000..5f191a78ee Binary files /dev/null and b/basis/images/testing/png/suite/z09n2c08.png differ diff --git a/basis/images/testing/png/yin_yang.fig b/basis/images/testing/png/yin_yang.fig deleted file mode 100644 index 59931d73d4..0000000000 Binary files a/basis/images/testing/png/yin_yang.fig and /dev/null differ diff --git a/basis/images/testing/png/yin_yang.png b/basis/images/testing/png/yin_yang.png deleted file mode 100644 index 16d4ad06f6..0000000000 Binary files a/basis/images/testing/png/yin_yang.png and /dev/null differ diff --git a/basis/images/testing/png/z00n2c08.fig b/basis/images/testing/png/z00n2c08.fig new file mode 100644 index 0000000000..9d171e68b7 Binary files /dev/null and b/basis/images/testing/png/z00n2c08.fig differ diff --git a/basis/images/testing/png/z00n2c08.png b/basis/images/testing/png/z00n2c08.png new file mode 100644 index 0000000000..7669eb8385 Binary files /dev/null and b/basis/images/testing/png/z00n2c08.png differ diff --git a/basis/images/testing/png/z03n2c08.fig b/basis/images/testing/png/z03n2c08.fig new file mode 100644 index 0000000000..9d171e68b7 Binary files /dev/null and b/basis/images/testing/png/z03n2c08.fig differ diff --git a/basis/images/testing/png/z03n2c08.png b/basis/images/testing/png/z03n2c08.png new file mode 100644 index 0000000000..bfb10de8de Binary files /dev/null and b/basis/images/testing/png/z03n2c08.png differ diff --git a/basis/images/testing/png/z06n2c08.fig b/basis/images/testing/png/z06n2c08.fig new file mode 100644 index 0000000000..9d171e68b7 Binary files /dev/null and b/basis/images/testing/png/z06n2c08.fig differ diff --git a/basis/images/testing/png/z06n2c08.png b/basis/images/testing/png/z06n2c08.png new file mode 100644 index 0000000000..b90ebc10f5 Binary files /dev/null and b/basis/images/testing/png/z06n2c08.png differ diff --git a/basis/images/testing/png/z09n2c08.fig b/basis/images/testing/png/z09n2c08.fig new file mode 100644 index 0000000000..9d171e68b7 Binary files /dev/null and b/basis/images/testing/png/z09n2c08.fig differ diff --git a/basis/images/testing/png/z09n2c08.png b/basis/images/testing/png/z09n2c08.png new file mode 100644 index 0000000000..5f191a78ee Binary files /dev/null and b/basis/images/testing/png/z09n2c08.png differ diff --git a/basis/images/testing/testing.factor b/basis/images/testing/testing.factor index c57a17ffc7..538f098df5 100644 --- a/basis/images/testing/testing.factor +++ b/basis/images/testing/testing.factor @@ -1,9 +1,9 @@ ! Copyright (C) 2009 Keith Lazuka. ! See http://factorcode.org/license.txt for BSD license. -USING: fry images.loader images.normalization io -io.encodings.binary io.files io.pathnames io.streams.byte-array -kernel locals namespaces quotations sequences serialize -tools.test ; +USING: fry images.loader images.normalization images.viewer io +io.directories io.encodings.binary io.files io.pathnames +io.streams.byte-array kernel locals namespaces quotations +sequences serialize tools.test ; IN: images.testing +:: with-matching-files ( dirpath extension quot -- ) + dirpath [ + [ + dup file-extension extension = quot [ drop ] if + ] each + ] with-directory-files ; inline + +: images. ( dirpath extension -- ) + [ image. ] with-matching-files ; + +: ls ( dirpath extension -- ) + [ "\"" dup surround print ] with-matching-files ; + : save-as-reference-image ( path -- ) [ load-image ] [ fig-name ] bi binary [ serialize ] with-file-writer ; +: save-all-as-reference-images ( dirpath extension -- ) + [ save-as-reference-image ] with-matching-files ; + : load-reference-image ( path -- image ) fig-name binary [ deserialize ] with-file-reader ;