Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
19b8ddc
fix error on resume, mcribs cortical alignment + segmentation checks
gagnonanthony Jul 27, 2026
4ae1b85
fix for numpy 4D array in mcribs
gagnonanthony Jul 27, 2026
fc181cd
add check that gpu_type is provided when using gpu profile + test
gagnonanthony Jul 27, 2026
30e74b3
bump version to latest docker container
gagnonanthony Jul 28, 2026
a81cf22
remove no longer used modules
gagnonanthony Jul 28, 2026
d77b26a
remove mcribs and related parameters
gagnonanthony Aug 14, 2026
8a62280
add new modules for bibsnet and infantfs
gagnonanthony Aug 14, 2026
3742bd4
set up configs
gagnonanthony Aug 15, 2026
0b68e96
update mapping modules from fslr -> fsaverage -> subject
gagnonanthony Aug 15, 2026
86c5d11
update segmentation subworkflow to use bibsnet and infantfs
gagnonanthony Aug 15, 2026
e169ebf
integrate changes in main workflow
gagnonanthony Aug 15, 2026
3a83322
update snaps
gagnonanthony Aug 15, 2026
a53fd41
update templates url + add md5 checks to ensure matching version
gagnonanthony Aug 16, 2026
6b05c33
fix issues when intendedFor was a string + modify data to test combin…
gagnonanthony Aug 16, 2026
a918209
update archive to latest + remove bibsnet dockerfile and typos
gagnonanthony Aug 17, 2026
9f1dcc8
update templates version
gagnonanthony Aug 18, 2026
42b82df
place bibsnet work dir in the process folder
gagnonanthony Aug 18, 2026
de2f80f
add lint ignore for gpu tests
gagnonanthony Aug 18, 2026
0f72db5
Merge branch 'dev' into fix/segmentation_validation
gagnonanthony Aug 18, 2026
ed10745
remvoe duplicated keys
gagnonanthony Aug 18, 2026
9043419
bump java mem to 4Gb
gagnonanthony Aug 18, 2026
b9e764a
fix how profile is supplied to nf-test
gagnonanthony Aug 18, 2026
e28ab2c
extend bibsnet + infantfs to all subjects < 1 year
gagnonanthony Aug 18, 2026
ff098aa
remove MCRIBS related parameters
gagnonanthony Aug 18, 2026
0c3f9ae
update methods boilerplate and uniformize age handling
gagnonanthony Aug 18, 2026
5322d06
update changelog
gagnonanthony Aug 18, 2026
c0c4952
bump memory requirements for bibsnet
gagnonanthony Aug 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/actions/nf-test/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,10 @@ runs:
PROFILE=${{ inputs.profile }}
fi

# Increase the java memory
export _JAVA_OPTIONS="-Xmx4g"
nf-test test \
--profile=${PROFILE},test \
--profile=+${PROFILE} \
$(if [ -n "${{ inputs.tags }}" ]; then echo "--tag ${{ inputs.tags }}"; fi) \
--ci \
--changed-since HEAD^ \
Expand Down
4 changes: 3 additions & 1 deletion .nf-core.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
lint:
container_configs: false
files_exist:
- CODE_OF_CONDUCT.md
- assets/nf-core-sf_pediatric_logo_light.png
Expand Down Expand Up @@ -37,6 +36,9 @@ lint:
nextflow_config: false
schema_params: false
template_strings: false
container_configs: false
nf_test_content:
- tests/gpu.nf.test
nf_core_version: 4.0.3
repository_type: pipeline
template:
Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### `Added`

