## hough

hough — Hough transform

## Synopsis

    #include <libprocess/gwyprocess.h>

    void                gwy_data_field_hough_line           (GwyDataField *dfield,
                                                             GwyDataField *x_gradient,
                                                             GwyDataField *y_gradient,
                                                             GwyDataField *result,
                                                             gint hwidth,
                                                             gboolean overlapping);
    void                gwy_data_field_hough_circle         (GwyDataField *dfield,
                                                             GwyDataField *x_gradient,
                                                             GwyDataField *y_gradient,
                                                             GwyDataField *result,
                                                             gdouble radius);
    void                gwy_data_field_hough_line_strenghten
                                                            (GwyDataField *dfield,
                                                             GwyDataField *x_gradient,
                                                             GwyDataField *y_gradient,
                                                             gint hwidth,
                                                             gdouble threshold);
    void                gwy_data_field_hough_circle_strenghten
                                                            (GwyDataField *dfield,
                                                             GwyDataField *x_gradient,
                                                             GwyDataField *y_gradient,
                                                             gdouble radius,
                                                             gdouble threshold);
    gint                gwy_data_field_get_local_maxima_list
                                                            (GwyDataField *dfield,
                                                             gdouble *xdata,
                                                             gdouble *ydata,
                                                             gdouble *zdata,
                                                             gint ndata,
                                                             gint skip,
                                                             gdouble threshold,
                                                             gboolean subpixel);
    void                gwy_data_field_hough_polar_line_to_datafield
                                                            (GwyDataField *dfield,
                                                             gdouble rho,
                                                             gdouble theta,
                                                             gint *px1,
                                                             gint *px2,
                                                             gint *py1,
                                                             gint *py2);
    void                gwy_data_field_hough_datafield_line_to_polar
                                                            (gint px1,
                                                             gint px2,
                                                             gint py1,
                                                             gint py2,
                                                             gdouble *rho,
                                                             gdouble *theta);

## Description

## Details

### 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);

`dfield` : |
`x_gradient` : |
`y_gradient` : |
`result` : |
`hwidth` : |
`overlapping` : |

### gwy_data_field_hough_circle ()

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

`dfield` : |
`x_gradient` : |
`y_gradient` : |
`result` : |
`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);

`dfield` : |
`x_gradient` : |
`y_gradient` : |
`hwidth` : |
`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);

`dfield` : |
`x_gradient` : |
`y_gradient` : |
`radius` : |
`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);

`dfield` : |
`xdata` : |
`ydata` : |
`zdata` : |
`ndata` : |
`skip` : |
`threshold` : |
`subpixel` : |
Returns : |

### 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);

`dfield` : |
`rho` : |
`theta` : |
`px1` : |
`px2` : |
`py1` : |
`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);

`px1` : |
`px2` : |
`py1` : |
`py2` : |
`rho` : |
`theta` : |