-
Notifications
You must be signed in to change notification settings - Fork 0
/
IPNWB_Constants.ipf
135 lines (117 loc) · 4.19 KB
/
IPNWB_Constants.ipf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#pragma TextEncoding = "UTF-8"
#pragma rtGlobals=3 // Use modern global access method and strict wave access.
#pragma rtFunctionErrors=1
#pragma version=0.18
#ifdef IPNWB_DEFINE_IM
#pragma IndependentModule=IPNWB
#endif
// This file is part of the `IPNWB` project and licensed under BSD-3-Clause.
/// @file IPNWB_Constants.ipf
/// @brief Constants
StrConstant PLACEHOLDER = "PLACEHOLDER"
Constant NWB_VERSION_LATEST = 2
/// @name HDF5 file paths
///
/// @anchor IPNWB_GroupLocations
/// @{
StrConstant NWB_ROOT = "/"
StrConstant NWB_GENERAL = "/general"
StrConstant NWB_SUBJECT = "/general/subject"
StrConstant NWB_DEVICES = "/general/devices"
StrConstant NWB_STIMULUS = "/general/stimsets"
StrConstant NWB_LABNOTEBOOK = "/general/labnotebook"
StrConstant NWB_RESULTS = "/general/results"
StrConstant NWB_INTRACELLULAR_EPHYS = "/general/intracellular_ephys"
StrConstant NWB_STIMULUS_TEMPLATES = "/stimulus/templates"
StrConstant NWB_STIMULUS_PRESENTATION = "/stimulus/presentation"
StrConstant NWB_IMAGES = "/acquisition/images"
StrConstant NWB_EPOCHS = "/epochs"
StrConstant NWB_PROCESSING = "/processing"
StrConstant NWB_ANALYSIS = "/analysis"
StrConstant NWB_SPECIFICATIONS = "/specifications"
StrConstant NWB_TIME_INTERVALS_EPOCHS = "/intervals/epochs"
StrConstant NWB_TIME_INTERVALS_TIMESERIES_EPOCHS = "/intervals/epochs/timeseries"
/// @}
/// @name IPNWB naming conventions
///
/// @{
StrConstant NWB_ELECTRODE_PREFIX = "electrode_"
/// @}
/// @name Channel constants (inspired by the ITC XOP)
/// @anchor IPNWBChannelTypes
/// @{
Constant IPNWB_CHANNEL_TYPE_OTHER = -1
Constant IPNWB_CHANNEL_TYPE_ADC = 0
Constant IPNWB_CHANNEL_TYPE_DAC = 1
Constant IPNWB_CHANNEL_TYPE_TTL = 3
/// @}
StrConstant CHANNEL_NAMES = "AD;DA;;TTL"
#ifdef IPNWB_INCLUDE_UTILS
/// @name Constants for FunctionInfo and WaveType
///
/// @anchor IPNWB_IgorTypes
/// @{
Constant IGOR_TYPE_COMPLEX = 0x001
Constant IGOR_TYPE_32BIT_FLOAT = 0x002
Constant IGOR_TYPE_64BIT_FLOAT = 0x004
Constant IGOR_TYPE_8BIT_INT = 0x008
Constant IGOR_TYPE_16BIT_INT = 0x010
Constant IGOR_TYPE_32BIT_INT = 0x020
Constant IGOR_TYPE_UNSIGNED = 0x040 ///< Can be combined, using bitwise or, with all integer types
Constant IGOR_TYPE_STRUCT_PARAMETER = 0x200
/// @}
/// Convenience definition to nicify expressions like DimSize(wv, ROWS)
/// easier to read than DimSize(wv, 0).
/// @{
Constant ROWS = 0
Constant COLS = 1
Constant LAYERS = 2
Constant CHUNKS = 3
/// @}
/// @name Constants for the acquisition modes
/// @anchor IPNWB_ClampModes
/// @{
Constant V_CLAMP_MODE = 0
Constant I_CLAMP_MODE = 1
Constant I_EQUAL_ZERO_MODE = 2
/// @}
/// @name Parameters for gnoise and enoise
///@{
Constant NOISE_GEN_LINEAR_CONGRUENTIAL = 1 ///< Don't use for new code.
Constant NOISE_GEN_MERSENNE_TWISTER = 2
///@}
/// Maximum length of a valid name in bytes in Igor Pro.
Constant MAX_OBJECT_NAME_LENGTH_IN_BYTES = 31
#endif // IPNWB_INCLUDE_UTILS
/// @name Constants for the compression modes
/// @anchor CompressionMode
/// @{
Constant NO_COMPRESSION = 0x0
Constant CHUNKED_COMPRESSION = 0x1
Constant SINGLE_CHUNK_COMPRESSION = 0x2
/// @}
/// @name Constants for the reference modes
/// @anchor ReferenceMode
/// @{
Constant NO_REFERENCE = 0x0
Constant OBJECT_REFERENCE = 0x1
Constant REGION_REFERENCE = 0x2
/// @}
/// @name Constants for NWB version 2 specifications and base classes
/// @{
StrConstant NWB_SPEC_NAME = "core"
StrConstant NWB_SPEC_VERSION = "2.2.4"
StrConstant NWB_SPEC_LOCATION = "namespace:core:json:"
StrConstant NWB_SPEC_START = "nwb.namespace"
StrConstant NWB_SPEC_INCLUDE = "nwb.base;nwb.behavior;nwb.device;nwb.ecephys;nwb.epoch;nwb.file;nwb.icephys;nwb.image;nwb.misc;nwb.ogen;nwb.ophys;nwb.retinotopy;"
StrConstant HDMF_SPEC_NAME = "hdmf-common"
StrConstant HDMF_SPEC_VERSION = "1.1.3"
StrConstant HDMF_SPEC_LOCATION = "namespace:hdmf-common:json:"
StrConstant HDMF_SPEC_START = "namespace"
StrConstant HDMF_SPEC_INCLUDE = "table;sparse;"
StrConstant NDX_MIES_SPEC_NAME = "ndx-mies"
StrConstant NDX_MIES_SPEC_VERSION = "0.1.0"
StrConstant NDX_MIES_SPEC_LOCATION = "namespace:ndx-mies:json:"
StrConstant NDX_MIES_SPEC_START = "namespace"
StrConstant NDX_MIES_SPEC_INCLUDE = "ndx-mies.extensions"
/// @}