Package teem

Libraries for processing and visualizing scientific raster data

https://teem.sourceforge.net

What Is Teem?

Teem is a coordinated group of libraries for representing, processing, and
visualizing scientific raster data. Teem includes command-line tools that
permit the library functions to be quickly applied to files and streams,
without having to write any code. The most important and useful libraries in
Teem are:

  • Nrrd (and the unu command-line tool on top of it) supports a range of
    operations for transforming N-dimensional raster data (resample, crop,
    slice, project, histogram, etc.), as well as the NRRD file format for
    storing arrays and their meta-information.
  • Gage: fast convolution-based measurements at arbitrary point locations in
    volume datasets (scalar, vector, tensor, etc.)
  • Mite: a multi-threaded ray-casting volume render with transfer functions
    based on any quantity Gage can measure
  • Ten: for estimating, processing, and visualizing diffusion tensor fields,
    including fiber tractography methods.

Strengths of Teem

  • Teem works: Its purpose is to enable research in visualization and image
    processing, and research is enabled when simple things are simple to do.
    Teem’s functionality and its ease of use have allowed it to become a
    component of larger research software projects, such as SCIRun and 3D
    Slicer.
  • Teem is light-weight: The libraries are written with an eye towards
    minimizing the annoyance of getting data in an out, by using the simplest
    possible constructs for the job, and by supporting combinations of
    operations that arise in common practice.
  • Teem is coherent: There is a consistent logic to how information is
    represented, and uniformity in the APIs across libraries.
  • Teem is portable: All the code is written in plain ANSI C, so it compiles
    everywhere, including Windows, using either CMake or GNU Make. A Dashboard
    is used to monitor compiler errors and warnings.
  • Teem is growing: Some Teem libraries were created years ago and have
    remained stable, but new libraries and new functionality are continually
    being added.
  • Teem is open source: Anyone can use it, and contributions are welcome. Teem
    is licensed under the GNU Lesser General Public License, plus exceptions
    which facilitate linking Teem into binary-only applications.

The teem package contains the command-line tools included with Teem.

Version: 1.11.0

General Commands

