Skip to content
This repository has been archived by the owner on Jan 3, 2024. It is now read-only.

Improving cell detection code #85

Closed
3 of 5 tasks
dstansby opened this issue Feb 28, 2023 · 1 comment
Closed
3 of 5 tasks

Improving cell detection code #85

dstansby opened this issue Feb 28, 2023 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@dstansby
Copy link
Member

dstansby commented Feb 28, 2023

This is a meta-issue to collect tasks to do to work towards improving the cell detection code. Feel free to edit this and add things!

Currently the code (after #84 is merged) has the following downsides:

  • The parallelism is done in a custom and low level way
  • The Cython code is not particularly easy to maintain, and requires the production of pre-compiled wheels
  • Running a small volume of data takes a long time, due to overheads in the multiprocessing

To explore better ways of structuring the code we can start with the following tasks:

  • Create pure Python versions of the currently used Cython code
  • Write a benchmark for the 2D filtering
  • Write a benchmark for the 3D filtering
  • Write a benchmakrk for the whole cell detection stage
  • Investigate if it's possible to run a unit test that errors if too much memory is used

Benchmarking results

Benchmarking code will be merge into the benchmarks branch. This branch is not intended to be merged into main, but will contain different implementations and benchmarking code. The best implementation and the benchmarking code will be merged into main eventually.

Useful resources:
https://examples.dask.org/applications/stencils-with-numba.html

@dstansby
Copy link
Member Author

Since we merged our Cython > numba work and added some benchmarks as part of that, I'm going to close this as completed.

@dstansby dstansby moved this from Todo to Done in Core development Apr 24, 2023
willGraham01 pushed a commit that referenced this issue Aug 24, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
Status: Done
Development

No branches or pull requests

2 participants