Ecosynth Tools

From Ecosynth Wiki
Jump to: navigation, search


Ecosynth uses a variety of tools to make magic happen.


Ecosynth Tools

Ecosynth Aerial Pipeline


A browser-based GUI that walks you through the entire Ecosynth pipeline, from generating the point cloud, to georeferencing and producing data products like canopy height models/maps (CHMs) and digital terrain models/maps (DTMs). An example is shown to the right.

The GUI has been wrapped into Ecosynth's Python Package, which is further explained below.

Ecosynth Ground Pipeline

Prototype of a ground based Ecosynth data collection and processing pipeline - In development!

GPU Bundler

A sped-up implementation of the Bundler SfM algorithm that uses GPS computing and assumptions of photo relationship to reduce compuation time compared to the original Bundler

Ecosynth Mobile Platform

In development -- A mobile solution for Ecosynth 3D reconstruction of ecosystems.

Ecosynth Python Package


The Ecosynth Lab has been using and developing several software tools to help turn collections of images into point cloud models of landscapes, and then use those point clouds to gather information about the landscape. One of our next big projects is to figure out how to best get these tools into other people’s hands and make them worthwhile to use.

The Ecosynth Aerial Pipeline

The Ecosynth Aerial data processing pipeline can be broken down into four main stages. The stages, ordered sequentially, are: Data Acquisition with a UAV, Point Cloud Generation, Post-Processing & Analysis, and Sharing Results.

Stage 1: Data Acquisition with a UAV

In Stage 1, a flight mission is prepared and carried out by a UAV to collect images and associated GPS position data. One use of an Ecosynth Python Package at this stage would be to filter GPS positions from the UAV’s telemetry file and format the positions in a standardized way for downstream data processing.

Stage 2: Point Cloud Generation

In Stage 2, the images and GPS positions are fed into Ecosynth’s Computer Vision program “Ecosynther”, which generates a point cloud using Structure from Motion software. Currently, Ecosynther has several dependencies (e.g. NVIDIA’s CUDA framework) that limit its ability to be installed locally on a typical user’s computer. A potential use for an Ecosynth Python Package would be to help interface a user with a remote server running the Ecosynther program.

Stage 3: Post-Processing and Analysis

In Stage 3, the point cloud is georeferenced and filtered for noise, and then it is characterized and compared to other point clouds. This is where the bulk of the Python tools currently developed by Ecosynth would be placed and most readily would fit into a Ecosynth Python Package.

Stage 4: Sharing Results

In Stage 4, Ecosynth’s “EcoBrowser” project has been developed to help users view and markup point clouds through a web browser. In the future, we want users to have the ability to push up their own data to a public database for others to see and use, and a potential use for an Ecosynth Python Package would be to (similarly to Stage 2) help interface a user with a remote server hosting that database.

The Ecosynth's Python Package

The Ecosynth Python Package is broken down into four modules, each representing a stage in the data processing pipeline.

  • ecosynth/
    • acquisition/
    • generation/
    • postprocess/
    • share/


To more about the functions and how to download and use the tool, check out the code documentation over on [ ].