Ejemplo n.º 1
0
def test_ebbi_cpu_equals_gpu():
    red = create_test_arr(arr1)
    swir = create_test_arr(arr2)
    tir = create_test_arr(arr3)

    cpu = ebbi(red, swir, tir, use_cuda=False)
    gpu = ebbi(red, swir, tir, use_cuda=True)
    assert np.isclose(cpu, gpu, equal_nan=True).all()
def test_ebbi_cpu():
    # vanilla numpy version
    red_numpy = create_test_arr(red_data)
    swir_numpy = create_test_arr(swir1_data)
    tir_numpy = create_test_arr(tir_data)
    numpy_result = ebbi(red_numpy, swir_numpy, tir_numpy)
    general_output_checks(red_numpy, numpy_result, ebbi_expected_results)

    # dask
    red_dask = create_test_arr(red_data, backend='dask')
    swir_dask = create_test_arr(swir1_data, backend='dask')
    tir_dask = create_test_arr(tir_data, backend='dask')
    dask_result = ebbi(red_dask, swir_dask, tir_dask)
    general_output_checks(red_dask, dask_result, ebbi_expected_results)
def test_ebbi_gpu():
    # cupy
    red_cupy = create_test_arr(red_data, backend='cupy')
    swir_cupy = create_test_arr(swir1_data, backend='cupy')
    tir_cupy = create_test_arr(tir_data, backend='cupy')
    cupy_result = ebbi(red_cupy, swir_cupy, tir_cupy)
    general_output_checks(red_cupy, cupy_result, ebbi_expected_results)

    # dask + cupy
    red_dask_cupy = create_test_arr(red_data, backend='dask+cupy')
    swir_dask_cupy = create_test_arr(swir1_data, backend='dask+cupy')
    tir_dask_cupy = create_test_arr(tir_data, backend='dask+cupy')
    dask_cupy_result = ebbi(red_dask_cupy, swir_dask_cupy, tir_dask_cupy)
    general_output_checks(red_dask_cupy, dask_cupy_result,
                          ebbi_expected_results)
Ejemplo n.º 4
0
def test_ebbi_dask_cupy_equals_numpy():
    # vanilla numpy version
    red = create_test_arr(arr1)
    swir = create_test_arr(arr2)
    tir = create_test_arr(arr3)
    numpy_result = ebbi(red, swir, tir)

    # dask + cupy
    red_dask_cupy = create_test_arr(arr1, backend='dask+cupy')
    swir_dask_cupy = create_test_arr(arr2, backend='dask+cupy')
    tir_dask_cupy = create_test_arr(arr3, backend='dask+cupy')
    test_result = ebbi(red_dask_cupy, swir_dask_cupy, tir_dask_cupy)

    assert is_dask_cupy(test_result)
    test_result.data = test_result.data.compute()
    assert np.isclose(numpy_result, test_result, equal_nan=True).all()
def test_ebbi():

    max_val = 2**16 - 1

    arr1 = np.array([[max_val, max_val, max_val, max_val],
                     [max_val, 1000.0, 1000.0, max_val],
                     [max_val, 1000.0, 1000.0, max_val],
                     [max_val, 1000.0, 1000.0, max_val],
                     [max_val, max_val, max_val, max_val]],
                    dtype=np.float64)

    arr2 = np.array(
        [[100.0, 100.0, 100.0, 100.0], [100.0, max_val, max_val, 100.0],
         [100.0, max_val, max_val, 100.0], [100.0, max_val, max_val, 100.0],
         [100.0, 100.0, 100.0, 100.0]],
        dtype=np.float64)

    arr3 = np.array([[10.0, 10.0, 10.0, 10.0], [10.0, max_val, max_val, 10.0],
                     [10.0, max_val, max_val, 10.0],
                     [10.0, max_val, max_val, 10.0], [10.0, 10.0, 10.0, 10.0]],
                    dtype=np.float64)

    red = create_test_arr(arr1)
    swir = create_test_arr(arr2)
    tir = create_test_arr(arr3)

    result = ebbi(red, swir, tir)

    assert result.dims == red.dims
    assert isinstance(result, xa.DataArray)
    assert result.dims == red.dims
Ejemplo n.º 6
0
def test_ebbi_dask_equals_numpy():

    # vanilla numpy version
    red = create_test_arr(arr1)
    swir = create_test_arr(arr2)
    tir = create_test_arr(arr3)
    numpy_result = ebbi(red, swir, tir)

    # dask
    red_dask = create_test_arr(arr1, backend='dask')
    swir_dask = create_test_arr(arr2, backend='dask')
    tir_dask = create_test_arr(arr3, backend='dask')
    test_result = ebbi(red_dask, swir_dask, tir_dask)

    assert isinstance(test_result.data, da.Array)
    test_result.data = test_result.data.compute()
    assert np.isclose(numpy_result, test_result, equal_nan=True).all()
Ejemplo n.º 7
0
def test_ebbi_cupy_equals_numpy():

    import cupy

    # vanilla numpy version
    red = create_test_arr(arr1)
    swir = create_test_arr(arr2)
    tir = create_test_arr(arr3)
    numpy_result = ebbi(red, swir, tir)

    # cupy
    red_dask = create_test_arr(arr1, backend='cupy')
    swir_dask = create_test_arr(arr2, backend='cupy')
    tir_dask = create_test_arr(arr3, backend='cupy')
    test_result = ebbi(red_dask, swir_dask, tir_dask)

    assert isinstance(test_result.data, cupy.ndarray)
    assert np.isclose(numpy_result, test_result, equal_nan=True).all()
Ejemplo n.º 8
0
def test_ebbi_numpy():
    red = create_test_arr(arr1)
    swir = create_test_arr(arr2)
    tir = create_test_arr(arr3)
    numpy_result = ebbi(red, swir, tir)

    assert numpy_result.dims == red.dims
    assert isinstance(numpy_result, xa.DataArray)
    assert numpy_result.dims == red.dims
Ejemplo n.º 9
0
def test_ebbi():
    red = create_test_arr(arr1)
    swir = create_test_arr(arr2)
    tir = create_test_arr(arr3)

    result = ebbi(red, swir, tir, use_cuda=False)

    assert result.dims == red.dims
    assert isinstance(result, xa.DataArray)
    assert result.dims == red.dims
def test_ebbi_numpy():
    red = create_test_arr(arr1)

    # add crs for tests
    red = _add_EPSG4326_crs_to_da(red)

    swir = create_test_arr(arr2)
    tir = create_test_arr(arr3)
    numpy_result = ebbi(red, swir, tir)

    assert numpy_result.dims == red.dims
    assert isinstance(numpy_result, xa.DataArray)
    assert numpy_result.dims == red.dims

    # crs tests
    assert numpy_result.attrs == red.attrs
    for coord in red.coords:
        assert np.all(numpy_result[coord] == red[coord])
Ejemplo n.º 11
0
 def time_ebbi(self, nx, type):
     ebbi(self.red, self.swir1, self.tir)
Ejemplo n.º 12
0
def test_ebbi_gpu(red_data, swir1_data, tir_data, result_ebbi):
    result = ebbi(red_data, swir1_data, tir_data)
    general_output_checks(red_data, result, result_ebbi)