# CIBC:Documentation:SCIRun:Reference:Teem

From SCIRun Documentation Wiki

## Contents

**Teem Reference**

**Package Description**

**Module Reference**

**Converters**

- ConvertColorMap2ToNrrd
- Convert a ColorMap2 into a 256x512x4 floating point image nrrd.

- ConvertColorMapToNrrd
- Convert a SCIRun ColorMap to a Nrrd.

- ConvertFieldToNrrd
- ConvertFieldToNrrd converts a field in to a Nrrd.

- ConvertNrrdToField
- Convert a Nrrd into a SCIRun Field object.

- ConvertMatrixToNrrd
- Convert a SCIRun Matrix to a single Nrrd in the case of a Dense or Column Matrix or convert a Sparse Row Matrix to three Nrrds (Data, Rows, and Columns).

- ConvertNrrdToColorMap2
- Load an Image and output it as a ColorMap2

- ConvertNrrdToMatrix
- Convert a combination of Nrrds to a SCIRun Matrix of type Column, Dense or Sparse.

- ConvertNrrdToRasterField
**Deprecated.**Convert a combination of Nrrds to a SCIRun Field. This converter works on regular, unstructured and structured Data. If the module receives just Data, it will most likely be a regular Field (i.e. ScanLine, Image, LatVol). For structured and unstructured Fields, the data is optional. If Points but no Connections are given, a structured dataset will most likely be created (i.e. StructQuad, StructHex). If Points and Connections are given, an unstructured field will most likely be created (i.e. Curve, TriSurf, QuadSurf, TetVol, HexVol). If a Field is passed in, the module will try to use that Field's mesh.

- ConvertRasterFieldToNrrd
**Deprecated.**Take the data from a field or fields and wrap it with a nrrd and pass it out.

**DataIO**

- ExportImage
- Output a Nrrd as an image file.

- ImportImage
- Use ImageMagick libraries to open neary any image file.

- ImportNrrdFromAnalyze
- Convert Analyze data to the NRRD format which can be used in SCIRun networks.

- ImportNrrdFromDicom
- Convert DICOM data to the NRRD format which can be used in SCIRun networks.

- ReadNrrd
- Open a raw nrrd or a SCIRun wrapped nrrd.

- WriteNrrd
- Output the NrrdData object via Pio.

**Misc**

- BuildNrrdGradient
- Compute the 3D gradient for a NRRD input volume.

- BuildTextureWithGradientsFromNrrds
**Deprecated.**Set up a volume texture from a 3D scalar nrrd.

- ChooseNrrd
- ChooseNrrd takes in an arbitrary number of input Nrrds, and pass one of them downstream, based on the port index typed in the UI.

- ClassifyHeadTissuesFromMultiMRI
- Tolga Tasdizen's MRI Tissue Classifier Code.

- MiscProbe
**Deprecated.**This module adds the functionality of gage to SCIRun.

- ReportNrrdInfo
- ReportNrrdInfo is used to view the attributes of Nrrd's.

- SelectTimeStepFromNrrd
- The SelectTimeStepFromNrrd module allows users to select a single time step or column from a Misc that has a time axis. The user can also select a range of time indecies and send them to the output port one at a time. This module allows the user to animate Through a time series.

- SetNrrdProperty
- Set a Property for a Nrrd.

**Tend**

- TendAnhist
- Generate barycentric histograms of anisotropy. The barycentric space used is either one of Westin's triple of spherical, linear, and planar anisotropy. The bin counts in the histogram are weighted by the confidence value.

- TendAnplot
- Graph anisotropy metric in barycentric coords. The metrics all vary from 0.0 to 1.0, and will be sampled in the lower right half of the image. The plane on which they are sampled is a surface of constant trace.

- TendAnscale
- Scale the anisotropic component of the tensors. This maintains the isotropic component of the tensor, and fixes either the trace or determinant, while scaling up (or down) the deviatoric component of the tensor. Good for exaggerating the shape of nearly isotropic tensors.

- TendAnvol
- Apply an anisotropy metric to a DT volume. The anisotropy value will be zero in the locations which don't meet the given confidence threshold.

- TendBmat
- Calculate B-matrix given gradient directions.

- TendEpireg
- Register diffusion-weighted echo-planar images.

- TendEstim
- Estimate tensors from a set of DW images.

- TendEval
- Calculate one or more eigenvalues in a DT volume.

- TendEvalAdd
- Modify shape by adding a constant to all eigenvalues. The orientation of the tensor is unchanged. Note that unlike tend anscale, this operation can completely change the shape of the tensor.

- TendEvalClamp
- Modify shape by clamping eigenvalues in some range.

