#include "coil.h"
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 coilKind * | coilKind7Tensor = &_coilKind7Tensor |
#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, | |||||
Z | ) | ((iv3)[(X)][(vi) + 7*((Y) + 3*(Z))]) |
#define LAPL | ( | iv3, | |||
vi, | |||||
rspsqX, | |||||
rspsqY, | |||||
rspsqZ | ) |
#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 | ) |
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] | |||
) |
const coilKind _coilKind7Tensor |
Initial value:
{ "tensor", 7, {NULL, _coilKind7TensorFilterTesting, _coilKind7TensorFilterHomogeneous, NULL, NULL, NULL, _coilKind7TensorFilterSelf, _coilKind7TensorFilterFinish}, _coilKind7TensorUpdate }
const coilKind* coilKind7Tensor = &_coilKind7Tensor |