File MIES_OverlaySweeps.ipf


variable OVS_IgnoreHeadstageInOverlay()

This user trace menu function allows the user to select a trace in overlay sweeps mode which should be ignored.

string OVS_GetSweepSelectionChoices(string win)

Return a list of choices for the sweep selection popup.

Includes a unique list of the DA stimsets of all available sweeps

static variable OVS_RemoveLowCountEntries(WaveText stimsets, WaveText setSweepCounts, WaveText dupsRemovedSetSweepCounts, WaveText dupsRemovedSetCycleCounts)

Remove all stimsets which were only acquired once, disregaring RAC/SCI, this means we just look at all sweeps.

dfref OVS_GetFolder(string win)

Return the datafolder reference to the folder storing the listbox and selection wave.

Requires the user data PANEL_FOLDER of the BrowserSettings panel


a valid DFREF or an invalid one in case the external panel could not be found

variable OVS_UpdatePanel(string win, variable fullUpdate = defaultValue)

Update the overlay sweep waves.

Must be called after the sweeps changed.

  • win – databrowser panel or graph

  • fullUpdate – [optional, defaults to false] Performs a full update instead of an incremental one. Selects the first sweep if nothing is selected as well.

variable OVS_UpdateSweepSelectionChoices(string win, WaveText sweepSelectionChoices)

Update the sweep selection choices for the popup menu.

This function is expensive as it iterates over all sweeps.

wave OVS_GetSelectedSweeps(string win, variable mode)

Return the selected sweeps (either indizes or the real sweep numbers)


invalid wave reference in case nothing is selected or numeric indizes/sweep numbers depending on mode parameter

variable OVS_ChangeSweepSelectionState(string win, variable newState, variable sweepNo = defaultValue, variable index = defaultValue, WaveOrNull sweeps = defaultValue, variable invertOthers = defaultValue)

Change the selection state of the the given sweep in the listbox wave.

Triggers a update for the affected sweep.

One of sweepNo/index is required.

  • win – panel

  • sweepNo – [optional] sweep number

  • sweeps – [optional] sweeps to change, can be $""

  • index – [optional] index into the listbox wave

  • newState – new checkbox state of the given sweeps

  • invertOthers – [optional, default to false] set the other sweeps to !newState if true

variable OVS_IsActive(string win)

checks if OVS is active.

static variable OVS_AddToIgnoreList(string win, variable headstage, variable sweepNo = defaultValue, variable index = defaultValue)

Add headstage to the ignore list of the given sweepNo/index

static variable OVS_UpdateHeadstageRemoval(string win, variable index)

Update the OVS headstage removal wave from the listbox entry.

wave OVS_GetHeadstageRemoval(string win, variable sweepNo = defaultValue, variable index = defaultValue)
static wave OVS_ParseIgnoreList(string ignoreList, variable sweepNo)

Parse the headstage removal list.

The expected format of the list entries is a semicolon (“;”) separated list of subranges (without the possibility of denoting the step size).


  • 0 (ignore HS 0)

  • 1,3;0 (ignore HS 0 to 3)

  • * (ignore all headstages)

  • ignoreList – list of entries to parse

  • sweepNo – sweep number


free wave of size NUM_HEADSTAGES denoting with 0/1 the active state of the headstage

variable OVS_CheckBoxProc_HS_Select(WMCheckboxAction *cba)
static variable OVS_HighlightSweep(string win, variable index)
std::tuple<variable, string> OVS_GetSweepAndExperiment(string win, variable index)

Return the sweep number and experiment name for the given list index.

static variable OVS_ChangeSweepSelection(string win, string choiceString)

Change the selected sweep according to one of the popup menu options.

static wave OVS_BeginIncrementalUpdate(string win, variable fullUpdate = defaultValue)

Incremental sweep plot updates for overlay sweeps.

When modifying the listbox selection and contents wave this function can be called before doing so. After the modifications OVS_EndIncrementalUpdate() will take care of updating all sweeps which got changed.

The returned wave should be considered an opaque handle and not modified.


WAVE updateHandle = OVS_BeginIncrementalUpdate(win)

// modify list waves
// ...

OVS_EndIncrementalUpdate(win, updateHandle)

By setting fullUpdate to true a conventional full, that means non-incremental, update will be performed.

  • win – graph

  • fullUpdate – [optional, defaults to true when OVS is off, false otherwise] allows to force a full update in OVS_EndIncrementalUpdate()

static variable OVS_EndIncrementalUpdate(string win, WaveRefWave updateHandle)

Perform the update of all changed sweeps.

Counterpart to OVS_BeginIncrementalUpdate().

variable OVS_MainListBoxProc(WMListboxAction *lba)
variable OVS_PopMenuProc_Select(WMPopupAction *pa)
variable OVS_SetVarProc_SelectionRange(WMSetVariableAction *sva)


static const string OVS_FULL_UPDATE_NOTE = "FullUpdate"