To receive notifications about scheduled maintenance, please subscribe to the mailing-list gitlab-operations@sympa.ethz.ch. You can subscribe to the mailing-list at https://sympa.ethz.ch

Commit 6b5b31bb authored by luroth's avatar luroth
Browse files

Documentation with demo scripts and readme files


Former-commit-id: 923d291c
parent bf876923
© Lukas Roth , Group of crop science, ETH Zurich
Part of: [Phenofly UAS data processing tools](../README.md)
© Lukas Roth, Group of crop science, ETH Zurich, Part of: [Phenofly UAS data processing tools](../README.md)
# Image segmentation
......
© Lukas Roth , Group of crop science, ETH Zurich
© Lukas Roth, Group of crop science, ETH Zurich, Part of: [Phenofly UAS data processing tools](../README.md)
Part of: [Phenofly UAS data processing tools](../README.md)
# Early growth trait extraction
# Multi-view image generation and early growth trait extraction
Sample scripts to generate segmented multi-view images and extract plant count, tiller count and begin of stem elongation values.
Sample scripts to extract plant count, tiller count and begin of stem elongation values.
## Background
Based on:
......@@ -19,13 +16,14 @@ Run ```EarlyGrowthTraitExtraction/_Demo_.py```
Prerequisit:
1. Image masks generated (see [Image mask generation (Standalone Agisoft Script)](ImageProjectionAgisoft/README.md))
2. Images segmented in plant and soin (see TODO)
3. Multi-view images gerated
The campaign folder should therefore contain following subfolders:
- ```image_masks```
- ```segmentation```
- ```GC_AC```
It will generate the following folders:
- ```GC_AC```: Genereated segmented multi-view images
- ```trait_csvs```: CSVs with extracted trait values per plot
......
......@@ -19,17 +19,6 @@ GSD_output = 0.001 # m
# Size of plot in pixel
ny, nx = (round((2 - (2 * 0.3)) / GSD_output), round((1.5 - (2 * 0.3)) / GSD_output))
# Generate multi-view images
############################
MultiViewImageGenerator.process_multiview_images_generation(
path_files,
design_label,
nx=nx, ny=ny,
subplots=None,
buffer=buffer)
print("Segmented multi view images generated in", path_files / "GC_AC")
# Extract plant counts
######################
......
© Lukas Roth, Group of crop science, ETH Zurich, Part of: [Phenofly UAS data processing tools](../README.md)
# Image mask generation (Standalone Agisoft Script)
## Data Preparation
......
© Lukas Roth , Group of crop science, ETH Zurich
Part of: [Phenofly UAS data processing tools](../README.md)
© Lukas Roth, Group of crop science, ETH Zurich, Part of: [Phenofly UAS data processing tools](../README.md)
# Image mask generation (Ray tracing to DTM, depreciated)
Sample scripts to project images on a digital terrain model (DTM), followed by plot-based sample extraction.
......
© Lukas Roth, Group of crop science, ETH Zurich, Part of: [Phenofly UAS data processing tools](../README.md)
# Multi-view image generation
Sample scripts to generate segmented multi-view images
## Background
Based on:
Roth et al. 2019 (unpublished)
## Example
Run ```MultiViewImage/_Demo_.py```
Prerequisit:
1. Image masks generated (see [Image mask generation (Standalone Agisoft Script)](ImageProjectionAgisoft/README.md))
2. Images segmented in plant and soin (see TODO)
The campaign folder should therefore contain following subfolders:
- ```image_masks```
- ```segmentation```
It will generate the following folders:
- ```GC_AC```: Genereated segmented multi-view images
import os
from pathlib import Path
from EarlyGrowthTraitExtraction import MultiViewImageGenerator, TraitExtractor
# Paths and settings for sample campaign
########################################
base_dir = Path(os.path.join(os.path.dirname(os.path.realpath(__file__))))
design_label = "FPWW025_lot2"
path_files = base_dir / "_TestData" / "sonyA9" / "20190402" / "28m_M600P"
# Ground sampling distance
GSD = 0.003 # m
# Buffer to apply before sampling
buffer = round(-0.3 / GSD) # 0.3 m buffer
# GSD of multi-view images
GSD_output = 0.001 # m
# Size of plot in pixel
ny, nx = (round((2 - (2 * 0.3)) / GSD_output), round((1.5 - (2 * 0.3)) / GSD_output))
# Generate multi-view images
############################
MultiViewImageGenerator.process_multiview_images_generation(
path_files,
design_label,
nx=nx, ny=ny,
subplots=None,
buffer=buffer)
print("Segmented multi view images generated in", path_files / "GC_AC")
# PhenoFly data processing tools
© Lukas Roth
© Lukas Roth, Group of crop science, ETH Zurich
Group of crop science, ETH Zurich
License: GPL-2
## Content
## Background
The *PhenoFly data processing tool* repository hosts Python code related to **high-throughput field phenotyping** with unmanned aerial systems (UAS).
Methods are based on viewing geometries [1] and **multi-view images** [2].
Three major steps are required to preprocess flight campaigns:
1. [Image mask generation (Standalone Agisoft Script)](ImageProjectionAgisoft/README.md)
2. [Image segmentation](ActiveLearningSegmentation/README.md)
3. [Multi-view image generation and early growth trait extraction](EarlyGrowthTraitExtraction/README.md)
2. [Image segmentation with Random Forest](ActiveLearningSegmentation/README.md)
3. [Multi-view image generation](MultiViewImage/README.md)
After this steps, on of the following methods can be used to extract phenotyping traits:
3. [Early growth trait extraction](EarlyGrowthTraitExtraction/README.md)
### Depreciated content
1. [Image mask generation (Ray tracing to DTM, depreciated)](ImageProjectionRayTracing/README.md)
## Depreciated content
---
1. [Image mask generation (Ray tracing to DTM, depreciated)](ImageProjectionRayTracing/README.md)
\ No newline at end of file
[1]: Roth, Aasen, Walter, Liebisch 2018: Extracting leaf area index using viewing geometry effects—A new perspective on high-resolution unmanned aerial system photography, ISPRS Journal of Photogrammetry and Remote Sensing. https://doi.org/10.1016/j.isprsjprs.2018.04.012
[2]: Roth et al. 2019, unpublished
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment