Documentation: https://jakteristics.readthedocs.io
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
Metadata
Release files for jakteristics 0.6.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jakteristics-0.6.2.tar.gz | 608.1 kB | Details |
Built distributions (wheels)
Total release size: 24.4 MB
Release files / jakteristics-0.6.2.tar.gz
| Download URL | jakteristics-0.6.2.tar.gz |
|---|---|
| Size | 608.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
767cdb08536d99130e3676ca6e1dcc7b6ff8582340fee836f6eed85bc1043d52
|
|
BLAKE2b-256 checksum How to use checksums |
76a402ad4f9492e7c51f2b691d0f9b20d68c1c24e175e51f481106b3f6002dea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.8.10
|
Release files / jakteristics-0.6.2-cp312-cp312-win_amd64.whl
| Download URL | jakteristics-0.6.2-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 720.3 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
866d0fd573787cca66917634c4a25d3a9fef391b7a20351a7b36e76123c05534
|
|
BLAKE2b-256 checksum How to use checksums |
5c7228f653ed7a611da5dd43349cb839172e9a6a43cc7d52e0c3eb974d6f7992
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.8.10
|
Release files / jakteristics-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | jakteristics-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 4.1 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
b44d2b95b4201fc052909c1de458d231d13a8e4ce9221f7ba337c60da01c4744
|
|
BLAKE2b-256 checksum How to use checksums |
a8c6dfc56800176b4e4eb33c7360ad84de83ef3f7ead1d2f6155c9f81d8f04e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.8.10
|
Release files / jakteristics-0.6.2-cp311-cp311-win_amd64.whl
| Download URL | jakteristics-0.6.2-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 723.4 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
60435ee74ccb9bf52baa1a23be041f93c7343bd1f5c0cae8c741c963159c6c98
|
|
BLAKE2b-256 checksum How to use checksums |
c60e667fa6e5532772dc3b351f96842d3558a1a41b380ddabe9bf11ae0165f32
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.8.10
|
Release files / jakteristics-0.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | jakteristics-0.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 4.1 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
ff8cc6645f35557876c593c6c58942deb0d28412e2ac31b637611da0a23dad89
|
|
BLAKE2b-256 checksum How to use checksums |
051c31005d60cf2aaeb5a8ab0f65be2040c99ef36a1c49dad8c92beb8ad5ada8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.8.10
|
Release files / jakteristics-0.6.2-cp310-cp310-win_amd64.whl
| Download URL | jakteristics-0.6.2-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 723.3 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e884c2b9863ef12922b455c8da22cc07a22cd99e88cf1d5729d8e2bbf02c05d6
|
|
BLAKE2b-256 checksum How to use checksums |
a052c11b628d853db7bb6fa05fb7662db2dae719dedbcf485943f2568e8d36de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.8.10
|
Release files / jakteristics-0.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | jakteristics-0.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 4.0 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
bc0dba7299a4cdbc8762c8c8feeee3b8aa48d4020cf5fd41018f6c44fd5c1ac6
|
|
BLAKE2b-256 checksum How to use checksums |
a18fba2103ab4fc6b05ad176abe83fb3fa9a573325231161f53448ef809b54fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.8.10
|
Release files / jakteristics-0.6.2-cp39-cp39-win_amd64.whl
| Download URL | jakteristics-0.6.2-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 725.1 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ad4672eab79fc47c5fd73b97100b45cdf8fbf51b10d61f20586794d6d097e8fd
|
|
BLAKE2b-256 checksum How to use checksums |
90b053538d4ceedf7e7c6ffae05a5e211a712205cf8e065398232c24b274dfd8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.8.10
|
Release files / jakteristics-0.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | jakteristics-0.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 4.0 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
a3d91ac868b1f128c6623d202e3b0f2e25e51c5a74666fb49a89354fc7e5de5c
|
|
BLAKE2b-256 checksum How to use checksums |
2fe43539da9202c9f095dfac68472cbdc670cc7ad1581aacab3ff7d10f09041a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.8.10
|
Release files / jakteristics-0.6.2-cp38-cp38-win_amd64.whl
| Download URL | jakteristics-0.6.2-cp38-cp38-win_amd64.whl |
|---|---|
| Size | 721.5 kB |
| Tags | CPython 3.8 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a931f5d5ca9435746d0069e8fe500df4ef7ca3ba2e8701bfce2a487c2b2107e1
|
|
BLAKE2b-256 checksum How to use checksums |
afb064b0372337441a4da7d78f0b9311ab5454ff3817f4aba667e6d0ae4601ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.8.10
|
Release files / jakteristics-0.6.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | jakteristics-0.6.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 4.0 MB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
a1abf4122c78c48d0f6369e2c2ba803205b9750e442c08ec739cce0bf9d43a7b
|
|
BLAKE2b-256 checksum How to use checksums |
5eca6c8f3998fa538faed9391b39a18fe9ce6481ff46916634ea03024829b2b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.8.10
|