File schemas

This page contains auto-generated JSON schemas [1] for the text files used or generated by Nipoppy.

Global configuration file

How to read the schema table

  • Read the table from top to bottom, left to right

  • Required properties are in bold

  • The type of each property is in italics, to the right of a cell labelled “type”

    • Unless if that property is an object described by another schema, in which case it is a link to that schema

  • Default values are shown for optional properties (None if empty)

  • See the JSON schema docs for more details about keyword meanings

Below is the schema used for the global configuration JSON file.

Config

Schema for dataset configuration.

type

object

properties

  • HPC_PREAMBLE

Hpc Preamble

Optional string (or list of strings) for HPC setup, including job scheduler directives or environment initialization. Examples: loading modules (e.g., Apptainer/Singularity), activating a Python environment with Nipoppy installed, and setting up job-specific variables.

type

array

default

items

type

string

  • DICOM_DIR_MAP_FILE

Dicom Dir Map File

Path to a TSV file mapping participant IDs to DICOM directories, to be used in the DICOM reorg step. Note: this field and DICOM_DIR_PARTICIPANT_FIRST cannot both be specified. The TSV file should have three columns: “participant_id” , “session_id”, and “participant_dicom_dir”

default

null

anyOf

type

string

format

path

type

null

  • DICOM_DIR_PARTICIPANT_FIRST

Dicom Dir Participant First

Whether subdirectories under <NIPOPPY_PROJECT_ROOT>/sourcedata/imaging/pre_reorg) follow the pattern <PARTICIPANT>/<SESSION> (default) or <SESSION>/<PARTICIPANT>. Note: this field and DICOM_DIR_MAP_FILE cannot both be specified

default

null

anyOf

type

boolean

type

null

  • SUBSTITUTIONS

Substitutions

Top-level mapping for replacing placeholder expressions in the rest of the config file. Note: the replacement only happens if the config is loaded from a file with nipoppy.config.main.Config.load()

type

object

default

additionalProperties

type

string

  • PIPELINE_VARIABLES

Pipeline-specific variables. Typically these are paths to external resources needed by a pipeline that need to be provided by the user

default

BIDSIFICATION

PROCESSING

EXTRACTION

PipelineVariables

  • CUSTOM

Custom

Free field that can be used for any purpose

type

object

default

additionalProperties

True

  • CONTAINER_CONFIG

Configuration for running a container

default

COMMAND

apptainer

ARGS

ENV_VARS

INHERIT

True

ContainerConfig

additionalProperties

False

ContainerCommandEnum

Container commands.

type

string

enum

singularity, apptainer

ContainerConfig

Schema for container configuration.

Does not include information about the container image.

type

object

properties

  • COMMAND

Name of container engine. If null/None, the pipeline will not run in a container (e.g., baremetal installations).

default

apptainer

anyOf

ContainerCommandEnum

type

null

  • ARGS

Args

Arguments for Apptainer/Singularity call (to be appended after the subcommand)

type

array

default

items

type

string

  • ENV_VARS

Env Vars

Environment variables that should be available inside the container

type

object

default

additionalProperties

type

string

  • INHERIT

Inherit

Whether this config should inherit from higher-lever container configs. If false, will ignore higher-level configs

type

boolean

default

True

additionalProperties

False

PipelineVariables

Schema for pipeline variables in main config.

type

object

properties

  • BIDSIFICATION

Bidsification

Variables for the BIDSification pipelines. This should be a nested dictionary with these levels: pipeline name -> pipeline version -> variable name -> variable value

type

object

additionalProperties

type

object

additionalProperties

type

object

additionalProperties

anyOf

type

string

type

null

  • PROCESSING

Processing

Variables for the processing pipelines. This should be a nested dictionary with these levels: pipeline name -> pipeline version -> variable name -> variable value

type

object

additionalProperties

type

object

additionalProperties

type

object

additionalProperties

anyOf

type

string

type

null

  • EXTRACTION

Extraction

Variables for the extraction pipelines. This should be a nested dictionary with these levels: pipeline name -> pipeline version -> variable name -> variable value

type

object

additionalProperties

type

object

additionalProperties

type

object

additionalProperties

anyOf

type

string

type

