File MIES_Constants.ipf

Global constants.

Version constants

const double DAQ_CONFIG_WAVE_VERSION = 3
const double DA_EPHYS_PANEL_VERSION = 64

Used to upgrade the GuiStateWave as well as the DA Ephys panel.

const double DATA_SWEEP_BROWSER_PANEL_VERSION = 50
const double WAVEBUILDER_PANEL_VERSION = 14
const double ANALYSISBROWSER_PANEL_VERSION = 5
const double STIMSET_NOTE_VERSION = 11

Version of the stimset wave note.

const double SWEEP_EPOCH_VERSION = 9

Version of the epoch information for DA+TTL data.

const double LABNOTEBOOK_VERSION = 72

Version of the labnotebooks and results (numerical and textual) waves

Has to be increased on the following occasions:

  • New/Removed entries

  • Changed names of entries

  • Changed units or meaning of entries

  • New/Changed layers of entries

const double RESULTS_VERSION = 2

Analysis function versions

const double PSQ_PIPETTE_BATH_VERSION = 4
const double PSQ_ACC_RES_SMOKE_VERSION = 2
const double PSQ_CHIRP_VERSION = 13
const double PSQ_DA_SCALE_VERSION = 6
const double PSQ_RAMP_VERSION = 6
const double PSQ_RHEOBASE_VERSION = 5
const double PSQ_SQUARE_PULSE_VERSION = 4
const double PSQ_SEAL_EVALUATION_VERSION = 3
const double PSQ_TRUE_REST_VM_VERSION = 2
const double MSQ_FAST_RHEO_EST_VERSION = 1
const double MSQ_DA_SCALE_VERSION = 1
const double SC_SPIKE_CONTROL_VERSION = 2

Constans for the number of channels

const double NUM_DA_TTL_CHANNELS = 8
const double NUM_HEADSTAGES = 8
const double NUM_AD_CHANNELS = 16
const double NUM_ASYNC_CHANNELS = 8
const double NUM_ITC_TTL_BITS_PER_RACK = 4

Task names

const string TASKNAME_TP = "Testpulse"
const string TASKNAME_TPMD = "TestpulseMD"
const string TASKNAME_TIMER = "Timer"
const string TASKNAME_TIMERMD = "TimerMD"
const string TASKNAME_FIFOMON = "FIFOMonitor"
const string TASKNAME_FIFOMONMD = "FIFOMonitorMD"
const string TASKNAMES = "Testpulse;TestpulseMD;Timer;TimerMD;FIFOMonitor;FIFOMonitorMD;"

Various mies specific regular expressions

const string DATA_SWEEP_REGEXP = "(?i)^Sweep_[[:digit:]]+$"
const string DATA_CONFIG_REGEXP = "(?i)^Config_Sweep_[[:digit:]]+$"
const string TP_STORAGE_REGEXP = "(?i)^TPStorage(_[[:digit:]]+)?$"
const string STORED_TESTPULSES_REGEXP = "(?i)^StoredTestPulses_([[:digit:]]+)$"
const string DATA_SWEEP_REGEXP_BAK = "(?i)^Sweep_[[:digit:]]+_bak$"
const string DATA_CONFIG_REGEXP_BAK = "(?i)^Config_Sweep_[[:digit:]]+_bak$"

Pressure Control constants

Max and min pressure regulator pressure in psi

const double MAX_REGULATOR_PRESSURE = 9.9
const double MIN_REGULATOR_PRESSURE = -9.9

Channel constants shared with the ITC XOP.

Due to historic reasons these are now also used for other hardware types

const double XOP_CHANNEL_TYPE_ADC = 0
const double XOP_CHANNEL_TYPE_DAC = 1
const double XOP_CHANNEL_TYPE_TTL = 3
const double XOP_CHANNEL_TYPE_COUNT = 4

DAQ Channel Type constants used in DAQConfigWave

const double DAQ_CHANNEL_TYPE_UNKOWN = -1
const double DAQ_CHANNEL_TYPE_DAQ = 1
const double DAQ_CHANNEL_TYPE_TP = 2

When all DAQ Channels are set to TestPulse the output runs for TIME_TP_ONLY_ON_DAQ seconds

const double TIME_TP_ONLY_ON_DAQ = 1

Flags for GetActiveChannels

const double TTL_HARDWARE_CHANNEL = 0x0
const double TTL_DAEPHYS_CHANNEL = 0x1
const double TTL_GUITOHW_CHANNEL = 0x2
const double TTL_HWTOGUI_CHANNEL = 0x3

Wave dimension constants

Convenience definition to nicify expressions like DimSize(wv, ROWS) easier to read than DimSize(wv, 0).

const double DATADIMENSION = -1
const double ROWS = 0
const double COLS = 1
const double LAYERS = 2
const double CHUNKS = 3

append userData constants

Convenience definition. easier to read than ModifyGraph userData(trace)={name, 0, value}

const double USERDATA_MODIFYGRAPH_REPLACE = 0
const double USERDATA_MODIFYGRAPH_APPEND = 1

Constants used by Downsample

const double DECIMATION_BY_OMISSION = 1
const double DECIMATION_BY_SMOOTHING = 2
const double DECIMATION_BY_AVERAGING = 4

WMWinHookStruct eventCode field constants

const double EVENT_WINDOW_HOOK_ACTIVATE = 0
const double EVENT_WINDOW_HOOK_DEACTIVATE = 1
const double EVENT_WINDOW_HOOK_KILL = 2
const double EVENT_WINDOW_HOOK_MOUSEDOWN = 3
const double EVENT_WINDOW_HOOK_MOUSEMOVED = 4
const double EVENT_WINDOW_HOOK_MOUSEUP = 5
const double EVENT_WINDOW_HOOK_RESIZE = 6
const double EVENT_WINDOW_HOOK_CURSORMOVED = 7
const double EVENT_WINDOW_HOOK_MODIFIED = 8
const double EVENT_WINDOW_HOOK_ENABLEMENU = 9
const double EVENT_WINDOW_HOOK_MENU = 10
const double EVENT_WINDOW_HOOK_KEYBOARD = 11
const double EVENT_WINDOW_HOOK_MOVED = 12
const double EVENT_WINDOW_HOOK_RENAMED = 13
const double EVENT_WINDOW_HOOK_SUBWINDOWKILL = 14
const double EVENT_WINDOW_HOOK_HIDE = 15
const double EVENT_WINDOW_HOOK_SHOW = 16
const double EVENT_WINDOW_HOOK_KILLVOTE = 17
const double EVENT_WINDOW_HOOK_SHOWTOOLS = 18
const double EVENT_WINDOW_HOOK_HIDETOOLS = 19
const double EVENT_WINDOW_HOOK_SHOWINFO = 20
const double EVENT_WINDOW_HOOK_HIDEINFO = 21
const double EVENT_WINDOW_HOOK_MOUSEWHEEL = 22
const double EVENT_WINDOW_HOOK_SPINUPDATE = 23
const double EVENT_WINDOW_HOOK_TABLEENTRYACCEPTED = 24
const double EVENT_WINDOW_HOOK_TABLEENTRYCANCELLED = 25
const double EVENT_WINDOW_HOOK_EARLYKEYBOARD = 26

Trace Display Types

const double TRACE_DISPLAY_MODE_LINES = 0
const double TRACE_DISPLAY_MODE_STICKS = 1
const double TRACE_DISPLAY_MODE_DOTS = 2
const double TRACE_DISPLAY_MODE_MARKERS = 3
const double TRACE_DISPLAY_MODE_LINES_MARKERS = 4
const double TRACE_DISPLAY_MODE_BARS = 5
const double TRACE_DISPLAY_MODE_CITY = 6
const double TRACE_DISPLAY_MODE_FILL = 7
const double TRACE_DISPLAY_MODE_STICKS_MARKERS = 8
const double TRACE_DISPLAY_MODE_LAST_VALID = 8

CountObjects, CountObjectsDFR, GetIndexedObjName, GetIndexedObjNameDFR constants

const double COUNTOBJECTS_WAVES = 1
const double COUNTOBJECTS_VAR = 2
const double COUNTOBJECTS_STR = 3
const double COUNTOBJECTS_DATAFOLDER = 4

Control types from ControlInfo

const double CONTROL_TYPE_BUTTON = 1
const double CONTROL_TYPE_CHECKBOX = 2
const double CONTROL_TYPE_POPUPMENU = 3
const double CONTROL_TYPE_VALDISPLAY = 4
const double CONTROL_TYPE_SETVARIABLE = 5
const double CONTROL_TYPE_CHART = 6
const double CONTROL_TYPE_SLIDER = 7
const double CONTROL_TYPE_TAB = 8
const double CONTROL_TYPE_GROUPBOX = 9
const double CONTROL_TYPE_TITLEBOX = 10
const double CONTROL_TYPE_LISTBOX = 11
const double CONTROL_TYPE_CUSTOMCONTROL = 12

Modifier flags from the eventMod field of the WMWinHookStruct

const double WINDOW_HOOK_EMOD_MBUTTONDOWN = 1
const double WINDOW_HOOK_EMOD_SHIFTKEYDOWN = 2
const double WINDOW_HOOK_EMOD_ALTKEYDOWN = 4
const double WINDOW_HOOK_EMOD_CTRLKEYDOWN = 8
const double WINDOW_HOOK_EMOD_RIGHTCLICK = 16

Parameters for FindIndizes

const double PROP_NON_EMPTY = 0x01

Wave entry is not NaN or “”.

const double PROP_EMPTY = 0x02

Wave entry is NaN or “”.

const double PROP_MATCHES_VAR_BIT_MASK = 0x04

Wave entry matches the bitmask given in var.

const double PROP_NOT_MATCHES_VAR_BIT_MASK = 0x08

Wave entry does not match the bitmask given in var.

const double PROP_GREP = 0x10

Wave entry matches the regular expression given in str.

const double PROP_WILDCARD = 0x20

Wave entry matches the wildcard expression given in str.

Parameters for GetPanelControl and IDX_GetSetsInRange, GetSetFolder, GetSetParamFolder and GetChanneListFromITCConfig

const double CHANNEL_TYPE_DAC = 0x000
const double CHANNEL_TYPE_TTL = 0x001
const double CHANNEL_TYPE_ADC = 0x002
const double CHANNEL_CONTROL_WAVE = 0x004
const double CHANNEL_CONTROL_INDEX_END = 0x008
const double CHANNEL_CONTROL_UNIT = 0x010
const double CHANNEL_CONTROL_GAIN = 0x020
const double CHANNEL_CONTROL_SCALE = 0x030
const double CHANNEL_CONTROL_CHECK = 0x040
const double CHANNEL_TYPE_HEADSTAGE = 0x080
const double CHANNEL_TYPE_ASYNC = 0x100
const double CHANNEL_TYPE_ALARM = 0x110
const double CHANNEL_CONTROL_ALARM_MIN = 0x120
const double CHANNEL_CONTROL_ALARM_MAX = 0x130
const double CHANNEL_TYPE_UNKNOWN = 0x150
const double CHANNEL_CONTROL_TITLE = 0x160

Controls for multiple channels have negative channel indizes

const double CHANNEL_INDEX_ALL = -1
const double CHANNEL_INDEX_ALL_V_CLAMP = -2
const double CHANNEL_INDEX_ALL_I_CLAMP = -3
const double CHANNEL_INDEX_ALL_I_ZERO = -4

Constants for the bitmask entries stored in the selection wave

of a ListBox

