Skip to main content

Pre/Post-processing pipeline for tractography wrapped around nipype and mrtrix3

Project description

Pipetography

Nipype and mrtrix3 based pre-/post- processing pipeline for brain diffusion-MRI and generation of structural connectomes of the brain.

CI docker

The pre-processing pipeline has been updated to reflect what's seen in the optimal DESIGNER pipeline and on mrtrix3 cloud apps on brainlife.io.

The post-processing pipeline, including co-registration of atlases and connectome generation is now included in the connectomes module

Install

Since most usages will be on HPC resources, I highly recommend that you use the Singularity definition file in the repository instead of installing the Python module.

Singularity:

  • This is a large image, you will need to set the following environment variables to somewhere other than /tmp if you want to avoid memory errors:

    • export SINGULARITY_TMPDIR={YOUR DESTINATION DIR}
    • export SINGULARITY_LOCALCACHEDIR={YOUR DESTINATION DIR}
    • export SINGULARITY_CACHEDIR={YOUR DESTINATION DIR}
    • export SINGULARITY_PULLFOLDER={YOUR DESTINATION DIR}
  • Build the singularity image with the singularity.def file provided in Github, you will need to have sudo permissions to perform singularity build. If you run into memory problems, consider building as a sandbox at first with the -s flag.

    • sudo singularity build {image_file_name}.sif singularity.def
  • OR pull the built singularity image from cloud library:

    • singularity pull --arch amd64 library://axiezai/pipetography/pipetography:0.3.9

Docker:

  • Docker often encounters permission problems on HPC resources, using the docker container is only recommended if you have sudo permissions to the machine.
  • docker pull axiezai/pipetography:0.3.9

Usage:

  • To run the singularity container interactively, you will need a few flags:
    • -e flag for a clean environnment upon container start
    • -B flag to bind your BIDS directory into the container.
  • Example:
    • singularity shell -e -B <BIDS_DIR>:<SINGULARITY_BIDS_DIR> {Path to singularity .sif} will start an interactive shell.
    • singualrity exec -e -B <BIDS_DIR>:<SINGULARITY_BIDS_DIR> {Path to singularity .sif} python dwi_pipeline.py will execute the input python code. See pipeline for an example.

Creating your own environment and install pipetography as a Python module:

pip install pipetography

Since pipetography is a Nipype wrapper around mrtrix3, ANTs, and FSL, you have to follow their installation instructions and set them up appropriately on your machine as well:

Everything listed in this section is included in the Singularity and Docker containers.

The pipeline:

Currently supports acquisitions with no reverse phase encoding (-rpe_none) and reverse phase encoding in all DWI directions (-rpe_all) options. See pipeline for preprocessing details, and connectomes for postprocessing details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pipetography-0.3.9.tar.gz (26.9 kB view hashes)

Uploaded Source

Built Distribution

pipetography-0.3.9-py3-none-any.whl (26.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page