Skip to content

Commit 9390602

Browse files
committed
enh: address some of @effigies' comments
1 parent f159e61 commit 9390602

File tree

6 files changed

+128
-12
lines changed

6 files changed

+128
-12
lines changed

src/common-principles.md

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,12 @@ data type as defined above.
122122
A data type directory SHOULD NOT be defined if there are no files to be placed
123123
in that directory.
124124

125+
**Specific structure of derived data**.
126+
In the case of [storing derived data (see below)](#source-vs-raw-vs-derived-data),
127+
the subject (`sub-<label>`) and session (`ses-<label>`) entities MAY map onto
128+
the template (`tpl-<label>`) and cohort (`cohort-<label>`) entities
129+
as described in the [corresponding section](derivatives/atlas.md) of this specification.
130+
125131
### Other top level directories
126132

127133
In addition to the subject directories, the root directory of a BIDS dataset
@@ -305,6 +311,16 @@ field in `dataset_description.json` of each subdirectory of `derivatives` to:
305311
}
306312
```
307313

314+
**Templates and atlases as derived data.**
315+
Templates and atlases are key neuroscientific tools to carry out group-level inferences
316+
and also employed in many atlas-based methodologies (such as atlas-based segmentation).
317+
Original templates and atlases employed as primary data to the analysis MAY be stored
318+
within the `sourcedata/atlases/`.
319+
Any artifacts deriving from atlases, or the creation of new templates and atlases MUST
320+
follow the [corresponding specification](derivatives/atlas.md) and stored under the
321+
`derivatives/` folder, and follow the general specifications for derivatives regarding
322+
storage and distribution, as described in the next section.
323+
308324
### Storage of derived datasets
309325

310326
Derivatives can be stored/distributed in two ways:
@@ -340,6 +356,15 @@ Derivatives can be stored/distributed in two ways:
340356
<dataset>/derivatives/spm-stats/sub-0001
341357
```
342358
359+
Example of an atlas-generating pipeline with outputs for individual subjects
360+
and the aggregation in an atlas defined with respect to the widely-used
361+
[`MNI152NLin2009cAsym` standard space](appendices/coordinate-systems.md):
362+
363+
```Plain
364+
<dataset>/derivatives/atlas-generator/sub-0001
365+
<dataset>/derivatives/atlas-generator/tpl-MNI152NLin2009cAsym
366+
```
367+
343368
Example of a pipeline with nested derivative directories:
344369
345370
```Plain
@@ -391,11 +416,14 @@ Case 2.
391416
In both cases, every derivatives dataset is considered a BIDS dataset and must
392417
include a `dataset_description.json` file at the root level (see
393418
[Dataset description][dataset-description]).
394-
Consequently, files should be organized to comply with BIDS to the full extent
419+
Consequently, files SHOULD be organized to comply with BIDS to the full extent
395420
possible (that is, unless explicitly contradicted for derivatives).
396-
Any subject-specific derivatives should be housed within each subject's directory;
397-
if session-specific derivatives are generated, they should be deposited under a
421+
Any subject-specific derivatives SHOULD be housed within each subject's directory;
422+
if session-specific derivatives are generated, they SHOULD be deposited under a
398423
session subdirectory within the corresponding subject directory; and so on.
424+
Likewise, any template-specific derivatives SHOULD be housed within each template's directory;
425+
if cohort-specific derivatives are generated, they SHOULD be deposited under a
426+
cohort subdirectory within the corresponding template directory; and so on.
399427
400428
### Non-compliant derivatives
401429

src/schema/objects/common_principles.yaml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,22 @@
33
# WARNING: The terms are presented here in alphabetical order!
44
# The order in which these terms are presented in the specification is defined in `rules/common_principles.yaml`,
55
# rather than this file (`objects/common_principles.yaml`).
6+
atlas:
7+
display_name: Atlas
8+
description: |
9+
Knowledge about the brain, generally formalized with reference to a standard space (see the *Template* definition)
10+
by means of spatiotemporal annotations such as landmarks, segmentations, parcellations, or probability maps.
11+
12+
The definition of atlas per Merriam-Webster is ‘a bound collection of maps (i.e. labeled brain regions
13+
or quantitative aspects) and metadata (tables, or textual matter).
14+
Within BIDS, atlases are broadly defined as a mapping between locations in a spatial coordinate systems
15+
and descriptions associated with those locations.
16+
Atlases are often built after *registering many subjects or maps into a space defined by a template*.
17+
By analogy with geographical atlases, brain atlases can map brain locations to either discrete labels like a map
18+
of countries does, or to continuous quantities like a topographic map does.
19+
20+
One prominent manuscript regarding the specific aspects of atlases, such as their *regional resolution*
21+
is ([Bijsterbosch et al., 2020](https://doi.org/10.1038/s41593-020-00726-z)).
622
data_acquisition:
723
display_name: Data acquisition
824
description: |
@@ -133,6 +149,12 @@ session:
133149
often in the case of some intervention between sessions (for example, training).
134150
In the [PET](SPEC_ROOT/modality-specific-files/positron-emission-tomography.md) context,
135151
a session may also indicate a group of related scans, taken in one or more visits.
152+
space:
153+
display_name: Space
154+
description: |
155+
A reference [coordinate system](appendices/coordinate-systems.md) of analysis
156+
engendered by the spatiotemporal distribution of neuroimaging features such as
157+
those given by subjects' and templates' data.
136158
suffix:
137159
display_name: suffix
138160
description: |
@@ -154,3 +176,13 @@ task:
154176
In the context of brain scanning, a task is always tied to one data acquisition.
155177
Therefore, even if during one acquisition the subject performed multiple conceptually different behaviors
156178
(with different sets of instructions) they will be considered one (combined) task.
179+
template:
180+
display_name: Template
181+
description: |
182+
An average feature map obtained by aggregation of subjects and/or sessions that allows the
183+
spatial location of brain anatomy and function of the templated cohort.
184+
Templates operationalize the concept of *standardized spatial frame of analysis*,
185+
a common *Space* in which subjects' data can be spatially-normalized into for group inference.
186+
Like subjects' feature maps generate a *native* spatial frame of reference for analyses,
187+
templates engender a *generic* or *standard* space of analysis were subjects can be spatiotemporally
188+
aligned into.

src/schema/objects/entities.yaml

Lines changed: 46 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,7 @@ atlas:
2929
name: atlas
3030
display_name: Atlas
3131
description: |
32-
The definition of atlas per Merriam-Webster is ‘a bound collection of maps (i.e. labeled brain regions
33-
or quantitative aspects) and metadata (tables, or textual matter). Within BIDS, atlases are broadly
34-
defined as a mapping between locations in a spatial coordinate systems and descriptions associated with
35-
those locations. Atlases are often build from registering many subjects or maps to a template. By analogy
36-
with geographical atlases, brain atlases can map brain locations to either discrete labels like a map
37-
of countries does, or to continuous quantities like a topographic map does.
38-
39-
This comprises all possible types of atlases, specifically deterministic, probabilistic, and mask/voxel-based
32+
Atlas comprises all possible types of atlases, specifically deterministic, probabilistic, and mask/voxel-based
4033
ones, and quantitative maps from various modalities including but not limited to structural features (e.g.
4134
myelination, cytoarchitecture), functional features (e.g. resting-state networks, localizers) and such based on
4235
multimodal data integration (e.g. gene expression, receptors). Furthermore, it covers both volume/voxel and
@@ -53,6 +46,14 @@ ceagent:
5346
`"ContrastBolusIngredient"` MAY also be added in the JSON file, with the same label.
5447
type: string
5548
format: label
49+
cohort:
50+
name: cohort
51+
display_name: Cohort
52+
description: |
53+
A subset of a defined template space, for instance, for a longitudinal template of brain development
54+
where infants were participants were averaged at three, six, and twelve months old.
55+
type: string
56+
format: label
5657
chunk:
5758
name: chunk
5859
display_name: Chunk
@@ -300,7 +301,33 @@ segmentation:
300301
display_name: Segmentation
301302
description: |
302303
The `seg-<label>` key/value pair corresponds to a custom label the user
303-
MAY use to distinguish different segmentations.
304+
MAY use to distinguish different segmentations or parcellations.
305+
306+
For atlases, `seg-<label>` distinguish different realizations of a given
307+
segmentation or parcellation.
308+
For example, for the [Yeo 2011 atlas](https://doi.org/10.1152/jn.00338.2011)
309+
distributed within *FreeSurfer* with two different parcellations
310+
(*7 networks* and *17 networks*).
311+
312+
This entity is only applicable to derivative data.
313+
type: string
314+
format: label
315+
scale:
316+
name: scale
317+
display_name: Scale
318+
description: |
319+
The `scale-<label>` key/value pair corresponds to a custom label the user
320+
MAY use to distinguish segmentations that entail different levels of
321+
*regional resolution* (scales), often indicated by the number of ROIs.
322+
See ([Bijsterbosch et al., 2020](https://doi.org/10.1038/s41593-020-00726-z))
323+
for further details on *regional resolution* or, as defined by the authors of
324+
the manuscript, the *brain units*.
325+
326+
For example, the [Schaefer 2018 atlas](https://doi.org/10.1093/cercor/bhx179)
327+
is distributed within *FreeSurfer* with ten different scales
328+
(100, 200, 300, 400, 500, 600, 700, 800, 900, and 1000 regions) for each of
329+
its three different parcellations (*7 networks*, *17 networks*, and
330+
*Kong's variation of 17 networks*).
304331
305332
This entity is only applicable to derivative data.
306333
type: string
@@ -412,6 +439,16 @@ task:
412439
the `task` label for resting state files (for example, `task-rest`).
413440
type: string
414441
format: label
442+
template:
443+
name: tpl
444+
display_name: Template
445+
description: |
446+
An standardized space of analysis specified or engendered by one or more average of features
447+
with respect to which group-level and atlas-derived results are provided.
448+
The `<label>` MAY be taken from one of the modality specific lists in the
449+
[Coordinate Systems Appendix](SPEC_ROOT/appendices/coordinate-systems.md).
450+
type: string
451+
format: label
415452
tracer:
416453
name: trc
417454
display_name: Tracer

src/schema/rules/common_principles.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
- task
1212
- event
1313
- run
14+
- template
15+
- atlas
16+
- space
1417
- index
1518
- label
1619
- suffix

src/schema/rules/directories.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,12 @@ derivative:
7777
name: code
7878
level: optional
7979
opaque: true
80+
cohort:
81+
entity: cohort
82+
level: optional
83+
opaque: false
84+
subdirs:
85+
- datatype
8086
derivatives:
8187
name: derivatives
8288
level: optional
@@ -106,6 +112,13 @@ derivative:
106112
opaque: false
107113
subdirs:
108114
- datatype
115+
template:
116+
entity: template
117+
level: optional
118+
opaque: false
119+
subdirs:
120+
- cohort
121+
- datatype
109122
datatype:
110123
value: datatype
111124
level: optional

src/schema/rules/entities.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
# This file simply defines the order in which entities should appear within filenames.
33
# Entity definitions appear in the `objects/entities.yaml` file.
44
- subject
5+
- template
56
- session
7+
- cohort
68
- sample
79
- task
810
- tracksys
@@ -26,6 +28,7 @@
2628
- recording
2729
- chunk
2830
- segmentation
31+
- scale
2932
- resolution
3033
- density
3134
- label

0 commit comments

Comments
 (0)