Introduction to ancpBIDS#
ancpBIDS was developed by Erdal Karaca as part of his Master Thesis (2022) within the Applied Neurocognitive Psychology (ANCP) Lab and in agreement with some members of the PyBIDS community. It provides tools for handling I/O (Input/Output) tasks in BIDS datasets, with a focus on maintaining a lightweight structure and ensuring backwards compatibility with pyBIDS.
Significant performance optimization. thanks to its in-memory graph representation, ancpBIDS efficiently manages the loading process of datasets across multiple layers. A benchmark comparing dataset loading and querying performance showed that ancpBIDS performs efficiently across various dataset sizes.
Maintainable and clean implementation. A modular structure helps to control the complexity and minimizes transitive dependencies, making ancpBIDS lightweight and attractive for third-party integration. This design also encourages community contributions and future extensibility.
Support for multiple BIDS schema versions. ancpBIDS dynamically adapts to different BIDS versions based on the dataset’s version declaration.
In-memory graph?
If you want to learn more how ancpBIDS uses the BIDS specification to build the in-memory graph representation (and what exactly is a in-memory graph representation), follow this link.
What is BIDS?
#
“Neuroimaging experiments result in complex data that can be arranged in many different ways, and for a long time, there was no consensus on how to organize and share data obtained in neuroimaging experiments. Brain Imaging Data Structure (BIDS), describes a simple and easy to adopt way of organizing neuroimaging and behavioral data” (Gorgolewski et al., 2016; Niso et al., 2018).

The BIDS Specification defines the rules for data organizing and naming conventions. It is continuously updated thanks to community efforts. To ensure that the Specifications are implemented consistently, BIDS provides BIDS Schema, a machine readable representation written in YAML format. The BIDS Schema describes the different possible objects (BIDS concepts), rules (for naming filepaths and contents) and meta (the context to which rules can be applied).

Would you like to know more about the BIDS specification?
You can find more information the BIDS Specification on their official BIDS webpage.
Next section#
In the next section, we’ll walk through the installation and basics for the tutorial.