Changes in Nipype

1.0.0 (January 24, 2018)

###### [Full changelog](https://github.com/nipy/nipype/milestone/16?closed=1)

0.14.0 (November 29, 2017)

###### [Full changelog](https://github.com/nipy/nipype/milestone/13)

0.14.0rc1 (November 21, 2017)

0.13.1 (May 20, 2017)

0.13.0 (May 11, 2017)

0.13.0-rc1 (January 4, 2017)

Release 0.12.1 (August 3, 2016)

Release 0.12.0 (July 12, 2016)

Release 0.11.0 (September 15, 2015)

Release 0.10.0 (October 10, 2014)

  • ENH: New miscelaneous interfaces: SplitROIs (mapper), MergeROIs (reducer)
    to enable parallel processing of very large images.
  • ENH: Updated FSL interfaces: BEDPOSTX and XFibres, former interfaces are still
    available with the version suffix: BEDPOSTX4 and XFibres4. Added gpu versions of BEDPOSTX: BEDPOSTXGPU, BEDPOSTX5GPU, and BEDPOSTX4GPU
  • ENH: Added experimental support for MIPAV algorithms thorugh JIST plugins
  • ENH: New dipy interfaces: Denoise, Resample
  • ENH: New Freesurfer interfaces: Tkregister2 (for conversion of fsl style matrices to freesurfer format), MRIPretess
  • ENH: New FSL interfaces: WarpPoints, WarpPointsToStd, EpiReg, ProbTrackX2, WarpUtils, ConvertWarp
  • ENH: New miscelaneous interfaces: AddCSVRow, NormalizeProbabilityMapSet, AddNoise
  • ENH: New AFNI interfaces: Eval, Means, SVMTest, SVMTrain
  • ENH: FUGUE interface has been refactored to use the name_template system, 3 examples
    added to doctests, some bugs solved.
  • API: Interfaces to external packages are no longer available in the top-level
    nipype namespace, and must be imported directly (e.g. from nipype.interfaces import fsl).
  • ENH: Support for elastix via a set of new interfaces: Registration, ApplyWarp,
    AnalyzeWarp, PointsWarp, and EditTransform
  • ENH: New ANTs interface: ApplyTransformsToPoints, LaplacianThickness
  • ENH: New Diffusion Toolkit interface: TrackMerge
  • ENH: New MRtrix interface: FilterTracks
  • ENH: New metrics group in algorithms. Now Distance, Overlap, and FuzzyOverlap
    are found in nipype.algorithms.metrics instead of misc. Overlap interface extended to allow files containing multiple ROIs and volume physical units.
  • ENH: New interface in algorithms.metrics: ErrorMap (a voxel-wise diff map).
  • ENH: New FreeSurfer workflow: create_skullstripped_recon_flow()
  • ENH: Deep revision of workflows for correction of dMRI artifacts. New dmri_preprocessing
    example.
  • ENH: New data grabbing interface that works over SSH connections, SSHDataGrabber
  • ENH: New color mode for write_graph
  • ENH: You can now force MapNodes to be run serially
  • ENH: Added ANTS based openfmri workflow
  • ENH: MapNode now supports flattening of nested lists
  • ENH: Support for headless mode using Xvfb
  • ENH: nipype_display_crash has a debugging mode
  • FIX: MRTrix tracking algorithms were ignoring mask parameters.
  • FIX: FNIRT registration pathway and associated OpenFMRI example script
  • FIX: spm12b compatibility for Model estimate
  • FIX: Batch scheduler controls the number of maximum jobs properly
  • FIX: Update for FSL 5.0.7 which deprecated Contrast Manager

Release 0.9.2 (January 31, 2014)

  • FIX: DataFinder was broken due to a typo
  • FIX: Order of DataFinder outputs was not guaranteed, it’s human sorted now
  • ENH: New interfaces: Vnifti2Image, VtoMat

Release 0.9.1 (December 25, 2013)

  • FIX: installation issues

