# image v0.67.0 - Table of Contents

An approachable image processing library primarily based upon Vix and libvips that
is NIF-based, fast, multi-threaded, pipelined and has a low memory
footprint.

## Guides

- [Image](readme.md)
- [Thumbnailing](thumbnailing.md)
- [Performance](performance.md)
- [Replacing Image.Color with the Color library](color_migration.md)
- [Edge Masking](image_edge_masking.md)
- [Color Clustering and Dominant Colors](color_clustering.md)
- [License](license.md)
- [Changelog](changelog.md)

## Modules

- [ForDialyzer](ForDialyzer.md)
- [Image](Image.md): `Image` is based upon the fabulous
[vix](https://hex.pm/packages/vix) library that provides a [libvips](https://www.libvips.org)
wrapper for Elixir.
- [Image.Blurhash](Image.Blurhash.md): BlurHash is an algorithm developed by [Wolt](https://github.com/woltapp)
that allows encoding of an image into a compact string representation
called a blurhash. This string can then be decoded back into
an image, providing a low-resolution placeholder that can be
displayed quickly while the actual image is being loaded.
- [Image.Color](Image.Color.md): Vectorised colour-space conversions for `Nx` tensors of pixel
rows.
- [Image.Draw](Image.Draw.md): Functions to draw directly on a mutable image.
- [Image.Histogram](Image.Histogram.md): A histogram is a graphical representation of the tonal
distribution in a digital image. It plots the number
of pixels for each tonal value. By looking at the histogram
for a specific image a viewer will be able to judge the
entire tonal distribution at a glance.
- [Image.Math](Image.Math.md): Implements math operators for images,
delegating to the `Kernel` functions in the
cases where the parameters do not include
`t:Vix.Vips.Image.t/0`.
- [Image.Palette](Image.Palette.md): Extracts a small representative colour palette from an image.
- [Image.Scholar](Image.Scholar.md)
- [Image.Shape](Image.Shape.md): Functions to render a shape as an image.
- [Image.Social](Image.Social.md): Functions to introspect standard image sizes for
various social media platforms.
- [Image.Text](Image.Text.md): Functions for the creation of images from text.
- [Image.Video](Image.Video.md): Functions to extract frames from a video file or device as
images using [Xav](https://hex.pm/packages/xav), an Elixir
wrapper around FFmpeg.
- [Image.YUV](Image.YUV.md): Functions to convert from/to YUV (YCbCr) encoding and BT.601/BT.709
colorspaces and sRGB images.

- Errors
  - [Image.Error](Image.Error.md): The structured exception raised by `Image.*!/_arity` functions and
returned in the error half of every `{:ok, _} | {:error, _}` tuple
in the library.

- Pixels
  - [Image.ICCProfile](Image.ICCProfile.md): Helpers for the ICC color profiles known to libvips.
  - [Image.Pixel](Image.Pixel.md): Bridges the [`Color`](https://hexdocs.pm/color) library and libvips
pixel arguments.

- Exif
  - [Image.Exif](Image.Exif.md): Functions to extract and interpret image EXIF
data.

- Xmp
  - [Image.Xmp](Image.Xmp.md): Functions to extract and interpret image XMP
data.

- Kino
  - [Image.Kino](Image.Kino.md): Helper functions to simplify rendering images in Kino.

- Options
  - [Image.Options.Avatar](Image.Options.Avatar.md): Options and option validation for `Image.avatar/2`.
  - [Image.Options.Blur](Image.Options.Blur.md): Options and option validation for `Image.blur/2`.
  - [Image.Options.Blurhash](Image.Options.Blurhash.md): Options and option validation for `Image.Blurhash.encode/2`.
  - [Image.Options.ChromaKey](Image.Options.ChromaKey.md): Options and option validation for `Image.chroma_key/2`.
  - [Image.Options.Compare](Image.Options.Compare.md): Options and option validation for `Image.compare/3`.
  - [Image.Options.Compose](Image.Options.Compose.md): This module processes the options for
`Image.compose/3`.
  - [Image.Options.Crop](Image.Options.Crop.md): Options and option validation for `Image.crop/5`.
  - [Image.Options.Draw](Image.Options.Draw.md): Options and options validation for the
drawing functionss.
  - [Image.Options.Embed](Image.Options.Embed.md): Options and option validation for `Image.embed/4`.
  - [Image.Options.Equalize](Image.Options.Equalize.md): Options and option validation for `Image.equalize/2`.
  - [Image.Options.Histogram](Image.Options.Histogram.md): Options and option validation for `Image.Histogram.as_svg/2`.
  - [Image.Options.Join](Image.Options.Join.md): Options and option validation for `Image.join/2`.
  - [Image.Options.LinearGradient](Image.Options.LinearGradient.md): Options and option validation for `Image.linear_gradient/2`.
  - [Image.Options.LocalContrast](Image.Options.LocalContrast.md): Options and option validation for `Image.local_contrast/2`.
  - [Image.Options.Meme](Image.Options.Meme.md): Options and option validation for `Image.meme/2`.
  - [Image.Options.Modulate](Image.Options.Modulate.md): Options and option validation for `Image.modulate/2`.
  - [Image.Options.New](Image.Options.New.md): Options for new images.
  - [Image.Options.Open](Image.Options.Open.md): Options and option validation for `Image.open/2`.
  - [Image.Options.RadialGradient](Image.Options.RadialGradient.md): Options and option validation for `Image.radial_gradient/3`.
  - [Image.Options.Resize](Image.Options.Resize.md): Options and option validation for `Image.resize/3`.
  - [Image.Options.Rotate](Image.Options.Rotate.md): Options and option validation for `Image.rotate/3`.
  - [Image.Options.Sharpen](Image.Options.Sharpen.md): Options and option validation for `Image.sharpen/2`.
  - [Image.Options.Text](Image.Options.Text.md): Options for text drawing.
  - [Image.Options.Thumbnail](Image.Options.Thumbnail.md): Options and option validation for `Image.thumbnail/3`.
  - [Image.Options.ToneCurve](Image.Options.ToneCurve.md): Options and option validation for `Image.apply_tone_curve/2`.
  - [Image.Options.Trim](Image.Options.Trim.md): Options and option validation for `Image.trim/2`.
  - [Image.Options.Vibrance](Image.Options.Vibrance.md): Options and option validation for `Image.vibrance/2`.
  - [Image.Options.Vignette](Image.Options.Vignette.md): Options and option validation for `Image.vignette/2`.
  - [Image.Options.WarpPerspective](Image.Options.WarpPerspective.md): Options and option validation for `Image.warp_perspective/4`.
  - [Image.Options.Write](Image.Options.Write.md): Options and option validation for `Image.write/3`.

- Enums
  - [Image.BandFormat](Image.BandFormat.md): Functions to define and validate the band
formats of an image.
  - [Image.BlendMode](Image.BlendMode.md): Functions to define and validate the blending
modes that can be applied when composing images.
  - [Image.CombineMode](Image.CombineMode.md): Functions to define and validate the combine
modes that can be applied when composing images.
  - [Image.ExtendMode](Image.ExtendMode.md): Defines the known modes by which an image
can be extended.
  - [Image.Interpretation](Image.Interpretation.md): Defines the known color interpretations to which
an image can be converted to and from.
  - [Image.Kernel](Image.Kernel.md): Defines the known resampling kernels to which
an image can be converted to and from.

