-
Notifications
You must be signed in to change notification settings - Fork 2
nigeLab_Concepts_Field
(Current as of 2019-11-23)
These are the main categories of data that are held by a Block
object. Because Properties
cannot be assigned dynamically to a Class
after construction, we chose to create a few "hard-coded" FieldTypes that are struct Properties
of the Block
class. Each Field, which describes a type of data that you may wish to associate with your experiment or recording, is assigned to a FieldType. The choice of FieldType associated with a Field depends upon the type of data for that Field. At present, there are twenty default values of Field, although not all may be used in each recording.
Note: if you are developing methods for nigeLab that require reference to a particular Field that is not linked dynamically (the field name is "hard-coded" into the method), then please use the checkCompatibility method and reference the "hard-coded" field as a check.
A list of Fields in use by default for the KUMC & IIT collaboration.
- Raw
- Filt
- CAR
- LFP
- Artifact
- Spikes
- SpikeFeatures
- Clusters
- Sorted
- DigIO
- AnalogIO
- DigEvents
- VidStreams
- Stim
- DC
- Time
- Notes
- Probes
- Video
- ScoredEvents
Raw (back to list)
Each element of Raw
corresponds to the anti-aliased, but otherwise unfiltered, "raw" electrophysiological recording data taken using high-gain bioamplifiers such as provided by Intan or TDT. A single element contains data from one electrode channel.
Filt (back to list)
Each element of Filt
corresponds to the unit-filtered (300-5,000 Hz bandpass) electrophysiological recording data taken using high-gain bioamplifiers such as provided by Intan or TDT. A single element contains data from one electrode channel.
CAR (back to list)
Each element of CAR
corresponds to the unit-filtered (300-5,000 Hz bandpass) electrophysiological recording data taken using high-gain bioamplifiers such as provided by Intan or TDT. A single element contains data from one electrode channel. CAR
is identical to Filt
, except that it has the common mode noise (estimated as the ensemble average for all channels on an array) removed from each element.
LFP (back to list)
Each element of LFP
corresponds to the decimated (fs = 1,000 Hz), anti-aliased electrophysiological recording data taken using high-gain bioamplifiers such as provided by Intan or TDT. A single element contains data from one electrode channel. CAR
is identical to Filt
, except that it has the common mode noise (estimated as the ensemble average for all channels on an array) removed from each element. An example of modifying the decimation cascade parameters is located here.
Artifact (back to list)
Event data that indicates when detected spike parameters met thresholds for automatic artifact rejection.
-
FieldType
: Channels -
FileType
: Event-
type
: 0 (Channel-Related Event) -
value
: Amplitude of the artifact event -
ts
: Time stamp (seconds) of event occurrence relative to start ofChannels
recording
-
Spikes (back to list)
Event data that indicates the timing of putative extracellular-detected action potentials from nearby cells.
-
FieldType
: Channels -
FileType
: Event-
type
: 0 (Channel-Related Event) -
value
: Integer denoting spike cluster -
tag
: Integer key to qualitative descriptor (e.g. "Large Single Unit," etc.) -
ts
: Time stamp (seconds) of event occurrence relative to start ofChannels
recording -
snippet
:CAR
samples from 0.4 ms prior to 0.8 ms after the spike peak
-
SpikeFeatures (back to list)
Event data for the computed features of channel-related spiking activity. Has same dimensions as Spikes
.
-
FieldType
: Channels -
FileType
: Event-
type
: 0 (Channel-Related Event) -
snippet
: Coefficients describingSpikes
waveforms, using methods such as PCA or wavelet decomposition.
-
Clusters (back to list)
Event data for the auto-clustering results performed after spike detection. Has same dimensions as Spikes
.
-
FieldType
: Channels -
FileType
: Event-
type
: 0 (Channel-Related Event) -
value
: Integer for automatic assignment of Spikesvalue
-
Sorted (back to list)
Event data for the results of manual spike cluster curation. Has same dimensions as Spikes
.
-
FieldType
: Channels -
FileType
: Event-
type
: 0 (Channel-Related Event) -
value
: Integer for curated assignment of Spikesvalue
-
DigIO (back to list)
Data streams that take discrete states (typically, from TTL inputs or outputs) and are synchronously acquired during the electrophysiological recordings (e.g. thresholded beam breaks; button press states; logic signals from pulse generator such as Master-8 or Master-9; etc.)
AnalogIO (back to list)
Data streams that take "continuous" states and are synchronously acquired during the electrophysiological recordings (e.g. non-thresholded IR beam breaks; force-sensitive resistors; any amplifier channel routed to the DAC for use with the FSM Detector (paper link); etc.)
DigEvents (back to list)
Events parsed from DigIO
or AnalogIO
(e.g. timestamps of button presses, trials, etc.)
-
FieldType
: Streams -
FileType
: Event-
type
: 1 (Recording-Associated Events) -
value
: Integer indicating some metadata about the trial -
tag
: Could be the same asvalue
, this will depend on the workflow set-up -
ts
: Time stamp (seconds) of event occurrence relative to start ofChannels
recording -
snippet
: Empty by default, but could include things like spike rate estimates in epochs around each event.
-
VidStreams (back to list)
Like Video, the VidStreams
Field is unique in that there is not actually any explicit struct field named 'VidStreams'
. Instead, the VidStreams
corresponding to the k-th Video
can be accessed using the VidStreamsType
object indexed at Block.Videos(k).at
; this is because of the unique nature of this kind of data. Any streams that correspond 1:1 with video frames (e.g. some kind of value that is parsed directly from the video, such as a markerless tracking label) are parsed and added here if the configuration is set up correctly in nigeLab.defaults.Block and nigeLab.defaults.Video. Because high frame-rate/pixel-count videos (e.g. those taken using any of the GoPro Hero series) are automatically "chunked" into several files, there may be multiple videos for even a single camera source. Each Video
does not necessarily have to contain any VidStreams
, but could also contain multiple VidStreams
such that the i-th VidStreams
of the k-th Video
is indexed at Block.Videos(k).at(i).data
. For more information about VidStreams
, see setting up VidStreams parsing.
Stim (back to list)
For experiments involving the KUMC & IIT collaborations, there is often the involvement of closed-loop delivery of intracortical microstimulation (ICMS). Because each stimulus pulse has its own associated parameters, such as the total number of pulses delivered per trigger; the amplitude of current delivered; and the location of stimulus delivery, a separate Field was created to isolate Stim
from DigEvents
(although in theory they could be grouped together).
DC (back to list)
The Intan RHS headstages associated with the Intan Stimulation and Recording Controller have low-gain amplifiers that allow the low-resolution acquisition of DC potentials.
Time (back to list)
Although this is essentially a Streams
type, because it should be present in every recording (as a "quick reference" for time so that various other streams can be synchronized easily), the Time
Field gets its own unique entry as a Meta
FieldType. This is typically a stream of times related to every amplifier sample, so it should have the same number of samples as any of the Channels
or Streams
elements.
Notes (back to list)
Metadata included in notes.txt
. See formatting notes for more details.
Probes (back to list)
Metadata that relates to the probe spatial layout for microwire or microelectrode arrays. May include information that associates intracortical-microstimulation (ICMS) somatotopy with each channel, for example. See formatting probe layouts for more details.
Video (back to list)
Like VidStreams, the Video
Field is unique in that there is not actually any explicit struct field named 'Video'
. Instead, the k-th element of Video
can be accessed using the VideosFieldType
object indexed at Block.Videos(k).v
; this is because of the unique nature of this kind of data. Any videos associated with the recording are parsed and added here if the configuration is set up correctly in nigeLab.defaults.Block and nigeLab.defaults.Video. Because high frame-rate/pixel-count videos (e.g. those taken using any of the GoPro Hero series) are automatically "chunked" into several files, there may be multiple videos for even a single camera source.
ScoredEvents (back to list)
Events parsed from Video Scoring or in some other "curated" manner (e.g. Grasp Onset from video frames, etc.)
-
FieldType
: Streams -
FileType
: Event-
type
: 1 (Recording-Associated Events) -
value
: Integer indicating some metadata about the trial -
tag
: Could be the same asvalue
, this will depend on the workflow set-up -
ts
: Time stamp (seconds) of event occurrence relative to start ofChannels
recording -
snippet
: Empty by default, but could include things like spike rate estimates in epochs around each event.
-