Skip to content

Commit d826f50

Browse files
authored
Merge pull request #301 from dipankar05/patch-1
Update script.js
2 parents d549310 + ab5c53d commit d826f50

File tree

4 files changed

+46
-11
lines changed

4 files changed

+46
-11
lines changed

sentinel-1/radar_vegetation_index/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ examples:
2222
platform:
2323
- CDSE
2424
- EOB
25-
evalscript: Ly9WRVJTSU9OPTMKZnVuY3Rpb24gc2V0dXAoKSB7CiAgICByZXR1cm4gewogICAgICAgIGlucHV0OiBbIlZWIiwgIlZIIiwgImRhdGFNYXNrIl0sCiAgICAgICAgb3V0cHV0OiBbCiAgICAgICAgICAgIHsgaWQ6ICJkZWZhdWx0IiwgYmFuZHM6IDQgfSwKICAgICAgICAgICAgeyBpZDogImluZGV4IiwgYmFuZHM6IDEsIHNhbXBsZVR5cGU6ICJGTE9BVDMyIiB9LAogICAgICAgICAgICB7IGlkOiAiZW9icm93c2VyU3RhdHMiLCBiYW5kczogMSwgc2FtcGxlVHlwZTogJ0ZMT0FUMzInIH0sCiAgICAgICAgICAgIHsgaWQ6ICJkYXRhTWFzayIsIGJhbmRzOiAxIH0KICAgICAgICBdCiAgICB9Owp9Cgpjb25zdCByYW1wID0gWwogICAgWzAsIDB4OGUwMTUyXSwKICAgIFswLjI1LCAweGRlNzdhZV0sCiAgICBbMC41LCAweGY3ZjdmN10sCiAgICBbMC43NSwgMHg3ZmJjNDFdLAogICAgWzEsIDB4Mjc2NDE5XSwKXTsKCgpjb25zdCB2aXN1YWxpemVyID0gbmV3IENvbG9yUmFtcFZpc3VhbGl6ZXIocmFtcCk7CgpmdW5jdGlvbiBldmFsdWF0ZVBpeGVsKHNhbXBsZXMpIHsKICAgIGxldCBkb3AgPSAoc2FtcGxlcy5WViAvIChzYW1wbGVzLlZWICsgc2FtcGxlcy5WSCkpOwogICAgbGV0IG0gPSAxIC0gZG9wOwogICAgLy9kZXBvbGFyaXphdGlvbiB3aXRoaW4gdGhlIHZlZ2V0YXRpb24KICAgIGxldCB2YWwgPSAoTWF0aC5zcXJ0KGRvcCkpICogKCg0ICogKHNhbXBsZXMuVkgpKSAvIChzYW1wbGVzLlZWICsgc2FtcGxlcy5WSCkpOwogICAgLy8gVGhlIGxpYnJhcnkgZm9yIHRpZmZzIHdvcmtzIHdlbGwgb25seSBpZiB0aGVyZSBpcyBvbmx5IG9uZSBjaGFubmVsIHJldHVybmVkLgogICAgLy8gU28gd2UgZW5jb2RlIHRoZSAibm8gZGF0YSIgYXMgTmFOIGhlcmUgYW5kIGlnbm9yZSBOYU5zIG9uIGZyb250ZW5kLgogICAgY29uc3QgaW5kZXhWYWwgPSBzYW1wbGVzLmRhdGFNYXNrID09PSAxID8gdmFsIDogTmFOOwogICAgY29uc3QgaW1nVmFscyA9IHZpc3VhbGl6ZXIucHJvY2Vzcyh2YWwpOwoKICAgIHJldHVybiB7CiAgICAgICAgZGVmYXVsdDogaW1nVmFscy5jb25jYXQoc2FtcGxlcy5kYXRhTWFzayksCiAgICAgICAgaW5kZXg6IFtpbmRleFZhbF0sCiAgICAgICAgZW9icm93c2VyU3RhdHM6IFt2YWxdLAogICAgICAgIGRhdGFNYXNrOiBbc2FtcGxlcy5kYXRhTWFza10KICAgIH07Cn0K
25+
evalscripturl: https://custom-scripts.sentinel-hub.com/sentinel-1/radar_vegetation_index/eob.js
2626
---
2727

2828
## General description of the script

sentinel-1/radar_vegetation_index/eob.js

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,27 @@ const ramp = [
2323
const visualizer = new ColorRampVisualizer(ramp);
2424

2525
function evaluatePixel(samples) {
26-
let dop = (samples.VV / (samples.VV + samples.VH));
27-
let m = 1 - dop;
26+
//equivalent to complement of the degree of polarization
27+
// Ratio parameter
28+
let q = (samples.VH / samples.VV);
29+
30+
// co-pol purity parameter m
31+
// m = (1-q)/(1+q)
32+
// normalized co-pol intensity parameter beta
33+
// beta = 1/(1+q)
34+
// Dual-pol radar vegetation indec DpRVIc = 1-(m*beta)
35+
// It can be also written directly in terms of q as follows
36+
let N = q*(q+3);
37+
let D = (q+1)*(q+1);
38+
2839
//depolarization within the vegetation
29-
let val = (Math.sqrt(dop)) * ((4 * (samples.VH)) / (samples.VV + samples.VH));
40+
//let val = (Math.sqrt(dop)) * ((4 * (samples.VH)) / (samples.VV + samples.VH));
41+
let val = N/D;
42+
3043
// The library for tiffs works well only if there is only one channel returned.
3144
// So we encode the "no data" as NaN here and ignore NaNs on frontend.
3245
const indexVal = samples.dataMask === 1 ? val : NaN;
3346
const imgVals = visualizer.process(val);
34-
3547
return {
3648
default: imgVals.concat(samples.dataMask),
3749
index: [indexVal],

sentinel-1/radar_vegetation_index/raw.js

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,20 @@ function setup() {
1010

1111
function evaluatePixel(samples) {
1212
//equivalent to complement of the degree of polarization
13-
let dop = (samples.VV / (samples.VV + samples.VH));
14-
let m = 1 - dop;
13+
// Ratio parameter
14+
let q = (samples.VH / samples.VV);
15+
16+
// co-pol purity parameter m
17+
// m = (1-q)/(1+q)
18+
// normalized co-pol intensity parameter beta
19+
// beta = 1/(1+q)
20+
// Dual-pol radar vegetation indec DpRVIc = 1-(m*beta)
21+
// It can be also written directly in terms of q as follows
22+
let N = q*(q+3);
23+
let D = (q+1)*(q+1);
24+
1525
//depolarization within the vegetation
16-
let value = (Math.sqrt(dop)) * ((4 * (samples.VH)) / (samples.VV + samples.VH));
26+
//let value = (Math.sqrt(dop)) * ((4 * (samples.VH)) / (samples.VV + samples.VH));
27+
let value = N/D;
1728
return [value]
1829
}

sentinel-1/radar_vegetation_index/script.js

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// Radar vegetation index for Sentinel-1 (RVI4S1) SAR data
22
// Institute: MRSLab, Indian Institute of Technology Bombay, India
33
// Data requirements: Sentinel-1 GRD data
4+
// Reference: Bhogapurapu, N., Dey, S., Mandal, D., Bhattacharya, A., Karthikeyan, L., McNairn, H. and Rao, Y.S., 2022. Soil moisture retrieval over croplands using dual-pol L-band GRD SAR data. Remote Sensing of Environment, 271, p.112900.
45
function setup() {
56
return {
67
input: ["VV", "VH", "dataMask"],
@@ -20,10 +21,21 @@ const visualizer = new ColorRampVisualizer(ramp);
2021

2122
function evaluatePixel(samples) {
2223
//equivalent to complement of the degree of polarization
23-
let dop = (samples.VV / (samples.VV + samples.VH));
24-
let m = 1 - dop;
24+
// Ratio parameter
25+
let q = (samples.VH / samples.VV);
26+
27+
// co-pol purity parameter m
28+
// m = (1-q)/(1+q)
29+
// normalized co-pol intensity parameter beta
30+
// beta = 1/(1+q)
31+
// Dual-pol radar vegetation indec DpRVIc = 1-(m*beta)
32+
// It can be also written directly in terms of q as follows
33+
let N = q*(q+3);
34+
let D = (q+1)*(q+1);
35+
2536
//depolarization within the vegetation
26-
let value = (Math.sqrt(dop)) * ((4 * (samples.VH)) / (samples.VV + samples.VH));
37+
//let value = (Math.sqrt(dop)) * ((4 * (samples.VH)) / (samples.VV + samples.VH));
38+
let value = N/D;
2739
let imgVals = visualizer.process(value);
2840
return imgVals.concat(samples.dataMask)
2941
}

0 commit comments

Comments
 (0)