def test_plot_with_different_axes_manager(self): data0 = np.zeros((30, 40, 50, 50), dtype=np.uint16) data0[20, 20] = 100 data0 = da.from_array(data0, chunks=(10, 10, 25, 25)) s0 = _lazy_signals.LazySignal2D(data0) data1 = da.zeros((30, 40, 50, 50), chunks=(10, 10, 25, 25)) s1 = _lazy_signals.LazySignal2D(data1) s0.plot(axes_manager=s1.axes_manager) s1.axes_manager.indices = (20, 20) assert np.all(s0._cache_dask_chunk[0, 0] == 100) s0._plot.close()
def test_clear_cache_dask_data_method(self): s = _lazy_signals.LazySignal2D( da.zeros((6, 6, 8, 8), chunks=(2, 2, 4, 4))) s.__call__() s._clear_cache_dask_data() assert s._cache_dask_chunk is None assert s._cache_dask_chunk_slice is None
def test_map_inplace_data_changing(self): s = _lazy_signals.LazySignal2D( da.zeros((6, 6, 8, 8), chunks=(2, 2, 4, 4))) s.__call__() assert len(s._cache_dask_chunk.shape) == 4 s.map(np.sum, axis=1, ragged=False, inplace=True) s.__call__() assert len(s._cache_dask_chunk.shape) == 3
def test_changed_data_trigger(self): s = _lazy_signals.LazySignal2D( da.zeros((6, 6, 8, 8), chunks=(2, 2, 4, 4))) position = s.axes_manager._getitem_tuple s._get_cache_dask_chunk(position) assert s._cache_dask_chunk is not None assert s._cache_dask_chunk_slice is not None s.events.data_changed.trigger(None) assert s._cache_dask_chunk is None assert s._cache_dask_chunk_slice is None
def test_change_position(self): s = _lazy_signals.LazySignal2D( da.zeros((10, 10, 20, 20), chunks=(5, 5, 10, 10))) s._get_cache_dask_chunk((0, 0, slice(None), slice(None))) chunk_slice0 = s._cache_dask_chunk_slice s._cache_dask_chunk[:] = 2 s._get_cache_dask_chunk((4, 4, slice(None), slice(None))) chunk_slice1 = s._cache_dask_chunk_slice assert chunk_slice0 == chunk_slice1 assert np.all(s._cache_dask_chunk == 2) s._get_cache_dask_chunk((6, 4, slice(None), slice(None))) s._get_cache_dask_chunk((0, 0, slice(None), slice(None))) assert np.all(s._cache_dask_chunk == 0)
def test_correct_value_within_chunk(self): data = np.zeros((10, 15, 50, 50)) data[0, 0] = 1 data[0, 1] = 2 data[1, 0] = 3 data[1, 1] = 4 data = da.from_array(data, chunks=(2, 2, 25, 25)) s = _lazy_signals.LazySignal2D(data) value = s._get_cache_dask_chunk(s.axes_manager._getitem_tuple) assert np.all(value == 1) s.axes_manager.indices = (1, 0) value = s._get_cache_dask_chunk(s.axes_manager._getitem_tuple) assert np.all(value == 2) s.axes_manager.indices = (0, 1) value = s._get_cache_dask_chunk(s.axes_manager._getitem_tuple) assert np.all(value == 3) s.axes_manager.indices = (1, 1) value = s._get_cache_dask_chunk(s.axes_manager._getitem_tuple) assert np.all(value == 4)
def test_correct_value(self): chunk_slice_list = [ np.s_[0:5, 0:5], np.s_[5:10, 0:5], np.s_[0:5, 5:10], np.s_[5:10, 5:10], np.s_[0:5, 10:15], np.s_[5:10, 10:15], ] value_list = [1, 2, 3, 4, 5, 6] data = np.zeros((10, 15, 50, 50)) for value, chunk_slice in zip(value_list, chunk_slice_list): data[chunk_slice] = value data = da.from_array(data, chunks=(5, 5, 25, 25)) s = _lazy_signals.LazySignal2D(data) for value, chunk_slice in zip(value_list, chunk_slice_list): s.plot() s.axes_manager.indices = (chunk_slice[1].start, chunk_slice[0].start) assert s._cache_dask_chunk.shape == (5, 5, 50, 50) assert np.all(s._cache_dask_chunk == value) assert chunk_slice == s._cache_dask_chunk_slice s._plot.close()
def test_correct_values(self): chunk_slice_list = [ np.s_[0:5, 0:5], np.s_[5:10, 0:5], np.s_[0:5, 5:10], np.s_[5:10, 5:10], np.s_[0:5, 10:15], np.s_[5:10, 10:15], ] value_list = [1, 2, 3, 4, 5, 6] data = np.zeros((10, 15, 50, 50)) for value, chunk_slice in zip(value_list, chunk_slice_list): data[chunk_slice] = value data = da.from_array(data, chunks=(5, 5, 25, 25)) s = _lazy_signals.LazySignal2D(data) for value, chunk_slice in zip(value_list, chunk_slice_list): value_output = s._get_cache_dask_chunk( (chunk_slice[0].start, chunk_slice[1].start, slice(None), slice(None))) assert s._cache_dask_chunk.shape == (5, 5, 50, 50) assert np.all(s._cache_dask_chunk == value) assert chunk_slice == s._cache_dask_chunk_slice assert value == value_output.mean(dtype=np.uint16)
def _signal(): ar = da.from_array(np.arange(6. * 9 * 7 * 11).reshape((6, 9, 7, 11)), chunks=((2, 1, 3), (4, 5), (7, ), (11, ))) return _lazy_signals.LazySignal2D(ar)
def test_dimensions(self, shape): chunks = (2, ) * len(shape) s = _lazy_signals.LazySignal2D(da.zeros(shape), chunks=chunks) s.plot() s._plot.close()
def test_dimensions(self, shape): chunks = (2, ) * len(shape) s = _lazy_signals.LazySignal2D(da.zeros(shape), chunks=chunks) position = s.axes_manager._getitem_tuple s._get_cache_dask_chunk(position) assert len(position) == len(shape)