Installation
BIDS App for Hippocampal AutoTop (automated hippocampal unfolding and
subfield segmentation)
Requirements
- Docker (Intel Mac/Windows/Linux) or Singularity (Linux)
- For those wishing to contribute or modify the code,
pip install
or poetry install
are also available (Linux), but will still require singularity to handle some dependencies. See Contributing to HippUnfold.
- GPU not required
- Note: Apple M1 is currently not supported. We don't have a Docker arm64 container yet, and hippunfold is unusably slow with the emulated amd64 container.
Notes:
- Inputs to Hippunfold should typically be a BIDS dataset including T1w images or T2w images. Higher-resolution data are preferred (\<= 0.8mm) but the pipeline will still work with 1mm T1w images. See Tutorials.
- Other 3D imaging modalities (eg. ex-vivo MRI, 3D histology, etc.) can be used, but may require manual tissue segmentation as the current workflow relies on U-net segmentation trained only on common MRI modalities.
Comparison of methods for running HippUnfold
There are several different ways of running HippUnfold. In order of increasing complexity/flexibility, we have:
- CBRAIN Web-based Platform
- Singularity Container on Linux
- Docker Container on Windows/Mac (Intel)/Linux
- Python Environment with Singularity Dependencies
HippUnfold is available on the CBRAIN platform, a
web-based platform for batch high-performance computing that is free for researchers.
Pros:
- No software installation required
- Fully point and click interface (no CLI)
- Can perform batch-processing
Cons:
- Must upload data for processing
- Limited command-line options exposed
- Cannot edit code
Docker on Windows/Mac (Intel)/Linux
The HippUnfold BIDS App is available on a DockerHub as versioned releases and development branches.
Pros:
- Compatible with non-Linux systems
- All dependencies+models (* See Note 1) in a single container
Cons:
- Typically not possible on shared machines
- Cannot use Snakemake cluster execution profiles
- Cannot edit code
Singularity Container
The same docker container can also be used with Singularity (now Apptainer). Instructions can be found below.
Pros:
- All dependencies+models (* See Note 1) in a single container
- Container stored as a single file (.sif)
Cons:
- Compatible on shared systems with Singularity installed
- Cannot use Snakemake cluster execution profiles
- Cannot edit code
Python Environment with Singularity Dependencies
Instructions for this can be found in the Contributing documentation page.
Pros:
- Complete flexibility to modify code
- External (python and non-python) dependencies as Singularity containers
Cons:
- Must use Python virtual environment
- Only compatible on Linux systems with Singularity for external dependencies
Note 1:
As of version 1.3.0 of HippUnfold, containers are no longer shipped with all the models, and the models are downloaded as part of the workflow. By default, models are placed in ~/.cache/hippunfold
unless you set the HIPPUNFOLD_CACHE_DIR
environment variable. See Deep learning nnU-net model files for more information.