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.1.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.1-cp313-cp313-win_amd64.whl (313.8 kB view details)

Uploaded CPython 3.13Windows x86-64

dendroptimized-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl (632.5 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

dendroptimized-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (195.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

dendroptimized-0.2.1-cp313-cp313-macosx_11_0_x86_64.whl (146.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ x86-64

dendroptimized-0.2.1-cp313-cp313-macosx_11_0_arm64.whl (134.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dendroptimized-0.2.1-cp312-cp312-win_amd64.whl (313.8 kB view details)

Uploaded CPython 3.12Windows x86-64

dendroptimized-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl (632.5 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

dendroptimized-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (195.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

dendroptimized-0.2.1-cp312-cp312-macosx_11_0_x86_64.whl (146.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ x86-64

dendroptimized-0.2.1-cp312-cp312-macosx_11_0_arm64.whl (134.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dendroptimized-0.2.1-cp311-cp311-win_amd64.whl (313.6 kB view details)

Uploaded CPython 3.11Windows x86-64

dendroptimized-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl (632.9 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

dendroptimized-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (196.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

dendroptimized-0.2.1-cp311-cp311-macosx_11_0_x86_64.whl (146.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ x86-64

dendroptimized-0.2.1-cp311-cp311-macosx_11_0_arm64.whl (134.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dendroptimized-0.2.1-cp310-cp310-win_amd64.whl (313.7 kB view details)

Uploaded CPython 3.10Windows x86-64

dendroptimized-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl (633.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

dendroptimized-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (196.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

dendroptimized-0.2.1-cp310-cp310-macosx_11_0_x86_64.whl (147.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ x86-64

dendroptimized-0.2.1-cp310-cp310-macosx_11_0_arm64.whl (134.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

dendroptimized-0.2.1-cp39-cp39-win_amd64.whl (314.1 kB view details)

Uploaded CPython 3.9Windows x86-64

dendroptimized-0.2.1-cp39-cp39-musllinux_1_2_x86_64.whl (633.1 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

dendroptimized-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (196.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

dendroptimized-0.2.1-cp39-cp39-macosx_11_0_x86_64.whl (147.2 kB view details)

Uploaded CPython 3.9macOS 11.0+ x86-64

dendroptimized-0.2.1-cp39-cp39-macosx_11_0_arm64.whl (134.4 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: dendroptimized-0.2.1.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.1.tar.gz
Algorithm Hash digest
SHA256 dc2aa56b87bdb053ecfee8809ebcff34df582ddd929197ae7072ed6d33acf9a2
MD5 8a608eeaf0bf2c7b0d680319de5011cc
BLAKE2b-256 7f4377e3e38fb569ecb5f3c38a17999761579f7aca8d440581d17080f65d69ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 621949071cbd499bbe896b9d2cf0f2c3f23fcc8bf40a95b4b8be16bdfe84303d
MD5 61447cf357c5700b68e1c89779916e60
BLAKE2b-256 a57f80ba80f81f158b5db160c1629349716eade12e3b6669596b368eeb764182

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0d4125f27c596acda8ab55967e1d548043a000e460e84d0ed7aeafb76fabcb95
MD5 b169f91c993fd5f5b0e6035d733584da
BLAKE2b-256 f0ed9ccdcc4c065161809479330060e31c0a18f880ab8603efba74e99bd3c2fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4cee6ab6b6aba33e9c4b1041886f58a00a7caa93cb53c3c6ff3c1a86d753583c
MD5 26c0dfa6d3afb0e01e6fd51768532922
BLAKE2b-256 c862fc3332c673ecee56007bfc1bfcc4882f6a1f51cdc19792d2b01f1e97837a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp313-cp313-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 7f8b877c1d79d950294eacf113b935771476b5ff1aad0f76a39e4827703ccedb
MD5 be535025246f11fadfdb1e3abf458d70
BLAKE2b-256 a7cdf97c5e48e91fd86f11e75d83a5a666fac962d9cbec3bad8a4873dd2fd126

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1ca8589a20738786dbc5a74db40f105d8f196f60d58c5e69db8a43e9407f8bcb
MD5 f7f220f8bf2b42df08ce46b492463a82
BLAKE2b-256 5523c35b4c09e8a6a1ef5a05e732538d380438aaf1bf5ff914ac7838c0764272

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fbdf7d2ad0e47ca74777e52d16b729f3d86ca67677d5b43e1fd05ccd9d9510d4
MD5 99deaef933a8329e079d756c3e5e76b2
BLAKE2b-256 f5225b460a27bed6cc92080a96bef78909e2888210d9e34cbc0261d8e098d24f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 62030b2579a0c6debcb6bd375d4f0ab334f31f833fae6ce900ff332403340aec
MD5 5c540706f856b6df818a9bd157ff19a2
BLAKE2b-256 dfbc862faff1af63b58239ed2c37cb010f6383b34126274ba247759b90e673c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ee3d0d8ecadaa5929b40313c4e54b8913a79acc24c2062184d7464fe5652f3b2
MD5 db8da82ff2ad24729f34407155f90468
BLAKE2b-256 419e68276fe9316d7aaa6e1009cf725572d2a3296b4fd74b9ee559f2bb5eb171

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 d37b827b337c628de9da19797add516e9b716452b50c07b2ac57b7222ed7af86
MD5 f6ce1f75ed7f1753a1a6ca20994acc9b
BLAKE2b-256 5ce36a3843cb817451dba307da882a98c1f5da4c8d4507ccb06c818624fc021a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cbc3e79489f194367c5c36da1c3114648955aa1094f295404739e3a018d95cff
MD5 71c4ff0fc84bd092cc7937a1f6ee358f
BLAKE2b-256 03633da014a0febb765a55e7cfa6de600719f03e31ea9b93d26629b6a37f9ca3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 908efecb350b63ef0147b1d00ee108f24a8450aedbc7d16c09da188c86a094bb
MD5 a20568ea8b1273ffcb532ccae45e73d7
BLAKE2b-256 691b8f9314ba24cf4207b9d107c0c88fabceca5b844f7679e88eceaaa566cf70

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bb741aee90e398ed0fe4a4b6ae28f67175a259301904aa9a5a3bd0142c630d5d
MD5 61132c802eedc5a3d42db6159671ddcd
BLAKE2b-256 34484a52f1ae40f68511fd3a67ea4bafd2cdf7e6a3b0c8cc7871f60240b9d716

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a9a8594cc07b2af3213e238bdcdd1a82d1dbb7512e20c8c6cf700361de6495b4
MD5 9634c4e01e2a2c8a2bf1dc491e36aabd
BLAKE2b-256 6dc1deef4842dc33f383cea56e8c397d61cfba83aeb31dc3b5bf47f6e45c8176

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 69a211a076b50f16c16ce4b09d6731911b1e423e4781262b690ff101b2dc4e0e
MD5 20528875acdaa9c428ebc973cff21577
BLAKE2b-256 093bd230bcb11d110c7090d75587a2de787421dabde02325fb01f85b6d3241ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6b840c7ea54c4be8f5e555ebb18cd14b3840cdf03e8a623337e0c0afc13195b2
MD5 e6a5ce257f500977228f88d40e461cdf
BLAKE2b-256 12a91460c420a7e685db8d0899d38e5456060c0dacd4fd8d5754bc09eb0f4ef2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6b24e6e2f4177593d12534f195f007d7b384aed682f80688fd9634eaede3b2a4
MD5 228cca758f31db9bbd3e727639ad7f97
BLAKE2b-256 a3c4cfdc3bc7117e4baa7b3a576e0f06fe83a29d66bdf8cd313b3851a77877b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dda2ca8fbc5f5b5be77e253375c4528509aa3f6a3c21059bb2ae3da08c1b4fda
MD5 f904ebd922df7fb06c73f0266d07623f
BLAKE2b-256 3b91f1c38eb8ebf82820706e1bb487bc807ab7d2510fd9ddf7e2d75ed05f3835

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5ec5eb98c530f6644b5ddd0d4087ec6bc5102af834b50d544c01a83151935ad4
MD5 46d3c680d7fb379e002e338394ef1157
BLAKE2b-256 0fdf0750f499b5851c394c0c30cfb7624f97561e72c64e193ad2264b47c51932

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 d9a6c97d5c37d1d56fd390cd4180e78d0d23b174ac04e4bca6874ba3c0bb093a
MD5 8353fce02a6430500c16f6b311ad4e10
BLAKE2b-256 e845bad7d7d2f3e40d503f1b133631c4d3b3394420a54ae6ff9f7bb02bfa0b20

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ab900503765d0bc02d68e74565ff5a895dbcbf924c01b5c9922f6fb82d92f2f2
MD5 a36db8b7c5b130fd8ad24f6e37247973
BLAKE2b-256 378049c11fe7493599fe277b7e9908e61e3322b0909c2ac967c6a0cdfd3958e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0a3669735ea191702de2a8f6ed13b913fbb3d45316ace754a087036ad3cc92e1
MD5 1cc0aeea454490c5ff1bebdb4d444840
BLAKE2b-256 ff5f0065e286d08678fb4d04b6b1f2391c7fd8bfa31b362793519e2848bb440d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 419d87d1c7f8eee50a24579ad3f3ffd16157b9a4bb190f0373854a90f7464ac1
MD5 2a280967678299c6ddd338f2d880de0d
BLAKE2b-256 e23360361c972895e17ca7433390cd0b67f501fb23c432ca0c3060409d1a54bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9a29f994770cc4489d94be3296e45df42822bf8a5d2a2ac0a5a8e074eea4e75f
MD5 73028a1beea12b2a3e07e30fb9825f3f
BLAKE2b-256 a5f73745c31625169eeab61e88c525f72310f19455319f873946f63e42dc8a68

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 b1f86e9b6a5c274e73547ed53d9fe76004baea9a5ae35c14379ca5909a713308
MD5 bad5773b123428cb908637bc3a5a0bcb
BLAKE2b-256 4ab22e7c219a54e269294c21f7f7762970a350dc9749cb774e5ff5ad67b9815e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dendroptimized-0.2.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0342af4fb97c0cb54556abcb687136ff03e2d5cd3c7606fb69dd2bc18cdcc6bd
MD5 05539323e33a828ca9894b7f5a7d7ade
BLAKE2b-256 4dc0c1377ea7e5add7878933b2714f216fd5e1de5cb0be839bae49067af0f182

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