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.2 (2024-07-22)

0.6.1 (2024-06-04)

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

Uploaded Source

Built Distributions

jakteristics-0.6.2-cp312-cp312-win_amd64.whl (720.3 kB view details)

Uploaded CPython 3.12 Windows x86-64

jakteristics-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

jakteristics-0.6.2-cp311-cp311-win_amd64.whl (723.4 kB view details)

Uploaded CPython 3.11 Windows x86-64

jakteristics-0.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

jakteristics-0.6.2-cp310-cp310-win_amd64.whl (723.3 kB view details)

Uploaded CPython 3.10 Windows x86-64

jakteristics-0.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

jakteristics-0.6.2-cp39-cp39-win_amd64.whl (725.1 kB view details)

Uploaded CPython 3.9 Windows x86-64

jakteristics-0.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

jakteristics-0.6.2-cp38-cp38-win_amd64.whl (721.5 kB view details)

Uploaded CPython 3.8 Windows x86-64

jakteristics-0.6.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

File details

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

File metadata

  • Download URL: jakteristics-0.6.2.tar.gz
  • Upload date:
  • Size: 608.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.10

File hashes

Hashes for jakteristics-0.6.2.tar.gz
Algorithm Hash digest
SHA256 767cdb08536d99130e3676ca6e1dcc7b6ff8582340fee836f6eed85bc1043d52
MD5 25c51216532f0ed131494ec3f397d242
BLAKE2b-256 76a402ad4f9492e7c51f2b691d0f9b20d68c1c24e175e51f481106b3f6002dea

See more details on using hashes here.

File details

Details for the file jakteristics-0.6.2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for jakteristics-0.6.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 866d0fd573787cca66917634c4a25d3a9fef391b7a20351a7b36e76123c05534
MD5 f9f2be58d5027ba5e010ea7209d6d602
BLAKE2b-256 5c7228f653ed7a611da5dd43349cb839172e9a6a43cc7d52e0c3eb974d6f7992

See more details on using hashes here.

File details

Details for the file jakteristics-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for jakteristics-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b44d2b95b4201fc052909c1de458d231d13a8e4ce9221f7ba337c60da01c4744
MD5 974366d3bfb0e65f6cfc0e573b28152f
BLAKE2b-256 a8c6dfc56800176b4e4eb33c7360ad84de83ef3f7ead1d2f6155c9f81d8f04e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jakteristics-0.6.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 60435ee74ccb9bf52baa1a23be041f93c7343bd1f5c0cae8c741c963159c6c98
MD5 d79e08e9e4a3e9893793217f30b73dc1
BLAKE2b-256 c60e667fa6e5532772dc3b351f96842d3558a1a41b380ddabe9bf11ae0165f32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jakteristics-0.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ff8cc6645f35557876c593c6c58942deb0d28412e2ac31b637611da0a23dad89
MD5 57489e186057934fbd985f574d6347cb
BLAKE2b-256 051c31005d60cf2aaeb5a8ab0f65be2040c99ef36a1c49dad8c92beb8ad5ada8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jakteristics-0.6.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e884c2b9863ef12922b455c8da22cc07a22cd99e88cf1d5729d8e2bbf02c05d6
MD5 347b6db0eb0fac70a6be7ce06a3ea3a4
BLAKE2b-256 a052c11b628d853db7bb6fa05fb7662db2dae719dedbcf485943f2568e8d36de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jakteristics-0.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bc0dba7299a4cdbc8762c8c8feeee3b8aa48d4020cf5fd41018f6c44fd5c1ac6
MD5 aa722694764dc9950ef058284b0d8f0b
BLAKE2b-256 a18fba2103ab4fc6b05ad176abe83fb3fa9a573325231161f53448ef809b54fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jakteristics-0.6.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ad4672eab79fc47c5fd73b97100b45cdf8fbf51b10d61f20586794d6d097e8fd
MD5 31f3d0a8d56cb00aae685d70b60bf260
BLAKE2b-256 90b053538d4ceedf7e7c6ffae05a5e211a712205cf8e065398232c24b274dfd8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jakteristics-0.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a3d91ac868b1f128c6623d202e3b0f2e25e51c5a74666fb49a89354fc7e5de5c
MD5 60535139a1f4d499905360ca2ca2e45a
BLAKE2b-256 2fe43539da9202c9f095dfac68472cbdc670cc7ad1581aacab3ff7d10f09041a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jakteristics-0.6.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a931f5d5ca9435746d0069e8fe500df4ef7ca3ba2e8701bfce2a487c2b2107e1
MD5 1841e3a265623cf2aa9dd3bdac5720f1
BLAKE2b-256 afb064b0372337441a4da7d78f0b9311ab5454ff3817f4aba667e6d0ae4601ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jakteristics-0.6.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a1abf4122c78c48d0f6369e2c2ba803205b9750e442c08ec739cce0bf9d43a7b
MD5 475b9e24e49ef7b9ab74e03c9c528a89
BLAKE2b-256 5eca6c8f3998fa538faed9391b39a18fe9ce6481ff46916634ea03024829b2b8

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