Skip navigation links

Simbrain API

Simbrain is a tool for building, running, and analyzing neural-networks.

See: Description

Packages 
Package Description
org.simbrain.console
The console package contains commands that can be plugged in to the beanshell intepreter (http://www.beanshell.org/).
org.simbrain.docviewer
The docviewer package contains classes for managing the document viewer.
org.simbrain.network
The network package contains representation of neural networks.
org.simbrain.network.connections
The network.connections package contains classes for creating connecting groups of neurons.
org.simbrain.network.core
The network.core package contains all high level neural network classes, i.e.
org.simbrain.network.desktop
The network.desktop package contains code that is compiled for the Simbrain desktop app, but that is not compiled for non-desktop usage.
org.simbrain.network.groups
The network.groups package contains classes for creating and managing groups of neurons in the network.
org.simbrain.network.gui
The network.gui package contains the Piccolo-based zoomable GUI for designing, editing, and running neural networks.
org.simbrain.network.gui.actions
The network.action package contains the actions for responding to network events.
org.simbrain.network.gui.actions.connection
The network.gui.actions.connection package contains action classes for creating and editing synapse connections.
org.simbrain.network.gui.actions.edit
The network.gui.actions.edit package contains actions relating to the edit menu and other edit actions.
org.simbrain.network.gui.actions.modelgroups
The network.gui.actions.modelgroups package contains actions relating to neurongroups and synapsegroups.
org.simbrain.network.gui.actions.network
The network.gui.actions.network package contains general network actions (e.g.
org.simbrain.network.gui.actions.neuron
The network.gui.actions.neuron package contains actions relating to neurons (e.g.
org.simbrain.network.gui.actions.selection
The network.gui.actions.selection package contains selection actions (e.g.
org.simbrain.network.gui.actions.synapse
The network.gui.actions.synapse package contains actions relating to synapses (e.g.
org.simbrain.network.gui.actions.toolbar
The network.gui.actions.toolbar package contains actions relating to the toolbar (e.g.
org.simbrain.network.gui.dialogs
The network.gui.dialogs package contains all the dialog classes for graphical networks.
org.simbrain.network.gui.dialogs.connect
The network.gui.dialogs.connect package contains panel classes for managing network connection types.
org.simbrain.network.gui.dialogs.connect.connector_panels
The network.gui.dialogs.connect.connector_panels package contains dialogs and panels for editing, setting, and adjusting the preferences of a connection type.
org.simbrain.network.gui.dialogs.group
The network.gui.dialogs.group package contains dialogs for managing groups, mainly neuron groups and synapse groups
org.simbrain.network.gui.dialogs.layout
The network.gui.dialogs.layout package contains dialogs for managing neuron layout objects.
org.simbrain.network.gui.dialogs.network
The network.gui.dialogs.network package contains dialog classes that manage the creation and editing of network-level dialog boxes.
org.simbrain.network.gui.dialogs.neuron
The network.gui.dialogs.neuron package contains dialog classes that manage the creation and editing of neuron-level dialog boxes.
org.simbrain.network.gui.dialogs.neuron.generator_panels
The network.gui.dialogs.neuron.generator_panels package contains dialogs for neuron generators (currently unused)
org.simbrain.network.gui.dialogs.neuron.rule_panels
The network.gui.dialogs.neuron.generator_panels package contains dialogs for neuron generators (currently unused)
org.simbrain.network.gui.dialogs.synapse
The network.gui.dialogs.synapse package contains dialog classes that manage the creation and editing of synapse-level dialog boxes.
org.simbrain.network.gui.dialogs.synapse.plasticity_panels
The network.gui.dialogs.synpase.plasticity_panels package contains the main panels for editing specific synapse update rules.
org.simbrain.network.gui.dialogs.synapse.spike_responders
The network.gui.dialogs.synpase.spike_responders package contains panel classes for setting the various types of response functions of spike repsonders.
org.simbrain.network.gui.dialogs.text
The network.gui.dialogs.text package contains classes for managing network text objects .
org.simbrain.network.gui.filters
The network.gui.filters package contains node filters.
org.simbrain.network.gui.nodes
The simbrain.network.nodes package contains Piccolo nodes for various network elements.
org.simbrain.network.gui.nodes.neuronGroupNodes
The network.gui.nodes.neuronGroupNodes package contains Piccolo Pnode classes corresponding to neuron group types.
org.simbrain.network.gui.nodes.subnetworkNodes
The network.gui.nodes.subnetworkNodes package contains Piccolo Pnode classes corresponding to subnetwork types.
org.simbrain.network.gui.trainer
The network.gui.trainer package contains components that can be used to display trainer.
org.simbrain.network.gui.trainer.subnetworkTrainingPanels
The network.gui.trainer.subnetworkTrainingPanels package contains panel classes for training subnetwork types.
org.simbrain.network.layouts
The network.layouts package contains the neuron layouts.
org.simbrain.network.listeners
The network.listeners package contains all listener class for networks.
org.simbrain.network.neuron_update_rules
The network.neuron_update_rules package contains code which describes all particular neuron update rules, which are used when neurons are updated.
org.simbrain.network.neuron_update_rules.activity_generators
The network.neuron_update_rules.activity_generators package contains classes for network elements that generate activity but are not proper update rules
org.simbrain.network.neuron_update_rules.interfaces
The network.neuron_update_rules.interfaces package contains abstract classes and interfaces relating to neuron update.
org.simbrain.network.subnetworks
The network.subnetworks package contains all bottom-level subclasses of group.
org.simbrain.network.synapse_update_rules
The network.synapse_update_rules package contains code which describes all particular synpase or weight types in Simbrain.
org.simbrain.network.synapse_update_rules.spikeresponders
The network.synpase_updaterules.spikeresponders package contains methods by which spikes are converted into activation post-synaptically.
org.simbrain.network.trainers
The network.trainers package contains supervised learning algorithms.
org.simbrain.network.update_actions
The network.update_actions package contains all update action classes.
org.simbrain.network.update_actions.concurrency_tools
The network.update_actions.concurrency_tools package contains utilities for parallel update actions.
org.simbrain.network.util
The util package contains utility classes for simnet.
org.simbrain.network.util.io_utilities
The network.util.io_utilities package contains classes for specialized serialization needs, e.g.
org.simbrain.plot
The plot package contains classes for the implementation of Simbrain plots and charts.
org.simbrain.plot.actions
The plot.actions package contains common action classes for plot guis (e.g.
org.simbrain.plot.barchart
The plot.barchart package contains classes for creating and editing barcharts.
org.simbrain.plot.histogram
The plot.histogram package contains classes for creating and editing a histogram.
org.simbrain.plot.piechart
The plot.piechart package contains classes for creating and editing a piechart.
org.simbrain.plot.projection
The plot.projection package contains classes for creating and editing a projection.
org.simbrain.plot.rasterchart
The plot.rasterchart package contains classes for creating and editing a raster plot chart.
org.simbrain.plot.scatterplot
The plot.scatterplot package contains classes for creating and plotting scatter plot (currently unused).
org.simbrain.plot.timeseries
The plot.timeseries package contains classes for creating and editing a time series plot.
org.simbrain.resource
The resource package contains all the images used in Simbrain, as well as a class which provides access to to those images.
org.simbrain.util
The util package contains utilities classes used by multiple Simbrain packages.
org.simbrain.util.environment
The util.environment package contains a simple 2-d environment model with smell sensors, simple motion, and very simple touch.
org.simbrain.util.genericframe
The util.genericframe package contains an abstraction that is neutral between JFrames, JInternalFrames, and JDialogs, which is sometimes convenient when, for example, writing code that could be used both in a dialog or an internal desktop frame.
org.simbrain.util.math
The util.math package contains associated mathematical utility classes.
org.simbrain.util.projection
The util.projection package contains the core api for dimensionality reduction, that is used in the projection plot (but which can also be used in scripts or just as a library).
org.simbrain.util.propertyeditor
The util.propertyeditor package contains an api for creating quick and easy edit dialogs.
org.simbrain.util.propertyeditor.gui
The util.propertyeditory.gui package contains the main GUI classes for the property editor.
org.simbrain.util.randomizer
The util.randomizer package contains classes for creating and managing randomizers, which handles cases where a number must be drawn from a probability distribution.
org.simbrain.util.randomizer.gui
The util.randomizer.gui package contains GUI classes for representing and setting properties of a randomizer.
org.simbrain.util.scripteditor
The util.scripteditor package contains the Simbrain script editor GUI code, which wraps around Robert Furtrell's RSyntaxTextArea
org.simbrain.util.table
The util.table package contains a simple table, and a GUI component for viewing this table.
org.simbrain.util.widgets
The simbrain.util.widgets package contains various custom GUI widgets, as well as other utility classes that rely on images and other graphics resources.
org.simbrain.workspace
The workspace package contains the top level container for the other components of Simbrain--the network, world, and gauge(s).
org.simbrain.workspace.actions
The workspace.actions package contains common action classes for workspace components (e.g.
org.simbrain.workspace.actions.chart
The workspace.actions.chart package contains actions relating to adding charts.
org.simbrain.workspace.component_actions
The workspace.component_actions package contains actions that can be used in specific workspace components.
org.simbrain.workspace.gui
The workspace.gui package contains the main classes relating to the Simbrain desktop, a Piccolo-based zoomable GUI for designing, editing, and running workspace simulations.
org.simbrain.workspace.gui.couplingmanager
The workspace.gui.couplingmanager package contains the main classes relating to the workspace coupling manager.
org.simbrain.workspace.updater
The workspace.updater package contains code for managing workspace update.
org.simbrain.world.dataworld
The world.dataworld package contains the simplest world type, a "dataworld" which is simply a spreadsheet which sends data to worlds in the form of rows on a simple table.
org.simbrain.world.game
(Currently unused) Was going to hold different "game worlds", e.g.
org.simbrain.world.game.tictactoe
(Currently unused) The unfinished beginnings of a tic-tac-toe game.
org.simbrain.world.midiworld
(Currently unused) A world which allows sounds to be produced using MIDI interface.
org.simbrain.world.odorworld
The world.odorworld package describes a world in which an agent can move around and smell objects, which are coded as vectors of values which diminish in various ways as the agent is closer or farther from the agent.
org.simbrain.world.odorworld.actions
The odorworld.actions package contains classes of actions (mainly used in menus) for Odor World.
org.simbrain.world.odorworld.behaviors
The odorworld.behaviors package contains classes for the implementation of the behavior interface and related classes of the different types of behaviors.
org.simbrain.world.odorworld.dialogs
The odorworld.dialog package contains classes for creating and editing dialogs within Odor World.
org.simbrain.world.odorworld.effectors
The world.odorworld.effectors package contains effects that can be added to objects to allow them to move in custom ways.
org.simbrain.world.odorworld.entities
The odorworld.entites package contains classes for managing and editing entities in Ordor World.
org.simbrain.world.odorworld.resources
The odorworld.resources package contains a resource manager class for retriving resources from the program.
org.simbrain.world.odorworld.sensors
The odorworld.sensors package contains classes of different types of sensors for receiving information from the Odor World envirnoment.
org.simbrain.world.oscworld
(Currently unused) A world which allows sounds to be produced using open sound control.
org.simbrain.world.textworld
The world.textworld package describes a world in which strings of text are converted into vectors.
org.simbrain.world.textworld.dictionary
The textworld.dictionary package contains classes for managing and editing the dictionary in Text World.
org.simbrain.world.threedee
(Currently unused) The 3D world is a simple full three dimensional environment containing agents that can be controlled by and send information to external couplings.
org.simbrain.world.threedee.sensors
(Currently unused) This package contains the code for the 3-D world sensors.
org.simbrain.world.visionworld
The vision world package contains classes for the implementation of Vision World.
org.simbrain.world.visionworld.action
The visionworld.action package contain classes for creating, editing and managing actions within Vision World.
org.simbrain.world.visionworld.dialog
The visionworld.dialog package contains classes for creating and editing dialogs within Vision World.
org.simbrain.world.visionworld.filter
The visionworld.filter package contains classes for the implementation of the filter interface.
org.simbrain.world.visionworld.filter.editor
The visionworld.filter.editor package contains classes of the different types of filter editors.
org.simbrain.world.visionworld.node
The visionworld.node package contains Vision World piccolo nodes and related classes.
org.simbrain.world.visionworld.node.editor
The visionworld.node.editor package contain the code for Vision World node editors.
org.simbrain.world.visionworld.pixelmatrix
The visionworld.pixelmartix package contains classes for the implementation of the PixelMatrix interface.
org.simbrain.world.visionworld.pixelmatrix.editor
The visionworld.pixelmatrix.editor package contains classes of the different types of pixel matrix editors.
org.simbrain.world.visionworld.sensormatrix
The visionworld.sensormatrix package contains classes for the implementation of the SensorMatrix interface.
org.simbrain.world.visionworld.sensormatrix.editor
The visionworld.sensormatrix.editor package contains classes of sensor matrix editors.
Simbrain is a tool for building, running, and analyzing neural-networks. The package structure is mostly self-explanatory. Neural network code is in org.simbrain.network.
Skip navigation links