null

additionalProperties

False

Pipeline configuration files

How to read the schema table

  • Read the table from top to bottom, left to right

  • Required properties are in bold

  • The type of each property is in italics, to the right of a cell labelled “type”

    • Unless if that property is an object described by another schema, in which case it is a link to that schema

  • Default values are shown for optional properties (None if empty)

  • See the JSON schema docs for more details about keyword meanings

Here are the schemas for the config.json files in pipeline configuration directories.

BIDSification pipelines

BidsPipelineConfig

Schema for BIDS pipeline configuration.

type

object

properties

  • NAME

Name

Name of the pipeline

type

string

  • VERSION

Version

Version of the pipeline

type

string

  • DESCRIPTION

Description

Free description field

default

null

anyOf

type

string

type

null

  • CONTAINER_INFO

Information about the container image file

default

FILE

null

URI

null

ContainerInfo

  • STEPS

Steps

List of pipeline step configurations

type

array

default

items

BidsPipelineStepConfig

  • VARIABLES

Variables

Required user-defined pipeline variables. This should be a dictionary with variable names as keys and descriptions as values. For example: {{“REQUIRED_FILE”: “This file is for running the pipeline”}}

type

object

default

additionalProperties

type

string

  • PIPELINE_TYPE

default

null

anyOf

PipelineTypeEnum

type

null

  • SCHEMA_VERSION

Schema Version

Version of the schema used for this pipeline configuration. The current latest version is 1

type

string

  • CONTAINER_CONFIG

Configuration for running a container

default

COMMAND

apptainer

ARGS

ENV_VARS

INHERIT

True

ContainerConfig

additionalProperties

False

AnalysisLevelType

Pipeline step types.

type

string

enum

participant_session, participant, session, group

BidsPipelineStepConfig

Schema for BIDS pipeline step configuration.

type

object

properties

  • CONTAINER_CONFIG

Configuration for running a container

default

COMMAND

apptainer

ARGS

ENV_VARS

INHERIT

True

ContainerConfig

  • NAME

Name

Step name. Required if the pipeline has multiple steps

type

string

default

default

  • ANALYSIS_LEVEL

Analysis level of the pipeline step. This controls the granularity of the loop over subjects and sessions. By default, pipeline runners will loop over all subjects and sessions, but this field field can be set to “AnalysisLevelType.participant” to loop over subjects only, “AnalysisLevelType.session” to loop over sessions only, and AnalysisLevelType.group to only run the pipeline a single time.

default

participant_session

AnalysisLevelType

  • DESCRIPTOR_FILE

Descriptor File

Path to the JSON descriptor file. Only needed for custom pipelines

default

null

anyOf

type

string

format

path

type

null

  • INVOCATION_FILE

Invocation File

Path to the JSON invocation file

default

null

anyOf

type

string

format

path

type

null

  • HPC_CONFIG_FILE

Hpc Config File

Path to the HPC config file. This file should contain key-value pairs to be passed to the Jinja template inside the <NIPOPPY_PROJECT_ROOT>/code/hpc directory.

default

null

anyOf

type

string

format

path

type

null

  • UPDATE_STATUS

Update Status

Whether or not the in_bids column in the curation status file should be updated

default

False

anyOf

type

boolean

type

null

additionalProperties

False

ContainerCommandEnum

Container commands.

type

string

enum

singularity, apptainer

ContainerConfig

Schema for container configuration.

Does not include information about the container image.

type

object

properties

  • COMMAND

Name of container engine. If null/None, the pipeline will not run in a container (e.g., baremetal installations).

default

apptainer

anyOf

ContainerCommandEnum

type

null

  • ARGS

Args

Arguments for Apptainer/Singularity call (to be appended after the subcommand)

type

array

default

items

type

string

  • ENV_VARS

Env Vars

Environment variables that should be available inside the container

type

object

default

additionalProperties

type

string

  • INHERIT

Inherit

Whether this config should inherit from higher-lever container configs. If false, will ignore higher-level configs

type

boolean

default

True

additionalProperties

False

ContainerInfo

Schema for container image (i.e., file) information.

type

object

properties

  • FILE

File

Path to the container associated with the pipeline, relative to the root directory of the dataset