const double LISTBOX_SELECTED = 0x01
const double LISTBOX_CELL_EDITABLE = 0x02
const double LISTBOX_CELL_DOUBLECLICK_EDIT = 0x04
const double LISTBOX_SHIFT_SELECTION = 0x08
const double LISTBOX_CHECKBOX_SELECTED = 0x10
const double LISTBOX_CHECKBOX = 0x20
const double LISTBOX_TREEVIEW_EXPANDED = 0x10

Convenience definition, equal to LISTBOX_CHECKBOX_SELECTED.

const double LISTBOX_TREEVIEW = 0x40

Constants for the note of the wave returned by GetTPStorage

const string AUTOBIAS_LAST_INVOCATION_KEY = "AutoBiasLastInvocation"
const string DIMENSION_SCALING_LAST_INVOC = "DimensionScalingLastInvocation"
const string PRESSURE_CTRL_LAST_INVOC = "PressureControlLastInvocation"
const string INDEX_ON_TP_START = "IndexOnTestPulseStart"
const string AUTOTP_LAST_INVOCATION_KEY = "AutoTPLastInvocation"

Modes for SaveExperimentSpecial

const double SAVE_AND_CLEAR = 0x01
const double SAVE_AND_SPLIT = 0x02

Constants for data acquisition modes

const double UNKNOWN_MODE = NaN
const double DATA_ACQUISITION_MODE = 0
const double TEST_PULSE_MODE = 1
const double SWEEP_FORMULA_RESULT = 2
const double SWEEP_FORMULA_PSX = 3

Constants for three Amplifier modes

const double V_CLAMP_MODE = 0
const double I_CLAMP_MODE = 1
const double I_EQUAL_ZERO_MODE = 2

Possible values for the function parameter of AI_SendToAmp

const double MCC_BEGIN_INVALID_FUNC = 10000
const double MCC_SETHOLDING_FUNC = 10001
const double MCC_GETHOLDING_FUNC = 10002
const double MCC_SETHOLDINGENABLE_FUNC = 10003
const double MCC_GETHOLDINGENABLE_FUNC = 10004
const double MCC_SETBRIDGEBALENABLE_FUNC = 10005
const double MCC_GETBRIDGEBALENABLE_FUNC = 10006
const double MCC_SETBRIDGEBALRESIST_FUNC = 10007
const double MCC_GETBRIDGEBALRESIST_FUNC = 10008
const double MCC_AUTOBRIDGEBALANCE_FUNC = 10009
const double MCC_SETNEUTRALIZATIONENABL_FUNC = 10010
const double MCC_GETNEUTRALIZATIONENABL_FUNC = 10011
const double MCC_SETNEUTRALIZATIONCAP_FUNC = 10012
const double MCC_GETNEUTRALIZATIONCAP_FUNC = 10013
const double MCC_SETWHOLECELLCOMPENABLE_FUNC = 10014
const double MCC_GETWHOLECELLCOMPENABLE_FUNC = 10015
const double MCC_SETWHOLECELLCOMPCAP_FUNC = 10016
const double MCC_GETWHOLECELLCOMPCAP_FUNC = 10017
const double MCC_SETWHOLECELLCOMPRESIST_FUNC = 10018
const double MCC_GETWHOLECELLCOMPRESIST_FUNC = 10019
const double MCC_AUTOWHOLECELLCOMP_FUNC = 10020
const double MCC_SETRSCOMPENABLE_FUNC = 10021
const double MCC_GETRSCOMPENABLE_FUNC = 10022
const double MCC_SETRSCOMPBANDWIDTH_FUNC = 10023
const double MCC_GETRSCOMPBANDWIDTH_FUNC = 10024
const double MCC_SETRSCOMPCORRECTION_FUNC = 10025
const double MCC_GETRSCOMPCORRECTION_FUNC = 10026
const double MCC_SETRSCOMPPREDICTION_FUNC = 10027
const double MCC_GETRSCOMPPREDICTION_FUNC = 10028
const double MCC_SETOSCKILLERENABLE_FUNC = 10029
const double MCC_GETOSCKILLERENABLE_FUNC = 10030
const double MCC_AUTOPIPETTEOFFSET_FUNC = 10031
const double MCC_SETPIPETTEOFFSET_FUNC = 10032
const double MCC_GETPIPETTEOFFSET_FUNC = 10033
const double MCC_SETFASTCOMPCAP_FUNC = 10034
const double MCC_GETFASTCOMPCAP_FUNC = 10035
const double MCC_SETSLOWCOMPCAP_FUNC = 10036
const double MCC_GETSLOWCOMPCAP_FUNC = 10037
const double MCC_SETFASTCOMPTAU_FUNC = 10038
const double MCC_GETFASTCOMPTAU_FUNC = 10039
const double MCC_SETSLOWCOMPTAU_FUNC = 10040
const double MCC_GETSLOWCOMPTAU_FUNC = 10041
const double MCC_SETSLOWCOMPTAUX20ENAB_FUNC = 10042
const double MCC_GETSLOWCOMPTAUX20ENAB_FUNC = 10043
const double MCC_AUTOFASTCOMP_FUNC = 10044
const double MCC_AUTOSLOWCOMP_FUNC = 10045
const double MCC_SETSLOWCURRENTINJENABL_FUNC = 10046
const double MCC_GETSLOWCURRENTINJENABL_FUNC = 10047
const double MCC_SETSLOWCURRENTINJLEVEL_FUNC = 10048
const double MCC_GETSLOWCURRENTINJLEVEL_FUNC = 10049
const double MCC_SETSLOWCURRENTINJSETLT_FUNC = 10050
const double MCC_GETSLOWCURRENTINJSETLT_FUNC = 10051
const double MCC_SETPRIMARYSIGNALGAIN_FUNC = 10052
const double MCC_GETPRIMARYSIGNALGAIN_FUNC = 10053
const double MCC_SETSECONDARYSIGNALGAIN_FUNC = 10054
const double MCC_GETSECONDARYSIGNALGAIN_FUNC = 10055
const double MCC_SETPRIMARYSIGNALHPF_FUNC = 10056
const double MCC_GETPRIMARYSIGNALHPF_FUNC = 10057
const double MCC_SETPRIMARYSIGNALLPF_FUNC = 10058
const double MCC_GETPRIMARYSIGNALLPF_FUNC = 10059
const double MCC_SETSECONDARYSIGNALLPF_FUNC = 10060
const double MCC_GETSECONDARYSIGNALLPF_FUNC = 10061
const double MCC_END_INVALID_FUNC = 10062

Constants for FunctionInfo and WaveType

const double IGOR_TYPE_COMPLEX = 0x001
const double IGOR_TYPE_32BIT_FLOAT = 0x002
const double IGOR_TYPE_64BIT_FLOAT = 0x004
const double IGOR_TYPE_8BIT_INT = 0x008
const double IGOR_TYPE_16BIT_INT = 0x010
const double IGOR_TYPE_32BIT_INT = 0x020
const double IGOR_TYPE_64BIT_INT = 0x080
const double IGOR_TYPE_UNSIGNED = 0x040

Can be combined, using bitwise or, with all integer types.

const double IGOR_TYPE_STRUCT_PARAMETER = 0x200
const double IGOR_TYPE_NULL_WAVE = 0x000
const double IGOR_TYPE_NUMERIC_WAVE = 0x001
const double IGOR_TYPE_TEXT_WAVE = 0x002
const double IGOR_TYPE_DFREF_WAVE = 0x003
const double IGOR_TYPE_WAVEREF_WAVE = 0x004
const double IGOR_TYPE_GLOBAL_WAVE = 0x001
const double IGOR_TYPE_FREE_WAVE = 0x002
const double IGOR_TYPE_FREEDF_WAVE = 0x002

TabControl values in Browser Settings Panel

const double MIES_BSP_OVS = 1
const double MIES_BSP_CS = 2
const double MIES_BSP_AR = 3
const double MIES_BSP_PA = 4
const double MIES_BSP_SF = 5
const double MIES_BSP_DS = 7

values for UserData in BrowserSettings and derived windows

const string MIES_BSP_BROWSER = "BROWSER"
const string MIES_BSP_BROWSER_MODE = "BROWSERMODE"
const string MIES_BSP_DEVICE = "DEVICE"
const string MIES_BSP_PANEL_FOLDER = "PANEL_FOLDER"
const string MIES_BSP_AR_SWEEPFOLDER = "AR_SWEEPFOLDER"
const string MIES_BSP_PA_MAINPANEL = "HOSTWINDOW"

Constants for the type flag of <tt>LoadData</tt>

const double LOAD_DATA_TYPE_WAVES = 1
const double LOAD_DATA_TYPE_NUMBERS = 2
const double LOAD_DATA_TYPE_STRING = 4

Constants for the time alignment mode of TimeAlignmentIfReq

const double TIME_ALIGNMENT_NONE = -1
const double TIME_ALIGNMENT_LEVEL_RISING = 0
const double TIME_ALIGNMENT_LEVEL_FALLING = 1
const double TIME_ALIGNMENT_MIN = 2
const double TIME_ALIGNMENT_MAX = 3

Test pulse modes

const double TEST_PULSE_NOT_RUNNING = 0x000
const double TEST_PULSE_BG_SINGLE_DEVICE = 0x001
const double TEST_PULSE_BG_MULTI_DEVICE = 0x002
const double TEST_PULSE_FG_SINGLE_DEVICE = 0x004
const double TEST_PULSE_DURING_RA_MOD = 0x100

Or’ed with the testpulse mode. Special casing for testpulse during DAQ/RA/ITI.

Data acquisition modes

const double DAQ_NOT_RUNNING = 0x000
const double DAQ_BG_SINGLE_DEVICE = 0x001
const double DAQ_BG_MULTI_DEVICE = 0x002
const double DAQ_FG_SINGLE_DEVICE = 0x004

Reserved Stim set name for TP while DAQ

const string STIMSET_TP_WHILE_DAQ = "TestPulse"

Constants for GetAxisOrientation

const double AXIS_ORIENTATION_HORIZ = 0x01
const double AXIS_ORIENTATION_BOTTOM = 0x05
const double AXIS_ORIENTATION_TOP = 0x09
const double AXIS_ORIENTATION_VERT = 0x02
const double AXIS_ORIENTATION_LEFT = 0x12
const double AXIS_ORIENTATION_RIGHT = 0x22

Constants for Set/GetAxesRanges modes, use binary pattern

const double AXIS_RANGE_DEFAULT = 0x00
const double AXIS_RANGE_USE_MINMAX = 0x01
const double AXIS_RANGE_INC_AUTOSCALED = 0x02

Constants for Axis name template

const string AXIS_SCOPE_AD = "AD"
const string AXIS_SCOPE_AD_REGEXP = "AD[0123456789]+"
const string AXIS_SCOPE_TP_TIME = "top"

Constants for DAP_ToggleAcquisitionButton

const double DATA_ACQ_BUTTON_TO_STOP = 0x01
const double DATA_ACQ_BUTTON_TO_DAQ = 0x02

Constants for DAP_ToggleTestpulseButton

const double TESTPULSE_BUTTON_TO_STOP = 0x01
const double TESTPULSE_BUTTON_TO_START = 0x02

Constants for functions using rack number parameters

const double RACK_ZERO = 0x00
const double RACK_ONE = 0x01

Return types of @ref GetInternalSetVariableType

const double SET_VARIABLE_BUILTIN_NUM = 0x01
const double SET_VARIABLE_BUILTIN_STR = 0x02
const double SET_VARIABLE_GLOBAL = 0x04

Acquisition states

Todo:

extend these with PRE_SET_EVENT and POST_SET_EVENT once this is reworked, see https://github.com/AllenInstitute/MIES/issues/658 and https://github.com/AllenInstitute/MIES/issues/39.

