Skip to content

Commit eea3ac5

Browse files
committed
chore: update dependencies, align with fmriprep
1 parent 1dcfdda commit eea3ac5

File tree

3 files changed

+49
-76
lines changed

3 files changed

+49
-76
lines changed

Dockerfile

Lines changed: 7 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,10 @@
2626
ARG BASE_IMAGE=ubuntu:jammy-20240405
2727

2828
# NiBabies wheel
29-
FROM python:slim AS src
30-
RUN pip install build
31-
RUN apt-get update && \
32-
apt-get install -y --no-install-recommends git
29+
FROM ghcr.io/astral-sh/uv:python3.12-alpine AS src
30+
RUN apk add git
3331
COPY . /src
34-
RUN python -m build /src
32+
RUN uvx --from build pyproject-build --installer uv -w /src
3533

3634
# Older Python to support legacy MCRIBS
3735
FROM python:3.6.15-slim as pyenv
@@ -54,7 +52,7 @@ FROM downloader as afni
5452
# The download link can point to newer releases
5553
# As a safeguard, take advantage of Docker caching, and
5654
# Bump the date to current to update AFNI
57-
RUN echo "2023.06.09"
55+
RUN echo "2025.06.12"
5856
RUN mkdir -p /opt/afni-latest \
5957
&& curl -fsSL --retry 5 https://afni.nimh.nih.gov/pub/dist/tgz/linux_openmp_64.tgz \
6058
| tar -xz -C /opt/afni-latest --strip-components 1 \
@@ -72,22 +70,6 @@ RUN mkdir -p /opt/afni-latest \
7270
-name "3dAutomask" -or \
7371
-name "3dvolreg" \) -delete
7472

75-
# ANTs 2.5.4
76-
FROM downloader as ants
77-
RUN mkdir -p /opt && \
78-
curl -sSLO "https://github.com/ANTsX/ANTs/releases/download/v2.5.4/ants-2.5.4-ubuntu-22.04-X64-gcc.zip" && \
79-
unzip ants-2.5.4-ubuntu-22.04-X64-gcc.zip -d /opt && \
80-
rm ants-2.5.4-ubuntu-22.04-X64-gcc.zip
81-
82-
# Connectome Workbench 1.5.0
83-
FROM downloader as workbench
84-
RUN mkdir /opt/workbench && \
85-
curl -sSLO https://www.humanconnectome.org/storage/app/media/workbench/workbench-linux64-v1.5.0.zip && \
86-
unzip workbench-linux64-v1.5.0.zip -d /opt && \
87-
rm workbench-linux64-v1.5.0.zip && \
88-
rm -rf /opt/workbench/libs_linux64_software_opengl /opt/workbench/plugins_linux64 && \
89-
strip --remove-section=.note.ABI-tag /opt/workbench/libs_linux64/libQt5Core.so.5
90-
9173
# Micromamba
9274
FROM downloader as micromamba
9375

@@ -99,7 +81,7 @@ RUN apt-get update && \
9981

10082
WORKDIR /
10183
# Bump the date to current to force update micromamba
102-
RUN echo "2024.04.25" && curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba
84+
RUN echo "2025.06.12" && curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba
10385
ENV MAMBA_ROOT_PREFIX="/opt/conda"
10486
COPY env.yml /tmp/env.yml
10587
COPY requirements.txt /tmp/requirements.txt
@@ -180,23 +162,12 @@ RUN apt-get update -qq \
180162
&& ldconfig
181163

182164
COPY --from=afni /opt/afni-latest /opt/afni-latest
183-
COPY --from=ants /opt/ants-2.5.4 /opt/ants
184-
COPY --from=workbench /opt/workbench /opt/workbench
185165

186166
# AFNI config
187167
ENV PATH="/opt/afni-latest:$PATH" \
188168
AFNI_IMSAVE_WARNINGS="NO" \
189169
AFNI_PLUGINPATH="/opt/afni-latest"
190170

191-
# ANTs config
192-
ENV ANTSPATH="/opt/ants" \
193-
PATH="/opt/ants/bin:$PATH" \
194-
LD_LIBRARY_PATH="/opt/ants/lib:$LD_LIBRARY_PATH"
195-
196-
# Workbench config
197-
ENV PATH="/opt/workbench/bin_linux64:$PATH" \
198-
LD_LIBRARY_PATH="/opt/workbench/lib_linux64:$LD_LIBRARY_PATH"
199-
200171
# Install FreeSurfer (with Infant Module)
201172
COPY --from=nipreps/freesurfer@sha256:3b895fc732a7080374a15c4f976510f39c0c48dc76c030ab27316febd5e419ee /opt/freesurfer /opt/freesurfer
202173
ENV FREESURFER_HOME="/opt/freesurfer"
@@ -278,8 +249,8 @@ ARG BUILD_DATE
278249
ARG VCS_REF
279250
ARG VERSION
280251
LABEL org.label-schema.build-date=$BUILD_DATE \
281-
org.label-schema.name="NiBabies" \
282-
org.label-schema.description="NiBabies - NeuroImaging tools for babies" \
252+
org.label-schema.name="fMRIPrep Lifespan" \
253+
org.label-schema.description="fMRIPrep Lifespan - fMRI processing tool from birth and on" \
283254
org.label-schema.url="https://github.com/nipreps/nibabies" \
284255
org.label-schema.vcs-ref=$VCS_REF \
285256
org.label-schema.vcs-url="https://github.com/nipreps/nibabies" \

