skneuromsi.neural._cuppini2014 module
- class skneuromsi.neural._cuppini2014.Cuppini2014Integrator(tau: tuple, s: float, theta: float, name: str = 'Cuppini2014Integrator')[source]
Bases:
objectIntegrator function for the Cuppini2014 model.
This class represents the integrator function used to compute the dynamics of the neural network according to the Cuppini (2014) model. It handles the update rules for the neurons’ activities based on their net inputs.
- Parameters:
tau (tuple of 3 float) – Time constants for the auditory, visual, and multisensory neurons, respectively.
s (float) – Slope of the sigmoid activation function.
theta (float) – Central position of the sigmoid activation function.
- tau: tuple
Time constants for the auditory, visual, and multisensory neurons
- s: float
Slope of the sigmoid activation function
- theta: float
Central position of the sigmoid activation function
- name: str = 'Cuppini2014Integrator'
Name of the integrator
- class skneuromsi.neural._cuppini2014.Cuppini2014TemporalFilter(tau: tuple, name: str = 'Cuppini2014TemporalFilter')[source]
Bases:
objectTemporal filter for the Cuppini2014 model.
- tau: tuple
- name: str = 'Cuppini2014TemporalFilter'
- class skneuromsi.neural._cuppini2014.Cuppini2014(*, neurons=180, tau=(1, 15, 25), s=2, theta=16, seed=None, mode0='auditory', mode1='visual', position_range=(0, 180), position_res=1, time_range=(0, 100), time_res=0.01, **integrator_kws)[source]
Bases:
SKNMSIMethodABCNetwork model for multisensory integration of Cuppini et al. (2014).
This model simulates neural responses in a multisensory system, consisting of auditory and visual areas. By default, each of these areas consists of 180 neurons arranged topologically to encode a 180° space. In this way, each neuron encodes 1° of space and neurons close to each other encode close spatial positions. The model includes a temporal filter to accurately reproduce temporal dynamics of multisensory integration.
References
- property neurons
Number of neurons in each layer.
- Returns:
The number of neurons used in the simulation.
- Return type:
int
- property tau
Time constants for the neurons.
- Returns:
Time constants for the auditory, visual, and multisensory neurons, respectively.
- Return type:
tuple of 3 float
- property s
Slope of the sigmoid activation function.
- Returns:
The slope parameter of the sigmoid function used in the model.
- Return type:
float
- property theta
Central position of the sigmoid activation function.
- Returns:
The central position parameter of the sigmoid function used in the model.
- Return type:
float
- property random
Random number generator.
- Returns:
The random number generator used for initialization.
- Return type:
numpy.random.Generator
- property time_range
Time range for simulation.
- Returns:
The start and end times for the simulation in seconds.
- Return type:
tuple of 2 float
- property time_res
Time resolution of the simulation.
- Returns:
The time step size for the simulation in seconds.
- Return type:
float
- property position_range
Range of positions in degrees.
- Returns:
The minimum and maximum positions in degrees.
- Return type:
tuple of 2 int
- property position_res
Resolution of position encoding.
- Returns:
The resolution of position encoding in degrees.
- Return type:
float
- property mode0
Returns the name of the first sensory modality.
- Returns:
The name of the first sensory modality.
- Return type:
str
- property mode1
Returns the name of the second sensory modality.
- Returns:
The name of the second sensory modality.
- Return type:
str
- set_random(rng)[source]
Set the random number generator for the model.
This method allows for setting a custom random number generator, which can be useful for ensuring reproducibility or for using different random number generation strategies.
- Parameters:
rng (numpy.random.Generator)
used. (The random number generator to be)
numpy.random.Generator. (It should be an instance of)
- run(*, soa=56, onset=25, auditory_duration=10, visual_duration=20, auditory_position=None, visual_position=None, auditory_intensity=3, visual_intensity=1, noise=False, lateral_excitation=2, lateral_inhibition=1.8, cross_modal_latency=16, auditory_gain=None, visual_gain=None, auditory_stim_n=2, visual_stim_n=1)[source]
Run the simulation of the Cuppini2014 model.
- Parameters:
soa (float, optional) – Stimulus-onset asynchrony for stimuli (default is 50).
onset (float, optional) – Onset time for stimuli (default is 16).
auditory_duration (float, optional) – Duration of auditory stimuli (default is 7).
visual_duration (float, optional) – Duration of visual stimuli (default is 12).
auditory_position (float, optional) – Position of auditory stimuli (default is middle of the range).
visual_position (float, optional) – Position of visual stimuli (default is middle of the range).
auditory_intensity (float, optional) – Intensity of auditory stimuli (default is 2.4).
visual_intensity (float, optional) – Intensity of visual stimuli (default is 1.4).
noise (bool, optional) – Whether to include noise in the simulation (default is False).
lateral_excitation (float, optional) – Lateral excitation parameter (default is 2).
lateral_inhibition (float, optional) – Lateral inhibition parameter (default is 1.8).
cross_modal_latency (float, optional) – Latency for cross-modal inputs (default is 16).
auditory_gain (float, optional) – Gain for auditory processing (default is None, which sets to exp(1)).
visual_gain (float, optional) – Gain for visual processing (default is None, which sets to exp(1)).
auditory_stim_n (int, optional) – Number of auditory stimuli (default is 2).
visual_stim_n (int, optional) – Number of visual stimuli (default is 1).
- Returns:
A tuple containing: - response (dict): A dictionary with keys “auditory”, “visual”, and “multi”, containing the simulation results for each layer. - extra (dict): A dictionary with additional information such as inputs and filter inputs.
- Return type:
tuple