Skip to main content

pymccrgb

Build Status Documentation Status

pymccrgb is a Python package for multiscale curvature classification of point clouds with color attributes.

It extends a popular classification method (MCC lidar) [0] to point cloud datasets with multiple color channels, such as those commonly produced in surveys using drone photography or other platforms. It can be used to distinguish points from the ground surface and low vegetation in data produced by structure from motion photogrammetry, stereo photogrammetry, or multi-spectral lidar scanning, or to filter colorized lidar point clouds.

The intended users are scientists in geomorphology, ecology, or planetary science who want to classify point clouds for topographic analysis, canopy height measurements, or other spectral classification.

Installation

This package is developed for Linux and Python 3.6+. It depends on common Python packages like sklearn, numpy, the LibLAS C API, and MCC Python bindings.

You can install it with conda:

conda env create -n pymcc
conda activate pymcc
conda install pymccrgb -c conda-forge

Requirements

The LibLAS C library is required for MCC and pymccrgb. The MCC wrapper also requires Boost and the C++11 or later standard library. These are installed with the conda package.

Refer to the documentation and the LibLAS install guide for instructions for installing LibLAS from source.

Examples

Example notebooks are available in the docs or at docs/source/examples.

Topography under tree cover

from pymccrgb import mcc, mcc_rgb
from pymccrgb.datasets import load_mammoth_lidar
from pymccrgb.plotting import plot_results

# Load sample data (Mammoth Mountain, CA)
data = load_mammoth_lidar(npoints=1e6)

# MCC algorithm
ground_mcc, labels_mcc = mcc(data)

# MCC-RGB algorithm
ground_mccrgb, labels_mccrgb = mcc_rgb(data)

plot_results(data, labels_mcc, labels_mccrgb)

MCC results

Results of MCC and MCC-RGB on a forested area near Mammoth Mountain, CA.

Documentation

Read the documentation for example use cases, an API reference, and more at pymccrgb.readthedocs.io.

Contributing

Bug reports

Bug reports are much appreciated. Please open an issue with the bug label, and provide a minimal example illustrating the problem.

Suggestions

Feel free to suggest new features in an issue with the new-feature label.

Pull requests

If you would like to add a feature or fix a bug, please fork the repository, create a feature branch, and submit a PR and reference any relevant issues. There are nice guides to contributing with GitHub here and here. Please include tests where appropriate and check that the test suite passes (a Travis build or pytest pymccrgb/tests) before submitting.

Support and questions

Please open an issue with your question.

References

[0] Evans, J. S., & Hudak, A. T. 2007. A multiscale curvature algorithm for classifying discrete return LiDAR in forested environments. IEEE Transactions on Geoscience and Remote Sensing, 45(4), 1029-1038 doi

License

This work is licensed under the MIT License (see LICENSE). It also incorporates a wrapper for the mcc-lidar implementation, which is distributed under the Apache license (see LICENSE.txt).

Release files for pymccrgb 0.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pymccrgb 0.1.7
File Size Uploaded
pymccrgb-0.1.7.tar.gz 285.1 kB Details

Release files / pymccrgb-0.1.7.tar.gz

Download URL pymccrgb-0.1.7.tar.gz
Size 285.1 kB
Tags Source
SHA-256 checksum
How to use checksums
378f2207f8f8ccfb1ff3a93c702f34f6254e62ebdfa287b86bf4ead471a0a653
BLAKE2b-256 checksum
How to use checksums
abd9e9110c173745ad72fefac9ad1bce5e34b91d28443a3df807bbba20731454
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.6

Release history Release notifications | RSS feed

This release

0.1.7 This release

1 release file

0.1.6

1 release file

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page