File MIES_ExperimentDocumentation.ipf

ED Writing numerical/textual information to the labnotebook

Functions

variable ED_AddEntriesToLabnotebook(wave vals, WaveText keys, variable sweepNo, string device, variable entrySourceType)

Add numerical/textual entries to the labnotebook.

See also

ED_createTextNotes, ED_createWaveNote

variable ED_AddEntriesToResults(wave vals, WaveText keys, variable entrySourceType)

Add numerical/textual entries to results.

static variable ED_CheckValuesAndKeys(wave vals, wave keys)
static variable ED_createTextNotes(WaveText incomingTextualValues, WaveText incomingTextualKeys, variable sweepNo, variable entrySourceType, variable logbookType, string device = defaultValue)

Add textual entries to the logbook.

The text documentation wave will use layers to report the different headstages.

The incoming value wave can have zero to nine (NUM_HEADSTAGES + 1) layers. The first eight layers are for headstage dependent data, the last layer for headstage independent data.

Parameters:
  • incomingTextualValues – incoming Text Documentation Wave sent by the each reporting subsystem

  • incomingTextualKeys – incoming Text Documentation key wave that is used to reference the incoming settings wave

  • sweepNo – sweep number

  • device – [optional for logbookType LBT_RESULTS only] device

  • entrySourceType – type of reporting subsystem, one of DataAcqModes

  • logbookType – type of the logbook, one of LogbookTypes

static variable ED_ParseHeadstageContigencyMode(string str)
static string ED_HeadstageContigencyModeToString(variable mode)
static variable ED_GetHeadstageContingency(wave values)

Return the headstage contigency mode for values.

static variable ED_createWaveNotes(wave incomingNumericalValues, WaveText incomingNumericalKeys, variable sweepNo, variable entrySourceType, variable logbookType, string device = defaultValue)

Add numerical entries to the labnotebook.

The history wave will use layers to report the different headstages.

The incoming value wave can have zero to nine LABNOTEBOOK_LAYER_COUNT layers. The first eight layers are for headstage dependent data, the last layer for headstage independent data.

Parameters:
  • incomingNumericalValues – settingsWave sent by the each reporting subsystem

  • incomingNumericalKeys – key wave that is used to reference the incoming settings wave

  • sweepNo – sweep number

  • device – [optional for logbooktype LBT_RESULTS only] device

  • entrySourceType – type of reporting subsystem, one of DataAcqModes

  • logbookType – one of LogbookTypes

variable ED_AddEntryToLabnotebook(string device, string key, wave values, string unit = defaultValue, variable tolerance = defaultValue, variable overrideSweepNo = defaultValue)

Add custom entries to the numerical/textual labnotebook for the very last sweep acquired.

The entries are prefixed with USER_ to distinguish them from stock MIES entries.

The index of the entry in values determines the headstage to which the setting applies. You can not set both headstage dependent and independent values at the same time as this does not make sense.

Sample invocation:

WAVE values = LBN_GetNumericWave()
values[0] = 4711 // setting of the first headstage
ED_AddEntryToLabnotebook(device, "SomeSetting", values)

The later on the labnotebook can be queried with:

WAVE/Z settings = GetLastSetting(values, NaN, LABNOTEBOOK_USER_PREFIX + key, UNKNOWN_MODE)

Parameters:
  • device – device

  • key – name under which to store the entry.

  • values – entry to add, wave can be numeric (floating point) or text, must have LABNOTEBOOK_LAYER_COUNT rows. It can be all NaN or empty (text), this is useful if you want to make the key known without adding an entry. Use LBN_GetNumericWave() or LBN_GetTextWave() to create them.

  • unit – [optional, defaults to “”] physical unit of the entry

  • tolerance – [optional, defaults to LABNOTEBOOK_NO_TOLERANCE] tolerance of the entry, used for judging if a change is “relevant” and should then be written to the sweep wave

  • overrideSweepNo – [optional, defaults to last acquired sweep] Adds metadata to the given sweep number. Mostly useful for adding labnotebook entries during MID_SWEEP_EVENT for analysis functions.

static variable ED_WriteChangedValuesToNote(string device, variable sweepNo)

Record changed labnotebook entries compared to the last sweep to the sweep wave note.

Honours tolerances defined in the keywave and LABNOTEBOOK_BINARY_UNIT values

static variable ED_WriteChangedValuesToNoteText(string device, variable sweepNo)

Record changed labnotebook entries compared to the last sweep to the sweep wave note.

Textual version.

Honours tolerances defined in the keywave and LABNOTEBOOK_BINARY_UNIT values

static std::tuple<WAVE, variable> ED_FindIndizesAndRedimension(WaveText incomingKey, wave incomingValues, WaveText key, wave values, variable logbookType)

Returns the column indizes of each parameter in incomingKey into the key wave.

Redimensions key and values waves. Prefills key with incomingKey data if necessary.

Ensures that key and values have a matching column size at return.

Parameters:
  • incomingKey – text wave with the keys to add

  • incomingValues – wave with the values to add

  • key – key wave of the labnotebook (Rows: 1/3/6, Columns: Same as values, Layers: 1)

  • values – values/data wave of the labnotebook

  • logbookType – type of the logbook, one of LogbookTypes

Return values:
  • colIndizes – column indizes of the entries from incomingKey

  • rowIndex – returns the row index into values at which the new values should be written

variable ED_MarkSweepStart(string device)

Remember the “exact” start of the sweep.

Should be called immediately after HW_StartAcq().

variable ED_createWaveNoteTags(string device, variable sweepCount)

Add sweep specific information to the labnotebook.

variable ED_WriteUserCommentToLabNB(string device, string comment, variable sweepNo)

Write the user comment from the DA_Ephys panel to the labnotebook.

static variable ED_createAsyncWaveNoteTags(string device, variable sweepCount)

This function is used to create wave notes for the informations found in the Asynchronous tab in the DA_Ephys panel.

variable ED_TPDocumentation(string device)

Stores test pulse related data in the labnotebook.

static variable ED_TPSettingsDocumentation(string device, variable sweepNo, variable entrySourceType)

Document the settings of the Testpulse.

The source type entry is not fixed. We want to document the testpulse settings during ITI and the testpulse settings for plain test pulses.

Parameters:
  • device – device

  • sweepNo – sweep number

  • entrySourceType – type of reporting subsystem, one of DataAcqModes