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)

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.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.5.0.tar.gz (483.1 kB view details)

Uploaded Source

Built Distributions

jakteristics-0.5.0-cp38-cp38-win_amd64.whl (626.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

jakteristics-0.5.0-cp37-cp37m-win_amd64.whl (618.3 kB view details)

Uploaded CPython 3.7m Windows x86-64

jakteristics-0.5.0-cp36-cp36m-win_amd64.whl (615.7 kB view details)

Uploaded CPython 3.6m Windows x86-64

File details

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

File metadata

  • Download URL: jakteristics-0.5.0.tar.gz
  • Upload date:
  • Size: 483.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for jakteristics-0.5.0.tar.gz
Algorithm Hash digest
SHA256 37eed2b45d4b599f2972adda55d3cf5cdc607a2a832706c0e63fd369b21016d9
MD5 e361fdcc6ebfb123ab1bc8b187e286a2
BLAKE2b-256 4d9cde2c05318208fd387a4e788738938bd88ca5ee635d565c844d4875bde981

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jakteristics-0.5.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 626.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for jakteristics-0.5.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 74f4ddf1a801e5b9898eb6a87ad029b063d24ca24fb1843b2791ee5557bb4e38
MD5 bcd6624986fb326226be72285c47be1b
BLAKE2b-256 7f2c6710d135891aadd26629106e75750813f3a0daa5f1a96c0f7a42a18f6647

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jakteristics-0.5.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 618.3 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.9

File hashes

Hashes for jakteristics-0.5.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 0a5a87a0caffb5cda8766fbd4af11fc3de12b81305d0170a81cffcfdf7bec8d8
MD5 a70a0afb22e3215425aed80215c1bb3d
BLAKE2b-256 5d2eeb59b24da834a68258d0e75600c9d97a72a14ef608c380e74f46f8daefbe

See more details on using hashes here.

File details

Details for the file jakteristics-0.5.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: jakteristics-0.5.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 615.7 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.3 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.8

File hashes

Hashes for jakteristics-0.5.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 dc83b9c81a37c9e21cf5c8c7ca022c6e35b7c8b03945bab783fbb08ce41003f0
MD5 1c339ffbffe38063fd9962b25967574d
BLAKE2b-256 2a5c948c6945578d7c0bba547bc3f27e844b0a4e9f8959749d8e432a2c7876ae

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