✨ Highlights
- This PR implements a new solver, which is now used by default (#625,
@michaeldeistler). The new solver has the following advantages:
- Much lower runtime. Across several morphologies, we get a 20% runtime speedup on
CPU and a 50% runtime speedup on GPU.
- Almost zero compile time. We get a 50x compile time speedup on CPU and a 3x compile
time speedup on GPU.
- Utility to delete parts of a morphology (#612, @michaeldeistler):
from jaxley.morphology import morph_delete
cell = morph_delete(cell.branch([1, 2]))
from jaxley.morphology import morph_connect
cell = morph_connect(cell1.branch(1).loc(0.0), cell2.branch(2).loc(1.0))
🧩 New features
- the default SWC reader has changed. To use the previous SWC reader, run
jx.read_swc(..., backend="custom")
. However, note that we will remove this reader
in the future. If the new SWC reader is causing issues for you, please open an issue
(#612, @michaeldeistler)
- radiuses are now integrated across SWC coordinates, not interpolated
(#612, @michaeldeistler)
- remove pin of
JAX
version. New JAX
versions (JAX>=0.6.0
) resolve slow CPU
runtime, see here (#623, @michaeldeistler)
- running the
d_lambda
rule is now much faster, see
the how-to guide
(#625, @michaeldeistler)
📚 Documentation
🛠️ Internal updates
🐛 Bug fixes
🎉 New Contributors