Release 0.9.0 (December 20, 2013)

  • ENH: SelectFiles: a streamlined version of DataGrabber

  • ENH: new tools for defining workflows: JoinNode, synchronize and itersource

  • ENH: W3C PROV support with optional RDF export built into Nipype

  • ENH: Added support for Simple Linux Utility Resource Management (SLURM)

  • ENH: AFNI interfaces refactor, prefix, suffix are replaced by

    “flexible_%s_templates”

  • ENH: New SPM interfaces:
    • spm.ResliceToReference,
    • spm.DicomImport
  • ENH: New AFNI interfaces:
    • afni.AFNItoNIFTI
    • afni.TCorr1D
  • ENH: Several new interfaces related to Camino were added:
    • camino.SFPICOCalibData
    • camino.Conmat
    • camino.QBallMX
    • camino.LinRecon
    • camino.SFPeaks

    One outdated interface no longer part of Camino was removed: - camino.Conmap

  • ENH: Three new mrtrix interfaces were added:
    • mrtrix.GenerateDirections
    • mrtrix.FindShPeaks
    • mrtrix.Directions2Amplitude
  • ENH: New FSL interfaces:
    • fsl.PrepareFieldmap
    • fsl.TOPUP
    • fsl.ApplyTOPUP
    • fsl.Eddy
  • ENH: New misc interfaces:
    • FuzzyOverlap,
    • P2PDistance
  • ENH: New workflows: nipype.workflows.dmri.fsl.epi.[fieldmap_correction&topup_correction]

  • ENH: Added simplified outputname generation for command line interfaces.

  • ENH: Allow ants use a single mask image

  • ENH: Create configuration option for parameterizing directories with hashes

  • ENH: arrange nodes by topological sort with disconnected subgraphs

  • ENH: uses the nidm iri namespace for uuids

  • ENH: remove old reporting webpage

  • ENH: Added support for Vagrant

  • API: ‘name’ is now a positional argument for Workflow, Node, and MapNode constructors

  • API: SPM now defaults to SPM8 or SPM12b job format

  • API: DataGrabber and SelectFiles use human (or natural) sort now

  • FIX: Several fixes related to Camino interfaces:
    • ProcStreamlines would ignore many arguments silently (target, waypoint, exclusion ROIS, etc.)
    • DTLUTGen would silently round the “step”, “snr” and “trace” parameters to integers
    • PicoPDFs would not accept more than one lookup table
    • PicoPDFs default pdf did not correspond to Camino default
    • Track input model names were outdated (and would generate an error)
    • Track numpds parameter could not be set for deterministic tractography
    • FA created output files with erroneous extension
  • FIX: Deals properly with 3d files in SPM Realign

  • FIX: SPM with MCR fixed

  • FIX: Cleaned up input and output spec metadata

  • FIX: example openfmri script now makes the contrast spec a hashed input

  • FIX: FILMGLS compatibility with FSL 5.0.5

  • FIX: Freesurfer recon-all resume now avoids setting inputs

  • FIX: File removal from node respects file associations img/hdr/mat, BRIK/HEAD

Release 0.8.0 (May 8, 2013)

  • ENH: New interfaces: nipy.Trim, fsl.GLM, fsl.SigLoss, spm.VBMSegment, fsl.InvWarp,
    dipy.TensorMode
  • ENH: Allow control over terminal output for commandline interfaces
  • ENH: Added preliminary support for generating Python code from Workflows.
  • ENH: New workflows for dMRI and fMRI pre-processing: added motion artifact correction
    with rotation of the B-matrix, and susceptibility correction for EPI imaging using fieldmaps. Updated eddy_correct pipeline to support both dMRI and fMRI, and new parameters.
  • ENH: Minor improvements to FSL’s FUGUE and FLIRT interfaces
  • ENH: Added optional dilation of parcels in cmtk.Parcellate
  • ENH: Interpolation mode added to afni.Resample
  • ENH: Function interface can accept a list of strings containing import statements
    that allow external functions to run without their imports defined in the function body
  • ENH: Allow node configurations to override master configuration
  • FIX: SpecifyModel works with 3D files correctly now.

