### Method

# Vips Image compass

#### Declaration [src]

    int
    vips_compass (
      VipsImage* in,
      VipsImage** out,
      VipsImage* mask,
      ...
    )

#### Description [src]

This convolves `in` with `mask` `times` times, rotating `mask` by `angle` each time. By default, it comvolves twice, rotating by 90 degrees, taking the maximum result.

Optional arguments

- `times`: `gint`, how many times to rotate and convolve
- `angle`: `VipsAngle45`, rotate mask by this much between colvolutions
- `combine`: `VipsCombine`, combine results like this
- `precision`: `VipsPrecision`, precision for blur, default float
- `layers`: `gint`, number of layers for approximation
- `cluster`: `gint`, cluster lines closer than this distance

See also

`vips_conv()`.

This method is not directly available to language bindings.

#### Parameters

`out`

  Type: `VipsImage`

  Output image.

  The argument will be set by the function.
  The caller of the method takes ownership of the returned data, and is responsible for freeing it.

`mask`

  Type: `VipsImage`

  Convolve with this mask.

  The data is owned by the caller of the method.

`...`

  Type: ``

  `NULL`-terminated list of optional named arguments.

#### Return value

Type: `int`

0 on success, -1 on error.