module for PIV image evaluation More...
Go to the source code of this file.
Data Structures | |
struct | __GpivCovariance |
Covariance data. More... | |
Macros | |
#define | __LIBGPIV_PIVL_H__ |
#define | GPIV_ZEROPAD_FACT 2 |
magnification factor of zero-padded int. area More... | |
#define | GPIV_DIFF_ISI 0 |
difference between interrogation sizes of first and second image if zero offset has been used More... | |
#define | GPIV_CUM_RESIDU_MIN 0.25 |
minimum cumulative residu for convergence More... | |
#define | GPIV_MAX_PIV_SWEEP 10 |
maximum number of PIV evaluation sweeps, starting from zero More... | |
#define | GPIV_SNR_DISABLE 88.0 |
snr value for manually disabled estimator More... | |
#define | GPIV_DEFORMED_IMG_NAME "gpiv_defimg" |
Deformed image to be stored in TMP_DIR. More... | |
#define | GPIV_LOGFILE "gpiv.log" |
Log file to be stored in TMP_DIR. More... | |
#define | CMPR_FACT 2 |
Image compression factor for speeding up the evaluation. More... | |
#define | GPIV_SHIFT_FACTOR 3 |
For initial grid, apply int_shift = int_size_i / GPIV_SHIFT_FACTOR. More... | |
Typedefs | |
typedef struct __GpivCovariance | GpivCov |
Enumerations | |
enum | GpivIFit { GPIV_NONE = 0, GPIV_GAUSS = 1, GPIV_POWER = 2, GPIV_GRAVITY = 3 } |
Type of sub-pixel estimation. More... | |
enum | GpivIntGeo { GPIV_AOI = 0, GPIV_LINE_C = 1, GPIV_LINE_R = 2, GPIV_POINT = 3 } |
Interrogation geometry. More... | |
Functions | |
gchar * | gpiv_piv_count_pivdata_fromimage (const GpivImagePar *image_par, const GpivPivPar *piv_par, guint *nx, guint *ny) |
Calculates the number of interrogation areas from the image sizes, pre-shift and area of interest. More... | |
GpivPivData * | gpiv_piv_interrogate_img (const GpivImage *image, const GpivPivPar *piv_par, const GpivValidPar *valid_par, const gboolean verbose) |
PIV interrogation of an image pair at an entire grid. More... | |
gchar * | gpiv_piv_interrogate_ia (const guint index_y, const guint index_x, const GpivImage *image, const GpivPivPar *piv_par, const guint sweep, const guint last_sweep, gfloat **int_area_1, gfloat **int_area_2, GpivCov *cov, GpivPivData *piv_data) |
Interrogates a single Interrogation Area. More... | |
void | gpiv_piv_isizadapt (const GpivPivPar *piv_par_src, GpivPivPar *piv_par_dest, gboolean *isiz_last) |
Adjusts interrogation area sizes. More... | |
gchar * | gpiv_piv_write_deformed_image (GpivImage *image) |
Stores deformed image to file system with pre defined name to TMPDIR and prints message to stdout. More... | |
void | gpiv_fread_fftw_wisdom (const gint dir) |
Reads fftw wisdoms from file and stores into a (public) string. More... | |
void | gpiv_fwrite_fftw_wisdom (const gint dir) |
Writes fftw wisdoms to a file. More... | |
gchar * | gpiv_piv_dxdy_at_new_grid (const GpivPivData *piv_data_src, GpivPivData *piv_data_dest) |
Calculates dx, dy of piv_data_dest from piv_data_src by bi-linear interpolation of inner points with shifted knots or extrapolation of outer lying points. More... | |
gchar * | gpiv_piv_shift_grid (GpivPivData *piv_data) |
Shifts the knots of a 2-dimensional grid containing PIV data for improved (bi-linear) interpolation. More... | |
GpivPivData * | gpiv_piv_gridgen (const guint nx, const guint ny, const GpivImagePar *image_par, const GpivPivPar *piv_par) |
Generates grid by Calculating the positions of interrogation areas. More... | |
GpivPivData * | gpiv_piv_gridadapt (const GpivImagePar *image_par, const GpivPivPar *piv_par_src, GpivPivPar *piv_par_dest, const GpivPivData *piv_data, const guint sweep, gboolean *grid_last) |
Adjust grid nodes if zero_off or adaptive interrogation area has been used. More... | |
module for PIV image evaluation
SOURCES: lib/piv.c
LAST MODIFICATION DATE:
Definition in file gpiv-piv.h.
#define __LIBGPIV_PIVL_H__ |
Definition at line 56 of file gpiv-piv.h.
#define CMPR_FACT 2 |
Image compression factor for speeding up the evaluation.
Definition at line 79 of file gpiv-piv.h.
#define GPIV_CUM_RESIDU_MIN 0.25 |
minimum cumulative residu for convergence
Definition at line 70 of file gpiv-piv.h.
#define GPIV_DEFORMED_IMG_NAME "gpiv_defimg" |
Deformed image to be stored in TMP_DIR.
Definition at line 75 of file gpiv-piv.h.
#define GPIV_DIFF_ISI 0 |
difference between interrogation sizes of first and second image if zero offset has been used
Definition at line 65 of file gpiv-piv.h.
#define GPIV_LOGFILE "gpiv.log" |
Log file to be stored in TMP_DIR.
Definition at line 76 of file gpiv-piv.h.
#define GPIV_MAX_PIV_SWEEP 10 |
maximum number of PIV evaluation sweeps, starting from zero
Definition at line 71 of file gpiv-piv.h.
#define GPIV_SHIFT_FACTOR 3 |
For initial grid, apply int_shift = int_size_i / GPIV_SHIFT_FACTOR.
Definition at line 82 of file gpiv-piv.h.
#define GPIV_SNR_DISABLE 88.0 |
snr value for manually disabled estimator
Definition at line 74 of file gpiv-piv.h.
#define GPIV_ZEROPAD_FACT 2 |
magnification factor of zero-padded int. area
Definition at line 64 of file gpiv-piv.h.
typedef struct __GpivCovariance GpivCov |
Definition at line 112 of file gpiv-piv.h.
enum GpivIFit |
Type of sub-pixel estimation.
Enumerator | |
---|---|
GPIV_NONE | No fitting. |
GPIV_GAUSS | Gauss fitting. |
GPIV_POWER | Power fitting. |
GPIV_GRAVITY | Plain gravity fitting. |
Definition at line 91 of file gpiv-piv.h.
enum GpivIntGeo |
Interrogation geometry.
Enumerator | |
---|---|
GPIV_AOI | Area of interst. |
GPIV_LINE_C | Along column line. |
GPIV_LINE_R | Along row line. |
GPIV_POINT | At single point. |
Definition at line 103 of file gpiv-piv.h.
void gpiv_fread_fftw_wisdom | ( | const gint | dir | ) |
Reads fftw wisdoms from file and stores into a (public) string.
[in] | dir | direction of fft; forward (+1) or inverse (-1) |
void gpiv_fwrite_fftw_wisdom | ( | const gint | dir | ) |
Writes fftw wisdoms to a file.
[in] | dir | direction of fft; forward (+1) or inverse (-1) |
gchar* gpiv_piv_count_pivdata_fromimage | ( | const GpivImagePar * | image_par, |
const GpivPivPar * | piv_par, | ||
guint * | nx, | ||
guint * | ny | ||
) |
Calculates the number of interrogation areas from the image sizes, pre-shift and area of interest.
[in] | image_par | structure of image parameters |
[in] | piv_par | structure of piv evaluation parameters |
[out] | nx | number of columns (second array index) |
[out] | ny | number of rows (first array index) |
gchar* gpiv_piv_dxdy_at_new_grid | ( | const GpivPivData * | piv_data_src, |
GpivPivData * | piv_data_dest | ||
) |
Calculates dx, dy of piv_data_dest from piv_data_src by bi-linear interpolation of inner points with shifted knots or extrapolation of outer lying points.
[in] | piv_data_src | input piv data |
[out] | piv_data_dest | output piv data |
GpivPivData* gpiv_piv_gridadapt | ( | const GpivImagePar * | image_par, |
const GpivPivPar * | piv_par_src, | ||
GpivPivPar * | piv_par_dest, | ||
const GpivPivData * | piv_data, | ||
const guint | sweep, | ||
gboolean * | grid_last | ||
) |
Adjust grid nodes if zero_off or adaptive interrogation area has been used.
This is performed by modifying int_shift equal to int_shift / GPIV_SHIFT_FACTOR, until it reaches (src) int_shift. Then, grid_last is set TRUE, which will avoid changing the interrogation shift in next calls and signal the (while loop in) the calling function.
[in] | image_par | image parameters |
[in] | piv_par_src | piv evaluation parameters |
[in] | piv_data | input PIV data |
[in] | sweep | interrogation sweep step |
[out] | piv_par_dest | modified piv evaluation parameters |
[out] | grid_last | flag if final grid refinement has been |
GpivPivData* gpiv_piv_gridgen | ( | const guint | nx, |
const guint | ny, | ||
const GpivImagePar * | image_par, | ||
const GpivPivPar * | piv_par | ||
) |
Generates grid by Calculating the positions of interrogation areas.
[in] | nx | number of horizontal grid points |
[in] | ny | number of vertical grid points |
[in] | image_par | structure of image parameters |
[in] | piv_par | structure of piv evaluation parameters |
gchar* gpiv_piv_interrogate_ia | ( | const guint | index_y, |
const guint | index_x, | ||
const GpivImage * | image, | ||
const GpivPivPar * | piv_par, | ||
const guint | sweep, | ||
const guint | last_sweep, | ||
gfloat ** | int_area_1, | ||
gfloat ** | int_area_2, | ||
GpivCov * | cov, | ||
GpivPivData * | piv_data | ||
) |
Interrogates a single Interrogation Area.
[in] | index_y | y-index of interrogation area position |
[in] | index_x | x-index of interrogation area position |
[in] | image | structure of image |
[in] | piv_par | structure of piv evaluation parameters |
[in] | sweep | sweep number of iterative process |
[in] | last_sweep | flag for last sweep |
[in] | int_area_1 | first interrogation area |
[in] | int_area_2 | second interrogation area |
[out] | cov | structure containing covariance data |
[out] | piv_data | modified piv data at [index_y][index_x] from interrogation |
GpivPivData* gpiv_piv_interrogate_img | ( | const GpivImage * | image, |
const GpivPivPar * | piv_par, | ||
const GpivValidPar * | valid_par, | ||
const gboolean | verbose | ||
) |
PIV interrogation of an image pair at an entire grid.
[in] | image | image containing data and header info |
[in] | piv_par | image interrogation parameters |
[in] | valid_par | PIV data validation parameters |
[out] | verbose | prints progress of interrogation to stdout |
void gpiv_piv_isizadapt | ( | const GpivPivPar * | piv_par_src, |
GpivPivPar * | piv_par_dest, | ||
gboolean * | isiz_last | ||
) |
Adjusts interrogation area sizes.
For each interrogation sweep, (dest) int_size_i is halved, until it reaches (src) int_size_f. Then, isiz_last is set TRUE, which will avoid changing the interrogation sizes in next calls.
[in] | piv_par_src | original parameters |
[out] | piv_par_dest | actual parameters, to be modified during sweeps |
[out] | isiz_last | flag for last interrogation sweep |
gchar* gpiv_piv_shift_grid | ( | GpivPivData * | piv_data | ) |
Shifts the knots of a 2-dimensional grid containing PIV data for improved (bi-linear) interpolation.
See: T. Blu, P. Thevenaz, "Linear Interpolation Revitalized", IEEE Trans. in Image Processing, vol13, no 5, May 2004
[in] | piv_data | piv data that will be shifted in-place |
gchar* gpiv_piv_write_deformed_image | ( | GpivImage * | image | ) |
Stores deformed image to file system with pre defined name to TMPDIR and prints message to stdout.
[in] | image | image containing header and image data frames |