Release 0.7.0 (Dec 18, 2012)

  • ENH: Add basic support for LSF plugin.
  • ENH: New interfaces: ICC, Meshfix, ants.Register, C3dAffineTool, ants.JacobianDeterminant,
    afni.AutoTcorrelate, DcmStack
  • ENH: New workflows: ants template building (both using ‘ANTS’ and the new ‘antsRegistration’)
  • ENH: New examples: how to use ANTS template building workflows (smri_ants_build_tmeplate),
    how to set SGE specific options (smri_ants_build_template_new)
  • ENH: added no_flatten option to Merge
  • ENH: added versioning option and checking to traits
  • ENH: added deprecation metadata to traits
  • ENH: Slicer interfaces were updated to version 4.1

Release 0.6.0 (Jun 30, 2012)

  • API: display variable no longer encoded as inputs in commandline interfaces
  • ENH: input hash not modified when environment DISPLAY is changed
  • ENH: support for 3d files for TSNR calculation
  • ENH: Preliminary support for graph submission with SGE, PBS and Soma Workflow
  • ENH: New interfaces: MySQLSink, nipy.Similarity, WatershedBEM, MRIsSmooth,
    NetworkBasedStatistic, Atropos, N4BiasFieldCorrection, ApplyTransforms, fs.MakeAverageSubject, epidewarp.fsl, WarpTimeSeriesImageMultiTransform, AVScale, mri_ms_LDA
  • ENH: simple interfaces for spm
  • FIX: CompCor component calculation was erroneous
  • FIX: filename generation for AFNI and PRELUDE
  • FIX: improved slicer module autogeneration
  • FIX: added missing options for BBRegsiter
  • FIX: functionality of remove_unnecessary_ouputs cleaned up
  • FIX: local hash check works with appropriate inputs
  • FIX: Captures all stdout from commandline programs
  • FIX: Afni outputs should inherit from TraitedSpec

Release 0.5.3 (Mar 23, 2012)

  • FIX: SPM model generation when output units is in scans

Release 0.5.2 (Mar 14, 2012)

  • API: Node now allows specifying node level configuration for SGE/PBS clusters
  • API: Logging to file is disabled by default
  • API: New location of log file -> .nipype/nipype.cfg
  • ENH: Changing logging options via config works for distributed processing
  • FIX: Unittests on debian (logging and ipython)

Release 0.5 (Mar 10, 2012)

  • API: FSL defaults to Nifti when OUTPUTTYPE environment variable not found
  • API: By default inputs are removed from Node working directory
  • API: InterfaceResult class is now versioned and stores class type not instance
  • API: Added FIRST interface
  • API: Added max_jobs paramter to plugin_args. limits the number of jobs
    executing at any given point in time
  • API: crashdump_dir is now a config execution option
  • API: new config execution options for controlling hash checking, execution and
    logging behavior when running in distributed mode.
  • API: Node/MapNode has new attribute that allows it to run on master thread.
  • API: IPython plugin now invokes IPython 0.11 or greater
  • API: Canned workflows are now all under a different package structure
  • API: SpecifyModel event_info renamed to event_files
  • API: DataGrabber is always being rerun (unless overwrite is set to False on
    Node level)
  • API: “stop_on_first_rerun” does not stop for DataGrabber (unless overwrite is
    set to True on Node level)
  • API: Output prefix can be set for spm nodes (SliceTiming, Realign, Coregister,
    Normalize, Smooth)
  • ENH: Added fsl resting state workflow based on behzadi 2007 CompCorr method.
  • ENH: TSNR node produces mean and std-dev maps; allows polynomial detrending
  • ENH: IdentityNodes are removed prior to execution
  • ENH: Added Michael Notter’s beginner’s guide
  • ENH: Added engine support for status callback functions
  • ENH: SPM create warped node
  • ENH: All underlying interfaces (including python ones) are now optional
  • ENH: Added imperative programming option with Nodes and caching
  • ENH: Added debug mode to configuration
  • ENH: Results can be stored and loaded without traits exceptions
  • ENH: Added concurrent log handler for distributed writing to log file
  • ENH: Reporting can be turned off using config
  • ENH: Added stats files to FreeSurferOutput
  • ENH: Support for Condor through qsub emulation
  • ENH: IdentityNode with iterable expansion takes place after remaining Identity
    Node removal
  • ENH: Crashfile display script added
  • ENH: Added FmriRealign4d node wrapped from nipy
  • ENH: Added TBSS workflows and examples
  • ENH: Support for openfmri data processing
  • ENH: Package version check
  • FIX: Fixed spm preproc workflow to cater to multiple functional runs
  • FIX: Workflow outputs displays nodes with empty outputs
  • FIX: SUSAN workflow works without usans
  • FIX: SGE fixed for reading custom templates
  • FIX: warping in SPM realign, Dartel and interpolation parameters
  • FIX: Fixed voxel size parameter in freesurfer mri_convert
  • FIX: 4D images in spm coregister
  • FIX: Works around matlab tty bug
  • FIX: Overwriting connection raises exception
  • FIX: Outputs are loaded from results and not stored in memory for during
    distributed operation
  • FIX: SPM threshold uses SPM.mat name and improved error detection
  • FIX: Removing directory contents works even when a node has no outputs
  • FIX: DARTEL workflows will run only when SPM 8 is available
  • FIX: SPM Normalize estimate field fixed
  • FIX: hashmethod argument now used for calculating hash of old file
  • FIX: Modelgen now allows FSL style event files