The state values are serialized to the labnotebooks, so they must never change.

const double AS_INACTIVE = 0
const double AS_EARLY_CHECK = 1
const double AS_PRE_DAQ = 2
const double AS_PRE_SWEEP = 3
const double AS_MID_SWEEP = 4
const double AS_POST_SWEEP = 5
const double AS_ITI = 6
const double AS_POST_DAQ = 7
const double AS_PRE_SWEEP_CONFIG = 8
const double AS_NUM_STATES = 9

Event types for analysis functions

const double PRE_DAQ_EVENT = 0
const double MID_SWEEP_EVENT = 1
const double POST_SWEEP_EVENT = 2
const double POST_SET_EVENT = 3
const double POST_DAQ_EVENT = 4
const double PRE_SWEEP_CONFIG_EVENT = 5
const double PRE_SET_EVENT = 7

Special return values for analysis functions. See also @ref

AnalysisFunctionReturnTypes.

const double ANALYSIS_FUNC_RET_REPURP_TIME = -100
const double ANALYSIS_FUNC_RET_EARLY_STOP = -101

Constants for differentiating between different analysis function versions

const double ANALYSIS_FUNCTION_VERSION_V1 = 0x0001
const double ANALYSIS_FUNCTION_VERSION_V2 = 0x0002
const double ANALYSIS_FUNCTION_VERSION_V3 = 0x0004
const double ANALYSIS_FUNCTION_VERSION_ALL = 0xFFFF

Unnamed Group

const double LEFT_KEY = 28

Window hook key constants

const double RIGHT_KEY = 29
const double UP_KEY = 30
const double DOWN_KEY = 31
const double SPACE_KEY = 32
const double C_KEY = 99
const double E_KEY = 101
const double F_KEY = 102
const double R_KEY = 114
const double Z_KEY = 122

Trigger modes

External trigger is used for yoking multiple ITC 1600 devices (not supported anymore)

const double HARDWARE_DAC_DEFAULT_TRIGGER = 0x0
const double HARDWARE_DAC_EXTERNAL_TRIGGER = 0x1

The channel numbers for the different ITC devices used for accesssing

the TTLs

const double HARDWARE_ITC_TTL_DEF_RACK_ZERO = 1
const double HARDWARE_ITC_TTL_1600_RACK_ZERO = 0
const double HARDWARE_ITC_TTL_1600_RACK_ONE = 3

Flags for all hardware interaction functions from MIES_DAC-Hardware.ipf

const double HARDWARE_ABORT_ON_ERROR = 0x01
const double HARDWARE_PREVENT_ERROR_MESSAGE = 0x04

Indizes into HARDWARE_DAC_TYPES

const double HARDWARE_ITC_DAC = 0
const double HARDWARE_NI_DAC = 1
const double HARDWARE_SUTTER_DAC = 2
const double HARDWARE_UNSUPPORTED_DAC = 1000

Name of NI_DAC FIFO

FIFO Name

const string HARDWARE_NI_ADC_FIFO = "NI_AnalogIn"

Minimum possible sampling intervals in milliseconds (1e-3s)

const double HARDWARE_NI_DAC_MIN_SAMPINT = 0.002

NI 6343 and other devices, so it is 4E-3 ms for 2 channels, 6E-3 ms for 3 a.s.o.

const double HARDWARE_ITC_MIN_SAMPINT = 0.005

ITC DACs.

const double HARDWARE_NI_6001_MIN_SAMPINT = 0.2

NI 6001 USB.

const double HARDWARE_SU_MIN_SAMPINT_DAC = 0.1
const double HARDWARE_SU_MIN_SAMPINT_ADC = 0.02

Sutter output -> 10 kHz.

Constants for the return value of AI_SelectMultiClamp()

const double AMPLIFIER_CONNECTION_SUCCESS = 0

success

const double AMPLIFIER_CONNECTION_INVAL_SER = 1

stored amplifier serials are invalid

const double AMPLIFIER_CONNECTION_MCC_FAILED = 2

calling MCC_SelectMultiClamp700B failed

Constants for the options parameter of DAP_ChangeHeadStageMode()

const double DO_MCC_MIES_SYNCING = 0x0

Default mode with all bells and whistles.

const double NO_SLIDER_MOVEMENT = 0x2

Does not move the headstage slider.

const double MCC_SKIP_UPDATES = 0x4

Skips all unnecessary updates. Intereseting for temporarily switching the clamp mode, e.g. for an auto MCC amplifier function. Using that option requires to switch the clamp mode back to its original value.

Constants for AnalysisBrowserMap (Text Wave)

const string ANALYSISBROWSER_FILE_TYPE_IGOR = "Igor"
const string ANALYSISBROWSER_FILE_TYPE_NWBv1 = "NWBv1"
const string ANALYSISBROWSER_FILE_TYPE_NWBV2 = "NWBv2"

Available pressure modes for P_SetPressureMode()

See P_PressureMethodToString() for getting a string representation.

const double PRESSURE_METHOD_ATM = -1
const double PRESSURE_METHOD_APPROACH = 0
const double PRESSURE_METHOD_SEAL = 1
const double PRESSURE_METHOD_BREAKIN = 2
const double PRESSURE_METHOD_CLEAR = 3
const double PRESSURE_METHOD_MANUAL = 4

Different pressure types of each headstage

const double PRESSURE_TYPE_ATM = -1
const double PRESSURE_TYPE_AUTO = 0
const double PRESSURE_TYPE_MANUAL = 1
const double PRESSURE_TYPE_USER = 2

Constants for different WaveBuilder epochs

Numbers are stored in the SegWvType waves, so they are part of our “API”.

const double EPOCH_TYPE_SQUARE_PULSE = 0
const double EPOCH_TYPE_RAMP = 1
const double EPOCH_TYPE_NOISE = 2
const double EPOCH_TYPE_SIN_COS = 3
const double EPOCH_TYPE_SAW_TOOTH = 4
const double EPOCH_TYPE_PULSE_TRAIN = 5
const double EPOCH_TYPE_PSC = 6
const double EPOCH_TYPE_CUSTOM = 7
const double EPOCH_TYPE_COMBINE = 8
const double EPOCH_TYPES_TOTAL_NUMBER = 9

Parameters for gnoise and enoise

const double NOISE_GEN_LINEAR_CONGRUENTIAL = 1

Don’t use for new code.

const double NOISE_GEN_MERSENNE_TWISTER = 2

Don’t use for new code.

const double NOISE_GEN_XOSHIRO = 3

Different types of noise epochs

const double NOISE_TYPE_WHITE = 0
const double NOISE_TYPE_PINK = 1
const double NOISE_TYPE_BROWN = 2

Unnamed Group

const string NOTE_KEY_PULSE_HAS_FAILED = "PulseHasFailed"

Only present for diagonal pulses

const string NOTE_KEY_PULSE_FOUND_SPIKES = "NumberOfFoundSpikes"
const string NOTE_KEY_PULSE_SPIKE_POSITIONS = "SpikePositions"

Parameters for GetAllDevicesWithContent()

const double CONTENT_TYPE_SWEEP = 0x01
const double CONTENT_TYPE_TPSTORAGE = 0x02
const double CONTENT_TYPE_COMMENT = 0x04
const double CONTENT_TYPE_ALL = 0xFF

Parameter type flags for WB_GetParameterWaveName

const double STIMSET_PARAM_WP = 0
const double STIMSET_PARAM_WPT = 1
const double STIMSET_PARAM_SEGWVTYPE = 2

Ranges for different integer wave types

const double SIGNED_INT_16BIT_MIN = -32768
const double SIGNED_INT_16BIT_MAX = 32767

Ranges for NIDAQ analog output in volts

const double NI_DAC_MIN = -10
const double NI_DAC_MAX = 10
const double NI_ADC_MIN = -10
const double NI_ADC_MAX = 10

Ranges for Sutter DAQ analog output in volts

const double SU_HS_IN_V_MIN = -1
const double SU_HS_IN_V_MAX = 1
const double SU_HS_IN_I_MIN = -20E-9
const double SU_HS_IN_I_MAX = 20E-9
const double SU_DAC_MIN = -10
const double SU_DAC_MAX = 10
const double SU_ADC_MIN = -10
const double SU_ADC_MAX = 10
const double SU_HS_OUT_MIN = -1
const double SU_HS_OUT_MAX = 1

Update flags for DAP_UpdateDAQControls()

const double REASON_STIMSET_CHANGE = 0x01
const double REASON_HEADSTAGE_CHANGE = 0x02
const double REASON_STIMSET_CHANGE_DUR_DAQ = 0x04

Mode parameters for OVS_GetSelectedSweeps()

const double OVS_SWEEP_SELECTION_INDEX = 0x0
const double OVS_SWEEP_SELECTION_SWEEPNO = 0x1
const double OVS_SWEEP_ALL_SWEEPNO = 0x2

Export type parameters for NWB_ExportWithDialog()

const double NWB_EXPORT_DATA = 0x1
const double NWB_EXPORT_STIMSETS = 0x2

PatchSeq various constants

const double PSQ_BL_EVAL_RANGE = 500
const double PSQ_DS_SPIKE_LEVEL = -20
const string PSQ_CR_BEM = "Symmetric;Depolarized;Hyperpolarized"

Different bounds evaluation modes

const double PSQ_CR_BEM_SYMMETRIC = 0x0
const double PSQ_CR_BEM_DEPOLARIZED = 0x1
const double PSQ_CR_BEM_HYPERPOLARIZED = 0x2

PatchSeq labnotebook constants

Use with CreateAnaFuncLBNKey() only.

The longest key must be tested in CheckLength().