- TendEvalPow
- Modify shape by raising eigenvalues to some power.

- TendEvec
- Calculate one or more eigenvectors in a DT volume.

- TendEvecRGB
- Make an RGB volume from an eigenvector and an anisotropy.

- TendEvq
- Quantize directions of diffusion. Because VTK doesn't do multi-dimensional colormaps, we have to quantize directions of diffusion (usually just the principal eigenvector) in order to create the usual XYZ-RGB coloring. Because eigenvector directions are poorly defined in regions of low anisotropy, the length of the vector (pre-quantization) is modulated by anisotropy, requiring the selection of some anisotropy metric.

- TendExpand
- Converts a 7-value DT volume to a 9-value DT volume. The 7-value tensor is confidence value followed by the unique tensor components (Dxx, Dxy, Dxz, Dyy, Dyz, Dzz). The 9-value tensor is the full matrix (Dxx, Dxy, Dxz, Dxy, Dyy, Dyz, Dxz, Dyz, Dzz), which is set to all zeros when the confidence is below the given threshold.

- TendFiber
- Extract a single fiber tract, given a start point.

- TendMake
- Create DT volume from confidence and eigensystem. The input is in the form of three nrrds, one for confidence values (3D), one for eigenvalues (4D, three evals per voxel), and one for eigenvectors (4D, nine evec components per voxel).

- TendNorm
- Normalize tensor size.

- TendPoint
- Describe everything about one sample in a DT volume.

- TendSatin
- Generate a pretty synthetic DT volume. The surface of a sphere or torus is covered with either linear or planar anisotropic tensors, or somewhere in between.

- TendShrink
- Converts a 9-value DT volume to a 7-value DT volume. The confidence value is set to 1.0 everwhere. You can unu spliced or nrrdSplice() something else in its place later.

- TendSim
- Simulate DW images from a tensor field. The output will be in the same form as the input to tend estim, , and the B matrix used is the output from tend bmat. The other required inputs are the reference (non-diffusion-weighted) anatomical scalar volume, and the corresponding volume of diffusion tensors.

- TendSlice
- Slice 3D tensors to get slab/image of 3D/2D tensors.

- TendSten
- Calculate structure tensors from a scalar field. Not a diffusion tensor, but it is symmetric and positive-definate.

**UnuAtoM**

- Unu1op
- Unary operation on a nrrd.

- Unu2op
- Binary operation on two nrrds, or on a nrrd and a constant. Either the first or second operand can be a float constant, but not both. To perform the operation on two nrrds, connect both input ports. To have one Nrrd on the left hand side of the operator, connect to the first port and vice versa for the right hand side.

- Unu3op
- Ternary operation on three nrrds or constants. Can have one, two, or three nrrds, but not zero.

- UnuAxdelete
- Remove one or more singleton axes from a nrrd. Singleton axes have only a single sample along them. The underlying linear ordering of the samples is unchanged, and the information about the other axes is shifted downwards as needed.

- UnuAxinfo
- Modify attributes of a nrrd for a given axis. The only attributes which are set are the label, kind, minimum and maximum values, spacing, and spaceDirection.

- UnuAxinsert
- Add a stub (length 1) axis to a nrrd. The underlying linear ordering of the samples is unchanged, and the information about the other axes is shifted upwards as needed.

- UnuAxmerge
- Merge two adjacent axes into one. A more general version of unu axdelete. The underlying linear ordering of the samples is unchanged, and the information about the other axes is shifted downwards as needed.

- UnuAxsplit
- Split one axis into two axes. More general version of unu axinsert, since a given axis can be split into fast and slow axes of arbitrary size, as long as the product of the fast and slow sizes is the same as the original size.

- UnuCCadj
- Form adjecency matrix of connected components. This operates on the output of ccfind. Output is unsigned char array containing 1 at locations (I,J) and (J,I) if CCs with ids I and J are adjacent, according to the chosen style of adjacency.

- UnuCCfind
- Find connected components (CCs). This works on 1-byte and 2-byte integral values, as well as 4-byte ints.

- UnuCCmerge
- Merge CCs with their neighbors, under various contraints. This operates on the output of "ccfind". Merging of a CC is always done into its largest neighbor. Whether or not to merge can be constrained by one or more of: CC size (-s), original CC value being brighter or darker (-d), and number of neighbors (-n).

- UnuCCsettle
- Remap CC values down to lowest contiguous values.

- UnuCmedian
- Cheap histogram-based median filtering

- UnuCrop
- Create an output nrrd that is a subsample of the original.

- UnuDhisto
- Create (PGM) image of 1-D value histogram

