|
11 | 11 |
|
12 | 12 | from xrspatial.utils import (ArrayTypeFunctionMapping, cuda_args, ngjit, not_implemented_func, |
13 | 13 | validate_arrays) |
| 14 | +from xrspatial.dataset_support import supports_dataset_bands |
14 | 15 |
|
15 | 16 | # 3rd-party |
16 | 17 | try: |
@@ -75,6 +76,7 @@ def _arvi_dask_cupy(nir_data, red_data, blue_data): |
75 | 76 | return out |
76 | 77 |
|
77 | 78 |
|
| 79 | +@supports_dataset_bands(nir='nir_agg', red='red_agg', blue='blue_agg') |
78 | 80 | def arvi(nir_agg: xr.DataArray, |
79 | 81 | red_agg: xr.DataArray, |
80 | 82 | blue_agg: xr.DataArray, |
@@ -215,6 +217,7 @@ def _evi_dask_cupy(nir_data, red_data, blue_data, c1, c2, soil_factor, gain): |
215 | 217 | return out |
216 | 218 |
|
217 | 219 |
|
| 220 | +@supports_dataset_bands(nir='nir_agg', red='red_agg', blue='blue_agg') |
218 | 221 | def evi(nir_agg: xr.DataArray, |
219 | 222 | red_agg: xr.DataArray, |
220 | 223 | blue_agg: xr.DataArray, |
@@ -374,6 +377,7 @@ def _gci_dask_cupy(nir_data, green_data): |
374 | 377 | return out |
375 | 378 |
|
376 | 379 |
|
| 380 | +@supports_dataset_bands(nir='nir_agg', green='green_agg') |
377 | 381 | def gci(nir_agg: xr.DataArray, |
378 | 382 | green_agg: xr.DataArray, |
379 | 383 | name='gci'): |
@@ -451,6 +455,7 @@ def gci(nir_agg: xr.DataArray, |
451 | 455 |
|
452 | 456 |
|
453 | 457 | # NBR ---------- |
| 458 | +@supports_dataset_bands(nir='nir_agg', swir2='swir2_agg') |
454 | 459 | def nbr(nir_agg: xr.DataArray, |
455 | 460 | swir2_agg: xr.DataArray, |
456 | 461 | name='nbr'): |
@@ -529,6 +534,7 @@ def nbr(nir_agg: xr.DataArray, |
529 | 534 | attrs=nir_agg.attrs) |
530 | 535 |
|
531 | 536 |
|
| 537 | +@supports_dataset_bands(swir1='swir1_agg', swir2='swir2_agg') |
532 | 538 | def nbr2(swir1_agg: xr.DataArray, |
533 | 539 | swir2_agg: xr.DataArray, |
534 | 540 | name='nbr2'): |
@@ -614,6 +620,7 @@ def nbr2(swir1_agg: xr.DataArray, |
614 | 620 |
|
615 | 621 |
|
616 | 622 | # NDVI ---------- |
| 623 | +@supports_dataset_bands(nir='nir_agg', red='red_agg') |
617 | 624 | def ndvi(nir_agg: xr.DataArray, |
618 | 625 | red_agg: xr.DataArray, |
619 | 626 | name='ndvi'): |
@@ -691,6 +698,7 @@ def ndvi(nir_agg: xr.DataArray, |
691 | 698 |
|
692 | 699 |
|
693 | 700 | # NDMI ---------- |
| 701 | +@supports_dataset_bands(nir='nir_agg', swir1='swir1_agg') |
694 | 702 | def ndmi(nir_agg: xr.DataArray, |
695 | 703 | swir1_agg: xr.DataArray, |
696 | 704 | name='ndmi'): |
@@ -874,6 +882,7 @@ def _savi_dask_cupy(nir_data, red_data, soil_factor): |
874 | 882 |
|
875 | 883 |
|
876 | 884 | # SAVI ---------- |
| 885 | +@supports_dataset_bands(nir='nir_agg', red='red_agg') |
877 | 886 | def savi(nir_agg: xr.DataArray, |
878 | 887 | red_agg: xr.DataArray, |
879 | 888 | soil_factor: float = 1.0, |
@@ -1006,6 +1015,7 @@ def _sipi_dask_cupy(nir_data, red_data, blue_data): |
1006 | 1015 | return out |
1007 | 1016 |
|
1008 | 1017 |
|
| 1018 | +@supports_dataset_bands(nir='nir_agg', red='red_agg', blue='blue_agg') |
1009 | 1019 | def sipi(nir_agg: xr.DataArray, |
1010 | 1020 | red_agg: xr.DataArray, |
1011 | 1021 | blue_agg: xr.DataArray, |
@@ -1142,6 +1152,7 @@ def _ebbi_dask_cupy(red_data, swir_data, tir_data): |
1142 | 1152 | return out |
1143 | 1153 |
|
1144 | 1154 |
|
| 1155 | +@supports_dataset_bands(red='red_agg', swir='swir_agg', tir='tir_agg') |
1145 | 1156 | def ebbi(red_agg: xr.DataArray, |
1146 | 1157 | swir_agg: xr.DataArray, |
1147 | 1158 | tir_agg: xr.DataArray, |
|
0 commit comments