nwb-linkml/nwb_linkml/schema/core.nwb.behavior.yaml
sneakers-the-rat 4faaa8efe8 I believe that's a full translation
or at least all the semantics are present. it's not pretty by any stretch of the imagination
2023-08-25 00:22:47 -07:00

172 lines
6.5 KiB
YAML

name: core.nwb.behavior
id: core.nwb.behavior
imports:
- core.nwb.base
- core.nwb.misc
- nwb.language
default_prefix: core.nwb.behavior/
classes:
SpatialSeries:
name: SpatialSeries
description: 'Direction, e.g., of gaze or travel, or position. The TimeSeries::data
field is a 2D array storing position or direction relative to some reference
frame. Array structure: [num measurements] [num dimensions]. Each SpatialSeries
has a text dataset reference_frame that indicates the zero-position, or the
zero-axes for direction. For example, if representing gaze direction, ''straight-ahead''
might be a specific pixel on the monitor, or some other point in space. For
position data, the 0,0 point might be the top-left corner of an enclosure, as
viewed from the tracking camera. The unit of data will indicate how to interpret
SpatialSeries values.'
is_a: TimeSeries
attributes:
data:
name: data
description: 1-D or 2-D array storing position or direction relative to some
reference frame.
multivalued: false
range: SpatialSeries_data
required: true
reference_frame:
name: reference_frame
description: Description defining what exactly 'straight-ahead' means.
multivalued: false
range: SpatialSeries_reference_frame
required: false
SpatialSeries_data:
name: SpatialSeries_data
description: 1-D or 2-D array storing position or direction relative to some reference
frame.
attributes:
unit:
name: unit
description: Base unit of measurement for working with the data. The default
value is 'meters'. Actual stored values are not necessarily stored in these
units. To access the data in these units, multiply 'data' by 'conversion'
and add 'offset'.
range: text
array:
name: array
range: SpatialSeries_data_Array
SpatialSeries_data_Array:
name: SpatialSeries_data_Array
is_a: Arraylike
attributes:
num_times:
name: num_times
range: numeric
required: true
x:
name: x
range: numeric
required: false
minimum_cardinality: 1
maximum_cardinality: 1
x,y:
name: x,y
range: numeric
required: false
minimum_cardinality: 2
maximum_cardinality: 2
x,y,z:
name: x,y,z
range: numeric
required: false
minimum_cardinality: 3
maximum_cardinality: 3
SpatialSeries_reference_frame:
name: SpatialSeries_reference_frame
description: Description defining what exactly 'straight-ahead' means.
BehavioralEpochs:
name: BehavioralEpochs
description: TimeSeries for storing behavioral epochs. The objective of this
and the other two Behavioral interfaces (e.g. BehavioralEvents and BehavioralTimeSeries)
is to provide generic hooks for software tools/scripts. This allows a tool/script
to take the output one specific interface (e.g., UnitTimes) and plot that data
relative to another data modality (e.g., behavioral events) without having to
define all possible modalities in advance. Declaring one of these interfaces
means that one or more TimeSeries of the specified type is published. These
TimeSeries should reside in a group having the same name as the interface. For
example, if a BehavioralTimeSeries interface is declared, the module will have
one or more TimeSeries defined in the module sub-group 'BehavioralTimeSeries'.
BehavioralEpochs should use IntervalSeries. BehavioralEvents is used for irregular
events. BehavioralTimeSeries is for continuous data.
is_a: NWBDataInterface
attributes:
IntervalSeries:
name: IntervalSeries
description: IntervalSeries object containing start and stop times of epochs.
multivalued: true
range: IntervalSeries
required: false
BehavioralEvents:
name: BehavioralEvents
description: TimeSeries for storing behavioral events. See description of <a href="#BehavioralEpochs">BehavioralEpochs</a>
for more details.
is_a: NWBDataInterface
attributes:
TimeSeries:
name: TimeSeries
description: TimeSeries object containing behavioral events.
multivalued: true
range: TimeSeries
required: false
BehavioralTimeSeries:
name: BehavioralTimeSeries
description: TimeSeries for storing Behavoioral time series data. See description
of <a href="#BehavioralEpochs">BehavioralEpochs</a> for more details.
is_a: NWBDataInterface
attributes:
TimeSeries:
name: TimeSeries
description: TimeSeries object containing continuous behavioral data.
multivalued: true
range: TimeSeries
required: false
PupilTracking:
name: PupilTracking
description: Eye-tracking data, representing pupil size.
is_a: NWBDataInterface
attributes:
TimeSeries:
name: TimeSeries
description: TimeSeries object containing time series data on pupil size.
multivalued: true
range: TimeSeries
required: true
EyeTracking:
name: EyeTracking
description: Eye-tracking data, representing direction of gaze.
is_a: NWBDataInterface
attributes:
SpatialSeries:
name: SpatialSeries
description: SpatialSeries object containing data measuring direction of gaze.
multivalued: true
range: SpatialSeries
required: false
CompassDirection:
name: CompassDirection
description: With a CompassDirection interface, a module publishes a SpatialSeries
object representing a floating point value for theta. The SpatialSeries::reference_frame
field should indicate what direction corresponds to 0 and which is the direction
of rotation (this should be clockwise). The si_unit for the SpatialSeries should
be radians or degrees.
is_a: NWBDataInterface
attributes:
SpatialSeries:
name: SpatialSeries
description: SpatialSeries object containing direction of gaze travel.
multivalued: true
range: SpatialSeries
required: false
Position:
name: Position
description: Position data, whether along the x, x/y or x/y/z axis.
is_a: NWBDataInterface
attributes:
SpatialSeries:
name: SpatialSeries
description: SpatialSeries object containing position data.
multivalued: true
range: SpatialSeries
required: true