Channel extraction tools
This repository contains several different methods for extracting drainage networks: The older versions have been used in our papers (see below): we have bundled all these methods into the channel_extraction_tool.
Drainage extraction from an area threshold.
A reproduction of the Pelletier algorithm, from Pelletier, WRR, 2013.
The DrEICH algorithm, Clubb et al., WRR, 2014
Geometric algorithm using Wiener filter and quantile-quantile plots to find channel heads, used by Grieve et al., ESURF, 2016. We call this the Passacqua-Pelletier-Grieve (PPG) method since it combines elements of the Pelletier and GeoNet methods.
You will find full instructions on installation, running and options for the channel extraction tool here:
Notes on the methods
The area threshold is a highly rudimentary method and is suggested only if your main concern is speed. The DrEICH, Pelletier and PPG methods have all been tested against field data on channel heads (see Clubb et al., WRR, 2014). The PPG method is robust against changes to grid resolution (see Grieve et al., ESURF, 2016).
If you are totally new to LSDTopoTools you can set up your system by following the README on our LSDTopoTools VagrantFile repository.
|All but the area extraction methods use Fourier transforms, so you will need the FFTW fourier transform library installed on your system for these programs to work! Luckily, we have automated installation of FFTW with our vagrant files: use one of the FFTW versions.|
If you start a vagrant virtual machine (if you don’t know what that is read here) generated by one of our FFTW vagrant files, you will AUTOMATICALLY have the drainage extraction source code in your directory tree.
Some more information on setting up LSDTopoTools
LSDTopoTools are written in C++ and work best in Linux. We realise, however, not that many people use Linux. We have therefore set up something called a virtual machine that runs a Linux operating system within whichever operating system you normally use (be it Windows, OSX, or Linux). To do this, we use a nifty bit of software called Vagrant that automates the setup process. You can read the instructions on our documentation website, but basically you need to download a few bits of software that are very easy to install, download something called a vagrantfile, and this vagrantfile automates the construction of a working linux system that has several LSDTopoTools packages.