default

null

anyOf

type

string

format

path

type

null

  • URI

Uri

The Docker or Apptainer/Singularity URI for the container

default

null

anyOf

type

string

type

null

additionalProperties

False

PipelineTypeEnum

Pipeline types.

type

string

enum

bidsification, processing, extraction

Processing pipelines

ProcPipelineConfig

Schema for processing pipeline configuration.

type

object

properties

  • NAME

Name

Name of the pipeline

type

string

  • VERSION

Version

Version of the pipeline

type

string

  • DESCRIPTION

Description

Free description field

default

null

anyOf

type

string

type

null

  • CONTAINER_INFO

Information about the container image file

default

FILE

null

URI

null

ContainerInfo

  • STEPS

Steps

List of pipeline step configurations

type

array

default

items

ProcPipelineStepConfig

  • VARIABLES

Variables

Required user-defined pipeline variables. This should be a dictionary with variable names as keys and descriptions as values. For example: {{“REQUIRED_FILE”: “This file is for running the pipeline”}}

type

object

default

additionalProperties

type

string

  • PIPELINE_TYPE

default

null

anyOf

PipelineTypeEnum

type

null

  • SCHEMA_VERSION

Schema Version

Version of the schema used for this pipeline configuration. The current latest version is 1

type

string

  • CONTAINER_CONFIG

Configuration for running a container

default

COMMAND

apptainer

ARGS

ENV_VARS

INHERIT

True

ContainerConfig

additionalProperties

False

AnalysisLevelType

Pipeline step types.

type

string

enum

participant_session, participant, session, group

ContainerCommandEnum

Container commands.

type

string

enum

singularity, apptainer

ContainerConfig

Schema for container configuration.

Does not include information about the container image.

type

object

properties

  • COMMAND

Name of container engine. If null/None, the pipeline will not run in a container (e.g., baremetal installations).

default

apptainer

anyOf

ContainerCommandEnum

type

null

  • ARGS

Args

Arguments for Apptainer/Singularity call (to be appended after the subcommand)

type

array

default

items

type

string

  • ENV_VARS

Env Vars

Environment variables that should be available inside the container

type

object

default

additionalProperties

type

string

  • INHERIT

Inherit

Whether this config should inherit from higher-lever container configs. If false, will ignore higher-level configs

type

boolean

default

True

additionalProperties

False

ContainerInfo

Schema for container image (i.e., file) information.

type

object

properties

  • FILE

File

Path to the container associated with the pipeline, relative to the root directory of the dataset

default

null

anyOf

type

string

format

path

type

null

  • URI

Uri

The Docker or Apptainer/Singularity URI for the container

default

null

anyOf

type

string

type

null

additionalProperties

False

PipelineTypeEnum

Pipeline types.

type

string

enum

bidsification, processing, extraction

ProcPipelineStepConfig

Schema for processing pipeline step configuration.

type

object

properties

  • CONTAINER_CONFIG

Configuration for running a container

default

COMMAND

apptainer

ARGS

ENV_VARS

INHERIT

True

ContainerConfig

  • NAME

Name

Step name. Required if the pipeline has multiple steps

type

string

default

default

  • ANALYSIS_LEVEL

Analysis level of the pipeline step. This controls the granularity of the loop over subjects and sessions. By default, pipeline runners will loop over all subjects and sessions, but this field field can be set to “AnalysisLevelType.participant” to loop over subjects only, “AnalysisLevelType.session” to loop over sessions only, and AnalysisLevelType.group to only run the pipeline a single time.

default

participant_session

AnalysisLevelType

  • DESCRIPTOR_FILE

Descriptor File

Path to the JSON descriptor file. Only needed for custom pipelines

default

null

anyOf

type

string

format

path

type

null

  • INVOCATION_FILE

Invocation File

Path to the JSON invocation file

default

null

anyOf

type

string

format

path

type

null

  • HPC_CONFIG_FILE

Hpc Config File

Path to the HPC config file. This file should contain key-value pairs to be passed to the Jinja template inside the <NIPOPPY_PROJECT_ROOT>/code/hpc directory.

default

null

anyOf

type

string

format

path

type

null

  • TRACKER_CONFIG_FILE

