Data Structures | Enumerations | Functions

MapDepthMatrix - MapDepthMatrix maintains a 5D matrix.
[Supporting Modules]

Data Structures

struct  MAP_DEPTH_MATRIX

Enumerations

enum  DataSpace { REAL_SPACE, WAVE_SPACE }

Functions

MAP_DEPTH_MATRIX newMapDepthMatrix (int x, int y, int z, int t, int shift)
MAP_DEPTH_MATRIX newMapDepthMatrixV (int x, int y, int z, int t, int v, int shift)
void destroyMapDepthMatrix (MAP_DEPTH_MATRIX td)
BOOLEAN isEmptyMapDepthMatrix (const MAP_DEPTH_MATRIX *td)
MATRIX extractMapDepth (int kx, int ky, MAP_DEPTH_MATRIX td)
void insertMapDepth (int kx, int ky, MATRIX m, MAP_DEPTH_MATRIX *tdptr)
MATRIX extractXYPlaneFromMapDepthMatrix (int map, int depth, MAP_DEPTH_MATRIX td)
MATRIX extractXYPlaneFromMapDepthMatrixV (int map, int depth, int v, MAP_DEPTH_MATRIX td)
void insertXYPlaneIntoMapDepthMatrix (MATRIX xyPlane, int map, int depth, MAP_DEPTH_MATRIX *tdptr)
void insertXYPlaneIntoMapDepthMatrixV (MATRIX xyPlane, int map, int depth, int v, MAP_DEPTH_MATRIX *tdptr)
MATRIX extractXYPlaneColMajorMapDepthMatrix (int map, int depth, const MAP_DEPTH_MATRIX *td)
MATRIX extractXYPlaneColMajorMapDepthMatrixV (int map, int depth, int v, const MAP_DEPTH_MATRIX *tdptr)
void insertXYPlaneColMajorMapDepthMatrix (MATRIX xyPlane, int map, int depth, MAP_DEPTH_MATRIX *tdptr)
void insertXYPlaneColMajorMapDepthMatrixV (MATRIX xyPlane, int map, int depth, int v, MAP_DEPTH_MATRIX *tdptr)
MAP_DEPTH_MATRIX readMapDepthMatrixKernel (char *basedir, char *filenames[], int nFiles, int useFT)
MAP_DEPTH_MATRIX readMapDepthMatrix (char *basedir, char *filenames[], int nFiles, int useFT)
MAP_DEPTH_MATRIX readMapDepthMatrixV (char *basedir, char *filenames[], int nFiles, int vdim, int useFT)
void writeMapDepthMatrix (char *filenames[], int nFiles, MAP_DEPTH_MATRIX tdm, int useFT, FITSParameters headerParameters)

Enumeration Type Documentation

enum DataSpace

DataSpace

Enumerator:
REAL_SPACE 
WAVE_SPACE 

Function Documentation

void destroyMapDepthMatrix ( MAP_DEPTH_MATRIX  td  ) 

Free memory used to store data in 4d matrix

Parameters:
[in] td A 4d matrix
MATRIX extractMapDepth ( int  kx,
int  ky,
MAP_DEPTH_MATRIX  td 
)

Extract a 2d sub matrix from a 4d matrix. Really, this returns a pointer to a 2d matrix inside the 4d matrix. The pointer is wrapped by a 2d matrix object.

Parameters:
[in] kx Row index in xy-plane
[in] ky Column index in xy-plane
[in] td 4d matrix from which to extract.
Returns:
2d matrix indexed by map (rows) and depth (columns). MATRIX(map, depth). MATRIX.data is a pointer into the 4d matrix. No data is copied, only a pointer is provided.
MATRIX extractXYPlaneColMajorMapDepthMatrix ( int  map,
int  depth,
const MAP_DEPTH_MATRIX td 
)

Extract a 2d sub matrix from a 4d matrix. Here, data values are copied because the xy-plane values are dispersed throughout the 4d matrix.

Parameters:
[in] map Row index in td-plane
[in] depth Column index in td-plane
[in] td 4d matrix from which to extract.
Returns:
2d matrix indexed by x (rows) and y (columns). MATRIX(x,y). A new matrix is created to hold the copied data and keep it contiguous.
MATRIX extractXYPlaneColMajorMapDepthMatrixV ( int  map,
int  depth,
int  v,
const MAP_DEPTH_MATRIX tdptr 
)
MATRIX extractXYPlaneFromMapDepthMatrix ( int  map,
int  depth,
MAP_DEPTH_MATRIX  td 
)

Extract a 2d sub matrix from a 4d matrix. Here, data values are copied because the xy-plane values are dispersed throughout the 4d matrix.

Parameters:
[in] map Row index in td-plane
[in] depth Column index in td-plane
[in] td 4d matrix from which to extract.
Returns:
2d matrix indexed by x (rows) and y (columns). MATRIX(x,y). A new matrix is created to hold the copied data and keep it contiguous.
MATRIX extractXYPlaneFromMapDepthMatrixV ( int  map,
int  depth,
int  v,
MAP_DEPTH_MATRIX  td 
)
void insertMapDepth ( int  kx,
int  ky,
MATRIX  m,
MAP_DEPTH_MATRIX tdptr 
)