const string PSQ_FMT_LBN_RB_DASCALE_EXC = "%s DAScale exceeded"
const string PSQ_FMT_LBN_STEPSIZE = "%s step size"
const string PSQ_FMT_LBN_STEPSIZE_FUTURE = "%s step size (fut.)"
const string PSQ_FMT_LBN_SPIKE_DETECT = "%s spike detected"
const string PSQ_FMT_LBN_SPIKE_POSITIONS = "%s spike positions"
const string PSQ_FMT_LBN_SPIKE_COUNT = "%s spike count"
const string PSQ_FMT_LBN_FINAL_SCALE = "%s final DAScale"
const string PSQ_FMT_LBN_INITIAL_SCALE = "%s initial DAScale"
const string PSQ_FMT_LBN_RMS_SHORT_PASS = "%s Chk%d S-RMS QC"
const string PSQ_FMT_LBN_RMS_SHORT_THRESHOLD = "%s S-RMS Threshold"
const string PSQ_FMT_LBN_RMS_LONG_PASS = "%s Chk%d L-RMS QC"
const string PSQ_FMT_LBN_RMS_LONG_THRESHOLD = "%s L-RMS Threshold"
const string PSQ_FMT_LBN_TARGETV = "%s Chk%d T-V BL"
const string PSQ_FMT_LBN_TARGETV_THRESHOLD = "%s T-V Threshold"
const string PSQ_FMT_LBN_TARGETV_PASS = "%s Chk%d T-V BL QC"
const string PSQ_FMT_LBN_LEAKCUR = "%s Chk%d Leak Current BL"
const string PSQ_FMT_LBN_LEAKCUR_PASS = "%s Chk%d Leak Current BL QC"
const string PSQ_FMT_LBN_CHUNK_PASS = "%s Chk%d BL QC"
const string PSQ_FMT_LBN_BL_QC_PASS = "%s BL QC"
const string PSQ_FMT_LBN_SWEEP_PASS = "%s Sweep QC"
const string PSQ_FMT_LBN_SET_PASS = "%s Set QC"
const string PSQ_FMT_LBN_SAMPLING_PASS = "%s Sampling interval QC"
const string PSQ_FMT_LBN_PULSE_DUR = "%s Pulse duration"
const string PSQ_FMT_LBN_SPIKE_DASCALE_ZERO = "%s spike with zero"
const string PSQ_FMT_LBN_RB_LIMITED_RES = "%s limited resolut."
const string PSQ_FMT_LBN_DA_fI_SLOPE = "%s f-I slope"
const string PSQ_FMT_LBN_DA_fI_SLOPE_REACHED_PASS = "%s f-I slope QC"
const string PSQ_FMT_LBN_DA_OPMODE = "%s operation mode"
const string PSQ_FMT_LBN_CR_RESISTANCE = "%s input resistance"
const string PSQ_FMT_LBN_CR_INSIDE_BOUNDS = "%s inside bounds"
const string PSQ_FMT_LBN_CR_BOUNDS_ACTION = "%s bounds action"
const string PSQ_FMT_LBN_CR_CYCLES = "%s cycle x values"
const string PSQ_FMT_LBN_CR_BOUNDS_STATE = "%s bounds state"
const string PSQ_FMT_LBN_CR_SPIKE_CHECK = "%s spike check"
const string PSQ_FMT_LBN_CR_INIT_UOD = "%s initial user onset delay"
const string PSQ_FMT_LBN_CR_INIT_LPF = "%s initial low pass filter"
const string PSQ_FMT_LBN_CR_STIMSET_QC = "%s stimset QC"
const string PSQ_FMT_LBN_SPIKE_PASS = "%s spike QC"
const string PSQ_FMT_LBN_PB_RESISTANCE = "%s pipette resistance"
const string PSQ_FMT_LBN_PB_RESISTANCE_PASS = "%s pipette resistance QC"
const string PSQ_FMT_LBN_SE_RESISTANCE_A = "%s seal resistance A"
const string PSQ_FMT_LBN_SE_RESISTANCE_B = "%s seal resistance B"
const string PSQ_FMT_LBN_SE_RESISTANCE_MAX = "%s seal resistance max"
const string PSQ_FMT_LBN_SE_RESISTANCE_PASS = "%s seal resistance QC"
const string PSQ_FMT_LBN_SE_TESTPULSE_GROUP = "%s test pulse group"
const string PSQ_FMT_LBN_AVERAGEV = "%s Chk%d Average"
const string PSQ_FMT_LBN_VM_FULL_AVG = "%s Full Average"
const string PSQ_FMT_LBN_VM_FULL_AVG_ADIFF = "%s Full Average absolute difference"
const string PSQ_FMT_LBN_VM_FULL_AVG_ADIFF_PASS = "%s Full Average absolute difference QC"
const string PSQ_FMT_LBN_VM_FULL_AVG_RDIFF = "%s Full Average relative difference"
const string PSQ_FMT_LBN_VM_FULL_AVG_RDIFF_PASS = "%s Full Average relative difference QC"
const string PSQ_FMT_LBN_VM_FULL_AVG_PASS = "%s Full Average QC"
const string PSQ_FMT_LBN_AR_ACCESS_RESISTANCE = "%s access resistance"
const string PSQ_FMT_LBN_AR_ACCESS_RESISTANCE_PASS = "%s access resistance QC"
const string PSQ_FMT_LBN_AR_STEADY_STATE_RESISTANCE = "%s steady state resistance"
const string PSQ_FMT_LBN_AR_RESISTANCE_RATIO = "%s access vs steady state ratio"
const string PSQ_FMT_LBN_AR_RESISTANCE_RATIO_PASS = "%s access vs steady state ratio QC"
const string PSQ_FMT_LBN_ASYNC_PASS = "%s async QC"

PatchSeq and MultiPatchSeq types of analysis functions

Constant values must not overlap between PSQ_XXX and MSQ_YYY.

const double INVALID_ANALYSIS_FUNCTION = 0xFFFF
const double TEST_ANALYSIS_FUNCTION = 0x10000
const double ADJUST_DA_SCALE = 0x1000

Legacy analysis functions

const double REACH_TARGET_VOLTAGE = 0x2000

Unnamed Group

const string LBN_DELTA_I = "Delta I"

Legacy analysis functions labnotebook entries

These are without analysis function prefixes.

const string LBN_DELTA_V = "Delta V"
const string LBN_RESISTANCE_FIT = "ResistanceFromFit"
const string LBN_RESISTANCE_FIT_ERR = "ResistanceFromFit_Err"
const string LBN_AUTOBIAS_TARGET_DIAG = "Autobias target voltage from dialog"

Unnamed Group

const double PSQ_DA_SCALE = 0x001

const double PSQ_SQUARE_PULSE = 0x002
const double PSQ_RHEOBASE = 0x004
const double PSQ_RAMP = 0x008
const double PSQ_CHIRP = 0x080
const double PSQ_PIPETTE_BATH = 0x100
const double PSQ_SEAL_EVALUATION = 0x200
const double PSQ_TRUE_REST_VM = 0x400
const double PSQ_ACC_RES_SMOKE = 0x800

Unnamed Group

const double MSQ_FAST_RHEO_EST = 0x010

const double MSQ_DA_SCALE = 0x020
const double SC_SPIKE_CONTROL = 0x040

PatchSeq SquarePulse

const double PSQ_SP_INIT_AMP_m50 = -50e-12
const double PSQ_SP_INIT_AMP_p100 = +100e-12
const double PSQ_SP_INIT_AMP_p10 = +10e-12
const double PSQ_SP_MAX_DASCALE_ZERO = 3
const double PSQ_SP_NUM_SWEEPS_PASS = 1

PatchSeq Rheobase

const double PSQ_RB_MAX_DASCALE_DIFF = 60e-12
const double PSQ_RB_DASCALE_SMALL_BORDER = 50e-12
const double PSQ_RB_DASCALE_STEP_LARGE = 10e-12
const double PSQ_RB_DASCALE_STEP_SMALL = 2e-12
const string PSQ_RB_FINALSCALE_FAKE_KEY = "PSQRheobaseFinalDAScaleFake"

PatchSeq DAScale

const double PSQ_DS_OFFSETSCALE_FAKE = 23
const string PSQ_DS_SUB = "Sub"
const string PSQ_DS_SUPRA = "Supra"

PatchSeq Ramp

const double PSQ_RA_DASCALE_DEFAULT = 1
const double PSQ_RA_NUM_SWEEPS_PASS = 3

PatchSeq Chirp

const double PSQ_CR_NUM_SWEEPS_PASS = 3
const double PSQ_CR_RESISTANCE_FAKE = 1
const double PSQ_CR_BASELINE_V_FAKE = 1
const double PSQ_CR_LIMIT_BAND_LOW = 1
const double PSQ_CR_LIMIT_BAND_HIGH = 100
const double PSQ_CR_USE_TRUE_RMP_DEF = 1
const double PSQ_CR_DEFAULT_LPF = 10e3

PatchSeq Pipette

const double PSQ_PB_NUM_SWEEPS_PASS = 1

PatchSeq SealCheck

const double PSQ_SE_NUM_SWEEPS_PASS = 1
const double PSQ_SE_REQUIRED_EPOCHS = 22

Testpulse Group Selector values, see also PSQ_SE_ParseTestpulseGroupSelection()

const double PSQ_SE_TGS_FIRST = 0x1
const double PSQ_SE_TGS_SECOND = 0x2
const double PSQ_SE_TGS_BOTH = 0x3

PatchSeq True Resting Membrane Potential

const double PSQ_VM_NUM_SWEEPS_PASS = 1
const double PSQ_VM_REQUIRED_EPOCHS = 3

Bounds action values, see also PSQ_CR_BoundsActionToString()

const double PSQ_CR_PASS = 0x1
const double PSQ_CR_DECREASE = 0x2
const double PSQ_CR_INCREASE = 0x4
const double PSQ_CR_RERUN = 0x8

PatchSeq AccessResistance

const double PSQ_AR_NUM_SWEEPS_PASS = 1

MultiPatchSeq various constants

const double MSQ_FRE_INIT_AMP_m50 = -50e-12
const double MSQ_FRE_INIT_AMP_p100 = +100e-12
const double MSQ_FRE_INIT_AMP_p10 = +10e-12
const double MSQ_DS_PULSE_DUR = 1000
const double MSQ_DS_OFFSETSCALE_FAKE = 23
const double MSQ_DS_SWEEP_FAKE = 42
const double MSQ_SPIKE_LEVEL = -10.0
const double MSQ_RMS_SHORT_THRESHOLD = 0.07
const double MSQ_RMS_LONG_THRESHOLD = 0.5
const double MSQ_TARGETV_THRESHOLD = 1

Spike Counts state constants

const double SC_SPIKE_COUNT_NUM_GOOD = 0x0
const double SC_SPIKE_COUNT_NUM_TOO_FEW = 0x1
const double SC_SPIKE_COUNT_NUM_TOO_MANY = 0x2
const double SC_SPIKE_COUNT_NUM_MIXED = 0x4
const string SC_SPIKE_COUNT_STATE_STR_GOOD = "Good"
const string SC_SPIKE_COUNT_STATE_STR_TOO_FEW = "Too few"
const string SC_SPIKE_COUNT_STATE_STR_TOO_MANY = "Too many"
const string SC_SPIKE_COUNT_STATE_STR_MIXED = "Mixed"

Unnamed Group

const string MSQ_FMT_LBN_DASCALE_EXC = "%s DAScale exceeded"

const string MSQ_FMT_LBN_STEPSIZE = "%s step size"
const string MSQ_FMT_LBN_SPIKE_DETECT = "%s spike detected"
const string MSQ_FMT_LBN_SPIKE_POSITIONS = "%s Spike positions"
const string MSQ_FMT_LBN_SPIKE_COUNTS = "%s Spike counts"
const string MSQ_FMT_LBN_FINAL_SCALE = "%s final DAScale"
const string MSQ_FMT_LBN_INITIAL_SCALE = "%s initial DAScale"
const string MSQ_FMT_LBN_RMS_SHORT_PASS = "%s Chk%d S-RMS QC"
const string MSQ_FMT_LBN_RMS_LONG_PASS = "%s Chk%d L-RMS QC"
const string MSQ_FMT_LBN_TARGETV_PASS = "%s Chk%d T-V BL QC"
const string MSQ_FMT_LBN_CHUNK_PASS = "%s Chk%d BL QC"
const string MSQ_FMT_LBN_SPONT_SPIKE_PASS = "%s Spontaneous Spiking QC"
const string MSQ_FMT_LBN_HEADSTAGE_PASS = "%s Headstage QC"
const string MSQ_FMT_LBN_SWEEP_PASS = "%s Sweep QC"
const string MSQ_FMT_LBN_SET_PASS = "%s Set QC"
const string MSQ_FMT_LBN_PULSE_DUR = "%s Pulse duration"
const string MSQ_FMT_LBN_ACTIVE_HS = "%s Active Headstage"
const string MSQ_FMT_LBN_FAILED_PULSE_LEVEL = "%s Failed Pulse Level"
const string MSQ_FMT_LBN_SPIKE_POSITION_PASS = "%s Spike positions QC"
const string MSQ_FMT_LBN_SPIKE_COUNTS_STATE = "%s Spike counts state"
const string MSQ_FMT_LBN_IDEAL_SPIKE_COUNTS = "%s Ideal spike counts"
const string MSQ_FMT_LBN_RERUN_TRIAL = "%s Rerun Trials"
const string MSQ_FMT_LBN_RERUN_TRIAL_EXC = "%s Rerun Trials exceeded"

Workaround flags for CreateAnaFuncLBNKey()

