예제 #1
0
def test_axes_configuration_binning(tmp_path, file):
    fname = tmp_path / file
    s = BaseSignal(np.zeros((2, 2, 2)))
    s.axes_manager.signal_axes[-1].is_binned = True
    s.save(fname)

    s = load(fname)
    assert s.axes_manager.signal_axes[-1].is_binned
예제 #2
0
def test_lazy_metadata_arrays(tmpfilepath):
    s = BaseSignal([1, 2, 3])
    s.metadata.array = np.arange(10.)
    s.save(tmpfilepath)
    l = load(tmpfilepath + ".hspy", lazy=True)
    # Can't deepcopy open hdf5 file handles
    with pytest.raises(TypeError):
        l.deepcopy()
    del l
예제 #3
0
def test_lazy_metadata_arrays(tmpfilepath):
    s = BaseSignal([1, 2, 3])
    s.metadata.array = np.arange(10.)
    s.save(tmpfilepath)
    l = load(tmpfilepath + ".hspy", lazy=True)
    # Can't deepcopy open hdf5 file handles
    with pytest.raises(TypeError):
        l.deepcopy()
    del l
예제 #4
0
def test_hdf5_extension(tmpfilepath):
    try:
        hspy_extension = preferences.General.hspy_extension
        preferences.General.hspy_extension = False
        s = BaseSignal([0])
        s.save(tmpfilepath)
        assert os.path.exists(tmpfilepath + ".hdf5")
    finally:
        preferences.General.hspy_extension = hspy_extension
예제 #5
0
def test_save_ragged_array(tmpfilepath):
    a = np.array([0, 1])
    b = np.array([0, 1, 2])
    s = BaseSignal(np.array([a, b])).T
    filename = os.path.join(tmpfilepath, "test_save_ragged_array.hspy")
    s.save(filename)
    s1 = load(filename)
    for i in range(len(s.data)):
        np.testing.assert_allclose(s.data[i], s1.data[i])
    assert s.__class__ == s1.__class__
예제 #6
0
def test_save_ragged_array(tmp_path):
    a = np.array([0, 1])
    b = np.array([0, 1, 2])
    s = BaseSignal(np.array([a, b], dtype=object)).T
    fname = tmp_path / 'test_save_ragged_array.hspy'
    s.save(fname)
    s1 = load(fname)
    for i in range(len(s.data)):
        np.testing.assert_allclose(s.data[i], s1.data[i])
    assert s.__class__ == s1.__class__
예제 #7
0
def test_axes_configuration(tmp_path, file):
    fname = tmp_path / file
    s = BaseSignal(np.zeros((2, 2, 2, 2, 2)))
    s.axes_manager.signal_axes[0].navigate = True
    s.axes_manager.signal_axes[0].navigate = True

    s.save(fname, overwrite=True)
    s = load(fname)
    assert s.axes_manager.navigation_axes[0].index_in_array == 4
    assert s.axes_manager.navigation_axes[1].index_in_array == 3
    assert s.axes_manager.signal_dimension == 3
예제 #8
0
 def setup_method(self, method):
     s = BaseSignal(np.empty((5, 5, 5)))
     s.save('tmp.hdf5', overwrite=True)
     self.shape = (10000, 10000, 100)
     del s
     f = h5py.File('tmp.hdf5', mode='r+')
     s = f['Experiments/__unnamed__']
     del s['data']
     s.create_dataset('data',
                      shape=self.shape,
                      dtype='float64',
                      chunks=True)
     f.close()
예제 #9
0
def test_save_ragged_dim2(tmp_path, file):
    x = np.empty(5, dtype=object)
    for i in range(1, 6):
        x[i - 1] = np.array([list(range(i)), list(range(i))])

    s = BaseSignal(x, ragged=True)

    filename = tmp_path / file
    s.save(filename)
    s2 = load(filename)

    for i, j in zip(s.data,s2.data):
        np.testing.assert_array_equal(i,j)
예제 #10
0
 def setUp(self):
     s = BaseSignal(np.empty((5, 5, 5)))
     s.save('tmp.hdf5', overwrite=True)
     self.shape = (10000, 10000, 100)
     del s
     f = h5py.File('tmp.hdf5', model='r+')
     s = f['Experiments/__unnamed__']
     del s['data']
     s.create_dataset(
         'data',
         shape=self.shape,
         dtype='float64',
         chunks=True)
     f.close()
예제 #11
0
def test_lazy_loading(tmp_path):
    s = BaseSignal(np.empty((5, 5, 5)))
    fname = tmp_path / 'tmp.hdf5'
    s.save(fname, overwrite=True)
    shape = (10000, 10000, 100)
    del s
    f = h5py.File(fname, mode='r+')
    s = f['Experiments/__unnamed__']
    del s['data']
    s.create_dataset('data', shape=shape, dtype='float64', chunks=True)
    f.close()

    s = load(fname, lazy=True)
    assert shape == s.data.shape
    assert isinstance(s.data, da.Array)
    assert s._lazy
    s.close_file()
예제 #12
0
 def setup_method(self, method):
     self.filename = 'testfile.hdf5'
     s = BaseSignal(np.zeros((2, 2, 2, 2, 2)))
     s.axes_manager.signal_axes[0].navigate = True
     s.axes_manager.signal_axes[0].navigate = True
     s.save(self.filename)
예제 #13
0
 def setUp(self):
     self.filename = 'testfile.hdf5'
     s = BaseSignal(np.zeros((2, 2, 2, 2, 2)))
     s.axes_manager.signal_axes[0].navigate = True
     s.axes_manager.signal_axes[0].navigate = True
     s.save(self.filename)