Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove incomplete local channel indexing #151

Merged
merged 3 commits into from
Aug 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
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: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ SNIRF uses the [Semantic Versioning](https://semver.org) scheme.
* Specified that `aux{i}/dataTimeSeris` is a 2D array. Multiple channels of data can be present, otherwise 2nd dimension should be 1.
* Added language preventing `metaDataTags` sub-groups
* Added notice that the summary table is intended to be machine-readable
* Removed local channel indexing owing to incomplete specification.

### `v1.0` (September 23 2021)

Expand Down
55 changes: 0 additions & 55 deletions snirf_specification.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,6 @@ Shared Near Infrared Spectroscopy Format (SNIRF) Specification
* [data.measurementList.dataTypeIndex](#nirsidatajmeasurementlistkdatatypeindex)
* [data.measurementList.sourcePower](#nirsidatajmeasurementlistksourcepower)
* [data.measurementList.detectorGain](#nirsidatajmeasurementlistkdetectorgain)
* [data.measurementList.moduleIndex](#nirsidatajmeasurementlistkmoduleindex)
* [data.measurementList.sourceModuleIndex](#nirsidatajmeasurementlistksourcemoduleindex)
* [data.measurementList.detectorModuleIndex](#nirsidatajmeasurementlistkdetectormoduleindex)
* [stim](#nirsistimj)
* [stim.name](#nirsistimjname)
* [stim.data](#nirsistimjdata)
Expand All @@ -57,7 +54,6 @@ Shared Near Infrared Spectroscopy Format (SNIRF) Specification
* [probe.landmarkLabels](#nirsiprobelandmarklabelsj)
* [probe.CoordinateSystem](#nirsiprobecoordinatesystem)
* [probe.CoordinateSystemDescription](#nirsiprobecoordinatesystemdescription)
* [probe.useLocalIndex](#nirsiprobeuselocalindex)
* [aux](#nirsiauxj)
* [aux.name](#nirsiauxjname)
* [aux.dataTimeSeries](#nirsiauxjdatatimeseries)
Expand Down Expand Up @@ -174,9 +170,6 @@ Note that this table serves as machine-readable schema for the SNIRF format. Its
|            `dataTypeIndex`            | * Data type index for a given channel  |   `<i>`  * |
|            `sourcePower`              | * Source power for a given channel  |   `<f>`    |
|            `detectorGain`             | * Detector gain for a given channel  |   `<f>`    |
|            `moduleIndex`              | * Index of the parent module (if modular) |   `<i>`    |
|            `sourceModuleIndex`        | * Index of the source's parent module |   `<i>`    |
|            `detectorModuleIndex`      | * Index of the detector's parent module |   `<i>`    |
|     `stim{i}`                         | * Root-group for stimulus measurements       |  `{i}`    |
|         `name`                        | * Name of the stimulus data     |   `"s"`  + |
|         `data`                        | * Data stream of the stimulus channel | `[[<f>,...]]` +|
Expand All @@ -201,7 +194,6 @@ Note that this table serves as machine-readable schema for the SNIRF format. Its
|         `landmarkLabels`              | * String arrays specifying landmark names    |  `["s",...]`   |
|         `coordinateSystem`            | * Coordinate system used in probe description|   `"s"`   |
|         `coordinateSystemDescription` | * Description of coordinate system    |   `"s"`   |
|         `useLocalIndex`               | * If source/detector index is within a module|   `<i>`    |
|     `aux{i}`                          | * Root-group for auxiliary measurements      |  `{i}`    |
|         `name`                        | * Name of the auxiliary channel    |   `"s"`  + |
|         `dataTimeSeries`              | * Data acquired from the auxiliary channel   | `[[<f>,...]]` +|
Expand Down Expand Up @@ -514,39 +506,6 @@ The units are not defined, unless the user takes the option of using a `metaData

Detector gain

#### /nirs(i)/data(j)/measurementList(k)/moduleIndex
* **Presence**: optional
* **Type**: integer
* **Location**: `/nirs(i)/data(j)/measurementList(k)/moduleIndex`

Index of a repeating module. If `moduleIndex` is provided while `useLocalIndex`
is set to `true`, then, both `measurementList(k).sourceIndex` and
`measurementList(k).detectorIndex` are assumed to be the local indices
of the same module specified by `moduleIndex`. If the source and
detector are located on different modules, one must use `sourceModuleIndex`
and `detectorModuleIndex` instead to specify separate parent module
indices. See below.


#### /nirs(i)/data(j)/measurementList(k)/sourceModuleIndex
* **Presence**: optional
* **Type**: integer
* **Location**: `/nirs(i)/data(j)/measurementList(k)/sourceModuleIndex`

Index of the module that contains the source of the channel.
This index must be used together with `detectorModuleIndex`, and
can not be used when `moduleIndex` presents.

#### /nirs(i)/data(j)/measurementList(k)/detectorModuleIndex
* **Presence**: optional
* **Type**: integer
* **Location**: `/nirs(i)/data(j)/measurementList(k)/detectorModuleIndex`

Index of the module that contains the detector of the channel.
This index must be used together with `sourceModuleIndex`, and
can not be used when `moduleIndex` presents.


For example, if `measurementList5` is a structure with `sourceIndex=2`,
`detectorIndex=3`, `wavelengthIndex=1`, `dataType=1`, `dataTypeIndex=1` would
imply that the data in the 5th column of the `dataTimeSeries` variable was
Expand Down Expand Up @@ -875,20 +834,6 @@ paper describing the system in greater detail.
This field is required if the `coordinateSystem` field is set to "Other".


#### /nirs(i)/probe/useLocalIndex
* **Presence**: optional
* **Type**: integer
* **Location**: `/nirs(i)/probe/useLocalIndex`

For modular NIRS systems, setting this flag to a non-zero integer indicates
that `measurementList(k).sourceIndex` and `measurementList(k).detectorIndex`
are module-specific local-indices. One must also include
`measurementList(k).moduleIndex`, or when cross-module channels present, both
`measurementList(k).sourceModuleIndex` and `measurementList(k).detectorModuleIndex`
in the `measurementList` structure in order to restore the global indices
of the sources/detectors.


#### /nirs(i)/aux(j)
* **Presence**: optional
* **Type**: indexed group
Expand Down
Loading