Skip to content

NLTools

![Version](https://img.shields.io/badge/version-0.6.0.dev1-blue) [![CI](https://github.com/cosanlab/nltools/actions/workflows/ci.yml/badge.svg)](https://github.com/cosanlab/nltools/actions/workflows/ci.yml) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.2229813.svg)](https://zenodo.org/records/2229813) ![Python Versions](https://img.shields.io/badge/python-3.11%2B-blue) ![Platforms](https://img.shields.io/badge/platform-linux%20%7C%20osx-blue)

NLTools is a Python package for analyzing neuroimaging data. It is the analysis engine powering neuro-learn. There are tools to perform data manipulation and analyses such as univariate GLMs, predictive multivariate modeling, and representational similarity analyses. It is based loosely off of Tor Wager's object-oriented Matlab toolbox and leverages much code from nilearn and scikit-learn.

You can install it using uv or pip:

uv add nltools
pip install nltools

Watch a video in which Dr. Eshin Jolly, PhD outlines some of the design principles behind nltools at SciPy 2020:

The Reference has one page per namespace: the data classes you work with (BrainData, Adjacency, DesignMatrix), and the functions in nltools.algorithms and the smaller namespaces. Upgrading from v0.5? Start with Migrating from v0.5.

Learning nltools

  • DartBrains — an undergraduate-level course on the fundamentals of neuroimaging, taught with nltools.
  • Naturalistic Data — a more advanced course on working with naturalistic datasets (watching movies, playing games, etc.).
  • Discourse community — a Stack Overflow-like forum where you can view, contribute, and vote on FAQs about nltools. Ask questions here first so other users benefit from the answers.
  • GitHub issues — for bugs and anything else code-related.