Example #1
0
    def menuButton5(self, control):
        exampleHead = Head()
        exampleHeadModel = HeadModel(exampleHead)
        exampleHead.setSamplingFrequency(256)
        exampleHead.addRegistrationSite([0, 0, 0])
        exampleExperiment = Experiment(exampleHead.getSamplingFrequency(), 100.0)
        
        # Randomizing stimuli times
        stimuli = []
        for i in range(100):
            stimuli.append( i + 0.2 +random()/2 )
        exampleExperiment.setStimulusTimes([stimuli])
        exampleStimulus = Stimulus('Stim', exampleHead)
        exampleStimulus.setStimulusTimes(exampleExperiment.getStimulusTimes()[0])

        # Creating many generators with random frequencies in the range 2-20 Hz and
        # random phases. Connecting some of them to the stimulus generator
        exampleGenerators = []
        exampleConnections = []
        for i in range(100):
            randomFrequency = 2.0 + random() * 18
            randomPhaseShift = random()
            exampleGenerators.append(GeneratorSine('Gen', exampleHead, frequency=randomFrequency, phaseShift=randomPhaseShift))
            if(random() > 0.75):
                exampleConnections.append(Connection('Con', exampleHead, exampleStimulus, exampleGenerators[i]))

        exampleExperiment.setRecording(exampleHead.runSimulation(exampleExperiment.getDuration()))
        exampleExperiment.plotRecording()
Example #2
0
    def menuButton1(self, control):
        exampleHead = Head()
        exampleHeadModel = HeadModel(exampleHead)
        exampleHead.setSamplingFrequency(10)
        exampleHead.addRegistrationSite([0, 0, 0])

        exampleStimulus = StimulusDummy('Stim', exampleHead)
        exampleGenerator = GeneratorDummy('Gen', exampleHead)
        exampleConnection = ConnectionDummy('Con', exampleHead, exampleStimulus, exampleGenerator)
        
        exampleExperiment = Experiment(exampleHead.getSamplingFrequency(), 1.0, exampleHead.runSimulation( 1.0 ))
        output = str(exampleExperiment.getRecording())
        self.log.SetValue(output)
        self.logWindow.Show()
Example #3
0
    def menuButton4(self, control):
        exampleHead = Head()
        exampleHeadModel = HeadModel(exampleHead)
        exampleHead.setSamplingFrequency(128)
        exampleHead.addRegistrationSite([0, 0, 0])
        
        exampleExperiment = Experiment(exampleHead.getSamplingFrequency(), 10.0)
        exampleExperiment.setStimulusTimes([[0.3, 1.75, 2.16, 3.87, 4.31, 5.183, 6.34, 7.13]])

        exampleStimulus = Stimulus('Stim', exampleHead)
        exampleStimulus.setStimulusTimes(exampleExperiment.getStimulusTimes()[0])
        exampleGenerator = GeneratorSine('Gen', exampleHead)
        exampleConnection = Connection('Con', exampleHead, exampleStimulus, exampleGenerator)

        exampleExperiment.setRecording(exampleHead.runSimulation(exampleExperiment.getDuration()))
        exampleExperiment.plotRecording()
Example #4
0
    def menuButton3(self, control):
        exampleHead = Head()
        exampleHeadModel = HeadModel(exampleHead)
        exampleHead.setSamplingFrequency(10)
        exampleHead.addRegistrationSite([0, 0, 0])

        exampleExperiment = Experiment(exampleHead.getSamplingFrequency(), 1.0)
        exampleExperiment.setStimulusTimes([[0.3, 0.6], [0.5]])

        exampleStimulus1 = Stimulus('Stim1', exampleHead)
        exampleStimulus2 = Stimulus('Stim2', exampleHead)
        exampleStimulus1.setStimulusTimes(exampleExperiment.getStimulusTimes()[0])
        exampleStimulus2.setStimulusTimes(exampleExperiment.getStimulusTimes()[1])

        exampleGenerator1 = GeneratorNumberIncrementing('Gen1', exampleHead)
        exampleGenerator2 = GeneratorNumberIncrementing('Gen2', exampleHead)
        exampleConnection1 = Connection('Con1', exampleHead, exampleStimulus1, exampleGenerator1)
        exampleConnection2 = Connection('Con2', exampleHead, exampleStimulus2, exampleGenerator2)

        exampleExperiment.setRecording(exampleHead.runSimulation(exampleExperiment.getDuration()))
        output = str(exampleExperiment.getRecording())
        self.log.SetValue(output)
        self.logWindow.Show()