Skip to content

README to include link to extended BIDS-compatible version, add Dockerfile and cleanup scripts#5

Open
pcamach2 wants to merge 12 commits intomrfil:masterfrom
pcamach2:master
Open

README to include link to extended BIDS-compatible version, add Dockerfile and cleanup scripts#5
pcamach2 wants to merge 12 commits intomrfil:masterfrom
pcamach2:master

Conversation

@pcamach2
Copy link
Copy Markdown

Update to link to the BIDS-compatible extended version of lesion-mapper. For ease of use, cleanup scripts and a Dockerfile have been added.

This script is intended to run from the directory that contains the data for your subjects in order to create the file structure expected in the Analyze directory of each subject to run pipeline_example:

SubjectsDirectory/
      Subject/
          Analyze/
               bet_notunbiased/
               bet_multispectral/
               unbiased/
               sienax_no2fast/
               lesions_no2fast/
Modified to run dcm2niix on SPACE and MPRAGE. Note that the first time that bet_nw runs, there will not yet be a lesionmapT2 to overlay and this will produce an error.
Specified location of T2_unbiased and lesionmapT2
Another cluster may be found in your PATH, which will cause an error. Be sure to check that you are using cluster from your FSL installation with "which cluster".
# Generated by: Neurodocker version 0.7.0+0.gdc97516.dirty
# Latest release: Neurodocker version 0.7.0
# Timestamp: 2021/07/16 11:17:26 UTC
#
# Thank you for using Neurodocker. If you discover any issues
# or ways to improve this software, please submit an issue or
# pull request on our GitHub repository:
#
#     https://github.com/ReproNim/neurodocker

FROM debian:stretch

USER root

ARG DEBIAN_FRONTEND="noninteractive"

ENV LANG="en_US.UTF-8" \
    LC_ALL="en_US.UTF-8" \
    ND_ENTRYPOINT="/neurodocker/startup.sh"
RUN export ND_ENTRYPOINT="/neurodocker/startup.sh" \
    && apt-get update -qq \
    && apt-get install -y -q --no-install-recommends \
           apt-utils \
           bzip2 \
           ca-certificates \
           curl \
           locales \
           unzip \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* \
    && sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen \
    && dpkg-reconfigure --frontend=noninteractive locales \
    && update-locale LANG="en_US.UTF-8" \
    && chmod 777 /opt && chmod a+s /opt \
    && mkdir -p /neurodocker \
    && if [ ! -f "$ND_ENTRYPOINT" ]; then \
         echo '#!/usr/bin/env bash' >> "$ND_ENTRYPOINT" \
    &&   echo 'set -e' >> "$ND_ENTRYPOINT" \
         echo '#!/usr/bin/env bash' >> "$ND_ENTRYPOINT" \
    &&   echo 'set -e' >> "$ND_ENTRYPOINT" \
    &&   echo 'export USER="${USER:=`whoami`}"' >> "$ND_ENTRYPOINT" \
    &&   echo 'if [ -n "$1" ]; then "$@"; else /usr/bin/env bash; fi' >> "$ND_ENTRYPOINT"; \
    fi \
    && chmod -R 777 /neurodocker && chmod a+s /neurodocker

ENTRYPOINT ["/neurodocker/startup.sh"]

ENV FSLDIR="/opt/fsl-6.0.3" \
    PATH="/opt/fsl-6.0.3/bin:$PATH" \
    FSLOUTPUTTYPE="NIFTI_GZ" \
    FSLMULTIFILEQUIT="TRUE" \
    FSLTCLSH="/opt/fsl-6.0.3/bin/fsltclsh" \
    FSLWISH="/opt/fsl-6.0.3/bin/fslwish" \
    FSLLOCKDIR="" \
    FSLMACHINELIST="" \
    FSLREMOTECALL="" \
    FSLGECUDAQ="cuda.q"
RUN apt-get update -qq \
    && apt-get install -y -q --no-install-recommends \
           bc \
           dc \
           file \
           libfontconfig1 \
           libfreetype6 \
           libgl1-mesa-dev \
           libgl1-mesa-dri \
           libglu1-mesa-dev \
           libgomp1 \
           libice6 \
           libxcursor1 \
           libxft2 \
           libxinerama1 \
           libxrandr2 \
           libxrender1 \
           libxt6 \
           sudo \
           wget \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* \
    && echo "Downloading FSL ..." \
    && mkdir -p /opt/fsl-6.0.3 \
    && curl -fsSL --retry 5 https://fsl.fmrib.ox.ac.uk/fsldownloads/fsl-6.0.3-centos6_64.tar.gz \
    | tar -xz -C /opt/fsl-6.0.3 --strip-components 1 \
    && sed -i '$iecho Some packages in this Docker container are non-free' $ND_ENTRYPOINT \
    && sed -i '$iecho If you are considering commercial use of this container, please consult the relevant license:' $ND_ENTRYPOINT \
    && sed -i '$iecho https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/Licence' $ND_ENTRYPOINT \
    && sed -i '$isource $FSLDIR/etc/fslconf/fsl.sh' $ND_ENTRYPOINT \
    && echo "Installing FSL conda environment ..." \
    && bash /opt/fsl-6.0.3/etc/fslconf/fslpython_install.sh -f /opt/fsl-6.0.3

RUN echo '{ \
    \n  "pkg_manager": "apt", \
    \n  "instructions": [ \
    \n    [ \
    \n      "base", \
    \n      "debian:stretch" \
    \n    ], \
    \n    [ \
    \n      "fsl", \
    \n      { \
    \n      { \
    \n        "version": "6.0.3" \
    \n      } \
    \n    ] \
    \n  ] \
    \n}' > /neurodocker/neurodocker_specs.json

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
                    curl \
                    git \
                    bzip2 \
                    ca-certificates \
                    build-essential \
                    libglu1-mesa-dev \
                    libglu1-mesa \
                    tcsh \
                    libqt4-scripttools \
                    apt-utils \
                    libfontconfig \
                    libxrender1 \
                    libfreetype6:amd64 \
                    libxi-dev \
                    libxmu-dev \
                    libxext6 \
                    libqt5gui5 \
                    libxss1 \
                    libxft2 \
                    libjpeg62 \
                    && \
    apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

RUN git clone https://github.com/mrfil/lesion-mapper
RUN chmod 777 -R /lesion-mapper
ENV LESIONMAPPERDIR="/lesion-mapper"
ENV PATH=$PATH:$LESIONMAPPERDIR
WORKDIR /scripts #location to be used as homedir in scripts
RUN mkdir -p /data/example
RUN echo $FSLDIR
ENV NWTOOLS=$LESIONMAPPERDIR
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant