예제 #1
0
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]
예제 #2
0
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]
예제 #3
0
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)
예제 #4
0
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)
예제 #5
0
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
예제 #6
0
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)
예제 #7
0
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]
예제 #8
0
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]
예제 #9
0
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)
예제 #10
0
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]
예제 #11
0
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]
예제 #12
0
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())
예제 #13
0
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())
예제 #14
0
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]
예제 #15
0
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)
예제 #16
0
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())
예제 #17
0
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]
예제 #18
0
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]
예제 #19
0
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())
예제 #20
0
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]
예제 #21
0
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)