src/ten/tendHelix.c File Reference

#include "ten.h"
#include "privateTen.h"

Include dependency graph for tendHelix.c:


Defines

#define INFO   "Generate twisting helical tensor field"
#define WPOS(pos, th)   ELL_3V_SET((pos),R*cos(th), R*sin(th), S*(th)/(2*AIR_PI))
#define VAL(th)   (WPOS(wpos, th), ELL_3V_DIST(wpos, vpos))
#define RR   0.61803399
#define CC   (1.0-RR)
#define SHIFT3(a, b, c, d)   (a)=(b); (b)=(c); (c)=(d)
#define SHIFT2(a, b, c)   (a)=(b); (b)=(c)

Functions

void tend_helixDoit (Nrrd *nout, double bnd, double orig[3], double i2w[9], double mf[9], double r, double R, double S, double angle, int incrtwist, double ev[3], double bgEval)
int tend_helixMain (int argc, char **argv, char *me, hestParm *hparm)
 TEND_CMD (helix, INFO)

Variables

char * _tend_helixInfoL

Define Documentation

#define CC   (1.0-RR)

#define INFO   "Generate twisting helical tensor field"

#define RR   0.61803399

#define SHIFT2 ( a,
b,
 )     (a)=(b); (b)=(c)

#define SHIFT3 ( a,
b,
c,
 )     (a)=(b); (b)=(c); (c)=(d)

#define VAL ( th   )     (WPOS(wpos, th), ELL_3V_DIST(wpos, vpos))

#define WPOS ( pos,
th   )     ELL_3V_SET((pos),R*cos(th), R*sin(th), S*(th)/(2*AIR_PI))


Function Documentation

TEND_CMD ( helix  ,
INFO   
)

void tend_helixDoit ( Nrrd nout,
double  bnd,
double  orig[3],
double  i2w[9],
double  mf[9],
double  r,
double  R,
double  S,
double  angle,
int  incrtwist,
double  ev[3],
double  bgEval 
)

int tend_helixMain ( int  argc,
char **  argv,
char *  me,
hestParm hparm 
)


Variable Documentation

Initial value:

  (INFO
   ". 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 "
   "if twisting a set of fibers into single-stranded helical bundle. ")


Generated on Sat May 9 03:55:49 2009 for Teem by  doxygen 1.5.9