# Package teem

Libraries for processing and visualizing scientific raster data

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 |