#include <gpiv/gpiv-piv_par.h>
#include <gpiv/gpiv-valid_par.h>
Go to the source code of this file.
Data Structures | |
struct | __GpivCovariance |
Covariance data. More... | |
Defines | |
#define | __LIBGPIV_PIVL_H__ |
#define | GPIV_ZEROPAD_FACT 2 |
#define | GPIV_DIFF_ISI 0 |
#define | GPIV_CUM_RESIDU_MIN 0.25 |
#define | GPIV_MAX_PIV_SWEEP 10 |
#define | GPIV_SNR_DISABLE 88.0 |
#define | GPIV_DEFORMED_IMG_NAME "gpiv_defimg" |
#define | GPIV_LOGFILE "gpiv.log" |
#define | CMPR_FACT 2 |
#define | GPIV_SHIFT_FACTOR 3 |
Typedefs | |
typedef __GpivCovariance | GpivCov |
Enumerations | |
enum | GpivIFit { GPIV_NONE = 0, GPIV_GAUSS = 1, GPIV_POWER = 2, GPIV_GRAVITY = 3 } |
enum | GpivIntGeo { GPIV_AOI = 0, GPIV_LINE_C = 1, GPIV_LINE_R = 2, GPIV_POINT = 3 } |
Functions | |
gchar * | gpiv_piv_count_pivdata_fromimage (const GpivImagePar *image_par, const GpivPivPar *piv_par, guint *nx, guint *ny) |
GpivPivData * | gpiv_piv_interrogate_img (const GpivImage *image, const GpivPivPar *piv_par, const GpivValidPar *valid_par, const gboolean verbose) |
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) |
void | gpiv_piv_isizadapt (const GpivPivPar *piv_par_src, GpivPivPar *piv_par_dest, gboolean *isiz_last) |
gchar * | gpiv_piv_write_deformed_image (GpivImage *image) |
void | gpiv_fread_fftw_wisdom (const gint dir) |
void | gpiv_fwrite_fftw_wisdom (const gint dir) |
gchar * | gpiv_piv_dxdy_at_new_grid (const GpivPivData *piv_data_src, GpivPivData *piv_data_dest) |
gchar * | gpiv_piv_shift_grid (GpivPivData *piv_data) |
GpivPivData * | gpiv_piv_gridgen (const guint nx, const guint ny, const GpivImagePar *image_par, const GpivPivPar *piv_par) |
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) |
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 76 of file gpiv-piv.h.
#define GPIV_CUM_RESIDU_MIN 0.25 |
minimum cumulative residu for convergence
Definition at line 68 of file gpiv-piv.h.
#define GPIV_DEFORMED_IMG_NAME "gpiv_defimg" |
Deformed image to be stored in TMP_DIR
Definition at line 72 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 73 of file gpiv-piv.h.
#define GPIV_MAX_PIV_SWEEP 10 |
maximum number of PIV evaluation sweeps, starting from zero
Definition at line 69 of file gpiv-piv.h.
#define GPIV_SHIFT_FACTOR 3 |
For initial grid, apply int_shift = int_size_2 / GPIV_SHIFT_FACTOR
Definition at line 78 of file gpiv-piv.h.
#define GPIV_SNR_DISABLE 88.0 |
snr value for manually disabled estimator
Definition at line 71 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 107 of file gpiv-piv.h.
enum GpivIFit |
Type of sub-pixel estimation
GPIV_NONE | No fitting |
GPIV_GAUSS | Gauss fitting |
GPIV_POWER | Power fitting |
GPIV_GRAVITY | Plain gravity fitting |
Definition at line 86 of file gpiv-piv.h.
enum GpivIntGeo |
Interrogation geometry
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 98 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_size2 is halved, until it reaches (src) int_size_1. 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 |