definetrial#
- syncopy.definetrial(obj, trialdefinition=None, pre=None, post=None, start=None, trigger=None, stop=None, clip_edges=False)[source]#
(Re-)define trials of a Syncopy data object
Data can be structured into trials based on timestamps of a start, trigger and end events:
start trigger stop |---- pre ----|--------|---------|--- post----|
Note: To define a trial encompassing the whole dataset simply invoke this routine with no arguments, i.e.,
definetrial(obj)
or equivalentlyobj.definetrial()
- Parameters:
obj (Syncopy data object (
BaseData
-like)) –trialdefinition (
EventData
object or Mx3 array) – [start, stop, trigger_offset] sample indices for M trialspre (float) – offset time (s) before start event
post (float) – offset time (s) after end event
start (int) – event code (id) to be used for start of trial
stop (int) – event code (id) to be used for end of trial
trigger – event code (id) to be used center (t=0) of trial
clip_edges (bool) – trim trials to actual data-boundaries.
- Return type:
Syncopy data object (
BaseData
-like))
Notes
definetrial()
supports the following argument combinations:>>> # define M trials based on [start, end, offset] indices >>> definetrial(obj, trialdefinition=[M x 3] array)
>>> # define trials based on event codes stored in <:class:`EventData` object> >>> definetrial(obj, trialdefinition=<EventData object>, pre=0, post=0, start=startCode, stop=stopCode, trigger=triggerCode)
>>> # apply same trial definition as defined in <:class:`EventData` object> >>> definetrial(<AnalogData object>, trialdefinition=<EventData object w/sampleinfo/t0/trialinfo>)
>>> # define whole recording as single trial >>> definetrial(obj, trialdefinition=None)