src/coil/tensorCoil.c File Reference

#include "coil.h"

Include dependency graph for tensorCoil.c:


Defines

#define IND(iv3, vi, X, Y, Z)   ((iv3)[(X)][(vi) + 7*((Y) + 3*(Z))])
#define TENS(ten, iv3)
#define TENGRAD(tengrad, iv3, rspX, rspY, rspZ)
#define LAPL(iv3, vi, rspsqX, rspsqY, rspsqZ)
#define HESS(hess, iv3, vi, rspX, rspY, rspZ)
#define _COIL_CONDUCT(LL, KK)   (exp(-0.5*(LL)/(KK)))

Functions

void _coilKind7TensorTangents (coil_t traceGrad[6], coil_t varianceGrad[6], coil_t skewGrad[6], coil_t rot0Grad[6], coil_t rot1Grad[6], coil_t rot2Grad[6], coil_t tensor[7])
void _coilKind7TensorFilterTesting (coil_t *delta, coil_t **iv3, double spacing[3], double parm[COIL_PARMS_NUM])
void _coilKind7TensorFilterHomogeneous (coil_t *delta, coil_t **iv3, double spacing[3], double parm[COIL_PARMS_NUM])
void _coilKind7TensorFilterSelf (coil_t *delta, coil_t **iv3, double spacing[3], double parm[COIL_PARMS_NUM])
void _coilKind7TensorFilterFinish (coil_t *delta, coil_t **iv3, double spacing[3], double parm[COIL_PARMS_NUM])
void _coilKind7TensorUpdate (coil_t *val, coil_t *delta)

Variables

const coilKind _coilKind7Tensor
const coilKindcoilKind7Tensor = &_coilKind7Tensor

Define Documentation

#define _COIL_CONDUCT ( LL,
KK   )     (exp(-0.5*(LL)/(KK)))

#define HESS ( hess,
iv3,
vi,
rspX,
rspY,
rspZ   ) 

Value:

(hess)[1] = rspX*rspX*(IND(iv3,vi,0,1,1) - 2*IND(iv3,vi,1,1,1) + IND(iv3,vi,2,1,1)); \
  (hess)[4] = rspY*rspY*(IND(iv3,vi,1,0,1) - 2*IND(iv3,vi,1,1,1) + IND(iv3,vi,1,2,1)); \
  (hess)[6] = rspZ*rspZ*(IND(iv3,vi,1,1,0) - 2*IND(iv3,vi,1,1,1) + IND(iv3,vi,1,1,2)); \
  (hess)[2] = rspX*rspY*(IND(iv3,vi,2,2,1) - IND(iv3,vi,0,2,1) - IND(iv3,vi,2,0,1) + IND(iv3,vi,0,0,1))/4.0f; \
  (hess)[3] = rspX*rspZ*(IND(iv3,vi,2,1,2) - IND(iv3,vi,0,1,2) - IND(iv3,vi,2,1,0) + IND(iv3,vi,0,1,0))/4.0f; \
  (hess)[5] = rspY*rspZ*(IND(iv3,vi,1,2,2) - IND(iv3,vi,1,0,2) - IND(iv3,vi,1,2,0) + IND(iv3,vi,1,0,0))/4.0f

#define IND ( iv3,
vi,
X,
Y,
 )     ((iv3)[(X)][(vi) + 7*((Y) + 3*(Z))])

#define LAPL ( iv3,
vi,
rspsqX,
rspsqY,
rspsqZ   ) 

Value:

(  rspsqX*(IND(iv3, vi, 0, 1, 1) - 2*IND(iv3, vi, 1, 1, 1) + IND(iv3, vi, 2, 1, 1)) \
   + rspsqY*(IND(iv3, vi, 1, 0, 1) - 2*IND(iv3, vi, 1, 1, 1) + IND(iv3, vi, 1, 2, 1)) \
   + rspsqZ*(IND(iv3, vi, 1, 1, 0) - 2*IND(iv3, vi, 1, 1, 1) + IND(iv3, vi, 1, 1, 2)))