const double PSQ_LBN_WA_NONE = 0x0
const double PSQ_LBN_WA_SP_SE = 0x1

Constants for the wave cache

const double CA_OPTS_NO_DUPLICATE = 0x1

Don’t return a duplicate of the cached wave, but return the wave itself. Useful if you use the wave cache as an alternative storage.

Constants for the different delta operation modes in the Wavebuilder

const double DELTA_OPERATION_DEFAULT = 0
const double DELTA_OPERATION_FACTOR = 1
const double DELTA_OPERATION_LOG = 2
const double DELTA_OPERATION_SQUARED = 3
const double DELTA_OPERATION_POWER = 4
const double DELTA_OPERATION_ALTERNATE = 5
const double DELTA_OPERATION_EXPLICIT = 6

Stimset wave note entry types for WB_GetWaveNoteEntry()

const double VERSION_ENTRY = 0x1
const double SWEEP_ENTRY = 0x2
const double EPOCH_ENTRY = 0x4
const double STIMSET_ENTRY = 0x8

Mode flag for AFH_GetListOfAnalysisParams()

const double REQUIRED_PARAMS = 0x1
const double OPTIONAL_PARAMS = 0x2

GUI settings oscilloscopy Y scale update modes

const double GUI_SETTING_OSCI_SCALE_AUTO = 0
const double GUI_SETTING_OSCI_SCALE_FIXED = 1
const double GUI_SETTING_OSCI_SCALE_INTERVAL = 2

Match expression types for GetListOfObjects

const double MATCH_REGEXP = 0x1
const double MATCH_WILDCARD = 0x2

Options for SplitTTLWaveIntoComponents() and SplitSweepIntoComponents()

const double TTL_RESCALE_OFF = 0x0
const double TTL_RESCALE_ON = 0x1

Epoch key constants

const string EPOCH_OODDAQ_REGION_KEY = "oodDAQRegion"
const string EPOCH_BASELINE_REGION_KEY = "Baseline"

Time parameter for SWS_GetChannelGains()

const double GAIN_BEFORE_DAQ = 0x1
const double GAIN_AFTER_DAQ = 0x2

Find level edge types

const double FINDLEVEL_EDGE_INCREASING = 1
const double FINDLEVEL_EDGE_DECREASING = 2
const double FINDLEVEL_EDGE_BOTH = 0

Find level modes

const double FINDLEVEL_MODE_SINGLE = 1
const double FINDLEVEL_MODE_MULTI = 2

Return codes of the Igor exists function

const double EXISTS_NAME_NOT_USED = 0
const double EXISTS_AS_WAVE = 1
const double EXISTS_AS_VAR_OR_STR = 2
const double EXISTS_AS_FUNCTION = 3
const double EXISTS_AS_OPERATION = 4
const double EXISTS_AS_MACRO = 5
const double EXISTS_AS_USERFUNCTION = 6

Return codes of the Igor WinType function

const double WINTYPE_NOWINDOW = 0
const double WINTYPE_GRAPH = 1
const double WINTYPE_TABLE = 2
const double WINTYPE_LAYOUT = 3
const double WINTYPE_NOTEBOOK = 5
const double WINTYPE_PANEL = 7
const double WINTYPE_XOP = 13
const double WINTYPE_CAMERA = 15
const double WINTYPE_GIZMO = 17

Panel tag codes to identify panel types, set in creation macro as main window userdata($EXPCONFIG_UDATA_PANELTYPE)

const string EXPCONFIG_UDATA_PANELTYPE = "Config_PanelType"
const string PANELTAG_DAEPHYS = "DA_Ephys"
const string PANELTAG_DATABROWSER = "DataBrowser"
const string PANELTAG_WAVEBUILDER = "WaveBuilder"
const string PANELTAG_ANALYSISBROWSER = "AnalysisBrowser"
const string PANELTAG_IVSCCP = "IVSCControlPanel"

Bit mask constants for properties for window control saving/restore

const double EXPCONFIG_SAVE_VALUE = 1
const double EXPCONFIG_SAVE_POSITION = 2
const double EXPCONFIG_SAVE_USERDATA = 4
const double EXPCONFIG_SAVE_DISABLED = 8
const double EXPCONFIG_SAVE_CTRLTYPE = 16
const double EXPCONFIG_SAVE_POPUPMENU_AS_STRING_ONLY = 32
const double EXPCONFIG_SAVE_POPUPMENU_AS_INDEX_ONLY = 64
const double EXPCONFIG_MINIMIZE_ON_RESTORE = 128
const double EXPCONFIG_SAVE_BUTTONS_ONLY_PRESSED = 256
const double EXPCONFIG_SAVE_ONLY_RELEVANT = 512

Correlated control name/type/valuetype list for use with e.g. ControlInfo

const string EXPCONFIG_GUI_CTRLLIST = "Button;Chart;CheckBox;CustomControl;GroupBox;ListBox;PopupMenu;SetVariable;Slider;TabControl;TitleBox;ValDisplay;"
const string EXPCONFIG_GUI_CTRLTYPES = "1;6;2;12;9;11;3;5;7;8;10;4;"
const string EXPCONFIG_GUI_VVALUE = "1;1;1;1;0;1;1;1;1;1;0;1;"
const string EXPCONFIG_GUI_SVALUE = "0;1;0;0;1;1;1;1;1;1;0;1;"
const string EXPCONFIG_GUI_SDATAFOLDER = "0;0;0;0;0;1;0;1;1;0;1;0;"
const string EXPCONFIG_GUI_PREFERRED = "0;2;0;0;0;3;2;0;1;1;0;1;"

0 does not apply, 1 V_Value, 2 S_Value, 3 S_DataFolder for EXPCONFIG_SAVE_ONLY_RELEVANT

const string EXPCONFIG_GUI_SUSERDATA = "1;0;1;1;0;1;1;1;1;1;0;0;"

PopupMenu extension keys for userdata definition of procedures

const string PEXT_UDATA_ITEMGETTER = "Items"
const string PEXT_UDATA_POPUPPROC = "popupProc"

PopupMenu extension sub menu splitting methods

const double PEXT_SUBSPLIT_DEFAULT = 0
const double PEXT_SUBSPLIT_ALPHA = 1

PopupMenu extension sub menu name generation methods

const double PEXT_SUBNAMEGEN_DEFAULT = 0

Incremental update modes for PostPlotTransformations()

const double POST_PLOT_ADDED_SWEEPS = 0x1

The only change: Some sweeps were added.

const double POST_PLOT_REMOVED_SWEEPS = 0x2

The only change: Some sweeps were removed.

const double POST_PLOT_CONSTANT_SWEEPS = 0x4

The displayed data in the databrowser stayed constant but some settings changed.

const double POST_PLOT_FULL_UPDATE = 0x8

Forces a complete update from scratch, use that if nothing else fits.

Work Load Class names used in ASYNC frame work

const string WORKLOADCLASS_TP = "TestPulse"
const string WORKLOADCLASS_NWB = "nwb_writing"

Column numbers of epoch information

const double EPOCH_COL_STARTTIME = 0
const double EPOCH_COL_ENDTIME = 1
const double EPOCH_COL_TAGS = 2
const double EPOCH_COL_TREELEVEL = 3

Modes for what PA_GetSetWaves returns

const double PA_GETSETWAVES_ALL = 0x01
const double PA_GETSETWAVES_OLD = 0x02
const double PA_GETSETWAVES_NEW = 0x04

Indices into PA properties wave

const double PA_PROPERTIES_INDEX_SWEEP = 0
const double PA_PROPERTIES_INDEX_CHANNELNUMBER = 1
const double PA_PROPERTIES_INDEX_REGION = 2
const double PA_PROPERTIES_INDEX_HEADSTAGE = 3
const double PA_PROPERTIES_INDEX_PULSE = 4
const double PA_PROPERTIES_INDEX_PULSEHASFAILED = 5
const double PA_PROPERTIES_INDEX_LASTSWEEP = 6
const double PA_PROPERTIES_INDEX_CLAMPMODE = 7

Indices into PA propertiesWaves wave

const double PA_PROPERTIESWAVES_INDEX_PULSE = 0
const double PA_PROPERTIESWAVES_INDEX_PULSENOTE = 1

Header labels for draw groups within the json of a BufferedDrawInfo structure

Currently this method is only used in

const string BUFFEREDDRAWAPPEND = "AppendToGraph"
const string BUFFEREDDRAWLABEL = "Label"
const string BUFFEREDDRAWHIDDENTRACES = "HiddenTraces"
const string BUFFEREDDRAWDDAQAXES = "dDAQAxes"

National Instruments input configuration

const double HW_NI_CONFIG_RSE = 1
const double HW_NI_CONFIG_NRSE = 2
const double HW_NI_CONFIG_DIFFERENTIAL = 4
const double HW_NI_CONFIG_PSEUDO_DIFFERENTIAL = 8

Flags for stopping DAQ

const double DQ_STOP_REASON_DAQ_BUTTON = 0x0001
const double DQ_STOP_REASON_CONFIG_FAILED = 0x0002
const double DQ_STOP_REASON_FINISHED = 0x0004
const double DQ_STOP_REASON_UNCOMPILED = 0x0008
const double DQ_STOP_REASON_HW_ERROR = 0x0010
const double DQ_STOP_REASON_ESCAPE_KEY = 0x0020
const double DQ_STOP_REASON_TP_STARTED = 0x0040
const double DQ_STOP_REASON_STIMSET_SELECTION = 0x0080
const double DQ_STOP_REASON_UNLOCKED_DEVICE = 0x0100
const double DQ_STOP_REASON_OUT_OF_MEMORY = 0x0200
const double DQ_STOP_REASON_FIFO_TIMEOUT = 0x0400
const double DQ_STOP_REASON_STUCK_FIFO = 0x0800
const double DQ_STOP_REASON_INVALID = 0xFFFF

Mode flags for ID_AskUserForSettings()

const double ID_HEADSTAGE_SETTINGS = 0x1
const double ID_POPUPMENU_SETTINGS = 0x2

Popup menu list types

const double POPUPMENULIST_TYPE_BUILTIN = 0x1
const double POPUPMENULIST_TYPE_OTHER = 0x2

Possible log book types

const double LBT_LABNOTEBOOK = 0x1
const double LBT_TPSTORAGE = 0x2
const double LBT_RESULTS = 0x4

Possible labnotebook wave types

const double LBN_NUMERICAL_KEYS = 0x1
const double LBN_NUMERICAL_VALUES = 0x2
const double LBN_TEXTUAL_KEYS = 0x4
const double LBN_TEXTUAL_VALUES = 0x8

All available ZeroMQ message filters

const string IVS_PUB_FILTER = "ivscc"
const string PRESSURE_STATE_FILTER = "pressure:state"
const string PRESSURE_SEALED_FILTER = "pressure:sealed"
const string PRESSURE_BREAKIN_FILTER = "pressure:break in"
const string AUTO_TP_FILTER = "testpulse:autotune result"
const string AMPLIFIER_CLAMP_MODE_FILTER = "amplifier:clamp mode"
const string AMPLIFIER_AUTO_BRIDGE_BALANCE = "amplifier:auto bridge balance"
const string ANALYSIS_FUNCTION_PB = "analysis function:pipette in bath"
const string ANALYSIS_FUNCTION_SE = "analysis function:seal evaluation"
const string ANALYSIS_FUNCTION_VM = "analysis function:true resting membrane potential"
const string DAQ_TP_STATE_CHANGE_FILTER = "data acquisition:state change"
const string ANALYSIS_FUNCTION_AR = "analysis function:access resistance smoke"

Possible cell state values

