Skip to content

YHanL/pyfor

 
 

Repository files navigation

Road Map | Samples | Changelog | Request a Feature

Documentation StatusBuild StatusCoverage StatusGitterDonate

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.

Release Status

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.

Samples

Installation

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 pyfor

If 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).

Updating

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 . --upgrade

Features

Below 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

Collaboration & Requests

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.

About

Tools for analyzing aerial point clouds of forest data.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Python 100.0%