22 #include <gsl/gsl_multimin.h> 28 #define MAXNUM_LINES 10000 31 #define MAX_LINELENGTH 100 34 #define MAXNUM_COMMENTLINES 1000 37 #define MAX_COMMAND_LENGTH 1000 40 #define ADDITIONAL_SOURCES_STRING_LENGTH 500 52 # define PI (4*atan(1.0)) 56 #define FARADAY 96485.3399 60 # define SMALLNUM DBL_EPSILON 61 #elif defined GSL_DBL_EPSILON 62 # define SMALLNUM GSL_DBL_EPSILON 64 # define SMALLNUM 2.2204460492503131e-16 74 #define IS_ZERO(x) (fabs(x) < (SMALLNUM) ? (TRUE) : (FALSE)) 82 #define STREQ(s1,s2) (strcmp(s1,s2) == 0) 88 #define SQR(x) ((x) * (x)) 94 #define MAX(x,y) ((x) > (y) ? (x) : (y)) 100 #define MIN(x,y) ((x) < (y) ? (x) : (y)) 112 #define INDEX(i,j) ((i)*(nr+1)+(j)) 127 #define INDEX_FULL_P(i,j) ((i)*(2*nr-1)+nr+(j)-2) 133 #define INDEX_FULL_N(i,j) ((i)*(2*nr-1)+nr-(j)) 179 void convolve3(
int M,
int N,
double *a,
double scale1,
double scale2,
double *invr,
double *out);
182 void error(
char *errorstring, ...);
191 void get_io_filenames(
char *argstring,
const char *inf_extension,
const char *outf_extension,
char *infilename,
char *outfilename);
198 void calc_diffusion_curve_layer(
int nt,
int nz,
int nr,
int iprobe,
int jprobe,
int iz1,
int iz2,
int nolayer,
double dt,
double dr,
double sdelay,
double sduration,
double alpha_so,
double theta_so,
double kappa_so,
double alpha_sp,
double theta_sp,
double kappa_sp,
double alpha_sr,
double theta_sr,
double kappa_sr,
double dfree,
double *t,
double *s,
double *invr,
char *imagebasename,
double image_spacing,
double *p);
203 void rti_theory(
int nt,
double spdist,
double samplitude,
double sdelay,
double sduration,
double kappa,
double dfree,
double alpha,
double theta,
double *t,
double *p_theory);
int n
Number of additional sources.
double sr
r-coordinate of additional source
double * p_theory
Probe concentration from homogeneous model (characteristic curve)
double sduration
Duration of source.
double kappa
Nonspecific clearance factor.
double sdelay
Source delay (time before source starts)
double * p_model
Probe concentration from multilayer model.
double sz
z-coordinate of additional source
double samplitude
Amplitude of source.
double dfree
Free diffusion coefficient.
double spdist
Distance between source and probe.
source_struct_type * source
Struct of parameters for each additional source.
double alpha
Extracellular volume fraction.
double crnt
Current of additional source.
double theta
Permeability.
int nt
Number of time points of calculation.