skneuromsi.neural._cuppini2014 module

class skneuromsi.neural._cuppini2014.Cuppini2014Integrator(tau: tuple, s: float, theta: float, name: str = 'Cuppini2014Integrator')[source]

Bases: object

Integrator 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

sigmoid(u)[source]

Computes the sigmoid activation function.

class skneuromsi.neural._cuppini2014.Cuppini2014TemporalFilter(tau: tuple, name: str = 'Cuppini2014TemporalFilter')[source]

Bases: object

Temporal 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: SKNMSIMethodABC

Network 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

[Cuppini et al., 2014]

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