Skip to content

Commit

Permalink
Merge pull request #389 from nipreps/rel/0.13.0
Browse files Browse the repository at this point in the history
REL: 0.13.0
  • Loading branch information
effigies authored Nov 21, 2023
2 parents 1860074 + e46b0e6 commit a3df930
Show file tree
Hide file tree
Showing 12 changed files with 149 additions and 72 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/pythonpackage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11"]
python-version: ["3.10", "3.11", "3.12"]
install: [repo]
include:
- python-version: "3.11"
Expand Down
12 changes: 12 additions & 0 deletions .zenodo.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,18 @@
"name": "Feczko, Eric",
"orcid": "0000-0003-1337-5517",
"type": "Researcher"
},
{
"affiliation": "Department of Biostatistics, Johns Hopkins Bloomberg School of Public Health, MD, USA",
"name": "Sadil, Patrick",
"orcid": "0000-0003-4141-1343",
"type": "Researcher"
},
{
"affiliation": "Neurospin, CEA, Université Paris-Saclay, CNRS, 91191 Gif-sur-Yvette, France",
"name": "Papadopoulos Orfanos, Dimitri",
"orcid": "0000-0002-1242-8990",
"type": "Researcher"
}
],
"keywords": [
Expand Down
50 changes: 50 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,53 @@
0.13.0 (November 20, 2023)
==========================
New feature release in the 0.13.x series.

This release adds support for MSM-Sulc, improving the alignment of subject
surfaces to the fsLR template. This process is enabled by default, but may
be disabled with the ``--no-msm`` flag.

The ``--fast-track`` flag has been deprecated in favor of a more flexible
``--derivatives`` flag. This flag can be used to specify one or more
directories to search for derivatives. Derivatives found in these
directories can be used to skip corresponding workflows. For derivatives
that can be deterministically generated from other derivatives, sMRIPrep
will regenerate the derivatives to avoid inconsistencies.

This supports the 23.2.x series of fMRIPrep, which introduces a ``--level``
flag to control the level of processing. This feature is not currently
available in sMRIPrep, but will be in a future release. To preview this
functionality, use fMRIPrep's ``--anat-only`` flag to run only structural
workflows.

* FIX: Add missing fsLR reg sphere to io_spec (#382)
* FIX: Invert sulcal depth metric before passing to MSM, use HCP atlas files (#383)
* FIX: Update surfaces with fsnative2t1w_xfm (#384)
* FIX: Add surface-modify-sphere call to catch potential sphere elongation (#375)
* ENH: Add T2w/FLAIR usage to boilerplate (#392)
* ENH: Annotate mris_expand with thread usage (#386)
* ENH: Add sphere registration to fit workflow, check for precomputed (#370)
* ENH: Save msm registration sphere as desc-msm_sphere.surf.gii (#365)
* ENH: Add Multimodal Surface Matching (#358)
* ENH: Run pytest on CircleCI (#364)
* ENH: Separate surfaces and morphometrics into standalone outputs (#359)
* RF: Split template and fsLR resampling and sinking into isolated workflows (#388)
* RF: Replace most of anat_ribbon_wf with a Python function (#363)
* RF: Break up surface workflows for easier mix-and-match in fMRIPrep (#360)
* TEST: Add smoke tests for main anatomical workflows (#390)
* TEST: Add sloppy MSM configuration for use in debugging/CI (#366)
* DOC: http:// → https:// (#377)
* DOC: Fix misspelling found by codespell (#378)
* MNT: Remove AFNI from smriprep docker container (#387)
* MNT: Use a set literal, not a list literal (#379)
* MNT: Update installation environment (#361)
* MNT: Include 3T18yoSchwartzReactN32 FreeSurfer atlas in image (#357)
* MNT: Infrastructure updates (#351)
* MNT: fix flake8 warning (#349)
* MNT: apply pyupgrade suggestions (#348)
* MNT: fix typos found by codespell (#346)
* MNT: Python 3.11 should be supported (#347)


0.12.2 (August 16, 2023)
========================
Bug-fix release in the 0.12.x series.
Expand Down
6 changes: 2 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -74,16 +74,14 @@ RUN curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bi

ENV MAMBA_ROOT_PREFIX="/opt/conda"
COPY env.yml /tmp/env.yml
COPY requirements.txt /tmp/requirements.txt
RUN micromamba create -y -f /tmp/env.yml && \
micromamba clean -y -a

ENV PATH="/opt/conda/envs/smriprep/bin:$PATH"
RUN /opt/conda/envs/smriprep/bin/npm install -g svgo@^2.8 bids-validator@1.11.0 && \
RUN /opt/conda/envs/smriprep/bin/npm install -g svgo@^3.0 bids-validator@^1.13 && \
rm -r ~/.npm

COPY requirements.txt /tmp/requirements.txt
RUN /opt/conda/envs/smriprep/bin/pip install --no-cache-dir -r /tmp/requirements.txt

#
# Main stage
#
Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ a combination of tools from well-known software packages, including
`FSL <https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/>`__,
`ANTs <https://stnava.github.io/ANTs/>`__,
`FreeSurfer <https://surfer.nmr.mgh.harvard.edu/>`__,
and `AFNI <https://afni.nimh.nih.gov/>`__.
and `Connectome Workbench <https://humanconnectome.org/software/connectome-workbench>`__.

More information and documentation can be found at
https://www.nipreps.org/smriprep/.
Expand Down
25 changes: 14 additions & 11 deletions env.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,31 @@ channels:
- conda-forge
# Update this ~yearly; last updated April 2023
dependencies:
- python >=3.10,<3.11
- python=3.10
# Needed for svgo and bids-validator; consider moving to deno
- nodejs=16
- nodejs=18
# Intel Math Kernel Library for numpy
- mkl=2022.1
- mkl-service=2.4
# Base scientific python stack; required by FSL, so pinned here
- numpy=1.25
- numpy=1.26
- scipy=1.11
- matplotlib=3.7,!=3.7.2
- pandas=2.0
- h5py=3.8
- matplotlib=3.8
- pandas=2.1
- h5py=3.10
# Dependencies compiled against numpy, best to stick with conda
- scikit-image=0.21
- scikit-image=0.22
- scikit-learn=1.3
# Utilities
- graphviz=6.0
- pandoc=3.1
# Workflow dependencies: ANTs
- ants=2.4.4
- ants=2.5.0
# Workflow dependencies: FSL (versions pinned in 6.0.6.2)
- fsl-bet2=2111.0
- fsl-flirt=2111.0
- fsl-fast4=2111.0
- fsl-bet2=2111.4
- fsl-flirt=2111.2
- fsl-fast4=2111.3
- fsl-miscmaths=2203.2
- pip
- pip:
- -r requirements.txt
5 changes: 2 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,13 @@ classifiers = [
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering :: Image Recognition",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
]
license = {file = "LICENSE"}
requires-python = ">=3.10"
dependencies = [
"importlib_resources >= 1.3; python_version < '3.9'",
"indexed_gzip >= 0.8.8",
"lockfile",
"looseversion",
Expand Down
76 changes: 37 additions & 39 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,48 +1,48 @@
#
# This file is autogenerated by pip-compile with Python 3.10
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
# pip-compile --resolver=backtracking
# pip-compile --strip-extras
#
astor==0.8.1
# via formulaic
attrs==23.1.0
# via niworkflows
bids-validator==1.12.0
bids-validator==1.13.1
# via pybids
certifi==2023.7.22
certifi==2023.11.17
# via requests
charset-normalizer==3.2.0
charset-normalizer==3.3.2
# via requests
ci-info==0.3.0
# via etelemetry
click==8.1.7
# via
# nipype
# pybids
contourpy==1.1.0
contourpy==1.2.0
# via matplotlib
cycler==0.11.0
cycler==0.12.1
# via matplotlib
docopt==0.6.2
# via num2words
etelemetry==0.3.0
etelemetry==0.3.1
# via nipype
filelock==3.12.2
filelock==3.13.1
# via nipype
fonttools==4.42.1
fonttools==4.44.3
# via matplotlib
formulaic==0.5.2
# via pybids
greenlet==2.0.2
greenlet==3.0.1
# via sqlalchemy
h5py==3.9.0
h5py==3.10.0
# via nitransforms
idna==3.4
# via requests
imageio==2.31.2
imageio==2.32.0
# via scikit-image
indexed-gzip==1.8.3
indexed-gzip==1.8.7
# via smriprep (pyproject.toml)
interface-meta==1.3.0
# via formulaic
Expand Down Expand Up @@ -72,12 +72,12 @@ lxml==4.9.3
# svgutils
markupsafe==2.1.3
# via jinja2
matplotlib==3.7.1
matplotlib==3.8.2
# via
# niworkflows
# seaborn
# smriprep (pyproject.toml)
networkx==3.1
networkx==3.2.1
# via
# nipype
# prov
Expand All @@ -90,19 +90,19 @@ nibabel==5.1.0
# niworkflows
# pybids
# smriprep (pyproject.toml)
nilearn==0.10.1
nilearn==0.10.2
# via niworkflows
nipype==1.8.6
# via
# niworkflows
# smriprep (pyproject.toml)
nitransforms==23.0.1
# via niworkflows
niworkflows==1.8.1
niworkflows==1.9.0
# via smriprep (pyproject.toml)
num2words==0.5.12
num2words==0.5.13
# via pybids
numpy==1.25.2
numpy==1.26.2
# via
# contourpy
# formulaic
Expand All @@ -116,30 +116,30 @@ numpy==1.25.2
# niworkflows
# pandas
# pybids
# pywavelets
# scikit-image
# scikit-learn
# scipy
# seaborn
# smriprep (pyproject.toml)
# tifffile
packaging==23.1
packaging==23.2
# via
# etelemetry
# matplotlib
# nibabel
# nilearn
# nipype
# niworkflows
# scikit-image
# smriprep (pyproject.toml)
pandas==2.0.3
pandas==2.1.3
# via
# formulaic
# nilearn
# niworkflows
# pybids
# seaborn
pillow==10.0.0
pillow==10.0.1
# via
# imageio
# matplotlib
Expand All @@ -153,7 +153,7 @@ pybids==0.16.3
# templateflow
pydot==1.4.2
# via nipype
pyparsing==3.0.9
pyparsing==3.1.1
# via
# matplotlib
# pydot
Expand All @@ -164,10 +164,8 @@ python-dateutil==2.8.2
# nipype
# pandas
# prov
pytz==2023.3
pytz==2023.3.post1
# via pandas
pywavelets==1.4.1
# via scikit-image
pyyaml==6.0.1
# via
# niworkflows
Expand All @@ -181,11 +179,11 @@ requests==2.31.0
# etelemetry
# nilearn
# templateflow
scikit-image==0.21.0
scikit-image==0.22.0
# via niworkflows
scikit-learn==1.3.0
scikit-learn==1.3.2
# via nilearn
scipy==1.11.2
scipy==1.11.4
# via
# formulaic
# nilearn
Expand All @@ -195,25 +193,25 @@ scipy==1.11.2
# pybids
# scikit-image
# scikit-learn
seaborn==0.12.2
seaborn==0.13.0
# via niworkflows
simplejson==3.19.1
simplejson==3.19.2
# via nipype
six==1.16.0
# via
# isodate
# python-dateutil
sqlalchemy==2.0.20
sqlalchemy==2.0.23
# via pybids
svgutils==0.3.4
# via niworkflows
templateflow==23.0.0
templateflow==23.1.0
# via
# niworkflows
# smriprep (pyproject.toml)
threadpoolctl==3.2.0
# via scikit-learn
tifffile==2023.8.25
tifffile==2023.9.26
# via scikit-image
tqdm==4.66.1
# via templateflow
Expand All @@ -223,13 +221,13 @@ traits==6.3.2
# niworkflows
transforms3d==0.4.1
# via niworkflows
typing-extensions==4.7.1
typing-extensions==4.8.0
# via
# formulaic
# sqlalchemy
tzdata==2023.3
# via pandas
urllib3==2.0.4
urllib3==2.1.0
# via requests
wrapt==1.15.0
wrapt==1.16.0
# via formulaic
Loading

0 comments on commit a3df930

Please sign in to comment.