Skip to content

v0.5.0

Latest
Compare
Choose a tag to compare
@michaeldeistler michaeldeistler released this 25 Nov 13:39
· 15 commits to main since this release

API changes

  • Synapse views no longer exist (#447, #453, @jnsbck). Previous code such as
net.IonotropicSynapse.set("IonotropicSynapse_s", 0.2)

must be updated to:

net.set("IonotropicSynapse_s", 0.2)

For a more detailed tutorial on how to index synapses, see
this new tutorial.

  • Throughout the codebase, we renamed any occurance of seg (for segment) to comp
    (for compartment). The most notable user-facing changes are:
    • branch = jx.Branch(comp, ncomp=4)
    • cell = jx.read_swc(fname, ncomp=4)
  • New defaults for the SWC reader with jx.read_swc(). By default, we now have
    assign_groups=True (previously False) and max_branch_len=None (previously
    300.0).
  • We renamed .view to .nodes, e.g., cell.branch(0).nodes (#447, #453, @jnsbck).
  • We renamed _update_nodes_with_xyz() to compute_compartment_centers() (#520,
    @jnsbck)
  • We updated the way in which transformations are built (#455, @manuelgloeckler).
    Previous code such as
tf = jx.ParamTransform(
    lower={"radius": 0.1, "length": 2.0},
    lower={"radius": 3.0, "length": 20.0},
)

must be updated to:

from jaxley.optimize.transforms import ParamTransform, SigmoidTransform
transforms = [
    {"radius": SigmoidTransform(lower=0.1, upper=3.0)},
    {"length": SigmoidTransform(lower=2.0, upper=20.0)},
]
tf = jt.ParamTransform(transforms)

New features

net.make_trainable("radius")
params = net.get_parameters()
net.write_trainables(params)
r_greater_1 = net.nodes.groupby("global_cell_index")["radius"].mean() > 1
net[r_greater_1].nodes.vis()

Bug fixes

  • allow for cells that were read from swc to be pickled (#525, @jnsbck)
  • fix units of compute_current() in channels (#461, @michaeldeistler)
  • fix issues with plotting when the morphology has a different number of compartments
    (#513, @jnsbck)

Documentation

Code health