Tracker Config File

Path to the tracker configuration file associated with the pipeline step

default

null

anyOf

type

string

format

path

type

null

  • PYBIDS_IGNORE_FILE

Pybids Ignore File

Path to file containing a list of regex patterns (strings) to ignore when building the PyBIDS layout

default

null

anyOf

type

string

format

path

type

null

  • GENERATE_PYBIDS_DATABASE

Generate Pybids Database

Whether or not to generate a PyBIDS database as part of the pipeline step (default: true)

default

True

anyOf

type

boolean

type

null

additionalProperties

False

Extraction pipelines

ExtractionPipelineConfig

Schema for extraction pipeline configuration.

type

object

properties

  • NAME

Name

Name of the pipeline

type

string

  • VERSION

Version

Version of the pipeline

type

string

  • DESCRIPTION

Description

Free description field

default

null

anyOf

type

string

type

null

  • CONTAINER_INFO

Information about the container image file

default

FILE

null

URI

null

ContainerInfo

  • STEPS

Steps

List of pipeline step configurations

type

array

default

items

ExtractionPipelineStepConfig

  • VARIABLES

Variables

Required user-defined pipeline variables. This should be a dictionary with variable names as keys and descriptions as values. For example: {{“REQUIRED_FILE”: “This file is for running the pipeline”}}

type

object

default

additionalProperties

type

string

  • PIPELINE_TYPE

default

null

anyOf

PipelineTypeEnum

type

null

  • SCHEMA_VERSION

Schema Version

Version of the schema used for this pipeline configuration. The current latest version is 1

type

string

  • PROC_DEPENDENCIES

Proc Dependencies

List of processing pipeline(s) (including step names) whose output the extraction pipeline depends on

type

array

items

PipelineInfo

  • CONTAINER_CONFIG

Configuration for running a container

default

COMMAND

apptainer

ARGS

ENV_VARS

INHERIT

True

ContainerConfig

additionalProperties

False

AnalysisLevelType

Pipeline step types.

type

string

enum

participant_session, participant, session, group

ContainerCommandEnum

Container commands.

type

string

enum

singularity, apptainer

ContainerConfig

Schema for container configuration.

Does not include information about the container image.

type

object

properties

  • COMMAND

Name of container engine. If null/None, the pipeline will not run in a container (e.g., baremetal installations).

default

apptainer

anyOf

ContainerCommandEnum

type

null

  • ARGS

Args

Arguments for Apptainer/Singularity call (to be appended after the subcommand)

type

array

default

items

type

string

  • ENV_VARS

Env Vars

Environment variables that should be available inside the container

type

object

default

additionalProperties

type

string

  • INHERIT

Inherit

Whether this config should inherit from higher-lever container configs. If false, will ignore higher-level configs

type

boolean

default

True

additionalProperties

False

ContainerInfo

Schema for container image (i.e., file) information.

type

object

properties

  • FILE

File

Path to the container associated with the pipeline, relative to the root directory of the dataset

default

null

anyOf

type

string

format

path

type

null

  • URI

Uri

The Docker or Apptainer/Singularity URI for the container

default

null

anyOf

type

string

type

null

additionalProperties

False

ExtractionPipelineStepConfig

Schema for extraction pipeline step configuration.

type

object

properties

  • CONTAINER_CONFIG

Configuration for running a container

default

COMMAND

apptainer

ARGS

ENV_VARS

INHERIT

True

ContainerConfig

  • NAME

Name

Step name. Required if the pipeline has multiple steps

type

string

default

default

  • ANALYSIS_LEVEL

Analysis level of the pipeline step. This controls the granularity of the loop over subjects and sessions. By default, pipeline runners will loop over all subjects and sessions, but this field field can be set to “AnalysisLevelType.participant” to loop over subjects only, “AnalysisLevelType.session” to loop over sessions only, and AnalysisLevelType.group to only run the pipeline a single time.

default

participant_session

AnalysisLevelType

  • DESCRIPTOR_FILE

Descriptor File

Path to the JSON descriptor file. Only needed for custom pipelines

default

null

anyOf

type

string

format

path

type

null

  • INVOCATION_FILE

Invocation File

