def test_nbr2_cpu_equals_gpu(): swir1 = create_test_arr(arr1) swir2 = create_test_arr(arr2) cpu = nbr2(swir1, swir2, use_cuda=False) gpu = nbr2(swir1, swir2, use_cuda=True) assert np.isclose(cpu, gpu, equal_nan=True).all()
def test_nbr2_cpu(): swir1_numpy = create_test_arr(swir1_data) swir2_numpy = create_test_arr(swir2_data) numpy_result = nbr2(swir1_numpy, swir2_numpy) general_output_checks(swir1_numpy, numpy_result, nbr2_expected_results) # dask swir1_dask = create_test_arr(swir1_data, backend='dask') swir2_dask = create_test_arr(swir2_data, backend='dask') dask_result = nbr2(swir1_dask, swir2_dask) general_output_checks(swir1_dask, dask_result, nbr2_expected_results)
def test_nbr2_gpu(): # cupy swir1_cupy = create_test_arr(swir1_data, backend='cupy') swir2_cupy = create_test_arr(swir2_data, backend='cupy') cupy_result = nbr2(swir1_cupy, swir2_cupy) general_output_checks(swir2_cupy, cupy_result, nbr2_expected_results) # dask + cupy swir1_dask_cupy = create_test_arr(swir1_data, backend='dask+cupy') swir2_dask_cupy = create_test_arr(swir2_data, backend='dask+cupy') dask_cupy_result = nbr2(swir1_dask_cupy, swir2_dask_cupy) general_output_checks(swir1_dask_cupy, dask_cupy_result, nbr2_expected_results)
def test_nbr2_dask_cupy_equals_numpy(): # vanilla numpy version swir1 = create_test_arr(arr1) swir2 = create_test_arr(arr2) numpy_result = nbr2(swir1, swir2) # dask + cupy swir1_dask_cupy = create_test_arr(arr1, backend='dask+cupy') swir2_dask_cupy = create_test_arr(arr2, backend='dask+cupy') test_result = nbr2(swir1_dask_cupy, swir2_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_nbr2_dask_equals_numpy(): # vanilla numpy version swir1 = create_test_arr(arr1) swir2 = create_test_arr(arr2) numpy_result = nbr2(swir1, swir2) # dask swir1_dask = create_test_arr(arr1, backend='dask') swir2_dask = create_test_arr(arr2, backend='dask') test_result = nbr2(swir1_dask, swir2_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()
def test_nbr2_cupy_equals_numpy(): import cupy # vanilla numpy version swir1 = create_test_arr(arr1) swir2 = create_test_arr(arr2) numpy_result = nbr2(swir1, swir2) # cupy swir1_cupy = create_test_arr(arr1, backend='cupy') swir2_cupy = create_test_arr(arr2, backend='cupy') test_result = nbr2(swir1_cupy, swir2_cupy) assert isinstance(test_result.data, cupy.ndarray) assert np.isclose(numpy_result, test_result, equal_nan=True).all()
def test_nbr2(): 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) swir1 = create_test_arr(arr1) swir2 = create_test_arr(arr2) result = nbr2(swir1, swir2) assert result.dims == swir1.dims assert isinstance(result, xa.DataArray) assert result.dims == swir1.dims
def test_nbr2_numpy(): swir1 = create_test_arr(arr1) swir2 = create_test_arr(arr2) result = nbr2(swir1, swir2) assert result.dims == swir1.dims assert isinstance(result, xa.DataArray) assert result.dims == swir1.dims
def test_nbr2(): swir1 = create_test_arr(arr1) swir2 = create_test_arr(arr2) result = nbr2(swir1, swir2, use_cuda=False) assert result.dims == swir1.dims assert isinstance(result, xa.DataArray) assert result.dims == swir1.dims
def test_nbr2_numpy(): swir1 = create_test_arr(arr1) # add crs for tests swir1 = _add_EPSG4326_crs_to_da(swir1) swir2 = create_test_arr(arr2) result = nbr2(swir1, swir2) assert result.dims == swir1.dims assert isinstance(result, xa.DataArray) assert result.dims == swir1.dims # crs tests assert result.attrs == swir1.attrs for coord in swir1.coords: assert np.all(result[coord] == swir1[coord])
def time_nbr2(self, nx, type): nbr2(self.swir1, self.swir2)
def test_nbr2_gpu(swir1_data, swir2_data, result_nbr2): result = nbr2(swir1_data, swir2_data) general_output_checks(swir1_data, result, result_nbr2)