const double TPSTORAGE_SEALED = 0x1

SweepFormula display modes

const double SF_DM_NORMAL = 1
const double SF_DM_SUBWINDOWS = 2

Parameters for GetTTLLabnotebookEntry()

const string LABNOTEBOOK_TTL_STIMSETS = "stim sets"
const string LABNOTEBOOK_TTL_SETSWEEPCOUNTS = "set sweep counts"
const string LABNOTEBOOK_TTL_SETCYCLECOUNTS = "set cycle counts"

Unnamed Group

const double PGC_MODE_ASSERT_ON_DISABLED = 0

Mode flags for PGC_SetAndActivateControl .

const double PGC_MODE_FORCE_ON_DISABLED = 1
const double PGC_MODE_SKIP_ON_DISABLED = 2

Unnamed Group

const double TP_BASELINE_FIT_RESULT_OK = 0

Possible result values for TP_AutoFitBaseline

const double TP_BASELINE_FIT_RESULT_ERROR = 1
const double TP_BASELINE_FIT_RESULT_TOO_NOISY = 32

Unnamed Group

const double TP_GETVALUES_DEFAULT = 0x0

Possible option values for TP_GetValuesFromTPStorage

const double TP_GETVALUES_LATEST_AUTOTPCYCLE = 0x1

Unnamed Group

const string TSDS_BUGCOUNT = "BugCount"

Possible names for TSDS_Read*/TSDS_Write

Unnamed Group

const double HCM_EMPTY = 0x00

Headstage contingency modes

const double HCM_DEPEND = 0x01
const double HCM_INDEP = 0x02

Decimation methods

const double DECIMATION_NONE = 0x0
const double DECIMATION_MINMAX = 0x1

Possible return values for PSQ_DetermineSweepQCResults()

const double PSQ_RESULTS_DONE = 0x1
const double PSQ_RESULTS_CONT = 0x2

Possible mode parameters for AdaptDependentControls

const double DEP_CTRLS_SAME = 0x1
const double DEP_CTRLS_INVERT = 0x2

Returned bits of DataFolderRefStatus

const double DFREF_VALID = 0x1
const double DFREF_FREE = 0x2

Called once names

const string CO_EMPTY_DAC_LIST = "emptyDACList"
const string CO_SF_TOO_MANY_TRACES = "SF_tooManyTraces"
const string CO_PSX_CLIPPED_STATS = "psx_clippedStats"
const string CO_ARCHIVE_ONCE = "ArchiveLogs"

Constants for SweepFormula Meta data in JSON format

const string SF_META_DATATYPE = "/DataType"
const string SF_META_SWEEPNO = "/SweepNumber"
const string SF_META_RANGE = "/Range"
const string SF_META_CHANNELTYPE = "/ChannelType"
const string SF_META_CHANNELNUMBER = "/ChannelNumber"
const string SF_META_ISAVERAGED = "/IsAveraged"
const string SF_META_AVERAGED_FIRST_SWEEP = "/AveragedFirstSweep"
const string SF_META_XVALUES = "/XValues"
const string SF_META_XTICKLABELS = "/XTickLabels"
const string SF_META_XTICKPOSITIONS = "/XTickPositions"
const string SF_META_XAXISLABEL = "/XAxisLabel"
const string SF_META_YAXISLABEL = "/YAxisLabel"
const string SF_META_OPSTACK = "/OperationStack"
const string SF_META_MOD_MARKER = "/Marker"
const string SF_META_SHOW_LEGEND = "/ShowLegend"
const string SF_META_CUSTOM_LEGEND = "/CustomLegend"
const string SF_META_ARGSETUPSTACK = "/ArgSetupStack"
const string SF_META_TRACECOLOR = "/TraceColor"
const string SF_META_LINESTYLE = "/LineStyle"
const string SF_META_TRACE_MODE = "/TraceMode"
const string SF_META_TRACETOFRONT = "/TraceToFront"
const string SF_META_USER_GROUP = "/User/"
const string SF_META_FIT_COEFF = "FitCoefficients"
const string SF_META_FIT_SIGMA = "FitSigma"
const string SF_META_FIT_PARAMETER = "FitParameter"
const string SF_DATATYPE_SWEEP = "SweepData"
const string SF_DATATYPE_FINDLEVEL = "FindLevel"
const string SF_DATATYPE_APFREQUENCY = "ApFrequency"
const string SF_DATATYPE_LABNOTEBOOK = "LabNotebook"
const string SF_DATATYPE_BUTTERWORTH = "Butterworth"
const string SF_DATATYPE_AREA = "Area"
const string SF_DATATYPE_INTEGRATE = "Integrate"
const string SF_DATATYPE_DERIVATIVE = "Derivative"
const string SF_DATATYPE_STDEV = "StDev"
const string SF_DATATYPE_VARIANCE = "Variance"
const string SF_DATATYPE_RMS = "RMS"
const string SF_DATATYPE_AVG = "Average"
const string SF_DATATYPE_MAX = "Max"
const string SF_DATATYPE_MIN = "Min"
const string SF_DATATYPE_RANGE = "Range"
const string SF_DATATYPE_EPOCHS = "Epochs"
const string SF_DATATYPE_TP = "TestPulse"
const string SF_DATATYPE_TPSS = "TestPulseMode_SteadyState"
const string SF_DATATYPE_TPINST = "TestPulseMode_Instantaneous"
const string SF_DATATYPE_TPBASE = "TestPulseMode_Baseline"
const string SF_DATATYPE_TPFIT = "TestPulseMode_Fit"
const string SF_DATATYPE_POWERSPECTRUM = "Powerspectrum"
const string SF_DATATYPE_PSX = "PSX"
const string SF_WREF_MARKER = "\"WREF@\":"
const string SF_VARIABLE_MARKER = "/SF_IsVariable"

Available source options for RA_SkipSweeps()

const double SWEEP_SKIP_USER = 0x1
const double SWEEP_SKIP_AUTO = 0x2

Public constants from MIES_Configuration

const string EXPCONFIG_UDATA_EXCLUDE_SAVE = "Config_DontSave"
const string EXPCONFIG_UDATA_EXCLUDE_RESTORE = "Config_DontRestore"

FFT Window Functions

const string FFT_WINF = "Bartlet;Bartlett;Blackman367;Blackman361;Blackman492;Blackman474;Cos1;Cos2;Cos3;Cos4;Hamming;Hanning;KaiserBessel20;KaiserBessel25;KaiserBessel30;Parzen;Poisson2;Poisson3;Poisson4;Riemann;SFT3F;SFT3M;FTNI;SFT4F;SFT5F;SFT4M;FTHP;HFT70;FTSRS;SFT5M;HFT90D;HFT95;HFT116D;HFT144D;HFT169D;HFT196D;HFT223D;HFT248D;"
const string FFT_WINF_DEFAULT = "Hanning"

Types for DB_GetBoundDataBrowser

const double BROWSER_MODE_USER = 0x01
const double BROWSER_MODE_AUTOMATION = 0x02
const double BROWSER_MODE_ALL = 0xFF

Available result types for SFH_CreateResultsWaveWithCode()

const double SFH_RESULT_TYPE_STORE = 0x01
const double SFH_RESULT_TYPE_PSX_EVENTS = 0x02
const double SFH_RESULT_TYPE_PSX_MISC = 0x04

Constants used in the wave note JSON support

const string WAVE_NOTE_EMPTY_JSON = "{}"
const string WAVE_NOTE_JSON_SEPARATOR = "\rJSON_BEGIN\r"

Different log modes for ModifyGraph/Axes

const double MODIFY_GRAPH_LOG_MODE_NORMAL = 0
const double MODIFY_GRAPH_LOG_MODE_LOG10 = 1
const double MODIFY_GRAPH_LOG_MODE_LOG2 = 2

Constants for EqualWaves mode

const double EQWAVES_DATA = 1
const double EQWAVES_DATATYPE = 2
const double EQWAVES_SCALING = 4
const double EQWAVES_DATAUNITS = 8
const double EQWAVES_DIMUNITS = 16
const double EQWAVES_DIMLABELS = 32
const double EQWAVES_WAVENOTE = 64
const double EQWAVES_LOCKSTATE = 128
const double EQWAVES_DATAFULLSCALE = 256
const double EQWAVES_DIMSIZE = 512
const double EQWAVES_ALL = -1

Igor reserved layer dim labels for ListBox GUI control

const string LISTBOX_LAYER_FOREGROUND = "foreColors"
const string LISTBOX_LAYER_BACKGROUND = "backColors"

MIES Settings paths

const string SETTINGS_AB_FOLDER = "/analysisbrowser/directory"
const string SETTINGS_AB_FOLDER_OLD_DEFAULT = "C:"

Constants for Hash/WaveHash

const double HASH_SHA2_256 = 1

Igor Pro week days

const double SUNDAY = 1
const double MONDAY = 2
const double TUESDAY = 3
const double WEDNESDAY = 4
const double THURSDAY = 5
const double FRIDAY = 6
const double SATURDAY = 7

DataBrowser visualisation constants

const string DB_AXIS_PART_EPOCHS = "_EP"

Available PSX states

const double PSX_ACCEPT = 0x01
const double PSX_REJECT = 0x02
const double PSX_UNDET = 0x04
const double PSX_LAST = 0x04
const double PSX_ALL = 0x07

Available PSX state types

const double PSX_STATE_EVENT = 0x1
const double PSX_STATE_FIT = 0x2
const double PSX_STATE_BOTH = 0x3

Custom error codes for PSX_FitEventDecay()

const double PSX_DECAY_FIT_ERROR = -10000

Horizontal offset modes in all event graph

Corresponds to zero-based indizes of popup_event_offset

const double PSX_HORIZ_OFFSET_ONSET = 0
const double PSX_HORIZ_OFFSET_PEAK = 1

Variables

const double EXPERIMENT_VERSION = 3

Especially interesting for PXP consumers like the analysis browser.

const double ANALYSIS_BROWSER_SUPP_VERSION = 3

All experiment versions up to the given value are supported.

const double PA_SETTINGS_STRUCT_VERSION = 6
const double NUM_MAX_CHANNELS = 16

Maximum values of NUM_CHANNELS_CONSTANTS.

const string ITC_DEVICE_REGEXP = "^ITC.*"
const string DEVICE_TYPES_ITC = "ITC16;ITC18;ITC1600;ITC00;ITC16USB;ITC18USB"
const string DEVICE_NUMBERS = "0;1;2;3;4;5;6;7;8;9;10"
const string DEVICE_NAME_NICE_SUTTER = "Sutter Instrument Integrated Patch Amplifier"
const string DEVICE_SUTTER_NAME_START_CLEAN = "IPA_E_"
const double SUTTER_AI_PER_AMP = 4
const double SUTTER_AO_PER_AMP = 2
const double SUTTER_DIO_PER_AMP = 8
const string BASE_WINDOW_NAME = "DA_Ephys"
const string DATABROWSER_WINDOW_NAME = "DataBrowser"
const string SWEEPBROWSER_WINDOW_NAME = "SweepBrowser"
const string EXT_PANEL_SETTINGSHISTORY = "SettingsHistoryPanel"
const string UNTITLED_EXPERIMENT = "Untitled"
const string PACKED_FILE_EXPERIMENT_SUFFIX = ".pxp"
const double FREE_MEMORY_LOWER_LIMIT = 0.75

Amount of free memory required to perform data aquisition in GB.

const string XOP_CHANNEL_NAMES = "AD;DA;;TTL"

The indizies correspond to the values from XopChannelConstants.

