File MIES_Epochs.ipf

EP Handle code relating to epoch information


variable EP_ClearEpochs(string device)

Clear the list of epochs.

variable EP_CollectEpochInfo(string device, DataConfigurationResult *s)

Fill the epoch wave with epochs before DAQ/TP.

  • device – device

  • s – struct holding all input

static variable EP_AddEpochsFromTP(string device, variable channel, variable baselinefrac, variable testPulseLength, variable offset, variable amplitude)

Adds four epochs for a test pulse and three sub epochs for test pulse components.

  • device[in] title of device panel

  • channel[in] number of DA channel

  • baselinefrac[in] base line fraction of testpulse

  • testPulseLength[in] test pulse length in micro seconds

  • offset[in] start time of test pulse in micro seconds

  • amplitude[in] amplitude of the TP in the DA wave without gain

static variable EP_AddEpochsFromOodDAQRegions(string device, variable channel, string oodDAQRegions, variable stimsetBegin, variable stimsetEnd)

Adds epochs for oodDAQ regions.

  • device[in] title of device panel

  • channel[in] number of DA channel

  • oodDAQRegions[in] string containing list of oodDAQ regions as d-d;…

  • stimsetBegin[in] offset time in micro seconds where stim set begins

  • stimsetEnd[in] offset time in micro seconds where stim set ends

static variable EP_AddEpochsFromStimSetNote(string device, variable channel, wave stimset, variable stimsetBegin, variable setLength, variable sweep, variable scale)

Adds epochs for a stimset and sub epochs for stimset components currently adds also sub sub epochs for pulse train components.

  • device[in] title of device panel

  • channel[in] number of DA channel

  • stimset[in] stimset wave

  • stimsetBegin[in] offset time in micro seconds where stim set begins

  • setLength[in] length of stimset in micro seconds

  • sweep[in] number of sweep

  • scale[in] scale factor between the stimsets internal amplitude to the DA wave without gain

static variable EP_SortEpochs(string device)

Sorts all epochs per channel in EpochsWave.

Removes epochs marked for removal, those with NaN as StartTime and EndTime, as well.


  • Ascending starting time

  • Descending ending time

  • Ascending tree level


device[in] title of device panel

static variable EP_GetEpochCount(WaveText epochWave, variable channel)

Returns the number of epoch in the epochsWave for the given channel.

  • epochWave[in] wave with epoch info

  • channel[in] number of DA channel


number of epochs for channel

variable EP_AddUserEpoch(string device, variable channelType, variable channelNumber, variable epBegin, variable epEnd, string tags, string shortName = defaultValue)

Add user epochs.

Allows to add user epochs for not yet finished sweeps. The tree level is fixed to EPOCH_USER_LEVEL to not collide with stock entries.

  • device – device

  • channelType – channel type, currently only XOP_CHANNEL_TYPE_DAC is supported

  • channelNumber – channel number

  • epBegin – start time of the epoch in seconds

  • epEnd – end time of the epoch in seconds

  • tags – tags for the epoch

  • shortName – [optional, defaults to auto-generated] user defined short name for the epoch, will be prefixed with EPOCH_SHORTNAME_USER_PREFIX

static variable EP_AddEpoch(string device, variable channel, variable epBegin, variable epEnd, string epTags, string epShortName, variable level = defaultValue, variable lowerlimit = defaultValue, variable upperlimit = defaultValue)

Adds a epoch to the epochsWave.

  • device[in] title of device panel

  • channel[in] number of DA channel

  • epBegin[in] start time of the epoch in micro seconds

  • epEnd[in] end time of the epoch in micro seconds

  • epTags[in] tags of the epoch

  • epShortName[in] short name of the epoch, should be unique

  • level[in] level of epoch

  • lowerlimit[in] [optional, default = -Inf] epBegin is limited between lowerlimit and Inf, epEnd must be > this limit

  • upperlimit[in] [optional, default = Inf] epEnd is limited between -Inf and upperlimit, epBegin must be < this limit

variable EP_WriteEpochInfoIntoSweepSettings(string device, wave sweepWave, wave configWave)

Write the epoch info into the sweep settings wave.

  • device – device

  • sweepWave – sweep wave

  • configWave – config wave

