All Projects → nipy → Niwidgets

nipy / Niwidgets

Licence: other
Neuroimaging widgets for jupyter notebooks

Projects that are alternatives of or similar to Niwidgets

Imcap keras
Image captioning with spatial attention using keras with tensorflow backend
Stars: ✭ 62 (-1.59%)
Mutual labels:  jupyter-notebook
Torrent To Google Drive Downloader
Simple notebook to stream torrent files to Google Drive using Google Colab and python3.
Stars: ✭ 63 (+0%)
Mutual labels:  jupyter-notebook
Dmia2018 fall public
Stars: ✭ 63 (+0%)
Mutual labels:  jupyter-notebook
E2e Glstm Sc
Code for paper "Image Caption Generation with Text-Conditional Semantic Attention"
Stars: ✭ 62 (-1.59%)
Mutual labels:  jupyter-notebook
Fbdqa 2021s
Financial Big Data and Quantitative Analytics, Spring 2021.
Stars: ✭ 63 (+0%)
Mutual labels:  jupyter-notebook
Jupyterplot
Create real-time plots in Jupyter Notebooks.
Stars: ✭ 64 (+1.59%)
Mutual labels:  jupyter-notebook
Probabilistic Algorithms
Introduction to common Probabilistic Algorithms: Approximate Counting, Flajolet-Martin, LogLog, HyperLogLog, Bloom Filters
Stars: ✭ 62 (-1.59%)
Mutual labels:  jupyter-notebook
Deeplabv3p gluon
DeepLab v3+ in MXNet Gluon
Stars: ✭ 63 (+0%)
Mutual labels:  jupyter-notebook
Singlecellopenproblems
Formalizing and benchmarking open problems in single-cell genomics
Stars: ✭ 60 (-4.76%)
Mutual labels:  jupyter-notebook
Minimally Sufficient Pandas
There are always multiple ways to complete a task in Pandas. A minimal subset of the library is sufficient for almost everything.
Stars: ✭ 63 (+0%)
Mutual labels:  jupyter-notebook
Taming Transformers
Stars: ✭ 1,107 (+1657.14%)
Mutual labels:  jupyter-notebook
Ipython Notebooks
Stars: ✭ 62 (-1.59%)
Mutual labels:  jupyter-notebook
Notebooks Forge
A collection of notebooks built for defensive and offensive operations.
Stars: ✭ 63 (+0%)
Mutual labels:  jupyter-notebook
Lenet In Tensorflow
Implementation of the LeNet-5 deep neural network model in Tensorflow. https://www.youtube.com/watch?v=ixkpBmKRZDw
Stars: ✭ 62 (-1.59%)
Mutual labels:  jupyter-notebook
Vitech
tuyển chọn các tài liệu về công nghệ bằng tiếng Việt
Stars: ✭ 63 (+0%)
Mutual labels:  jupyter-notebook
Speedchallenge
Stars: ✭ 62 (-1.59%)
Mutual labels:  jupyter-notebook
Simulator
Code base for the epidemiological model introduced in the context of COVID-19
Stars: ✭ 63 (+0%)
Mutual labels:  jupyter-notebook
Relaynet pytorch
Pytorch Implementation of retinal OCT Layer Segmentation (with trained models)
Stars: ✭ 63 (+0%)
Mutual labels:  jupyter-notebook
Ismartdnn
Light-weighted neural network inference for object detection on small-scale FPGA board
Stars: ✭ 62 (-1.59%)
Mutual labels:  jupyter-notebook
Whatsapp sqlite reader
Code to extract messages from WhatsApp sqlite DB (written in Python as Jupyter notebook)
Stars: ✭ 63 (+0%)
Mutual labels:  jupyter-notebook

Neuroimaging Widgets (niwidgets)

This repository is supposed to provide easy and general wrappers to display interactive widgets that visualise standard-format neuroimaging data, using new functions and standard functions from other libraries. It looks like this:

Install via:

pip install niwidgets

Or, to get the most up-to-date development version from github:

pip install git+git://github.com/nipy/niwidgets/

It requires nibabel and nilearn:

pip install nibabel nilearn

Check out the examples using the code in this notebook here: https://github.com/nipy/niwidgets/blob/master/index.ipynb (you need to run the notebook on your local machine to use the interactive features).

or using binder here: https://mybinder.org/v2/gh/nipy/niwidgets/master?filepath=index.ipynb

Usage:

There are currently three supported widgets:

  1. Volume widgets. This widget is primarily designed to mimic existing tools such as , but it also allows you to wrap plots from the nilearn plotting library to make them interactive.

  2. Surface widgets. This widget takes freesurfer-generated volume files and turns them into widgets using the ipyvolume library. It allows you to add different overlays for the surface files.

  3. Streamline widgets. This widget accepts .trk files and displays the tracts using ipyvolume.

To see how to use these widgets, please check the documentation.

As an example of how you might generate a Volume widget:

from niwidgets import NiftiWidget

my_widget = NiftiWidget('./path/to/file.nii')

You can then create a plot either with the default nifti plotter:

my_widget.nifti_plotter()

This will give you sliders to slice through the image, and an option to set the colormap.

You can also provide your own plotting function:

import nilearn.plotting as nip

my_widget.nifti_plotter(plotting_func=nip.plot_glass_brain)

By default, this will give you the following interactive features: - selecting a colormap - if supported by the plotting function, x-y-x sliders (e.g. for nip.plot_img)

You can, however, always provide features you would like to have interactive yourself. This follows the normal ipywidgets format. For example, if you provide a list of strings for a keyword argument, this becomes a drop-down menu. If you provide a tuple of two numbers, this becomes a slider. Take a look at some examples we have in this notebook (you need to run the notebook on your local machine to use the interactive features).

Hopefully we will be able to add more default interactive features in the future, as well as plotting of other data (such as surface projections). If you have any suggestions for plot features to be added, please let us know - or add them yourself and create a pull request!

Development

Contributing

Please contribute! When writing new widgets, please make sure you include example data that allows users to try a widget without having to munge their data into the right format first.

Please also make sure you write a test for your new widget. It's hard to test jupyter widgets, but it would be great if you could at least write a test that "instantiates" a widget. This allows us to maintain a stable release.

Development installation

As always with pip packages, you can install a "development" version of this package by cloning the git repository and installing it via pip install -e /path/to/package.

Updating the documentation

To update the documentation, you can do the following things:

  • Make your changes on a separate branch, such as DOC/update-api-documentation.
  • Merge your branch into master Make sure you have the packages in
  • doc-requirements.txt installed Run make gh-pages in the root directory of
  • the repository

This should run sphinx to generate the documentation, push it to the gh-pages branch, and then revert to master.


Developed by Jan Freyberg, Bjoern Soergel, Satrajit Ghosh, Melanie Ganz, Murat Bilgel, Ariel Rokem, and elyb01.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].