Release 0.4.1 (Jun 16, 2011)

  • Minor bugfixes

Release 0.4 (Jun 11, 2011)

  • API: Timestamp hashing does not use ctime anymore. Please update your hashes by
    running workflows with updatehash=True option NOTE: THIS IS THE DEFAULT CONFIG NOW, so unless you updatehash, workflows will rerun
  • API: Workflow run function no longer supports (inseries, createdirsonly).
    Functions used in connect string must be pickleable
  • API: SPM EstimateContrast: ignore_derivs replaced by use_derivs
  • API: All interfaces: added new config option ignore_exception
  • API: SpecifModel no longer supports (concatenate_runs, output_specs). high_pass_filter
    cutoff is mandatory (even if its set to np.inf). Additional interfaces SpecifySPMModel and SpecifySparseModel support other types of data.
  • API: fsl.DTIFit input “save” is now called “save_tensor”
  • API: All inputs of IdentityInterfaces are mandatory by default. You can turn
    this off by specifying mandatory_inputs=False to the constructor.
  • API: fsl FILMGLS input “autocorr_estimate” is now called “autocorr_estimate_only”
  • API: fsl ContrastMgr now requires access to specific files (no longer accepts
    the result directory)
  • API: freesurfer.GLMFit input “surf” is now a boolean with three corresponding
    inputs – subject_id, hemi, and surf_geo
  • ENH: All commandline interfaces display stdout and stderr
  • ENH: All interfaces raise exceptions on error with an option to suppress
  • ENH: Supports a plugin interface for execution (current support for multiprocessing,
    IPython, SGE, PBS)
  • ENH: MapNode runs in parallel under IPython, SGE, MultiProc, PBS
  • ENH: Optionally allows keeping only required outputs
  • ENH: New interface: utility.Rename to change the name of files, optionally
    using python string-formatting with inputs or regular expressions matching
  • ENH: New interface: freesurfer.ApplyMask (mri_mask)
  • ENH: New FSL interface – SwapDimensions (fslswapdim)
  • ENH: Sparse models allow regressor scaling and temporal derivatives
  • ENH: Added support for the component parts of FSL’s TBSS workflow (TBSSSkeleton
    and DistanceMap)
  • ENH: dcm2nii interface exposes bvals, bvecs, reoriented and cropped images
  • ENH: Added several higher-level interfaces to the fslmaths command:
    • ChangeDataType, Threshold, MeanImage, IsotropicSmooth, ApplyMask, TemporalFilter DilateImage, ErodeImage, SpatialFilter, UnaryMaths, BinaryMaths, MultiImageMaths
  • ENH: added support for networx 1.4 and improved iterable expansion
  • ENH: Replaced BEDPOSTX and EddyCurrent with nipype pipelines
  • ENH: Ability to create a hierarchical dot file
  • ENH: Improved debugging information for rerunning nodes
  • ENH: Added ‘stop_on_first_rerun’ option
  • ENH: Added support for Camino
  • ENH: Added support for Camino2Trackvis
  • ENH: Added support for Connectome Viewer
  • BF: dcm2nii interface handles gzipped files correctly
  • BF: FNIRT generates proper outputs
  • BF: fsl.DTIFit now properly collects tensor volume
  • BF: updatehash now removes old result hash file

