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 the contained_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 and
DelayConnection 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
an Equations 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 and StateMonitor.
- network
- The Network and MagicNetwork classes as well as the
NetworkOperation class. Also includes the run(), etc.
functions.
- neurongroup
- The NeuronGroup definition and some related stuff, including linked
variables (the LinkedVar class) and PoissonGroup.
- optimiser
- Some tools for freezing expressions (converting e.g. 3*ms into 0.003) and
simplifying some equations (e.g. a/(10*ms) converted to a*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 for mvolt, 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 the ccircular subpackage
- The important SpikeContainer and related classes. The C 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).