Skip to content

Releases: nipreps/sdcflows

2.0.2

07 May 15:27
2.0.2
e78e577
Compare
Choose a tag to compare

Release Notes

A patch release including hot-fixes and some relevant improvements inteded for the reliability
of the new API.
The most relevant advance is the new B0 fieldmap unwarping object which is compatible
with NiTranforms and evades the problem of fiddling with the target image's x-forms.

CHANGES

  • FIX: Normalize phase-encoding polarity of coefficients after TOPUP (#202)
  • FIX: Revise generation of the displacements field from coefficients (#199)
  • FIX: Inconsistency left after renaming inputs to SDC-SyN (removing "BOLD") (#182)
  • FIX: Correctly interpolate the BIDS root when datasets have sessions (#180)
  • ENH: B0 fieldmap unwarping object (#204)
  • ENH: Add estimation method description to outputs (#191)
  • ENH: Ensure a function node is covered with unit tests (#188)
  • ENH: Add a preprocessing pipeline for SDC-SyN (#184)
  • ENH: [rodents] Add input to override default B-Spline distances in INU correction with N4 (#178)
  • ENH: Adopt new brain extraction algorithm in magnitude preparation workflow (#176)
  • DOC: Fix typos as per codespell (#205)
  • MAINT: Double-check conversion from TOPUP to standardized fieldmaps (#200)
  • MAINT: Divide ambiguous debug parameter into smaller, more focused parameters (#190)
  • MAINT: Adapt to GitHub actions' upgrade to Ubuntu 20.04 (#185)

2.0.1

09 Mar 08:16
2.0.1
7db61e1
Compare
Choose a tag to compare
A patch release including some bugfixes and minimal improvements over the previous
major release.

* FIX: Inconsistency left after renaming inputs to SDC-SyN (removing "BOLD") (#182)
* FIX: Correctly interpolate the BIDS root when datasets have sessions (#180)
* ENH: Add a preprocessing pipeline for SDC-SyN (#184)
* ENH: [rodents] Add input to override default B-Spline distances in INU correction with N4 (#178)
* ENH: Adopt new brain extraction algorithm in magnitude preparation workflow (#176)
* MAINT: Adapt to GitHub actions' upgrade to Ubuntu 20.04 (#185)

2.0.0

25 Jan 10:02
2.0.0
be72006
Compare
Choose a tag to compare

Release Notes

The SDCFlows 2.0.x series are released after a comprehensive overhaul of the software's API.
This overhaul has the vision of converting SDCFlows into some sort of subordinate pipeline
to other d/fMRIPrep, inline with sMRIPrep's approach.
The idea is to consider fieldmaps a first-citizen input, for which derivatives are generated
at the output (on the same vein of, and effectively implementing #26).
A bids's-eye view of this new release follows:

  • Two new base objects (sdcflows.fieldmaps.FieldmapFile and
    sdcflows.fieldmaps.FieldmapEstimation) for the validation
    and representation of fieldmap estimation strategies.
    Validation of metadata and checking the sufficiency of imaging files
    and necessary parameters is now done with these two objects.
    sdcflows.fieldmaps.FieldmapEstimation also generates the
    appropriate estimation workflow for the input data.
  • Moved estimation workflows under the sdcflows.workflows.fit module.
  • New outputs submodule sdcflows.workflows.outputs that writes out reportlets and
    derivatives, following suit with higher-level NiPreps (s/f/dMRIPrep).
    The two workflows are exercised in the CircleCI tests, and the artifacts are generated
    this way.
    Derivatives are populated with relevant pieces of metadata (for instance, they forward
    the IntendedFor fields).
  • A new sdcflows.workflows.base.init_fmap_preproc_wf, leveraging
    sdcflows.fieldmaps.FieldmapEstimation objects.
  • Separated out a new utilities module sdcflows.utils for the manipulation of
    phase information and EPI (echo-planar imaging) data.
  • New sdcflows.workflows.apply.registration module, which aligns the reference map
    of the fieldmap of choice (e.g., a magnitude image) to the reference EPI
    (e.g., an SBRef, a b=0 DWI, or a fMRIPrep's BOLDRef) with ANTs.
    The workflow resamples the fieldmap reference into the reference EPI's space for
    reporting/visualization objectives.
  • New sdcflows.interfaces.bspline set of utilities for the filtering and
    extrapolation of fieldmaps with B-Splines.
    Accordingly, all workflows have been updated to correctly handle (and better use) B-Spline
    coefficients.
  • A new PEPOLAR implementation based on TOPUP (see
    sdcflows.workflows.fit.pepolar.init_topup_wf).
  • Pushed the code coverage with tests, along with a deep code cleanup.

CHANGES

  • FIX: Fast & accurate brain extraction of magnitude images without FSL BET (#174)
  • FIX: svgutils 0.3.2 breaks our reportlets (#175)
  • FIX: Misconfigured test of unwarping workflow (#170)
  • FIX: Cleanup annoying isolated dots in reportlets + new tests (#168)
  • FIX: Make images "plumb" before running ANTs-SyN (and roll-back afterwards) (#165)
  • FIX: Convert SEI fieldmaps given in rad/s into Hz (#127)
  • FIX: Limit 3dQwarp to maximum 4 CPUs for stability reasons (#128)
  • ENH: Adopt new brain extraction algorithm in magnitude preparation workflow (#176)
  • ENH: Add "fieldmap-less" estimations to default heuristics (#166)
  • ENH: Add one test for the SDC-SyN workflow (#164)
  • ENH: Generate a simple mask after correction (#161)
  • ENH: Increase unit-tests coverage of sdcflows.fieldmaps (#159)
  • ENH: Optimize tensor-product B-Spline kernel evaluation (#157)
  • ENH: Add a memory check to dynamically limit interpolation blocksize (#156)
  • ENH: Massage TOPUP's fieldcoeff files to be compatible with ours (#154)
  • ENH: Add a simplistic EPI masking algorithm (#152)
  • ENH: Utility that returns the B0FieldSource of a given potential EPI target (#151)
  • ENH: Write fmapid- entity in Derivatives (#150)
  • ENH: Multiplex fieldmap estimation outputs into a single outputnode (#149)
  • ENH: Putting the new API together on a base workflow (#143)
  • ENH: Autogenerate B0FieldIdentifiers from IntendedFor (#142)
  • ENH: Finalizing the API overhaul (#132)
  • ENH: Keep a registry of already-used identifiers (and auto-generate new) (#130)
  • ENH: New objects for better representation of fieldmap estimation (#114)
  • ENH: Show FieldmapReportlet oriented aligned with cardinal axes (#120)
  • ENH: New estimation API (featuring a TOPUP implementation!) (#115)
  • DOC: Minor improvements to the literate workflows descriptions. (#162)
  • DOC: Fix typo in docstring (#155)
  • DOC: Enable NiPype's sphinx-extension to better render Interfaces (#131)
  • MAINT: Docker - Update base Ubuntu image & ANTs, makefile (#173)
  • MAINT: Retouch several tests and improve ANTs version handling of SyN workflow (#172)
  • MAINT: Drop Python 3.6 (#160)
  • MAINT: Enable Git-archive protocol with setuptools-scm-archive (#153)
  • MAINT: Migrate TravisCI -> GH Actions (completion) (#138)
  • MAINT: Migrate TravisCI -> GH Actions (#137)
  • MAINT: Minimal unit test and refactor of pepolar workflow node (#133)
  • MAINT: Collect code coverage from tests on Circle (#122)
  • MAINT: Test minimum dependencies with TravisCI (#96)
  • MAINT: Add FLIRT config files to prepare for TOPUP integration (#116)

A complete list of issues addressed by the release is found in the GitHub repo.

2.0.0rc5

24 Dec 08:37
2.0.0rc5
c16cbe8
Compare
Choose a tag to compare
2.0.0rc5 Pre-release
Pre-release
* FIX: Make images "plumb" before running ANTs-SyN (and roll-back afterwards) (#165)
* FIX: Convert SEI fieldmaps given in rad/s into Hz (#127)
* FIX: Limit ``3dQwarp`` to maximum 4 CPUs for stability reasons (#128)
* ENH: Add one test for the SDC-SyN workflow (#164)
* ENH: Generate a simple mask after correction (#161)
* ENH: Increase unit-tests coverage of ``sdcflows.fieldmaps`` (#159)
* ENH: Optimize tensor-product B-Spline kernel evaluation (#157)
* ENH: Add a memory check to dynamically limit interpolation blocksize (#156)
* ENH: Massage TOPUP's fieldcoeff files to be compatible with ours (#154)
* ENH: Add a simplistic EPI masking algorithm (#152)
* ENH: Utility that returns the ``B0FieldSource`` of a given potential EPI target (#151)
* ENH: Write ``fmapid-`` entity in Derivatives (#150)
* ENH: Multiplex fieldmap estimation outputs into a single ``outputnode`` (#149)
* ENH: Putting the new API together on a base workflow (#143)
* ENH: Autogenerate ``B0FieldIdentifiers`` from ``IntendedFor`` (#142)
* ENH: Finalizing the API overhaul (#132)
* ENH: Keep a registry of already-used identifiers (and auto-generate new) (#130)
* ENH: New objects for better representation of fieldmap estimation (#114)
* ENH: Show FieldmapReportlet oriented aligned with cardinal axes (#120)
* ENH: New estimation API (featuring a TOPUP implementation!) (#115)
* DOC: Minor improvements to the literate workflows descriptions. (#162)
* DOC: Fix typo in docstring (#155)
* DOC: Enable NiPype's sphinx-extension to better render Interfaces (#131)
* MAINT: Drop Python 3.6 (#160)
* MAINT: Enable Git-archive protocol with setuptools-scm-archive (#153)
* MAINT: Migrate TravisCI -> GH Actions (completion) (#138)
* MAINT: Migrate TravisCI -> GH Actions (#137)
* MAINT: Minimal unit test and refactor of pepolar workflow node (#133)
* MAINT: Collect code coverage from tests on Circle (#122)
* MAINT: Test minimum dependencies with TravisCI (#96)
* MAINT: Add FLIRT config files to prepare for TOPUP integration (#116)

2.0.0rc4

18 Dec 14:21
2.0.0rc4
ec4fec3
Compare
Choose a tag to compare
2.0.0rc4 Pre-release
Pre-release
* FIX: Convert SEI fieldmaps given in rad/s into Hz (#127)
* FIX: Limit ``3dQwarp`` to maximum 4 CPUs for stability reasons (#128)
* ENH: Generate a simple mask after correction (#161)
* ENH: Increase unit-tests coverage of ``sdcflows.fieldmaps`` (#159)
* ENH: Optimize tensor-product B-Spline kernel evaluation (#157)
* ENH: Add a memory check to dynamically limit interpolation blocksize (#156)
* ENH: Massage TOPUP's fieldcoeff files to be compatible with ours (#154)
* ENH: Add a simplistic EPI masking algorithm (#152)
* ENH: Utility that returns the ``B0FieldSource`` of a given potential EPI target (#151)
* ENH: Write ``fmapid-`` entity in Derivatives (#150)
* ENH: Multiplex fieldmap estimation outputs into a single ``outputnode`` (#149)
* ENH: Putting the new API together on a base workflow (#143)
* ENH: Autogenerate ``B0FieldIdentifiers`` from ``IntendedFor`` (#142)
* ENH: Finalizing the API overhaul (#132)
* ENH: Keep a registry of already-used identifiers (and auto-generate new) (#130)
* ENH: New objects for better representation of fieldmap estimation (#114)
* ENH: Show FieldmapReportlet oriented aligned with cardinal axes (#120)
* ENH: New estimation API (featuring a TOPUP implementation!) (#115)
* DOC: Minor improvements to the literate workflows descriptions. (#162)
* DOC: Fix typo in docstring (#155)
* DOC: Enable NiPype's sphinx-extension to better render Interfaces (#131)
* MAINT: Drop Python 3.6 (#160)
* MAINT: Enable Git-archive protocol with setuptools-scm-archive (#153)
* MAINT: Migrate TravisCI -> GH Actions (completion) (#138)
* MAINT: Migrate TravisCI -> GH Actions (#137)
* MAINT: Minimal unit test and refactor of pepolar workflow node (#133)
* MAINT: Collect code coverage from tests on Circle (#122)
* MAINT: Test minimum dependencies with TravisCI (#96)
* MAINT: Add FLIRT config files to prepare for TOPUP integration (#116)

2.0.0rc3

17 Dec 11:09
2.0.0rc3
6a38566
Compare
Choose a tag to compare
2.0.0rc3 Pre-release
Pre-release
* FIX: Convert SEI fieldmaps given in rad/s into Hz (#127)
* FIX: Limit ``3dQwarp`` to maximum 4 CPUs for stability reasons (#128)
* ENH: Increase unit-tests coverage of ``sdcflows.fieldmaps`` (#159)
* ENH: Optimize tensor-product B-Spline kernel evaluation (#157)
* ENH: Add a memory check to dynamically limit interpolation blocksize (#156)
* ENH: Massage TOPUP's fieldcoeff files to be compatible with ours (#154)
* ENH: Add a simplistic EPI masking algorithm (#152)
* ENH: Utility that returns the ``B0FieldSource`` of a given potential EPI target (#151)
* ENH: Write ``fmapid-`` entity in Derivatives (#150)
* ENH: Multiplex fieldmap estimation outputs into a single ``outputnode`` (#149)
* ENH: Putting the new API together on a base workflow (#143)
* ENH: Autogenerate ``B0FieldIdentifiers`` from ``IntendedFor`` (#142)
* ENH: Finalizing the API overhaul (#132)
* ENH: Keep a registry of already-used identifiers (and auto-generate new) (#130)
* ENH: New objects for better representation of fieldmap estimation (#114)
* ENH: Show FieldmapReportlet oriented aligned with cardinal axes (#120)
* ENH: New estimation API (featuring a TOPUP implementation!) (#115)
* DOC: Fix typo in docstring (#155)
* DOC: Enable NiPype's sphinx-extension to better render Interfaces (#131)
* MAINT: Drop Python 3.6 (#160)
* MAINT: Enable Git-archive protocol with setuptools-scm-archive (#153)
* MAINT: Migrate TravisCI -> GH Actions (completion) (#138)
* MAINT: Migrate TravisCI -> GH Actions (#137)
* MAINT: Minimal unit test and refactor of pepolar workflow node (#133)
* MAINT: Collect code coverage from tests on Circle (#122)
* MAINT: Test minimum dependencies with TravisCI (#96)
* MAINT: Add FLIRT config files to prepare for TOPUP integration (#116)

2.0.0rc2

09 Dec 20:40
2.0.0rc2
4d02005
Compare
Choose a tag to compare
2.0.0rc2 Pre-release
Pre-release
* FIX: Convert SEI fieldmaps given in rad/s into Hz (#127)
* FIX: Limit ``3dQwarp`` to maximum 4 CPUs for stability reasons (#128)
* ENH: Putting the new API together on a base workflow (#143)
* ENH: Autogenerate ``B0FieldIdentifiers`` from ``IntendedFor`` (#142)
* ENH: Finalizing the API overhaul (#132)
* ENH: Keep a registry of already-used identifiers (and auto-generate new) (#130)
* ENH: New objects for better representation of fieldmap estimation (#114)
* ENH: Show FieldmapReportlet oriented aligned with cardinal axes (#120)
* ENH: New estimation API (featuring a TOPUP implementation!) (#115)
* DOC: Enable NiPype's sphinx-extension to better render Interfaces (#131)
* MAINT: Migrate TravisCI -> GH Actions (completion) (#138)
* MAINT: Migrate TravisCI -> GH Actions (#137)
* MAINT: Minimal unit test and refactor of pepolar workflow node (#133)
* MAINT: Collect code coverage from tests on Circle (#122)
* MAINT: Test minimum dependencies with TravisCI (#96)
* MAINT: Add FLIRT config files to prepare for TOPUP integration (#116)

2.0.0rc1

04 Dec 16:14
2.0.0rc1
91d9d7e
Compare
Choose a tag to compare
2.0.0rc1 Pre-release
Pre-release
* FIX: Convert SEI fieldmaps given in rad/s into Hz (#127)
* FIX: Limit ``3dQwarp`` to maximum 4 CPUs for stability reasons (#128)
* ENH: Putting the new API together on a base workflow (#143)
* ENH: Autogenerate ``B0FieldIdentifiers`` from ``IntendedFor`` (#142)
* ENH: Finalizing the API overhaul (#132)
* ENH: Keep a registry of already-used identifiers (and auto-generate new) (#130)
* ENH: New objects for better representation of fieldmap estimation (#114)
* ENH: Show FieldmapReportlet oriented aligned with cardinal axes (#120)
* ENH: New estimation API (featuring a TOPUP implementation!) (#115)
* DOC: Enable NiPype's sphinx-extension to better render Interfaces (#131)
* MAINT: Migrate TravisCI -> GH Actions (completion) (#138)
* MAINT: Migrate TravisCI -> GH Actions (#137)
* MAINT: Minimal unit test and refactor of pepolar workflow node (#133)
* MAINT: Collect code coverage from tests on Circle (#122)
* MAINT: Test minimum dependencies with TravisCI (#96)
* MAINT: Add FLIRT config files to prepare for TOPUP integration (#116)

1.3.3

12 Sep 08:15
Compare
Choose a tag to compare

Release Notes

Bug-fix release in 1.3.x series.

Allows niworkflows 1.2.x or 1.3.x, as no API-breaking changes in 1.3.0 affect SDCflows.

1.3.2

28 Aug 08:09
Compare
Choose a tag to compare

Release Notes

Bug-fix release in 1.3.x series.

CHANGES

  • FIX: Replace NaNs in fieldmap atlas with zeros (#104)
  • ENH: Return out_warp == "identity" if no SDC is applied (#108)