Hough transform

Hough transform — Hough transform

Functions

Includes

#include <libgwyddion/gwyddion.h>

Description

Functions

gwy_data_field_hough_line()

void
gwy_data_field_hough_line (GwyDataField *dfield,
                           GwyDataField *x_gradient,
                           GwyDataField *y_gradient,
                           GwyDataField *result,
                           gint hwidth,
                           gboolean overlapping);

gwy_data_field_hough_circle()

void
gwy_data_field_hough_circle (GwyDataField *dfield,
                             GwyDataField *x_gradient,
                             GwyDataField *y_gradient,
                             GwyDataField *result,
                             gdouble radius);

gwy_data_field_hough_line_strenghten()

void
gwy_data_field_hough_line_strenghten (GwyDataField *dfield,
                                      GwyDataField *x_gradient,
                                      GwyDataField *y_gradient,
                                      gint hwidth,
                                      gdouble threshold);

gwy_data_field_hough_circle_strenghten()

void
gwy_data_field_hough_circle_strenghten
                               (GwyDataField *dfield,
                                GwyDataField *x_gradient,
                                GwyDataField *y_gradient,
                                gdouble radius,
                                gdouble threshold);

gwy_data_field_get_local_maxima_list()

gint
gwy_data_field_get_local_maxima_list (GwyDataField *dfield,
                                      gdouble *xdata,
                                      gdouble *ydata,
                                      gdouble *zdata,
                                      gint ndata,
                                      gint skip,
                                      gdouble threshold,
                                      gboolean subpixel);

Locates local maxima in a data field.

At most ndata maxima are located (with the largest values).

Parameters

dfield

A two-dimensional data field.

 

xdata

Array of ndata elements where the columns should be stored.

[array length=ndata]

ydata

Array of ndata elements where the rows should be stored.

[array length=ndata]

zdata

Array of ndata elements where the values should be stored.

[array length=ndata]

ndata

Number of items in xdata , ydata and zdata .

 

skip

Minimum pixel distance between maxima.

 

threshold

Minimum value to be considered a maximum.

 

subpixel

TRUE for subpixel refinement.

 

Returns

The actual number of maxima found.


gwy_data_field_get_local_minima_list()

gint
gwy_data_field_get_local_minima_list (GwyDataField *dfield,
                                      gdouble *xdata,
                                      gdouble *ydata,
                                      gdouble *zdata,
                                      gint ndata,
                                      gint skip,
                                      gdouble threshold,
                                      gboolean subpixel);

Locates local minima in a data field.

At most ndata minima are located (with the smallest values).

Parameters

dfield

A two-dimensional data field.

 

xdata

Array of ndata elements where the columns should be stored.

[array length=ndata]

ydata

Array of ndata elements where the rows should be stored.

[array length=ndata]

zdata

Array of ndata elements where the values should be stored.

[array length=ndata]

ndata

Number of items in xdata , ydata and zdata .

 

skip

Minimum pixel distance between minima.

 

threshold

Maximum value to be considered a minimum.

 

subpixel

TRUE for subpixel refinement.

 

Returns

The actual number of minima found.


gwy_data_field_hough_polar_line_to_datafield()

void
gwy_data_field_hough_polar_line_to_datafield
                               (GwyDataField *dfield,
                                gdouble rho,
                                gdouble theta,
                                gint *px1,
                                gint *px2,
                                gint *py1,
                                gint *py2);

gwy_data_field_hough_datafield_line_to_polar()

void
gwy_data_field_hough_datafield_line_to_polar
                               (gint px1,
                                gint px2,
                                gint py1,
                                gint py2,
                                gdouble *rho,
                                gdouble *theta);