Data Structures | Functions

src/coramf/SuperY.h File Reference

Go to the source code of this file.

Data Structures

struct  SuperVectorY

Functions

void InitSuperVectorY (SuperVectorY *y, MAP_DEPTH_MATRIX m)
void RealToDoubleComplex (Float *rData, int nelements, FloatComplex *cData)
bool DoubleComplexToReal (FloatComplex *cData, int nelements, Float *rData)
void unpackSuperY (const SuperVectorY *superY, MAP_DEPTH_MATRIX *AvgKern, MAP_DEPTH_MATRIX *noise, enum DataSpace outSpace)
bool packSuperY (const MAP_DEPTH_MATRIX *AvgKern, const MAP_DEPTH_MATRIX *noise, SuperVectorY *superY, enum DataSpace inSpace)

Function Documentation

bool DoubleComplexToReal ( FloatComplex *  cData,
int  nelements,
Float rData 
)

Convert from FloatComplex to Float

Parameters:
[in] cData Pointer to array of FloatComplex data; cannot be empty.
[in] nelements Number of elements in cData.
[in,out] rData Pointer to array of Floats; must be allocated. Real form of complex data returned in this array.
Returns:
FALSE if error; TRUE if successful
void InitSuperVectorY ( SuperVectorY y,
MAP_DEPTH_MATRIX  m 
)

Initialize super vector Y.

Parameters:
[in,out] y Pointer to SuperVectorY with allocated space; return initialized vector.
[in] m Defining kernel matrix in wave space
bool packSuperY ( const MAP_DEPTH_MATRIX AvgKern,
const MAP_DEPTH_MATRIX noise,
SuperVectorY superY,
enum DataSpace  inSpace 
)

Condense averaging kernel and noise matrices into packed super vector Y. [AvgKern; noise] averaging kernel at the top of Y, noise at the bottom.

Parameters:
[in] AvgKern is in wave space.
[in] noise is in wave space.
[in,out] superY is in row-major order, with contiguous map-depth matrixes, which means the kx,ky pixels are all stored contiguously in row-major order. Send already allocated matrix. y must be in real space, NOT wave space.
[in] inSpace Enumeration: AvgKern and noise are in either REAL_SPACE or WAVE_SPACE
Returns:
false if packing failed; true if successful.
void RealToDoubleComplex ( Float rData,
int  nelements,
FloatComplex *  cData 
)

Convert super vector Y (which is Float) to FloatComplex.

Parameters:
[in] rData Pointer to Float array for real data; must be allocated.
[in] nelements Number of elements in rData.
[in,out] cData Pointer to FloatComplex data; must be allocated. Complex form of real data returned in this array.
void unpackSuperY ( const SuperVectorY superY,
MAP_DEPTH_MATRIX AvgKern,
MAP_DEPTH_MATRIX noise,
enum DataSpace  outSpace 
)

Rebuild averaging kernel and noise matrices from packed super vector Y.

Parameters:
[in] superY is in row-major order for each map-depth matrix (for each kx, ky). y must be in real space, NOT wave space.
[in,out] AvgKern is returned in wave space. Data is overwritten. Send already allocated matrix.
[in,out] noise is returned in wave space. Data is overwritten. Send already allocated matrix.
[in] outSpace Enumeration: AvgKern and noise are returned in either REAL_SPACE or WAVE_SPACE
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines