{"id":26716469,"url":"https://github.com/jakarto3d/jakteristics","last_synced_at":"2025-04-08T03:19:29.417Z","repository":{"id":44754025,"uuid":"255671144","full_name":"jakarto3d/jakteristics","owner":"jakarto3d","description":"Compute point cloud geometric features from python","archived":false,"fork":false,"pushed_at":"2024-07-22T15:15:50.000Z","size":176,"stargazers_count":94,"open_issues_count":8,"forks_count":15,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-03-27T15:32:18.229Z","etag":null,"topics":["3d","feature","geometric","lidar","lidar-point-cloud","normals","pointcloud","processing","python"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jakarto3d.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-14T17:01:01.000Z","updated_at":"2025-03-25T21:34:21.000Z","dependencies_parsed_at":"2024-06-04T17:28:14.542Z","dependency_job_id":"32fdbd62-9590-4a7e-9785-20573b72fdd0","html_url":"https://github.com/jakarto3d/jakteristics","commit_stats":{"total_commits":32,"total_committers":2,"mean_commits":16.0,"dds":0.28125,"last_synced_commit":"9fcb137aa0832d4e3725edeb24bb37621c68b1e0"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakarto3d%2Fjakteristics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakarto3d%2Fjakteristics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakarto3d%2Fjakteristics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakarto3d%2Fjakteristics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jakarto3d","download_url":"https://codeload.github.com/jakarto3d/jakteristics/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247767239,"owners_count":20992548,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d","feature","geometric","lidar","lidar-point-cloud","normals","pointcloud","processing","python"],"created_at":"2025-03-27T15:27:41.289Z","updated_at":"2025-04-08T03:19:29.395Z","avatar_url":"https://github.com/jakarto3d.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nJakteristics\n~~~~~~~~~~~~\n\n* **Documentation**: https://jakteristics.readthedocs.io\n* **Github**: https://github.com/jakarto3d/jakteristics\n\nJakteristics is a python package to compute point cloud geometric features. \n\nA **geometric feature** is a description of the geometric shape around a point based on its \nneighborhood. For example, a point located on a wall will have a high *planarity*.\n\nThe features used in this package are described in the paper\n`Contour detection in unstructured 3D point clouds`_.\nThey are computed based on the eigenvalues and eigenvectors:\n\n* Eigenvalue sum\n* Omnivariance\n* Eigenentropy\n* Anisotropy\n* Planarity\n* Linearity\n* PCA1\n* PCA2\n* Surface Variation\n* Sphericity\n* Verticality\n* Nx, Ny, Nz (The normal vector)\n\nIt's inspired from a similar tool in `CloudCompare \u003chttps://www.danielgm.net/cc/\u003e`_.\n\nIt's implemented in cython using the BLAS and LAPACK scipy wrappers. It can use multiple cpus, \nand the performance is quite good (at least twice as fast as CloudCompare).\n\n.. _`Contour detection in unstructured 3D point clouds`: https://ethz.ch/content/dam/ethz/special-interest/baug/igp/photogrammetry-remote-sensing-dam/documents/pdf/timo-jan-cvpr2016.pdf\n\n\nInstallation\n============\n\n.. code:: bash\n\n    python -m pip install jakteristics\n\n\nUsage\n=====\n\nRefer to the `documentation \u003chttps://jakteristics.readthedocs.io/en/latest/usage.html\u003e`_ for more details.\n\n\nFrom python\n-----------\n\n.. code:: python\n\n    from jakteristics import compute_features\n\n    features = compute_features(xyz, search_radius=0.15, feature_names=['planarity', 'linearity'])\n\n\nCLI\n---\n\nOnce the package is installed, you can use the `jakteristics` command:\n\n.. code:: bash\n\n    jakteristics input/las/file.las output/file.las --search-radius 0.15 --num-threads 4\n\n\nRun tests\n=========\n\n.. code:: bash\n\n    python -m pip install -r requirements-dev.txt\n    python setup.py pytest\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakarto3d%2Fjakteristics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjakarto3d%2Fjakteristics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakarto3d%2Fjakteristics/lists"}