Skip to main content

Point cloud geometric properties from python.

Project description

Jakteristics is a python package to compute point cloud geometric features.

A geometric feature is a description of the geometric shape around a point based on its neighborhood. For example, a point located on a wall will have a high planarity.

The features used in this package are described in the paper Contour detection in unstructured 3D point clouds. They are computed based on the eigenvalues and eigenvectors:

  • Eigenvalue sum

  • Omnivariance

  • Eigenentropy

  • Anisotropy

  • Planarity

  • Linearity

  • PCA1

  • PCA2

  • Surface Variation

  • Sphericity

  • Verticality

  • Nx, Ny, Nz (The normal vector)

It’s inspired from a similar tool in CloudCompare.

It’s implemented in cython using the BLAS and LAPACK scipy wrappers. It can use multiple cpus, and the performance is quite good (at least twice as fast as CloudCompare).

Installation

python -m pip install jakteristics

Usage

Refer to the documentation for more details.

From python

from jakteristics import compute_features

features = compute_features(xyz, search_radius=0.15, feature_names=['planarity', 'linearity'])

CLI

Once the package is installed, you can use the jakteristics command:

jakteristics input/las/file.las output/file.las --search-radius 0.15 --num-threads 4

Run tests

python -m pip install -r requirements-dev.txt
python setup.py pytest

History

Unreleased

0.6.0 (2023-04-20)

  • add: number_of_neighbors feature

  • add: eigenvalues and eigenvectors features

0.5.1 (2023-04-11)

  • fix: computing features when kdtree is not built from the same points for which we want to compute the features

  • drop python 3.6, add wheels for python 3.7-3.11 on linux and windows

0.5.0 (2022-01-26)

  • fix: compatibility with latest laspy version (>= 2.1.1, (2.1.0 has a bug))

0.4.3 (2020-09-24)

  • the default value when features can’t be computed should be NaN

0.4.2 (2020-04-20)

  • fix extension import statement

0.4.1 (2020-04-17)

  • fix: create parent directories for output file

  • fix: rename –num_threads to –num-threads

  • fix: require laspy 1.7 for upper case names in extra dimensions

0.4.0 (2020-04-16)

  • first pypi release

  • add github actions

0.3.0 (2020-04-14)

  • add feature-names parameter to compute specific features

0.2.0 (2020-04-10)

  • fix windows compilation with openmp

  • add example cloudcompare script

  • add num_threads cli parameter and help documentation

  • write extra dimensions in the correct order

0.1.2 (2020-04-10)

  • Fix tests

0.1.1 (2020-04-10)

  • Fix bug where single precision was used for intermediate variables

0.1.0 (2020-04-10)

  • First release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jakteristics-0.6.0.tar.gz (488.5 kB view details)

Uploaded Source

Built Distributions

jakteristics-0.6.0-cp311-cp311-win_amd64.whl (589.7 kB view details)

Uploaded CPython 3.11 Windows x86-64

jakteristics-0.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

jakteristics-0.6.0-cp310-cp310-win_amd64.whl (592.0 kB view details)

Uploaded CPython 3.10 Windows x86-64

jakteristics-0.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

jakteristics-0.6.0-cp39-cp39-win_amd64.whl (597.9 kB view details)

Uploaded CPython 3.9 Windows x86-64

jakteristics-0.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

jakteristics-0.6.0-cp38-cp38-win_amd64.whl (597.4 kB view details)

Uploaded CPython 3.8 Windows x86-64

jakteristics-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

jakteristics-0.6.0-cp37-cp37m-win_amd64.whl (591.8 kB view details)

Uploaded CPython 3.7m Windows x86-64

jakteristics-0.6.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

File details

Details for the file jakteristics-0.6.0.tar.gz.

File metadata

  • Download URL: jakteristics-0.6.0.tar.gz
  • Upload date:
  • Size: 488.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for jakteristics-0.6.0.tar.gz
Algorithm Hash digest
SHA256 64e43f7946788f2db322232128d936d31004898164f9035d448078c11fae5beb
MD5 766e07f6aba790e0086283aa18421e7b
BLAKE2b-256 01db948e2d0b0c7682c659e65a260c5254f8cf54b33ba6d767483415a27b84a4

