Functions
affine.c File Reference
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <float.h>
#include "affine.h"

Functions

static double * allocLinD (long n)
static float * allocLinF (long n)
static float * allocVolF (long nx, long ny, long nz)
static double BsplnWght0 (long i, double x)
static double BsplnWght1 (long i, double x)
static double BsplnWght2 (long i, double x)
static double BsplnWght3 (long i, double x)
static double BsplnWght4 (long i, double x)
static double BsplnWght5 (long i, double x)
static double BsplnWght6 (long i, double x)
static double BsplnWght7 (long i, double x)
static int directBsplineMirror (float *inPtr, float *outPtr, long nx, long ny, long nz, int degree)
static long fold (long i, long n)
static void freeLinD (double *line)
static void freeLinF (float *line)
static void freeVolF (float *volume)
static int gaussj (double a[][3], double b[][3])
static void getxF2D (float *volumeSrc, long x, long y, long z, long nx, long ny, double *rowDst, long n)
static void getxF2F (float *volumeSrc, long x, long y, long z, long nx, long ny, float *rowDst, long n)
static void getyF2D (float *volumeSrc, long x, long y, long z, long nx, long ny, double *columnDst, long n)
static void getzF2D (float *volumeSrc, long x, long y, long z, long nx, long ny, double *pillarDst, long n)
static void iirConvolveMirror (double *inPtr, double *outPtr, long n, double gain, double *realPoles, long np)
static int invertTrsf (struct trsfStruct *dirTrsf, struct trsfStruct *invTrsf)
static void putxD2F (float *volumeDst, long x, long y, long z, long nx, long ny, double *rowSrc, long n)
static void putxF2F (float *volumeDst, long x, long y, long z, long nx, long ny, float *rowSrc, long n)
static void putyD2F (float *volumeDst, long x, long y, long z, long nx, long ny, double *columnSrc, long n)
static void putzD2F (float *volumeDst, long x, long y, long z, long nx, long ny, double *pillarSrc, long n)
int affineTransform (double transform[][4], double origin[], float *inPtr, float *outPtr, long nx, long ny, long nz, int interpolationDegree, float background)

Function Documentation

static double * allocLinD ( long  n) [static]
static float * allocLinF ( long  n) [static]
static float * allocVolF ( long  nx,
long  ny,
long  nz 
) [static]
static double BsplnWght0 ( long  i,
double  x 
) [static]
static double BsplnWght1 ( long  i,
double  x 
) [static]
static double BsplnWght2 ( long  i,
double  x 
) [static]
static double BsplnWght3 ( long  i,
double  x 
) [static]
static double BsplnWght4 ( long  i,
double  x 
) [static]
static double BsplnWght5 ( long  i,
double  x 
) [static]
static double BsplnWght6 ( long  i,
double  x 
) [static]
static double BsplnWght7 ( long  i,
double  x 
) [static]
static int directBsplineMirror ( float *  inPtr,
float *  outPtr,
long  nx,
long  ny,
long  nz,
int  degree 
) [static]
static long fold ( long  i,
long  n 
) [static]
static void freeLinD ( double *  line) [static]
static void freeLinF ( float *  line) [static]
static void freeVolF ( float *  volume) [static]
static int gaussj ( double  a[][3],
double  b[][3] 
) [static]
static void getxF2D ( float *  volumeSrc,
long  x,
long  y,
long  z,
long  nx,
long  ny,
double *  rowDst,
long  n 
) [static]
static void getxF2F ( float *  volumeSrc,
long  x,
long  y,
long  z,
long  nx,
long  ny,
float *  rowDst,
long  n 
) [static]
static void getyF2D ( float *  volumeSrc,
long  x,
long  y,
long  z,
long  nx,
long  ny,
double *  columnDst,
long  n 
) [static]
static void getzF2D ( float *  volumeSrc,
long  x,
long  y,
long  z,
long  nx,
long  ny,
double *  pillarDst,
long  n 
) [static]
static void iirConvolveMirror ( double *  inPtr,
double *  outPtr,
long  n,
double  gain,
double *  realPoles,
long  np 
) [static]
static int invertTrsf ( struct trsfStruct dirTrsf,
struct trsfStruct invTrsf 
) [static]
static void putxD2F ( float *  volumeDst,
long  x,
long  y,
long  z,
long  nx,
long  ny,
double *  rowSrc,
long  n 
) [static]
static void putxF2F ( float *  volumeDst,
long  x,
long  y,
long  z,
long  nx,
long  ny,
float *  rowSrc,
long  n 
) [static]
static void putyD2F ( float *  volumeDst,
long  x,
long  y,
long  z,
long  nx,
long  ny,
double *  columnSrc,
long  n 
) [static]
static void putzD2F ( float *  volumeDst,
long  x,
long  y,
long  z,
long  nx,
long  ny,
double *  pillarSrc,
long  n 
) [static]
int affineTransform ( double  transform[][4],
double  origin[],
float *  inPtr,
float *  outPtr,
long  nx,
long  ny,
long  nz,
int  interpolationDegree,
float  background 
)