env.yml

Lines changed: 41 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,46 @@
11
name: nibabies
22
channels:
3-
- https://fsl.fmrib.ox.ac.uk/fsldownloads/fslconda/public/
4-
- conda-forge
5-
# Update this ~yearly; last updated April 2023
3+
- https://fsl.fmrib.ox.ac.uk/fsldownloads/fslconda/public/
4+
- conda-forge
5+
# Update this ~yearly; last updated June 12 2025
66
dependencies:
7-
- python =3.11
8-
# Needed for svgo and bids-validator; consider moving to deno
9-
- nodejs=20
10-
# Intel Math Kernel Library for numpy
11-
- mkl=2023.2.0
12-
- mkl-service=2.4.0
13-
# git-annex for templateflow users with DataLad superdatasets
14-
- git-annex=*=alldep*
15-
# Base scientific python stack; required by FSL, so pinned here
16-
- numpy=1.26
17-
- scipy=1.11
18-
- matplotlib=3.8
19-
- pandas=2.2
20-
- h5py=3.10
21-
# Dependencies compiled against numpy, best to stick with conda
22-
- nitime=0.10
23-
- scikit-image=0.22
24-
- scikit-learn=1.4
25-
# Utilities
26-
- graphviz=9.0
27-
- pandoc=3.1
28-
# Workflow dependencies: ANTs
29-
- ants=2.5
30-
# Workflow dependencies: Convert3d
31-
- convert3d=1.4
32-
# Workflow dependencies: FSL (versions pinned in 6.0.7.7)
33-
- fsl-bet2=2111.4
34-
- fsl-flirt=2111.2
35-
- fsl-fast4=2111.3
36-
- fsl-fugue=2201.4
37-
- fsl-mcflirt=2111.0
38-
- fsl-miscmaths=2203.2
39-
- fsl-topup=2203.2
40-
- pip
41-
- pip:
42-
- -r requirements.txt
7+
- python=3.13
8+
# Needed for svgo and bids-validator; consider moving to deno
9+
- nodejs=20
10+
# Intel Math Kernel Library for numpy
11+
- mkl=2024.2.2
12+
- mkl-service=2.4.2
13+
# git-annex for templateflow users with DataLad superdatasets
14+
- git-annex=*=alldep*
15+
# Base scientific python stack; required by FSL, so pinned here
16+
- numpy=2.3
17+
- scipy=1.15
18+
- matplotlib=3.10
19+
- pandas=2.3
20+
- h5py=3.14
21+
# Dependencies compiled against numpy, best to stick with conda
22+
- nitime=0.11
23+
- scikit-image=0.25
24+
- scikit-learn=1.7
25+
# Utilities
26+
- graphviz=12.2
27+
- pandoc=3.7
28+
# Workflow dependencies: ANTs
29+
- ants=2.6
30+
# Workflow dependencies: Connectome Workbench
31+
- connectome-workbench-cli=2.0
32+
# Workflow dependencies: Convert3d
33+
- convert3d=1.4
34+
# Workflow dependencies: FSL (versions pinned in 6.0.7.17.20250415.fe1c582e)
35+
- fsl-bet2=2111.8
36+
- fsl-flirt=2111.4
37+
- fsl-fast4=2111.3
38+
- fsl-fugue=2201.5
39+
- fsl-mcflirt=2111.0
40+
- fsl-miscmaths=2412.4
41+
- fsl-topup=2203.5
42+
- pip
43+
- pip:
44+
- -r requirements.txt
4345
variables:
4446
FSLOUTPUTTYPE: NIFTI_GZ

wrapper/src/nibabies_wrapper/__main__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
MISSING = """
3030
Image '{}' is missing
3131
Would you like to download? [Y/n] """
32-
PKG_PATH = '/opt/conda/envs/nibabies/lib/python3.11/site-packages'
32+
PKG_PATH = '/opt/conda/envs/nibabies/lib/python3.13/site-packages'
3333
TF_TEMPLATES = (
3434
'MNI152Lin',
3535
'MNI152NLin2009cAsym',

0 commit comments

Comments
 (0)