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

Uploaded Source

Built Distributions

jakteristics-0.5.1-cp311-cp311-win_amd64.whl (586.9 kB view details)

Uploaded CPython 3.11 Windows x86-64

jakteristics-0.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

jakteristics-0.5.1-cp310-cp310-win_amd64.whl (589.2 kB view details)

Uploaded CPython 3.10 Windows x86-64

jakteristics-0.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

jakteristics-0.5.1-cp39-cp39-win_amd64.whl (595.3 kB view details)

Uploaded CPython 3.9 Windows x86-64

jakteristics-0.5.1-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.5.1-cp38-cp38-win_amd64.whl (594.7 kB view details)

Uploaded CPython 3.8 Windows x86-64

jakteristics-0.5.1-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.5.1-cp37-cp37m-win_amd64.whl (589.1 kB view details)

Uploaded CPython 3.7m Windows x86-64

jakteristics-0.5.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

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

File details

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

File metadata

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

File hashes

Hashes for jakteristics-0.5.1.tar.gz
Algorithm Hash digest
SHA256 9aa2973a0ca8c9c37f5d6159f77a88483e750f4b1f502c4bfe315ee5d73491f0
MD5 9ecee2e0c7cee1835ace0166f7d2105b
BLAKE2b-256 70a1aab82a000da377b37ee5861d993100f3a92216dece10e56a69d848cff4c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jakteristics-0.5.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d310a755e4f3be2eef31419822f52df15e27b4d2ede5c66482d4b228236a1ca7
MD5 a4e79563d4dec8198ee78e7eb4fe7c06
BLAKE2b-256 483efda56f3aa50ff44612481bfd2899ae231f7fecf8a783865e987b035736cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jakteristics-0.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b9ed4daccdf374a7808fc0e0b94c9b040f2c111cdcf102f7a3e1551ec539f0c2
MD5 62db30d1c6f4f1f3fa7deba95104b7dd
BLAKE2b-256 2b1759cf37e22dcad28e22645c6efcbbff238228c6c2da1a794e18c7a9201ce1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jakteristics-0.5.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 744da68e7f8933580218ab724ae6688a0859d4a103f53c958246838d5759b2f5
MD5 2f63875b4fbf000788217380ac01b03d
BLAKE2b-256 b5643c5003b6980c6d401863be92bc5a6fc8c2b6141bdd6b14eb828f5b057e36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jakteristics-0.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a250c5058a675749feec47eb23115cc3db5ee8aae0d4aa3dbb03ec53b6ff72c4
MD5 ec6d2919135245c7767af3933ec6977e
BLAKE2b-256 7344f8ed307dc8eb6c6ffa20aea79249eed4f1261c3adb976befa14965ece73d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jakteristics-0.5.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8de251d8085befa759945564a5a946daa3fdffdb0b2cc726e2041a2ead7e1562
MD5 ce1a97510aaec28dcdc28dc479f1e610
BLAKE2b-256 16f3c07d78683feb1f67dc67470bddc7203967746d24a90e7c4519e4e5d3f8fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jakteristics-0.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3d877972cc262fd3895fb2e742ae9fb8398f0add64daba8820e3bd73c8ff4995
MD5 496477c4d17b881123116dc1c9df4363
BLAKE2b-256 33c6abea64450cdf0e4669b8ae17ab35d85fb79cac29d458d16379a7a3deb593

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jakteristics-0.5.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d6f56f63dfcdff1a87b3539a9be4119fb2f2dfa448608464f3d2ffd61b036023
MD5 96a73fad62c1bfd9ca2e25ed6cdd35bf
BLAKE2b-256 cd84157933d266a30fbfdaf4f4c820800b3047524629bdfc6889c62e7f49797b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jakteristics-0.5.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d8f76946a99c4be4588c5def96bb894580dc4072ce177ee3c31e43fe10481f42
MD5 aca851404ef71c0ab1f56e0232af4eb2
BLAKE2b-256 cc3b7800a35572fff2275af98f3d210e65143fbb90e64d19ad4dd2dca3f1a13a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jakteristics-0.5.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 e94515b0c864503492d98a39264ac664800bf591b20f4f76b4deae8e0d25226f
MD5 edcf31852bfb0651b0a81b059c43996f
BLAKE2b-256 0248229be4ff77cde9c315a2f84509531cbf7d73a6b6d274f7664c7aa876a5fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jakteristics-0.5.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8772d201e2b2fbdf758d05cee256a966bf2dcd8cf9c1578c5011d15bbe7e8e86
MD5 d178cc0ef136f5644721ecb895b413a4
BLAKE2b-256 d710f976e85b5972d8cf7a6beecd01a1b9ff6188ac293d552483d5f230e7fe30

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