### Method

# Vips Image remosaic

#### Declaration [src]

    int
    vips_remosaic (
      VipsImage* in,
      VipsImage** out,
      const char* old_str,
      const char* new_str,
      ...
    )

#### Description [src]

`vips_remosaic()` works rather as `vips_globalbalance()`. It takes apart the mosaiced image `in` and rebuilds it, substituting images.

Unlike `vips_globalbalance()`, images are substituted based on their filenames. The rightmost occurrence of the string `old_str` is swapped for `new_str`, that file is opened, and that image substituted for the old image.

It’s convenient for multispectral images. You can mosaic one band, then use that mosaic as a template for mosaicing the others automatically.

See also

`vips_globalbalance()`.

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.

`old_str`

  Type: `const char*`

  Gamma of source images.

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

`new_str`

  Type: `const char*`

  Gamma of source images.

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

`...`

  Type: ``

  `NULL`-terminated list of optional named arguments.

#### Return value

Type: `int`

0 on success, -1 on error.