Skip to content

neuroquery/neuroquery

Repository files navigation

buildcodecov

Binder

NeuroQuery

NeuroQuery is a tool and a statistical model for meta-analysis of the functional neuroimaging literature.

Given a text query, it can produce a brain map of the most relevant anatomical structures according to the current scientific literature.

It can be used through a web interface: https://neuroquery.org

Technical details and extensive validation are provided in this paper.

This Python package permits using NeuroQuery offline or integrating it in other applications.

Getting started

Quick demo

Dependencies

NeuroQuery requires Python 3, numpy, scipy, scikit-learn, nilearn, pandas, regex, lxml, and requests.

nltk is an optional dependency needed only if you use stemming or lemmatization for tokenization of input text.

python-Levenshtein is an optional dependency used only in some parts of tokenization. If you use the vocabulary lists provided with neuroquery or in neuroquery_data it is not needed.

Installation

neuroquery can be installed with

pip install neuroquery

Usage

In the examples folder, minimal_example.ipynb shows basic usage of neuroquery.

neuroquery has a function to download a trained model so that users can get started right away:

from neuroquery import fetch_neuroquery_model, NeuroQueryModel
from nilearn.plotting import view_img

encoder = NeuroQueryModel.from_data_dir(fetch_neuroquery_model())
# encoder returns a dictionary containing a brain map and more,
# see examples or documentation for details
view_img(
    encoder("Parkinson's disease")["brain_map"], threshold=3.).open_in_browser()

neuroquery also provides classes to train new models from scientific publications' text and stereotactic peak activation coordinates (see training_neuroquery.ipynb in the examples).

About

Implementation of the neuroquery encoding model that powers neuroquery.org

Resources

License

Stars

Watchers

Forks

Packages

No packages published