ideas for speeding things up
- Dominant language
- Python
- Stars
- 2
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
The basic prototype and widget are actually working! :tada: Now time to make it performant.
1. Don't create new arrays on each function application. Instead, add an optional `out=` parameter [here](https://github.com/jni/explode-view/blob/14d5e42d4c0759795aab7081c9b634f2473b2aa9/src/explode_view/_explode_view.py#L5) that includes output arrays for labels and image, and populate that.
2. Don't create new layers on each function application [here](https://github.com/jni/explode-view/blob/14d5e42d4c0759795aab7081c9b634f2473b2aa9/src/explode_view/_widget.py#L45-L53), instead cache layers, update their data, and redraw.
3. Use a custom multiscale approach: run the algorithm on a heavily subsampled volume, display those layers, then use threadworkers *on mouse release* to compute the transform on the full dataset *and* update the high-resolution layer display on completion.
Further ideas welcome!
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.