1{ lib, buildPythonPackage, fetchFromGitHub, numpy, scipy, pillow }:
2
3buildPythonPackage rec {
4 pname = "pyssim";
5 version = "0.4";
6
7 propagatedBuildInputs = [ numpy scipy pillow ];
8
9 # PyPI tarball doesn't contain test images so let's use GitHub
10 src = fetchFromGitHub {
11 owner = "jterrace";
12 repo = pname;
13 rev = "v${version}";
14 sha256 = "0rnj3xdhma1fc0fg0jjsdy74ar0hgr3w8kygbnijqjdms7m3asqm";
15 };
16
17 # Tests are copied from .travis.yml
18 checkPhase = ''
19 $out/bin/pyssim test-images/test1-1.png test-images/test1-1.png | grep 1
20 $out/bin/pyssim test-images/test1-1.png test-images/test1-2.png | grep 0.998
21 $out/bin/pyssim test-images/test1-1.png "test-images/*" | grep -E " 1| 0.998| 0.672| 0.648" | wc -l | grep 4
22 $out/bin/pyssim --cw --width 128 --height 128 test-images/test1-1.png test-images/test1-1.png | grep 1
23 $out/bin/pyssim --cw --width 128 --height 128 test-images/test3-orig.jpg test-images/test3-rot.jpg | grep 0.938
24 '';
25
26 meta = with lib; {
27 description = "Module for computing Structured Similarity Image Metric (SSIM) in Python";
28 homepage = "https://github.com/jterrace/pyssim";
29 license = licenses.mit;
30 maintainers = with maintainers; [ jluttine ];
31 };
32}