### Constructor

# Vips Image gaussmat

#### Declaration [src]

    int
    vips_gaussmat (
      VipsImage** out,
      double sigma,
      double min_ampl,
      ...
    )

#### Description [src]

Creates a circularly symmetric Gaussian image of radius `sigma`.

The size of the mask is determined by the variable `min_ampl`; if for instance the value .1 is entered this means that the produced mask is clipped at values less than 10 percent of the maximum amplitude.

The program uses the following equation:

    H(r) = exp(-(r * r) / (2 * @sigma * @sigma))

The generated image has odd size and its maximum value is normalised to 1.0, unless `precision` is `VIPS_PRECISION_INTEGER`.

If `separable` is set, only the centre horizontal is generated. This is useful for separable convolutions.

If `precision` is `VIPS_PRECISION_INTEGER`, an integer gaussian is generated. This is useful for integer convolutions.

“scale” is set to the sum of all the mask elements.

Optional arguments

- `separable`: `gboolean`, generate a separable gaussian
- `precision`: `VipsPrecision` for `out`

See also

`vips_logmat()`, `vips_conv()`.

This constructor 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 function takes ownership of the returned data, and is responsible for freeing it.

`sigma`

  Type: `double`

  Standard deviation of mask.

`min_ampl`

  Type: `double`

  Minimum amplitude.

`...`

  Type: ``

  `NULL`-terminated list of optional named arguments.

#### Return value

Type: `int`

0 on success, -1 on error.