|
17 | 17 | from numpy.testing.decorators import skipif
|
18 | 18 | from numpy.testing import assert_array_equal, assert_equal
|
19 | 19 |
|
20 |
| -from nose.tools import assert_raises, assert_true |
| 20 | +from nose.tools import assert_raises, assert_true, assert_false |
21 | 21 |
|
22 | 22 | # Need at least MPL 1.3 for viewer tests.
|
23 | 23 | matplotlib, has_mpl, _ = optional_package('matplotlib', min_version='1.3')
|
@@ -75,6 +75,15 @@ def test_viewer():
|
75 | 75 | for im in v._ims:
|
76 | 76 | assert_array_equal(im.get_clim(), vlim)
|
77 | 77 | assert_array_equal(v._axes[3].get_ylim(), vlim)
|
| 78 | + v.close() |
| 79 | + v1 = OrthoSlicer3D(data) |
| 80 | + v2 = OrthoSlicer3D(data, vlim=('1%', '99%')) |
| 81 | + assert_array_equal(v1.clim, v2.clim) |
| 82 | + v2.close() |
| 83 | + v2 = OrthoSlicer3D(data, vlim=('2%', '98%')) |
| 84 | + assert_false(np.array_equal(v1.clim, v2.clim)) |
| 85 | + v2.close() |
| 86 | + v1.close() |
78 | 87 |
|
79 | 88 | # non-multi-volume
|
80 | 89 | v = OrthoSlicer3D(data[:, :, :, 0])
|
@@ -102,3 +111,15 @@ def test_viewer():
|
102 | 111 | v2.link_to(v1) # shouldn't do anything
|
103 | 112 | v1.close()
|
104 | 113 | v2.close()
|
| 114 | + |
| 115 | + # Test various slicers |
| 116 | + OrthoSlicer3D(data, slicer=Ellipsis).close() |
| 117 | + # Slice time dimension |
| 118 | + OrthoSlicer3D(data, slicer=(Ellipsis, slice(None, None, 2))).close() |
| 119 | + OrthoSlicer3D(data, slicer=(Ellipsis, 0)).close() |
| 120 | + OrthoSlicer3D(data, slicer=(Ellipsis, [0])).close() |
| 121 | + # Slice spatial dimensions |
| 122 | + OrthoSlicer3D(data, slicer=(slice(0, 1), slice(0, 1), slice(0, 1))).close() |
| 123 | + OrthoSlicer3D(data, slicer=(slice(0, -1), slice(0, -1), slice(0, -1))).close() |
| 124 | + # Fail if we slice too thin |
| 125 | + assert_raises(ValueError, OrthoSlicer3D, data, slicer=(Ellipsis, 0, 0)) |
0 commit comments