112 bool checkExtension(
const char* fname,
const char* ext);
126 virtual bool saveAsImg(
const char* fname, uint8_t bitsperpixel,
uchar* src,
int width,
int height);
135 virtual uchar* loadAsImg(
const char* fname);
144 virtual bool saveAsOhc(
const char *fname);
154 virtual bool loadAsOhc(
const char *fname);
187 inline void setPixelNumber(
int width,
int height) { context_.pixel_number[
_X] = width; context_.pixel_number[
_Y] = height; }
203 void setWaveNum(
int nNum);
210 void SetMaxThreadNum(
int num);
211 int GetMaxThreadNum();
213 bool mergeColor(
int idx,
int width,
int height,
uchar *src,
uchar *dst);
214 bool separateColor(
int idx,
int width,
int height,
uchar *src,
uchar *dst);
225 bool loadAsImgUpSideDown(
const char* fname,
uchar* dst);
237 bool getImgSize(
int& w,
int& h,
int& bytesperpixel,
const char* fname);
248 void imgScaleBilinear(
uchar* src,
uchar* dst,
int w,
int h,
int neww,
int newh,
int channels = 1);
258 void convertToFormatGray8(
uchar* src,
uchar* dst,
int w,
int h,
int bytesperpixel);
290 void fftExecute(Complex<Real>* out,
bool bReverse =
false);
292 void fftInit2D(ivec2 size,
int sign,
unsigned int flag);
302 void fft2(Complex<Real>* src, Complex<Real>* dst,
int nx,
int ny,
int type,
bool bNormalized =
false);
311 void fftShift(
int nx,
int ny, Complex<Real>* input, Complex<Real>* output);
312 void fftShift(
int nx,
int ny, Complex<Real>* input, fftw_complex* output);
313 void fftShift(
int nx,
int ny, fftw_complex* input, Complex<Real>* output);
319 virtual void ophFree(
void);
325 fftw_plan plan_fwd, plan_bwd;
326 fftw_complex *fft_in, *fft_out;
339 Complex<Real>** complex_H;
340 Complex<float>** complexf_H;
418 #endif // !__Openholo_h
void setWaveLength(Real w, const uint idx=0)
Function for setting the wave length.
oph::matrix< Complex< Real > > OphComplexField
OphConfig & getContext(void)
Function for getting the current context.
void setImageRotate(bool rotate)
void setColorArrangeOHC(const ColorArran color_arrange)
void setPhaseEncodingOHC(const BPhaseCode phase_code, const vec2 phase_code_range)
void getPixelPitchOHC(vec2 &pixel_pitch)
void setColorArrange(const ColorArran _clrArrange)
ColorArran getColorArrange()
void setPixelNumberOHC(const ivec2 pixel_number)
getter/setter for OHC file read and write
void getColorArrangeOHC(ColorArran &color_arrange)
void setPixelPitchOHC(const vec2 pixel_pitch)
void getComplexFieldDataOHC(Complex< Real > **cmplx, uint wavelen_idx)
void setColorTypeOHC(const ColorType color_type)
void getWaveLengthUnitOHC(LenUnit &length_unit)
void getPixelNumberOHC(ivec2 &pixel_number)
void setWavelengthOHC(const Real wavelength, const LenUnit wavelength_unit)
void setPixelNumber(int width, int height)
void addWaveLengthNComplexFieldDataOHC(const Real wavelength, const OphComplexField &complex_field)
Function to add ComplexField when adding wavelength data.
void setWaveLengthUnitOHC(const LenUnit length_unit)
void getWavelengthOHC(vector< Real > &wavelength)
void setFieldEncoding(const FldStore _fldStore, const FldCodeType _fldCodeType)
void getWaveLengthNumOHC(uint &wavelength_num)
void getComplexFieldData(OphComplexField &cmplx_field, uint wavelen_idx)
void setImageMerge(bool bMerge)
void addWaveLengthOHC(const Real wavelength)
void addComplexFieldData(const OphComplexField &data)
void setNumOfWavlen(const uint n_wavlens)
void setWaveLengthNumOHC(const uint wavelength_num)
void addComplexFieldDataOHC(const OphComplexField &complex_field)
void setPhaseEncoding(const BPhaseCode _bPhaseCode, const double _phaseCodeMin, const double _phaseCodeMax)
void addWavelength(const Real wavlen)
Complex< float > ** getComplexfField(void)
void setPixelPitch(Real pitchX, Real pitchY)
LenUnit getUnitOfWavlen()
void setPixelPitch(vec2 p)
Function for setting the output pixel pitch.
void setColorType(const ColorType _clrType)
void setPixelPitch(const double _pxPitchX, const double _pxPitchY, const LenUnit unit=LenUnit::m)
void setFieldEncodingOHC(const FldStore field_store, const FldCodeType field_code_type)
void setImageFlip(int flip)
void setWavelength(const Real _wavlen, const LenUnit _unit=LenUnit::m)
void setNumOfPixel(const uint _pxNumX, const uint _pxNumY)
Complex< Real > ** getComplexField(void)
Function for getting the complex field.
ImageConfig & getImageConfig()
Function for getting the image config.
void setPixelNumber(ivec2 n)
Function for setting the output resolution.
void getColorTypeOHC(ColorType &color_type)
void setUnitOfWavlen(const LenUnit unit)
void getComplexFieldDataOHC(OphComplexField &cmplx, uint wavelen_idx)
void getWavelength(std::vector< double_t > &wavlen_array)
void addWavelengthNComplexFieldData(const Real wavlen, const OphComplexField &data)