Skip to main content

Optimized C++ algorithms for dendromatics

Project description

Dendroptimized

Optimized C++ algorithms for dendromatics.

Implementation and dependencies:

It relies on the Eigen library for matrix and vector operations, Taskflow for parallel processing primitives, nanoflann for nearest neighbor searches, and Wenzel Jakob’s DisjointSet for computing connected components. These libraries are vendored as submodules into the third_party directory. Binding are implemented via nanobind.

Available algorithms:

  • Parallel drop in replacement for dendromatics voxelization
  • ad hoc parallel "reduced" DBSCAN (should only work in some dendromatics specific contexts)

To be added in a near future

  • C++ ad hoc approximate dist axes computation

Installing / Building

dendroptimized is available on PyPI. pip install dendroptimized should be enough but it is meant to be used/called by the dendromatics package

dendroptimized use scikit-build-core as its build system. It is PEP 517 compatible and thus build should be as easy as:

git clone https://github.com/3DFin/dendroptimized
cd dendroptimized
python -m build 

Testing

Some basic tests and benchmarks are provided in the tests directory. Tests can be run in a clean and reproducible environments via tox (tox run and tox run -e bench).

Acknowledgement

dendroptimized has been developed at the Centre of Wildfire Research of Swansea University (UK) in collaboration with the Research Institute of Biodiversity (CSIC, Spain) and the Department of Mining Exploitation of the University of Oviedo (Spain).

Funding provided by the UK NERC project (NE/T001194/1):

'Advancing 3D Fuel Mapping for Wildfire Behaviour and Risk Mitigation Modelling'

and by the Spanish Knowledge Generation project (PID2021-126790NB-I00):

‘Advancing carbon emission estimations from wildfires applying artificial intelligence to 3D terrestrial point clouds’.

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

