def __init__(self): """ Initialise the structural information, coupling function, and monitors. """ # Initialise some Monitors with period in physical time raw = monitors.Raw() gavg = monitors.GlobalAverage(period=2 ** -2) subsamp = monitors.SubSample(period=2 ** -2) tavg = monitors.TemporalAverage(period=2 ** -2) # DON'T load a projection because it'll make this behave like it # has a surface and do very, very bad things eeg = monitors.EEG(sensors=SensorsEEG(load_file="eeg_brainstorm_65.txt"), period=2 ** -2) eeg2 = monitors.EEG(sensors=SensorsEEG(load_file="eeg_brainstorm_65.txt"), period=2 ** -2, reference='Fp2') # EEG with a reference electrode meg = monitors.MEG(sensors=SensorsMEG(load_file='meg_brainstorm_276.txt'), period=2 ** -2) self.monitors = (raw, gavg, subsamp, tavg, eeg, eeg2, meg) self.method = None self.sim = None
def __init__(self): """ Initialise the structural information, coupling function, and monitors. """ # Initialise some Monitors with period in physical time raw = monitors.Raw() gavg = monitors.GlobalAverage(period=2 ** -2) subsamp = monitors.SubSample(period=2 ** -2) tavg = monitors.TemporalAverage(period=2 ** -2) eeg = monitors.EEG(load_default=True, period=2 ** -2) eeg2 = monitors.EEG(load_default=True, period=2 ** -2, reference='Fp2') # EEG with a reference electrode meg = monitors.MEG(load_default=True, period=2 ** -2) self.monitors = (raw, gavg, subsamp, tavg, eeg, eeg2, meg) self.method = None self.sim = None
def setup_method(self): oscillator = models.Generic2dOscillator() white_matter = connectivity.Connectivity(load_file='connectivity_' + str(self.n_regions) + '.zip') white_matter.speed = numpy.array([self.speed]) white_matter_coupling = coupling.Difference(a=self.coupling_a) heunint = integrators.HeunStochastic( dt=2**-4, noise=noise.Additive(nsig=numpy.array([ 2**-10, ]))) mons = ( monitors.EEG(projection=ProjectionMatrix( load_file='projection_eeg_65_surface_16k.npy'), sensors=SensorsEEG(load_file="eeg_brainstorm_65.txt"), period=self.period), monitors.MEG( projection=ProjectionMatrix( load_file='projection_meg_276_surface_16k.npy'), sensors=SensorsMEG(load_file='meg_brainstorm_276.txt'), period=self.period), monitors.iEEG(projection=ProjectionMatrix( load_file='projection_seeg_588_surface_16k.npy'), sensors=SensorsInternal(load_file='seeg_588.txt'), period=self.period), ) local_coupling_strength = numpy.array([2**-10]) region_mapping = RegionMapping(load_file='regionMapping_16k_' + str(self.n_regions) + '.txt') default_cortex = Cortex( region_mapping_data=region_mapping, load_file="cortex_16384.zip" ) #region_mapping_file="regionMapping_16k_192.txt") default_cortex.coupling_strength = local_coupling_strength self.sim = simulator.Simulator(model=oscillator, connectivity=white_matter, coupling=white_matter_coupling, integrator=heunint, monitors=mons, surface=default_cortex) self.sim.configure()
def test_monitor_eeg(self): monitor = monitors.EEG() assert monitor.period == self.default_period
LOG.info("Configuring...") #Initialise a Model, Coupling, and Connectivity. oscilator = models.Generic2dOscillator() white_matter = connectivity.Connectivity() white_matter.speed = 4.0 white_matter_coupling = coupling.Linear(a=-2**-9) #Initialise an Integrator heunint = integrators.HeunDeterministic(dt=2**-4) #Initialise some Monitors with period in physical time mon_tavg = monitors.TemporalAverage(period=2**-2) mon_savg = monitors.SpatialAverage(period=2**-2) mon_eeg = monitors.EEG(period=2**-2) #Bundle them what_to_watch = (mon_tavg, mon_savg, mon_eeg) #Initialise a surface local_coupling_strength = numpy.array([0.0121]) grey_matter = surfaces.LocalConnectivity(equation=equations.Gaussian(), cutoff=60.0) grey_matter.equation.parameters['sigma'] = 10.0 grey_matter.equation.parameters['amp'] = 0.0 default_cortex = surfaces.Cortex(local_connectivity=grey_matter, coupling_strength=local_coupling_strength)
def test_monitor_eeg(self): monitor = monitors.EEG() self.assertEqual(monitor.period, self.default_period)
pyplot.figure() ax = pyplot.subplot(111, projection='3d') x, y, z = ctx.vertices.T ax.plot_trisurf(x, y, z, triangles=ctx.triangles, alpha=0.1, edgecolor='k') # pyplot.show() print("cortex plot ready") # unit vectors that describe the location of eeg sensors sensoreeg_fname = "/home/annajo/git/tvb/tvb-data/tvb_data/berlinSubjects/DH_20120806/DH_20120806_EEGLocations.txt" sensorsEEG = SensorsEEG(load_file=sensoreeg_fname) prEEG = ProjectionSurfaceEEG(load_file=eeg_fname) fsamp = 1e3 / 1024.0 # 1024 Hz mon = monitors.EEG(sensors=sensorsEEG, projection=prEEG, region_mapping=rm, period=fsamp) sim = simulator.Simulator( connectivity=conn, # conduction speed: 3 mm/ms # coupling: linear - rescales activity propagated # stimulus: None - can be a spatiotemporal function # model: Generic 2D Oscillator - neural mass has two state variables that # represent a neuron's membrane potential and recovery; see the # mathematics paper for default values and equations; runtime 8016 s model=Linear(), # model: Wilson & Cowan - two neural masses have an excitatory/inhibitory # relationship; see paper for details; runtime 16031 s # model: Wong & Wang - reduced system of two non-linear coupled differential