/pynrrd

Simple pure-python module for reading and writing nrrd files.

Primary LanguagePythonMIT LicenseMIT

Build Status DOI Python version PyPi version Documentation Status

pynrrd

pynrrd is a pure-Python module for reading and writing NRRD files into and from numpy arrays.

Dependencies

The module's only dependency is numpy.

Installation

Install via pip and PyPi repository (recommended)

pip install pynrrd

Install via pip and GitHub

pip install git+https://github.com/mhe/pynrrd.git

Install from source (recommended for contributing to pynrrd)

For developers that want to contribute to pynrrd, you can clone the pynrrd repository and install it using the following commands:

git clone https://github.com/mhe/pynrrd.git
cd pynrrd
pip install .

or, for the last line, instead use:

pip install -e .

to install in 'develop' or 'editable' mode, where changes can be made to the local working code and Python will use the updated pynrrd code.

Tests

The tests can be run via the following command from the base directory:

python -m unittest discover -v nrrd/tests

Format and Lint code

This repository uses pre-commit hooks to run format and lint the code and they are enforced in CI. See [pre-commit](https://pre-commit.com)

Example usage

import numpy as np
import nrrd

# Some sample numpy data
data = np.zeros((5,4,3,2))
filename = 'testdata.nrrd'

# Write to a NRRD file
nrrd.write(filename, data)

# Read the data back from file
readdata, header = nrrd.read(filename)
print(readdata.shape)
print(header)

Next Steps

For more information, see the documentation.

License

See the LICENSE for more information.