We will need to look into that at some point, since at the moment everything is implemented in the most naive way possible :cry:. Some options worth thinking about.
Use np.convolve or similar for the convolutions
This should be fairly simple to implement. Is scipy.spatial.convolve faster?
Implement some kernels in Cython
Need to profile and see what's worth reimplementing. Is Rust better here?
Use numba or similar to JIT functions
Does this need any effort on our side or can numba just JIT from user code? At the very least we'd need to test it and see that
We will need to look into that at some point, since at the moment everything is implemented in the most naive way possible :cry:. Some options worth thinking about.
Use
np.convolve
or similar for the convolutionsThis should be fairly simple to implement. Is
scipy.spatial.convolve
faster?Implement some kernels in Cython
Need to profile and see what's worth reimplementing. Is Rust better here?
Use
numba
or similar to JIT functionsDoes this need any effort on our side or can numba just JIT from user code? At the very least we'd need to test it and see that