diff --git a/.circleci/config.yml b/.circleci/config.yml index 1cc650b..49edb3d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2.1 build: &build docker: - image: cimg/base:2020.09 - working_directory: /tmp/src/qsiprep_build + working_directory: /tmp/src/qsirecon_build steps: - checkout - setup_remote_docker: @@ -43,11 +43,11 @@ build: &build --rm=false \ -f ${BUILD_FILE} \ --build-arg TAG_ANTS=${TAG_ANTS} \ - -t pennbbl/${IMG_NAME}:${CIRCLE_TAG} . + -t pennlinc/${IMG_NAME}:${CIRCLE_TAG} . if [[ -n "$DOCKER_PASS" ]]; then docker login -u $DOCKER_USER -p $DOCKER_PASS - docker push pennbbl/${IMG_NAME}:$CIRCLE_TAG + docker push pennlinc/${IMG_NAME}:$CIRCLE_TAG fi jobs: @@ -55,49 +55,49 @@ jobs: build_FSL: environment: VERSION_TAG: "TAG_FSL" - IMG_NAME: "qsiprep-fsl" + IMG_NAME: "qsirecon-fsl" BUILD_FILE: "Dockerfile_FSLconda" <<: *build build_FreeSurfer: environment: VERSION_TAG: "TAG_FREESURFER" - IMG_NAME: "qsiprep-freesurfer" + IMG_NAME: "qsirecon-freesurfer" BUILD_FILE: "Dockerfile_FreeSurfer" <<: *build build_3Tissue: environment: VERSION_TAG: "TAG_3TISSUE" - IMG_NAME: "qsiprep-3tissue" + IMG_NAME: "qsirecon-3tissue" BUILD_FILE: "Dockerfile_3Tissue" <<: *build build_MRtrix3: environment: VERSION_TAG: "TAG_MRTRIX3" - IMG_NAME: "qsiprep-mrtrix3" + IMG_NAME: "qsirecon-mrtrix3" BUILD_FILE: "Dockerfile_MRtrix3" <<: *build build_AFNI: environment: VERSION_TAG: "TAG_AFNI" - IMG_NAME: "qsiprep-afni" + IMG_NAME: "qsirecon-afni" BUILD_FILE: "Dockerfile_AFNI" <<: *build build_DSIStudio: environment: VERSION_TAG: "TAG_DSISTUDIO" - IMG_NAME: "qsiprep-dsistudio" + IMG_NAME: "qsirecon-dsistudio" BUILD_FILE: "Dockerfile_DSIStudio" <<: *build build_ANTs: environment: VERSION_TAG: "TAG_ANTS" - IMG_NAME: "qsiprep-ants" + IMG_NAME: "qsirecon-ants" BUILD_FILE: "Dockerfile_ANTs" resource_class: large <<: *build @@ -105,28 +105,28 @@ jobs: build_Miniconda: environment: VERSION_TAG: "TAG_MINICONDA" - IMG_NAME: "qsiprep-miniconda" + IMG_NAME: "qsirecon-miniconda" BUILD_FILE: "Dockerfile_Miniconda" <<: *build build_Micromamba: environment: VERSION_TAG: "TAG_MICROMAMBA" - IMG_NAME: "qsiprep-micromamba" + IMG_NAME: "qsirecon-micromamba" BUILD_FILE: "Dockerfile_Micromamba" <<: *build build_TORTOISE: environment: VERSION_TAG: "TAG_TORTOISE" - IMG_NAME: "qsiprep-drbuddi" + IMG_NAME: "qsirecon-drbuddi" BUILD_FILE: "Dockerfile_TORTOISE" <<: *build build_TORTOISECUDA: environment: VERSION_TAG: "TAG_TORTOISECUDA" - IMG_NAME: "qsiprep-drbuddicuda" + IMG_NAME: "qsirecon-drbuddicuda" BUILD_FILE: "Dockerfile_TORTOISEcuda" <<: *build @@ -135,7 +135,7 @@ jobs: TZ: "/usr/share/zoneinfo/America/New_York" docker: - image: cimg/base:2020.09 - working_directory: /tmp/src/qsiprep_build + working_directory: /tmp/src/qsirecon_build steps: - checkout - setup_remote_docker: @@ -149,7 +149,7 @@ jobs: source setup_build.sh do_build build_fsl docker login -u $DOCKER_USER -p $DOCKER_PASS - docker push pennbbl/qsiprep_build:$CIRCLE_TAG + docker push pennlinc/qsirecon_build:$CIRCLE_TAG fi build_nofsl: @@ -157,7 +157,7 @@ jobs: TZ: "/usr/share/zoneinfo/America/New_York" docker: - image: cimg/base:2020.09 - working_directory: /tmp/src/qsiprep_build + working_directory: /tmp/src/qsirecon_build steps: - checkout - setup_remote_docker: @@ -171,7 +171,7 @@ jobs: source setup_build.sh do_build no_fsl docker login -u $DOCKER_USER -p $DOCKER_PASS - docker push pennbbl/qsiprep_build:${CIRCLE_TAG}-nofsl + docker push pennlinc/qsirecon_build:${CIRCLE_TAG}-nofsl fi deployable: diff --git a/Dockerfile b/Dockerfile index 665a1b4..994a9fa 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,37 +14,37 @@ ARG TAG_TORTOISECUDA ARG FSL_BUILD # COPY can't handle variables, so here we go -FROM pennbbl/qsiprep-fsl:${TAG_FSL} as build_fsl -FROM pennbbl/qsiprep-freesurfer:${TAG_FREESURFER} as build_freesurfer -FROM pennbbl/qsiprep-ants:${TAG_ANTS} as build_ants -FROM pennbbl/qsiprep-mrtrix3:${TAG_MRTRIX3} as build_mrtrix3 -FROM pennbbl/qsiprep-3tissue:${TAG_3TISSUE} as build_3tissue -FROM pennbbl/qsiprep-dsistudio:${TAG_DSISTUDIO} as build_dsistudio -FROM pennbbl/qsiprep-micromamba:${TAG_MICROMAMBA} as build_micromamba -FROM pennbbl/qsiprep-afni:${TAG_AFNI} as build_afni -FROM pennbbl/qsiprep-drbuddi:${TAG_TORTOISE} as build_tortoise -FROM pennbbl/qsiprep-drbuddicuda:${TAG_TORTOISE} as build_tortoisecuda +FROM pennlinc/qsirecon-fsl:${TAG_FSL} as build_fsl +FROM pennlinc/qsirecon-freesurfer:${TAG_FREESURFER} as build_freesurfer +FROM pennlinc/qsirecon-ants:${TAG_ANTS} as build_ants +FROM pennlinc/qsirecon-mrtrix3:${TAG_MRTRIX3} as build_mrtrix3 +FROM pennlinc/qsirecon-3tissue:${TAG_3TISSUE} as build_3tissue +FROM pennlinc/qsirecon-dsistudio:${TAG_DSISTUDIO} as build_dsistudio +FROM pennlinc/qsirecon-micromamba:${TAG_MICROMAMBA} as build_micromamba +FROM pennlinc/qsirecon-afni:${TAG_AFNI} as build_afni +FROM pennlinc/qsirecon-drbuddi:${TAG_TORTOISE} as build_tortoise +FROM pennlinc/qsirecon-drbuddicuda:${TAG_TORTOISE} as build_tortoisecuda FROM pennlinc/atlaspack:0.1.0 as atlaspack FROM nvidia/cuda:11.1.1-runtime-ubuntu18.04 as ubuntu # Make a dummy fsl image containing no FSL FROM ubuntu as no_fsl -RUN mkdir -p /opt/conda/envs/fslqsiprep/bin \ - && touch /opt/conda/envs/fslqsiprep/bin/eddy_cuda10.2 +RUN mkdir -p /opt/conda/envs/fslqsirecon/bin \ + && touch /opt/conda/envs/fslqsirecon/bin/eddy_cuda10.2 FROM ${FSL_BUILD} as this-fsl FROM ubuntu ## FSL -COPY --from=this-fsl /opt/conda/envs/fslqsiprep /opt/conda/envs/fslqsiprep -ENV FSLDIR="/opt/conda/envs/fslqsiprep" \ +COPY --from=this-fsl /opt/conda/envs/fslqsirecon /opt/conda/envs/fslqsirecon +ENV FSLDIR="/opt/conda/envs/fslqsirecon" \ FSLOUTPUTTYPE="NIFTI_GZ" \ FSLMULTIFILEQUIT="TRUE" \ FSLLOCKDIR="" \ FSLMACHINELIST="" \ FSLREMOTECALL="" \ FSLGECUDAQ="cuda.q" \ - PATH="/opt/conda/envs/fslqsiprep/bin:$PATH" \ + PATH="/opt/conda/envs/fslqsirecon/bin:$PATH" \ FSL_DEPS="libquadmath0" \ FSL_BUILD="${FSL_BUILD}" @@ -73,7 +73,7 @@ ENV PATH="$PATH:/opt/mrtrix3-latest/bin:/opt/3Tissue/bin" \ ## Freesurfer COPY --from=build_freesurfer /opt/freesurfer /opt/freesurfer # Simulate SetUpFreeSurfer.sh -ENV FSL_DIR="/opt/conda/envs/fslqsiprep" \ +ENV FSL_DIR="/opt/conda/envs/fslqsirecon" \ OS="Linux" \ FS_OVERRIDE=0 \ FIX_VERTEX_AREA="" \ @@ -107,13 +107,13 @@ ENV PATH="$PATH:/src/TORTOISEV4/bin" \ TORTOISE_DEPS="fftw3" # Create a shared $HOME directory -RUN useradd -m -s /bin/bash -G users qsiprep -WORKDIR /home/qsiprep +RUN useradd -m -s /bin/bash -G users qsirecon +WORKDIR /home/qsirecon ## Python, compiled dependencies -COPY --from=build_micromamba /opt/conda/envs/qsiprep /opt/conda/envs/qsiprep -COPY --from=build_micromamba /home/qsiprep/.dipy /home/qsiprep/.dipy -ENV PATH="/opt/conda/envs/qsiprep/bin:$PATH" +COPY --from=build_micromamba /opt/conda/envs/qsirecon /opt/conda/envs/qsirecon +COPY --from=build_micromamba /home/qsirecon/.dipy /home/qsirecon/.dipy +ENV PATH="/opt/conda/envs/qsirecon/bin:$PATH" RUN apt-get update -qq \ && apt-get install -y -q --no-install-recommends \ @@ -211,7 +211,7 @@ RUN cd /opt/art \ # Unless otherwise specified each process should only use one thread - nipype # will handle parallelization ENV \ - HOME="/home/qsiprep" \ + HOME="/home/qsirecon" \ MKL_NUM_THREADS=1 \ OMP_NUM_THREADS=1 \ MRTRIX_NTHREADS=1 \ @@ -219,12 +219,12 @@ ENV \ CRN_SHARED_DATA=/niworkflows_data \ IS_DOCKER_8395080871=1 \ ARTHOME="/opt/art" \ - DIPY_HOME=/home/qsiprep/.dipy \ + DIPY_HOME=/home/qsirecon/.dipy \ QTDIR=$QT_BASE_DIR \ PATH=$QT_BASE_DIR/bin:$PATH \ LD_LIBRARY_PATH=$QT_BASE_DIR/lib/x86_64-linux-gnu:$QT_BASE_DIR/lib:$LD_LIBRARY_PATH \ PKG_CONFIG_PATH=$QT_BASE_DIR/lib/pkgconfig:$PKG_CONFIG_PATH \ - LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/conda/envs/qsiprep/lib/python3.10/site-packages/nvidia/cudnn/lib + LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/conda/envs/qsirecon/lib/python3.10/site-packages/nvidia/cudnn/lib WORKDIR /root/ @@ -258,7 +258,7 @@ RUN pyAFQ download # Make singularity mount directories RUN mkdir -p /sngl/data \ - && mkdir /sngl/qsiprep-output \ + && mkdir /sngl/qsirecon-output \ && mkdir /sngl/out \ && mkdir /sngl/scratch \ && mkdir /sngl/spec \ diff --git a/Dockerfile_ANTs b/Dockerfile_ANTs index 99326c2..8bc71e2 100644 --- a/Dockerfile_ANTs +++ b/Dockerfile_ANTs @@ -93,7 +93,7 @@ FROM base COPY --from=builder /opt/ants /opt/ants COPY --from=builder /tmp/ants /tmp/ants -LABEL maintainer="ANTsX team: Forked by QSIPrep team" \ +LABEL maintainer="ANTsX team: Forked by QSIRecon team" \ description="ANTs is part of the ANTsX ecosystem (https://github.com/ANTsX). \ ANTs Citation: https://pubmed.ncbi.nlm.nih.gov/24879923" diff --git a/Dockerfile_Micromamba b/Dockerfile_Micromamba index 16d084f..a1468b3 100644 --- a/Dockerfile_Micromamba +++ b/Dockerfile_Micromamba @@ -35,12 +35,12 @@ RUN apt-get update && \ libglu1-mesa-dev \ bzip2 \ libgomp1 \ - wget + wget # Create a shared $HOME directory -RUN useradd -m -s /bin/bash -G users qsiprep -WORKDIR /home/qsiprep -ENV HOME="/home/qsiprep" +RUN useradd -m -s /bin/bash -G users qsirecon +WORKDIR /home/qsirecon +ENV HOME="/home/qsirecon" WORKDIR / @@ -51,12 +51,12 @@ ENV MAMBA_ROOT_PREFIX="/opt/conda" \ MAMBA_NO_LOW_SPEED_LIMIT=1 \ PIP_DEFAULT_TIMEOUT=100 -COPY qsiprep_env.yml /tmp/env.yml +COPY qsirecon_env.yml /tmp/env.yml WORKDIR /tmp RUN micromamba config set extract_threads 1 RUN micromamba create -vv -y -f /tmp/env.yml -ENV PATH=/opt/conda/envs/qsiprep/bin:$PATH +ENV PATH=/opt/conda/envs/qsirecon/bin:$PATH RUN micromamba clean -y -a RUN \ diff --git a/Dockerfile_TORTOISE b/Dockerfile_TORTOISE index 85a2f4e..5b0b4bb 100644 --- a/Dockerfile_TORTOISE +++ b/Dockerfile_TORTOISE @@ -1,6 +1,6 @@ ARG TAG_ANTS -FROM pennbbl/qsiprep-ants:${TAG_ANTS} as base +FROM pennlinc/qsirecon-ants:${TAG_ANTS} as base FROM base as builder RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub @@ -45,7 +45,7 @@ RUN \ -DCMAKE_C_COMPILER=/usr/bin/gcc-9 \ -DCMAKE_CXX_COMPILER=/usr/bin/g++-9 \ -DUSECUDA=0 \ - -DQSIPREP=1 \ + -DQSIRECON=1 \ -DITK_DIR=/tmp/ants/build/ITKv5-build \ -DISDEBUG=0 \ && \ diff --git a/Dockerfile_TORTOISEcuda b/Dockerfile_TORTOISEcuda index 24cba82..46a7e7c 100644 --- a/Dockerfile_TORTOISEcuda +++ b/Dockerfile_TORTOISEcuda @@ -1,6 +1,6 @@ ARG TAG_ANTS -FROM pennbbl/qsiprep-ants:${TAG_ANTS} as base +FROM pennlinc/qsirecon-ants:${TAG_ANTS} as base FROM base as builder RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub @@ -45,7 +45,7 @@ RUN \ -DCMAKE_C_COMPILER=/usr/bin/gcc-9 \ -DCMAKE_CXX_COMPILER=/usr/bin/g++-9 \ -DUSECUDA=1 \ - -DQSIPREP=1 \ + -DQSIRECON=1 \ -DITK_DIR=/tmp/ants/build/ITKv5-build \ -DISDEBUG=0 \ && \ diff --git a/README.rst b/README.rst index acd1a92..e895201 100644 --- a/README.rst +++ b/README.rst @@ -1,22 +1,22 @@ .. include:: links.rst -QSIprep: Preprocessing and analysis of q-space images +QSIRecon: Reconstruction of preprocessed q-space images ======================================================= -.. image:: https://readthedocs.org/projects/qsiprep/badge/?version=latest - :target: http://qsiprep.readthedocs.io/en/latest/?badge=latest +.. image:: https://readthedocs.org/projects/qsirecon/badge/?version=latest + :target: http://qsirecon.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status -.. image:: https://circleci.com/gh/PennLINC/qsiprep/tree/master.svg?style=svg - :target: https://circleci.com/gh/PennLINC/qsiprep/tree/master +.. image:: https://circleci.com/gh/PennLINC/qsirecon/tree/main.svg?style=svg + :target: https://circleci.com/gh/PennLINC/qsirecon/tree/main -Full documentation at https://qsiprep.readthedocs.io +Full documentation at https://qsirecon.readthedocs.io About ----- -``qsiprep`` configures pipelines for processing diffusion-weighted MRI (dMRI) data. +``qsirecon`` configures pipelines for processing diffusion-weighted MRI (dMRI) data. The main features of this software are 1. A BIDS-app approach to preprocessing nearly all kinds of modern diffusion MRI data. @@ -27,7 +27,7 @@ The main features of this software are from Dipy_, MRTrix_, `DSI Studio`_ and others. 4. A novel motion correction algorithm that works on DSI and random q-space sampling schemes -.. image:: https://github.com/PennBBL/qsiprep/raw/master/docs/_static/workflow_full.png +.. image:: https://github.com/PennLINC/qsirecon/raw/main/docs/_static/workflow_full.png .. _preprocessing_def: @@ -47,7 +47,7 @@ Reconstruction ~~~~~~~~~~~~~~~~ The outputs from the :ref:`preprocessing_def` pipelines can be reconstructed in many other -software packages. We provide a curated set of :ref:`recon_workflows` in ``qsiprep`` +software packages. We provide a curated set of :ref:`recon_workflows` in ``qsirecon`` that can run ODF/FOD reconstruction, tractography, Fixel estimation and regional connectivity. @@ -56,6 +56,6 @@ connectivity. Note ------ -The ``qsiprep`` pipeline uses much of the code from ``FMRIPREP``. It is critical +The ``qsirecon`` pipeline uses much of the code from ``FMRIPREP``. It is critical to note that the similarities in the code **do not imply that the authors of FMRIPREP in any way endorse or support this code or its pipelines**. diff --git a/docker/scripts/get_templates.sh b/docker/scripts/get_templates.sh index ea63867..4cbe24d 100755 --- a/docker/scripts/get_templates.sh +++ b/docker/scripts/get_templates.sh @@ -42,7 +42,7 @@ echo "Getting NKI template" GET "$NKI_TEMPLATE" "$NKI_SHA256" echo "Getting OASIS DKT31 template" GET "$OASIS_DKT31_TEMPLATE" "$OASIS_DKT31_SHA256" -echo "Getting qsiprep's BOLDref template" +echo "Getting qsirecon's BOLDref template" GET "$EPI_TEMPLATE" "$EPI_SHA256" cd $CRN_SHARED_DATA diff --git a/fsl.yml b/fsl.yml index 75cf2f1..323705c 100644 --- a/fsl.yml +++ b/fsl.yml @@ -1,4 +1,4 @@ -name: fslqsiprep +name: fslqsirecon channels: - https://fsl.fmrib.ox.ac.uk/fsldownloads/fslconda/public/ - conda-forge diff --git a/qsiprep_env.yml b/qsirecon_env.yml similarity index 98% rename from qsiprep_env.yml rename to qsirecon_env.yml index ce862fb..a3e8fe1 100755 --- a/qsiprep_env.yml +++ b/qsirecon_env.yml @@ -1,4 +1,4 @@ -name: qsiprep +name: qsirecon channels: - conda-forge dependencies: diff --git a/setup_build.sh b/setup_build.sh index d56714d..20134c1 100644 --- a/setup_build.sh +++ b/setup_build.sh @@ -47,7 +47,7 @@ do_build() { DOCKER_BUILDKIT=1 \ BUILDKIT_PROGRESS=plain \ docker build -t \ - pennbbl/qsiprep_build:${THIS_TAG} \ + pennlinc/qsirecon_build:${THIS_TAG} \ --build-arg TAG_FSL=${TAG_FSL} \ --build-arg TAG_FREESURFER=${TAG_FREESURFER} \ --build-arg TAG_ANTS=${TAG_ANTS} \