const double MINIMUM_WAVE_SIZE = 64
const double MINIMUM_WAVE_SIZE_LARGE = 2048
const double MAXIMUM_WAVE_SIZE = 16384
const double MAX_DIMENSION_COUNT = 4
const double DEFAULT_DECIMATION_FACTOR = -1
const string NONE = "- none -"

Common string to denote an invalid entry in a popupmenu.

const double CONTROL_PANEL_TYPE = 9

Used by CheckName and UniqueName.

const string CURSOR_NAMES = "A;B;C;D;E;F;G;H;I;J"
const double TICKS_TO_SECONDS = 0.0166666666666667
const string TRASH_FOLDER_PREFIX = "trash"
const string SIBLING_FILENAME_SUFFIX = "sibling"
const string NOTE_INDEX = "Index"
const double INITIAL_KEY_WAVE_COL_COUNT = 5
const string LABNOTEBOOK_KEYS_INITIAL = "SweepNum;TimeStamp;TimeStampSinceIgorEpochUTC;EntrySourceType;AcquisitionState"
const double NUMBER_OF_LBN_DAQ_MODES = 4
const double NUM_CLAMP_MODES = 3
const double LPF_BYPASS = 100e3

Magic value for selecting “Bypass” in the bessel filter for the primary output.

const double CHECKBOX_SELECTED = 1
const double CHECKBOX_UNSELECTED = 0
const string NUMERALS = "First;Second;Third;Fourth;Fifth;Sixth;Seventh;Eighth"
const string VERT_AXIS_BASE_NAME = "row"

Generic axis name for graphs using split axis.

const string HORIZ_AXIS_BASE_NAME = "col"
const double SAMPLING_INTERVAL_FALLBACK = 0.050

Fallback value for the sampling interval in milliseconds (1e-3) used by SI_CalculateMinSampInterval if the lookup table could not be found on disk.

const string WAVE_BACKUP_SUFFIX = "_bak"
const string STIM_WAVE_NAME_KEY = "Stim Wave Name"
const double WB_TOTAL_NUMBER_OF_EPOCHS = 94

Last valid row index for storing epoch types in GetSegmentTypeWave.

const double MINIMUM_ITCDATAWAVE_EXPONENT = 20

Minimum logarithm to base two for the DAQDataWave size for ITC hardware.

const double MINIMUM_TP_BASELINE_PERCENTAGE = 25

Minimum value for the baseline fraction of the Testpulse in percent.

const double DISABLE_CONTROL_BIT = 2
const double HIDDEN_CONTROL_BIT = 1
const double GENERIC_EVENT = 6

Only used for internal bookkeeping. Never

const double TOTAL_NUM_EVENTS = 8

send to analysis functions.

Number of EVENT_TYPE_ANALYSIS_FUNCTIONS

const double ANALYSIS_FUNCTION_PARAMS = 8

Column for GetAnalysisFunctionStorage(). Same value as TOTAL_NUM_EVENTS but more readable.

const string ANALYSIS_FUNCTION_PARAMS_LBN = "Function params (encoded)"
const string ANALYSIS_FUNCTION_PARAMS_STIMSET = "Function params (encoded)"
const string EVENT_NAME_LIST = "Pre DAQ;Mid Sweep;Post Sweep;Post Set;Post DAQ;Pre Sweep Config;Generic;Pre Set"

Human readable names for EVENT_TYPE_ANALYSIS_FUNCTIONS.

const string EVENT_NAME_LIST_LBN = "Pre DAQ function;Mid Sweep function;Post Sweep function;Post Set function;Post DAQ function;Pre Sweep Config function;Generic function;Pre Set function"

Labnotebook entries.

const string ANALYSIS_FUNCTION_PARAMS_TYPES = "variable;string;wave;textwave"

List of valid analysis function types

const double LABNOTEBOOK_LAYER_COUNT = 9

Number of layers in the labnotebook.

const double INDEP_HEADSTAGE = 8

Index for storing headstage independent data into the labnotebook.

const string UNKNOWN_MIES_VERSION = "unknown version"
const double COMMON_CONTROL_GROUP_COUNT_NUM = 19

Number of common control groups in the DA_EPHYS panel.

const double COMMON_CONTROL_GROUP_COUNT_TXT = 10
const double ESCAPE_KEY = 32

Equals 2^5 from GetKeyState

const double MAX_COMMANDLINE_LENGTH = 2500
const string WAVEBUILDER_COMBINE_FORMULA_VER = "1"
const double HARDWARE_ITC_BITS_PER_VOLT = 3200

Conversion factor between volts and bits for the AD/DA channels The ITC 16 bit range is +-10.24 V such that a value of 32000 represents exactly 10 V, thus 3200 -> 1 V.

const string HARDWARE_DAC_TYPES = "ITC;NI;SUTTER;"

List of different DAC hardware types.

const double HARDWARE_NI_TTL_PORT = 0

We always use this DIO port for NI hardware.

const double HARDWARE_MAX_DEVICES = 10
const double WAVEBUILDER_MIN_SAMPINT = 0.005

Sutter input -> 50 kHz.

[ms]

const double WAVEBUILDER_MIN_SAMPINT_HZ = 200e3

Stimulus sets are created with that frequency.

const string CHANNEL_DA_SEARCH_STRING = "*DA*"
const string CHANNEL_TTL_SEARCH_STRING = "*TTL*"
const string NWB_SOURCE_TTL_BIT = "TTLBit"

Additional entry in the NWB source attribute for TTL data.

const string IPNWB_PLACEHOLDER = "PLACEHOLDER"
const double ZEROMQ_NUM_BIND_TRIALS = 32

Number of trials to find a suitable port for binding a ZeroMQ service.

const double ZEROMQ_BIND_REP_PORT = 5670
const double ZEROMQ_BIND_PUB_PORT = 5770
const double MAIN_THREAD = 0

Convenience definition for functions interacting with threads.

const string POPUPMENU_DIVIDER = "\\M1(-"
const double INDEP_EPOCH_TYPE = 0

Used for the textual wavebuilder parameter wave WPT as that stores the set parameters in layer 0. Coincides with EPOCH_TYPE_SQUARE_PULSE.

const string SEGMENTWAVE_SPECTRUM_PREFIX = "segmentWaveSpectrum"
const string NOISE_TYPES_STRINGS = "White;Pink;Brown"
const string PULSE_TYPES_STRINGS = "Square;Triangle"
const string NOTE_KEY_ZEROED = "Zeroed"
const string NOTE_KEY_TIMEALIGN = "TimeAlign"
const string NOTE_KEY_ARTEFACT_REMOVAL = "ArtefactRemoval"
const string NOTE_KEY_SEARCH_FAILED_PULSE = "SearchFailedPulses"
const string NOTE_KEY_FAILED_PULSE_LEVEL = "FailedPulseLevel"
const string NOTE_KEY_NUMBER_OF_SPIKES = "NumberOfSpikes"
const string NOTE_KEY_PULSE_SORT_ORDER = "PulseSortOrder"
const string NOTE_KEY_WAVE_MINIMUM = "WaveMinimum"
const string NOTE_KEY_WAVE_MAXIMUM = "WaveMaximum"
const string NOTE_KEY_PULSE_LENGTH = "PulseLength"
const string NOTE_KEY_TIMEALIGN_FEATURE_POS = "TimeAlignmentFeaturePosition"
const string NOTE_KEY_TIMEALIGN_TOTAL_OFFSET = "TimeAlignmentTotalOffset"
const string NOTE_KEY_IMG_PMIN = "PulsesMinimum"
const string NOTE_KEY_IMG_PMAX = "PulsesMaximum"
const string NOTE_KEY_PULSE_IS_DIAGONAL = "IsDiagonal"
const string NOTE_KEY_PULSE_START = "PulseStart"
const string NOTE_KEY_PULSE_END = "PulseEnd"
const string NOTE_KEY_CLAMP_MODE = "ClampMode"
const double DA_EPHYS_PANEL_DATA_ACQUISITION = 0

DA_Ephys Panel Tabs.

const double DA_EPHYS_PANEL_DA = 1
const double DA_EPHYS_PANEL_AD = 2
const double DA_EPHYS_PANEL_TTL = 3
const double DA_EPHYS_PANEL_ASYNCHRONOUS = 4
const double DA_EPHYS_PANEL_SETTINGS = 5
const double DA_EPHYS_PANEL_HARDWARE = 6
const double DA_EPHYS_PANEL_VCLAMP = 0
const double DA_EPHYS_PANEL_ICLAMP = 1
const double DA_EPHYS_PANEL_IEQUALZERO = 2
const double DA_EPHYS_PANEL_PRESSURE_AUTO = 0
const double DA_EPHYS_PANEL_PRESSURE_MANUAL = 1
const double DA_EPHYS_PANEL_PRESSURE_USER = 2
const string PULSE_START_TIMES_KEY = "Pulse Train Pulses"
const string PULSE_TO_PULSE_LENGTH_KEY = "Pulse To Pulse Length"
const string HIGH_PREC_SWEEP_START_KEY = "High precision sweep start"
const string STIMSET_SCALE_FACTOR_KEY = "Stim Scale Factor"
const string STIMSET_WAVE_NOTE_KEY = "Stim Wave Note"
const string EPOCHS_ENTRY_KEY = "Epochs"
const string CLAMPMODE_ENTRY_KEY = "Clamp Mode"
const string TP_AMPLITUDE_VC_ENTRY_KEY = "TP Amplitude VC"
const string TP_AMPLITUDE_IC_ENTRY_KEY = "TP Amplitude IC"
const string PULSE_START_INDICES_KEY = "Pulse Train Pulse Start Indices"
const string PULSE_END_INDICES_KEY = "Pulse Train Pulse End Indices"
const string INFLECTION_POINTS_INDEX_KEY = "Inflection Points Indices"
const string EPOCH_LENGTH_INDEX_KEY = "Epoch Length Indices"
const string STIMSET_SIZE_KEY = "Stimset Size"
const string STIMSET_ERROR_KEY = "Wavebuilder Error"
const double WAVEBUILDER_STATUS_ERROR = 1
const string CONTROLS_DISABLE_DURING_DAQ = "Check_DataAcqHS_All;Radio_ClampMode_AllIClamp;Radio_ClampMode_AllVClamp;Radio_ClampMode_AllIZero;SetVar_Sweep;Check_DataAcq_Indexing;check_DataAcq_IndexRandom;Check_DataAcq1_IndexingLocked;check_DataAcq_RepAcqRandom;Check_DataAcq1_RepeatAcq;Check_Settings_SkipAnalysFuncs;check_Settings_MD"

DA_Ephys controls which should be disabled during DAQ.

const string CONTROLS_DISABLE_DURING_IDX = "SetVar_DataAcq_ListRepeats;SetVar_DataAcq_SetRepeats"
const string CONTROLS_DISABLE_DURING_DAQ_TP = "Check_Settings_BkgTP;Check_Settings_BackgrndDataAcq"

DA_Ephys controls which should be disabled during DAQ and TP.

const double MAX_OBJECT_NAME_LENGTH_IN_BYTES = 255

Maximum length of a valid object name in bytes in Igor Pro >= 8.

const double MAX_OBJECT_NAME_LENGTH_IN_BYTES_SHORT = 31

(Deprecated) Maximum length of a valid object name in bytes in Igor Pro < 8

const string LABNOTEBOOK_NO_TOLERANCE = "-"
const string LABNOTEBOOK_BINARY_UNIT = "On/Off"
const string LABNOTEBOOK_USER_PREFIX = "USER_"

Key prefix for runtime added labnotebooks by ED_AddEntryToLabnotebook()

