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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file dendroptimized-0.1.0.tar.gz
.
File metadata
- Download URL: dendroptimized-0.1.0.tar.gz
- Upload date:
- Size: 4.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 308281a7c1c62a57a79b27c05fe68a9e4d9039c3043b3d273e2bb64e15bbb38c |
|
MD5 | f2e056340240dc7b0e99a626fda16038 |
|
BLAKE2b-256 | d28f4342fdd989fd5177993120c7c7f6fd46a727e4abcd2c1cf00504dc269472 |
File details
Details for the file dendroptimized-0.1.0-cp312-cp312-win_amd64.whl
.
File metadata
- Download URL: dendroptimized-0.1.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 163.3 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 941648030869f0ef47a9a2e70ebe521f074a491ac723a776a878efe040d2ff59 |
|
MD5 | 752fce9f93bb95b5cee2f180316c5917 |
|
BLAKE2b-256 | b988ab1a0978224ccd548d0955e9a6f3ceb0c4c6663e24ef624dd8d21130f0cf |
File details
Details for the file dendroptimized-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
.
File metadata
- Download URL: dendroptimized-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 653.8 kB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7db2d57a73a448660fd5692c692902d174ef7838436c53f4798c44d776304f3 |
|
MD5 | 75d4f7a6a7087ed7dcdbb80a65df686a |
|
BLAKE2b-256 | 66ad14729149010056520f9a7766d5990847e386984f4fb45f730e8b408c132a |
File details
Details for the file dendroptimized-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: dendroptimized-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 205.3 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a6aab756471756baf1ac3e2365f7b4cde68da2300be4433a12cae77e0ff02f9 |
|
MD5 | 88c8da8dff171b31058f9abec34e6f09 |
|
BLAKE2b-256 | c94306c983887cc77a15dae539b2ce43040ae094ec60ff9643fda8cdc05945a1 |
File details
Details for the file dendroptimized-0.1.0-cp312-cp312-macosx_11_0_x86_64.whl
.
File metadata
- Download URL: dendroptimized-0.1.0-cp312-cp312-macosx_11_0_x86_64.whl
- Upload date:
- Size: 155.7 kB
- Tags: CPython 3.12, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f53e31850bb1dab047d88ba8d5389d754794318088836ca5732c024dba6c98a |
|
MD5 | 54dd5040901f2aae1d0f9f9e5f1d0eb8 |
|
BLAKE2b-256 | 140daae3e69cba08a1ce126452544ffbafae9e3d5fa761393ffa2b5382c0511c |
File details
Details for the file dendroptimized-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
.
File metadata
- Download URL: dendroptimized-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 140.1 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63300d7131132b291cf851b2e4862175daaaaa1536da1a7ecd4c5968b7153559 |
|
MD5 | 7d9af0f86c7839651a76e9fb04c0fa64 |
|
BLAKE2b-256 | f291d507068ebdd53a888d35b6dcd849d5d5973c78834c09de4f52bb065fa1a5 |
File details
Details for the file dendroptimized-0.1.0-cp311-cp311-win_amd64.whl
.
File metadata
- Download URL: dendroptimized-0.1.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 163.3 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c1f53cc780b1bf3192368d033a19b332917009d97a07207500522d14216961f |
|
MD5 | 092f394a661e609e87bfb3eb437336d7 |
|
BLAKE2b-256 | 73ccf69a59e858ca9145b634573af9becc530ca88bf3f6e0674c6adc7afab236 |
File details
Details for the file dendroptimized-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
.
File metadata
- Download URL: dendroptimized-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 654.2 kB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 541ba023d623b27cf3bbd9ad1ac0257ce5e358b00a68e13b7f1388da0a8a4dcd |
|
MD5 | 211aaab985e29751c649d9569465fed7 |
|
BLAKE2b-256 | 78fe8392e47ff66d9adcf7f09c72f625875be8e26a6909f19ef353504ef7703b |
File details
Details for the file dendroptimized-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: dendroptimized-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 205.6 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee9460482eeba030c707927ed5163f4e75af4549f3c3335033e7ead9ca2ecaf4 |
|
MD5 | 3debf5207e1eebb4e9b085867d0e6215 |
|
BLAKE2b-256 | e350a30d123afd6d10e74018f8491182298677a0b9a1d64f77d68d71c07ab390 |
File details
Details for the file dendroptimized-0.1.0-cp311-cp311-macosx_11_0_x86_64.whl
.
File metadata
- Download URL: dendroptimized-0.1.0-cp311-cp311-macosx_11_0_x86_64.whl
- Upload date:
- Size: 155.6 kB
- Tags: CPython 3.11, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19c726235229288cdf7527cdb67e29d6b31004bd167fc540d31c26c954fa6be4 |
|
MD5 | 07c6106e1170ecf0fb4f48ad1e746b10 |
|
BLAKE2b-256 | df8bb5e64e514b15a0b3dbe50758665251125982abbcfb1a3c56cdcc2cb2182a |
File details
Details for the file dendroptimized-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
.
File metadata
- Download URL: dendroptimized-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 140.3 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 918665b64b02ede6e3a1a039812b0930ecb8048812a7a31cb66c2e178b6ed28d |
|
MD5 | e311e3ae55a6637e22a3e14071eb4c7c |
|
BLAKE2b-256 | 976b3648f67dec36c0a2bc9059d5b9b690130056823420975e8a16a04386cf9e |
File details
Details for the file dendroptimized-0.1.0-cp310-cp310-win_amd64.whl
.
File metadata
- Download URL: dendroptimized-0.1.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 163.5 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4055a84ba86ab38bcc30b2ab777f06f8252908a5d238991a249083e1dac47647 |
|
MD5 | b291ffb00e2dac7885b56a645b434d82 |
|
BLAKE2b-256 | 23c9479b5cdea567e7bb600aa9aef384809c1a802b1005529dc85088a37a9835 |
File details
Details for the file dendroptimized-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
.
File metadata
- Download URL: dendroptimized-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 654.3 kB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | deca322c367aa2642554bceda2e2ed259500c073245790989120b6d819a94847 |
|
MD5 | 3a2ca4add977822dcb5c937846514443 |
|
BLAKE2b-256 | 0518c491e7fcbd9c2918aa5a401b4a95f7461e234cfbd19bd76e2fa0043e07a3 |
File details
Details for the file dendroptimized-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: dendroptimized-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 205.8 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e66b744ead2235814caf12e295e17cf8a6641ce2d243b9088282ef081b7aebf9 |
|
MD5 | 95a9bffe058b6962a5f099fb6b02c179 |
|
BLAKE2b-256 | 0b6f4577f04ae17f4327150e9a757ee3cd3ca1108bee8f8d0f16a10bb4936b5f |
File details
Details for the file dendroptimized-0.1.0-cp310-cp310-macosx_11_0_x86_64.whl
.
File metadata
- Download URL: dendroptimized-0.1.0-cp310-cp310-macosx_11_0_x86_64.whl
- Upload date:
- Size: 155.8 kB
- Tags: CPython 3.10, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47b03110f718958143b8e8983744105046550caf22b6355bf78fc98b3360ba91 |
|
MD5 | 1cb70190e0f137eae858e498640cff2c |
|
BLAKE2b-256 | 1103b34c8dca51ab7ef9c1dd3a3ec8c7523bae09d81129c8253631e1eaf93cd1 |
File details
Details for the file dendroptimized-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
.
File metadata
- Download URL: dendroptimized-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 140.4 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a82630af16845a2855d9351bf23a59c24b56177003e789d4b2f6f5c2d6cceb01 |
|
MD5 | 8bbfef6e7865f8b9971dbd03676101b3 |
|
BLAKE2b-256 | bfdb68a20f7625ead5ff1f3a8ad72b08c7d7c272981f3932a795d9d4df75bf4c |
File details
Details for the file dendroptimized-0.1.0-cp39-cp39-win_amd64.whl
.
File metadata
- Download URL: dendroptimized-0.1.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 164.0 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cee50a148673f4a7852b08e8b637365035a889d8d7a96f651d35ba996d44eaf5 |
|
MD5 | f785c00c625aaf96cb64b4be038cd78a |
|
BLAKE2b-256 | 9d0c33cd969eba96d10f090ca1de9c1b31a87747f318ffe7baa05295c3da5390 |
File details
Details for the file dendroptimized-0.1.0-cp39-cp39-musllinux_1_2_x86_64.whl
.
File metadata
- Download URL: dendroptimized-0.1.0-cp39-cp39-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 654.3 kB
- Tags: CPython 3.9, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f81f7b43b66ed7ffb8fedc101a74aa898ef91a344d2698a06a0e0178c3476ba |
|
MD5 | 8c80f8470a6248307028b1cf2ace8687 |
|
BLAKE2b-256 | 4b9be5cd1f064d21ea64c9f3f49118e2a891f4345b5a2e78a687d9e8329872cf |
File details
Details for the file dendroptimized-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: dendroptimized-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 205.8 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19688e14a143e655cb5ac4f794583e8cef0f45433a7205239989e2e68ef6164b |
|
MD5 | de34cd18a1915e048957e5ccd3980a94 |
|
BLAKE2b-256 | 540bddd723f5c36f270c15ea109f7855b7c0bd8f3412cb1a84bf176a49b496bc |
File details
Details for the file dendroptimized-0.1.0-cp39-cp39-macosx_11_0_x86_64.whl
.
File metadata
- Download URL: dendroptimized-0.1.0-cp39-cp39-macosx_11_0_x86_64.whl
- Upload date:
- Size: 155.9 kB
- Tags: CPython 3.9, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5e25d73299761b8b6eb8a7350494f57e5fba8fd0eeef6c11c30bca6af4a36b2 |
|
MD5 | 364f9d79d184685cf6b70dd3f0cd63a1 |
|
BLAKE2b-256 | ad7b682cff831219da3163e961a08ee798df079457e688bcc510614b2d171a45 |
File details
Details for the file dendroptimized-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
.
File metadata
- Download URL: dendroptimized-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 140.4 kB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bea2767e275a34324e4f04088ece02087f0fc4fb28456ac18f8768aebe1e5327 |
|
MD5 | cfef3f583fcece5519fcbf2483af9ff8 |
|
BLAKE2b-256 | 8e2d57002e062ce0ad2e2bbfaf077b88ca1e76b9d85beb43b4dec29cd71e7e77 |