3dgeo-heidelberg / py4dgeo

py4dgeo - A Python library for change analysis in 4D point clouds
https://py4dgeo.readthedocs.io
MIT License
66 stars 10 forks source link

WIP: C++ change point detection #168

Closed dokempf closed 2 years ago

dokempf commented 2 years ago

This is work in progress to add change point detection in C++, allowing for potential performance improvements and OpenMP parallelization.

codecov-commenter commented 2 years ago

Codecov Report

Merging #168 (7cd2c7d) into main (d83d434) will increase coverage by 2.34%. The diff coverage is 98.39%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #168      +/-   ##
==========================================
+ Coverage   87.16%   89.51%   +2.34%     
==========================================
  Files          20       20              
  Lines        1395     1765     +370     
==========================================
+ Hits         1216     1580     +364     
- Misses        179      185       +6     
Flag Coverage Δ
cxx 87.96% <98.38%> (+8.88%) :arrow_up:
python 90.82% <100.00%> (-0.01%) :arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
lib/segmentation.cpp 75.18% <96.53%> (+38.07%) :arrow_up:
src/py4dgeo/segmentation.py 89.76% <100.00%> (-0.03%) :arrow_down:
tests/c++/segmentation_t.cpp 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update d83d434...7cd2c7d. Read the comment docs.

dokempf commented 2 years ago

The first measurements on speedup compared to ruptures are very promising. For the simple test case from the testsuite, the C++ code is 500x faster. We should definitely follow this route and include it in the library.