File: test_calculations.py

package info (click to toggle)
python-vispy 0.15.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,868 kB
  • sloc: python: 59,799; javascript: 6,800; makefile: 69; sh: 6
file content (23 lines) | stat: -rw-r--r-- 1,038 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# -*- coding: utf-8 -*-
# Copyright (c) Vispy Development Team. All Rights Reserved.
# Distributed under the (new) BSD License. See LICENSE.txt for more info.
import numpy as np
from numpy.testing import assert_allclose

from vispy.testing import assert_raises
from vispy.geometry import resize


def test_resize():
    """Test image resizing algorithms"""
    assert_raises(ValueError, resize, np.zeros(3), (3, 3))
    assert_raises(ValueError, resize, np.zeros((3, 3)), (3,))
    assert_raises(ValueError, resize, np.zeros((3, 3)), (4, 4), kind='foo')
    for kind, tol in (('nearest', 1e-5), ('linear', 2e-1)):
        shape = np.array((10, 11, 3))
        data = np.random.RandomState(0).rand(*shape)
        assert_allclose(data, resize(data, shape[:2], kind=kind),
                        rtol=1e-5, atol=1e-5)
        # this won't actually be that close for bilinear interp
        assert_allclose(data, resize(resize(data, 2 * shape[:2], kind=kind),
                                     shape[:2], kind=kind), atol=tol, rtol=tol)