What’s new?

0.2

Notable Changes

  • Local field potentials can now be recorded during simulations [Example]

  • Ability to optimize parameters to reproduce event related potentials from real data [Example]

  • Published models using HNN were added and can be loaded via dedicated functions

  • Several improvements enabling easy modification of connectivity and cell properties [Example]

  • Improved visualization including spectral analysis, connectivity, and cell morphology

Changelog

Bug

API

  • New API for defining cell-cell connections. Custom connections can be added with add_connection(), by Nick Tolley in #276

  • Remove L2Pyr, L5Pyr, L2Basket, and L5Basket classes in favor of instantation through functions and a more consistent Cell class by Mainak Jas in #322

  • Remove parameter distribution in add_bursty_drive(). The distribution is now Gaussian by default, by Mainak Jas in #330

  • New API for accessing and modifying Cell attributes (e.g., synapse and biophysics parameters) as cells are now instantiated from template cells specified in a Network instance’s cell_types attribute by Ryan Thorpe in #321

  • New API for network creation. The default network is now created with net = jones_2009_model(params), by Nick Tolley in #318

  • Replace parameter T with tstop in add_tonic_bias() and create_tonic_bias() to be more consistent with other functions and improve readability, by Kenneth Loi in #354

  • Deprecated postproc argument in simulate_dipole(), whereby user should explicitly smooth and scale resulting dipoles, by Christopher Bailey in #372

  • Number of drive cells and their connectivity can now be specified through the n_drive_cells and cell_specific arguments in Network.add_xxx_drive() methods, replacing use of repeats and sync_within_trial, by Ryan Thorpe in #383

  • Simulation end time and integration time have to be specified now with tstop and dt in simulate_dipole(), by Mainak Jas in #397

  • CellResponse.reset() method is not supported any more, by Mainak Jas in #397

  • Target cell types and their connections are created for each drive according to the synaptic weight and delay dictionaries assigned in Network.add_xxx_drive(), by Ryan Thorpe in #369

  • Cell objects can no longer be accessed from Network as the cells attribute has been removed, by Ryan Thorpe in #436

People who contributed to this release (in alphabetical order):

0.1

Changelog

Bug

  • Fix missing autapses in network construction, by Mainak Jas in #50

  • Fix rhythmic input feed, by Ryan Thorpe in #98

  • Fix bug introduced into rhythmic input feed and add test, by Christopher Bailey in #102

  • Fix bug in amplitude of delay (for connection between L2 Basket and Gaussian feed) being passed incorrectly, by Mainak Jas in #146

  • Connections now cannot be removed by setting the weights to 0., by Mainak Jas and Ryan Thorpe in #162

  • MPI and Joblib backends now apply jitter across multiple trials identically, by Ryan Thorpe in #171

  • Fix bug in Poisson input where the first spike was being missed after the start time, by Mainak Jas in #204

  • Fix bug in network to add empty spike when empty file is read in, by Samika Kanekar and Ryan Thorpe in #207

API

  • Make a context manager for Network class, by Mainak Jas and Blake Caldwell in #86

  • Create Spikes class, add write methods and read functions for Spikes and Dipole classes, by Ryan Thorpe in #96

  • Only specify n_jobs when instantiating the JoblibBackend, by Blake Caldwell in #79

  • Make a context manager for parallel backends (JoblibBackend, MPIBackend), by Blake Caldwell in #79

  • Add average_dipoles() function, by Blake Caldwell in #156

  • New API for defining external drives and biases to network. By default, a Network is created without drives, which are added using class methods. The argument add_drives_from_params controls this behaviour, by Christopher Bailey in #221

  • Examples apply random state seeds that reproduce the output of HNN GUI documentation, by Christopher Bailey in #221

  • Force conversion to nAm (from fAm) for output of simulate_dipole() regardless of postproc-argument, which now only controls parameter file-based smoothing and scaling, by Christopher Bailey in #264

People who contributed to this release (in alphabetical order):