![]() |
Auryn simulator
v0.8.1-206-gb56e451
Plastic Spiking Neural Network Simulator
|
Provides a poisson stimulus at random intervals in one or more predefined subsets of the group that are read from a file. More...
#include <StimulusGroup.h>


Public Member Functions | |
| virtual unsigned int | get_num_stimuli () |
| Returns number of stimuli. More... | |
| StimulusGroup (NeuronID n, string filename, string stimfile, StimulusGroupModeType stimulusmode=RANDOM, AurynFloat baserate=1.0) | |
| Default constructor. More... | |
| StimulusGroup (NeuronID n, string stimfile, StimulusGroupModeType stimulusmode=RANDOM, AurynFloat baserate=1.0) | |
| Constructor without pattern file. Patterns can be loaded afterwards using the load_patterns method. More... | |
| virtual | ~StimulusGroup () |
| virtual void | evolve () |
| Standard virtual evolve function. More... | |
| void | set_baserate (AurynFloat baserate) |
| Sets the baserate that is the rate at 1 activity. More... | |
| void | set_maxrate (AurynFloat baserate) |
| TODO. More... | |
| void | set_stimulation_mode (StimulusGroupModeType mode) |
| Sets the stimulation mode. Can be any of StimulusGroupModeType (MANUAL,RANDOM,SEQUENTIAL,SEQUENTIAL_REV). More... | |
| void | set_all (AurynFloat val=0.0) |
| Sets sets the activity of all units. More... | |
| void | seed (int rndseed) |
| Seeds the random number generator for all stimulus groups of the simulation. More... | |
| AurynFloat | get_activity (NeuronID i) |
| Gets the activity of unit i. More... | |
| virtual void | load_patterns (string filename) |
| Loads stimulus patterns from a designated pat file given. More... | |
| virtual void | clear_patterns () |
| Clear stimulus patterns. More... | |
| void | set_mean_off_period (AurynFloat period) |
| Set mean quiet interval between consecutive stimuli. More... | |
| void | set_mean_on_period (AurynFloat period) |
| Set mean on period. More... | |
| void | set_pattern_activity (unsigned int i) |
| Function that loops over the stimulus/pattern vector and sets the activity verctor to the gamma values given with the pattern. More... | |
| void | set_pattern_activity (unsigned int i, AurynFloat setval) |
| Function that loops over the stimulus/pattern vector and sets the activity verctor to the given value. More... | |
| virtual void | set_active_pattern (unsigned int i) |
| This function is called internally and sets the activity level to a given active stimulus. More... | |
| void | set_active_pattern (unsigned int i, AurynFloat default_value) |
| This function is called internally and sets the activity level to a given active stimulus. More... | |
| void | set_next_action_time (double time) |
| void | set_distribution (std::vector< double > probs) |
| Setter for pattern probability distribution. More... | |
| std::vector< double > | get_distribution () |
| Getter for pattern probability distribution. More... | |
| double | get_distribution (int i) |
| Getter for pattern i of the probability distribution. More... | |
| unsigned int | get_stim_count () |
| Returns number of stimuli shown. More... | |
| AurynTime | get_last_action_time () |
| returns the last action (stim on/off) time in units of AurynTime More... | |
| AurynTime | get_last_onset_time () |
| returns the last stimulus onset time in units of AurynTime More... | |
| AurynTime | get_last_offset_time () |
| returns the last stimulus offset time in units of AurynTime More... | |
| AurynTime | get_next_action_time () |
| returns the next action (stim on/off) time in units of AurynTime More... | |
| unsigned int | get_cur_stim () |
| returns the index of the current (or last – if not active anymore) active stimulus More... | |
| bool | get_stim_active () |
| Returns true if currently a stimulus is active and false otherwise. More... | |
| void | flat_distribution () |
| void | normalize_distribution () |
| std::vector< type_pattern > * | get_patterns () |
Public Member Functions inherited from auryn::SpikingGroup | |
| void | add_state_vector (std::string key, AurynStateVector *state_vector) |
| Adds a state vector passed as an argument to the dictinary. More... | |
| void | remove_state_vector (std::string key) |
| Removes a state vector passed as an argument to the dictinary. More... | |
| AurynStateVector * | find_state_vector (std::string key) |
| Returns existing state vector by name or NULL if it does not exist. More... | |
| AurynStateVector * | get_state_vector (std::string key) |
| Creates a new or returns an existing state vector by name. More... | |
| AurynStateVector * | get_existing_state_vector (std::string key) |
| Returns an existing state with the supplied name. More... | |
| AurynStateVector * | create_state_vector (std::string key) |
| Creates a new state vector and throws an exception if a vector with the same name exists. More... | |
| AurynState * | get_state_variable (std::string key) |
| Creates a new group-wide state variable or returns an existing group-wide variable by name then returns a pointer to it. More... | |
| void | randomize_state_vector_gauss (std::string state_vector_name, AurynState mean, AurynState sigma, int seed=12239) |
| Randomizes the content of a state vector with Gaussian random numbers. Seeding is MPI save. More... | |
| SpikingGroup (NeuronID size, NodeDistributionMode mode=AUTO) | |
| Default constructor. More... | |
| virtual | ~SpikingGroup () |
| Default destructor. More... | |
| virtual void | evolve_traces () |
| Evolves traces. More... | |
| void | set_name (std::string s) |
| Set connection name. More... | |
| std::string | get_name () |
| Retrieves the groups name. More... | |
| std::string | get_file_name () |
| Extracts the class name of the connection from the file name. More... | |
| std::string | get_log_name () |
| Returns a string which is the combination of file and connection name for logging. More... | |
| void | inc_num_spike_attributes (int x) |
| Instructs SpikingGroup to increase the number of spike attributes by x. More... | |
| int | get_num_spike_attributes () |
| void | conditional_evolve () |
| Conditional evolve functino which is called by System. More... | |
| unsigned int | get_locked_rank () |
| Returns locked rank for SpikingGroups which are not distributed across all ranks. More... | |
| unsigned int | get_locked_range () |
| Returns locked range of ranks for SpikingGroups which are not distributed across all ranks. More... | |
| SpikeContainer * | get_spikes () |
| Returns pointer to a spike container that contains spikes which arrive in this timestep from all neurons in this group. More... | |
| SpikeContainer * | get_spikes_immediate () |
| Returns pointer to SpikeContainer of spikes generated during the last evolve() step. More... | |
| AttributeContainer * | get_attributes () |
| Returns pointer to Attributecontainer for usage in propagating Connection objects. Same as get_spikes_immediate(), however might be overwritten to contain Spikes that have been delayed. More... | |
| AttributeContainer * | get_attributes_immediate () |
| Returns pointer to Attributecontainer of spikes generated during the last evolve() step. More... | |
| NeuronID | get_size () |
| Returns the size of the group. More... | |
| NeuronID | get_pre_size () |
| Returns the size of the group. More... | |
| NeuronID | calculate_rank_size (int rank=-1) |
| Determines rank size and stores it in local variable. More... | |
| NeuronID | get_rank_size () |
| Returns the size on this rank. More... | |
| NeuronID | get_post_size () |
| Returns the size on this rank. More... | |
| void | set_clock_ptr (AurynTime *clock) |
| bool | evolve_locally () |
| Returns true if the calling instance has units which are integrated on the current rank. More... | |
| NeuronID | get_uid () |
| Get the unique ID of the class. More... | |
| Trace * | get_pre_trace (AurynFloat x) |
| Returns a pre trace with time constant x. More... | |
| void | add_pre_trace (Trace *tr) |
| Adds trace to pretrace stack of a connection. More... | |
| Trace * | get_post_trace (AurynFloat x) |
| Returns a post trace with time constant x. More... | |
| void | add_post_trace (Trace *tr) |
| Adds trace to posttrace stack of a connection. More... | |
| void | push_spike (NeuronID spike) |
| Pushes a local NeuronID as spike into the axonal SpikeDelay buffer. More... | |
| void | push_attribute (AurynFloat attrib) |
| Pushes a spike attribute into the axonal SpikeDelay buffer. More... | |
| void | clear_spikes () |
| Clears all spikes stored in the delays which is useful to reset a network during runtime. More... | |
| Trace * | get_post_state_trace (std::string state_name="mem", AurynFloat tau=10e-3, AurynFloat b=0.0) |
| Returns a post trace of a neuronal state variable e.g. the membrane potential with time constant tau. More... | |
| Trace * | get_post_state_trace (AurynStateVector *state, AurynFloat tau=10e-3, AurynFloat b=0.0) |
| Returns a post trace of a neuronal state variable specified by pointer. More... | |
| void | set_delay (int d) |
| Sets axonal delay for this SpikingGroup. More... | |
| virtual bool | write_to_file (const char *filename) |
| Writes current states of SpikingGroup to human-readible textfile if implemented in derived class. More... | |
| virtual bool | load_from_file (const char *filename) |
| Reads current states of SpikingGroup to human-readible textfile if implemented in derived class. More... | |
| NeuronID | ranksize () |
| Returns size (num of neurons) on the current rank. More... | |
| NeuronID | global2rank (NeuronID i) |
| Converts global NeuronID within the SpikingGroup to the local NeuronID on this rank. More... | |
| NeuronID | rank2global (NeuronID i) |
| Converts local NeuronID from the local rank to a global NeuronID. More... | |
| bool | localrank (NeuronID i) |
| Checks if the global NeuronID i is integrated on this MPI rank. More... | |
| NeuronID | get_vector_size () |
| Rank size but rounded up to multiples of 4 (or potentially some other and larger number in future versions) for SSE compatibility. More... | |
Public Attributes | |
| int | cur_stim_index |
| Current stimulus index. More... | |
| bool | stimulus_active |
| Current stimulus active. More... | |
| std::vector< type_pattern > | stimuli |
| Vector containing all the stimuli. More... | |
| AurynFloat | scale |
| This is by how much the pattern gamma value is multiplied. The resulting value gives the x-times baseline activation. More... | |
| bool | binary_patterns |
| Switches to more efficient algorithm which ignores the gamma value. More... | |
| AurynTime | refractory_period |
| Enables a finite refractory time specified in AurynTime (only works for non-binary-pattern mode. More... | |
| bool | randomintervals |
| Determines if the Group is using random activation intervals. More... | |
| bool | randomintensities |
| Determines if the Group is using random activation intensities. More... | |
| AurynDouble | background_rate |
| Play random Poisson noise with this rate on all channels when no stim is active. More... | |
| bool | background_during_stimulus |
| Switch for background firing during stimulus. More... | |
Public Attributes inherited from auryn::SpikingGroup | |
| SpikeDelay * | delay |
| bool | active |
| Toggles group active. More... | |
| std::map< std::string, AurynStateVector * > | state_vectors |
| std::map< std::string, AurynState > | state_variables |
Protected Member Functions | |
| void | init (StimulusGroupModeType stimulusmode, string stimfile, AurynFloat baserate) |
| virtual void | redraw () |
| void | write_stimulus_file (AurynDouble time) |
| void | read_next_stimulus_from_file (AurynDouble &time, int &active, int &stimulusid) |
| void | set_activity (NeuronID i, AurynFloat val=0.0) |
Protected Member Functions inherited from auryn::SpikingGroup | |
| virtual void | load_input_line (NeuronID i, const char *buf) |
| virtual std::string | get_output_line (NeuronID i) |
| virtual void | virtual_serialize (boost::archive::binary_oarchive &ar, const unsigned int version) |
| Implementatinon of serialize function for writing. More... | |
| virtual void | virtual_serialize (boost::archive::binary_iarchive &ar, const unsigned int version) |
| Implementatinon of serialize function for reading. More... | |
| void | free () |
| Frees potentially allocated memory. More... | |
Protected Attributes | |
| AurynTime * | ttl |
| AurynFloat * | activity |
| StimulusGroupModeType | stimulus_order |
| unsigned int | stimulation_count |
| Counter variable for number of stimuli shown. More... | |
| NeuronID | fgx |
| NeuronID | bgx |
| std::vector< double > | probabilities |
| AurynTime | next_action_time |
| next stimulus time requiring change in rates More... | |
| AurynTime | last_action_time |
| last stimulus time requiring change in rates More... | |
| AurynTime | last_stim_onset_time |
| last stimulus onset time More... | |
| AurynTime | last_stim_offset_time |
| last stimulus offset time More... | |
| AurynFloat | mean_off_period |
| AurynFloat | mean_on_period |
| AurynFloat | curscale |
Protected Attributes inherited from auryn::SpikingGroup | |
| std::vector< Trace * > | pretraces |
| Pretraces. More... | |
| std::vector< Trace * > | posttraces |
| Posttraces. More... | |
| std::vector< Trace * > | post_state_traces |
| Post state traces. More... | |
| std::vector< AurynFloat > | post_state_traces_spike_biases |
| std::vector< AurynStateVector * > | post_state_traces_states |
| std::string | group_name |
| Identifying name for object. More... | |
| NeuronID | size |
| Stores the size of the group. More... | |
| NeuronID | rank_size |
| Stores the size of the group on this rank. More... | |
| SpikeContainer * | spikes |
| SpikeContainers to store spikes produced during one step of evolve. More... | |
| AttributeContainer * | attribs |
Static Protected Attributes | |
| static boost::mt19937 | poisson_gen = boost::mt19937() |
| static boost::mt19937 | order_gen = boost::mt19937() |
| static boost::uniform_01< boost::mt19937 > | order_die = boost::uniform_01<boost::mt19937> (order_gen) |
Static Protected Attributes inherited from auryn::SpikingGroup | |
| static AurynTime * | clock_ptr = NULL |
Provides a poisson stimulus at random intervals in one or more predefined subsets of the group that are read from a file.
| StimulusGroup::StimulusGroup | ( | NeuronID | n, |
| std::string | filename, | ||
| std::string | stimfile, | ||
| StimulusGroupModeType | stimulusmode = RANDOM, |
||
| AurynFloat | baserate = 1.0 |
||
| ) |
Default constructor.
| n | Size of the group |
| filename | The path and filename of the pat file. |
| stimfile | The path and filename of the output file used to record the stimulus timing. |
| stimulusmode | Stimulus mode specifies in which order patterns are presented |
| baserate | The base firing rate with which all activity is multiplied. |

| StimulusGroup::StimulusGroup | ( | NeuronID | n, |
| std::string | stimfile, | ||
| StimulusGroupModeType | stimulusmode = RANDOM, |
||
| AurynFloat | baserate = 1.0 |
||
| ) |
Constructor without pattern file. Patterns can be loaded afterwards using the load_patterns method.
Like the default constructor only that no patterns are specified. They have to be loaded afterwards using the load_patterns function.
| n | Size of the group |
| stimfile | The path and filename of the output file used to record the stimulus timing. |
| stimulusmode | Stimulus mode specifies in which order patterns are presented |
| baserate | The base firing rate with which all activity is multiplied. |

|
virtual |
|
virtual |
Clear stimulus patterns.
|
virtual |
Standard virtual evolve function.
Implements auryn::SpikingGroup.
Reimplemented in auryn::SpikeTimingStimGroup.

| void StimulusGroup::flat_distribution | ( | ) |
Initialized distribution to be flat

| AurynFloat StimulusGroup::get_activity | ( | NeuronID | i | ) |
Gets the activity of unit i.

| unsigned int StimulusGroup::get_cur_stim | ( | ) |
returns the index of the current (or last – if not active anymore) active stimulus
| std::vector< double > StimulusGroup::get_distribution | ( | ) |
Getter for pattern probability distribution.
| double StimulusGroup::get_distribution | ( | int | i | ) |
Getter for pattern i of the probability distribution.
| AurynTime StimulusGroup::get_last_action_time | ( | ) |
returns the last action (stim on/off) time in units of AurynTime
| AurynTime StimulusGroup::get_last_offset_time | ( | ) |
returns the last stimulus offset time in units of AurynTime
| AurynTime StimulusGroup::get_last_onset_time | ( | ) |
returns the last stimulus onset time in units of AurynTime
| AurynTime StimulusGroup::get_next_action_time | ( | ) |
returns the next action (stim on/off) time in units of AurynTime
|
virtual |
Returns number of stimuli.
| std::vector< type_pattern > * StimulusGroup::get_patterns | ( | ) |
| bool StimulusGroup::get_stim_active | ( | ) |
Returns true if currently a stimulus is active and false otherwise.
| unsigned int StimulusGroup::get_stim_count | ( | ) |
Returns number of stimuli shown.
|
protected |
Standard initialization

|
virtual |
Loads stimulus patterns from a designated pat file given.
| filename | The path and filename of the pat file to laod. |

| void StimulusGroup::normalize_distribution | ( | ) |
Normalizes the distribution

|
protected |
Read current stimulus status from stimfile

|
protectedvirtual |
Draw all Time-To-Live (ttls) typically after changing the any of the activiteis
Reimplemented in auryn::SpikeTimingStimGroup.

| void StimulusGroup::seed | ( | int | rndseed | ) |
Seeds the random number generator for all stimulus groups of the simulation.

|
virtual |
This function is called internally and sets the activity level to a given active stimulus.
| i | the index of the pattern to set the activity to |
| void StimulusGroup::set_active_pattern | ( | unsigned int | i, |
| AurynFloat | default_value | ||
| ) |
This function is called internally and sets the activity level to a given active stimulus.
| i | The index of the pattern to set the activity to |
| default_value | The value to assign to the activity values which are not specified in the pattern file. Typically this corresponds to some background value. |

|
protected |
Sets the activity for a given unit on the local rank. Activity determines the freq as baserate*activity
| void StimulusGroup::set_all | ( | AurynFloat | val = 0.0 | ) |
Sets sets the activity of all units.

| void StimulusGroup::set_baserate | ( | AurynFloat | baserate | ) |
Sets the baserate that is the rate at 1 activity.

| void StimulusGroup::set_distribution | ( | std::vector< double > | probs | ) |
Setter for pattern probability distribution.

| void StimulusGroup::set_maxrate | ( | AurynFloat | baserate | ) |
TODO.

| void StimulusGroup::set_mean_off_period | ( | AurynFloat | period | ) |
Set mean quiet interval between consecutive stimuli.

| void StimulusGroup::set_mean_on_period | ( | AurynFloat | period | ) |
Set mean on period.

| void StimulusGroup::set_next_action_time | ( | double | time | ) |

| void StimulusGroup::set_pattern_activity | ( | unsigned int | i | ) |
Function that loops over the stimulus/pattern vector and sets the activity verctor to the gamma values given with the pattern.

| void StimulusGroup::set_pattern_activity | ( | unsigned int | i, |
| AurynFloat | setval | ||
| ) |
Function that loops over the stimulus/pattern vector and sets the activity verctor to the given value.

| void StimulusGroup::set_stimulation_mode | ( | StimulusGroupModeType | mode | ) |
Sets the stimulation mode. Can be any of StimulusGroupModeType (MANUAL,RANDOM,SEQUENTIAL,SEQUENTIAL_REV).
|
protected |
write current stimulus to stimfile
|
protected |
| bool auryn::StimulusGroup::background_during_stimulus |
Switch for background firing during stimulus.
| AurynDouble auryn::StimulusGroup::background_rate |
Play random Poisson noise with this rate on all channels when no stim is active.
|
protected |
Background Poisson field pointer
| bool auryn::StimulusGroup::binary_patterns |
Switches to more efficient algorithm which ignores the gamma value.
| int auryn::StimulusGroup::cur_stim_index |
Current stimulus index.
Do not write this variable.
|
protected |
|
protected |
Foreground Poisson field pointer
|
protected |
last stimulus time requiring change in rates
|
protected |
last stimulus offset time
|
protected |
last stimulus onset time
|
protected |
allow silence/background activity periods
|
protected |
mean presentation time
|
protected |
next stimulus time requiring change in rates
|
staticprotected |
|
staticprotected |
generates info for what stimulus is active. Is supposed to give the same result on all nodes (hence same seed required)
|
staticprotected |
pseudo random number generators
|
protected |
stimulus probabilities
| bool auryn::StimulusGroup::randomintensities |
Determines if the Group is using random activation intensities.
| bool auryn::StimulusGroup::randomintervals |
Determines if the Group is using random activation intervals.
| AurynTime auryn::StimulusGroup::refractory_period |
Enables a finite refractory time specified in AurynTime (only works for non-binary-pattern mode.
| AurynFloat auryn::StimulusGroup::scale |
This is by how much the pattern gamma value is multiplied. The resulting value gives the x-times baseline activation.
|
protected |
Counter variable for number of stimuli shown.
| std::vector<type_pattern> auryn::StimulusGroup::stimuli |
Vector containing all the stimuli.
| bool auryn::StimulusGroup::stimulus_active |
Current stimulus active.
Only read this state.
|
protected |
Stimulus order
|
protected |
1.8.13