gprobe shows off the functionality of the gage library
ilk (I)mage (L)inear Trans(X-->K)forms
miter a simple but effective little volume renderer
mrender a demonstration of hoover, gage, and nrrd measures
nrrdSanity nrrd sanity check
overrgb composites an RGBA nrrd over a background color (or image)
puller command-line interface to the “pull” library
tend diffusion image processing and analysis
tend-about information about tend(1) and its use
tend-anhist generate barycentric histograms of anisotropy
tend-anplot graph anisotropy metric in barycentric coords
tend-anscale scale the anisotropic component of the tensors
tend-anvol apply an anisotropy metric to a DT volume
tend-avg average across tensor volumes
tend-bfit non-linear least-squares fitting of b-value curves
tend-bmat calculate B-matrix given gradient directions
tend-ellipse generate postscript renderings of 2D glyphs
tend-epireg register diffusion-weighted echo-planar images
tend-estim estimate tensors from a set of DW images
tend-eval calculate one or more eigenvalues in a DT volume
tend-evaladd modify shape by adding a constant to all eigenvalues
tend-evalclamp modify shape by clamping eigenvalues in some range
tend-evalmult modify shape by multiplying eigenvalues by a constant
tend-evalpow modify shape by raising eigenvalues to some power
tend-evec calculate one or more eigenvectors in a DT volume
tend-evecrgb make an RGB volume from an eigenvector and an anisotropy
tend-evq quantize directions of diffusion
tend-exp calculates exp() of the tensor
tend-expand converts masked non-redundant tensor images to redundant
tend-fiber fiber tractography, from one or more seeds
tend-glyph generate postscript or ray-traced renderings of 3D glyphs
tend-grads calculate balanced gradient directions for DWI acquisition
tend-helix generate twisting helical tensor field
tend-log calculates logarithm of the tensor
tend-make create DT volume from confidence and eigensystem
tend-mconv convert from one model to another
tend-mfit estimate models from a set of DW images
tend-msim simulate DW images from an image of models
tend-norm normalize tensor size
tend-point describe everything about one sample in a DT volume
tend-satin generate a pretty synthetic DT volume
tend-shrink converts a 9-value DT volume to a 7-value DT volume
tend-sim simulate DW images from a tensor field
tend-slice slice 3D tensors to get slab/image of 3D/2D tensors
tend-sten calculate structure tensors from a scalar field
tend-tconv convert between different shape triples
tend-triple compute volume of shape triples
tend-unmf applies and removes the measurement frame
unu Utah Nrrd Utilities command-line interface
unu-1op unary operation on a nrrd
unu-2op binary operation on two nrrds, or on a nrrd and a constant
unu-3op ternary operation on three nrrds or constants
unu-about information about unu(1) and its use
unu-acrop automatically crop axes based on given measure
unu-affine affine (lerp) mapping on 5 nrrds or constants
unu-axdelete remove one or more singleton axes from a nrrd
unu-axinfo modify attributes of one or more axes
unu-axinsert add a “stub” (length 1) axis to a nrrd
unu-axmerge merge two adjacent axes into one
unu-axsplit split one axis into two axes
unu-ccadj form adjacency matrix of connected components
unu-ccfind find connected components (CCs)
unu-ccmerge merge CCs with their neighbors, under various constraints
unu-ccsettle remap CC values down to lowest contiguous values
unu-cksum compute 32-bit CRC of nrrd data (same as via cksum(1))
unu-cmedian cheap histogram-based median/mode filtering
unu-convert convert to another type (as if by cast, w/ optional clamp)
unu-crop crop along each axis to make a smaller nrrd
unu-data print data segment of a nrrd file
unu-dhisto create image of 1-D value histogram
unu-dice save all slices along one axis into separate files
unu-diff sees if two nrrds are different in any way
unu-dist Euclidean distance transform
unu-env list relevant environment variables and their values
unu-fft Fast Fourier Transform of selected axes
unu-flip reverse order of slices along one axis
unu-gamma brighten or darken values with a gamma
unu-head print header of one or more nrrd files
unu-heq perform histogram equalization
unu-histax replace each scanline along an axis with its histogram
unu-histo create 1-D histogram of values in a nrrd
unu-i2w converts from 1-D index to world position
unu-imap map nrrd through irregular univariate map (“colormap”)
unu-inset replace a sub-region with a different nrrd
unu-jhisto create joint histogram of two or more nrrds
unu-join connect slices and/or slabs into a bigger nrrd
unu-lut map nrrd through one univariate lookup table
unu-lut2 map nrrd through a bivariate lookup table
unu-make create a nrrd (or nrrd header) from scratch
unu-minmax print out min and max values in one or more nrrds
unu-mlut map nrrd through whole nrrd of univariate lookup tables
unu-mrmap map nrrd through whole nrrd of regular univariate maps
unu-pad pad along each axis to make a bigger nrrd
unu-permute permute ordering of axes
unu-project collapse scanlines to scalars along some axis
unu-quantize quantize values to 8, 16, or 32 bits
unu-resample filtering and {up,down}sampling with a separable kernel
unu-reshape superficially change dimension and/or axes sizes
unu-rmap map nrrd through one regular univariate map (“colormap”)
unu-save write nrrd with specific format, encoding, or endianness
unu-shuffle permute slices along one axis
unu-slice slice along one or more axes at given positions
unu-splice replace a slice with a different nrrd
unu-sselect select subset of slices along an axis
unu-subst map nrrd through one univariate substitution table
unu-swap interchange ordering of two axes
unu-tile tile slices of one axis into two other axes
unu-unorient make image orientation be axis-aligned
unu-unquantize recover floating point values from quantized data
unu-untile undo unu-tile(1): merge slow parts of two axis splits
unu-w2i converts from 1-D world to index position
vprobe shows off the functionality of the gage library