Release 0.3.4 (Jan 12, 2011)

  • API: hash values for float use a string conversion up to the 10th decimal place.
  • API: Iterables in output path will always be generated as _var1_val1_var2_val2 pairs
  • ENH: Added support to nipy: GLM fit, contrast estimation and calculating mask from EPI
  • ENH: Added support for manipulating surface files in Freesurfer:
    • projecting volume images onto the surface
    • smoothing along the surface
    • transforming a surface image from one subject to another
    • using tksurfer to save pictures of the surface
  • ENH: Added support for flash processing using FreeSurfer
  • ENH: Added support for flirt matrix in BBRegister
  • ENH: Added support for FSL convert_xfm
  • ENH: hashes can be updated again without rerunning all nodes.
  • ENH: Added multiple regression design for FSL
  • ENH: Added SPM based Analyze to Nifti converter
  • ENH: Added increased support for PyXNAT
  • ENH: Added support for MCR-based binary version of SPM
  • ENH: Added SPM node for calculating various threshold statistics
  • ENH: Added distance and dissimilarity measurements
  • BF: Diffusion toolkit gets installed
  • BF: Changed FNIRT interface to accept flexible lists (rather than 4-tuples)
    on all options specific to different subsampling levels

Release 0.3.3 (Sep 16, 2010)

  • API: subject_id in ModelSpec is now deprecated
  • API: spm.Threshold - does not need mask, beta, RPV anymore - takes only one image (stat_image - mind the name change) - works with SPM2 SPM.mat - returns additional map - pre topological FDR
  • ENH: Added support for Diffusion toolkit
  • ENH: Added support for FSL slicer and overlay
  • ENH: Added support for dcm2nii
  • BF: DataSink properly handles lists of lists now
  • BF: DataGrabber has option for raising Exception on getting empty lists
  • BF: Traits logic for ‘requires’ metadata
  • BF: allows workflows to be relocatable
  • BF: nested workflows with connections don’t raise connection not found error
  • BF: multiple workflows with identical nodenames and iterables do not create nestsed workflows

Release 0.3.2 (Aug 03, 2010)

Enhancements

  • all outputs from nodes are now pickled as part of workflow processing
  • added git developer docs

Bugs fixed

  • FreeSurfer
    • Fixed bugs in SegStats doctest

Release 0.3.1 (Jul 29, 2010)

Bugs fixed

  • FreeSurfer
    • Fixed bugs in glmfit and concatenate
    • Added group t-test to freesurfer tutorial

Release 0.3 (Jul 27, 2010)

Incompatible changes

  • Complete redesign of the Interface class - heavy use of Traits.
  • Changes in the engine API - added Workflow and MapNode. Compulsory name argument.

Features added

  • General:
    • Type checking of inputs and outputs using Traits from ETS.
    • Support for nested workflows.
    • Preliminary Slicer and AFNI support.
    • New flexible DataGrabber node.
    • AtlasPick and Threshold nodes.
    • Preliminary support for XNAT.
    • Doubled number of the tutorials.
  • FSL:
    • Added DTI processing nodes (note that TBSS nodes are still experimental).
    • Recreated FEAT workflow.
  • SPM:
    • Added New Segment and many other nodes.
    • Redesigned second level analysis.