1.4.0
Release Notes
First release in the 1.4.x series.
This release includes enhancements and bug-fixes towards the release of the first
beta version of dMRIPrep.
It also contains new features that are necessary for the API overhaul that has
happened within the new SDCFlows 2.x series.
The new series include a cross-cutting (modalities, species) workflow to generate
EPI references.
Finally other NiPreps will also have a first release with specific support for
them: NiRodents and NiBabies (and their corresponding fMRIPrep extensions).
⚠️ NiWorkflows has been relicensed!⚠️
As of the first release candidate of the 1.4 series, the license has changed
from BSD 3-clause to the Apache License 2.0.
Amongst several terms that are changing, the following two premises are relevant
if you derive code from the new series:
* You must give any other recipients of the Work or Derivative Works a copy
of this License; and
* You must cause any modified files to carry prominent notices stating that
You changed the files.
A list of prominent changes can be found below. (With thanks to Lea Waller for the contributions)
Changes
- DOC: Ensure copyright notice in all headers' comment (#635)
- FIX: Set slope and intercept to 1/0 if not otherwise provided (#649)
- FIX:
DerivativesDataSinkwarning when it has multiple source files (#647) - FIX:
FSDetectInputsmutually exclusive options forReconAll(#646) - FIX: Remove pandas warning about use of keyword arguments (#645)
- FIX: Improve
SimpleBeforeAfterRPTcontour visibility (#643) - FIX:
DerivativesDataSinkdismissing entity writing reportlet (#638) - FIX: Ensure
IntensityClipinput is a 3D file (#621) - FIX: Limit memory usage in
EstimateReferenceImage(#629) - FIX: Purge removed
--disableflag from svgo call (#626) - FIX: Readd
sbref_fileinput to reference volume interface (#624) - FIX: Update svgutils after breaking API changes (#620)
- FIX: Address issues with
RobustAverageglobal signal measurement (#607) - FIX:
NonsteadyStatesDetectorwrongly using Nipype'sis_outlier(#605) - FIX: Change in svgutils' API on 0.3.2 breaks reportlets (#599)
- FIX: Check for
in_segminput, notseg_file(typo) (#592) - FIX: Use the mask to calculate FOV rather than the fixed image in
GenerateSamplingReference(#583) - FIX: Allow omission of
<res>for template normalization (#582) - FIX: Include
_T2starw_MTwand_TSE-suffixes inbuild_pathoptions (#584) - FIX:
DerivativesDataSinkwarning when it has multiple source files (#573) - ENH: Allow
SimpleBeforeAfterRPTplotting of image rotated to cardinal axes (#650) - ENH: Update visual report specification with fieldmaps (#634)
- ENH: Expose the output of the
ValidateImagenode as an output in EPI reference workflow (#636) - ENH: Add an inversion operation to
IntensityClip(#616) - ENH: Cross-cutting (modalities, species) workflow to generate EPI references (#610)
- ENH: Add a
RobustAverageinterface and split volume selection (#602) - ENH: Revise some patterns of the
BIDSLayoutconfig to aid SDCFlows new API (#585) - ENH: Upstream fMRIPrep's
init_bbreg_wfto integrate it in dMRIPrep (#586) - MAINT: Pin svgutils to previous versions (#596)
- MAINT: Drop gh-pages history, reducing repository size (#622)
- MAINT: Add DS030 dataset, with clipped (55 timepoints) BOLD data (#609)
- MAINT: Migrate
ds003_downsampledtonipreps-data(#608) - MAINT: Move mask-regressions test-data to datalad + nipreps-data (#606)
- MAINT: Refactor structure of interfaces (#603)
- MAINT: Drop Python 3.6, test setuptools builds, pip installations, and revise Docker pinned versions (#593)
- MAINT: CircleCI housekeeping (#580)
- RF: Write derivatives once, using deterministic gzip settings (#641)
⚠️ API Changes⚠️
Theniworkflows.interfacessubmodule has been refactored.
To migrate from previous series, please modify the following imports:
*images.MatchHeader->header.MatchHeader
*images.ValidateImage->header.ValidateImage
*images.Demean->nibabel.Demean
*images.FilledImageLike->nibabel.FilledImageLike
*images.RegridToZooms->nibabel.RegridToZooms
*masks.ROIsPlot->reportlets.masks.ROIsPlot
*masks.ComputeEPIMask->nilearn.ComputeEPIMask
*mni.RobustMNINormalization->norm.SpatialNormalization
* Newniworkflows.interfaces.reportletssubmodule
*report_base->reportlets.base
*masks->reportlets.masks
*registration->reportlets.registration
*segmentation->reportlets.segmentation
*utils.GenerateSamplingReference->nibabel.GenerateSamplingReference
*utils.CopyXForm->header.CopyXForm
*utils.NormalizeMotionParams->confounds.NormalizeMotionParams
*utils.AddTPMs->probmaps.AddTPMs
*utils.TPM2ROI->probmaps.TPM2ROI
*utils.AddTSVHeader->utility.AddTSVHeader
*utils.JoinTSVColumns->utility.JoinTSVColumns
*utils.DictMerge->utility.DictMerge
*utils.TSV2JSON->utility.TSV2JSON
Beware that interface aliases at the topniworkflows.interfaceslevel have
been removed:
*ExpandModel,SpikeRegressorsfromconfounds
*BET->reportlets.masks.BETRPT
*FAST->reportlets.segmentation.FASTRPT
*FLIRT,ApplyXFM,RobustMNINormalization,Registration,
ApplyTransforms,SimpleBeforeAfternow underreportlets.registration
asFLIRTRPT,ApplyXFMRPT,RobustMNINormalizationRPT,ANTSRegistrationRPT,
ANTSApplyTransformsRPT,SimpleBeforeAfterRPT.
*CopyXForm,CopyHeader,SanitizeImagenow underheader
*NormalizeMotionParamsnow underconfounds.
*FMRISummary,CompCorVariancePlot,ConfoundsCorrelationPlotfromplotting