Difference: DocsSectionsTroubleshooting (15 vs. 16)

Revision 1619 Nov 2009 - Main.PhilipVanDenBroek

Line: 1 to 1
 
META TOPICPARENT name="BrainStreamDocs"
<---Start1--->

6 TROUBLESHOOTING AND FAQ

Line: 85 to 85
  One reason is that BrainStreams internal processing variable space needs to be separated from the users variable space (user state). Users should not be able to 'see' BrainStreams internal code processing. Another reason is that by explicitly asking for such actions, BrainStream is able to decide on which parts of the processing can be executed parallel-wise (this is an option; standard turned off). if users would like to use this feature, they are relieved from this difficult task of writing debug-free-executing parallel code.

How can I get access to constants defined in my block initialization file?
Changed:
<
<
Use the value = bs_get_blockvalue(,,) to retrieve defined constants. For example: subject = bs_get_blockvalue(RunMode','Subject','no_subject');.
>
>
Use the value = bs_get_blockvalue(,,) to retrieve defined constants. For example: subject = bs_get_blockvalue(event,'RunMode','Subject','no_subject');.
 
Does it make a difference which column I choose in the table for the markers, time or functions?
As long as they are in one of the first three columns, and before starting defining the columns with user variables, BrainStream will reorder the columns automatically.
Line: 100 to 100
  No, it is also possible to define your experiment in tab-delimited text files. Although the functionality is already integrated in BrainStream, it is not yet extensively tested. Also, the column-wise presentation of information in excel files really helps to get a good overview of the actions defined per marker. This is much more cumbersome in text files. Since excel files can hold more than one sheet per file, the same functionality for text files is implemented by putting the files in the same folder.

My function updates content for a variable, but it seems to get lost. What could go wrong?
Changed:
<
<
BrainStream manages an internal user workspace which stores all user variables content. If the user specifies a 'get' keyword in the experiment definition table, it will instruct BrainStream to add the content of the variable as a field to the event structure. This way, users get access to their own user variables. The other way around, if the user wants to update changed content to this user workspace, it needs to explicitly ask for this by issuing a 'put' keyword for this variable. A missing 'put' is most probably the reason why modifications are not preserved.
>
>
BrainStream manages an internal user workspace (the global variables) which stores all user variables content. If the user specifies a 'get' keyword in the experiment definition table, it will instruct BrainStream to add the content of the variable as a field to the event structure. This way, users get access to their own user variables. The other way around, if the user wants to update changed content to this user workspace, it needs to explicitly ask for this by issuing a 'put' keyword for this variable. A missing 'put' is most probably the reason why modifications are not preserved.
 
I defined actions at t=DATA, however nothing seems to execute?
Changed:
<
<
This happens if no data selection was specified for corresponding marker. Check if the '!DataSelection' table defines data for this marker. (future versions will check the table for such failure and issue an error. For more information click here.
>
>
This happens if no data selection was specified for corresponding marker. Check if the 'DataSelection' table defines data for this marker. (future versions will check the table for such failure and issue an error. For more information click here.
 
I get an error 'can not read data before t=0', however dataselections begintime was set to t=0 s.
If you insert a marker with zero time-delay at the BS_INIT marker, this inserted markers timestamp will also be set to t=0. Data selection definition is interpreted relative to this timestamp. Although DataSelection begintime t=0 was specified, the extra samples required for the decimation filtering moves the start position towards values < 0. This risc exists for every marker which absolute DataSelection begintime effectual becomes a value smaller than 0.1s. Thus, inserted markers timestamp plus begintime should be larger than 0.1s, but only if data is being decimated. Data will be decimated if RunMode.SampleRateAfterDecimation is not equal to the original sample rate (either from data source or file). In case no decimation is applied, effectual DataSelection begintimes can be set to t=0 s.
Line: 121 to 121
  The table can not be found in the Matlab path or the file doesn't exist (perhaps a spelling error). References to external tables (i.e., not sheets included in the excel file) must include the extension of the file name. This tells BrainStream to search for another file instead of a local included sheet. Tables do not necessarily have to be found in the Matlab path. A full path can be included for the reference in order to directly point to its storage location; @mytable.xls (file can be found in Matlab path), or @/volumes/all_tables/mytable.xls.

Instead of specifying data epochs in time units, I would like to use samples; is that possible?
Added:
>
>
  Yes, if a # symbol is placed right after the number, it will be treated as the number of samples instead of seconds. Thus 3 means three second, whereas 3# means 3 samples. The latter should be used with care since a changed sample rate will result in same length epochs (measured in samples), but different epoch lengths (measured in time). Note that for absolute time points (when actions should be executed) the same rules apply.
Added:
>
>
I inserted a marker with some time delay, however, the delay time doesn't seem to be recognized correctly.

Verify the delay time specified in the table. If this value is correct, be sure the inserted marker is not an action defined at a DATA timepoint. This will make execution time dependent of the amount of data specified if data end time exceeds the specified delay time.

 

6.3.4 Programming

Can I only use Matlab functions?
Line: 131 to 135
  Yes, this is supported. Before the actual modifier expressions are executed, a copy of current content of involved user variables is preserved. This content will be used for the user variables that might pop-up in the modifier expressions.

How does Brainstream deliver the data?
Changed:
<
<
Only when a marker is associated with data (see xxx) and a timepoint t=DATA, it will get the data along with the event structure, that is: event.data.raw (channels x data).
>
>
Only when a marker is associated with data (see xxx) and a timepoint t=DATA, it will get the data along with the event structure, that is: event.data.raw (channels x data).
 
Does BrainStream provide any standard data processing solutions?
The only supported data processing option available is decimation of the data. In the block file it can be specified which decimation factor should apply to the data (topic: RunMode, key: SampleRateAfterDecimation). In fact it is specified what the sample rate should be after decimation. BrainStream verifies if the data acquisitions' sample rate allows for decimation of the data (decimation factor should be a power of 2).
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback