Nearly Raw Raster Data
Nrrd is a library and file format designed to support scientific
visualization and image processing involving N-dimensional raster
data. Nrrd stands for "nearly raw raster data". Besides dimensional
generality, nrrd is flexible with respect to type (8 integral types, 2
floating point types), encoding of written files (raw, ascii, hex, or
gzip or bzip2 compression), and endianness (the byte order of data is
explicitly recorded when the type or encoding expose it). Besides the
NRRD format, the library can read and write PNG, PPM, and PGM images,
as well as some VTK "STRUCTURED_POINTS" datasets. About two dozen
operations on raster data are implemented, including simple things
like quantizing, slicing, and cropping, as well as fancier things like
projection, histogram equalization, and filtered resampling (up and
down) with arbitrary seperable kernels.
This document aims to describe the NRRD file format and the
nrrd library, which can read and write NRRD files. Various
examples illustrate the variety of possible nrrd operations available
in the nrrd library, which are also accessible from the
command-line "unu" program. Impatient readers should look at
"Example NRRD files", "Demonstrations using nrrd", and "Advocacy".
In these pages, "NRRD" refers to the file format, "Nrrd"
refers to the C struct defined in nrrd.h, "Nrrd"
refers to the library containing all the nrrd functions, and "nrrd"
is a general term for all of these.
- Introduction: What kind of data
nrrd can represent, with a discussion of dimension, axes, and scalar
- Description of NRRD file
format: General information about the format, and comparisons
with other similar formats.
- Definition of NRRD file format:
How to get data into and out of nrrd.
- Example NRRD files: A
variety of NRRD file format examples, as well as PPM, PGM, and text
files that encode nrrd information.
- NRRD-Compatible file
formats: How NRRD plays well with PPM, PGM, and PNG images,
as well as plain text files. Information normally found in the NRRD
header can be losslessly encoded in these formats.
- nrrd Library Description: High-level
documentation for the Nrrd library and the various functions
for manipulating Nrrds.
- Kernels: Nrrd has a particular
way of representing the continuous kernels that are the basis
of convolution-based resampling.
- Demonstrations of using nrrd: A
series of examples of how the Nrrd library and/or the
"unu" program can be used to do useful things.
- Advocacy: Why you should