const string RA_ACQ_CYCLE_ID_KEY = "Repeated Acq Cycle ID"
const string STIMSET_ACQ_CYCLE_ID_KEY = "Stimset Acq Cycle ID"
const string SKIP_SWEEPS_KEY = "Skip Sweeps"
const string SKIP_SWEEPS_SOURCE_KEY = "Skip Sweeps source"
const double LABNOTEBOOK_GET_RANGE = -1

Parameters for GetLastSetting() for using the row caching mechanism.

const double MAX_NUM_MS_TIMERS = 10

Maximum number of microsecond timers in Igor Pro.

const double PSQ_SPIKE_LEVEL = 0.01
const double PSQ_RMS_SHORT_THRESHOLD = 0.07
const double PSQ_RMS_LONG_THRESHOLD = 0.5
const double PSQ_TARGETV_THRESHOLD = 1
const double PSQ_CALC_METHOD_AVG = 0x1
const double PSQ_CALC_METHOD_RMS = 0x2
const double PSQ_BL_FAILED = 1
const string PSQ_BASELINE_CHUNK_SHORT_NAME_PREFIX = "BLC"
const string FMT_LBN_ANA_FUNC_VERSION = "%s version"
const double TP_MD_THREAD_DEAD_MAX_RETRIES = 10
const double DAQ_MD_THREAD_DEAD_MAX_RETRIES = 10
const double NUM_ENTRIES_FOR_MULTITHREAD = 16

Todo:

: IP8 convert all call sites to use MultiThread/T=

const string DAQ_ALLOWED_FUNCTIONS = "DQ_RestartDAQ;DAP_ButtonProc_TPDAQ;RA_CounterMD"

Exclusive list of functions which are allowed to call DQS_StartDAQSingleDevice()/DQM_StartDAQMultiDevice()

const string RESISTANCE_GRAPH = "AnalysisFuncResistanceGraph"
const string SPIKE_FREQ_GRAPH = "SpikeFrequencyGraph"
const string CHANNEL_UNIT_KEY = "ChannelUnit"
const double MAX_SWEEP_DURATION_IN_MS = 1.8e6

Maximum length of a sweep in the wavebuilder.

const string REC_MACRO_PROCEDURE = "proc"
const string REC_MACRO_MODE = "mode"
const double LABNOTEBOOK_MISSING_VALUE = -1
const double LABNOTEBOOK_UNCACHED_VALUE = -2
const string LABNOTEBOOK_MOD_COUNT = "Labnotebook modification count"
const double MINIMUM_FREE_DISK_SPACE = 10737418240
const string PRESSURE_CONTROL_LED_DASHBOARD = "valdisp_DataAcq_P_LED_0;valdisp_DataAcq_P_LED_1;valdisp_DataAcq_P_LED_2;valdisp_DataAcq_P_LED_3;valdisp_DataAcq_P_LED_4;valdisp_DataAcq_P_LED_5;valdisp_DataAcq_P_LED_6;valdisp_DataAcq_P_LED_7"
const string USER_DATA_MENU_EXP = "MenuExp"

User data on the stimset controls listing all stimsets in range.

const string EXPCONFIG_UDATA_SOURCEFILE_PATH = "Config_FileName"
const string EXPCONFIG_UDATA_SOURCEFILE_HASH = "Config_FileHash"
const string EXPCONFIG_UDATA_STIMSET_NWB_PATH = "Config_StimsetNWBPath"
const string TUD_INDEX_JSON = "INDEX_JSON"

Wave note key for the indexing helper JSON document.

const double TRACE_NAME_NUM_DIGITS = 6

sprintf field width for trace names

const string NUMBER_UNIT_SPACE = "\u2006"

Space used between numbers and their units.

const double PA_IMAGE_SPECIAL_ENTRIES_RANGE = 0.065
const double PA_IMAGE_FAILEDMARKERSTART = 0.9
const string NOTE_NEEDS_UPDATE = "NeedsUpdate"
const double GRAPH_DIV_SPACING = 0.03
const string NOTE_PA_NEW_PULSES_START = "StartIndexOfNewPulses"
const string PULSEWAVE_NOTE_SUFFIX = "_note"
const string PA_AVERAGE_WAVE_PREFIX = "average_"
const string PA_DECONVOLUTION_WAVE_PREFIX = "deconv_"
const string TP_PROPERTIES_HASH = "TestPulsePropertiesHash"
const string DASHBOARD_PASSING_MESSAGE = "Pass"
const string DAQ_STOPPED_EARLY_LEGACY_MSG = "DAQ was stopped early (n.a.)"
const double MAX_DOUBLE_PRECISION = 15
const string PACKAGE_MIES = "MIES"
const string LOGFILE_NWB_MARKER = "### LOGFILE:JSONL ###"
const string PACKAGE_SETTINGS_JSON = "Settings.json"
const string PACKAGE_SETTINGS_USERPING = "userping"
const double PACKAGE_SETTINGS_USERPING_DEFAULT = 1
const string LOGFILE_NAME = "Log.jsonl"
const double PSQ_CR_SPIKE_CHECK_DEFAULT = 1
const string NOT_AVAILABLE = "n/a"
const double DND_STIMSET_DANDI_SET = 107
const string WAVEBUILDER_DELTA_MODES = "None;Multiplier;Log;Squared;Power;Alternate;Explicit"
const string WAVEBUILDER_TRIGGER_TYPES = "Sin;Cos"
const double EPOCHTIME_PRECISION = 7

which is sufficient to represent each sample point time with a distinctive number up to rates of 10 MHz.

const string EPOCH_LIST_ROW_SEP = ":"
const string EPOCH_LIST_COL_SEP = ","
const string EPOCH_TAG_INVALID_CHARS_REGEXP = "[:,]"

These characters are not allowed to be in epoch tags as they are used for serialization.

const double EPOCH_USER_LEVEL = -1
const string EPOCH_SHORTNAME_USER_PREFIX = "U_"
const double TP_BASELINE_FRACTION_LOW = 0.25
const double TP_BASELINE_FRACTION_HIGH = 0.49
const string DAEPHYS_TP_CONTROLS_ALL = "SetVar_DataAcq_TPDuration;SetVar_DataAcq_TPBaselinePerc;SetVar_DataAcq_TPAmplitude;SetVar_DataAcq_TPAmplitudeIC;setvar_Settings_TPBuffer;setvar_Settings_TP_RTolerance;Check_TP_SendToAllHS;check_DataAcq_AutoTP;setvar_DataAcq_IinjMax;setvar_DataAcq_targetVoltage;setvar_DataAcq_targetVoltageRange;setvar_Settings_autoTP_perc;setvar_Settings_autoTP_int"
const string DAEPHYS_TP_CONTROLS_DEPEND = "SetVar_DataAcq_TPAmplitude;SetVar_DataAcq_TPAmplitudeIC;check_DataAcq_AutoTP;setvar_DataAcq_IinjMax;setvar_DataAcq_targetVoltage;setvar_DataAcq_targetVoltageRange"
const string DAEPHYS_TP_CONTROLS_INDEP = "SetVar_DataAcq_TPDuration;SetVar_DataAcq_TPBaselinePerc;setvar_Settings_TPBuffer;setvar_Settings_TP_RTolerance;Check_TP_SendToAllHS;setvar_Settings_autoTP_perc;setvar_Settings_autoTP_int"
const string DAEPHYS_TP_CONTROLS_NO_RESTART = "Check_TP_SendToAllHS;check_DataAcq_AutoTP;setvar_DataAcq_IinjMax;setvar_DataAcq_targetVoltage;setvar_DataAcq_targetVoltageRange;setvar_Settings_autoTP_perc;setvar_Settings_autoTP_int"
const double TP_BASELINE_RATIO_HIGH = 0.285714
const double TP_BASELINE_RATIO_OPT = 0.25
const double TP_BASELINE_RATIO_LOW = 0.222222
const double TP_AUTO_TP_CONSECUTIVE_PASSES = 3
const double TP_AUTO_TP_BASELINE_RANGE_EXCEEDED_FAILS = 3
const double TP_OVERRIDE_RESULTS_AUTO_TP = 0x0
const string DEFAULT_KEY_SEP = ":"
const string DEFAULT_LIST_SEP = ";"
const string PREFIX_SHORT_LIST = ";Y;Z;E;P;T;G;M;k;h;da;d;c;m;mu;n;p;f;a;z;y"

Name

Symbol

Numerical value

yotta

Y

1e24

zetta

Z

1e21

exa

E

1e18

peta

P

1e15

tera

T

1e12

giga

G

1e9

mega

M

1e6

kilo

k

1e3

hecto

h

1e2

deca

da

1e1

deci

d

1e-1

centi

c

1e-2

milli

m

1e-3

micro

mu

1e-6

nano

n

1e-9

pico

p

1e-12

femto

f

1e-15

atto

a

1e-18

zepto

z

1e-21

yocto

y

1e-24

From: 9th edition of the SI Brochure (2019), https://www.bipm.org/en/publications/si-brochure

const string PREFIX_LONG_LIST = "one;yotta;zetta;exa;peta;tera;giga;mega;kilo;hecto;deca;deci;centi;milli;micro;nano;pico;femto;atto;zepto;yocto"
const string PREFIX_VALUE_LIST = "1;1e24;1e21;1e18;1e15;1e12;1e9;1e6;1e3;1e2;1e1;1e-1;1e-2;1e-3;1e-6;1e-9;1e-12;1e-15;1e-18;1e-21;1e-24"
const double FIRST_XOP_ERROR = 10000

Smaller error codes are from Igor Pro.

const double THREAD_QUEUE_TRIES = 1000
const double HARDWARE_ITC_FIFO_ERROR = -1
const double HARDWARE_ITC_STUCK_FIFO_TICKS = 120
const string SF_PLOT_NAME_TEMPLATE = "SweepFormula plot"
const string SFH_USER_DATA_BROWSER = "browser"
const string FILE_LIST_SEP = "|"
const string ANALYSIS_BROWSER_NAME = "AnalysisBrowser"
const string MEMORY_REFCOUNTER_DF = "MemoryReferenceCounterDF"
const string LOG_ACTION_ASSERT = "assert"
const string LOG_MESSAGE_KEY = "msg"
const string LOG_ACTION_REPORT = "report"
const double SUBWINDOW_MOVE_CORRECTION = 5

Poorly understood difference required for vertical direction for MoveSubWindow.

const double LOADWAVE_V_FLAGS_IGNORECOLEND = 0x01
const double LOADWAVE_V_FLAGS_WCOLSPACEBLANK = 0x02
const double LOADWAVE_V_FLAGS_DISABLELINEPRECOUNTING = 0x04
const double LOADWAVE_V_FLAGS_DISABLEUNESCAPEBACKSLASH = 0x08
const double LOADWAVE_V_FLAGS_DISABLESUPPORTQUOTEDSTRINGS = 0x10
const double MEGABYTE = 1048576
const double STRING_MAX_SIZE = 2147483647
const double LOGUPLOAD_PAYLOAD_SPLITSIZE = 104857600
const double LOG_ARCHIVING_SPLITSIZE = 524288000
const double LOG_MAX_LINESIZE = 2097152
const string LOG_FILE_LINE_END = "\n"
const double SECONDS_PER_DAY = 86400
const string SF_OP_PSX = "psx"
const string SF_OP_PSX_KERNEL = "psxKernel"
const string SF_OP_PSX_STATS = "psxStats"
const string SF_OP_PSX_RISETIME = "psxRiseTime"
const string SF_OP_PSX_PREP = "psxPrep"
const string SF_OP_PSX_DECONV_FILTER = "psxDeconvFilter"
const string PSX_EVENTS_COMBO_KEY_WAVE_NOTE = "comboKey"