Auryn simulator
v0.8.1-206-gb56e451
Plastic Spiking Neural Network Simulator
|
A special Poisson generator that mimicks thalamo-cortical input to auditory cortex layer 3/4. More...
#include <AuditoryBeepGroup.h>
Public Member Functions | |
AuditoryBeepGroup (NeuronID n, AurynFloat duration=50e-3, AurynFloat interval=1.0, AurynDouble rate=50.0) | |
virtual | ~AuditoryBeepGroup () |
virtual void | evolve () |
Public Member Functions inherited from auryn::ProfilePoissonGroup | |
ProfilePoissonGroup (NeuronID n, AurynDouble rate=5.) | |
virtual | ~ProfilePoissonGroup () |
void | set_rate (AurynDouble rate) |
void | normalize_profile () |
void | set_profile (AurynFloat *newprofile) |
void | set_profile (auryn_vector_float *newprofile) |
void | set_flat_profile () |
void | set_gaussian_profile (AurynDouble mean, AurynDouble sigma, AurynDouble floor=0.0) |
AurynDouble | get_rate () |
void | seed (int s) |
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 | |
NeuronID | center |
bool | randomize_center |
NeuronID | width |
AurynFloat | rate_off |
AurynFloat | rate_on |
AurynFloat | rate_sync |
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 |
Additional Inherited Members | |
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 inherited from auryn::ProfilePoissonGroup | |
NeuronID | x |
AurynDouble | jumpsize |
boost::uniform_01 * | dist |
boost::variate_generator< boost::mt19937 &, boost::uniform_01<> > * | die |
auryn_vector_float * | profile |
stores the spatial distribution of relative firing rates More... | |
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 inherited from auryn::ProfilePoissonGroup | |
static boost::mt19937 | gen = boost::mt19937() |
Static Protected Attributes inherited from auryn::SpikingGroup | |
static AurynTime * | clock_ptr = NULL |
A special Poisson generator that mimicks thalamo-cortical input to auditory cortex layer 3/4.
The object simulates a single pure tone stimulus at the beginning of every stimulation_period during stimulus_duration. At the beginning of each stimulus spikes occurr timelocked (every cell in the group spikes in exactly the same time bin). Followed by a poisson firing with rate_on during the stimulus_duration. Afterwards the group defaults back to normal poisson firing with rate_off.
AuditoryBeepGroup::AuditoryBeepGroup | ( | NeuronID | n, |
AurynFloat | duration = 50e-3 , |
||
AurynFloat | interval = 1.0 , |
||
AurynDouble | rate = 50.0 |
||
) |
|
virtual |
Evolve function for internal use by System
Reimplemented from auryn::ProfilePoissonGroup.
NeuronID auryn::AuditoryBeepGroup::center |
Ceontroid of "pure tone"
bool auryn::AuditoryBeepGroup::randomize_center |
Randomize center (all tones)
AurynFloat auryn::AuditoryBeepGroup::rate_off |
Describes the background firing rate in silence
AurynFloat auryn::AuditoryBeepGroup::rate_on |
Describes the mean firing rate during stimulus. Always make sure this value is larger than zero otherwise there will be some weird behavior (and this is not checked.
AurynFloat auryn::AuditoryBeepGroup::rate_sync |
Describes the firing rate during a single simulation timestep after stimulus onset to generate timelocked spikes.
NeuronID auryn::AuditoryBeepGroup::width |
Width of "pure tone"