Insert a 2d sub matrix into a 4d matrix. Here, memory is copied to keep 2d sub matrix in tact, i.e. in contiguous memory.

Parameters:
[in] kx Row index in xy-plane
[in] ky Column index in xy-plane
[in] m A 2d matrix indexed by map (rows) and depth (columns) to insert.
[in,out] tdptr Pointer to 4d matrix in which to copy 2d matrix data. Need to send pointer to 4d matrix because we are changing values in the 4d matrix structure.
void insertXYPlaneColMajorMapDepthMatrix ( MATRIX  xyPlane,
int  map,
int  depth,
MAP_DEPTH_MATRIX tdptr 
)

Insert a 2d sub matrix into a 4d matrix. Here, data values are copied because the xy-plane values are dispersed throughout the 4d matrix.

Parameters:
[in] map Row index in td-plane
[in] depth Column index in td-plane
[in] xyPlane A 2d matrix indexed by x (rows) and y (columns) to insert.
[in,out] tdptr Pointer to 4d matrix in which to copy 2d matrix data. Need to send pointer to 4d matrix because we are changing values in the 4d matrix structure.
void insertXYPlaneColMajorMapDepthMatrixV ( MATRIX  xyPlane,
int  map,
int  depth,
int  v,
MAP_DEPTH_MATRIX tdptr 
)
void insertXYPlaneIntoMapDepthMatrix ( MATRIX  xyPlane,
int  map,
int  depth,
MAP_DEPTH_MATRIX tdptr 
)

Insert a 2d sub matrix into a 4d matrix. Here, data values are copied because the xy-plane values are dispersed throughout the 4d matrix.

Parameters:
[in] map Row index in td-plane
[in] depth Column index in td-plane
[in] xyPlane A 2d matrix indexed by x (rows) and y (columns) to insert.
[in,out] tdptr Pointer to 4d matrix in which to copy 2d matrix data. Need to send pointer to 4d matrix because we are changing values in the 4d matrix structure.
void insertXYPlaneIntoMapDepthMatrixV ( MATRIX  xyPlane,
int  map,
int  depth,
int  v,
MAP_DEPTH_MATRIX tdptr 
)
BOOLEAN isEmptyMapDepthMatrix ( const MAP_DEPTH_MATRIX td  ) 

check if MapDepthMatrix is null

Parameters:
[in] td A 4d matrix
Returns:
True if matrix is null, False otherwise
MAP_DEPTH_MATRIX newMapDepthMatrix ( int  x,
int  y,
int  z,
int  t,
int  shift 
)

Create a new 4d matrix by allocating space for data and setting internal parameters.

Parameters:
[in] x number of rows in xy-plane
[in] y number of columns in xy-plane
[in] z depth dimension
[in] t number of measurements (map dimension)
[in] shift boolean; if output from inverse FT needs to be shifted.
Returns:
new 4d matrix
MAP_DEPTH_MATRIX newMapDepthMatrixV ( int  x,
int  y,
int  z,
int  t,
int  v,
int  shift 
)

Create a new 5d matrix by allocating space for data and setting internal parameters.

Parameters:
[in] x number of rows in xy-plane
[in] y number of columns in xy-plane
[in] z depth dimension
[in] t number of measurements (map dimension)
[in] v dimension of vector data (usually set to 3)
[in] shift boolean; if output from inverse FT needs to be shifted.
Returns:
new 5d matrix
MAP_DEPTH_MATRIX readMapDepthMatrix ( char *  basedir,
char *  filenames[],
int  nFiles,
int  useFT 
)
MAP_DEPTH_MATRIX readMapDepthMatrixKernel ( char *  basedir,
char *  filenames[],
int  nFiles,
int  useFT 
)
MAP_DEPTH_MATRIX readMapDepthMatrixV ( char *  basedir,
char *  filenames[],
int  nFiles,
int  vdim,
int  useFT 
)

Opens and reads FITS files, then stores the data in a new MAP_DEPTH_MATRIX.

Parameters:
[in] basedir base directory for all filenames
[in] filenames list of FITS files to read.
[in] nFiles number of files to read
[in] vdim The vector dimension; for 3d, vdim = 1; for 5d, vdim = 3.
[in] useFT Boolean; whether to Fourier transform the data before inserting into MAP_DEPTH_MATRIX.
Returns:
new map depth matrix containing data from files.

HERE -- if 3dv, then read 3 x kernel file names

void writeMapDepthMatrix ( char *  filenames[],
int  nFiles,
MAP_DEPTH_MATRIX  tdm,
int  useFT,
FITSParameters  headerParameters 
)

Opens and writes MAP_DEPTH_MATRIX to FITS files. Each t-dimension is written to a separate FITS file.

Parameters:
[in] filenames list of FITS files to write; NOTE: each filename must already have directory path, i.e. the filenames are complete paths.
[in] nFiles number of files to write.
[in] tdm map depth matrix containing data for output.
[in] useFT Boolean; whether to Fourier transform the data before inserting into MAP_DEPTH_MATRIX.
[in] headerParameters Names, values and comments of the lambda parameters for FITS header.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines