# `Image.Kernel`
[🔗](https://github.com/elixir-image/image/blob/v0.65.0/lib/image/enum/kernel.ex#L1)

Defines the known resampling kernels to which
an image can be converted to and from.

# `t`

```elixir
@type t() :: :lanczos2 | :mitchell | :cubic | :linear | :lanczos3 | :nearest
```

Defines the known kernel resampling methods.

# `known_kernel`

Returns the known colorspace interpretations

# `validate_kernel`

Normalizes and validates a resampling kernel.

### Arguments

* `kernel` is any atom or string value
  in `Image.Kernel.known_kernel/0`.

### Returns

* `{:error, normalized_kernel}` or

* `{:error, reason}`

### Examples

    iex> Image.Kernel.validate_kernel(:linear)
    {:ok, :VIPS_KERNEL_LINEAR}

    iex> Image.Kernel.validate_kernel(:VIPS_KERNEL_CUBIC)
    {:ok, :VIPS_KERNEL_CUBIC}

    iex> Image.Kernel.validate_kernel(:unknown)
    {:error, %Image.Error{message: "Unknown kernel. Found :unknown", reason: "Unknown kernel. Found :unknown"}}

---

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