![]() |
![]() |
Gwyddion Data Processing Library Reference Manual | ![]() |
|
---|---|---|---|---|
gdouble gwy_data_field_get_correlation_score (GwyDataField *data_field, GwyDataField *kernel_field, gint ulcol, gint ulrow, gint kernel_ulcol, gint kernel_ulrow, gint kernel_brcol, gint kernel_brrow); void gwy_data_field_crosscorrelate (GwyDataField *data_field1, GwyDataField *data_field2, GwyDataField *x_dist, GwyDataField *y_dist, GwyDataField *score, gint search_width, gint search_height, gint window_width, gint window_height); void gwy_data_field_crosscorrelate_iteration (GwyDataField *data_field1, GwyDataField *data_field2, GwyDataField *x_dist, GwyDataField *y_dist, GwyDataField *score, gint search_width, gint search_height, gint window_width, gint window_height, GwyComputationStateType *state, gint *iteration); void gwy_data_field_correlate (GwyDataField *data_field, GwyDataField *kernel_field, GwyDataField *score); void gwy_data_field_correlate_iteration (GwyDataField *data_field, GwyDataField *kernel_field, GwyDataField *score, GwyComputationStateType *state, gint *iteration);
gdouble gwy_data_field_get_correlation_score (GwyDataField *data_field, GwyDataField *kernel_field, gint ulcol, gint ulrow, gint kernel_ulcol, gint kernel_ulrow, gint kernel_brcol, gint kernel_brrow);
Computes single correlation score.
Correlation window size is given
by kernel_ulcol
, kernel_ulrow
, kernel_brcol
, kernel_brrow
,
postion of the correlation window on data is given by
ulcol
, ulrow
.
If anything fails (data too close to boundary, etc.), function returns -1 (none correlation).
data_field : |
A data field. |
kernel_field : |
Kernel to correlate data field with. |
ulcol : |
Upper-left column position in the data field. |
ulrow : |
Upper-left row position in the data field. |
kernel_ulcol : |
Upper-left column position in kernel field. |
kernel_ulrow : |
Upper-left row position in kernel field. |
kernel_brcol : |
Bottom-right column position in kernel field. |
kernel_brrow : |
Bottom-right row position in kernel field. |
Returns : | Correlation score (between -1 and 1). Number 1 denotes maximum correlation, -1 none correlation. |
Since 1.2
void gwy_data_field_crosscorrelate (GwyDataField *data_field1, GwyDataField *data_field2, GwyDataField *x_dist, GwyDataField *y_dist, GwyDataField *score, gint search_width, gint search_height, gint window_width, gint window_height);
Algorithm for matching two different images of the same object under changes.
It does not use any special features
for matching. It simply searches for all points (with their neighbourhood)
of data_field1
within data_field2
. Parameters search_width
and
search_height
determine maimum area where to search for points. The area is cenetered
in the data_field2
at former position of points at data_field1
.
data_field1 : |
A data field. |
data_field2 : |
A data field. |
x_dist : |
A data field to store x-distances to. |
y_dist : |
A data field to store y-distances to. |
score : |
Data field to store correlation scores to. |
search_width : |
Search area width. |
search_height : |
Search area height. |
window_width : |
Correlation window width. |
window_height : |
Correlation window height. |
Since 1.2
void gwy_data_field_crosscorrelate_iteration (GwyDataField *data_field1, GwyDataField *data_field2, GwyDataField *x_dist, GwyDataField *y_dist, GwyDataField *score, gint search_width, gint search_height, gint window_width, gint window_height, GwyComputationStateType *state, gint *iteration);
Algorithm for matching two different images of the same object under changes.
It does not use any special features
for matching. It simply searches for all points (with their neighbourhood)
of data_field1
within data_field2
. Parameters search_width
and
search_height
determine maimum area where to search for points. The area is cenetered
in the data_field2
at former position of points at data_field1
.
data_field1 : |
A data field. |
data_field2 : |
A data field. |
x_dist : |
A data field to store x-distances to. |
y_dist : |
A data field to store y-distances to. |
score : |
Data field to store correlation scores to. |
search_width : |
Search area width. |
search_height : |
Search area height. |
window_width : |
Correlation window width. |
window_height : |
Correlation window height. |
state : |
State of iteration. It is updated to new state. |
iteration : |
Iteration of computation loop (within GWY_COMP_ITERATE state). |
Since 1.2.
void gwy_data_field_correlate (GwyDataField *data_field, GwyDataField *kernel_field, GwyDataField *score);
Computes correlation score for all positions in a data field.
Correlation score is compute for all points in data field data_field
and full size of correlation kernel kernel_field
.
data_field : |
A data field. |
kernel_field : |
Correlation kernel. |
score : |
Data field to store correlation scores to. |
Since 1.2
void gwy_data_field_correlate_iteration (GwyDataField *data_field, GwyDataField *kernel_field, GwyDataField *score, GwyComputationStateType *state, gint *iteration);
Performs one iteration of correlation.
data_field : |
A data field. |
kernel_field : |
Kernel to correlate data field with. |
score : |
Data field to store correlation scores to. |
state : |
State of iteration. It is updated to new state. |
iteration : |
Actual iteration row coordinate. |
Since 1.2