string EP_EpochWaveToStr(wave epochsWave, variable channel)

Convert the epochs wave layer given by channel to a string suitable for storing the labnotebook.

  • epochsWave – wave with epoch information

  • channel – DA channel

wave EP_EpochStrToWave(string epochStr)

Converts a string containing epoch information in the format that is stored in the Labnotebook to a 2D epoch wave.

See also



epochStr[in] string with epoch information in the format as stored in the labnotebook


2D text wave with epoch information, use EPOCH_COL_ constants for column access

string EP_GetShortName(string name)

Returns the ShortName from a epoch name string, empty string if no ShortName is present.

static variable EP_AdaptEpochInfo(string device, wave configWave, variable acquiredTime, variable plannedTime)

Adapt epoch information.

  • Adjust epoch end time to the acquired time

  • Blanks out which are then too small or lie outside the acquired region

  • Add an unacquired epoch

  • device – device

  • configWave – DAQ config wave

  • acquiredTime – Last acquired time point [s]

  • plannedTime – Last time point in the sweep [s]

wave EP_GetEpochs(wave numericalValues, wave textualValues, variable sweepNo, variable channelType, variable channelNumber, string shortname, variable treelevel = defaultValue, WaveText epochsWave = defaultValue)

Get epochs from the LBN filtered by given parameters.

See also


  • numericalValues – Numerical values from the labnotebook

  • textualValues – Textual values from the labnotebook

  • sweepNo – Number of sweep

  • channelType – type of channel

  • channelNumber – number of channel

  • shortname – short name filter, can be a regular expression which is matched caseless. For older tag formats it can be a simple tag entry (or regexp).

  • treelevel – [optional: default = not set] tree level of epochs, if not set then treelevel is ignored

  • epochsWave – [optional: defaults to $””] when passed, gathers epoch information from this wave directly. This is required for callers who want to read epochs during MID_SWEEP_EVENT in analysis functions.


Text wave with epoch information, only rows fitting the input parameters are returned. Can also be a null wave.

wave EP_FetchEpochs(wave numericalValues, WaveTextOrNull textualValues, variable sweep, variable channelNumber, variable channelType)

Return free text wave with the epoch information of the given channel.

See GetEpochsWave() for the wave layout.

variable EP_AppendLBNEpochs(string device, variable sweepNo)

Append epoch information from the labnotebook to the newly cleared epoch wave.


static const string EPOCH_SHORTNAME_KEY = "ShortName"
static const string EPOCH_TYPE_KEY = "Type"
static const string EPOCH_SUBTYPE_KEY = "SubType"
static const string EPOCH_AMPLITUDE_KEY = "Amplitude"
static const string EPOCH_PULSE_KEY = "Pulse"
static const string EPOCHNAME_SEP = ";"
static const string STIMSETKEYNAME_SEP = "="
static const string SHORTNAMEKEY_SEP = "="
static const string EPOCH_SN_BL_ONSETDELAYUSER = "B0_OD"
static const string EPOCH_SN_BL_DDAQ = "B0_DD"
static const string EPOCH_SN_BL_TERMINATIONDELAY = "B0_TD"
static const string EPOCH_SN_BL_DDAQOPT = "B0_DO"
static const string EPOCH_SN_BL_DDAQTRAIL = "B0_TR"
static const string EPOCH_SN_TP = "TP"
static const string EPOCH_SN_TP_PULSE = "TP_P"
static const string EPOCH_SN_TP_BLFRONT = "TP_B0"
static const string EPOCH_SN_TP_BLBACK = "TP_B1"
static const string EPOCH_SN_OODAQ = "OD"
static const string EPOCH_SN_STIMSET = "ST"
static const string EPOCH_SN_STIMSETBLTRAIL = "B"
static const string EPOCH_SN_EPOCH = "E"
static const string EPOCH_SN_PULSETRAIN = "PT"
static const string EPOCH_SN_PULSETRAIN_FULLPULSE = "P"
static const string EPOCH_SN_PULSETRAIN_PULSEAMP = "P"
static const string EPOCH_SN_PULSETRAIN_PULSEBASE = "B"
static const string EPOCH_SN_UNACQUIRED = "UA"