This is a list of all plugins that come bundeled with the core software installation. These plugins ensure that you can get productive right after installation without any further downloads or installations of specific plugin packages. If you want to use other methods or plugins, please use the search function in the workflow section and download plugin bundles. You are now ready to start using TimeStudio: you should go to the Getting started section.
core_add_event:
Small plug (only) used when testing use of events data when for example
syncing.
core_add_file:
in Timestudio. Like how to set up a basic graphical user interface and load
data from and write to timestudio.
NOTE:
core_assign_group:
(specified by an eval expression).
Example where all subjects with an ‘a’ in the name is assigned to groupA:
Eval condition: strfind(TSvalue(TS, ‘name’), ‘A’)
If true, group becomes: groupA
if false, group becomes: groupB
core_assign_values_to_subject:
Example: use this plugin to add individual testscores to each subject.
core_calculate:
core_datafield_clone:
core_datafield_delete:
core_datafield_rename:
the organisation of data in TS.ALLSUBJ there will be an empty datafield
with the old name left.
core_descriptive_statistics:
(mean value and std).
core_events_add:
possible to set an time offset for the new event.
core_events_from_list:
user defined list. This list could be written or pasted in the larger
textfield and should contain a header line with the event datafields to
change or add. Example:
Event superfield: tobii
name offset userdefined1 userdefined2 userdefined3
cond1 0 0.23 1.4 congruent
cond1 1 0.56 3.5 congruent
cond2 0 0.23 0.6 incongruent
….
The resulting events will (at least) have these datafields:
TS.ALLSUBJ.tobii.events.name (predefined)
TS.ALLSUBJ.tobii.events.time (predefined)
TS.ALLSUBJ.tobii.events.timeend (predefined)
TS.ALLSUBJ.tobii.events.oldname (predefined)
TS.ALLSUBJ.tobii.events.offset (predefined)
TS.ALLSUBJ.tobii.events.userdefined1
TS.ALLSUBJ.tobii.events.userdefined2
TS.ALLSUBJ.tobii.events.userdefined3
core_events_insert:
should be one line with property names separated by a tab.
core_events_list:
be able to scan subjects for events at least some subjects with events
should be selected.
core_events_modification:
This is used for making changes to specific event fields.
core_events_remove:
clean up event data.
core_events_rename:
To be able to scan subjects for events at least some subjects with events
should be selected…
core_events_share:
core_events_summary:
selected subjects have.
core_events_sync:
core_filter:
core_find_peaks:
User sets a window of interest, either in time or in samples.
The signal inside the window for the selected field is lowpass filtered.
For the filtered signal then peaks are found by finding places where the sign
changes within the first order forward difference of the signal. (A version of
a derivative test)
Then some peaks can be removed by either being inside the limits defined by
“Remove inside” or by being to close to some other peak.
Results are saved as:
qsensor.interval.segment % [from to]
qsensor.interval.peak(1:n).type = maxima|minima
qsensor.interval.peak(1:n).time
qsensor.interval.peak(1:n).peakValue
qsensor.interval.numberOfMaxima
qsensor.interval.meanAbsoluteAmplitude % only maxima peaks
qsensor.interval.meanRelativeAmplitude % relative previous minima
NOTE: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2631518/
core_folder:
rather a list) of plugins that should be performed while processing.
This makes it easier to organize long sequences of plugins.
core_geometric_filtering:
gaussian filters are lowpass-filtering methods and the median can be used
for noise removal.
Results are saved over the old data.
NOTE: The signal is padded with zeros before mask is applied.
core_hello_plugin:
in Timestudio like how to set up a basic graphical user interface and load
data from and write to timestudio.
NOTE: Are there anything special you maybe should take in consideration when
using this plugin?
core_interpolate_gaps:
Interpolation can be done with either a nearest-neighbour, linear or cubic
method on the different series specified in the “Series” input field where the
name of each series is separated by an empty space.
The user is also prompted to specify the maximum length of a field of NaN’s to
interoplate over. If the length of an actual field is longer than the
speciefied length all elements inside that subfield will stay NaN’s. Depending
on the status of the plot-checkbox the result is either plotted or not, then
the user is prompted to say if the interpolated series should be saved or not.
NOTE: New interpolated data is saved over the old data field inside
timestudio.
The user is also prompted to give values for what is considered an outlier by
giving the maximum allowed deviation from mean and what the lower and upper
limit for the complete series is. All elements that lie outside either of
these is set to NaN:s. Since they are set to NaN they will be interpolated
over if they do not lie inside a field of NaN:s that is larger than Max sample
gap.
These fields can be left empty if no outliers or specified range is to be
considered.
The interpolation is first carried out over the whole series, then the parts
where the NaN-fields were longer than the maximum allowed length is restored
to NaN’s.
core_new_plugin_test:
in Timestudio. Like how to set up a basic graphical user interface and load
data from and write to timestudio.
NOTE:
core_plot:
one array.
NOTE:
core_plot_simple:
one array.
Has fewer plot options than core_plot but otherwise the same.
NOTE:
core_script:
code in the textbox. The variables in TS are available, but not the
command window workpace.
core_serial_send:
used for triggering external devices (such as EEG or NIRS).
core_sync:
time-vectors will then be relative to the master fields time vector.
Syncs are done by comparing the values of starttime within the fields and
creating time offsets that are then added to all time vectors and event
vectors.
There are several options for which field is supposed to be the master field
during the sync. The sync can be done globaly between subjects so that one
master is the same for all selected subjects. Or it can be done individually
so that all subjects get their own master that resides within that subject.
‘Sync Fields’:
Determines which fields are to be synchronized. If ‘Master
field’ is empty the master field is found within these fields.
‘Master Field’:
Determines the field to which the synhcronization should be
done. This field will still have a time vector that starts at zero after the
synchronization. This may not be valid for all subjects if the sync is global.
If the master field can’t be found for a particular subjects an error message
will be shown.
‘Master Subj’:
During global sync this determines in which subject the master
given in ‘Master Field’ is. The input is a number and the subjects are ordered
top to bottom, 1 to N.
If the wanted master field can’t be found in this subject an error message is
shown.
‘Sync all fields’:
Determines if all fields with the subfields time and starttime in the selected
subjects should partcipate in the synch. This option has priority over the
alternatives in ‘Sync Fields’.
‘Sync Subjects’:
Determines if the sync is to be global between all subjects. That is if the
master synchronization starttime should be the same for all subjects or if it
should be individual. This option also affects how sync masters are found.
NOTE: Only fields with the subfields starttime and time are able to
participate in the sync.
NOTE: Program flow is a bit messy, don’t change anything unless you are sure
of what you are doing.
core_time_frequency:
core_timeline1:
core_timeline2). The figure responds to mouse clicks.
core_timeline2:
core_timeline1). The figure responds to mouse clicks.
core_ttest:
between groups on a specific datafield.
custom_AnotB_AOI_timeline:
custom_ease_biosync:
custom_ease_faces:
custom_ease_inhit:
custom_ease_upInv:
custom_projekt_interaktion:
by Matlab) and creates events by automatic tracking or mouse clicks
ShortKeys:
F1 = turn on autotracking (crosshair gets a rectangle showing the image to track
F2 = turn of tracking. Position crosshair by musing mouse
Left arrow key = step backward, go back in time
Right arrow key = step forward
numpad0 = toggle play
– = Delete all trackpoints after the current time
eyetracking_AOI_clear:
multiple tobii_AOI processes in the same subject.
eyetracking_AOI_define:
Short-Keys:
F1 = plot all selected subjects gaze
F3 = jump to previous event
F4 = jump to next event
eyetracking_AOI_results:
imported into SPSS, Statistica, Excel, etc. The plugin will create 3
“spreadsheets” for Latencies (seconds), Lookingtime (seconds), Lookingtime
(percent) and Mean pupil size (mm).
The format is as in the following example:
LATENCIES
Trial 1 Trial 2 Trial 3 …
Aoi1 Aoi2 Aoi3 Aoi1 Aoi2 Aoi3 Aoi1 Aoi2 Aoi3
Subj1 0.4 0.1 6.2 0.6 0.4 4.3 0.9 0.5 2.4
Subj2 0.3 0.3 4.2 0.7 0.4 4.2 1.1 0.4 2.3
Subj3 0.4 0.2 5.6 0.6 0.2 5.2 0.8 0.3 3.1
Subj4 0.6 0.3 5.3 0.5 0.3 4.8 1.0 0.4 2.8
…
Subj N
eyetracking_gaze_hotplot_group:
multiple subjects in same figure as a heatmap/hotplot
eyetracking_gaze_plot:
several events are selected then each event will have it’s own color. If
no events are selected then the whole gaze plot will be shown.
eyetracking_gaze_plot_group:
multiple subjects in same figure.
eyetracking_gaze_replay:
stimuli. The stimuli files should be placed in a study resource folder…
See the main TimeStudio window, and the menu option:
Tools -> Study properties -> Resources
eyetracking_move_gaze:
useful if the calibration was poor and the gaze data was misplaced.
eyetracking_plot_pupil_events:
eyetracking_pupil_plot:
specific time intervals to calculate the mean amplitude and peak values.
eyetracking_pupil_plot2:
time intervals.
eyetracking_pupil_plot_events:
display multiple groups either from different events (within-group) or
from different subject groups (between-group). The individual max and min peaks can
be detected for the raw pupil size, the pupil velocity or the pupil acceleration.
eyetracking_pupil_results:
import into Excel, SPSS or other statistical software.
eyetracking_read_file:
ClearView. The textfile should contain combined data with both eye
tracking data and events. The output will be saved in the datafield
“eyetracking” as shown below.
TS.ALLSUBJ(1).eyetracking.leftX
TS.ALLSUBJ(1).eyetracking.leftY
TS.ALLSUBJ(1).eyetracking.leftPupil
TS.ALLSUBJ(1).eyetracking.leftValidity
TS.ALLSUBJ(1).eyetracking.rightX
TS.ALLSUBJ(1).eyetracking.rightY
TS.ALLSUBJ(1).eyetracking.rightPupil
TS.ALLSUBJ(1).eyetracking.rightValidity
TS.ALLSUBJ(1).eyetracking.x
TS.ALLSUBJ(1).eyetracking.y
TS.ALLSUBJ(1).eyetracking.pupil
TS.ALLSUBJ(1).eyetracking.time
TS.ALLSUBJ(1).eyetracking.samplerate
TS.ALLSUBJ(1).eyetracking.events
eyetracking_set_resolution:
fields are affected. The other datafields keep their original values.
eyetracking_set_samplerate:
datafields. The other datafields will keep the original values.
misc_events_from_list:
This plugin will replace events in a sequential manner according to a
user defined list. This list could be written or pasted in the larger
textfield and should contain a header line with the event datafields to
change or add. Example:
Event superfield: tobii
name offset userdefined1 userdefined2 userdefined3
cond1 0 0.23 1.4 congruent
cond1 1 0.56 3.5 congruent
cond2 0 0.23 0.6 incongruent
….
The resulting events will (at least) have these datafields:
TS.ALLSUBJ.tobii.events.name (predefined)
TS.ALLSUBJ.tobii.events.time (predefined)
TS.ALLSUBJ.tobii.events.timeend (predefined)
TS.ALLSUBJ.tobii.events.oldname (predefined)
TS.ALLSUBJ.tobii.events.offset (predefined)
TS.ALLSUBJ.tobii.events.userdefined1
TS.ALLSUBJ.tobii.events.userdefined2
TS.ALLSUBJ.tobii.events.userdefined3
misc_events_remove:
nirs_delete_outliers:
nirs_filter:
and/or highpass filter.
nirs_get_channel_locations:
nirs_plot:
nirs_plot_conditions:
nirs_plot_events:
nirs_read_file:
nirs_remove_average:
This is used to compensate for head movements and general bloodflow.
nirs_sync:
nirs_trials:
skinconductance_plot:
time along with event data.
Uses checkboxes for ease of use.
NOTE: Only works on skinconductor data with the structure of qsensor data.
NOTE: Can not plot for multiple subjects in the same plot.
skinconductance_plot_gsr:
available)
skinconductance_plot_multiple:
subjects in the same plot.
skinconductance_plot_offset:
regarding the event times.
skinconductance_plot_temp:
available)
skinconductance_plot_velocity:
available)
skinconductance_plot_xyz:
available)
skinconductance_read_qsensor_file:
the selected subjects qsensor data-field.
Both kinds of file format gives the same structure on the output data in the
timestudio workspace. That is (fields in actual order):
qsensor.z_acc – Acceleration in direction Z
qsensor.y_acc – Acceleration in direction Y
qsensor.x_acc – Acceleration in direction X
qsensor.battery – Battery Voltage
qsensor.temp – Sensor Temperature in °Celsius
qsensor.EDA – Skin conductance
qsensor.events – Events, stored as array of structs
qsensor.time – Time, spacing depends on sample rate
qsensor.starttime – In format ‘yyyy-mm-dd hh:mm:ss’
qsensor.sample_rate – Sample rate used
NOTE: Very slow, up to two minutes to read one eda-file of size ~5MB, when
using the pure MATLAB implementation of the data processing.
Use the mex-implementation if possible. Check before using the plugin that you
have a compatible version of the mex-file ‘process_eda_mex.MEX’ in the folder:
../timestudio/plugins/plugin_qsensor/subfunctions/
If not you can try to compile you own compatible version using a MATLAB-linked
c-compiler and the mex command. For more help one this please type ‘help mex’
in the MATLAB terminal for information on how to set up and use a c-compiler
within MATLAB.
The c-code is located in the same folder as mentioned and is called:
process_eda_mex.c
If the mex-processing is unstable or doesnt’t work the ‘Pure-MATLAB’ checkbox
can be used to force all processing to take place inside MATLAB.
NOTE: The parameters used when removing outliers are found arbitrarily and may
not be suitable for all datasets. Please uncheck the remove-outliers-checkbox
and use the more advanced interpolation plugin core_interpolation instead.
template_basic_example:
in Timestudio. Like how to set up a basic graphical user interface and load
data from and write to timestudio.
NOTE:
template_empty_example:
letters) and a detailed help section after that.
template_graphic_example:
in Timestudio like how to set up a basic graphical user interface and load
data from and write to timestudio.
This plugin uses no writes to the Matlab command window but instead displays
different messages as user feedback.
NOTE:
template_rich_example:
in Timestudio like how to set up a basic graphical user interface and load
data from and write to timestudio.
NOTE: Are there anything special you maybe should take into consideration when
using this plugin?
tobii_AOI_clear:
This function will clear the tobii.aoi datastructure so that you can use
multiple tobii_AOI processes in the same subject.
tobii_AOI_define:
This plugin will define dynamic AOIs connected to events.
tobii_AOI_results:
This plugin will format the AOI data into rows and columns that can be
imported into SPSS, Statistica, Excel, etc. The plugin will create 3
“spreadsheets” for Latencies (seconds), Lookingtime (seconds), Lookingtime
(percent) and Mean pupil size (mm).
The format is as in the following example:
LATENCIES
Trial 1 Trial 2 Trial 3 …
Aoi1 Aoi2 Aoi3 Aoi1 Aoi2 Aoi3 Aoi1 Aoi2 Aoi3
Subj1 0.4 0.1 6.2 0.6 0.4 4.3 0.9 0.5 2.4
Subj2 0.3 0.3 4.2 0.7 0.4 4.2 1.1 0.4 2.3
Subj3 0.4 0.2 5.6 0.6 0.2 5.2 0.8 0.3 3.1
Subj4 0.6 0.3 5.3 0.5 0.3 4.8 1.0 0.4 2.8
…
Subj N
tobii_read_file:
This plugin will read an exported textfile from Tobii Studio or
ClearView. The textfile should contain combined data with both eye
tracking data and events. The output will be saved in the datafield
“tobii” as shown below.
TS.ALLSUBJ(1).tobii.leftX
TS.ALLSUBJ(1).tobii.leftY
TS.ALLSUBJ(1).tobii.leftPupil
TS.ALLSUBJ(1).tobii.leftValidity
TS.ALLSUBJ(1).tobii.rightX
TS.ALLSUBJ(1).tobii.rightY
TS.ALLSUBJ(1).tobii.rightPupil
TS.ALLSUBJ(1).tobii.rightValidity
TS.ALLSUBJ(1).tobii.x
TS.ALLSUBJ(1).tobii.y
TS.ALLSUBJ(1).tobii.pupil
TS.ALLSUBJ(1).tobii.time
TS.ALLSUBJ(1).tobii.samplerate
TS.ALLSUBJ(1).tobii.events
tobii_set_resolution:
video_tag:
This plugin reads one or several video files (formats that are supported
by Matlab) and creates events according to keyboard presses.