Nipype: A Flexible, Lightweight and Extensible Neuroimaging Data Processing Framework in Python

Current neuroimaging software offer users an incredible opportunity to analyze their data in different ways, with different underlying assumptions. Several sophisticated software packages (e.g., AFNI, BrainVoyager, FSL, FreeSurfer, Nipy, R, SPM) are used to process and analyze large and often diverse (highly multi-dimensional) data. However, this heterogeneous collection of specialized applications creates several issues that hinder replicable, efficient, and optimal use of neuroimaging analysis approaches: (1) No uniform access to neuroimaging analysis software and usage information; (2) No framework for comparative algorithm development and dissemination; (3) Personnel turnover in laboratories often limits methodological continuity and training new personnel takes time; (4) Neuroimaging software packages do not address computational efficiency; and (5) Methods sections in journal articles are inadequate for reproducing results. To address these issues, we present Nipype (Neuroimaging in Python: Pipelines and Interfaces; http://nipy.org/nipype), an open-source, community-developed, software package, and scriptable library. Nipype solves the issues by providing Interfaces to existing neuroimaging software with uniform usage semantics and by facilitating interaction between these packages using Workflows. Nipype provides an environment that encourages interactive exploration of algorithms, eases the design of Workflows within and between packages, allows rapid comparative development of algorithms and reduces the learning curve necessary to use different packages. Nipype supports both local and remote execution on multi-core machines and clusters, without additional scripting. Nipype is Berkeley Software Distribution licensed, allowing anyone unrestricted usage. An open, community-driven development philosophy allows the software to quickly adapt and address the varied needs of the evolving neuroimaging community, especially in the context of increasing demand for reproducible research.

Daniel S. Margulies | Julia M. Huntenburg | Satrajit S. Ghosh | Leonie Lampe | Anisha Keshavan | Tristan Glatard | Gaël Varoquaux | Krzysztof J. Gorgolewski | Demian Wassermann | Lijie Huang | R. Cameron Craddock | Tristan Glatard | Ariel Rokem | Yaroslav O. Halchenko | Alexander Schaefer | Michael Hanke | William Triplett | Ariel Rokem | Michael Dayan | Jörg Stadler | L. Nathan Perkins | Oscar Esteban | Siqi Liu | Xiang-Zhen Kong | Erik Ziegler | Shariq Iqbal | Daniel Clark | Stephan Gerhard | Carlo Hamalainen | Michael L. Waskom | Alexandre Gramfort | Michael Hanke | Oscar Esteban | B. Nolan Nichols | Michael Dayan | Jessica Forbes | Daniel Clark | Satrajit S. Ghosh | Janosch Linkersdörfer | Daniel McNamee | Jörg Stadler | John Pellman | Franziskus Liem | Cindee Madison | Basile Pinsard | Blake E Dewey | Cindee M. Madison | Daniel Geisler | Andrew Floren | Arman Eshaghi | Lijie Huang | Christopher Markiewicz | Jens Kleesiek | Gavin Cooper | Dav Clark | Cindee Madison | Christopher J. Steele | Dimitri Papadopoulos Orfanos | Erik Kastman | Hans Johnson | Joshua Warner | Joshua Warner | Xiang-Zhen Kong | David Welch | Sami Kristian Andberg | Benjamin Acland | William Broderick | René Küttner | Ivan Gonzalez | Michael Waskom | Paul Sharp | Sharad Sikka | Alexandre Manhães-Savio | Christopher Burns | Martin Felipe Perez-Guevara | David Gage Ellis | Dmytro Bielievtsov | Michael Philipp Notter | L. Nathan Perkins | Y. Halchenko | Dav Clark | Christopher J. Steele | Alexander Schaefer | Siqi Liu | William Triplett | William Broderick | David Welch | Ivan Gonzalez | Paul Sharp | Christopher Burns | Hans Johnson | David Gage Ellis | C. Burns

[1]  Anders M. Dale,et al.  Cortical Surface-Based Analysis I. Segmentation and Surface Reconstruction , 1999, NeuroImage.

[2]  Emden R. Gansner,et al.  Graphviz - Open Source Graph Drawing Tools , 2001, GD.

[3]  J. Gee,et al.  Geodesic estimation for large deformation anatomical shape averaging and interpolation , 2004, NeuroImage.

[4]  Lars Hömke,et al.  A multigrid method for anisotropic PDEs in elastic image registration , 2006, Numer. Linear Algebra Appl..

[5]  Romain Brette,et al.  The Brian Simulator , 2009, Front. Neurosci..

[6]  James A. Bednar,et al.  Topographica: Building and Analyzing Map-Level Simulations from Python, C/C++, MATLAB, NEST, or NEURON Components , 2008, Front. Neuroinform..

[7]  Walter Schneider,et al.  Fiswidgets - A graphical computing environment for neuroimaging analysis , 2003, Neuroinformatics.

[8]  K. Jarrod Millman,et al.  Python for Scientists and Engineers , 2011, Comput. Sci. Eng..

[9]  Stefan Pollmann,et al.  PyMVPA: a Python Toolbox for Multivariate Pattern Analysis of fMRI Data , 2009, Neuroinformatics.

[10]  Cláudio T. Silva,et al.  VisTrails: visualization meets data management , 2006, SIGMOD Conference.

[11]  Arthur W. Toga,et al.  Provenance in neuroimaging , 2008, NeuroImage.

[12]  Jean-Philippe Thiran,et al.  The Connectome Viewer Toolkit: An Open Source Framework to Manage, Analyze, and Visualize Connectomes , 2011, Front. Neuroinform..

[13]  Arthur W. Toga,et al.  Effi cient , distributed and interactive neuroimaging data analysis using the LONI Pipeline , 2009 .

[14]  Satrajit S. Ghosh,et al.  Evaluation of volume-based and surface-based brain image registration methods , 2010, NeuroImage.

[15]  Sanjay Ghemawat,et al.  MapReduce: simplified data processing on large clusters , 2008, CACM.

[16]  Matthew J. McAuliffe,et al.  Medical Image Processing, Analysis and Visualization in clinical research , 2001, Proceedings 14th IEEE Symposium on Computer-Based Medical Systems. CBMS 2001.

[17]  H. Benali,et al.  BrainVISA: Software platform for visualization and analysis of multi-modality brain data , 2001, NeuroImage.

[18]  B DowneyAllen Python as a first language , 2007 .

[19]  Hervé Abdi,et al.  Optimizing preprocessing and analysis pipelines for single‐subject fMRI. I. Standard temporal motion and physiological noise correction methods , 2012, Human brain mapping.

[20]  Fernando Pérez,et al.  Python: An Ecosystem for Scientific Computing , 2011, Computing in Science & Engineering.

[21]  Stephen M. Smith,et al.  A New Class of Corner Finder , 1992, BMVC.

[22]  Edward A. Lee,et al.  CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE Concurrency Computat.: Pract. Exper. 2000; 00:1–7 Prepared using cpeauth.cls [Version: 2002/09/19 v2.02] Taverna: Lessons in creating , 2022 .

[23]  Arno Klein,et al.  Evaluation of 14 nonlinear deformation algorithms applied to human brain MRI registration , 2009, NeuroImage.

[24]  Yaroslav O. Halchenko,et al.  Neuroscience Runs on GNU/Linux , 2011, Front. Neuroinform..

[25]  D. Stott Parker,et al.  Neuroimaging Study Designs, Computational Analyses and Data Provenance Using the LONI Pipeline , 2010, PloS one.

[26]  Arthur W Toga,et al.  The LONI Pipeline Processing Environment , 2003, NeuroImage.

[27]  Bruce Fischl,et al.  Accurate and robust brain image alignment using boundary-based registration , 2009, NeuroImage.

[28]  A. Dale,et al.  Cortical Surface-Based Analysis II: Inflation, Flattening, and a Surface-Based Coordinate System , 1999, NeuroImage.

[29]  Ariel Rokem,et al.  Nitime: time-series analysis for neuroimaging data , 2009 .

[30]  Ayse Pinar Saygin,et al.  Smoothing and cluster thresholding for cortical surface-based group analysis of fMRI data , 2006, NeuroImage.