axon

class nrv.nmod.axon(y=0, z=0, d=1, L=100, dt=0.001, Nseg_per_sec=0, freq=100, freq_min=0, mesh_shape='plateau_sigmoid', alpha_max=0.3, d_lambda=0.1, v_init=None, T=None, ID=0, threshold=-40, **kwargs)[source]

A generic object to describe an axonal fiber (soma and interconnection are not taken into account, all axons are independant from others).

Note

  • axon is an abstract class so it cannot be used directly. From the user’s point of view, only the child classes myelinated and unmyelinated should be used.

  • All axons are assumed to be along the x-axis, as Neuron would do when creatnig a basic longitudinal geometry.

Parameters:
  • y (float) – y-axis coordinate of the axon (um)

  • z (float) – z-axis coordinate of the axon (um)

  • d (float) – axon diameter (um)

  • L (float) – axon length (um)

  • dt (float) – simulation time stem for Neuron (ms), by default 1us

  • Nseg_per_sec (float) – number of segment per section in Neuron. If set to 0, the number of segment per section is calculated with the d-lambda rule

  • freq (float) – frequency of the d-lambda rule (Hz), by default 100Hz

  • freq_min (float) – minimum frequency for the d-lambda rule when meshing is irregular, 0 for regular meshing

  • v_init (float) – initial value for the membrane voltage (mV), specify None for automatic model choice of v_init

  • T (float) – temperature (C), specify None for automatic model choice of temperature

  • ID (int) – axon ID, by default set to 0

  • threshold (int) – membrane voltage threshold for spike detection (mV), by default -40mV

Warning

do not create more than one axon at a time for one process, to prevent from parameters overlaps in Neuron

Methods

axon.__init__([y, z, d, L, dt, ...])

initialisation of the axon,

axon.attach_extracellular_recorder(rec)

attach an extracellular recorder to the axon

axon.attach_extracellular_stimulation(stim)

attach a extracellular context of simulation for an axon

axon.change_stimulus_from_electrode(ID_elec, ...)

Change the stimulus of the ID_elec electrods

axon.extracel_status()

Check if an extracellular context is attached to the instance

axon.get_electrodes_footprints_on_axon([...])

get electrodes footprints on each axon segment

axon.get_ionic_current()

axon.get_membrane_capacitance()

axon.get_membrane_conductance()

axon.get_membrane_current()

axon.get_membrane_voltage()

axon.get_parameters()

Generic method returning all the atributes of an NRV_class instance

axon.get_particules_values()

axon.insert_I_Clamp()

axon.insert_V_Clamp()

axon.intracel_status()

Check if an intracellular context is attached to the instance

axon.load(data[, extracel_context, ...])

Load all axon properties from a dictionary or a json file

axon.load_axon(data[, extracel_context, ...])

axon.plot(axes[, color, elec_color])

axon.rec_status()

Check if a recording context is attached to the instance

axon.save([save, fname, extracel_context, ...])

Return axon as dictionary and eventually save it as json file WARNING to use BEFORE stimulation, (for post simulation savings use save_axon_results_as_json on results dictionary

axon.save_axon([save, fname, ...])

axon.set_conductance_recorders()

axon.set_ionic_current_recorders()

axon.set_membrane_current_recorders()

axon.set_membrane_voltage_recorders()

axon.set_parameters(**kawrgs)

Generic method to set any attribute of NRV_class instance

axon.set_particules_values_recorders()

axon.shut_recorder_down()

Shuts down the recorder locally

axon.simulate(**kwargs)

Simulates the axon using neuron framework

axon.topology()

call the neuron topology function to plot the current topology on prompt