The Objects portion of the schema contains the following collection of schema files:
src/schema/objects ├── columns.yaml ├── common_principles.yaml ├── datatypes.yaml ├── entities.yaml ├── extensions.yaml ├── files.yaml ├── formats.yaml ├── metadata.yaml ├── modalities.yaml └── suffixes.yaml
Objects contain selectors, issues and error messages to raise during validation, descriptors, messages, and units. Every property needed describe a an entity in BIDS contained within an object's contents. We'll take a closer look below at a few specific objects to better introduce the structure that they represent and take on.
objects.common_principles: Terms, such as "data acquisition" or "datatype", used throughout BIDS
data_acquisition: display_name: Data acquisition description: | A continuous uninterrupted block of time during which a brain scanning instrument was acquiring data according to particular scanning sequence/protocol.
data_type: display_name: Data type description: | A functional group of different types of data. Data files are contained in a directory named for the data type. In raw datasets, the data type directory is nested inside subject and (optionally) session directories. BIDS defines the following data types: 1. `func` (task based and resting state functional MRI) 2. `dwi` (diffusion weighted imaging) 3. `fmap` (field inhomogeneity mapping data such as field maps) 4. `anat` (structural imaging such as T1, T2, PD, and so on) 5. `perf` (perfusion) 6. `meg` (magnetoencephalography) 7. `eeg` (electroencephalography) 8. `ieeg` (intracranial electroencephalography) 9. `beh` (behavioral) 10. `pet` (positron emission tomography) 11. `micr` (microscopy) 12. `nirs` (near infrared spectroscopy)
objects.entities: Entities (sub-01)
subject: name: sub display_name: Subject description: | A person or animal participating in the study. type: string format: label
objects.metadata: Sidecar fields ("PhaseEncodingDirection": "j")
PhaseEncodingDirection: name: PhaseEncodingDirection display_name: Phase Encoding Direction description: | The letters `i`, `j`, `k` correspond to the first, second and third axis of the data in the NIFTI file. The polarity of the phase encoding is assumed to go from zero index to maximum index unless `-` sign is present (then the order is reversed - starting from the highest index instead of zero). `PhaseEncodingDirection` is defined as the direction along which phase is was modulated which may result in visible distortions. Note that this is not the same as the DICOM term `InPlanePhaseEncodingDirection` which can have `ROW` or `COL` values. type: string enum: - i - j - k - i- - j- - k-
objects.columns: TSV columns ("participant_id", ["sub-01", "sub-02", …])
participant_id: name: participant_id display_name: Participant ID description: | A participant identifier of the form `sub-<label>`, matching a participant entity found in the dataset. type: string pattern: ^sub-[0-9a-zA-Z]+$
func: value: func display_name: Task-Based Magnetic Resonance Imaging description: | Task (including resting state) imaging data
bold: value: bold display_name: Blood-Oxygen-Level Dependent image description: | Blood-Oxygen-Level Dependent contrast (specialized T2\* weighting)
objects.formats: Types of values objects referenced in the schema can take (label, index, boolean)
boolean: display_name: Boolean description: | A boolean. Must be either "true" or "false". pattern: '(true|false)'
objects.files: One-off files, not constructed from path components, like README
README: display_name: README file_type: regular description: | A REQUIRED text file, `README`, SHOULD describe the dataset in more detail. The `README` file MUST be either in ASCII or UTF-8 encoding and MAY have one of the extensions: `.md` ([Markdown](https://www.markdownguide.org/)), `.rst` ([reStructuredText](https://docutils.sourceforge.io/rst.html)), or `.txt`. A BIDS dataset MUST NOT contain more than one `README` file (with or without extension) at its root directory. BIDS does not make any recommendations with regards to the [Markdown flavor](https://www.markdownguide.org/extended-syntax/#lightweight-markup-languages) and does not validate the syntax of Markdown and reStructuredText. The `README` file SHOULD be structured such that its contents can be easily understood even if the used format is not rendered. A guideline for creating a good `README` file can be found in the [bids-starter-kit](https://github.com/bids-standard/bids-starter-kit/blob/master/templates/README).