- UnuFlip
- Reverse order of slices along one axis. Special case of unu shuffle.

- UnuGamma
- Brighten or darken values with a gamma. Just as in xv, the gamma value here is actually the reciprocal of the exponent actually used to transform the values.

- UnuHeq
- Perform histogram equalization. If this seems to be doing nothing, try increasing the number of histograms bins by an order of magnitude or two (or more). Or, use "unu gamma" to warp the values in the direction you know they need to go. Either of these might work because extremely tall and narrow peaks in the equalization histogram will produce poor results.

- UnuHistax
- Replace each scanline along an axis with its histogram.

- UnuHisto
- Create 1-D histogram of values in a nrrd.

- UnuImap
- Map nrrd through *irregular* univariate map (colormap). A map is irregular if the control points are not evenly spaced along the domain, and hence their position must be explicitly represented in the map. As nrrds, these maps are necessarily 2D. Along axis 0, the first value is the location of the control point, and the remaining values give are the range of the map for that control point. The output value(s) is the result of linearly interpolating between value(s) from the map.

- UnuInset
- Replace a sub-region with a different nrrd. This is functionally the opposite of crop.

- UnuJhisto
- Create joint histogram of two or more nrrds. Each axis of the output corresponds to one of the input nrrds, and each bin in the output records the number of corresponding positions in the inputs with a combination of values represented by the coordinates of the bin.

- UnuJoin
- module interface for nrrdJoin function.

- UnuLut
- Map nrrd through univariate lookup table (itself represented as a nrrd). The lookup table can be 1D, in which case the output has the same dimension as the input, or 2D, in which case the output has one more dimension than the input, and each value is mapped to a scanline (along axis 0) from the lookup table.

- UnuMake
- Create a nrrd (or nrrd header) from scratch. The data can be in one or more files, or coming from stdin. This provides an easy way of providing the bare minimum information about some data so as to wrap it in a nrrd, either to pass on for further unu processing, or to save to disk. However, with -h , this creates only a detached nrrd header file, without ever reading or writing data. When reading multiple files, each file must contain the data for one slice along the slowest axis. Nearly all the options below refer to the finished nrrd resulting from joining all the slices together, with the exception of -ls , -bs , and -e , which apply to every input slice file. When reading data from many seperate files, it may be easier to put their filenames in a response file; there can be one or more filenames per line of the response file.

- UnuMinmax
- Print out min max values in one or more nrrds

**UnuNtoZ**

- UnuPad
- Pad the size of a nrrd along its axes.

- UnuPermute
- Specify axes to be swapped with eachother

- UnuQuantize
- Quantize values into 8, 16, 32 bit values.

- UnuResample
- Resample a nrrd to a new size.

- UnuReshape
- Superficially change dimension and/or axes sizes. The underlying linear ordering of the samples is unchanged, but the reported dimension or axes sizes are changed. Identical in concept to Matlab's reshape command.

- UnuRmap
- Map nrrd through *regular* univariate map (colormap). A map is regular if the control points are evenly spaced along the domain, and hence their position isn't explicitly represented in the map; the axis min, axis max, and number of points determine their location. The map can be a 1D nrrd (for grayscale), in which case the output has the same dimension as the input, or a 2D nrrd (for color), in which case the output has one more dimension than the input. In either case, the output is the result of linearly interpolating between map points, either scalar values (grayscale), or scanlines along axis 0 (color).

- UnuRmapN
- Map nrrd through *regular* univariate map (colormap). A map is regular if the control points are evenly spaced along the domain, and hence their position isn't explicitly represented in the map; the axis min, axis max, and number of points determine their location. This is an N dimensional mapping in that the fast axis of the nrrd is used to look up coordinates in the N or N+1 map. If the map is of dimension N then it is assumed to be grayscale, otherwise all of the fast axis is treated as a 'color'. This module does no interpolation, rather the nrrd coordinates should exactly match the range of the colormap nrrd dimensions, ie 0-255 for a 1D map of size 256.

- UnuSave
- Write nrrd with specific format, encoding, or endianness. EPS output is a EPSF-3.0 file with BoundingBox and HiResBoundingBox DSC comments, and is suitable for inclusion into other PostScript documents. As a stand-alone file, the image is conveniently centered on an 8.5x11 inch page, with 0.5 inch margins.

- UnuShuffle
- Permute slices along one axis.

- UnuSplice
- Replace a slice with a different nrrd. This is functionally the opposite of slice.

- UnuSwap
- Interchange scan-line ordering of two axes. Special case of unu permute.

- UnuUnquantize
- Recover floating point values from quantized data.

Go back to Documentation:SCIRun:Reference