Installation

BDT should be installed using container technologies.

docker pull nipreps/bdt:main

Containerized execution (Docker and Singularity)

BDT is a NiPreps application, and therefore follows some overarching principles of containerized execution drawn from the BIDS-Apps protocols. For detailed information of containerized execution of NiPreps, please visit the corresponding Docker or Singularity subsections.

External Dependencies

BDT is written using Python 3.12, and is based on nipype. The Python environment (nipype, niworkflows, pybids, and related NiPreps libraries) is resolved with pixi from pixi.lock.

The container image additionally bundles a small set of neuroimaging tools that are not handled by Python’s packaging system:

  • Connectome Workbench (version 1.5.0) — surface/CIFTI parcellation and label resampling.

  • AFNI (a minimal subset of programs, e.g. 3dresample, 3dTshift).

  • bids-validator (version 1.14.10, installed via npm).

Note

The full atlas-transform toolchain described in the design (ANTs ApplyTransforms for volumetric atlas resampling, and the Rust binaries trxrs / giftirs / odx for streamline, surface, and diffusion-model transforms) is not yet part of the container image. These will be added as the corresponding workflows are implemented. If you run BDT outside the container, install the tools required by the operations you use.

Not running on a local machine? - Data transfer

If you intend to run BDT on a remote system, you will need to make your data available within that system first.

For instance, here at the Poldrack Lab we use Stanford’s HPC system, called Sherlock. Sherlock enables the following data transfer options.

Alternatively, more comprehensive solutions such as Datalad will handle data transfers with the appropriate settings and commands. Datalad also performs version control over your data.