FpImage: libfprint Reference Manual

## FpImage FpImage — Internal Image handling routines |

## Functions

FpImage * | fp_image_new ()
guint | fp_image_get_width ()
guint | fp_image_get_height ()
gdouble | fp_image_get_ppmm ()
GPtrArray * | fp_image_get_minutiae ()
void | fp_image_detect_minutiae ()
gboolean | fp_image_detect_minutiae_finish ()
const guchar * | fp_image_get_data ()
const guchar * | fp_image_get_binarized ()
void | fp_minutia_get_coords ()

## Properties

guint | height | Read / Write / Construct Only
guint | width | Read / Write / Construct Only

## Types and Values

#define | FP_TYPE_IMAGE
typedef | FpMinutia
| FpImage

## Object Hierarchy

        GObject
        ╰── FpImage

## Description

Some devices will provide the image data corresponding to a print this object allows accessing this data.

## Functions

### fp_image_new ()

    FpImage *
    fp_image_new (gint width,
                  gint height);

### fp_image_get_width ()

    guint
    fp_image_get_width (FpImage *self);

Gets the pixel width of an image.

#### Parameters

self | A FpImage |

#### Returns

the width of the image

### fp_image_get_height ()

    guint
    fp_image_get_height (FpImage *self);

Gets the pixel height of an image.

#### Parameters

self | A FpImage |

#### Returns

the height of the image

### fp_image_get_ppmm ()

    gdouble
    fp_image_get_ppmm (FpImage *self);

Gets the resolution of the image. Note that this is assumed to be fixed to 500 points per inch (~19.685 p/mm) for most drivers.

#### Parameters

self | A FpImage |

#### Returns

the resolution of the image in points per millimeter

### fp_image_get_minutiae ()

    GPtrArray *
    fp_image_get_minutiae (FpImage *self);

Gets the minutiae for an image. This data must not be modified or freed. You need to first detect the minutiae using `fp_image_detect_minutiae()`.

#### Parameters

self | A FpImage |

#### Returns

The detected minutiae.

[transfer none][element-type FpMinutia]

### fp_image_detect_minutiae ()

    void
    fp_image_detect_minutiae (FpImage *self,
                              GCancellable *cancellable,
                              GAsyncReadyCallback callback,
                              gpointer user_data);

Detects the minutiae found in an image.

#### Parameters

self | A FpImage |
cancellable | a GCancellable, or `NULL` |
callback | the function to call on completion |
user_data | the data to pass to `callback` |

### fp_image_detect_minutiae_finish ()

    gboolean
    fp_image_detect_minutiae_finish (FpImage *self,
                                     GAsyncResult *result,
                                     GError **error);

Finish minutiae detection in an image

#### Parameters

self | A FpImage |
result | A GAsyncResult |
error | Return location for errors, or `NULL` to ignore |

#### Returns

`TRUE` on success

### fp_image_get_data ()

    const guchar *
    fp_image_get_data (FpImage *self,
                       gsize *len);

Gets the greyscale data for an image. This data must not be modified or freed.

#### Parameters

self | A FpImage |
len | Return location for length or `NULL`. | [out][optional]

#### Returns

The image data.

[transfer none][array length=len]

### fp_image_get_binarized ()

    const guchar *
    fp_image_get_binarized (FpImage *self,
                            gsize *len);

Gets the binarized data for an image. This data must not be modified or freed. You need to first detect the minutiae using `fp_image_detect_minutiae()`.

#### Parameters

self | A FpImage |
len | Return location for length or `NULL`. | [out][optional]

#### Returns

The binarized image data.

[transfer none][array length=len]

### fp_minutia_get_coords ()

    void
    fp_minutia_get_coords (FpMinutia *min,
                           gint *x,
                           gint *y);

Returns the coordinates of the found minutia. This is only useful for debugging purposes and the API is not considered stable for production.

#### Parameters

min | A FpMinutia |
x | x position in image. | [out]
y | y position in image. | [out]

## Types and Values

### FP_TYPE_IMAGE

    #define FP_TYPE_IMAGE (fp_image_get_type ())

### FpMinutia

    typedef struct fp_minutia FpMinutia;

### FpImage

    typedef struct {
      guint         width;
      guint         height;

      gdouble       ppmm;

      FpiImageFlags flags;
    } FpImage;

Structure holding an image. The public fields are only public for internal use by the drivers.

#### Members

guint `width`; | Width of the image |
guint `height`; | Height of the image |
gdouble `ppmm`; | Pixels per millimeter |
FpiImageFlags `flags`; | FpiImageFlags for required normalization |

## Property Details

### The `“height”` property

      “height”                   guint

The height of the image.

Owner: FpImage

Flags: Read / Write / Construct Only

Allowed values: <= 65535

Default value: 0

### The `“width”` property

      “width”                    guint

The width of the image.

Owner: FpImage

Flags: Read / Write / Construct Only

Allowed values: <= 65535

Default value: 0