dendroptimized-0.2.2.tar.gz (4.8 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

dendroptimized-0.2.2-cp313-cp313-win_amd64.whl (315.7 kB view details)

Uploaded CPython 3.13Windows x86-64

dendroptimized-0.2.2-cp313-cp313-musllinux_1_2_x86_64.whl (630.9 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

dendroptimized-0.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (193.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

dendroptimized-0.2.2-cp313-cp313-macosx_11_0_x86_64.whl (148.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ x86-64

dendroptimized-0.2.2-cp313-cp313-macosx_11_0_arm64.whl (136.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dendroptimized-0.2.2-cp312-cp312-win_amd64.whl (315.7 kB view details)

Uploaded CPython 3.12Windows x86-64

dendroptimized-0.2.2-cp312-cp312-musllinux_1_2_x86_64.whl (630.9 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dendroptimized-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (193.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

dendroptimized-0.2.2-cp312-cp312-macosx_11_0_x86_64.whl (148.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ x86-64

dendroptimized-0.2.2-cp312-cp312-macosx_11_0_arm64.whl (136.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dendroptimized-0.2.2-cp311-cp311-win_amd64.whl (316.0 kB view details)

Uploaded CPython 3.11Windows x86-64

dendroptimized-0.2.2-cp311-cp311-musllinux_1_2_x86_64.whl (631.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dendroptimized-0.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (193.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

dendroptimized-0.2.2-cp311-cp311-macosx_11_0_x86_64.whl (148.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ x86-64

dendroptimized-0.2.2-cp311-cp311-macosx_11_0_arm64.whl (136.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dendroptimized-0.2.2-cp310-cp310-win_amd64.whl (316.1 kB view details)

Uploaded CPython 3.10Windows x86-64

dendroptimized-0.2.2-cp310-cp310-musllinux_1_2_x86_64.whl (631.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dendroptimized-0.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (193.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

dendroptimized-0.2.2-cp310-cp310-macosx_11_0_x86_64.whl (148.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ x86-64

dendroptimized-0.2.2-cp310-cp310-macosx_11_0_arm64.whl (136.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

dendroptimized-0.2.2-cp39-cp39-win_amd64.whl (316.6 kB view details)

Uploaded CPython 3.9Windows x86-64

dendroptimized-0.2.2-cp39-cp39-musllinux_1_2_x86_64.whl (631.6 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

dendroptimized-0.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (193.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

dendroptimized-0.2.2-cp39-cp39-macosx_11_0_x86_64.whl (148.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ x86-64

dendroptimized-0.2.2-cp39-cp39-macosx_11_0_arm64.whl (136.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file dendroptimized-0.2.2.tar.gz.

File metadata

  • Download URL: dendroptimized-0.2.2.tar.gz
  • Upload date:
  • Size: 4.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for dendroptimized-0.2.2.tar.gz
Algorithm Hash digest
SHA256 a76ec783f3027423f40598f15c68b4a640c423aa3ca6e11a925c4c134bcb58b2
MD5 ebb224825a68bdb4ae785d3e1ff0b767
BLAKE2b-256 58adb8eebe78cdc1a051ef5a72272e80f2272b006d5716e00dea1642433bff43

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 585bf46ed146d09ce42b3488ab0d823606968b4ec8efa8ae348a412ef71406db
MD5 9e5ae2ff63fb04302c6ac15ff5524320
BLAKE2b-256 143cc99ddfd714a93ae143593760184df4f45239de90908a2652f47fb2b7ed8c

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 75c56d1bbd08c4411a3b845be04068df5c31189b4199d1529fa16a90b82a98e0
MD5 c454c4232127e4736659670286e483ff
BLAKE2b-256 a0c5f91de2190fb0b862e3d658e38591f84513220aa01fc06a6629f287ed69cb

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 388cc8edf331989436d4068933d20b5944804d92f83467f3ff0c1a5ba72d6dbb
MD5 74ac1cdbe16d85e49b33d2c6b2edf39a
BLAKE2b-256 fe7ddc11df7e49900a083d84d3f0844e54104f4bec43685b1c6590534f2ac008

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp313-cp313-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp313-cp313-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 27c273da69903a27f4b62adb0807a74a70050d6bddb4274e8b8f1976e5b1699c
MD5 6626ac105fd6a88cc9216067123a721a
BLAKE2b-256 432cbe09ac702cebd2b217db2629569e5c63f1ade889070582301ca8728cf6ee

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a796f5fd23c972c14d95f639ede0265b4c50fc42e48986cc16b5aa2bc1f4664b
MD5 831d2de2535362a482d9aadf56b54557
BLAKE2b-256 e756f37a87343b5e5bed32162b8bf7e09aa14226f4d7ae58735646be954bcb1b

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ada54c406c221ebbefd3a23608d83620d6824082d604a6ee224387ee57070834
MD5 6e01dd5ff126a816cb7dc4556e2c9eec
BLAKE2b-256 efd7baecf88a7c1823ab1b97e9da659c83f38ae2515b2c3077e90300a238fbf7

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5bfedc15f675303a31b5334b05b881d462c10767750dc5d1e96ee655287a673c
MD5 f31655ac5cc59ca3aab972e51c001b47
BLAKE2b-256 2fdffb365ec5a61a784bce7e5fca4f1aa1b4d4ae64506ad7c984471420e2b4e9

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 180f7e4321fbcd3a4ee53e5a24ea1d1a82eae4af6ca326de8dbc866514df5ce3
MD5 c9f380dc1865fe3068ca884c2b35849c
BLAKE2b-256 971354e73bb6f1e548601e188a66fc84c819ecccf567e5f4a917a5e2e777e68d

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp312-cp312-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 2f6ab9b612633695c27e53af6a57f820c33b5dab80ad4102c43a071f6309384d
MD5 b671e41074120340355100af9e8907cb
BLAKE2b-256 3fc05f7c719a7627c3a676779be08602c7bf9a16ea1ded19389a5ae1c9215f35

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 df6643ac9bb32879ea0c4cbd6604afff8ad12198a3542948bffcce9494b075f2
MD5 73e246d84d143427b2501a9bb6e66366
BLAKE2b-256 378151dcb62164e41fa07b16f80e5f5b70b62936db212c4a5b49e2ca328d2ede

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 52caed8a2fbc96558b8c101bf87734f00eb80ff16ee2596ac65584fd03c562e0
MD5 1c625693fea5daee4c6d1825d4bf8fa3
BLAKE2b-256 29c09fdc74de55847f41132027420c25605a2f4f6782c421e4328e90041da6a5

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 505b87c6372611290e1c0273a7a078f4ffc87925d6048765cebd6afb55f01742
MD5 7a6b8400350004caf43d2417109690ce
BLAKE2b-256 5b786a3f007ae5ae89d9cfd6418fb3af9e9d09943949fdd8800a5591de8982aa

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 be4323d395c3c797e7db1e979b803eb3872f6455a1e5719ba60b3a38ec9e25cb
MD5 cf3be078182719a2edcd08775bcd5cc0
BLAKE2b-256 f16a2e6df0326a29b9f3e99bf93e35eac432c963c096efe96c4d42f84c33604d

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 881329b33c27091570aceeff56da11771fdd9c1b87d311e339854392d54d47a9
MD5 43110d3439772d94589be7810f99e36d
BLAKE2b-256 0f244c871802a4c0a336c8dd2f1c2be639885fbf14771a78ccc8f26c07a4180d

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2db845bd01e03a2be4f09e7ea184f54a8da19cf7f01a8309d685c63f1d740190
MD5 0e888cc06467920c43ee75c19f8f5ee5
BLAKE2b-256 86392f9004b04eac0e87146b4679400f523934878e8e372fef2b1040fa671fbc

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f17d25e7ec829b2f400452a09133ae24d5cef21d173a279147e9e02cacc1885e
MD5 2e592214c6afb7ccc0331bf7294c2de1
BLAKE2b-256 d0f6fef800ffe19c4495c8129eb1b8acc9c020e692f07782e72c5af9f4d5fc4c

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8e1121e764cc986b5e5450b9551c40595da0982a903cd742e2d7a8aca9e8fac8
MD5 d86825b2d7d99d5d666d070d2cee8e70
BLAKE2b-256 24a68bdc81c2f1f44450c985132293bfa04d02f8b723ed452add160ddf59c775

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 19dc0cdfe1da1f649982fca0310b71ba4dbb3e21045c70b5b0e19125e15af6ac
MD5 3919bd6a9a2f91c45acfb7ad586e39d7
BLAKE2b-256 f4db641aa82897a87b20ed023ff7f6db393331c3e64f6b3eb7150625c1e4d53f

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 24155ad616234573d13d2191f18df630426601206cb006c625b89bf746bc60fd
MD5 1cc27040d1e620d9408b9639ff60cdee
BLAKE2b-256 992b2e60ca7946b9b2b4d934c913715e322415317dfedcffaf0a3f11b10dfe4f

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dc25ef31472173ca826d64982fb2ad51d1a36a7b62c2397c5190babed4cf44cb
MD5 b746b52e2f864ac79ae6ecdccb95bf3a
BLAKE2b-256 146ce4d77dba4d27434b010a1cd301624504b150dc2d1ba6b2aaa9e090ee0085

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d4f3208cc120c0b4f9d35ca425afa401befc943d838ae068a771363d801e5c62
MD5 b923a789c4c40db5adb8548f3af9d172
BLAKE2b-256 4aebb86590a02fd5a054c17239ac9b05d9756a9f85e1f34df6972692a0ee1cfd

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f735f09ad16644166afab2712ff72365b84aefd5348aa5743f1a2d94cbc64443
MD5 ffeee527ad679cb3696a224b05d9ec78
BLAKE2b-256 8bcfde2aaeaea9b651fa8e84e2543531acf38a3766119f9b962cfac38203560a

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 77a6f2e506db78f21f333e52533efc07d1ae52019a6632f67d87fb2cff54f6b4
MD5 fc050d2efb4a4380aa327166b1f3e70e
BLAKE2b-256 838d08b51490e4f2d85c72b20c30126812264a2d7eabeb772de96cadf83f65d2

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp39-cp39-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 62a96f702f99ffcb50ec6158d102b63afbc0e070f8b4da7edb8b64b987847c3e
MD5 fb890bdab77db1e6107e764e05260afe
BLAKE2b-256 f1ea4d7e9e951fb4ea69a936981c96fd37c0849e5ae47961d93146a80369156f

See more details on using hashes here.

File details

Details for the file dendroptimized-0.2.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dendroptimized-0.2.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 31df8cfd53b6eaf0ffb1346a1c5eb14447e17fab6895ffdae95415069eec9ace
MD5 646864ce6b761da2d3c429ac50cac63e
BLAKE2b-256 a647d89abc9546294d4466fe401251b830c1b4b06def305309f4b3dec64045a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page