Home · Quickstart · Documentation · Citation · NiPy

# Changes in Nipype

## 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.