p3 is an extensible preprocessing pipeline that encourages experimentation and customization. In addition to providing a BIDS-compatible preprocessing pipeline for users, it also provides a platform to quickly and easily integrate new processing methods into an neuroimaging processing stream.
Powered by the nipype project, p3 takes advantage of the cross package python interface it provides, allowing users to use a variety of neuroimaging software in their pipelines from one standard interface. The nipype concepts of nodes and workflows allows users to construct processing streams in an intuitive manner.
Simply clone the repo, then run:
# add --user if necessary
python3 setup.py develop
change version --> build p3 --> upload to PyPI --> upload to docker hub --> build on singularity hub
# change version in p3/version first!
python3 setup.py sdist bdist_wheel # creates the package
twine upload dist/* # uploads new packages
# build/tag images
docker build . -t p3proc/p3:tag # builds and tags image
docker tag p3proc/p3:tag p3/proc:latest # tags the built image as latest
# push images
docker push p3proc/p3:tag
docker push p3proc/p3:latest
# create singularity build file
touch Singularity/Singularity.tag
# open Singularity/Singularity for an example
See the documentation for more information.