def test_VideoStimulus_shift(): # Create a horizontal bar: shape = (5, 5, 3) ndarray = np.zeros(shape, dtype=np.uint8) ndarray[2, :, :] = 255 stim = VideoStimulus(ndarray) # Top row: top = stim.shift(0, -2) data = top.data.reshape(top.vid_shape) for i in range(data.shape[-1]): npt.assert_almost_equal(top.data.reshape(stim.vid_shape)[0, :, i], 1) npt.assert_almost_equal(top.data.reshape(stim.vid_shape)[1:, :, i], 0) # Bottom row: bottom = stim.shift(0, 2) data = bottom.data.reshape(bottom.vid_shape) for i in range(data.shape[-1]): npt.assert_almost_equal( bottom.data.reshape(stim.vid_shape)[:4, :, i], 0) npt.assert_almost_equal( bottom.data.reshape(stim.vid_shape)[4, :, i], 1) # Bottom right pixel: bottom = stim.shift(4, 2) data = bottom.data.reshape(bottom.vid_shape) for i in range(data.shape[-1]): npt.assert_almost_equal( bottom.data.reshape(stim.vid_shape)[4, 4, i], 1) npt.assert_almost_equal( bottom.data.reshape(stim.vid_shape)[:4, :, i], 0) npt.assert_almost_equal( bottom.data.reshape(stim.vid_shape)[:, :4, i], 0)
def test_ImageStimulus_center(): # Create a horizontal bar: ndarray = np.zeros((5, 5, 3), dtype=np.uint8) ndarray[2, :, :] = 255 # Center phosphene: stim = VideoStimulus(ndarray) npt.assert_almost_equal(stim.data, stim.center().data) npt.assert_almost_equal(stim.data, stim.shift(0, 2).center().data)