Pure Python library for reading NIS Elements ND2 images and metadata
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

nd2reader

Anaconda-Server Badge Anaconda-Server Badge Build Status Test Coverage Code Climate

About

nd2reader is a pure-Python package that reads images produced by NIS Elements 4.0+. It has only been definitively tested on NIS Elements 4.30.02 Build 1053. Support for older versions is being actively worked on. The reader is written in the pims framework, enabling easy access to multidimensional files, lazy slicing, and nice display in IPython.

Documentation

The documentation is available here.

Installation

The package is available on PyPi. Install it using:

pip install nd2reader

If you don't already have the packages numpy, pims, six and xmltodict, they will be installed automatically if you use the setup.py script. nd2reader is an order of magnitude faster in Python 3. I recommend using it unless you have no other choice. Python 2.7 and Python >= 3.4 are supported.

Installation via Conda Forge

Installing nd2reader from the conda-forge channel can be achieved by adding conda-forge to your channels with:

conda config --add channels conda-forge

Once the conda-forge channel has been enabled, nd2reader can be installed with:

conda install nd2reader

It is possible to list all of the versions of nd2reader available on your platform with:

conda search nd2reader --channel conda-forge

ND2s

nd2reader follows the pims framework. To open a file and show the first frame:

from nd2reader import ND2Reader
import matplotlib.pyplot as plt

with ND2Reader('my_directory/example.nd2') as images:
  plt.imshow(images[0])

After opening the file, all pims features are supported. Please refer to the pims documentation.

Backwards compatibility

Older versions of nd2reader do not use the pims framework. To provide backwards compatibility, a legacy Nd2 class is provided.

Contributing

If you'd like to help with the development of nd2reader or just have an idea for improvement, please see the contributing page for more information.

Bug Reports and Features

If this fails to work exactly as expected, please open an issue. If you get an unhandled exception, please paste the entire stack trace into the issue as well.

Acknowledgments

PIMS modified version by Ruben Verweij.

Original version by Jim Rybarski. Support for the development of this package was partially provided by the Finkelstein Laboratory.