#define TENGRAD ( tengrad,
iv3,
rspX,
rspY,
rspZ   ) 

Value:

(          \
  TEN_T_SET(tengrad + 0*7,                                 \
            1.0,                                           \
            rspX*(IND(iv3,1,2,1,1) - IND(iv3,1,0,1,1))/2,  \
            rspX*(IND(iv3,2,2,1,1) - IND(iv3,2,0,1,1))/2,  \
            rspX*(IND(iv3,3,2,1,1) - IND(iv3,3,0,1,1))/2,  \
            rspX*(IND(iv3,4,2,1,1) - IND(iv3,4,0,1,1))/2,  \
            rspX*(IND(iv3,5,2,1,1) - IND(iv3,5,0,1,1))/2,  \
            rspX*(IND(iv3,6,2,1,1) - IND(iv3,6,0,1,1))/2), \
  TEN_T_SET(tengrad + 1*7,                                 \
            1.0,                                           \
            rspY*(IND(iv3,1,1,2,1) - IND(iv3,1,1,0,1))/2,  \
            rspY*(IND(iv3,2,1,2,1) - IND(iv3,2,1,0,1))/2,  \
            rspY*(IND(iv3,3,1,2,1) - IND(iv3,3,1,0,1))/2,  \
            rspY*(IND(iv3,4,1,2,1) - IND(iv3,4,1,0,1))/2,  \
            rspY*(IND(iv3,5,1,2,1) - IND(iv3,5,1,0,1))/2,  \
            rspY*(IND(iv3,6,1,2,1) - IND(iv3,6,1,0,1))/2), \
  TEN_T_SET(tengrad + 2*7,                                 \
            1.0,                                           \
            rspZ*(IND(iv3,1,1,1,2) - IND(iv3,1,1,1,0))/2,  \
            rspZ*(IND(iv3,2,1,1,2) - IND(iv3,2,1,1,0))/2,  \
            rspZ*(IND(iv3,3,1,1,2) - IND(iv3,3,1,1,0))/2,  \
            rspZ*(IND(iv3,4,1,1,2) - IND(iv3,4,1,1,0))/2,  \
            rspZ*(IND(iv3,5,1,1,2) - IND(iv3,5,1,1,0))/2,  \
            rspZ*(IND(iv3,6,1,1,2) - IND(iv3,6,1,1,0))/2))

#define TENS ( ten,
iv3   ) 

Value:

TEN_T_SET(ten,                                                  \
            IND(iv3,0,1,1,1),                                     \
            IND(iv3,1,1,1,1), IND(iv3,2,1,1,1), IND(iv3,3,1,1,1), \
            IND(iv3,4,1,1,1), IND(iv3,5,1,1,1),                   \
            IND(iv3,6,1,1,1))


Function Documentation

void _coilKind7TensorFilterFinish ( coil_t delta,
coil_t **  iv3,
double  spacing[3],
double  parm[COIL_PARMS_NUM] 
)

void _coilKind7TensorFilterHomogeneous ( coil_t delta,
coil_t **  iv3,
double  spacing[3],
double  parm[COIL_PARMS_NUM] 
)

void _coilKind7TensorFilterSelf ( coil_t delta,
coil_t **  iv3,
double  spacing[3],
double  parm[COIL_PARMS_NUM] 
)

void _coilKind7TensorFilterTesting ( coil_t delta,
coil_t **  iv3,
double  spacing[3],
double  parm[COIL_PARMS_NUM] 
)

void _coilKind7TensorTangents ( coil_t  traceGrad[6],
coil_t  varianceGrad[6],
coil_t  skewGrad[6],
coil_t  rot0Grad[6],
coil_t  rot1Grad[6],
coil_t  rot2Grad[6],
coil_t  tensor[7] 
)

void _coilKind7TensorUpdate ( coil_t val,
coil_t delta 
)


Variable Documentation


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