Ejemplo n.º 1
0
def test_avri_cpu_equals_gpu():
    nir = create_test_arr(arr1)
    red = create_test_arr(arr2)
    blue = create_test_arr(arr3)
    cpu = arvi(nir, red, blue, use_cuda=False)
    gpu = arvi(nir, red, blue, use_cuda=True)
    assert np.isclose(cpu, gpu, equal_nan=True).all()
def test_arvi_cpu():
    nir_numpy = create_test_arr(nir_data)
    red_numpy = create_test_arr(red_data)
    blue_numpy = create_test_arr(blue_data)
    numpy_result = arvi(nir_numpy, red_numpy, blue_numpy)
    general_output_checks(nir_numpy, numpy_result, arvi_expected_results)

    # dask
    nir_dask = create_test_arr(nir_data, backend='dask')
    red_dask = create_test_arr(red_data, backend='dask')
    blue_dask = create_test_arr(blue_data, backend='dask')
    dask_result = arvi(nir_dask, red_dask, blue_dask)
    general_output_checks(nir_dask, dask_result, arvi_expected_results)
def test_arvi_gpu():
    # cupy
    nir_cupy = create_test_arr(nir_data, backend='cupy')
    red_cupy = create_test_arr(red_data, backend='cupy')
    blue_cupy = create_test_arr(blue_data, backend='cupy')
    cupy_result = arvi(nir_cupy, red_cupy, blue_cupy)
    general_output_checks(nir_cupy, cupy_result, arvi_expected_results)

    # dask + cupy
    nir_dask_cupy = create_test_arr(nir_data, backend='dask+cupy')
    red_dask_cupy = create_test_arr(red_data, backend='dask+cupy')
    blue_dask_cupy = create_test_arr(blue_data, backend='dask+cupy')
    dask_cupy_result = arvi(nir_dask_cupy, red_dask_cupy, blue_dask_cupy)
    general_output_checks(nir_dask_cupy, dask_cupy_result,
                          arvi_expected_results)
def test_avri():

    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)

    nir = create_test_arr(arr1)
    red = create_test_arr(arr2)
    blue = create_test_arr(arr3)

    result = arvi(nir, red, blue)

    assert result.dims == nir.dims
    assert isinstance(result, xa.DataArray)
    assert result.dims == nir.dims
Ejemplo n.º 5
0
def test_arvi_dask_cupy_equals_numpy():
    # vanilla numpy version
    nir = create_test_arr(arr1)
    red = create_test_arr(arr2)
    blue = create_test_arr(arr3)
    numpy_result = arvi(nir, red, blue)

    # dask + cupy
    nir_dask_cupy = create_test_arr(arr1, backend='dask+cupy')
    red_dask_cupy = create_test_arr(arr2, backend='dask+cupy')
    blue_dask_cupy = create_test_arr(arr3, backend='dask+cupy')
    test_result = arvi(nir_dask_cupy, red_dask_cupy, blue_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()
Ejemplo n.º 6
0
def test_arvi_dask_equals_numpy():

    # vanilla numpy version
    nir = create_test_arr(arr1)
    red = create_test_arr(arr2)
    blue = create_test_arr(arr3)
    numpy_result = arvi(nir, red, blue)

    # dask
    nir_dask = create_test_arr(arr1, backend='dask')
    red_dask = create_test_arr(arr2, backend='dask')
    blue_dask = create_test_arr(arr3, backend='dask')
    test_result = arvi(nir_dask, red_dask, blue_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_arvi_cupy_equals_numpy():

    import cupy

    # vanilla numpy version
    nir = create_test_arr(arr1)
    red = create_test_arr(arr2)
    blue = create_test_arr(arr3)
    numpy_result = arvi(nir, red, blue)

    # cupy
    nir_cupy = create_test_arr(arr1, backend='cupy')
    red_cupy = create_test_arr(arr2, backend='cupy')
    blue_cupy = create_test_arr(arr3, backend='cupy')
    test_result = arvi(nir_cupy, red_cupy, blue_cupy)

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

    result = arvi(nir, red, blue)

    assert result.dims == nir.dims
    assert isinstance(result, xa.DataArray)
    assert result.dims == nir.dims
Ejemplo n.º 9
0
def test_avri():
    nir = create_test_arr(arr1)
    red = create_test_arr(arr2)
    blue = create_test_arr(arr3)

    result = arvi(nir, red, blue, use_cuda=False)

    assert result.dims == nir.dims
    assert isinstance(result, xa.DataArray)
    assert result.dims == nir.dims
def test_arvi_numpy():
    nir = create_test_arr(arr1)
    red = create_test_arr(arr2)
    blue = create_test_arr(arr3)

    #add crs for tests (nir dims, attrs, coords are the ones arvi function sets on the return DataArray)
    nir = _add_EPSG4326_crs_to_da(nir)

    result = arvi(nir, red, blue)

    assert result.dims == nir.dims
    assert isinstance(result, xa.DataArray)
    assert result.dims == nir.dims

    #crs tests
    assert result.attrs == nir.attrs
    for coord in nir.coords:
        assert np.all(result[coord] == nir[coord])
Ejemplo n.º 11
0
 def time_arvi(self, nx, type):
     arvi(self.nir, self.red, self.blue)
Ejemplo n.º 12
0
def test_arvi_gpu(nir_data, red_data, blue_data, result_arvi):
    result = arvi(nir_data, red_data, blue_data)
    general_output_checks(nir_data, result, result_arvi)