Skip to content

Commit

Permalink
Restructure position fields
Browse files Browse the repository at this point in the history
  • Loading branch information
rly committed Jun 30, 2024
1 parent 055e9f5 commit 1868478
Show file tree
Hide file tree
Showing 5 changed files with 407 additions and 245 deletions.
162 changes: 107 additions & 55 deletions spec/ndx-extracellular-channels.extensions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ groups:
- name: reference
dtype: text
doc: Reference point for the relative position coordinates and information about
the coordinate system used.
the coordinate system used, e.g., which direction is positive in the x direction
(first element), which direction is positive in the y direction (second element),
etc.
required: false
- name: shape
neurodata_type_inc: VectorData
Expand Down Expand Up @@ -87,7 +89,7 @@ groups:
- neurodata_type_def: ProbeModel
neurodata_type_inc: Device
doc: Neural probe object, compatible with the ProbeInterface specification. The
name of the object should be the model name of the probe, e.g., 'Neuropixels 1.0'.
name of the object should be the model name of the probe, e.g., "Neuropixels 1.0".
attributes:
- name: ndim
dtype: int
Expand All @@ -96,7 +98,7 @@ groups:
required: false
- name: model
dtype: text
doc: Name of the model of the probe, e.g., 'Neuropixels 1.0'.
doc: Name of the model of the probe, e.g., "Neuropixels 1.0".
- name: planar_contour_in_um
dtype: float
dims:
Expand All @@ -114,6 +116,7 @@ groups:
the polygon. e.g., [(-20., -30.), (20., -110.), (60., -30.), (60., 190.), (-20.,
190.)].See 'probe_planar_contour' in https://probeinterface.readthedocs.io/en/main/format_spec.html
for more details.
required: false
groups:
- name: contacts_table
neurodata_type_inc: ContactsTable
Expand All @@ -136,32 +139,85 @@ groups:
doc: Metadata about the insertion of a probe into the brain, which can be used to
determine the location of the probe in the brain.
attributes:
- name: reference
- name: insertion_position_ap_in_mm
dtype: float
doc: Anteroposterior (AP) stereotactic coordinate of where the probe was inserted,
in millimeters. + is anterior. Coordinate is relative to the zero-point described
in `position_reference`.
required: false
- name: insertion_position_ml_in_mm
dtype: float
doc: Mediolateral (ML) stereotactic coordinate of where the probe was inserted,
in millimeters. + is right. Coordinate is relative to the zero-point described
in `position_reference`.
required: false
- name: insertion_position_dv_in_mm
dtype: float
doc: Dorsoventral (DV) stereotactic coordinate of where the probe was inserted,
in millimeters. + is up. Coordinate is relative to the zero-point described
in `position_reference`.
required: false
- name: position_reference
dtype: text
doc: Reference point for `insertion_position_in_mm` coordinates, e.g., "bregma
at the cortical surface".
doc: Location of the origin (0, 0, 0) for `insertion_position_{X}_in_mm` coordinates,
e.g., "(AP, ML, DV) = (0, 0, 0) corresponds to bregma at the cortical surface".
required: false
- name: hemisphere
dtype: text
doc: The hemisphere ("left" or "right") of the targeted location of the optogenetic
stimulus site. Should be consistent with `insertion_position_in_mm.ml` coordinate
(left = ml < 0, right = ml > 0).
required: false
- name: insertion_angle_pitch_in_deg
dtype: float
doc: The pitch angle of the probe at the time of insertion, in degrees. Pitch
= rotation around left-right axis, like nodding (+ is rotating the nose upward).
Zero is defined as the probe being parallel to an axial slice of the brain.Yaw
= rotation around dorsal-ventral axis, like shaking (+ is rotating the nose
rightward). Roll = rotation around anterior-posterior axis, like tilting (+
is rotating the right side downward).
required: false
- name: insertion_angle_yaw_in_deg
dtype: float
doc: The yaw angle of the probe at the time of insertion, in degrees. Yaw = rotation
around dorsal-ventral axis, like shaking (+ is rotating the nose rightward).
Zero is defined as the probe being parallel to an sagittal slice of the brain.
required: false
- name: insertion_angle_roll_in_deg
dtype: float
doc: 'The roll angle of the probe at the time of insertion, in degrees. Roll =
rotation around anterior-posterior axis, like tilting (+ is rotating the right
side downward). Zero is defined as the probe being parallel to a coronal slice
of the brain. '
required: false
- name: depth_in_mm
dtype: float
doc: Depth that the probe was driven along `insertion_angle` starting from `insertion_position_in_mm`,
in millimeters.
doc: Depth that the probe was driven along `insertion_angle` starting from `insertion_position_ap_in_mm`
and `insertion_position_ml_in_mm`, in millimeters. This is an alternate method
of providing the dorsal-ventral coordinate of the probe insertion site. If both
`insertion_position_dv_in_mm` and `depth_in_mm` are provided, the values should
be consistent.
required: false
- neurodata_type_def: ChannelsTable
neurodata_type_inc: DynamicTable
default_name: ChannelsTable
doc: Metadata about the channels used in an extracellular recording from a single
probe.
attributes:
- name: position_reference
dtype: text
doc: Location of the origin (0, 0, 0) for `{X}_position_{Y}_in_mm` coordinates,
e.g., "(AP, ML, DV) = (0, 0, 0) corresponds to bregma at the cortical surface".
required: false
- name: reference_mode
dtype: text
doc: The reference mode used for the recording; e.g. 'external wire', 'common
reference'.
doc: The reference mode used for the recording; e.g., "external wire in CSF",
common reference", "skull screw over frontal cortex".
required: false
- name: position_confirmation_method
dtype: text
doc: Description of the method used to confirm the position of the contacts or
brain area, e.g., "histology", "MRI".
required: false
datasets:
- name: contact
Expand All @@ -176,63 +232,59 @@ groups:
neurodata_type_inc: VectorData
dtype: text
doc: The filter used on the raw (wideband) voltage data from this contact, including
the filter name and frequency cutoffs, e.g., 'High-pass filter at 300 Hz.'
the filter name and frequency cutoffs, e.g., "High-pass filter at 300 Hz."
quantity: '?'
- name: estimated_position_in_mm
- name: estimated_position_ap_in_mm
neurodata_type_inc: VectorData
dtype:
- name: ap
dtype: float
doc: Anteroposterior coordinate in mm, relative to `reference` (+ is anterior).
- name: ml
dtype: float
doc: Mediolateral coordinate in mm, relative to `reference` (+ is right).
- name: dv
dtype: float
doc: Dorsoventral coordinate in mm, relative to `reference` (+ is up).
doc: Stereotactic coordinates (AP, ML, DV) of the estimated contact position,
in millimeters. AP = anteroposterior coordinate in mm (+ is anterior). ML =
mediolateral coordinate in mm (+ is right). DV = dorsoventral coordinate in
mm (+ is up).Coordinates are relative to `reference`
dtype: float
doc: Anteroposterior (AP) stereotactic coordinate of the estimated contact position,
in millimeters. + is anterior. Coordinate is relative to the zero-point described
in `position_reference`.
quantity: '?'
- name: estimated_position_ml_in_mm
neurodata_type_inc: VectorData
dtype: float
doc: Mediolateral (ML) stereotactic coordinate of the estimated contact position,
in millimeters. + is right. Coordinate is relative to the zero-point described
in `position_reference`.
quantity: '?'
- name: estimated_position_dv_in_mm
neurodata_type_inc: VectorData
dtype: float
doc: Dorsoventral (DV) stereotactic coordinate of the estimated contact position,
in millimeters. + is up. Coordinate is relative to the zero-point described
in `position_reference`.
quantity: '?'
attributes:
- name: reference
dtype: text
doc: Reference point for the position coordinates. e.g., "bregma at the cortical
surface".
required: false
- name: estimated_brain_area
neurodata_type_inc: VectorData
dtype: text
doc: The brain area of the estimated contact position, e.g., 'CA1'.
doc: The brain area of the estimated contact position, e.g., "CA1".
quantity: '?'
- name: confirmed_position_in_mm
- name: confirmed_position_ap_in_mm
neurodata_type_inc: VectorData
dtype:
- name: ap
dtype: float
doc: Anteroposterior coordinate in mm, relative to `reference` (+ is anterior).
- name: ml
dtype: float
doc: Mediolateral coordinate in mm, relative to `reference` (+ is right).
- name: dv
dtype: float
doc: Dorsoventral coordinate in mm, relative to `reference` (+ is up).
doc: Stereotactic coordinates (AP, ML, DV) of the the verified actual contact
position, such as from histology, in millimeters. AP = anteroposterior coordinate
in mm (+ is anterior). ML = mediolateral coordinate in mm (+ is right). DV =
dorsoventral coordinate in mm (+ is up).Coordinates are relative to `reference`
dtype: float
doc: Anteroposterior (AP) stereotactic coordinate of the confirmed contact position,
in millimeters. + is anterior. Coordinate is relative to the zero-point described
in `position_reference`.
quantity: '?'
- name: confirmed_position_ml_in_mm
neurodata_type_inc: VectorData
dtype: float
doc: Mediolateral (ML) stereotactic coordinate of the confirmed contact position,
in millimeters. + is right. Coordinate is relative to the zero-point described
in `position_reference`.
quantity: '?'
- name: confirmed_position_dv_in_mm
neurodata_type_inc: VectorData
dtype: float
doc: Dorsoventral (DV) stereotactic coordinate of the confirmed contact position,
in millimeters. + is up. Coordinate is relative to the zero-point described
in `position_reference`.
quantity: '?'
attributes:
- name: reference
dtype: text
doc: Reference point for the position coordinates. e.g., "bregma at the cortical
surface".
required: false
- name: confirmed_brain_area
neurodata_type_inc: VectorData
dtype: text
doc: The brain area of the actual contact position, e.g., 'CA1'.
doc: The brain area of the actual contact position, e.g., "CA1".
quantity: '?'
groups:
- name: probe_insertion
Expand Down
Empty file.
Loading

0 comments on commit 1868478

Please sign in to comment.