create_trapezoid_current#

myogen.utils.currents.create_trapezoid_current(n_pools, t_points, timestep_ms, amplitudes__muV, rise_times__ms=100.0, plateau_times__ms=200.0, fall_times__ms=100.0, offsets__muV=0.0, delays__ms=0.0)[source]#

Create a matrix of trapezoidal currents for multiple pools.

Parameters:
  • n_pools (int) – Number of current pools to generate

  • t_points (int) – Number of time points

  • timestep_ms (float) – Time step in milliseconds

  • amplitudes__muV (float | list[float]) –

    Amplitude(s) of the trapezoidal current(s) in microvolts.

    Must be:
    • Single float: used for all pools

    • List of floats: must match n_pools

  • rise_times__ms (float | list[float]) –

    Duration(s) of the rising phase in milliseconds.

    Must be:
    • Single float: used for all pools

    • List of floats: must match n_pools

  • plateau_times__ms (float | list[float]) –

    Duration(s) of the plateau phase in milliseconds.

    Must be:
    • Single float: used for all pools

    • List of floats: must match n_pools

  • fall_times__ms (float | list[float]) –

    Duration(s) of the falling phase in milliseconds.

    Must be:
    • Single float: used for all pools

    • List of floats: must match n_pools

  • offsets__muV (float | list[float]) –

    DC offset(s) to add to the trapezoidal current(s) in microvolts.

    Must be:
    • Single float: used for all pools

    • List of floats: must match n_pools

  • delays__ms (float | list[float]) –

    Delay(s) before starting the trapezoid in milliseconds.

    Must be:
    • Single float: used for all pools

    • List of floats: must match n_pools

Raises:

ValueError – If the parameters are lists and the length of the parameters does not match n_pools

Returns:

Matrix of shape (n_pools, t_points) containing trapezoidal currents

Return type:

INPUT_CURRENT__MATRIX