cairo/test/pdiff
Chris Wilson 14cab8b020 Correct an off-by-one in the reflection of the convolution index.
Currently the convolution code uses the formula 2*(N-1)-n to reflect the index
n when n is greater than or equal to N.
This is wrong as n=N -> 2*(N-1)-N = N-2 instead of N-1.

Furthermore when the image is small, e.g. at the highest levels of the
pyramid, this causes the code to index before the start of the array and
causes valgrind to issue a warning.
2007-03-12 14:48:11 -07:00
..
.gitignore pdiff: Add .gitignore for perceptualdiff binary 2006-12-14 07:58:01 -08:00
args.c pdiff: Rename everything to .c and fix an last littele C++ isms. 2006-12-14 07:58:01 -08:00
args.h pdiff: Rename everything to .c and fix an last littele C++ isms. 2006-12-14 07:58:01 -08:00
CMakeLists.txt Add perceptualdiff program totest/pdiff. 2006-11-29 22:40:28 -08:00
gpl.txt Add perceptualdiff program totest/pdiff. 2006-11-29 22:40:28 -08:00
lpyramid.c Correct an off-by-one in the reflection of the convolution index. 2007-03-12 14:48:11 -07:00
lpyramid.h pdiff: Rewrite Laplacian pyramid code from C++ to C 2006-12-14 07:58:00 -08:00
Makefile.am [test/pdiff] Fix build problem with certain flavors of make 2007-03-04 16:39:00 -05:00
pdiff.c [pdiff] Define _GNU_SOURCE to get correct symbols out of <math.h> 2006-12-17 14:32:08 -05:00
pdiff.h pdiff: Rename everything to .c and fix an last littele C++ isms. 2006-12-14 07:58:01 -08:00
perceptualdiff.c pdiff: Rename everything to .c and fix an last littele C++ isms. 2006-12-14 07:58:01 -08:00
README.txt pdiff: Rip out unused ImgDiff code, (dropping -output option) 2006-12-14 07:58:00 -08:00

pdiff - a program that compares two images using
a perceptually based image metric.
Copyright (C) 2006 Yangli Hector Yee
yeehector@users.sourceforge.net
http://pdiff.sourceforge.net/

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License,
or (at your option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details in the file gpl.txt.

Build Instructions
1. Download cross platform make from http://www.cmake.org
2. Download libtiff from http://www.libtiff.org. Download libpng from http://www.libpng.org
3. Edit CMakeLists.txt to tell it where to find your tiff library
4. Type cmake .
5. Type make . (or on Windows systems cmake makes a Visual Studio
Project file)
6. To specify the install directory, use make install DESTDIR="/home/me/mydist"

Usage

pdiff image1.(tif | png) image2.(tif | png) [options]
-verbose : Turns on verbose mode
-fov deg: field of view, deg, in degrees. Usually between 10.0 to 85.0. 
This controls how much of the screen the oberserver is seeing. Front row of 
a theatre has a field of view of around 25 degrees. Back row has a field of
 view of around 60 degrees.
-threshold p : Sets the number of pixels, p, to reject. For example if p is
 100, then the test fails if 100 or more pixels are perceptably different.
-gamma g : The gamma to use to convert to RGB linear space. Default is 2.2
-luminance l: The luminance of the display the observer is seeing. Default
 is 100 candela per meter squared

Credits

Hector Yee, project administrator and originator - hectorgon.blogspot.com
Scott Corley, for png file IO code
Mick Weiss, Linux build and release & QA
Carl Worth, Rewrite as library, depend on cairo, and port to C