# tend-helix - Man Page

generate twisting helical tensor field

## Synopsis

**tend helix** [**-s** <*size*>] [**-ip** <*image orientation*>] [**-mp** <*measurement orientation*>] [**-b** <*boundary*>] [**-r** <*little radius*>] [**-R** <*big radius*>] [**-S** <*spacing*>] [**-a** <*angle*>] [**-nit**] [**-ev** <*eigenvalues*>] [**-bg** <*background*>] [**-v** <*verbose*>] [**-o** <*nout*>]

## Description

Generate twisting helical tensor field. The main utility of such a field is to debug handling of coordinate systems in tensor field visualization. The “space directions” and “space origin” fields of the NRRD header determines the mapping from coordinates in the index space of the image to coordinates in the world space in which the image is sampled. The “measurement frame” field determines the mapping from the coordinates of the tensor itself, to coordinates of the world space. When these are correctly handled, the region of high anisotropy is a right-handed helix (same as DNA). Using differing axes sizes (via “**-s**”) helps make sure that the raster ordering of axes is correct. In addition, the tensors twist relative to the helix, which exposes handling of the measurement frame. If you trace paths guided by the principal eigenvector of the tensors, along the surface of the helical cylinder, you get another right-handed helix, as if the the tensor field is modeling the result of twisting a set of fibers into single-stranded helical bundle.

## Options

- -s <
*size*> sizes along fast, medium, and slow axes of the sampled volume, often called “X”, “Y”, and “Z”. It is best to use slightly different sizes here, to expose errors in interpreting axis ordering (e.g. “

**-s 39 40 41**”) (3*int*s)- -ip <
*image orientation*> quaternion quotient space orientation of image (3

*double*s); default: “**0 0 0**”- -mp <
*measurement orientation*> quaternion quotient space orientation of measurement frame (3

*double*s); default: “**0 0 0**”- -b <
*boundary*> parameter governing how fuzzy the boundary between high and low anisotropy is. Use “

**-b 0**” for no fuzziness (*double*); default: “**10**”- -r <
*little radius*> (minor) radius of cylinder tracing helix (

*double*); default: “**30**”- -R <
*big radius*> (major) radius of helical turns (

*double*); default: “**50**”- -S <
*spacing*> spacing between turns of helix (along its axis) (

*double*); default: “**100**”- -a <
*angle*> maximal angle of twist of tensors along path. There is no twist at helical core of path, and twist increases linearly with radius around this path. Positive twist angle with positive spacing resulting in a right-handed twist around a right-handed helix. (

*double*); default: “**60**”- -nit
changes behavior of twist angle as function of distance from center of helical core: instead of increasing linearly as describe above, be at a constant angle

- -ev <
*eigenvalues*> eigenvalues of tensors (in order) along direction of coil, circumferential around coil, and radial around coil. (3

*double*s); default: “**0.006 0.002 0.001**”- -bg <
*background*> eigenvalue of isotropic background (

*double*); default: “**0.5**”- -v <
*verbose*> verbose output (

*int*); default: “**1**”- -o <
*nout*> output file (

*string*) default: “**-**”