/NiftyNet

An open-source convolutional neural networks platform for research in medical image analysis and image-guided therapy

Primary LanguagePythonApache License 2.0Apache-2.0

NiftyNet

build status coverage report

NiftyNet is a TensorFlow-based open-source convolutional neural networks (CNN) platform for research in medical image analysis and image-guided therapy. NiftyNet's modular structure is designed for sharing networks and pre-trained models. Using this modular structure you can:

  • Get started with established pre-trained networks using built-in tools
  • Adapt existing networks to your imaging data
  • Quickly build new solutions to your own image analysis problems

NiftyNet is a consortium of research groups (WEISS -- Wellcome EPSRC Centre for Interventional and Surgical Sciences, CMIC -- Centre for Medical Image Computing, HIG -- High-dimensional Imaging Group), where WEISS acts as the consortium lead.

Features

NiftyNet currently supports medical image segmentation and generative adversarial networks. NiftyNet is not intended for clinical use. Other features of NiftyNet include:

  • Easy-to-customise interfaces of network components
  • Sharing networks and pretrained models
  • Support for 2-D, 2.5-D, 3-D, 4-D inputs*
  • Efficient discriminative training with multiple-GPU support
  • Implementation of recent networks (HighRes3DNet, 3D U-net, V-net, DeepMedic)
  • Comprehensive evaluation metrics for medical image segmentation

*2.5-D: volumetric images processed as a stack of 2D slices; 4-D: co-registered multi-modal 3D volumes

Installation

  1. Please install the appropriate TensorFlow package*:
  2. pip install niftynet

*All other NiftyNet dependencies are installed automatically as part of the pip installation process.

Getting started

Examples

Please see the NiftyNet demos.

Network (re-)implementations

Please see the list of network (re-)implementations in NiftyNet.

API documentation

The API reference is available on Read the Docs.

Customising NiftyNet

Please see the NiftyNet global settings section for customising NiftyNet's global settings.

Contributing

Please see the contribution guidelines.

Useful links

NiftyNet website

NiftyNet source code on CmicLab

NiftyNet source code mirror on GitHub

NiftyNet mailing list: nifty-net@live.ucl.ac.uk

Citing NiftyNet

If you use NiftyNet in your work, please cite Gibson and Li et. al. 2017:

BibTeX entry:

@InProceedings{niftynet17,
  author = {Eli Gibson and Wenqi Li and Carole Sudre and Lucas Fidon and Dzhoshkun I. Shakir and Guotai Wang and Zach Eaton-Rosen and Robert Gray and Tom Doel and Yipeng Hu and Tom Whyntie and Parashkev Nachev and Marc Modat and Dean C. Barratt and Sebastien Ourselin and M. Jorge Cardoso and Tom Vercauteren},
  title = {NiftyNet: a deep-learning platform for medical imaging},
  year = {2017},
  eprint = {1709.03485},
  eprintclass = {cs.CV},
  eprinttype = {arXiv},
}

The NiftyNet platform originated in software developed for Li et. al. 2017:

Licensing and Copyright

Copyright 2017 University College London and the NiftyNet Contributors. NiftyNet is released under the Apache License, Version 2.0. Please see the LICENSE file for details.

Acknowledgements

This project is grateful for the support from the Wellcome Trust, the Engineering and Physical Sciences Research Council (EPSRC), the National Institute for Health Research (NIHR), the Department of Health (DoH), Cancer Research UK, University College London (UCL), the Science and Engineering South Consortium (SES), the STFC Rutherford-Appleton Laboratory, and NVIDIA.