Releases: nipreps/sdcflows
2.0.2.post1
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 :math:`B_0` fieldmap unwarping object which is compatible with *NiTranforms* and evades the problem of fiddling with the target image's x-forms. * FIX: Make sure the VSM is not modified when accessing it (#207) * 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: :math:`B_0` 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.2
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
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
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
theIntendedFor
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
fromIntendedFor
(#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
* 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
* 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
* 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
* 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
* 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)