AnimatLab
2
Test
|
Firing rate neural module. More...
#include <CsNeuralModule.h>
Public Member Functions | |
CsNeuralModule () | |
Default constructor. More... | |
virtual | ~CsNeuralModule () |
Destructor. More... | |
virtual void | AddConnectionGenerator (std::string strID, CsConnectionGenerator *lpGen) |
virtual bool | AddItem (const std::string &strItemType, const std::string &strXml, bool bThrowError=true, bool bDoNotInit=false) |
Adds a new object to this parent. More... | |
virtual void | AddNeuronGroup (std::string strXml, bool bDoNotInit=false) |
Adds a neuron to the module. More... | |
virtual void | AddSynapse (CsSynapseGroup *lpSynapse) |
Adds a synapse to this module. More... | |
virtual void | AddSynapse (std::string strXml, bool bDoNotInit) |
Adds a synapse using an xml packet. More... | |
virtual void | ClearSynapses () |
Clears the synapses list. More... | |
virtual CsConnectionGenerator * | FindConnectionGenerator (std::string strID, bool bThrowError=true) |
Searches for an item with the specified ID and sets its index in the array. More... | |
virtual int | FindNeuronGroupListPos (std::string strID, bool bThrowError=true) |
Searches for the neuron with the specified ID and returns its position in the list. More... | |
virtual int | FindSynapseListPos (std::string strID, bool bThrowError=true) |
Searches for a synapse with the specified ID and returns its position in the list. More... | |
virtual CsSynapseGroup * | GetSynapse (int iIndex) |
Gets a synapse by its index in the array. More... | |
virtual CStdPtrArray< CsSynapseGroup > * | GetSynapses () |
Gets a pointer to the synapses array. More... | |
virtual void | Initialize () |
Initializes this object. More... | |
virtual void | Kill (bool bState=true) |
Kills. More... | |
virtual void | Load (CStdXml &oXml) |
virtual std::string | ModuleName () |
Gets the module name. More... | |
virtual void | QueryProperties (CStdPtrArray< TypeProperty > &aryProperties) |
virtual bool | RemoveItem (const std::string &strItemType, const std::string &strID, bool bThrowError=true) |
Removes a child item from this parent. More... | |
virtual void | RemoveNeuronGroup (std::string strID, bool bThrowError=true) |
Removes the neuron with the specified ID. More... | |
virtual void | RemoveSynapse (int iIndex) |
Removes the synapse described by iIndex. More... | |
virtual void | RemoveSynapse (std::string strID, bool bThrowError=true) |
Removes the synapse by the GUID ID. More... | |
virtual void | ResetSimulation () |
Resets the simulation back to time 0. More... | |
virtual bool | SetData (const std::string &strDataType, const std::string &strValue, bool bThrowError=true) |
Set a variable based on a string data type name. More... | |
virtual void | SimMode (int iMode) |
virtual int | SimMode () |
virtual void | SimStarting () |
When the simulation is starting we need to configure our NN and start our processing thread. More... | |
virtual void | SimStopping () |
Called just before the simulation stops. More... | |
virtual unsigned int | SimulationStepInterval () |
Tells the number of simulation steps that other components, like stimuli, will need to use for their step interval. More... | |
virtual CpuSNN * | SNN () |
virtual void | StepSimulation () |
Step the simulation for this object. More... | |
virtual bool | stepUpdate (CpuSNN *s, int step) |
virtual int | TotalSynapses () |
Gets the total number of synapses. More... | |
virtual void | updateMonitors (CpuSNN *s, int step) |
Public Member Functions inherited from AnimatSim::Behavior::ThreadedModule | |
ThreadedModule (void) | |
Default constructor. More... | |
virtual | ~ThreadedModule (void) |
Destructor. More... | |
virtual float * | GetDataPointer (const std::string &strDataType) |
Returns a float pointer to a data item of interest in this object. More... | |
virtual void | PauseThread (bool bVal) |
virtual bool | PauseThread () |
virtual void | QueryProperties (CStdPtrArray< TypeProperty > &aryProperties) |
Queries this object for a list of properties that can be changed using SetData. More... | |
virtual void | SetupThread () |
This method is called after all connections to whatever control board have been made. It calls each parts SetupIO method. For example, We connect to a Firmata microcontroller like an Arduino, and then do a setup that could take some time. We should not attempt to setup any of the pins until after the board itself has been setup. After that we need to loop through and setup all the parts. More... | |
virtual void | ShutdownThread () |
This method is called just before the IO thread is closed down. It gives the IO objects a chance to do any required cleanup. More... | |
virtual float | StepThreadDuration () |
Gets the time duration required to perform one step of the thread for all parts in this control. More... | |
virtual bool | ThreadPaused () |
Public Member Functions inherited from AnimatSim::Behavior::NeuralModule | |
NeuralModule () | |
Default constructor. More... | |
virtual | ~NeuralModule () |
Destructor. More... | |
virtual void | AddExternalSynapse (AnimatSim::Link *lpSynapse) |
virtual void | AddExternalSynapse (std::string strXml, bool bDoNotInit) |
Adds a synapse using an xml packet. More... | |
virtual void | AttachSourceAdapter (Adapter *lpAdapter) |
Attaches a source adapter. More... | |
virtual void | AttachTargetAdapter (Adapter *lpAdapter) |
Attaches a target adapter. More... | |
virtual IStdClassFactory * | ClassFactory () |
Gets the class factory. More... | |
virtual void | ClassFactory (IStdClassFactory *lpFactory) |
virtual int | FindExternalSynapseListPos (std::string strID, bool bThrowError=true) |
Searches for a synapse with the specified ID and returns its position in the list. More... | |
Organism * | GetOrganism () |
Gets the organism. More... | |
Simulator * | GetSimulator () |
Gets the simulator. More... | |
virtual bool | NeedToStep (bool bIncrement) |
Tells whether this NeuralModule needs to call StepSimulation. More... | |
virtual void | RemoveExternalSynapse (std::string strID, bool bThrowError=true) |
Removes the synapse by the GUID ID. More... | |
virtual void | RemoveSourceAdapter (Adapter *lpAdapter) |
Removes a source adapter. More... | |
virtual void | RemoveTargetAdapter (Adapter *lpAdapter) |
Removes a target adapter. More... | |
virtual void | ResetStepCounter () |
virtual void | SetSystemPointers (Simulator *lpSim, Structure *lpStructure, NeuralModule *lpModule, Node *lpNode, bool bVerify) |
Sets the system pointers. More... | |
virtual void | StepAdapters () |
Step adapters. More... | |
virtual float | TimeStep () |
Gets the time step for this moudle in time units. More... | |
virtual void | TimeStep (float fltVal) |
Sets the Time step for this moudle in time units. More... | |
virtual short | TimeStepInterval () |
Gets the time step interval. More... | |
virtual void | TimeStepInterval (short iVal) |
Sets ime step interval. More... | |
virtual void | VerifySystemPointers () |
Verify that system pointers have been set correctly. More... | |
Public Member Functions inherited from AnimatSim::AnimatBase | |
AnimatBase () | |
Constructs an AnimatBase object. More... | |
virtual | ~AnimatBase () |
Destroys the AnimatBase object.. More... | |
virtual void | AfterResetSimulation () |
Called after a simulation reset for some objects. More... | |
virtual long | CalculateSnapshotByteSize () |
Calculates the snapshot byte size. More... | |
virtual void | Copy (CStdSerialize *lpSource) |
virtual void | Enabled (bool bVal) |
Tells whether this item is enabled or not. This is not actually used for all objects, only specific ones. I am putting it in the base class though to prevent numerous duplications. More... | |
virtual bool | Enabled () |
Tells whether this item is enabled or not. This is not actually used for all objects, only specific ones. I am putting it in the base class though to prevent numerous duplications. More... | |
virtual NeuralModule * | GetNeuralModule () |
Gets the neural module. More... | |
virtual Node * | GetNode () |
Gets the node. More... | |
virtual Structure * | GetStructure () |
Gets the structure for this node. More... | |
virtual bool | HasProperty (const std::string &strName) |
Queries this object if it has a property with the given name. More... | |
virtual std::string | ID () |
Gets the unique GUID ID of this object. More... | |
virtual void | ID (std::string strValue) |
Sets the unique GUID ID of the object. More... | |
virtual void | Load (StdUtils::CStdXml &oXml) |
Loads the item using an XML data packet. More... | |
virtual void | LoadKeyFrameSnapshot (byte *aryBytes, long &lIndex) |
Loads a key frame snapshot. More... | |
virtual std::string | Name () |
Gets the name of this object. More... | |
virtual void | Name (std::string strValue) |
Sets the name of the object. Blank is acceptable. More... | |
virtual AnimatPropertyType | PropertyType (const std::string &strName) |
virtual void | ReInitialize () |
Re-initialize this object. More... | |
virtual void | Reset () |
Resets this object. More... | |
virtual void | RigidBodyAdded (std::string strID) |
virtual void | RigidBodyRemoved (std::string strID) |
virtual void | SaveKeyFrameSnapshot (byte *aryBytes, long &lIndex) |
Saves a key frame snapshot. More... | |
virtual bool | Selected () |
Tells if this items is selected or not. More... | |
virtual void | Selected (bool bValue, bool bSelectMultiple) |
Selects this object. More... | |
virtual bool | SetData (const std::string &strDataType, const float fltValue, bool bThrowError=true) |
Set a variable based on a string data type name. More... | |
virtual bool | SetData (const std::string &strDataType, const long lValue, bool bThrowError=true) |
Set a variable based on a string data type name. More... | |
virtual void | SetSystemPointers (Simulator *lpSim, Structure *lpStructure, NeuralModule *lpModule, Node *lpNode, bool bVerify) |
Sets the system pointers. More... | |
virtual void | SimPausing () |
Called just before the simulation pauses. More... | |
virtual void | TimeStepModified () |
Notification method that the time step modified has been modified. Objects should recalculate any slice times as needed. More... | |
virtual std::string | Type () |
returns the string type name of this object. More... | |
virtual void | Type (std::string strValue) |
Sets the class type for this object. More... | |
virtual void | VisualSelectionModeChanged (int iNewMode) |
Visual selection mode changed. More... | |
Protected Member Functions | |
virtual void | CloseThread () |
void | LoadNetworkXml (CStdXml &oXml) |
Loads the network configuration. More... | |
CsNeuronGroup * | LoadNeuronGroup (CStdXml &oXml) |
Loads a neuron. More... | |
CsSynapseGroup * | LoadSynapse (CStdXml &oXml) |
Loads a synapse. More... | |
virtual void | SetCARLSimulation () |
virtual void | StepThread () |
This method is called from within the IO thread. It calls StepIO for each part. More... | |
virtual void | WaitForNeuralToCatchUp () |
virtual void | WaitForPhysicsToCatchUp () |
Protected Member Functions inherited from AnimatSim::Behavior::ThreadedModule | |
virtual void | ExitPause () |
This method is waits until the m_bIOPaused flag is set back to false. More... | |
virtual void | ExitThread () |
virtual void | ProcessThread () |
virtual void | StartPause () |
This method is waits until the m_bIOPaused flag is set to true. More... | |
virtual void | StartThread () |
virtual void | WaitForThreadNotifyReady () |
virtual void | WaitTillPaused () |
This method is waits until the m_bIOPaused flag is set to true. More... | |
virtual void | WaitWhilePaused () |
This method is waits until the m_bPauseIO flag is set back to false. More... | |
Protected Member Functions inherited from AnimatSim::Behavior::NeuralModule | |
virtual int | FindAdapterListIndex (CStdArray< Adapter * > aryAdapters, std::string strID, bool bThrowError=true) |
virtual AnimatSim::Link * | LoadExternalSynapse (CStdXml &oXml) |
Loads an external synapse. More... | |
virtual void | LoadExternalSynapses (CStdXml &oXml) |
Loads external synapses. More... | |
Protected Attributes | |
CStdPtrMap< std::string, CsConnectionGenerator > | m_aryGenerators |
CStdPtrArray< CsNeuronGroup > | m_aryNeuronGroups |
The array of neuron groups in this module. | |
CStdPtrArray< CsSynapseGroup > | m_arySynapses |
The array of synapses in this module. | |
bool | m_bWaitingForNeuralToCatchUp |
True if the physics simulation has finished and is waiting on the neural sim to catch up. | |
bool | m_bWaitingForPhysicsToCatchUp |
True if the neural simulation has finished and is waiting on the physics sim to catch up. | |
float | m_fltNeuralTime |
The current time of the neural simulation. | |
int | m_iSimMode |
The mode of the simulation. GPU vs CPU. | |
CpuSNN * | m_lpSNN |
Pointer to the CARLsim simulator. | |
Protected Attributes inherited from AnimatSim::Behavior::ThreadedModule | |
bool | m_bPauseThread |
Set to true to pause the thread processing. Set back to false to resume it. | |
bool | m_bSetupComplete |
Set to true once the thread is setup correctly. | |
bool | m_bSetupStarted |
Set to true once the thread begins its setup. | |
bool | m_bStopThread |
Flags the thread processing loop to exit. | |
bool | m_bThreadPaused |
Is set to true once the thread loop is paused. | |
bool | m_bThreadProcessing |
True while the io thread processing loop is going on. | |
bool | m_bWaitingForThreadNotify |
Used to signal to the IO thread that we are waiting for their return signal. | |
float | m_fltStepThreadDuration |
The time it takes to perform a step of the IO for all parts in this control. | |
boost::thread | m_Thread |
Thread responsible for doing IO processing. | |
boost::interprocess::interprocess_condition | m_WaitForSetupCond |
Condition used to determine when the IO is setup. | |
boost::interprocess::interprocess_mutex | m_WaitForSetupMutex |
Mutex responsible for waiting until the IO is finished setting up. | |
Protected Attributes inherited from AnimatSim::Behavior::NeuralModule | |
CStdPtrArray< AnimatSim::Link > | m_aryExternalSynapses |
An array of external synapses connected to nodes within this module. | |
CStdArray< Adapter * > | m_arySourceAdapters |
An array of source adapters for this module. | |
CStdArray< Adapter * > | m_aryTargetAdapters |
An array of target adapters for this module. | |
float | m_fltTimeStep |
The DT time step for this neural module in seconds. | |
short | m_iTargetAdapterCount |
Number of target adapters. | |
short | m_iTimeStepCount |
Count variable that keeps track of how many slices have occured since the last StepSimulation. | |
short | m_iTimeStepInterval |
IStdClassFactory * | m_lpClassFactory |
The pointer to the class factory for this module. | |
Organism * | m_lpOrganism |
The pointer to the organism. | |
std::string | m_strNeuralNetworkFile |
The string neural network file name. | |
std::string | m_strProjectPath |
Full pathname of the string project file for this module. | |
Protected Attributes inherited from AnimatSim::AnimatBase | |
bool | m_bEnabled |
Tells if this item is enabled or not. If it is not enabled then it is not run. | |
bool | m_bSelected |
Tells whether the object is selected or not. | |
AnimatSim::Behavior::NeuralModule * | m_lpModule |
The pointer to this items parentNeuralModule. If this is not relevant for this object then this is NULL. | |
Node * | m_lpNode |
The pointer to this items parent Node. If this is not relevant for this object then this is NULL. | |
Simulator * | m_lpSim |
The pointer to a Simulation. | |
AnimatSim::Environment::Structure * | m_lpStructure |
The pointer to this items parent Structure. If this is not relevant for this object then this is NULL. | |
std::string | m_strID |
The unique Id for this object. | |
std::string | m_strName |
The name for this object. | |
std::string | m_strType |
The type for this object. Examples are Box, Plane, Neuron, etc.. | |
Additional Inherited Members | |
Static Public Member Functions inherited from AnimatSim::Behavior::ThreadedModule | |
static ThreadedModule * | CastToDerived (AnimatBase *lpBase) |
Static Public Member Functions inherited from AnimatSim::Behavior::NeuralModule | |
static NeuralModule * | CastToDerived (AnimatBase *lpBase) |
Firing rate neural module.
This neural module implements a firing rate neural model. The firing rate model is a more abstract representation of the neuron than an integrate and fire system. This type of model assumes that there is a linear relationship between cell depolarization and firing rate. After the neuron has depolarized beyond its threshold its firing rate increases linearly between 0 and 1 relative to the membrane potential and a gain value. Synapses inject current into post-synaptic neurons based on the firing rate. The synaptic weight is the amount of current to inject, and this is multiplied by the firing rate of the pre-synaptic neuron. this model also has modulatory and gated synapses.
Another feature of this model is that there are a few different types of neruons. These primarily differ based on how they implement intrinsic currents. Intrinsic currents are currents that are internal to the neuron. An exmample of this is the pacemaker neuron that generates currents internally to model bursting behavior.
Definition at line 35 of file CsNeuralModule.h.
AnimatCarlSim::CsNeuralModule::CsNeuralModule | ( | ) |
Default constructor.
Definition at line 20 of file CsNeuralModule.cpp.
References m_bWaitingForNeuralToCatchUp, m_bWaitingForPhysicsToCatchUp, m_fltNeuralTime, AnimatSim::Behavior::NeuralModule::m_fltTimeStep, m_iSimMode, AnimatSim::Behavior::NeuralModule::m_lpClassFactory, and m_lpSNN.
|
virtual |
Destructor.
Definition at line 37 of file CsNeuralModule.cpp.
References m_aryNeuronGroups, m_arySynapses, and StdUtils::Std_TraceMsg().
|
virtual |
Adds a new object to this parent.
Generic method to add a new child item to this parent by specifying a string item type descriptor and an xml packet that can be used to load in the new object. The GUI uses this method to create new items that were added with the user interface. The item type lets the method determine what type of item is being created, like synapse, neuron, body part, etc.. It then gets the modulename, classname, and type from the xml and calls CreateObject to create the appropriate type of object. Then it passes in the xml packet to the new objects load method and does any needed initialization and adds it to the parent.
strItemType | String descriptor of the type of item that is being created. |
strXml | XML packet that is used to create and load the new item. |
bThrowError | If true then throw an error if there is a problem, otherwise return false. |
Reimplemented from AnimatSim::AnimatBase.
Definition at line 552 of file CsNeuralModule.cpp.
References AddNeuronGroup(), AddSynapse(), and StdUtils::Std_CheckString().
|
virtual |
Adds a neuron to the module.
strXml | The xml to use when loading the neuron. |
Definition at line 393 of file CsNeuralModule.cpp.
References AnimatCarlSim::CsNeuronGroup::Initialize(), and LoadNeuronGroup().
Referenced by AddItem().
|
virtual |
Adds a synapse to this module.
[in,out] | lpSynapse | Pointer to the synapse to add. |
Definition at line 432 of file CsNeuralModule.cpp.
References m_arySynapses.
Referenced by AddItem(), and LoadSynapse().
|
virtual |
Adds a synapse using an xml packet.
strXml | The xml of the synapse to add. |
Definition at line 447 of file CsNeuralModule.cpp.
References AnimatCarlSim::CsSynapseGroup::Initialize(), and LoadSynapse().
|
virtual |
Clears the synapses list.
Definition at line 549 of file CsNeuralModule.cpp.
References m_arySynapses.
|
virtual |
Searches for an item with the specified ID and sets its index in the array.
strID | ID of item to find. |
bThrowError | true to throw error if not found. |
If | bThrowError is true and no item with the specified ID is found then an exception is thrown. |
Definition at line 92 of file CsNeuralModule.cpp.
References m_aryGenerators, and StdUtils::Std_CheckString().
|
virtual |
Searches for the neuron with the specified ID and returns its position in the list.
strID | GUID ID of the neruon to find. |
bThrowError | true to throw error if nothing found. |
Definition at line 134 of file CsNeuralModule.cpp.
References AnimatSim::AnimatBase::ID(), m_aryNeuronGroups, StdUtils::Std_ToUpper(), and StdUtils::Std_Trim().
Referenced by RemoveNeuronGroup().
|
virtual |
Searches for a synapse with the specified ID and returns its position in the list.
strID | GUID ID of the synapse to find. |
bThrowError | true to throw error if no synapse is found. |
Definition at line 517 of file CsNeuralModule.cpp.
References AnimatSim::AnimatBase::ID(), m_arySynapses, StdUtils::Std_ToUpper(), and StdUtils::Std_Trim().
Referenced by RemoveSynapse().
|
virtual |
Gets a synapse by its index in the array.
iIndex | Zero-based index of the synaspe to return. |
Definition at line 499 of file CsNeuralModule.cpp.
References m_arySynapses.
|
virtual |
Gets a pointer to the synapses array.
Definition at line 428 of file CsNeuralModule.cpp.
References m_arySynapses.
|
virtual |
Initializes this object.
After an object is loaded in it must be initialized before it can be used. This allows the object to retrieve any pointers or setup memory that it will need during execution. Each object is responsible for initializing any of its child objects, so you simply need to call this method on the containing class to init all child objects. It also calls VerifySystemPointers to make sure that the system pointers have been setup correctly.
Reimplemented from AnimatSim::Behavior::NeuralModule.
Definition at line 322 of file CsNeuralModule.cpp.
References m_aryNeuronGroups, m_arySynapses, and AnimatSim::AnimatBase::m_lpStructure.
|
virtual |
Kills.
Called to kill the organism, nervous system, neurons, and body parts. All neural items are disabled to prevent any further neural activity, and all joints are disabled to allow free rotation, and all biomechancical components are disabled so they can no longer produce forces. This method is only relevant to these types of objects, but I am putting the definition in the base class because a variety of different types of classes all need this method and I want it consolidated. Those classes that do not need it do not have to call it or do anything when it is called.
bState | true to state. |
Reimplemented from AnimatSim::AnimatBase.
Definition at line 115 of file CsNeuralModule.cpp.
References m_aryNeuronGroups.
|
protected |
Loads the network configuration.
[in,out] | oXml | The xml to load. |
Definition at line 627 of file CsNeuralModule.cpp.
References AnimatSim::Simulator::AddToObjectList(), AnimatSim::AnimatBase::ID(), LoadNeuronGroup(), LoadSynapse(), m_aryNeuronGroups, m_iSimMode, AnimatSim::AnimatBase::m_lpSim, AnimatSim::AnimatBase::m_strID, AnimatSim::AnimatBase::m_strName, AnimatSim::AnimatBase::m_strType, AnimatSim::AnimatBase::Name(), and AnimatSim::AnimatBase::Type().
|
protected |
Loads a neuron.
[in,out] | oXml | The xml to load for the neuron. |
Definition at line 682 of file CsNeuralModule.cpp.
References AnimatSim::Simulator::CreateObject(), m_aryNeuronGroups, AnimatSim::AnimatBase::m_lpSim, and AnimatSim::AnimatBase::m_lpStructure.
Referenced by AddNeuronGroup(), and LoadNetworkXml().
|
protected |
Loads a synapse.
[in,out] | oXml | The xml to load. |
Definition at line 728 of file CsNeuralModule.cpp.
References AddSynapse(), AnimatSim::Simulator::CreateObject(), AnimatSim::AnimatBase::m_lpSim, and AnimatSim::AnimatBase::m_lpStructure.
Referenced by AddSynapse(), and LoadNetworkXml().
|
virtual |
Gets the module name.
Implements AnimatSim::Behavior::NeuralModule.
Definition at line 49 of file CsNeuralModule.cpp.
|
virtual |
Removes a child item from this parent.
This is a generic method that is used to delete a child object from this parent. The GUI uses this method to remove objects from the simulation that have been deleted in the UI. The item type lets the method determine what type of item is being deleted, like synapse, neuron, body part, etc.. The ID is then used to delete that specific item.
strItemType | String descriptor of the type of item that is being created. |
strID | Unique ID of the item that will be removed. |
bThrowError | If true then throw an error if there is a problem, otherwise return false. |
Reimplemented from AnimatSim::AnimatBase.
Definition at line 575 of file CsNeuralModule.cpp.
References RemoveNeuronGroup(), RemoveSynapse(), and StdUtils::Std_CheckString().
|
virtual |
Removes the neuron with the specified ID.
strID | GUID ID for the neuron. |
bThrowError | true to throw error if neuron found. |
Definition at line 414 of file CsNeuralModule.cpp.
References FindNeuronGroupListPos(), and m_aryNeuronGroups.
Referenced by RemoveItem().
|
virtual |
Removes the synapse described by iIndex.
iIndex | Zero-based index of the synapse in the array. |
Definition at line 467 of file CsNeuralModule.cpp.
References m_arySynapses.
Referenced by RemoveItem().
|
virtual |
Removes the synapse by the GUID ID.
strID | GUID ID for the synapse to remove. |
bThrowError | true to throw error if synaspe not found. |
Definition at line 483 of file CsNeuralModule.cpp.
References FindSynapseListPos(), and m_arySynapses.
|
virtual |
Resets the simulation back to time 0.
This method calls the ResetSimulation method on all subitems in order to reset the simulation back to the beginning.
Reimplemented from AnimatSim::Behavior::NeuralModule.
Definition at line 303 of file CsNeuralModule.cpp.
References m_aryNeuronGroups, m_arySynapses, m_fltNeuralTime, and AnimatSim::Behavior::ThreadedModule::ShutdownThread().
|
virtual |
Set a variable based on a string data type name.
This is a generic method that can be used to set any variable in an AnimatBase object by specifying the name of the variable and a string representation of that data. The GUI uses this method to set data into variables in the simulation when the user changes them in the UI. The value string can be as simple as a float or int, or as complex as an xml packet. It is the developers responsibilty to know what type of data is needed and to process it accordingly.
strDataType | string name of the data type to set. |
strValue | The string value of the data. It is up to the developer to determine what this should be. For example, in most cases it is simply a float and you just have to convert it to a float and make the appropriate mutator method call. However, it can be any type of string, including an entire xml packet. It is the developers responsibility to know how to set and process the data as required. |
bThrowError | true to throw error if there is a problem. If false then it will not return an error, just return false. |
Reimplemented from AnimatSim::AnimatBase.
Definition at line 351 of file CsNeuralModule.cpp.
References StdUtils::Std_CheckString(), and AnimatSim::Behavior::NeuralModule::TimeStep().
|
virtual |
When the simulation is starting we need to configure our NN and start our processing thread.
When the simulation starts we need to re-run our configuration to setup the neural network in CARLsim and then start our processing loop.
Reimplemented from AnimatSim::AnimatBase.
Definition at line 280 of file CsNeuralModule.cpp.
References m_arySynapses, and AnimatSim::Behavior::ThreadedModule::m_bThreadProcessing.
|
virtual |
Called just before the simulation stops.
This method is called on each AnimatBase object when the simulation stops. It allows it to perform any intialization prior to the stop of the simulation that is needed.
Reimplemented from AnimatSim::AnimatBase.
Definition at line 296 of file CsNeuralModule.cpp.
References AnimatSim::Behavior::ThreadedModule::ShutdownThread().
|
virtual |
Tells the number of simulation steps that other components, like stimuli, will need to use for their step interval.
Definition at line 69 of file CsNeuralModule.cpp.
References AnimatSim::AnimatBase::m_lpSim.
|
virtual |
Step the simulation for this object.
This is called on an object each time it is stepped in the simulation. this is where its simulation code is processed. However, StepSimulation is not necessarily called every single time that the simulation as a whole is stepped. A good example of this is that neural modules can have different integration time steps. So a firing rate module may have a DT of 0.5 ms, while an integrate and fire model may have one of 0.1 ms. So the firing rate module would only get its StepSimulation method called every 5th time that the other module was called. This is all handed in the StepSimulation method of the Simulator and NervousSystem.
Reimplemented from AnimatSim::Behavior::NeuralModule.
Definition at line 341 of file CsNeuralModule.cpp.
References AnimatSim::Behavior::ThreadedModule::m_bThreadProcessing, and m_bWaitingForPhysicsToCatchUp.
|
protectedvirtual |
This method is called from within the IO thread. It calls StepIO for each part.
Reimplemented from AnimatSim::Behavior::ThreadedModule.
Definition at line 258 of file CsNeuralModule.cpp.
References m_iSimMode, m_lpSNN, and CpuSNN::runNetwork().
|
virtual |
Reimplemented from StepFeedback.
Definition at line 190 of file CsNeuralModule.cpp.
References AnimatSim::Behavior::ThreadedModule::m_bPauseThread, AnimatSim::Behavior::ThreadedModule::m_bStopThread, AnimatSim::Behavior::ThreadedModule::m_bThreadPaused, AnimatSim::AnimatBase::m_lpSim, and AnimatSim::Simulator::Paused().
|
virtual |
Gets the total number of synapses.
Definition at line 540 of file CsNeuralModule.cpp.
References m_arySynapses.
|
protected |
This is a list of connection generators for building individual connections between populations of neurons.
Definition at line 46 of file CsNeuralModule.h.
Referenced by FindConnectionGenerator().