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.
This repo currently only has pre-processing capabilities! More will be added in the near future.
The pre-processing workflow has been updated to reflect what's seen in the optimal DESIGNER pipeline and on mrtrix3 cloud apps on brainlife.io.
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.4
-
To run interactively or as a job execution, you will need a few flags:
-e
for a clean environnment-B
to bind your freesurfer license file to the image, as well as data/code directories.singularity shell -e -B <freesurfer_license_path>:/license.txt -B <BIDS_DIR>:<SINGULARITY_BIDS_DIR> {Path to singularity .sif}
- Once inside the singularity shell, confirm the license file is recognized as a environment variable. Or declare it with:
export FS_LICENSE="/license.txt"
- Sometimes Freesurfer set-up doesn't run as container entry-point.
- Fix with
source /opt/freesurfer-7.1.0/SetUpFreeSurfer.sh
- Fix with
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 container.
The pipeline:
Currently supports acquisitions with no reverse phase encoding (-rpe_none
) and reverse phase encoding in all DWI directions (-rpe_all
) options.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pipetography-0.3.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2aef51f4baea3261112b964cb3ad5af6988c76eb08297c68245950e318f6298 |
|
MD5 | 5560229cdc2df3f1b018f547bb55ba6b |
|
BLAKE2b-256 | 2c711f7e68becc51e47254378b7166621ea6dba6653ad0fc2c9b94d2d513d152 |