Welcome to pipe-tree’s documentation!¶
Note
The pipe-tree package has been renamed to fsl-pipe. Please switch to this new package following instructions on the README (https://git.fmrib.ox.ac.uk/ndcn0236/pipe-tree). The documentation for fsl-pipe can be found at https://open.win.ox.ac.uk/pages/ndcn0236/fsl-pipe
Framework to build pipelines in a declerative manner based on FileTrees. Pipe-tree has the following features:
The directory tree containing the input, intermediate, and output files are defined separately from the pipeline code in the convenient file-tree format
The pipeline writer only defines the individual recipes in regular python code (e.g., how to convert file A into file B or file B into C), which pipe-tree will stitch together into a complete pipeline.
Users can run part of the pipeline by defining which files they actually want to produce.
By default, the pipeline will skip any jobs for which the output files already exist.
Jobs can be run locally in sequence as normal python functions or in parallel by submitting to a cluster queue (using fsl_sub) or by using dask.
Install using
pip install git+https://git.fmrib.ox.ac.uk/ndcn0236/pipe-tree.git
Typical usage:
from pipe_tree import pipe, In, Out, Ref, Var
@pipe
def job(input_file: In, output_file: Out):
# code to convert `input_file` to `output_file`
pipe.cli() # runs command line interface
- Pipe-tree tutorial
- pipe_tree package