Skip to content

Commit 27ef533

Browse files
maint: install fsl and convert3D from conda
1 parent d6bdb29 commit 27ef533

File tree

1 file changed

+30
-95
lines changed

1 file changed

+30
-95
lines changed

Dockerfile

Lines changed: 30 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ RUN curl -sSL https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/6.0.1/frees
3333
| tar zxv --no-same-owner -C /opt --exclude-from=/usr/local/etc/freesurfer-exclude.txt
3434

3535
# Simulate SetUpFreeSurfer.sh
36-
ENV FSL_DIR="/opt/fsl-5.0.11" \
37-
OS="Linux" \
36+
ENV OS="Linux" \
3837
FS_OVERRIDE=0 \
3938
FIX_VERTEX_AREA="" \
4039
FSF_OUTPUT_FORMAT="nii.gz" \
@@ -50,98 +49,6 @@ ENV PERL5LIB="$MINC_LIB_DIR/perl5/5.8.5" \
5049
MNI_PERL5LIB="$MINC_LIB_DIR/perl5/5.8.5" \
5150
PATH="$FREESURFER_HOME/bin:$FSFAST_HOME/bin:$FREESURFER_HOME/tktools:$MINC_BIN_DIR:$PATH"
5251

53-
# FSL 5.0.11 (neurodocker build)
54-
RUN apt-get update -qq \
55-
&& apt-get install -y -q --no-install-recommends \
56-
bc \
57-
dc \
58-
file \
59-
libfontconfig1 \
60-
libfreetype6 \
61-
libgl1-mesa-dev \
62-
libgl1-mesa-dri \
63-
libglu1-mesa-dev \
64-
libgomp1 \
65-
libice6 \
66-
libxcursor1 \
67-
libxft2 \
68-
libxinerama1 \
69-
libxrandr2 \
70-
libxrender1 \
71-
libxt6 \
72-
sudo \
73-
wget \
74-
&& apt-get clean \
75-
&& rm -rf /var/lib/apt/lists/* \
76-
&& echo "Downloading FSL ..." \
77-
&& mkdir -p /opt/fsl-5.0.11 \
78-
&& curl -fsSL --retry 5 https://fsl.fmrib.ox.ac.uk/fsldownloads/fsl-5.0.11-centos6_64.tar.gz \
79-
| tar -xz -C /opt/fsl-5.0.11 --strip-components 1 \
80-
--exclude "fsl/config" \
81-
--exclude "fsl/data/atlases" \
82-
--exclude "fsl/data/first" \
83-
--exclude "fsl/data/mist" \
84-
--exclude "fsl/data/possum" \
85-
--exclude "fsl/data/standard/bianca" \
86-
--exclude "fsl/data/standard/tissuepriors" \
87-
--exclude "fsl/doc" \
88-
--exclude "fsl/etc/default_flobs.flobs" \
89-
--exclude "fsl/etc/fslconf" \
90-
--exclude "fsl/etc/js" \
91-
--exclude "fsl/etc/luts" \
92-
--exclude "fsl/etc/matlab" \
93-
--exclude "fsl/extras" \
94-
--exclude "fsl/include" \
95-
--exclude "fsl/python" \
96-
--exclude "fsl/refdoc" \
97-
--exclude "fsl/src" \
98-
--exclude "fsl/tcl" \
99-
--exclude "fsl/bin/FSLeyes" \
100-
&& find /opt/fsl-5.0.11/bin -type f -not \( \
101-
-name "applywarp" -or \
102-
-name "bet" -or \
103-
-name "bet2" -or \
104-
-name "convert_xfm" -or \
105-
-name "fast" -or \
106-
-name "flirt" -or \
107-
-name "fsl_regfilt" -or \
108-
-name "fslhd" -or \
109-
-name "fslinfo" -or \
110-
-name "fslmaths" -or \
111-
-name "fslmerge" -or \
112-
-name "fslroi" -or \
113-
-name "fslsplit" -or \
114-
-name "fslstats" -or \
115-
-name "imtest" -or \
116-
-name "mcflirt" -or \
117-
-name "melodic" -or \
118-
-name "prelude" -or \
119-
-name "remove_ext" -or \
120-
-name "susan" -or \
121-
-name "topup" -or \
122-
-name "zeropad" \) -delete \
123-
&& find /opt/fsl-5.0.11/data/standard -type f -not -name "MNI152_T1_2mm_brain.nii.gz" -delete
124-
ENV FSLDIR="/opt/fsl-5.0.11" \
125-
PATH="/opt/fsl-5.0.11/bin:$PATH" \
126-
FSLOUTPUTTYPE="NIFTI_GZ" \
127-
FSLMULTIFILEQUIT="TRUE" \
128-
FSLLOCKDIR="" \
129-
FSLMACHINELIST="" \
130-
FSLREMOTECALL="" \
131-
FSLGECUDAQ="cuda.q" \
132-
LD_LIBRARY_PATH="/opt/fsl-5.0.11/lib:$LD_LIBRARY_PATH"
133-
134-
# Convert3D (neurodocker build)
135-
RUN echo "Downloading Convert3D ..." \
136-
&& mkdir -p /opt/convert3d-1.0.0 \
137-
&& curl -fsSL --retry 5 https://sourceforge.net/projects/c3d/files/c3d/1.0.0/c3d-1.0.0-Linux-x86_64.tar.gz/download \
138-
| tar -xz -C /opt/convert3d-1.0.0 --strip-components 1 \
139-
--exclude "c3d-1.0.0-Linux-x86_64/lib" \
140-
--exclude "c3d-1.0.0-Linux-x86_64/share" \
141-
--exclude "c3d-1.0.0-Linux-x86_64/bin/c3d_gui"
142-
ENV C3DPATH="/opt/convert3d-1.0.0" \
143-
PATH="/opt/convert3d-1.0.0/bin:$PATH"
144-
14552
# AFNI latest (neurodocker build)
14653
RUN apt-get update -qq \
14754
&& apt-get install -y -q --no-install-recommends \
@@ -212,7 +119,35 @@ ENV PATH="/opt/conda/bin:$PATH" \
212119
LD_LIBRARY_PATH="/opt/conda/lib:$LD_LIBRARY_PATH" \
213120
LANG="C.UTF-8" \
214121
LC_ALL="C.UTF-8" \
215-
PYTHONNOUSERSITE=1
122+
PYTHONNOUSERSITE=1 \
123+
FSLDIR="/opt/conda" \
124+
FSLOUTPUTTYPE="NIFTI_GZ" \
125+
FSLMULTIFILEQUIT="TRUE" \
126+
FSLLOCKDIR="" \
127+
FSLMACHINELIST="" \
128+
FSLREMOTECALL="" \
129+
FSLGECUDAQ="cuda.q"
130+
131+
# Install FSL and Convert3D from conda packages
132+
# Specific FSL pins are derived from
133+
# https://fsl.fmrib.ox.ac.uk/fsldownloads/fslconda/releases/fsl-6.0.6.2_linux-64.yml
134+
RUN conda install -y -n base \
135+
-c anaconda \
136+
-c https://fsl.fmrib.ox.ac.uk/fsldownloads/fslconda/public/ \
137+
-c conda-forge \
138+
convert3d=1.3.0 \
139+
fsl-flirt=2111.0 \
140+
fsl-fast4=2111.0 \
141+
fsl-fugue=2201.2 \
142+
fsl-mcflirt=2111.0 \
143+
fsl-melodic=2111.1 \
144+
fsl-miscmaths=2203.2 \
145+
fsl-topup=2203.1 \
146+
fsl-susan=2111.0 \
147+
&& sync \
148+
&& conda clean -afy; sync \
149+
&& rm -rf ~/.conda ~/.cache/pip/*; sync \
150+
&& ldconfig
216151

217152
# Unless otherwise specified each process should only use one thread - nipype
218153
# will handle parallelization

0 commit comments

Comments
 (0)