The Physiologist's Friend Simulation API

ch.unizh.ini.friend.simulation.cells
Class AbstractSpikingCell

java.lang.Object
  extended by ch.unizh.ini.friend.simulation.AbstractAcceptsInput
      extended by ch.unizh.ini.friend.simulation.cells.AbstractCell
          extended by ch.unizh.ini.friend.simulation.cells.AbstractSpikingCell
All Implemented Interfaces:
AcceptsInput, SpikingCell, ServesOutput, Updateable, Serializable
Direct Known Subclasses:
IntegrateFireCell, PoissonSoma

public abstract class AbstractSpikingCell
extends AbstractCell
implements SpikingCell

Abstract class providing common methods for spiking cells.

Version:
$Revision: 1.8 $
Author:
Christof Marti
See Also:
Serialized Form

Field Summary
 
Fields inherited from class ch.unizh.ini.friend.simulation.cells.AbstractCell
newValue, value
 
Fields inherited from class ch.unizh.ini.friend.simulation.AbstractAcceptsInput
inputs
 
Constructor Summary
AbstractSpikingCell()
          Creates a new instance with currently no inputs.
AbstractSpikingCell(Collection inputs)
          Creates a new instance with the given collections of inputs.
AbstractSpikingCell(int n)
          Creates a new instance with currently no inputs and with the given initial capacity.
AbstractSpikingCell(ServesOutput input)
          Creates a new instance with the given input.
 
Method Summary
static AbstractSpikingCell factory(String classname)
          Returns an instance of a subclass of AbstractSpikingCell given by the name.
static AbstractSpikingCell factory(String classname, Collection inputs, Collection weights)
          Returns an instance of a subclass of AbstractSpikingCell given by the name with the given collections of inputs and weights.
static AbstractSpikingCell factory(String classname, int n)
          Returns an instance of a subclass of AbstractSpikingCell given by the name with currently no inputs and with the given initial capacity.
static AbstractSpikingCell factory(String classname, ServesOutput input, float weight)
          Returns an instance of a subclass of AbstractSpikingCell given by the name with the given input and weight.
static AbstractSpikingCell getComplexCellInstance(String classname, Collection onCells, Collection offCells, Collection cells, Retinotopic centeredOn, HexDirection ori)
          Returns a new instance of ComplexCell.
static AbstractSpikingCell getDSSimpleCellInstance(String classname, Collection onCells, Collection offCells, Collection cells, Retinotopic centeredOn, HexDirection ori)
          Returns a new instance of a direction-selective simple cell, composed with input from two simple cells, one effectively shunting the input from the other.
static AbstractSpikingCell getEvenSimpleCellInstance(String classname, Collection onCells, Collection offCells, Retinotopic centeredOn, HexDirection ori)
          Returns a new instance of a even-type simple cell.
static AbstractSpikingCell getOddSimpleCellInstance(String classname, Collection onCells, Collection offCells, Retinotopic centeredOn, HexDirection ori)
          Returns a new instance of a odd-type simple cell.
 
Methods inherited from class ch.unizh.ini.friend.simulation.cells.AbstractCell
output, update
 
Methods inherited from class ch.unizh.ini.friend.simulation.AbstractAcceptsInput
averageInputs, cloneObject, connectOneToAll, connectOneToOne, getCollectionInstance, getInput, getInputs, integrateInputs, setInput, setInputs
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface ch.unizh.ini.friend.simulation.cells.SpikingCell
isSpike
 
Methods inherited from interface ch.unizh.ini.friend.simulation.Updateable
compute
 

Constructor Detail

AbstractSpikingCell

public AbstractSpikingCell()
Creates a new instance with currently no inputs.


AbstractSpikingCell

public AbstractSpikingCell(int n)
Creates a new instance with currently no inputs and with the given initial capacity.

Parameters:
n - Number of initial capacity for inputs.

AbstractSpikingCell

public AbstractSpikingCell(Collection inputs)
Creates a new instance with the given collections of inputs.

Parameters:
inputs - The collection of inputs.

AbstractSpikingCell

public AbstractSpikingCell(ServesOutput input)
Creates a new instance with the given input.

Parameters:
input - The input.
Method Detail

factory

public static AbstractSpikingCell factory(String classname)
Returns an instance of a subclass of AbstractSpikingCell given by the name.

Parameters:
classname - Name of the subclass of AbstractSpikingCell to create.
Returns:
Instance of the specified subclass.

factory

public static AbstractSpikingCell factory(String classname,
                                          Collection inputs,
                                          Collection weights)
Returns an instance of a subclass of AbstractSpikingCell given by the name with the given collections of inputs and weights.

Parameters:
classname - Name of the subclass of AbstractSpikingCell to create.
inputs - The collection of inputs.
weights - The collection of weights (Float instances).
Returns:
Instance of the specified subclass.

factory

public static AbstractSpikingCell factory(String classname,
                                          int n)
Returns an instance of a subclass of AbstractSpikingCell given by the name with currently no inputs and with the given initial capacity.

Parameters:
classname - Name of the subclass of AbstractSpikingCell to create.
n - Number of initial capacity for inputs.
Returns:
Instance of the specified subclass.

factory

public static AbstractSpikingCell factory(String classname,
                                          ServesOutput input,
                                          float weight)
Returns an instance of a subclass of AbstractSpikingCell given by the name with the given input and weight.

Parameters:
classname - Name of the subclass of AbstractSpikingCell to create.
input - The input.
weight - Its weight.
Returns:
Instance of the specified subclass.

getComplexCellInstance

public static AbstractSpikingCell getComplexCellInstance(String classname,
                                                         Collection onCells,
                                                         Collection offCells,
                                                         Collection cells,
                                                         Retinotopic centeredOn,
                                                         HexDirection ori)
Returns a new instance of ComplexCell. A complex-type simple cell, composed of simple cells all with the same orientation but with varying phase. This complex cell sums the outputs from two simple cells, with same orientation and symmetry, but with opposite polarity, at the same retionotopic location. These component simple cells are added to the simulation provided in the argument to the constructor.

Parameters:
classname - Name of the subclass of AbstractSpikingCell to be created.
onCells - The on-ganglion cells.
offCells - The off-ganglion cells.
cells - The cells of the simulation. CLEAN UP: remove
centeredOn - the cell is centered here
ori - the orientation. This orientation is added to rotate the cells RF. Orientation 0 means a cell that is horizontally tuned.
Returns:
The newly created object.

getDSSimpleCellInstance

public static AbstractSpikingCell getDSSimpleCellInstance(String classname,
                                                          Collection onCells,
                                                          Collection offCells,
                                                          Collection cells,
                                                          Retinotopic centeredOn,
                                                          HexDirection ori)
Returns a new instance of a direction-selective simple cell, composed with input from two simple cells, one effectively shunting the input from the other. The two inputs to are spatially separated. One excites the cell, the other inhibits it. Because the membrane potential is clamped in the negative direction by the potasium reversal potential, the inhibitory input acts effectively as a shunting inhibition. The result is a null-inhibition-type Barlow-Levick direction selective cell.

Parameters:
classname - Name of the subclass of AbstractSpikingCell to be created.
onCells - The on-ganglion cells.
offCells - The off-ganglion cells.
cells - The cells of the simulation. CLEAN UP: remove
centeredOn - the cell is centered here
ori - the orientation. This orientation is added to rotate the cells RF. Orientation 0 means a cell that is horizontally tuned.
Returns:
The newly created object.

getEvenSimpleCellInstance

public static AbstractSpikingCell getEvenSimpleCellInstance(String classname,
                                                            Collection onCells,
                                                            Collection offCells,
                                                            Retinotopic centeredOn,
                                                            HexDirection ori)
Returns a new instance of a even-type simple cell. The receptive field is push-pull, with even symmetry. The on ganglions from the center stripe excite, and the off ganglions from the flanks excite. The ganglions with opposing polarity are connected with inhibitory synapses.

Parameters:
classname - Name of the subclass of AbstractSpikingCell to be created.
onCells - The on-ganglion cells.
offCells - The off-ganglion cells.
centeredOn - the cell is centered here
ori - the orientation. This orientation is added to rotate the cells RF. Orientation HexDirection.E is a cell that is tuned for bright stripes at 60 deg CCW from horizontal orientation.
Returns:
The newly created object.

getOddSimpleCellInstance

public static AbstractSpikingCell getOddSimpleCellInstance(String classname,
                                                           Collection onCells,
                                                           Collection offCells,
                                                           Retinotopic centeredOn,
                                                           HexDirection ori)
Returns a new instance of a odd-type simple cell. The receptive field is push-pull, with odd symmetry. The on ganglions from the right and the off ganglions from the left are connected with excitatory synapses. The ganglions with opposing polarity are connected with inhibitory synapses.

Parameters:
classname - Name of the subclass of AbstractSpikingCell to be created.
onCells - The on-ganglion cells.
offCells - The off-ganglion cells.
centeredOn - a Retinotopic cell whose on which the instance is centered
ori - the orientation of the cell. HexDirection.E, for example, results in an OddSimpleCell with vertical orientation, which is excited by brightness on the right and darkness on the left.
Returns:
The newly created object.

http://www.ini.unizh.ch/~tobi/friend