Data Structures | Functions

src/inversion/Model.h File Reference

Go to the source code of this file.

Data Structures

struct  Model

Functions

void initializeModel (Model *model, int X, int Y, int M, int Z)
void initializeOutputModel (Model *model, MAP_DEPTH_MATRIX kernelTdm)
void initializeForwardOutputModel (Model *model, MAP_DEPTH_MATRIX kernelTdm)
void initializeCalcQOutputModel (Model *model, MAP_DEPTH_MATRIX w)
void useNoMaps (Model *model)
void setParameters (Model *model, Float mu, Float sigma)
void setParameters2 (Model *model, Float *values, int nValues)
void clearParameters (Model *model)
void saveW (Model *model, MATRIX w, int kx, int ky)
void saveB (Model *model, MATRIX b, int nStep)
void saveGridValues (Model *m, int r, int c, Float kx, Float ky, Float lambda)
void calculateQValues (Model *model, MAP_DEPTH_MATRIX tau, bool DValueShift)
void calculateDerivedValues (Model *model, MAP_DEPTH_MATRIX K, MAP_DEPTH_MATRIX tau, MAP_DEPTH_MATRIX Lambda, bool DValueShift)
void calculateDerivedValuesNoQ (Model *model, MAP_DEPTH_MATRIX K, MAP_DEPTH_MATRIX Lambda, bool DValueShift)
void writeQ (Model *model, BaseDirectory *baseName)
void writeW (Model *model, BaseDirectory *baseName)
void writeAvgKern (Model *model, BaseDirectory *baseName)
void writeBVectors1d (Model *model, BaseDirectory *baseName)
void writeAVectors1d (Model *model, BaseDirectory *baseName, Float lambda)
void writeCovVectors1d (Model *model, BaseDirectory *baseName, Float lambda)
void writeNoise (Model *model, BaseDirectory *baseName)
void writeDTildaValues3d (Model *model, BaseDirectory *baseName, bool useFT)
void writeAvgKernValues3d (Model *model, BaseDirectory *baseName)
void writeGridValues3d (Model *model, BaseDirectory *baseName)
void writeBVectors3d (Model *model, BaseDirectory *baseName)
void freeModel (Model *model)

Function Documentation

void calculateDerivedValues ( Model model,
MAP_DEPTH_MATRIX  K,
MAP_DEPTH_MATRIX  tau,
MAP_DEPTH_MATRIX  Lambda,
bool  DValueShift 
)

Calculate q, Averaging Kernel and noise squared.

Parameters:
[in] model A Model object.
[in] K Kernel matrix
[in] tau Travel-map matrix
[in] Lambda Travel-map noise covariance matrix
[in] DValueShift Boolean indicating whether to shift output matrices q, and averaging kernel, and noise.
void calculateDerivedValuesNoQ ( Model model,
MAP_DEPTH_MATRIX  K,
MAP_DEPTH_MATRIX  Lambda,
bool  DValueShift 
)
void calculateQValues ( Model model,
MAP_DEPTH_MATRIX  tau,
bool  DValueShift 
)

Calculate q

Parameters:
[in] model A Model object.
[in] tau Travel-map matrix
[in] DValueShift Boolean indicating whether to shift output matrix q.
void clearParameters ( Model model  ) 

Clear parameter values (mu and sigma) in the model. Output FITS files will not have sigma and mu parameters in the header.

Parameters:
[in,out] model A Model object.
void freeModel ( Model model  ) 

Free all memory associated with outputModel.

void initializeCalcQOutputModel ( Model model,
MAP_DEPTH_MATRIX  w 
)
void initializeForwardOutputModel ( Model model,
MAP_DEPTH_MATRIX  kernelTdm 
)

Initialize output model for use by forward calculation

Parameters:
[in,out] model Pointer to Model structure
[in] kernelTdm Matrix containing 3D Kernel.
void initializeModel ( Model model,
int  X,
int  Y,
int  M,
int  Z 
)

Initialize Model object, allocate space for data and constant values. Use for OLA inversions.

Parameters:
[in,out] model Initialize this Model.
[in] X Number of grid points, Nx
[in] Y Number of grid points, Ny
[in] M Number of measurements
[in] Z Number of grid points, Nz
void initializeOutputModel ( Model model,
MAP_DEPTH_MATRIX  kernelTdm 
)

Initialize output model for use by RLS inversion

Parameters:
[in,out] model Pointer to Model structure
[in] kernelTdm Matrix containing 3D RLS Kernel.
void saveB ( Model model,
MATRIX  b,
int  nStep 
)

