Road Map | Samples | Changelog | Request a Feature
pyfor is a Python package that assists in the processing of point cloud data in the context of forest inventory. This includes manipulation of point data, support for analysis, and a memory optimized API for managing large collections of point cloud data.
Cloud Computing
pyfor is supported in part by the AWS Cloud Credits for Research program. I am exploring AWS for use in LiDAR data processing and development of this package. Please refer to the documents here.
Current Release: 0.3.2
Release Date: December 4th, 2018
Release Status: 0.3 is an adolescent LiDAR data processing package adequate for single tile processing and large acqusitions.
- Introduction
- File Input and Plotting
- Canopy Height Models
- Clipping
- Normalization
- Grid Metrics
- Collections
- Tree Detection and Segmentation
miniconda or Anaconda is required for your system before beginning. pyfor depends on many packages that are otherwise tricky and difficult to install (especially gdal and its bindings), and conda provides a quick and easy way to manage many different Python environments on your system simultaneously.
The following bash commands will install this branch of pyfor. It requires installation of miniconda (see above). This will install all of the prerequisites in that environment, named pyfor_env. pyfor depends on a lot of heavy libraries, so expect construction of the environment to take a little time.
git clone https://github.com/brycefrank/pyfor.git
cd pyfor
conda env create -f environment.yml
# For Linux / macOS:
source activate pyfor_env
# For Windows:
activate pyfor_env
pip install .Following these commands, pyfor should load in the activated Python shell.
import pyforIf you see no errors, you are ready to process!
A Note on IDEs: One of the draws of pyfor is its 3D and 2D plotting methods. These work best in Jupyter notebooks but also work well in PyCharm interactive consoles (version 2018.1 or greater).
I generally update the master branch every month or so, indicated in the changelog. If you need to update, the process is simple. Navigate to the folder you cloned pyfor in and do the following
# For Linux / macOS:
source activate pyfor_env
# For Windows:
activate pyfor_env
git pull
pip install . --upgradeBelow is a list of features, complete and otherwise.
- Ground filtering
- Interactive 2d & 3d plotting via Jupyter
- Grid metrics extraction
- Tree detection methods
- Canopy height model
- Clipping point clouds
- Batch processing
If you would like to contribute, especially those experienced with numba, numpy, gdal, ogr and pandas, please contact me at [email protected]
I am also willing to implement features on request. Feel free to open an issue with your request or email me at the address above.
pyfor will always remain a free service. Its development takes time, energy and a bit of money to maintain source code and host documentation. If you are so inclined, donations are accepted at the donation button at the top of the readme.
