CWO++library  0.32
 All Classes Functions Variables Groups
Functions
Diffraction calculation

Functions

cwoComplexCWO::GetBuffer ()
 Get pointer to the buffer of the complex amplitude.
int CWO::CmpCtx (cwoCtx &a, cwoCtx &b)
size_t CWO::GetMemSizeCplx ()
 Get required memory with Nx x Ny size in cwoComplex.
size_t CWO::GetMemSizeFloat ()
 Get required memory with Nx x Ny size in float.
size_t CWO::GetMemSizeChar ()
 Get required memory with Nx x Ny size in char.
int CWO::GetDfrExpand ()
 Calculate diffraction.
void CWO::SetDfrExpand (int flag=0)
void CWO::Diffract (float d, int type=CWO_ANGULAR, cwoInt4 *zp=nullptr, cwoComplex *knl_mask=nullptr, CWO *numap=nullptr)
void CWO::Diffract (float d, int type, CWO *tmp_buf)
void CWO::Diffract (int type, CWO *kernel[])
void CWO::DiffractConv (float d, int type, cwoComplex *ape, cwoComplex *prop, cwoInt4 *zp=nullptr, cwoComplex *knl_mask=nullptr, CWO *numap=nullptr, int prop_calc=1)
void CWO::DiffractFourier (float d, int type, cwoInt4 *zp=NULL)
void CWO::DiffractDirect (float d, CWO *snumap, CWO *dnumap)
void CWO::DiffractAffine (float *affine_mat, int interpolation=CWO_INTER_LINEAR)
 diffraction with affine matrix
void CWO::DiffractDepth (float z, float dz, int num, const char *path, const char *name, const char *ext, int type=CWO_ANGULAR)
void CWO::AngularProp (CWO *a)
void CWO::ShiftedAngularProp (CWO *a)
void CWO::FresnelConvProp (CWO *a)
void CWO::FresnelConvCoeff (CWO *a)
void CWO::ShiftedFresnelProp (CWO *a)
void CWO::ShiftedFresnelAperture (CWO *a)
void CWO::ShiftedFresnelCoeff (CWO *a)
void CWO::ARSSFresnelProp (CWO *a)
void CWO::ARSSFresnelAperture (CWO *a)
void CWO::ARSSFresnelCoeff (CWO *a)
void CWO::FresnelFourierProp (CWO *a)
void CWO::FresnelFourierCoeff (CWO *a)
void CWO::FresnelDblAperture (CWO *a, float z1)
void CWO::FresnelDblFourierDomain (CWO *a, float z1, float z2, cwoInt4 *zp)
void CWO::FresnelDblCoeff (CWO *a, float z1, float z2)
void CWO::FresnelDupProp (CWO *a, float M)
void CWO::PreDiffract (float z, int type, CWO *a[])
void CWO::ReleaseTmpBuffer ()
void CWO::FresnelCoeff (float z1, float z2, float wl1, float wl2)
float CWO::fresnel_c (float x)
float CWO::fresnel_s (float x)
void CWO::FresnelInt (float z, int x1, int y1, int x2, int y2)

Detailed Description


Function Documentation

cwoComplex* CWO::GetBuffer ( )
inline

Get pointer to the buffer of the complex amplitude.

Returns:
pointer to the buffer of the complex amplitude
size_t CWO::GetMemSizeCplx ( )

Get required memory with Nx x Ny size in cwoComplex.

Returns:
required memory with Nx x Ny size in cwoComplex (bytes)
size_t CWO::GetMemSizeFloat ( )

Get required memory with Nx x Ny size in float.

Returns:
required memory with Nx x Ny size in float (bytes)
size_t CWO::GetMemSizeChar ( )

Get required memory with Nx x Ny size in char.

Returns:
required memory with Nx x Ny size in char (bytes)
int CWO::GetDfrExpand ( )

Calculate diffraction.

Parameters:
dpropogation distance
typetype of diffraction.
void CWO::DiffractAffine ( float *  affine_mat,
int  interpolation = CWO_INTER_LINEAR 
)

diffraction with affine matrix

Parameters:
affine_mataffine matrix (rotation matrix)
interpolationtype of interpolation in frequency domain
Note:
this function is used for tilted diffraction etc.