SYSSIFOSS is a joint project between the Institute of Geography and Geoecology (IFGG) of the Karlsruhe Institute of Technology (KIT) and the 3DGeo Research Group of Heidelberg University. In this project we suggest a new approach to create synthetic LiDAR data by combining the outputs of an established forest growth simulator with a database of species-specific model trees extracted from real LiDAR point clouds.
Find out more on our project website and watch our project video.
The repository contains the scripts used for processing our laser scanning forest data.
OPALS tools for registering TLS data to ULS data:
stem detection: opals_stem_detection_tls.py
, opals_stem_detection_uls.py
applying multiple transformation: opals_apply_transformation.py
running the ICP: opals_run_icp.py
and opals_run_icp_all.py
ransac_2d_trafo.py
Scripts for automatically extracting point clouds from one point cloud using template point clouds:
get2clouds_multiple_targets.py
, get2clouds_ULS_ALS.py
Can be used for
retrieving all points of a spatial subset from a large point cloud using a downsampled source (template) point cloud from the same dataset, e.g.,
retrieving all points of a spatial subset from one dataset using a source point cloud from another dataset, e.g.,
Library for the computation of tree metrics: TreeMetrics.py
Scripts for
computing tree metrics, using TreeMetrics.py
: compute_tree_metrics.py
computating of DBH: DBH_RANSAC.py
, DBH_ellipse.py
deriving tree positions: tree_positiony.py
External programs used:
Concave hull C++ program by Alasdair Craig: https://www.codeproject.com/Articles/1201438/The-Concave-Hull-of-a-Set-of-Points
using the algorithm by Moreira & Santos (2007): concave.exe
Ellipse fitting program by Nicky van Foreest:https://github.com/ndvanforeest/fit_ellipse: fit_ellipse.py
create_geojsons_pytreedb.py
and create_geojsons_pytreedb_2.py
geojsons_to_csv.py
Requirements for all non-opals scripts are found in requirements.txt
See LICENSE