Skip to content

Commit 6213020

Browse files
authored
Merge pull request #212 from ESA-APEx/delineation_fixes
Parcel Delineation - Fixes
2 parents e49efc4 + 986192e commit 6213020

File tree

7 files changed

+44
-10
lines changed

7 files changed

+44
-10
lines changed
Loading
Loading
Loading
Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,20 @@
1-
# Parcel delineation
2-
This is an [openEO](https://openeo.org/) example for delineating agricultural parcels based on a neural network, using Sentinel-2 input data.
1+
# Parcel Delineation
2+
Parcel delineation refers to the identification and marking of agricultural boundaries.
3+
This process is *essential* for tasks such as crop yield estimation and land management.
4+
Accurate delineation also aids in classifying crop types and managing farmland more effectively.
5+
6+
## Algorithm for Parcel Delineation Using Sentinel-2 Data
37

4-
[VITO Remote Sensing](https://remotesensing.vito.be)
8+
This algorithm performs parcel delineation using Sentinel-2 data and a pre-trained`U-Net machine learning model. The process involves the following steps:
9+
1. **Pre-processing Sentinel-2 Data:**
10+
1. Filter data to ensure a maximum of 10% cloud coverage.
11+
2. Apply a cloud mask based on the SCL layer.
12+
2. **Compute NDVI:**
13+
1. The Normalized Difference Vegetation Index (NDVI) is calculated from the pre-processed data.
14+
2. The NDVI serves as input to the U-Net model.
15+
3. **Predict Delineation:**
16+
1. The U-Net model predicts parcel delineation boundaries.
17+
4. **Optimization and Labeling:**
18+
1. Apply a Sobel filter to enhance edge detection.
19+
2. Use Felzenszwalb's algorithm for segmentation and labeling of delineated parcels.
20+

algorithm_catalog/vito/parcel_delineation/openeo_udp/generate.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ def generate() -> dict:
8585
process_graph=sobel_felzenszwalb,
8686
process_id="parcel_delineation",
8787
summary="Parcel delineation using Sentinel-2 data retrieved from the CDSE and processed on openEO.",
88-
description="Parcel delineation using Sentinel-2",
88+
description= (Path(__file__).parent / "README.md").read_text(),
8989
parameters=[spatial_extent, temporal_extent],
9090
default_job_options=job_options,
9191
)

algorithm_catalog/vito/parcel_delineation/openeo_udp/parcel_delineation.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@
207207
},
208208
"id": "parcel_delineation",
209209
"summary": "Parcel delineation using Sentinel-2 data retrieved from the CDSE and processed on openEO.",
210-
"description": "Parcel delineation using Sentinel-2",
210+
"description": "# Parcel Delineation\nParcel delineation refers to the identification and marking of agricultural boundaries. \nThis process is *essential* for tasks such as crop yield estimation and land management. \nAccurate delineation also aids in classifying crop types and managing farmland more effectively.\n \n## Algorithm for Parcel Delineation Using Sentinel-2 Data \n\nThis algorithm performs parcel delineation using Sentinel-2 data and a pre-trained`U-Net machine learning model. The process involves the following steps:\n1. **Pre-processing Sentinel-2 Data:**\n 1. Filter data to ensure a maximum of 10% cloud coverage. \n 2. Apply a cloud mask based on the SCL layer. \n2. **Compute NDVI:**\n 1. The Normalized Difference Vegetation Index (NDVI) is calculated from the pre-processed data.\n 2. The NDVI serves as input to the U-Net model. \n3. **Predict Delineation:**\n 1. The U-Net model predicts parcel delineation boundaries. \n4. **Optimization and Labeling:**\n 1. Apply a Sobel filter to enhance edge detection. \n 2. Use Felzenszwalb's algorithm for segmentation and labeling of delineated parcels.\n ",
211211
"default_job_options": {
212212
"udf-dependency-archives": [
213213
"https://artifactory.vgt.vito.be/auxdata-public/openeo/onnx_dependencies.zip#onnx_deps",

algorithm_catalog/vito/parcel_delineation/records/parcel_delineation.json

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
"id": "parcel_delineation",
33
"type": "Feature",
44
"conformsTo": [
5-
"http://www.opengis.net/spec/ogcapi-records-1/1.0/req/record-core",
6-
"https://apex.esa.int/core/openeo-udp"
5+
"http://www.opengis.net/spec/ogcapi-records-1/1.0/req/record-core",
6+
"https://apex.esa.int/core/openeo-udp"
77
],
88
"geometry": null,
99
"properties": {
1010
"created": "2025-06-02T00:00:00Z",
1111
"updated": "2025-06-02T00:00:00Z",
1212
"type": "service",
13-
"title": "Parcel Delination based on ML using Sentinal-2",
13+
"title": "Parcel Delineation based on ML using Sentinel-2",
1414
"description": "An openEO process example for delineating agricultural parcels based on ML using Sentinel-2 data.",
1515
"cost_estimate": 0.11,
1616
"cost_unit": "platform credits per km²",
@@ -91,7 +91,7 @@
9191
"rel": "application",
9292
"type": "application/vnd.openeo+json;type=process",
9393
"title": "openEO Process Definition",
94-
"href": "https://raw.githubusercontent.com/ESA-APEx/apex_algorithms/4edc975de279d2800e5d5367032340090d554761/algorithm_catalog/vito/parcel_delineation/openeo_udp/parcel_delineation.json"
94+
"href": "https://raw.githubusercontent.com/ESA-APEx/apex_algorithms/4edc975de279d2800e5d5367032340090d554761/algorithm_catalog/vito/parcel_delineation/openeo_udp/parcel_delineation.json"
9595
},
9696
{
9797
"rel": "code",
@@ -110,6 +110,24 @@
110110
"type": "text/html",
111111
"title": "OpenEO Web Editor",
112112
"href": "https://editor.openeo.org/?wizard=UDP&wizard~process=parceldelination&wizard~processUrl=https://raw.githubusercontent.com/ESA-APEx/apex_algorithms/4edc975de279d2800e5d5367032340090d554761/algorithm_catalog/vito/parcel_delineation/openeo_udp/parcel_delineation.json&server=https://openeo.dataspace.copernicus.eu"
113+
},
114+
{
115+
"rel": "thumbnail",
116+
"type": "image/png",
117+
"title": "Thumbnail image",
118+
"href": "https://raw.githubusercontent.com/ESA-APEx/apex_algorithms/refs/heads/main/algorithm_catalog/vito/parcel_delineation/images/header.png"
119+
},
120+
{
121+
"rel": "preview",
122+
"type": "image/jpeg",
123+
"title": "Parcel Delineation",
124+
"href": "https://raw.githubusercontent.com/ESA-APEx/apex_algorithms/refs/heads/main/algorithm_catalog/vito/parcel_delineation/images/preview_1.jpg"
125+
},
126+
{
127+
"rel": "preview",
128+
"type": "image/jpeg",
129+
"title": "Parcel Delineation - Filtered",
130+
"href": "https://raw.githubusercontent.com/ESA-APEx/apex_algorithms/refs/heads/main/algorithm_catalog/vito/parcel_delineation/images/preview_2.jpg"
113131
}
114132
]
115-
}
133+
}

0 commit comments

Comments
 (0)