Hello, GNU Guile-CV 0.1.6 is released. * About Guile-CV - Image Processing and Analysis in Guile - is a Computer Vision functional programming library for the Guile Scheme language. Based on Vigra (Vision with Generic Algorithms - a C++ image processing and analysis library), Guile-CV comprises a direct binding to Vigra C (a C wrapper to most of the Vigra functionality), enriched with pure Guile scheme algorithms, all accessible through a nice, clean and easy to use high level API. Guile-CV is natively multi-threaded, and takes advantage of multiple cores, using high-level and fine grained application-level parallelism constructs available in Guile, based on its support to POSIX threads. http://www.gnu.org/software/guile-cv/ * Download Here are the compressed sources and a GPG detached signature [*]: http://ftp.gnu.org/gnu/guile-cv/guile-cv-0.1.6.tar.gz http://ftp.gnu.org/gnu/guile-cv/guile-cv-0.1.6.tar.gz.sig This released was bootstrapped with the following tools: -] gcc (Debian 6.4.0-1) 6.4.0 20170704 -] autoconf (GNU Autoconf) 2.69 -] automake (GNU automake) 1.15.1 -] libtool (GNU libtool) 2.4.6 -] makeinfo (GNU texinfo) 6.4.90 -] pdflatex 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian) -] guile-2.2 2.2.2.3-0c102 -] guile-lib-1.0 0.2.5.1 -] vigra from the source, last commit here: b2ff44f - June 18, 2017 -] vigra C from the source, last commit here: 0885303 - Feb 3, 2017 * Changes since 0.1.5 ** Interface changes im-normalize im-normalize-channel: Adding an optional #:key (val 255.0), since we need to be able to normalize to specific values in some circumstances, such as, for example, to normalize gray level co-occurrence matrices. f32vector-reduce: The arguments order has been changed for 'vector proc default' not 'proc default vector', because it is the order we use in im-reduce and im-reduce-channel - as [almost] all other im-* procedures or methods take an image as their first argument. As a user, it is also a bit more naturel, imo at least, to 'reduce image using proc, return default if the image is empty'. im-add im-add-channel im-subtract im-subtract-channel im-multiply im-multiply-channel im-divide im-divide-channel: All linear algebra matrix methods now accept any number of images or channels. Note that due to the inherent checks between lines and columns of intermediate results, im-multiply-channel and im-divide-channel methods arguments must be a series of at least one tuple(s) composed of three values - channel width height - represented in the manual as: c1 w1 h1 c2 w2 h2 c3 w3 h3 … im-collect: Updated so its interface is 'identical' to im-map and friends, and a typical call now looks like: im-collect what i1 i2 i3 … (instead of im-collect images what). ** New interfaces im-range im-range-channel im-min im-min-channel im-max im-max-channel im-map im-map-channel im-reduce im-reduce-channel f32vector->s32vector f32vector-range s32vector-range s32vector-min s32vector-max s32vector-reduce s32vector->f32vector ** Bug fixes im-normalize: the width and height of the result normalized image were inadvertently inverted, now fixed. f32vector-matrix-multiply: the sub results were inadvertently using 'n' instead of 'p' to compute their destination position in the 'n x p' cells returned result f32vector, now fixed. * Bug reports Please report bugs to bug-guile-cv@gnu.org * Mailing lists For the time being, Guile-CV uses Guile's mailing list: guile-user@gnu.org is for general user help and discussion; guile-devel@gnu.org is used to discuss most aspects of Guile-CV, including development and enhancement requests. David [*] Use a .sig file to verify that the corresponding file (without the .sig suffix) is intact. First, be sure to download both the .sig file and the corresponding tarball. Then, run a command like this: gpg --verify guile-cv-0.1.6.tar.gz.sig If that command fails because you don't have the required public key, then run this command to import it: gpg --keyserver keys.gnupg.net --recv-keys A3057AD7 and rerun the 'gpg --verify' command