iRoCS Toolbox  1.1.0
Functions
ldiffusion.hh File Reference
#include <config.hh>
#include "lParallel.hh"
#include <blitz/array.h>
#include "ldiffusion.icc"
Include dependency graph for ldiffusion.hh:

Go to the source code of this file.

Functions

template<typename Type , int Dim>
void anisotropicDiffusion3D_explicit (blitz::Array< Type, Dim > &image, blitz::Array< Type, Dim > &Dxx, blitz::Array< Type, Dim > &Dyy, blitz::Array< Type, Dim > &Dzz, blitz::Array< Type, Dim > &Dxy, blitz::Array< Type, Dim > &Dxz, blitz::Array< Type, Dim > &Dyz, double delta_t=0.0625, int v=1)
 
template<typename Type , typename gType >
void AOS_3D_blitz (const blitz::Array< Type, 3 > &u, blitz::Array< gType, 3 > &g, blitz::Array< Type, 3 > &u_new, const double delta_t)
 
double CalculateDiffusionNewGreyValue (double *u, double *a, double *b, double *c, double *d, double *e, double *f, int x, int y, int z, int nx, int ny, int nz, int px, int py, int pz, double dt, int *dimsu)
 
template<typename GType >
void get1DAOS_blitz (blitz::Array< GType, 1 > &p, double delta_t, int len, int m, double *alpha, double *beta, double *gamma, double *L, double *M, double *R)
 
int mindex3 (int x, int y, int z, int sizx, int sizy)
 
template<typename Type >
void nonlinearDiffusion3D_AOS (blitz::Array< Type, 3 > &image, const blitz::TinyVector< double, 3 > &spacing, const int num_iter=4, const double kappa=0.1, const double delta_t=1, const int mode=0, const int v=1)
 
void tridiagonal_Thomas_decomposition (double *alpha, double *beta, double *gamma, double *l, double *m, double *r, unsigned long N)
 
void tridiagonal_Thomas_solution (double *l, double *m, double *r, double *d, double *y, unsigned long N)
 
template<typename Type >
void tridiagonal_Thomas_solution_blitz (double *l, double *m, double *r, blitz::Array< Type, 1 > &d, double *y, unsigned long N)
 

Function Documentation

◆ mindex3()

int mindex3 ( int  x,
int  y,
int  z,
int  sizx,
int  sizy 
)

◆ anisotropicDiffusion3D_explicit()

template<typename Type , int Dim>
void anisotropicDiffusion3D_explicit ( blitz::Array< Type, Dim > &  image,
blitz::Array< Type, Dim > &  Dxx,
blitz::Array< Type, Dim > &  Dyy,
blitz::Array< Type, Dim > &  Dzz,
blitz::Array< Type, Dim > &  Dxy,
blitz::Array< Type, Dim > &  Dxz,
blitz::Array< Type, Dim > &  Dyz,
double  delta_t = 0.0625,
int  v = 1 
)

◆ CalculateDiffusionNewGreyValue()

double CalculateDiffusionNewGreyValue ( double *  u,
double *  a,
double *  b,
double *  c,
double *  d,
double *  e,
double *  f,
int  x,
int  y,
int  z,
int  nx,
int  ny,
int  nz,
int  px,
int  py,
int  pz,
double  dt,
int *  dimsu 
)

◆ get1DAOS_blitz()

template<typename GType >
void get1DAOS_blitz ( blitz::Array< GType, 1 > &  p,
double  delta_t,
int  len,
int  m,
double *  alpha,
double *  beta,
double *  gamma,
double *  L,
double *  M,
double *  R 
)

◆ AOS_3D_blitz()

template<typename Type , typename gType >
void AOS_3D_blitz ( const blitz::Array< Type, 3 > &  u,
blitz::Array< gType, 3 > &  g,
blitz::Array< Type, 3 > &  u_new,
const double  delta_t 
)

◆ nonlinearDiffusion3D_AOS()

template<typename Type >
void nonlinearDiffusion3D_AOS ( blitz::Array< Type, 3 > &  image,
const blitz::TinyVector< double, 3 > &  spacing,
const int  num_iter = 4,
const double  kappa = 0.1,
const double  delta_t = 1,
const int  mode = 0,
const int  v = 1 
)

◆ tridiagonal_Thomas_decomposition()

void tridiagonal_Thomas_decomposition ( double *  alpha,
double *  beta,
double *  gamma,
double *  l,
double *  m,
double *  r,
unsigned long  N 
)

◆ tridiagonal_Thomas_solution()

void tridiagonal_Thomas_solution ( double *  l,
double *  m,
double *  r,
double *  d,
double *  y,
unsigned long  N 
)

◆ tridiagonal_Thomas_solution_blitz()

template<typename Type >
void tridiagonal_Thomas_solution_blitz ( double *  l,
double *  m,
double *  r,
blitz::Array< Type, 1 > &  d,
double *  y,
unsigned long  N 
)