From 5109e61239c92c89650a0122be6454a430ad9b38 Mon Sep 17 00:00:00 2001 From: rly Date: Thu, 27 Apr 2023 23:34:35 -0700 Subject: [PATCH 1/5] Create new ElectrodesTable neurodata type --- core/nwb.ecephys.yaml | 68 +++++++++++++++++++++++++++++++++++++++++++ core/nwb.file.yaml | 68 ++----------------------------------------- 2 files changed, 71 insertions(+), 65 deletions(-) diff --git a/core/nwb.ecephys.yaml b/core/nwb.ecephys.yaml index 50d73461..7d7493e7 100644 --- a/core/nwb.ecephys.yaml +++ b/core/nwb.ecephys.yaml @@ -257,6 +257,74 @@ groups: - name: device target_type: Device doc: Link to the device that was used to record from this electrode group. +- neurodata_type_def: ElectrodesTable + neurodata_type_inc: DynamicTable + doc: A table of all electrodes (i.e. channels) used for recording. Introduced in NWB 2.7.0. Replaces the "electrodes" + table (neurodata_type_inc DynamicTable, no neurodata_type_def) that is part of NWBFile. + datasets: + - name: location + neurodata_type_inc: VectorData + dtype: text + doc: Location of the electrode (channel). Specify the area, layer, comments + on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use + standard atlas names for anatomical regions when possible. + - name: group + neurodata_type_inc: VectorData + dtype: + target_type: ElectrodeGroup + reftype: object + doc: Reference to the ElectrodeGroup this electrode is a part of. + - name: group_name + neurodata_type_inc: VectorData + dtype: text + doc: Name of the ElectrodeGroup this electrode is a part of. + quantity: '?' + - name: x + neurodata_type_inc: VectorData + dtype: float32 + doc: x coordinate of the channel location in the brain (+x is posterior). + quantity: '?' + - name: y + neurodata_type_inc: VectorData + dtype: float32 + doc: y coordinate of the channel location in the brain (+y is inferior). + quantity: '?' + - name: z + neurodata_type_inc: VectorData + dtype: float32 + doc: z coordinate of the channel location in the brain (+z is right). + quantity: '?' + - name: imp + neurodata_type_inc: VectorData + dtype: float32 + doc: Impedance of the channel, in ohms. + quantity: '?' + - name: filtering + neurodata_type_inc: VectorData + dtype: text + doc: Description of hardware filtering, including the filter name and frequency cutoffs. + quantity: '?' + - name: rel_x + neurodata_type_inc: VectorData + dtype: float32 + doc: x coordinate in electrode group + quantity: '?' + - name: rel_y + neurodata_type_inc: VectorData + dtype: float32 + doc: y coordinate in electrode group + quantity: '?' + - name: rel_z + neurodata_type_inc: VectorData + dtype: float32 + doc: z coordinate in electrode group + quantity: '?' + - name: reference + neurodata_type_inc: VectorData + dtype: text + doc: Description of the reference electrode and/or reference scheme used for this electrode, e.g., + "stainless steel skull screw" or "online common average referencing". + quantity: '?' # The types below have been deprecated - neurodata_type_def: ClusterWaveforms diff --git a/core/nwb.file.yaml b/core/nwb.file.yaml index 682a5844..16ae7b3e 100644 --- a/core/nwb.file.yaml +++ b/core/nwb.file.yaml @@ -270,72 +270,10 @@ groups: doc: Physical group of electrodes. quantity: '*' - name: electrodes - neurodata_type_inc: DynamicTable - doc: A table of all electrodes (i.e. channels) used for recording. + neurodata_type_inc: ElectrodesTable + doc: A table of all electrodes (i.e. channels) used for recording. Changed in NWB 2.7.0 to use the newly added + ElectrodesTable neurodata type instead of a DynamicTable with added columns. quantity: '?' - datasets: - - name: x - neurodata_type_inc: VectorData - dtype: float32 - doc: x coordinate of the channel location in the brain (+x is posterior). - quantity: '?' - - name: y - neurodata_type_inc: VectorData - dtype: float32 - doc: y coordinate of the channel location in the brain (+y is inferior). - quantity: '?' - - name: z - neurodata_type_inc: VectorData - dtype: float32 - doc: z coordinate of the channel location in the brain (+z is right). - quantity: '?' - - name: imp - neurodata_type_inc: VectorData - dtype: float32 - doc: Impedance of the channel, in ohms. - quantity: '?' - - name: location - neurodata_type_inc: VectorData - dtype: text - doc: Location of the electrode (channel). Specify the area, layer, comments - on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use - standard atlas names for anatomical regions when possible. - - name: filtering - neurodata_type_inc: VectorData - dtype: text - doc: Description of hardware filtering, including the filter name and frequency cutoffs. - quantity: '?' - - name: group - neurodata_type_inc: VectorData - dtype: - target_type: ElectrodeGroup - reftype: object - doc: Reference to the ElectrodeGroup this electrode is a part of. - - name: group_name - neurodata_type_inc: VectorData - dtype: text - doc: Name of the ElectrodeGroup this electrode is a part of. - - name: rel_x - neurodata_type_inc: VectorData - dtype: float32 - doc: x coordinate in electrode group - quantity: '?' - - name: rel_y - neurodata_type_inc: VectorData - dtype: float32 - doc: y coordinate in electrode group - quantity: '?' - - name: rel_z - neurodata_type_inc: VectorData - dtype: float32 - doc: z coordinate in electrode group - quantity: '?' - - name: reference - neurodata_type_inc: VectorData - dtype: text - doc: Description of the reference electrode and/or reference scheme used for this electrode, e.g., - "stainless steel skull screw" or "online common average referencing". - quantity: '?' - name: intracellular_ephys doc: Metadata related to intracellular electrophysiology. quantity: '?' From 78df82c4bdc6f094a6dfb97fb85d9ae396087d91 Mon Sep 17 00:00:00 2001 From: mavaylon1 Date: Tue, 1 Oct 2024 17:03:45 -0700 Subject: [PATCH 2/5] clean up --- core/nwb.ecephys.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/nwb.ecephys.yaml b/core/nwb.ecephys.yaml index 7d7493e7..5e5ee521 100644 --- a/core/nwb.ecephys.yaml +++ b/core/nwb.ecephys.yaml @@ -257,9 +257,10 @@ groups: - name: device target_type: Device doc: Link to the device that was used to record from this electrode group. + - neurodata_type_def: ElectrodesTable neurodata_type_inc: DynamicTable - doc: A table of all electrodes (i.e. channels) used for recording. Introduced in NWB 2.7.0. Replaces the "electrodes" + doc: A table of all electrodes (i.e. channels) used for recording. Introduced in NWB 3.0.0. Replaces the "electrodes" table (neurodata_type_inc DynamicTable, no neurodata_type_def) that is part of NWBFile. datasets: - name: location From 5b7c1f0830594a93f5c28c690dddc54547f7dcc7 Mon Sep 17 00:00:00 2001 From: Ryan Ly Date: Wed, 2 Oct 2024 10:49:32 -0700 Subject: [PATCH 3/5] Update core/nwb.ecephys.yaml --- core/nwb.ecephys.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/nwb.ecephys.yaml b/core/nwb.ecephys.yaml index e4578d3f..9262034d 100644 --- a/core/nwb.ecephys.yaml +++ b/core/nwb.ecephys.yaml @@ -259,7 +259,7 @@ groups: - neurodata_type_def: ElectrodesTable neurodata_type_inc: DynamicTable - doc: A table of all electrodes (i.e. channels) used for recording. Introduced in NWB 3.0.0. Replaces the "electrodes" + doc: A table of all electrodes (i.e. channels) used for recording. Introduced in NWB 2.8.0. Replaces the "electrodes" table (neurodata_type_inc DynamicTable, no neurodata_type_def) that is part of NWBFile. datasets: - name: location From 406ab38365f373b69ec33e150d49d906e0742dd1 Mon Sep 17 00:00:00 2001 From: Ryan Ly Date: Tue, 19 Nov 2024 09:20:30 -0800 Subject: [PATCH 4/5] Update format_release_notes.rst --- docs/format/source/format_release_notes.rst | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/format/source/format_release_notes.rst b/docs/format/source/format_release_notes.rst index 636c5cb4..68d0d71c 100644 --- a/docs/format/source/format_release_notes.rst +++ b/docs/format/source/format_release_notes.rst @@ -6,13 +6,17 @@ Release Notes 2.8.0 (Upcoming) ------------------------ -Minor changes +Major changes ^^^^^^^^^^^^^ -- Added optional ``was_generated_by`` attribute to ``NWBFile`` to store provenance information (#578) - Deprecated ``EventWaveform`` neurodata type. (#584) - Deprecated ``ImageMaskSeries`` neurodata type. (#583) +- Changed ``NWBFile.electrodes`` from a generic ``DynamicTable`` with added columns to an ``ElectrodesTable`` that extends ``DynamicTable`` with added columns. (#539) + +Minor changes +^^^^^^^^^^^^^ +- Added optional ``was_generated_by`` attribute to ``NWBFile`` to store provenance information. (#578) - Made ``band_mean`` and ``band_std`` in ``DecompositionSeries`` optional. (#593) -- Added ``Device.model_number``, ``Device.model_name``, ``Device.serial_number`` (#594) +- Added ``Device.model_number``, ``Device.model_name``, ``Device.serial_number``. (#594) 2.7.0 (February 7, 2024) ------------------------ From 33671db0b4f7d1e03cb608758623cf08d80b5c3d Mon Sep 17 00:00:00 2001 From: Ryan Ly Date: Tue, 19 Nov 2024 11:15:20 -0800 Subject: [PATCH 5/5] Update format_release_notes.rst --- docs/format/source/format_release_notes.rst | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/format/source/format_release_notes.rst b/docs/format/source/format_release_notes.rst index 68d0d71c..2e5af253 100644 --- a/docs/format/source/format_release_notes.rst +++ b/docs/format/source/format_release_notes.rst @@ -3,6 +3,13 @@ Release Notes ============= +2.9.0 (Upcoming) +------------------------ + +Major changes +^^^^^^^^^^^^^ +- Changed ``NWBFile.electrodes`` from a generic ``DynamicTable`` with added columns to an ``ElectrodesTable`` that extends ``DynamicTable`` with added columns. (#539) + 2.8.0 (Upcoming) ------------------------ @@ -10,7 +17,6 @@ Major changes ^^^^^^^^^^^^^ - Deprecated ``EventWaveform`` neurodata type. (#584) - Deprecated ``ImageMaskSeries`` neurodata type. (#583) -- Changed ``NWBFile.electrodes`` from a generic ``DynamicTable`` with added columns to an ``ElectrodesTable`` that extends ``DynamicTable`` with added columns. (#539) Minor changes ^^^^^^^^^^^^^