Path to the JSON invocation file

default

null

anyOf

type

string

format

path

type

null

  • HPC_CONFIG_FILE

Hpc Config File

Path to the HPC config file. This file should contain key-value pairs to be passed to the Jinja template inside the <NIPOPPY_PROJECT_ROOT>/code/hpc directory.

default

null

anyOf

type

string

format

path

type

null

additionalProperties

False

PipelineInfo

Schema for pipeline information.

type

object

properties

  • NAME

Name

Name of the pipeline

type

string

  • VERSION

Version

Version of the pipeline

type

string

  • STEP

Step

Name of the pipeline step

type

string

default

default

additionalProperties

False

PipelineTypeEnum

Pipeline types.

type

string

enum

bidsification, processing, extraction

Tracker configuration file

How to read the schema table

  • Read the table from top to bottom, left to right

  • Required properties are in bold

  • The type of each property is in italics, to the right of a cell labelled “type”

    • Unless if that property is an object described by another schema, in which case it is a link to that schema

  • Default values are shown for optional properties (None if empty)

  • See the JSON schema docs for more details about keyword meanings

Here is the schema for a tracker configuration file:

TrackerConfig

Schema for tracker configuration.

type

object

properties

  • PATHS

Paths

List of at least one path to track. A path can include template strings for participant/session IDs and/or glob expressions

type

array

items

type

string

format

path

  • PARTICIPANT_SESSION_DIR

Participant Session Dir

Path to the directory where participant-session results are expected

default

null

anyOf

type

string

format

path

type

null

additionalProperties

False

HPC configuration file

How to read the schema table

  • Read the table from top to bottom, left to right

  • Required properties are in bold

  • The type of each property is in italics, to the right of a cell labelled “type”

    • Unless if that property is an object described by another schema, in which case it is a link to that schema

  • Default values are shown for optional properties (None if empty)

  • See the JSON schema docs for more details about keyword meanings

Here is the schema for an HPC (high-performance computing) configuration file:

HpcConfig

Schema for High-Performance Computing (HPC) system configuration.

Key-value pairs are passed to a Jinja template for the requested HPC job queue.

Any key can be used except for the following:
  • “queue”

  • “working_directory”

  • “command”

  • Anything that starts with “NIPOPPY_” (reserved for internal use)

Values are converted to strings except if they are None.

type

object

properties

additionalProperties

True

Manifest file

How to read the schema table

  • Read the table from top to bottom, left to right

  • Required properties are in bold

  • The type of each property is in italics, to the right of a cell labelled “type”

    • Unless if that property is an object described by another schema, in which case it is a link to that schema

  • Default values are shown for optional properties (None if empty)

  • See the JSON schema docs for more details about keyword meanings

Here is the schema for the manifest file:

ManifestModel

A user-provided listing of participant and visits available in the dataset.

Note: This class is called “model” to be consistent with Pydantic nomenclature, but it can be thought of as a schema for each row in the manifest file.

type

object

properties

  • participant_id

Participant ID

Participant identifier, without the BIDS prefix

type

string

  • visit_id

Visit Id

Visit identifier

type

string

  • session_id

Session Id

Imaging session identifier, without the BIDS prefix

anyOf

type

string

type

null

  • datatype

Datatype

