def test_from_tif_multi_planes(eng): path = os.path.join(resources, 'multilayer_tif', 'dotdotdot_lzw.tif') data = fromtif(path, nplanes=3, engine=eng) assert data.shape[0] == 1 data = fromtif(path, nplanes=1, engine=eng) assert data.shape[0] == 3 assert allclose(data.toarray().shape, (3, 70, 75)) assert [x.sum() for x in data.toarray()] == [1140006, 1119161, 1098917]
def test_from_tif_multi_planes_discard_extra(eng): path = os.path.join(resources, 'multilayer_tif', 'dotdotdot_lzw.tif') data = fromtif(path, nplanes=2, engine=eng, discard_extra=True) assert data.shape[0] == 1 assert data.shape[1] == 2 with pytest.raises(BaseException) as error_msg: data = fromtif(path, nplanes=2, engine=eng, discard_extra=False) assert 'nplanes' in str(error_msg.value)
def test_from_tif_multi_planes_paritions(eng): if eng is not None: path = os.path.join(resources, 'multilayer_tif', 'dotdot*_lzw*.tif') data = fromtif(path, nplanes=1, engine=eng, npartitions=1) assert data.npartitions() == 1 data = fromtif(path, nplanes=1, engine=eng, npartitions=2) assert data.npartitions() == 2 data = fromtif(path, nplanes=1, engine=eng, npartitions=3) assert data.npartitions() == 3 data = fromtif(path, nplanes=1, engine=eng, npartitions=4) assert data.npartitions() == 4
def test_from_tif(eng): path = os.path.join(resources, "singlelayer_tif", "dot1_grey_lzw.tif") data = fromtif(path, engine=eng) assert allclose(data.shape, (1, 70, 75)) assert allclose(data.toarray().shape, (70, 75)) assert allclose(data.toarray().max(), 239) assert allclose(data.toarray().min(), 1)
def test_from_tif_multi_lzw(eng): path = os.path.join(resources, 'multilayer_tif', 'dotdotdot_lzw.tif') data = fromtif(path, engine=eng) val = data.toarray() assert allclose(data.shape, (1, 3, 70, 75)) assert allclose(data.toarray().shape, (3, 70, 75)) assert [val[i].sum() for i in range(3)] == [1140006, 1119161, 1098917]
def test_from_tif_multi_float(eng): path = os.path.join(resources, 'multilayer_tif', 'dotdotdot_float32.tif') data = fromtif(path, engine=eng) val = data.toarray() assert allclose(data.shape, (1, 3, 70, 75)) assert allclose(data.toarray().shape, (3, 70, 75)) assert [val[i].sum() for i in range(3)] == [1140006, 1119161, 1098917]
def test_from_tif_multi_planes_variable(eng): path = os.path.join(resources, 'multilayer_tif', 'dotdot*_lzw*.tif') data = fromtif(path, nplanes=1, engine=eng) assert allclose(data.shape, (8, 70, 75)) assert allclose(data.toarray().shape, (8, 70, 75)) assert allclose(data[:, :, :].toarray().shape, (8, 70, 75)) assert [x.sum() for x in data.toarray()] == [ 1140006, 1119161, 1140006, 1119161, 1098917, 1140006, 1119161, 1098917]
def test_to_tif_roundtrip_multipage(tmpdir, eng): a = [ arange(24, dtype='int16').reshape((2, 3, 4)), arange(24, dtype='int16').reshape((2, 3, 4)) ] data = fromlist(a, engine=eng) data.totif(os.path.join(str(tmpdir), 'images'), prefix='image') loaded = fromtif(os.path.join(str(tmpdir), 'images')) assert allclose(data.toarray(), loaded.toarray())
def test_to_tiff_roundtrip_multipage(tmpdir, eng): a = [ arange(24, dtype='int16').reshape((2, 3, 4)), arange(24, dtype='int16').reshape((2, 3, 4)) ] data = fromlist(a, engine=eng) data.totif(os.path.join(str(tmpdir), 'images'), prefix='image') # rename to tiff for filename in glob.iglob(os.path.join(str(tmpdir), 'images', '*.tif')): os.rename(filename, filename[:-4] + '.tiff') files = [ os.path.basename(f) for f in glob.glob(str(tmpdir) + '/images/image*') ] assert sorted(files) == ['image-00000.tiff', 'image-00001.tiff'] loaded = fromtif(os.path.join(str(tmpdir), 'images')) assert allclose(data.toarray(), loaded.toarray())
def test_from_tif_many(eng): path = os.path.join(resources, "singlelayer_tif", "dot*_grey_lzw.tif") data = fromtif(path, engine=eng) assert allclose(data.shape, (3, 70, 75)) assert allclose(data.toarray().shape, (3, 70, 75)) assert [x.sum() for x in data.toarray()] == [1233881, 1212169, 1191300]
def test_from_tif_keys(eng): path = os.path.join(resources, "singlelayer_tif", "dot1_grey_lzw.tif") data = fromtif(path, engine=eng) assert (data.tordd().keys().first() == (0, ) if data.mode == 'spark' else True)
def test_to_tif_roundtrip(tmpdir, eng): a = [arange(8, dtype='uint8').reshape((4, 2))] data = fromlist(a, engine=eng) data.totif(os.path.join(str(tmpdir), 'images'), prefix='image') loaded = fromtif(os.path.join(str(tmpdir), 'images')) assert allclose(data.toarray(), loaded.toarray())
def test_from_tif_signed(eng): path = os.path.join(resources, 'multilayer_tif', 'test_signed.tif') data = fromtif(path, nplanes=1, engine=eng) assert data.dtype == 'int16' assert allclose(data.toarray().shape, (2, 120, 120)) assert [x.sum() for x in data.toarray()] == [1973201, 2254767]
def test_from_tif_keys(eng): path = os.path.join(resources, "singlelayer_tif", "dot1_grey_lzw.tif") data = fromtif(path, engine=eng) assert (data.tordd().keys().first() == (0,) if data.mode == 'spark' else True)