Save inversion solution, b, for RLS 1D.

Parameters:
[in,out] model A Model object.
[in] b Solution matrix.
[in] nStep Parameter step number.
void saveGridValues ( Model m,
int  r,
int  c,
Float  kx,
Float  ky,
Float  lambda 
)

Save lambda values and kx, ky values for each wave number (RLS 3D inversion).

Parameters:
[in,out] m A Model object.
[in] r Row (index into matrix).
[in] c Column (index into matrix).
[in] kx Value of kx at (x,y)
[in] ky Value of ky at (x,y)
[in] lambda Value of lambda (regularization) parameter.
void saveW ( Model model,
MATRIX  w,
int  kx,
int  ky 
)

Save inversion weights, w, for wave number, kx, ky.

Parameters:
[in,out] model A Model object.
[in] w Inversion weights.
[in] kx X-index in Fourier space.
[in] ky Y-index in Fourier space.
void setParameters ( Model model,
Float  mu,
Float  sigma 
)

Record parameter values in the model.

Parameters:
[in,out] model A Model object.
[in] mu Value for mu parameter.
[in] sigma Value for sigma parameter.
void setParameters2 ( Model model,
Float values,
int  nValues 
)

Record multiple parameter values in the model.

Parameters:
[in,out] model A Model object.
[in] values Pointer to array of parameter values. NOTE: there is a special ordering to the parameters, mu, sigma, then nu (which is optional).
[in] nValues How many parameter values.
void useNoMaps ( Model model  ) 
void writeAVectors1d ( Model model,
BaseDirectory baseName,
Float  lambda 
)

Write the Averaging Kernel data for 1d problem.

Parameters:
[in] model The OutputModel containing the Averaging Kernel.
[in] baseName BaseDirectory structure for managing output file name.
[in] lambda Which lambda value was used for this solution.
void writeAvgKern ( Model model,
BaseDirectory baseName 
)

Write averaging kernel to file for OLA inversion.

Parameters:
[in,out] model A Model object.
[in] baseName BaseDirectory structure for managing output file name.
void writeAvgKernValues3d ( Model model,
BaseDirectory baseName 
)

Write averaging kernels and error covariance matrices for RLS 3D inversion.

Parameters:
[in,out] model A Model object.
[in] baseName BaseDirectory structure for managing output file name.
void writeBVectors1d ( Model model,
BaseDirectory baseName 
)

Write solution matrix for RLS 1D inversion.

Parameters:
[in,out] model A Model object.
[in] baseName BaseDirectory structure for managing output file name.
void writeBVectors3d ( Model model,
BaseDirectory baseName 
)

Write solution B vectors to FITS files matrix for RLS 3D inversion.

Parameters:
[in,out] model A Model object.
[in] baseName BaseDirectory structure for managing output file name.
void writeCovVectors1d ( Model model,
BaseDirectory baseName,
Float  lambda 
)

Write the Error Covariance data for 1d problem.

Parameters:
[in] model Model structure containing the Error Covariance.
[in] baseName Which lambda step was used for this solution.
[in] lambda Which lambda value was used for this solution.
void writeDTildaValues3d ( Model model,
BaseDirectory baseName,
bool  useFT 
)

Write d~ matrices for RLS 3D inversion.

Parameters:
[in,out] model A Model object.
[in] baseName BaseDirectory structure for managing output file name.
[in] useFT Boolean indicates if d~ matrices should be Fourier transformed.
void writeGridValues3d ( Model model,
BaseDirectory baseName 
)

Write lambda values and kx, ky values for each wave number (RLS 3D inversion). Write kxGridValues, kyGridValues and lambdaGridValues at each grid point to FITS files matrix for RLS 3D inversion.

Parameters:
[in,out] model A Model object.
[in] baseName BaseDirectory structure for managing output file name.
void writeNoise ( Model model,
BaseDirectory baseName 
)

Write noise estimate to file for OLA inversion.

Parameters:
[in,out] model A Model object.
[in] baseName BaseDirectory structure for managing output file name.
void writeQ ( Model model,
BaseDirectory baseName 
)

Write solution, q, for OLA inversion.

Parameters:
[in,out] model A Model object.
[in] baseName BaseDirectory structure for managing output file name.
void writeW ( Model model,
BaseDirectory baseName 
)

Write OLA inversion weights, w, to file.

Parameters:
[in,out] model A Model object.
[in] baseName BaseDirectory structure for managing output file name.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines