Skip to content
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion docs/best_practices/best_practices_index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,3 @@ Authors: Oliver Ruebel, Andrew Tritt, Ryan Ly, Cody Baker and Ben Dichter
image_series
simulated_data
extensions
units
71 changes: 69 additions & 2 deletions docs/best_practices/time_series.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,75 @@ measurement for that data, using the appropriate type from the

Check function: :py:meth:`~nwbinspector.checks.time_series.check_missing_unit`

It is recommended that the **formatting** of SI units be `CMIXF-12 <https://people.csail.mit.edu/jaffer/MIXF/CMIXF-12>`_ compliant.
See :ref:`units` for more information.
For **formatting** of SI units, the `CMIXF-12 <https://people.csail.mit.edu/jaffer/MIXF/CMIXF-12>`_
convention is recommended to minimize the variability of representation of unit values.

If the unit of measurement is unknown or unavailable, the unit can be declared as "a.u."
which stands for arbitrary units.
Please note the appropriate upper- or lower- casing when using CMIXF-12.

The `cmixf <https://github.com/sensein/cmixf>`_ Python package is used to check whether
the formatting of unit is compliant.

Examples for CMIXF-12 representation of units:

.. list-table::
:widths: 25 25 50
:align: center
:header-rows: 1

* - Neurodata type
- Unit in CMIXF-12
- Unit Name
* - :py:class:`~pynwb.behavior.SpatialSeries`
- "m"
- Meters (e.g. position)
* - :py:class:`~pynwb.behavior.SpatialSeries`
- "m/s"
- Meters per second (speed, velocity)
* - :py:class:`~pynwb.behavior.SpatialSeries`
- "m/s^2"
- Meters per second squared (acceleration)
* - :py:class:`~pynwb.ecephys.ElectricalSeries`
- "V"
- Volts
* - :py:class:`~pynwb.ecephys.SpikeEventSeries`
- "V"
- Volts
* - :py:class:`~pynwb.icephys.PatchClampSeries`
- "V"
- Volts
* - :py:class:`~pynwb.icephys.CurrentClampSeries`
- "V"
- Volts
* - :py:class:`~pynwb.icephys.IZeroClampSeries`
- "V"
- Volts
* - :py:class:`~pynwb.icephys.CurrentClampStimulusSeries`
- "A"
- Amperes
* - :py:class:`~pynwb.icephys.VoltageClampSeries`
- "A"
- Amperes
* - :py:class:`~pynwb.icephys.VoltageClampStimulusSeries`
- "V"
- Volts
* - :py:class:`~pynwb.image.ImageSeries`
- "a.u."
- Arbitrary Units (unknown)
* - :py:class:`~pynwb.image.IndexSeries`
- "a.u."
- Arbitrary Units (unknown)
* - :py:class:`~pynwb.image.ImageMaskSeries`
- "a.u."
- Arbitrary Units (unknown)
* - :py:class:`~pynwb.image.OpticalSeries`
- "a.u."
- Arbitrary Units (unknown)
* - :py:class:`~pynwb.retinotopy.AxisMap`
- "o"
- Degrees
Comment on lines +114 to +116
Copy link
Contributor Author

@weiglszonja weiglszonja Oct 4, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not TimeSeries but I thought could be good to include for example for representing degrees?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CompassDirection is more typical for that as an example (be sure to include radians as well)



Check function: :py:meth:`~nwbinspector.checks.time_series.check_unit_formatting`

Expand Down
66 changes: 0 additions & 66 deletions docs/best_practices/units.rst

This file was deleted.