-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Explicit erosion #2665
base: main
Are you sure you want to change the base?
Explicit erosion #2665
Conversation
Work in progress, re-implement the erosion based on a simple kernel search rather than the distance array, since the data are sparse and this allows a far smaller number of calculations to be performed.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2665 +/- ##
==========================================
+ Coverage 78.40% 78.46% +0.05%
==========================================
Files 613 613
Lines 75349 75958 +609
Branches 10761 10924 +163
==========================================
+ Hits 59081 59604 +523
- Misses 14087 14163 +76
- Partials 2181 2191 +10 |
On main:
This branch:
Comparison of output:
=> I believe this gives the same output and is clearer to read. The ~ 15s reduction in wall clock is a nice to have which will be data set dependent. I note in passing that this approach will be more GPU friendly also. |
Add new comments to explain what is going on, leave the new code as a reference implemntation but do not link it as I am not convinced that the performance is better on all architectures
In
dials.find_spots
use explicit erosion based on a simpler kernel search rather than the distance-based method as currently implemented, for a small performance improvement and also for simpler understanding for future code archeologists