- Changed segmentation in young participants to use BIBSnet and infant freesurfer ([#128](https://github.com/scilus/sf-pediatric/pull/128))
- Now use `nf-bids` plugin to read BIDS dataset for faster and more efficient data collection ([#124](https://github.com/scilus/sf-pediatric/pull/124))
- Add GPU support via a config profile for module `eddy` and `localtracking` ([#121](https://github.com/scilus/sf-pediatric/pull/121))
- Add support for user-defined external atlases in ‘fsLR‘ 32k space and simply mapping from template to subject space ([#120](https://github.com/scilus/sf-pediatric/pull/120))
Expand All @@ -28,6 +29,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Move to parameter typing and bump minimal nextflow version to `26.04.0` ([#122](https://github.com/scilus/sf-pediatric/pull/122))
- Update to nf-core template `4.0.2` ([#117](https://github.com/scilus/sf-pediatric/pull/117))

### `Removed`

- Remove M-CRIB-S as a segmentation method for younger participants in favor of BIBSnet and infantfs ([#128](https://github.com/scilus/sf-pediatric/pull/128))

## [0.2.2] - [2026-02-09]

### `Added`
Expand Down
6 changes: 6 additions & 0 deletions assets/Docker/infantfs/fsl.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: fsl
channels:
- https://fsl.fmrib.ox.ac.uk/fsldownloads/fslconda/public/
- conda-forge
dependencies:
- fsl-avwutils
121 changes: 121 additions & 0 deletions assets/Docker/infantfs/sf-pediatric-infantfs.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
FROM rockylinux:8.9 AS build-fsl

RUN dnf -y update && \
dnf -y install --nogpgcheck \
curl \
bzip2 \
&& dnf clean all

WORKDIR /
RUN echo "2024.04.25" && curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj
ENV MAMBA_ROOT_PREFIX="/opt/conda"

# Fetch the FSL environment
COPY fsl.yml fsl.yml
RUN micromamba create -y -f fsl.yml && \
micromamba clean --all --yes
ENV PATH="/opt/conda/envs/fsl/bin:$PATH"

FROM freesurfer/freesurfer:8.2.0 AS build_freesurfer
# Bring over freesurfer from official release
RUN rm -rf \
/usr/local/freesurfer/8.2.0-1/average/AAN \
/usr/local/freesurfer/8.2.0-1/average/3T18yoSchwartz* \
/usr/local/freesurfer/8.2.0-1/average/711-2B* \
/usr/local/freesurfer/8.2.0-1/average/SVIP* \
/usr/local/freesurfer/8.2.0-1/average/RLB700* \
/usr/local/freesurfer/8.2.0-1/average/RB_all* \
/usr/local/freesurfer/8.2.0-1/average/aseg+spmhead* \
/usr/local/freesurfer/8.2.0-1/average/face.gca \
/usr/local/freesurfer/8.2.0-1/average/label_scales.dat \
/usr/local/freesurfer/8.2.0-1/average/mideface-atlas \
/usr/local/freesurfer/8.2.0-1/average/wmsa_new_eesmith.gca \
/usr/local/freesurfer/8.2.0-1/average/talairach_mixed_with_skull.gca \
/usr/local/freesurfer/8.2.0-1/average/BrainstemSS \
/usr/local/freesurfer/8.2.0-1/average/HippoSF \
/usr/local/freesurfer/8.2.0-1/average/PALS_B12.readme \
/usr/local/freesurfer/8.2.0-1/average/ThalamicNuclei \
/usr/local/freesurfer/8.2.0-1/average/samseg \
/usr/local/freesurfer/8.2.0-1/average/mni_icbm152_nlin_asym_09c \
/usr/local/freesurfer/8.2.0-1/average/mult-comp-cor \
/usr/local/freesurfer/8.2.0-1/average/Choi_JNeurophysiol12_MNI152 \
/usr/local/freesurfer/8.2.0-1/average/Buckner_JNeurophysiol11_MNI152 \
/usr/local/freesurfer/8.2.0-1/average/Yeo_Brainmap_MNI152 \
/usr/local/freesurfer/8.2.0-1/average/Yeo_JNeurophysiol11_MNI152 \
/usr/local/freesurfer/8.2.0-1/bin/freeview \
/usr/local/freesurfer/8.2.0-1/diffusion \
/usr/local/freesurfer/8.2.0-1/matlab \
/usr/local/freesurfer/8.2.0-1/models/easyreg* \
/usr/local/freesurfer/8.2.0-1/sessions \
/usr/local/freesurfer/8.2.0-1/fsfast \
/usr/local/freesurfer/8.2.0-1/fsafd \
/usr/local/freesurfer/8.2.0-1/subjects/bert \
/usr/local/freesurfer/8.2.0-1/subjects/V1_average \
/usr/local/freesurfer/8.2.0-1/subjects/cvs_avg35 \
/usr/local/freesurfer/8.2.0-1/subjects/cvs_avg35_inMNI152 \
/usr/local/freesurfer/8.2.0-1/subjects/fsaverage3 \
/usr/local/freesurfer/8.2.0-1/subjects/fsaverage4 \
/usr/local/freesurfer/8.2.0-1/subjects/fsaverage5 \
/usr/local/freesurfer/8.2.0-1/subjects/fsaverage6 \
/usr/local/freesurfer/8.2.0-1/subjects/fsaverage_sym \
/usr/local/freesurfer/8.2.0-1/subjects/lh.EC_average \
/usr/local/freesurfer/8.2.0-1/subjects/rh.EC_average \
/usr/local/freesurfer/8.2.0-1/subjects/sample* \
/usr/local/freesurfer/8.2.0-1/trctrain \
/usr/local/freesurfer/8.2.0-1/MCRv97 \
/usr/local/freesurfer/8.2.0-1/models \
/usr/local/freesurfer/8.2.0-1/python/lib/python3.8/site-packages/tensorflow*

# Set the runtime stage
FROM rockylinux:8.9 AS runtime

# Install freesurfer dependencies
RUN dnf -y update && \
dnf -y install --nogpgcheck \
libgomp \
procps-ng \
libXt \
libXext \
libtiff \
libpng15 \
tcsh \
bc \
ncurses-compat-libs \
unzip && \
dnf clean all

COPY --from=build-fsl /bin/micromamba /bin/micromamba
COPY --from=build-fsl /opt/conda/envs/fsl /opt/conda/envs/fsl
COPY --from=build_freesurfer /usr/local/freesurfer/8.2.0* /opt/freesurfer

# Set environment variables for FreeSurfer and FSL
ENV MAMBA_ROOT_PREFIX="/opt/conda" \
PATH="${PATH}:/opt/conda/envs/fsl/bin" \
CPATH="/opt/conda/envs/fsl/include:${CPATH}" \
LD_LIBRARY_PATH="/opt/conda/envs/fsl/lib:${LD_LIBRARY_PATH}" \
CONDA_PYTHON="/opt/conda/envs/fsl/bin/python"
ENV LANG="C.UTF-8" \
LC_ALL="C.UTF-8" \
PYTHONNOUSERSITE=1 \
FSLDIR="/opt/conda/envs/fsl" \
FSLOUTPUTTYPE="NIFTI_GZ" \
FSLMULTIFILEQUIT="TRUE" \
FSLLOCKDIR="" \
FSLMACHINELIST="" \
FSLREMOTECALL="" \
FSLGECUDAQ="cuda.q"
ENV FREESURFER_HOME="/opt/freesurfer"
ENV SUBJECTS_DIR="$FREESURFER_HOME/subjects" \
FUNCTIONALS_DIR="$FREESURFER_HOME/sessions" \
MNI_DIR="$FREESURFER_HOME/mni" \
LOCAL_DIR="$FREESURFER_HOME/local" \
MINC_BIN_DIR="$FREESURFER_HOME/mni/bin" \
MINC_LIB_DIR="$FREESURFER_HOME/mni/lib" \
MNI_DATAPATH="$FREESURFER_HOME/mni/data" \
FSL_DIR=${FSLDIR} \
FREESURFER="/opt/freesurfer"
ENV PERL5LIB="$MINC_LIB_DIR/perl5/5.8.5" \
MNI_PERL5LIB="$MINC_LIB_DIR/perl5/5.8.5" \
PATH="$FREESURFER_HOME/bin:$FREESURFER_HOME/tktools:$MINC_BIN_DIR:$PATH"
ENV USER=freesurfer \
LOGNAME=freesurfer
25 changes: 0 additions & 25 deletions assets/Docker/mcribs/fsl.yml

This file was deleted.

122 changes: 0 additions & 122 deletions assets/Docker/mcribs/nf-pediatric_mcribs.Dockerfile

This file was deleted.

Binary file modified assets/sf-pediatric-schema.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading