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
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()
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()
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()
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
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])
def time_arvi(self, nx, type): arvi(self.nir, self.red, self.blue)
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)