# Glossary

## Nipoppy terms

```{glossary}
Manifest file
    The [manifest file](../explanations/manifest) at {{fpath_manifest}} contains ground truth information about the participants and visits/sessions available for a dataset.

    A guide for how to create a manifest file can be found [here](../how_to_guides/manifest/index).

Global config file
    The global configuration file at {{fpath_config}} allows for high-level configuration of the Nipoppy software tools (e.g., user-provided paths needed to run pipelines, container runtime arguments).

Tracker config file
    The tracker config file lists the expected output files for a given pipeline. Nipoppy checks the presence of these files to mark successful completion of the pipeline. Note that the default tracker configuration files are somewhat minimal and do not check all possible output files generated these pipelines.

Curation status file

    ```{note}
    In older versions of `nipoppy`, this file was called the "doughnut file".
    ```

    A tabular file at {{fpath_curation_status}} that keeps track of the status of raw imaging data (i.e., whether it is available and/or has been reorganized and/or has been converted to {term}`BIDS`). This file is automatically generated/updated by Nipoppy workflows, though it can safely be deleted manually (if e.g. it contains outdated information), in which case it will be regenerated automatically when needed. The curation status file can also be created/updated with the [`nipoppy track-curation`](../reference/cli_reference/track_curation.rst) command if needed.

    See {ref}`here <curation-status-schema>` for more information about the columns in the file.

Processing status file
    ```{note}
    In older versions of `nipoppy`, this file was called the "bagel file".
    ```

    A tabular file at {{fpath_processing_status}} that indicates the completion status of processing pipelines of interest at the participant-session level. The processing status file is created by the [`nipoppy track-processing`](../reference/cli_reference/track_processing.rst) command and can be used as input to [the Neurobagel CLI](https://neurobagel.org/user_guide/cli).

    See {ref}`here <processing-status-schema>` for more information about the columns in the file.

Session ID
    A BIDS-compliant session identifier, without the `"ses-"` prefix.

Visit ID
    An identifier for a data collection event, not restricted to imaging data.
```

## Neuroimaging/software terms

```{glossary}

Apptainer
    Formerly known as Singularity. A system for building and running containerized applications on Linux. Requires less system permissions than {term}`Docker`. See the [website](https://apptainer.org/) for more information.

API
    Application Programming Interface, how software interacts with other software.

BIDS
    The Brain Imaging Data Structure, a community standard for organizing neuroimaging (and other) data. See the [BIDS website](https://bids.neuroimaging.io/) for more information.

Boutiques
    A flexible framework for describing and executing command-line tools. Boutiques is based on JSON *descriptor* files that list tool inputs, outputs, error codes, and more. JSON *invocation* files are used to specify runtime parameters. See the [website](https://boutiques.github.io/) for more information.

CLI
    Command-line interface, i.e. software that can be run in the Terminal.

`conda`
    An package and environment manager for Python (and other) environments. See the [`conda` website](https://conda.io/projects/conda/en/latest/user-guide/getting-started.html) for more information.

Docker
    A platform for building, sharing and running containerized applications on Linux, macOS or Windows. See the [website](https://www.docker.com/) for more information.

HPC
    High-perfomance computing system, i.e. a compute cluster or supercomputer.

JSON
    JavaScript Object Notation, a file format for storing and sharing data. JSON structures are combinations of *objects* (key-value pairs) and *arrays* (ordered lists). See the [website](https://www.json.org/json-en.html) for more information.

MRI
    Magnetic resonance imaging, the most widely used neuroimaging modality.

PyPI
    The [Python Package Index](https://pypi.org/), a repository of Python packages that are `pip`-installable.

`venv`
    A Python built-in library for creating Python virtual environments. See the [Python documentation](https://docs.python.org/3/library/venv.html) for more information.
```
