File MIES_AnalysisFunctionHelpers.ipf¶
AFH Helper functions for analysis function writers
Additionally the following functions might be useful
Function |
Return value |
---|---|
Free wave with all active AD channels as entries |
|
Free wave with all active DA channels as entries |
|
Wave reference to the labnotebook (numerical version) |
|
Wave reference to the labnotebook (textual version) |
|
Last documented value for headstages of a specific setting in the labnotebook for a given sweep number. |
|
Last documented numerical value for headstages of a specific setting in the labnotebook and the sweep number it was set last. |
|
Last documented textual value for headstages of a specific setting in the labnotebook and the sweep number it was set last. |
|
Add a user entry to the numerical/textual labnotebook |
Functions
-
variable AFH_GetHeadstageFromADC(string device, variable AD)¶
Return the headstage the AD channel is assigned to.
- Parameters:
device – device
AD – AD channel in the range [0,8[ or [0,16[ depending on the hardware
- Returns:
headstage or NaN (for non-associated channels)
-
variable AFH_GetHeadstageFromDAC(string device, variable DA)¶
Return the headstage the DA channel is assigned to.
- Parameters:
device – device
DA – DA channel in the range [0,4[ or [0,8[ depending on the hardware
- Returns:
headstage or NaN (for non-associated channels)
-
variable AFH_GetADCFromHeadstage(string device, variable headstage)¶
Return the AD channel assigned to the headstage.
- Parameters:
device – device
headstage – headstage in the range [0,8[
- Returns:
AD channel or NaN (for non-associated channels)
-
variable AFH_GetDACFromHeadstage(string device, variable headstage)¶
Return the DA channel assigned to the headstage.
- Parameters:
device – device
headstage – headstage in the range [0,8[
- Returns:
DA channel or NaN (for non-associated channels)
-
variable AFH_GetDAQDataColumn(wave DAQConfigWave, variable channelNumber, variable channelType)¶
Return the column index into
DAQDataWave
for the given channel/type combination.- Parameters:
DAQConfigWave – DAQ configuration wave, most users need to call
GetDAQConfigWave(device)
to get that wave.channelNumber – hardware channel number
channelType – channel type, one of XopChannelConstants
-
wave AFH_GetChannelUnits(wave DAQConfigWave)¶
Return all channel units as free text wave.
- Parameters:
DAQConfigWave – DAQ configuration wave, most users need to call
GetDAQConfigWave(device)
to get that wave.
-
string AFH_GetChannelUnit(wave DAQConfigWave, variable channelNumber, variable channelType)¶
Return the channel unit.
- Parameters:
DAQConfigWave – DAQ configuration wave, most users need to call
GetDAQConfigWave(device)
to get that wave.channelNumber – hardware channel number
channelType – channel type, one of XopChannelConstants
-
variable AFH_GetLastSweepAcquired(string device)¶
Return the sweep number of the last acquired sweep.
- Returns:
a non-negative integer sweep number or NaN if there is no data
-
wave AFH_GetLastSweepWaveAcquired(string device)¶
Return the sweep wave of the last acquired sweep.
- Returns:
an existing sweep wave or an invalid wave reference if there is no data
-
string AFH_GetStimSetName(string device, variable chanNo, variable channelType)¶
Return the stimset for the given channel.
- Parameters:
device – device
chanNo – channel number (0-based)
channelType – one of the type constants from ChannelTypeAndControlConstants
- Returns:
an existing stimulus set name for a DA channel
-
static wave AFH_GetSweepsFromSameRACycleNC(wave numericalValues, variable sweepNo)¶
Return a free wave with all sweep numbers (in ascending order) which belong to the same RA cycle. Uncached version, general users should prefer AFH_GetSweepsFromSameRACycle().
Return an invalid wave reference if not all required labnotebook entries are available
-
wave AFH_GetSweepsFromSameRACycle(wave numericalValues, variable sweepNo)¶
Return a free wave with all sweep numbers (in ascending order) which belong to the same RA cycle.
Return an invalid wave reference if not all required labnotebook entries are available
-
wave AFH_GetSweepsFromSameSCI(wave numericalValues, variable sweepNo, variable headstage)¶
Return a free wave with all sweep numbers (in ascending order) which belong to the same stimset cycle.
Return an invalid wave reference if not all required labnotebook entries are available
-
static wave AFH_GetSweepsFromSameSCINC(wave numericalValues, variable sweepNo, variable headstage)¶
Return a free wave with all sweep numbers (in ascending order) which belong to the same stimset cycle id. Uncached version, general users should prefer AFH_GetSweepsFromSameSCI().
Return an invalid wave reference if not all required labnotebook entries are available
-
wave AFH_ExtractOneDimDataFromSweep(string device, wave sweep, variable headstageOrChannelNum, variable channelType, wave config = defaultValue)¶
Return a free 1D wave from the given sweep.
Extract the AD channel data from headstage 1:
variable sweepNo = 5 WAVE sweep = GetSweepWave(device, sweepNo) variable headstage = 1 WAVE data = AFH_ExtractOneDimDataFromSweep(device, sweep, headstage, XOP_CHANNEL_TYPE_ADC)
Extract the TTL channel 1:
variable sweepNo = 6 WAVE sweep = GetSweepWave(device, sweepNo) variable ttlChannel = 1 WAVE data = AFH_ExtractOneDimDataFromSweep(device, sweep, ttlChannel, XOP_CHANNEL_TYPE_TTL)
- Parameters:
device – device
sweep – sweep wave
headstageOrChannelNum – headstage [0, NUM_HEADSTAGES[ or channel number for TTL channels [0, NUM_DA_TTL_CHANNELS]
channelType – One of XopChannelConstants
config – [optional, defaults to config wave of the sweep returned by GetConfigWave()] config wave
-
string AFH_GetAnalysisFunctions(variable versionBitMask, variable includeUserFunctions = defaultValue)¶
Get list of possible analysis functions.
- Parameters:
versionBitMask – bitmask of different analysis function versions which should be returned, one of AnalysisFunctionVersions
includeUserFunctions – include analysis functions defined in “UserAnalysisFunctions.ipf”
-
string AFH_GetListOfAnalysisParams(string func, variable mode)¶
Return the list of required/optional analysis function parameters, possibly including the type, as specified by the function
$func_GetParams
- Parameters:
func – Analysis function
V3
which must be valid and existingmode – Bit mask values from GetListOfParamsModeFlags
-
string AFH_GetHelpForAnalysisParameter(string func, string name)¶
Get help string from optional
$func_GetHelp
- Parameters:
func – Analysis function
V3
name – Parameter name
-
string AFH_GetListOfAnalysisParamNames(string params)¶
Return a semicolon separated list of user parameters.
- Parameters:
params – serialized parameters, usually just AnalysisFunction_V3.params
-
string AFH_GetAnalysisParamType(string name, string params, variable typeCheck = defaultValue, string expectedType = defaultValue)¶
Return the type of the user parameter.
- Parameters:
name – parameter name
params – serialized parameters, usually just AnalysisFunction_V3.params
typeCheck – [optional, defaults to true] Check with an assertion that the readout type is one of ANALYSIS_FUNCTION_PARAMS_TYPES
expectedType – [optional, defaults to nothing] Expected type, one of ANALYSIS_FUNCTION_PARAMS_TYPES, aborts if the type does not match. Implies
typeCheck = true
.
- Returns:
one of AnalysisFunctionParameterTypes or an empty string
-
variable AFH_GetAnalysisParamNumerical(string name, string params, variable defValue = defaultValue)¶
Return a numerical user parameter.
- Parameters:
name – parameter name
params – serialized parameters, usually just AnalysisFunction_V3.params
defValue – [optional, defaults to
NaN
] return this value if the parameter could not be found
-
string AFH_GetAnalysisParamTextual(string name, string params, string defValue = defaultValue, variable percentDecoded = defaultValue)¶
Return a textual user parameter.
- Parameters:
name – parameter name
params – serialized parameters, usually just AnalysisFunction_V3.params
defValue – [optional, defaults to an empty string] return this value if the parameter could not be found
percentDecoded – [optional, defaults to true] if the return value should be percent decoded or not.
-
wave AFH_GetAnalysisParamWave(string name, string params, wave defValue = defaultValue)¶
Return a numerical wave user parameter.
- Parameters:
name – parameter name
params – serialized parameters, usually just AnalysisFunction_V3.params
defValue – [optional, defaults to an invalid wave ref] return this value if the parameter could not be found
- Returns:
wave reference to free numeric wave, or invalid wave ref in case the parameter could not be found.
-
wave AFH_GetAnalysisParamTextWave(string name, string params, WaveText defValue = defaultValue, variable percentDecoded = defaultValue)¶
Return a textual wave user parameter.
- Parameters:
name – parameter name
params – serialized parameters, usually just AnalysisFunction_V3.params
defValue – [optional, defaults to an invalid wave ref] return this value if the parameter could not be found
percentDecoded – [optional, defaults to true] if the return value should be percent decoded or not.
- Returns:
wave reference to free text wave, or invalid wave ref in case the parameter could not be found.
-
variable AFH_IsValidAnalysisParameter(string name)¶
Check if the given name is a valid user parameter name.
-
variable AFH_IsValidAnalysisParamType(string type)¶
Check if the given type is a valid user parameter type.
-
string AFH_GetAnalysisParameter(string name, string params, string expectedType = defaultValue)¶
Return an user parameter’s value as string.
- Parameters:
name – parameter name
params – serialized parameters, usually just AnalysisFunction_V3.params
expectedType – [optional, defaults to nothing] Expected type, one of ANALYSIS_FUNCTION_PARAMS_TYPES, aborts if the type does not match.
-
string AFH_RemoveAnalysisParameter(string name, string params)¶
Delete the given user parameter name.
- Parameters:
name – parameter name
params – serialized parameters, usually just AnalysisFunction_V3.params
- Returns:
serialized parameters with
name
removed
-
string AFH_CheckAnalysisParameter(string genericFunc, CheckParametersStruct *s)¶
Check the analysis parameters according to the optionally present check function.
- Parameters:
genericFunc – Name of an analysis V3 function
s – struct CheckParametersStruct with additional info
- Returns:
multiline error messages, an empty string on success
-
variable AFH_AddAnalysisParameter(string setName, string name, variable var = defaultValue, string str = defaultValue, wave wv = defaultValue)¶
Add an analysis function parameter to the given stimset.
This function adds the parameter to the
WPT
wave and checks that it is valid.Exactly one of
var
/str
/wv
must be given.- Parameters:
setName – stimset name
name – name of the parameter
var – [optional] numeric parameter
str – [optional] string parameter
wv – [optional] wave parameter can be numeric or text
-
variable AFH_GetHeadstageFromActiveADC(WaveOrNull statusADC, variable activeADCount)¶
Return the headstage from the given active AD count.
- Parameters:
statusADC – channel status as returned by GetLastSetting()
activeADCount – running number of active ADC’s, starting at zero
- Returns:
headstage in the range [0, NUM_HEADSTAGES], or NaN if nothing could be found