Line 6: |
Line 6: |
| This is an example of a very simple 'experiment' in which letters will appear on the screen one by one to form sentences. In this experiment, adding a new character to a string is called an ''epoch''. A series of epochs that results in a complete sentence is called a ''sequence''. Subjects can press a button when they are ready for the next sentence (sequence). A flowchart of the experiment is shown below: | | This is an example of a very simple 'experiment' in which letters will appear on the screen one by one to form sentences. In this experiment, adding a new character to a string is called an ''epoch''. A series of epochs that results in a complete sentence is called a ''sequence''. Subjects can press a button when they are ready for the next sentence (sequence). A flowchart of the experiment is shown below: |
| | | |
− | [[File:DocsSectionsExampleSentences.Flowchart.png]] | + | [[File:DocsSectionsExampleSentences_Flowchart.png|841px|235x]] |
| | | |
| ''Figure 1: Flowchart of the Sentences example experiment'' | | ''Figure 1: Flowchart of the Sentences example experiment'' |
Line 210: |
Line 210: |
| | BS_INIT || EVENT || bs_send_buffer_marker('init_sequence','eeg',0,'now') || [] || 0 || [] | | | BS_INIT || EVENT || bs_send_buffer_marker('init_sequence','eeg',0,'now') || [] || 0 || [] |
| |- | | |- |
− | | init_sequence || EVENT || initSequence || put || | | + | | init_sequence || EVENT || initSequence || put || || |
| |- | | |- |
− | | || | bs_send_buffer_marker('next_sequence','eeg',0,'now') || | || | + | | || || bs_send_buffer_marker('next_sequence','eeg',0,'now') || || || |
| |- | | |- |
| | next_sequence || EVENT || nextSequence || get || $self+1, get || | | | next_sequence || EVENT || nextSequence || get || $self+1, get || |
Line 218: |
Line 218: |
| | start_sequence || button_1 || displayString('') || get || get || 0 | | | start_sequence || button_1 || displayString('') || get || get || 0 |
| |- | | |- |
− | | || | bs_send_buffer_marker('next_epoch','eeg',0,'now') || | || | + | | || || bs_send_buffer_marker('next_epoch','eeg',0,'now') || || || |
| |- | | |- |
| | next_epoch || EVENT || nextEpoch || get || get || $self+1, get | | | next_epoch || EVENT || nextEpoch || get || get || $self+1, get |
| |- | | |- |
− | | proc_epoch || EVENT || displayString() || | || | + | | proc_epoch || EVENT || displayString() || || || |
| |- | | |- |
− | | || | bs_send_buffer_marker('next_epoch','eeg',0.25,'now') || | || | + | | || || bs_send_buffer_marker('next_epoch','eeg',0.25,'now') || || || |
| |- | | |- |
− | | <strong>end_sequence</strong> || <strong>EVENT</strong> || <strong>bs_send_buffer_marker('next_sequence','eeg',1,'now')</strong> || | || | + | | <strong>end_sequence</strong> || <strong>EVENT</strong> || <strong>bs_send_buffer_marker('next_sequence','eeg',1,'now')</strong> || || || |
| | | |
| |} | | |} |
Line 244: |
Line 244: |
| | BS_INIT || EVENT || bs_send_buffer_marker('init_sequence','eeg',0,'now') || [] || 0 || [] | | | BS_INIT || EVENT || bs_send_buffer_marker('init_sequence','eeg',0,'now') || [] || 0 || [] |
| |- | | |- |
− | | init_sequence || EVENT || initSequence || put || | | + | | init_sequence || EVENT || initSequence || put || || |
| |- | | |- |
− | | || | bs_send_buffer_marker('next_sequence','eeg',0,'now') || | || | + | | || || bs_send_buffer_marker('next_sequence','eeg',0,'now') || || || |
| |- | | |- |
| | next_sequence || EVENT || nextSequence || get || $self+1, get || | | | next_sequence || EVENT || nextSequence || get || $self+1, get || |
Line 252: |
Line 252: |
| | start_sequence || button_1 || displayString('') || get || get || 0 | | | start_sequence || button_1 || displayString('') || get || get || 0 |
| |- | | |- |
− | | || | bs_send_buffer_marker('next_epoch','eeg',0,'now') || | || | + | | || || bs_send_buffer_marker('next_epoch','eeg',0,'now') || || || |
| |- | | |- |
| | next_epoch || EVENT || nextEpoch || get || get || $self+1, get | | | next_epoch || EVENT || nextEpoch || get || get || $self+1, get |
| |- | | |- |
− | | proc_epoch || EVENT || displayString() || | || | + | | proc_epoch || EVENT || displayString() || || || |
| |- | | |- |
− | | || | bs_send_buffer_marker('next_epoch','eeg',0.25,'now') || | || | + | | || || bs_send_buffer_marker('next_epoch','eeg',0.25,'now') || || || |
| |- | | |- |
− | | || <strong>DATA <br /></strong> || <strong>bs_disp('Process the data')</strong> || | || | + | | || <strong>DATA <br /></strong> || <strong>bs_disp('Process the data')</strong> || || || |
| |- | | |- |
− | | end_sequence || EVENT || bs_send_buffer_marker('next_sequence','eeg',1,'now') || | || | + | | end_sequence || EVENT || bs_send_buffer_marker('next_sequence','eeg',1,'now') || || || |
| | | |
| |} | | |} |
| | | |
− | We also need a [[BrainStreamBuildingExperiments#SecDataSel DataSelection table]] to specify the exact time window of data selection. If we want to record one second of data after the onset of each epoch, our DataSelection table looks like this: | + | We also need a [[BrainStreamBuildingExperiments#SecDataSel|DataSelection table]] to specify the exact time window of data selection. If we want to record one second of data after the onset of each epoch, our DataSelection table looks like this: |
| {| class="wikitable" | | {| class="wikitable" |
| |- | | |- |
Line 275: |
Line 275: |
| |} | | |} |
| | | |
− | In this experiment, the fourth column ''datasource'' is not absolutely necessary. As only one data source (simulated EEG data, see [.DocsSectionsExampleSentences#BrainStream.[[DocsSectionsBlockFile]] blocksettings]) is used, BrainStream will automatically apply all data selection settings to this data source. | + | In this experiment, the fourth column ''datasource'' is not absolutely necessary. As only one data source (simulated EEG data, see [[BrainStreamExampleSentences#BrainStream|blocksettings]) is used, BrainStream will automatically apply all data selection settings to this data source. |
| | | |
| === Creating the Dictionary table === | | === Creating the Dictionary table === |
| | | |
− | The [.DocsSectionsBuildingExperiments#SecDict Dictionary table] specifies a marker number for each marker that is used in this experiment. The Dictionary table looks like this: | + | The [[BrainStreamBuildingExperiments#SecDict|Dictionary table]] specifies a marker number for each marker that is used in this experiment. The Dictionary table looks like this: |
| {| class="wikitable" | | {| class="wikitable" |
| |- | | |- |
Line 300: |
Line 300: |
| |} | | |} |
| | | |
− | In this experiment, the fourth column ''datasource'' is not absolutely necessary. As only one data source (simulated EEG data, see [.DocsSectionsExampleSentences#BrainStream.[[DocsSectionsBlockFile]] blocksettings]) is used, BrainStream will automatically apply all marker settings to this data source. | + | In this experiment, the fourth column ''datasource'' is not absolutely necessary. As only one data source (simulated EEG data, see [[BrainStreamExampleSentences#BrainStream|blocksettings]) is used, BrainStream will automatically apply all marker settings to this data source. |
| | | |
| == Testing the experiment == | | == Testing the experiment == |
Line 306: |
Line 306: |
| The easiest way to create all files that define this experiment is via the [.DocsSectionsBrainStreamEditor BrainStream editor]. You can open the editor by typing <tt>bs_editor</tt> in the Matlab command window (make sure that <tt>brainstream_mds/core</tt> is your current working directory). An experiment file (.exp) has already been created for this example experiment and is located in <tt>/brainstream_mds/examples/blocks/sentences/sentences.exp</tt>. If you open this file in the BrainStream editor, the experiment looks like this: | | The easiest way to create all files that define this experiment is via the [.DocsSectionsBrainStreamEditor BrainStream editor]. You can open the editor by typing <tt>bs_editor</tt> in the Matlab command window (make sure that <tt>brainstream_mds/core</tt> is your current working directory). An experiment file (.exp) has already been created for this example experiment and is located in <tt>/brainstream_mds/examples/blocks/sentences/sentences.exp</tt>. If you open this file in the BrainStream editor, the experiment looks like this: |
| | | |
− | [[File:DocsSectionsExampleSentences.BS_editor.png]] | + | [[File:DocsSectionsExampleSentences_BS_editor.png|1054px|658x]] |
| | | |
| ''Figure 2: The Sentences Experiment in the BrainStream Editor'' | | ''Figure 2: The Sentences Experiment in the BrainStream Editor'' |