### Function

# Vips check_matrix

#### Declaration [src]

    int
    vips_check_matrix (
      const char* domain,
      VipsImage* im,
      VipsImage** out
    )

#### Description [src]

Matrix images must have width and height less than 100000 and have 1 band.

Return 0 if the image will pass as a matrix, or -1 and set an error message otherwise.

`out` is set to be `im` cast to double and stored in memory. Use `VIPS_MATRIX()` to address values in `out`.

You must unref `out` when you are done with it.

See also

`VIPS_MATRIX()`.

#### Parameters

`domain`

  Type: `const char*`

  The originating domain for the error message.

  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`im`

  Type: `VipsImage`

  Image to check.

  The data is owned by the caller of the function.

`out`

  Type: `VipsImage`

  Put image as in-memory doubles here.

  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.

#### Return value

Type: `int`

0 if OK, -1 otherwise.