# `Vix.Vips.Interpolate`
[🔗](https://github.com/akash-akya/vix/blob/v0.38.0/lib/vix/vips/interpolate.ex#L1)

Make interpolators for operators like `affine` and `mapim`.

# `t`
[🔗](https://github.com/akash-akya/vix/blob/v0.38.0/lib/vix/vips/interpolate.ex#L20)

```elixir
@type t() :: %Vix.Vips.Interpolate{ref: reference()}
```

Represents an instance of VipsInterpolate

# `new`
[🔗](https://github.com/akash-akya/vix/blob/v0.38.0/lib/vix/vips/interpolate.ex#L64)

```elixir
@spec new(String.t()) :: {:ok, t()} | {:error, term()}
```

Make a new interpolator by name.

Make a new interpolator from the libvips class nickname. For example:

```elixir
{:ok, interpolate} = Interpolate.new("bilindear")
```

You can get a list of all supported interpolators from the command-line with:

```shell
$ vips -l interpolate
```

See for example `affine`.

# `new!`
[🔗](https://github.com/akash-akya/vix/blob/v0.38.0/lib/vix/vips/interpolate.ex#L91)

```elixir
@spec new!(String.t()) :: t()
```

Make a new interpolator by name.

Make a new interpolator from the libvips class nickname. For example:

```elixir
interpolate = Interpolate.new!("bilindear")
```

You can get a list of all supported interpolators from the command-line with:

```shell
$ vips -l interpolate
```

See for example `affine`.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