Imaging datatype, as recognized by BIDS (see https://bids-specification.readthedocs.io/en/stable/common-principles.html)

anyOf

type

array

items

type

string

type

null

additionalProperties

True

Curation status file

How to read the schema table

  • Read the table from top to bottom, left to right

  • Required properties are in bold

  • The type of each property is in italics, to the right of a cell labelled “type”

    • Unless if that property is an object described by another schema, in which case it is a link to that schema

  • Default values are shown for optional properties (None if empty)

  • See the JSON schema docs for more details about keyword meanings

Here is the schema for the curation status file:

CurationStatusModel

An internally- or user-generated file to keep track of the BIDSification process.

Should contain exactly the same data as the manifest, with some additional columns.

Note: This class is called “model” to be consistent with Pydantic nomenclature, but it can be thought of as a schema for each row in the curation status file.

type

object

properties

  • participant_id

Participant ID

Participant identifier, without the BIDS prefix

type

string

  • visit_id

Visit Id

Visit identifier

type

string

  • session_id

Session Id

Imaging session identifier, without the BIDS prefix

anyOf

type

string

type

null

  • datatype

Datatype

Imaging datatype, as recognized by BIDS (see https://bids-specification.readthedocs.io/en/stable/common-principles.html)

anyOf

type

array

items

type

string

type

null

  • participant_dicom_dir

Participant DICOM directory

Path to the directory containing raw DICOMs (in potentially messy tree structure) for the participant-visit pair, relative to the raw data directory

type

string

  • in_pre_reorg

In Pre Reorg

Whether files are available on disk

type

boolean

  • in_post_reorg

In Post Reorg

Whether files have been organized in the sourcedata directory

type

boolean

  • in_bids

BIDSified

Whether files have been converted to BIDS

type

boolean

additionalProperties

True

Processing status file

How to read the schema table

  • Read the table from top to bottom, left to right

  • Required properties are in bold

  • The type of each property is in italics, to the right of a cell labelled “type”

    • Unless if that property is an object described by another schema, in which case it is a link to that schema

  • Default values are shown for optional properties (None if empty)

  • See the JSON schema docs for more details about keyword meanings

Here is the schema for the processing status file:

ProcessingStatusModel

A file generated by the trackers.

Contains processing statuses for image processing pipelines.

Note: This class is called “model” to be consistent with Pydantic nomenclature, but it can be thought of as a schema for each row in the processing status file.

type

object

properties

  • participant_id

Participant ID

Participant identifier, without the BIDS prefix (as in the manifest)

type

string

  • bids_participant_id

BIDS participant ID

Participant identifier with BIDS prefix (e.g., sub-01)

type

string

  • session_id

Session Id

Imaging session identifier, without the BIDS prefix

type

string

  • bids_session_id

Bids Session Id

Imaging session identifier with BIDS prefix (e.g., ses-01)

type

string

  • pipeline_name

Pipeline Name

The name of the pipeline being tracked

type

string

  • pipeline_version

Pipeline Version

The version of the pipeline being tracked

type

string

  • pipeline_step

Pipeline Step

The name of the pipeline step being tracked

type

string

  • status

Status

The status of the pipeline run for this participant-visit pair

type

string

DICOM directory mapping file

How to read the schema table

  • Read the table from top to bottom, left to right

  • Required properties are in bold

  • The type of each property is in italics, to the right of a cell labelled “type”

    • Unless if that property is an object described by another schema, in which case it is a link to that schema

  • Default values are shown for optional properties (None if empty)

  • See the JSON schema docs for more details about keyword meanings

Here is the schema for the DICOM directory mapping file:

DicomDirMapModel

A file for mapping participant IDs to DICOM directories.

Note: This class is called “model” to be consistent with Pydantic nomenclature, but it can be thought of as a schema for each row in the mapping file.

type

object

properties

  • participant_id

Participant ID

Participant identifier, without the BIDS prefix

type

string

  • session_id

Session Id

Imaging session identifier, without the BIDS prefix

type

string

  • participant_dicom_dir

Participant’s raw DICOM directory

Path to the participant’s source DICOM directory, relative to <NIPOPPY_PROJECT_ROOT>/sourcedata/imaging/pre_reorg

type

string

Layout configuration

How to read the schema table

  • Read the table from top to bottom, left to right

  • Required properties are in bold

  • The type of each property is in italics, to the right of a cell labelled “type”

    • Unless if that property is an object described by another schema, in which case it is a link to that schema

  • Default values are shown for optional properties (None if empty)

  • See the JSON schema docs for more details about keyword meanings

Here is the schema used for JSON files that define the layout of the dataset:

LayoutConfig

Relative paths for the dataset layout.

type

object

properties

  • dpath_bids

Directory for raw imaging data in BIDS

DpathInfo

  • dpath_derivatives

Directory for imaging derivatives

DpathInfo

  • dpath_sourcedata

Directory for source imaging and tabular data

DpathInfo

  • dpath_src_tabular

Directory for tabular data source files (e.g., downloaded CSVs, Excel files, RedCAP reports)

DpathInfo

  • dpath_src_imaging

Directory for non-BIDS imaging data files and archives

DpathInfo

  • dpath_downloads

Directory for downloaded data

DpathInfo

  • dpath_pre_reorg

Directory for unorganized source imaging files

DpathInfo

  • dpath_post_reorg

Directory for imaging data that is organized but not yet in BIDS

DpathInfo

  • dpath_code

Directory for code and scripts

DpathInfo

  • dpath_hpc

Directory for HPC job submission template files

OptionalDpathInfo

  • dpath_pipelines

Directory for configurations or other files needed to run pipelines

DpathInfo

  • dpath_containers

Directory for storing container images

DpathInfo

  • dpath_scratch

Directory for temporary files

DpathInfo

  • dpath_pybids_db

Directory for PyBIDS databases

DpathInfo

  • dpath_work

Directory for temporary/working files generated during pipeline runs

DpathInfo

  • dpath_logs

Directory for logs generated by Nipoppy

DpathInfo

  • dpath_tabular

Directory for tabular data

DpathInfo

  • dpath_assessments

Directory for tabular assessment data

DpathInfo

  • fpath_config

Path to the configuration file

FpathInfo

  • fpath_manifest

Path to the manifest file

FpathInfo

  • fpath_curation_status

Path to the curation status file (for tracking the BIDSification process)

OptionalFpathInfo

  • fpath_processing_status

Path to the processing status file (for tracking imaging derivative availability at the participant level)

OptionalFpathInfo

  • fpath_demographics

Path to the study’s demographics data file

OptionalFpathInfo

additionalProperties

False

DpathInfo

Relative path and description for a directory.

type

object

properties

  • path

Path

Relative path to the file or directory

type

string

format

path

  • description

Description

Description of the function of the file or directory

default

null

anyOf

type

string

type

null

FpathInfo

Relative path and description for a file.

type

object

properties

  • path

Path

Relative path to the file or directory

type

string

format

path

  • description

Description

Description of the function of the file or directory

default

null

anyOf

type

string

type

null

OptionalDpathInfo

Relative path and description for a directory that is optional.

type

object

properties

  • path

Path

Relative path to the file or directory

type

string

format

path

  • description

Description

Description of the function of the file or directory

default

null

anyOf

type

string

type

null

OptionalFpathInfo

Relative path and description for a file that is optional.

type

object

properties

  • path

Path

Relative path to the file or directory

type

string

format

path

  • description

Description

Description of the function of the file or directory

default

null

anyOf

type

string

type

null

Custom Nipoppy configurations in a Boutiques descriptor

How to read the schema table

  • Read the table from top to bottom, left to right

  • Required properties are in bold

  • The type of each property is in italics, to the right of a cell labelled “type”

    • Unless if that property is an object described by another schema, in which case it is a link to that schema

  • Default values are shown for optional properties (None if empty)

  • See the JSON schema docs for more details about keyword meanings

Nipoppy can read additional configurations from a Boutiques descriptor, under the custom\nipoppy key. The JSON object is expected to comply with the following schema:

BoutiquesConfig

Schema for custom configuration within a Boutiques descriptor.

type

object

properties

  • CONTAINER_SUBCOMMAND

Container Subcommand

Subcommand for Apptainer/Singularity call

type

string

default

run

  • CONTAINER_CONFIG

Configuration for running a container

default

COMMAND

apptainer

ARGS

ENV_VARS

INHERIT

True

ContainerConfig

additionalProperties

False

ContainerCommandEnum

Container commands.

type

string

enum

singularity, apptainer

ContainerConfig

Schema for container configuration.

Does not include information about the container image.

type

object

properties

  • COMMAND

Name of container engine. If null/None, the pipeline will not run in a container (e.g., baremetal installations).

default

apptainer

anyOf

ContainerCommandEnum

type

null

  • ARGS

Args

Arguments for Apptainer/Singularity call (to be appended after the subcommand)

type

array

default

items

type

string

  • ENV_VARS

Env Vars

Environment variables that should be available inside the container

type

object

default

additionalProperties

type

string

  • INHERIT

Inherit

Whether this config should inherit from higher-lever container configs. If false, will ignore higher-level configs

type

boolean

default

True

additionalProperties

False