Openholo
v5.0
Open Source Digital Holographic Library
|
Wave Aberration module. More...
#include <ophWaveAberration.h>
Public Member Functions | |
ophWaveAberration () | |
Constructor. More... | |
~ophWaveAberration () | |
Destructor. More... | |
bool | readConfig (const char *fname) |
read configuration from a configration file More... | |
Real | factorial (double x) |
Factorial using recursion. More... | |
void | imresize (double **X, int Nx, int Ny, int nx, int ny, double **Y) |
Resizes 2D data using bilinear interpolation. More... | |
double ** | calculateZernikePolynomial (double n, double m, vector< double > x, vector< double > y, double d) |
Calculates Zernike polynomial. More... | |
void | accumulateZernikePolynomial () |
Sums up the calculated Zernike polynomials. More... | |
void | Free2D (oph::Complex< Real > **doublePtr) |
deletes 2D memory array using double pointer More... | |
void | saveAberration (const char *fname) |
saves the 2D data array of a wave aberration into a file More... | |
void | readAberration (const char *fname) |
reads the 2D data array of a wave aberration from a file More... | |
virtual bool | loadAsOhc (const char *fname) |
Function to read OHC file. More... | |
void | ophFree (void) |
Pure virtual function for override in child classes. More... | |
Public Member Functions inherited from ophRec | |
ophRec (void) | |
Constructor. More... | |
void | SaveImage (const char *path, const char *ext="bmp") |
void | setConfig (OphRecConfig config) |
void | SetMode (unsigned int mode) |
OphRecConfig & | getConfig () |
bool | ReconstructImage () |
bool | readConfig (const char *fname) |
bool | readImage (const char *path) |
bool | readImagePNA (const char *phase, const char *amplitude) |
bool | readImageRNI (const char *real, const char *imaginary) |
void | Perform_Simulation () |
void | Initialize () |
bool | save (const char *fname, uint8_t bitsperpixel, uchar *src, uint px, uint py) |
template<typename T > | |
void | normalize (T *src, uchar *dst, int x, int y) |
template<typename T > | |
void | normalize (T *src, uchar *dst, int x, int y, T max, T min) |
vector< uchar * > & | getNormalizedBuffer () |
Public Member Functions inherited from Openholo | |
Openholo (void) | |
Constructor. More... | |
virtual bool | saveAsImg (const char *fname, uint8_t bitsperpixel, uchar *src, int width, int height) |
Function for creating image files. More... | |
virtual uchar * | loadAsImg (const char *fname) |
Function for loading image files. More... | |
virtual bool | saveAsOhc (const char *fname) |
Function to write OHC file More... | |
Complex< Real > ** | getComplexField (void) |
Function for getting the complex field. More... | |
OphConfig & | getContext (void) |
Function for getting the current context. More... | |
ImageConfig & | getImageConfig () |
Function for getting the image config. More... | |
void | setPixelNumber (ivec2 n) |
Function for setting the output resolution. More... | |
void | setPixelNumber (int width, int height) |
void | setPixelPitch (vec2 p) |
Function for setting the output pixel pitch. More... | |
void | setPixelPitch (Real pitchX, Real pitchY) |
void | setWaveLength (Real w, const uint idx=0) |
Function for setting the wave length. More... | |
void | setWaveNum (int num) |
Function for setting the wave number. More... | |
void | setOffset (ivec2 offset) |
Function for setting the offset. More... | |
void | setImageMerge (bool merge) |
Function for setting the image merge(true or false) More... | |
void | setImageRotate (bool rotate) |
Function for setting the image rotate(true or false) More... | |
void | setImageFlip (int flip) |
Function for setting the image flip. More... | |
void | setMaxThreadNum (int num) |
Function for setting the max thread num. More... | |
int | getMaxThreadNum () |
Function for getting the max thread num. More... | |
bool | mergeColor (int idx, int width, int height, uchar *src, uchar *dst) |
Function for generate RGB image from each grayscale image. More... | |
bool | separateColor (int idx, int width, int height, uchar *src, uchar *dst) |
Function for generate each grayscale image from RGB image. More... | |
Public Member Functions inherited from Base | |
Base (void) | |
Constructor. More... | |
unsigned long | addRef (void) |
If referenced this(Base's child, not abstract class) instance, must call this method. More... | |
unsigned long | release (void) |
Call release() when reference is finished. More... | |
Public Attributes | |
oph::uint | resolutionX |
oph::uint | resolutionY |
oph::Complex< Real > ** | complex_W |
double pointer of the 2D data array of a wave aberration More... | |
Additional Inherited Members | |
Protected Member Functions inherited from ophRec | |
virtual | ~ophRec (void) |
Destructor. More... | |
void | Clear () |
void | GetPupilFieldFromHologram () |
void | GetPupilFieldFromVWHologram () |
void | Propagation_Fresnel_FFT (int chnum) |
void | ASM_Propagation () |
void | ASM_Propagation_GPU () |
void | GetPupilFieldImage (Complex< Real > *src, Real *dst, int pnx, int pny, Real ppx, Real ppy, Real scaleX, Real scaleY) |
void | getVarname (int vtr, vec3 &var_vals, std::string &varname2) |
Protected Member Functions inherited from Openholo | |
virtual | ~Openholo (void)=0 |
Destructor. More... | |
bool | checkExtension (const char *fname, const char *ext) |
Functions for extension checking. More... | |
bool | loadAsImgUpSideDown (const char *fname, uchar *dst) |
Function for loading image files | Output image data upside down. More... | |
bool | getImgSize (int &w, int &h, int &bytesperpixel, const char *fname) |
Function for getting the image size. More... | |
void | imgScaleBilinear (uchar *src, uchar *dst, int w, int h, int neww, int newh, int channels=1) |
Function for change image size. More... | |
void | convertToFormatGray8 (uchar *src, uchar *dst, int w, int h, int bytesperpixel) |
Function for convert image format to gray8. More... | |
void | fft1 (int n, Complex< Real > *in, int sign=OPH_FORWARD, uint flag=OPH_ESTIMATE) |
Functions for performing fftw 1-dimension operations inside Openholo. More... | |
void | fft2 (ivec2 n, Complex< Real > *in, int sign=OPH_FORWARD, uint flag=OPH_ESTIMATE) |
Functions for performing fftw 2-dimension operations inside Openholo. More... | |
void | fft3 (ivec3 n, Complex< Real > *in, int sign=OPH_FORWARD, uint flag=OPH_ESTIMATE) |
Functions for performing fftw 3-dimension operations inside Openholo. More... | |
void | fftExecute (Complex< Real > *out, bool bReverse=false) |
Execution functions to be called after fft1, fft2, and fft3. More... | |
void | fftFree (void) |
Resource release method. More... | |
void | fftInit2D (ivec2 size, int sign, unsigned int flag) |
initialize method for 2D FFT More... | |
void | fft2 (Complex< Real > *src, Complex< Real > *dst, int nx, int ny, int type, bool bNormalized=false, bool bShift=true) |
Convert data from the spatial domain to the frequency domain using 2D FFT on CPU. More... | |
void | fftShift (int nx, int ny, Complex< Real > *input, Complex< Real > *output) |
Swap the top-left quadrant of data with the bottom-right , and the top-right quadrant with the bottom-left. More... | |
void | setPixelNumberOHC (const ivec2 pixel_number) |
getter/setter for OHC file read and write More... | |
void | setPixelPitchOHC (const vec2 pixel_pitch) |
void | setWavelengthOHC (const Real wavelength, const LenUnit wavelength_unit) |
void | setWaveLengthNumOHC (const uint wavelength_num) |
void | setColorTypeOHC (const ColorType color_type) |
void | setColorArrangeOHC (const ColorArran color_arrange) |
void | setWaveLengthUnitOHC (const LenUnit length_unit) |
void | setFieldEncodingOHC (const FldStore field_store, const FldCodeType field_code_type) |
void | setPhaseEncodingOHC (const BPhaseCode phase_code, const vec2 phase_code_range) |
void | addWaveLengthNComplexFieldDataOHC (const Real wavelength, const OphComplexField &complex_field) |
Function to add ComplexField when adding wavelength data. More... | |
void | addWaveLengthOHC (const Real wavelength) |
void | addComplexFieldDataOHC (const OphComplexField &complex_field) |
void | getPixelNumberOHC (ivec2 &pixel_number) |
void | getPixelPitchOHC (vec2 &pixel_pitch) |
void | getWavelengthOHC (vector< Real > &wavelength) |
void | getWaveLengthNumOHC (uint &wavelength_num) |
void | getColorTypeOHC (ColorType &color_type) |
void | getColorArrangeOHC (ColorArran &color_arrange) |
void | getWaveLengthUnitOHC (LenUnit &length_unit) |
void | getComplexFieldDataOHC (Complex< Real > **cmplx, uint wavelen_idx) |
void | getComplexFieldDataOHC (OphComplexField &cmplx, uint wavelen_idx) |
Protected Member Functions inherited from Base | |
virtual | ~Base (void) |
Destructor. More... | |
Protected Attributes inherited from Openholo | |
OphConfig | context_ |
ResolutionConfig | resCfg |
ImageConfig | imgCfg |
Complex< Real > ** | complex_H |
ImgEncoderOhc * | OHC_encoder |
OHC file format Variables for read and write. More... | |
ImgDecoderOhc * | OHC_decoder |
Protected Attributes inherited from Base | |
unsigned long | refCnt |
Wave Aberration module.
Definition at line 94 of file ophWaveAberration.h.
ophWaveAberration::ophWaveAberration | ( | ) |
Constructor.
Definition at line 59 of file ophWaveAberration.cpp.
ophWaveAberration::~ophWaveAberration | ( | ) |
Destructor.
Definition at line 72 of file ophWaveAberration.cpp.
void ophWaveAberration::accumulateZernikePolynomial | ( | ) |
Sums up the calculated Zernike polynomials.
Definition at line 182 of file ophWaveAberration.cpp.
double ** ophWaveAberration::calculateZernikePolynomial | ( | double | n, |
double | m, | ||
vector< double > | x, | ||
vector< double > | y, | ||
double | d | ||
) |
Calculates Zernike polynomial.
n | order of the radial term of Zernike polynomial |
m | frequency of the sinusoidal component of Zernike polynomial |
x | resolution in y axis of the exit pupil |
y | resolution in y axis of the exit pupil |
d | diameter of aperture of the exit pupil |
Definition at line 78 of file ophWaveAberration.cpp.
|
inline |
Factorial using recursion.
x | a number of factorial |
Definition at line 50 of file ophWaveAberration.cpp.
void ophWaveAberration::Free2D | ( | oph::Complex< Real > ** | doublePtr | ) |
deletes 2D memory array using double pointer
Definition at line 360 of file ophWaveAberration.cpp.
void ophWaveAberration::imresize | ( | double ** | X, |
int | Nx, | ||
int | Ny, | ||
int | nx, | ||
int | ny, | ||
double ** | Y | ||
) |
Resizes 2D data using bilinear interpolation.
X | 2D source image |
Nx | resolution in x axis of source image |
Ny | resolution in y axis of source image |
nx | resolution in x axis target image |
ny | resolution in y axis target image |
ny | 2D target image |
Definition at line 153 of file ophWaveAberration.cpp.
|
virtual |
Function to read OHC file.
[in] | fname | File name |
Reimplemented from Openholo.
Definition at line 488 of file ophWaveAberration.cpp.
|
virtual |
Pure virtual function for override in child classes.
Reimplemented from ophRec.
Definition at line 368 of file ophWaveAberration.cpp.
void ophWaveAberration::readAberration | ( | const char * | fname | ) |
reads the 2D data array of a wave aberration from a file
fname | a path name of a file to save a wave aberration |
Definition at line 476 of file ophWaveAberration.cpp.
bool ophWaveAberration::readConfig | ( | const char * | fname | ) |
read configuration from a configration file
fname | a path name of a configration file |
Definition at line 375 of file ophWaveAberration.cpp.
void ophWaveAberration::saveAberration | ( | const char * | fname | ) |
saves the 2D data array of a wave aberration into a file
fname | a path name of a file to save a wave aberration |
Definition at line 469 of file ophWaveAberration.cpp.
oph::Complex<Real>** ophWaveAberration::complex_W |
double pointer of the 2D data array of a wave aberration
Definition at line 136 of file ophWaveAberration.h.
oph::uint ophWaveAberration::resolutionX |
resolution | in x axis of the exit pupil |
Definition at line 128 of file ophWaveAberration.h.
oph::uint ophWaveAberration::resolutionY |
resolution | in y axis of the exit pupil |
Definition at line 132 of file ophWaveAberration.h.