예제 #1
0
def test_ndmi_cpu_equals_gpu():
    nir = create_test_arr(arr1)
    swir = create_test_arr(arr2)

    cpu = ndmi(nir, swir, use_cuda=False)
    gpu = ndmi(nir, swir, use_cuda=True)
    assert np.isclose(cpu, gpu, equal_nan=True).all()
def test_ndmi_cpu():
    nir_numpy = create_test_arr(nir_data)
    swir1_numpy = create_test_arr(swir1_data)
    numpy_result = ndmi(nir_numpy, swir1_numpy)
    general_output_checks(nir_numpy, numpy_result, ndmi_expected_results)

    # dask
    nir_dask = create_test_arr(nir_data, backend='dask')
    swir1_dask = create_test_arr(swir1_data, backend='dask')
    dask_result = ndmi(nir_dask, swir1_dask)
    general_output_checks(nir_dask, dask_result, ndmi_expected_results)
def test_ndmi_gpu():
    # cupy
    nir_cupy = create_test_arr(nir_data, backend='cupy')
    swir1_cupy = create_test_arr(swir1_data, backend='cupy')
    cupy_result = ndmi(nir_cupy, swir1_cupy)
    general_output_checks(nir_cupy, cupy_result, ndmi_expected_results)

    # dask + cupy
    nir_dask_cupy = create_test_arr(nir_data, backend='dask+cupy')
    swir1_dask_cupy = create_test_arr(swir1_data, backend='dask+cupy')
    dask_cupy_result = ndmi(nir_dask_cupy, swir1_dask_cupy)
    general_output_checks(nir_dask_cupy, dask_cupy_result,
                          ndmi_expected_results)
예제 #4
0
def test_ndmi_dask_cupy_equals_numpy():
    # vanilla numpy version
    nir = create_test_arr(arr1)
    swir1 = create_test_arr(arr2)
    numpy_result = ndmi(nir, swir1)

    # dask + cupy
    nir_dask_cupy = create_test_arr(arr1, backend='dask+cupy')
    swir1_dask_cupy = create_test_arr(arr2, backend='dask+cupy')
    test_result = ndmi(nir_dask_cupy, swir1_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()
예제 #5
0
def test_ndmi_dask_equals_numpy():

    # vanilla numpy version
    nir = create_test_arr(arr1)
    swir1 = create_test_arr(arr2)
    numpy_result = ndmi(nir, swir1)

    # dask
    nir_dask = create_test_arr(arr1, backend='dask')
    swir1_dask = create_test_arr(arr2, backend='dask')
    test_result = ndmi(nir_dask, swir1_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()
예제 #6
0
def test_ndmi_cupy_equals_numpy():

    import cupy

    # vanilla numpy version
    nir = create_test_arr(arr1)
    swir1 = create_test_arr(arr2)
    numpy_result = ndmi(nir, swir1)

    # cupy
    nir_cupy = create_test_arr(arr1, backend='cupy')
    swir1_cupy = create_test_arr(arr2, backend='cupy')
    test_result = ndmi(nir_cupy, swir1_cupy)

    assert isinstance(test_result.data, cupy.ndarray)
    assert np.isclose(numpy_result, test_result, equal_nan=True).all()
def test_ndmi():

    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)

    nir = create_test_arr(arr1)
    swir1 = create_test_arr(arr2)

    result = ndmi(nir, swir1)

    assert result.dims == nir.dims
    assert isinstance(result, xa.DataArray)
    assert result.dims == nir.dims
예제 #8
0
def test_ndmi_numpy():
    nir = create_test_arr(arr1)
    swir1 = create_test_arr(arr2)

    result = ndmi(nir, swir1)

    assert result.dims == nir.dims
    assert isinstance(result, xa.DataArray)
    assert result.dims == nir.dims
예제 #9
0
def test_ndmi():
    nir = create_test_arr(arr1)
    swir1 = create_test_arr(arr2)

    result = ndmi(nir, swir1, use_cuda=False)

    assert result.dims == nir.dims
    assert isinstance(result, xa.DataArray)
    assert result.dims == nir.dims
def test_ndmi_numpy():
    nir = create_test_arr(arr1)

    # add crs for tests
    nir = _add_EPSG4326_crs_to_da(nir)

    swir1 = create_test_arr(arr2)

    result = ndmi(nir, swir1)

    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])
예제 #11
0
 def time_ndmi(self, nx, type):
     ndmi(self.nir, self.swir1)
예제 #12
0
def test_ndmi_gpu(nir_data, swir1_data, result_ndmi):
    result = ndmi(nir_data, swir1_data)
    general_output_checks(nir_data, result, result_ndmi)