See more details on using hashes here.

File details

Details for the file jakteristics-0.6.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for jakteristics-0.6.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 849eec182cc8598bb84b97badeafea794b44881fd6572fe070ab1b8b6faee541
MD5 f628ac7c679384bef8287c3d3f81d19a
BLAKE2b-256 b8140ba15642d40389a59f53877a684c95a344189ba27b78c7dbbd6ca9efc069

See more details on using hashes here.

File details

Details for the file jakteristics-0.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for jakteristics-0.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7b82ff567b4f15189c61f764bd981265f919a20bfcefadffc08574ee0e283fbb
MD5 cb17e9992554c39ab36dc4e3812e06d0
BLAKE2b-256 9aa2389103083d7e05cc9b876002f85d0bad63dab6c3bf9da0a310f5ab3e4d72

See more details on using hashes here.

File details

Details for the file jakteristics-0.6.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for jakteristics-0.6.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c87bb0bd1ebf3cc0154ef30d66d9120a4d25315bc0d2160b7dc15efe3944e037
MD5 2254cbf6e2935555937b1ce90c7adb2c
BLAKE2b-256 078ff3cf6c37b4b86b415141f92354b76f631df2b8237463007a8b359caf09ab

See more details on using hashes here.

File details

Details for the file jakteristics-0.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for jakteristics-0.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 504bc1c062d289c7aebad372434c20593456c459f77545d2217ca29fc4f662a8
MD5 4c7e0beb66eb8e2e114a11b32ba6e695
BLAKE2b-256 2f30f44bd008b782ee2a260aa35917fad29a3d31658ad8648619b99629d1e4fa

See more details on using hashes here.

File details

Details for the file jakteristics-0.6.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for jakteristics-0.6.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d87050a2d32ccd198b80a8a7a9ae22672fa5848f2b954ad18c54db586c91f69f
MD5 e905b920c253af3a2b186752741c7f4e
BLAKE2b-256 4cccb995023a7144651a604489bb4f57804c5174640b51326bc3f4e22fbbdba0

See more details on using hashes here.

File details

Details for the file jakteristics-0.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for jakteristics-0.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 44ed406f06c2727f1cb6de42136b746ca9e196151ea26b58efb69a96ad270012
MD5 046686942e0583d835af0d94c87151d6
BLAKE2b-256 6e8e8e9a7615a8fa458c27ebda8b4ecabc798b86aa84e0059c8c99e2cb064ddc

See more details on using hashes here.

File details

Details for the file jakteristics-0.6.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for jakteristics-0.6.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d70db385c946abd0ff82c6742e32cd731db21380bf525e71264dfe1c37d69264
MD5 26c24c4cb22c78fce78d2f8ae5e33b00
BLAKE2b-256 eb9fe920420fd7fb1b6175014ad294f72b5c2d4beeec7ac7a0a55bdb4d3da2a5

See more details on using hashes here.

File details

Details for the file jakteristics-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for jakteristics-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7b6322535786242be06770d39bcd45305ad65c417e161c744f7235f31976bbae
MD5 b45689717146e19cc7ccf995e8f58d73
BLAKE2b-256 e7043d793970aa4024cb825924e956990f03c359847cf92c83d6c2c20c255f1b

See more details on using hashes here.

File details

Details for the file jakteristics-0.6.0-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for jakteristics-0.6.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 b3ce8c8f7a434dab6410affac7e394fa41d8e7dcbe929f8ce84de1a3e521abd3
MD5 fb6139883d84749b3cc9630674d6b38b
BLAKE2b-256 b3c453a2fe49cd268b65e3e6b1881e4101ab3698cd69953c28c1fc565aecdc37

See more details on using hashes here.

File details

Details for the file jakteristics-0.6.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for jakteristics-0.6.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c229214b7e373d22e8f6e460bb6e27380a75f2d7e3814990d73cf56f3673bf82
MD5 0815a6bae16cb6e55d770003f1dd1cbc
BLAKE2b-256 5c6740c762622c1131a6afc82aafb95fc61a51d23d6e7f9558365a8ac9aad455

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page