Brian package structure¶
List of modules with descriptions of contents:
Root package
base
- Shared base classes for some Brian clases. At the moment, just the
ObjectContainer
class used to implement thecontained_objects
protocol. clock
- The
Clock
object,guess_clock()
function, and other clock manipulation functions. compartments
- A class used in compartmental modelling (see user documentation).
connection
- Everything to do with connections, including the
Connection
andDelayConnection
classes, but also construction/connection matrices and connection vector code. One of the longest and most technical parts of Brian. correlatedspikes
- A tool for producing correlated spike trains.
directcontrol
- Classes for producing groups which fire spikes at user specified times.
equations
- Everything to do with the
Equations
class. globalprefs
- Global preferences for Brian, a few routines for getting and setting.
group
- A base class for
NeuronGroup
which creates an_S
attribute from anEquations
object with the appropriate dynamical variables, and allows these variables to be accessed by e.g.grp.V
by overriding the__getattr__
and__setattr__
methods. inspection
- Utility functions for inspecting namespaces, checking consistency of equations, some code manipulation, etc.
log
- Brian’s somewhat under-developed logging capabilities.
magic
- Classes and functions for tracking and finding instances of classes.
membrane_equations
- More code for compartmental modelling (see user docs).
monitor
- All the monitors, including
SpikeMonitor
andStateMonitor
. network
- The
Network
andMagicNetwork
classes as well as theNetworkOperation
class. Also includes therun()
, etc. functions. neurongroup
- The
NeuronGroup
definition and some related stuff, including linked variables (theLinkedVar
class) andPoissonGroup
. optimiser
- Some tools for freezing expressions (converting e.g.
3*ms
into 0.003) and simplifying some equations (e.g.a/(10*ms)
converted toa*100
). plotting
- Plotting tools, mostly
raster_plot
. quantityarray
- A leftover from the day when Brian had support for arrays with units, will be removed when practical.
reset
- Reset classes.
stateupdater
- State update classes and the
magic_state_updater()
function. stdp
- STDP features.
stdunits
- Standard unit names such as
mV
formvolt
, etc. stp
- Short term plasticity features.
threshold
- Threshold classes.
timedarray
- The
TimedArray
class and related functions. units
- The Brian units package, including the
Quantity
class. unitsafefunctions
- Some functions which override the numpy ones which are safe to use with
units, e.g.
sin(3*volt)
raises a dimensionality error.
``library`` subpackage
electrophysiology
- Electrophysiology library with electrode and amplifier models.
IF
- Integrate-and-fire models (leaky, quadratic, exponential...).
ionic_currents
- Ionic current models (K+, Na+...).
random_processes
- Currently only Ornstein-Uhlenbeck.
synapses
- Synaptic models (exponential, alpha and biexponential models).
``utils`` subpackage
approximatecomparisons
- Some tools for doing approximate comparisons with floating point numbers (because they are inexact).
autodiff
- Automatic differentiation routines (for single-valued functions).
circular
and theccircular
subpackage- The important
SpikeContainer
and related classes. TheC
version uses SWIG and is much faster but requires the user to compile themselves at the moment (this will be addressed at some point in the future). documentation
- Some utility functions related to documentation.
information_theory
- Entropy and mutual information estimators. Requires the ANN wrapper in scikits.
parallelpython
- A utility function for using the Parallel Python module.
parameters
- The
Parameters
class, basically independent of Brian but potentially useful. progressreporting
- A progress reporting framework which
Network.run()
can use to report how long it is taking to run, with text or graphical options. statistics
- Statistics of spike trains (CV, vector strength, correlograms...).
tabulate
- Tabulation of numerical functions (precalculation).