Image.Options.Affine (image v0.71.0)

Copy Markdown View Source

Options and option validation for Image.affine/3.

These options are shared by the affine family of transformations: Image.affine/3, Image.translate/4 and Image.shear/4.

Summary

Types

The options applicable to an affine transformation.

The interpolators that may be selected with the :interpolate option (descriptions from vips -l interpolate)

Types

affine_options()

@type affine_options() :: [
  idx: number(),
  idy: number(),
  odx: number(),
  ody: number(),
  interpolate: interpolate(),
  background: Image.Pixel.t() | :average,
  output_area: [integer()],
  extend_mode: Image.ExtendMode.t()
]

The options applicable to an affine transformation.

interpolate()

@type interpolate() :: :nearest | :bilinear | :bicubic | :lbb | :nohalo | :vsqbs

The interpolators that may be selected with the :interpolate option (descriptions from vips -l interpolate):

  • :nearest - nearest-neighbour interpolation
  • :bilinear (default) - bilinear interpolation
  • :bicubic - bicubic interpolation (Catmull-Rom)
  • :lbb - reduced halo bicubic
  • :nohalo - edge sharpening resampler with halo reduction
  • :vsqbs - B-Splines with antialiasing smoothing

Functions

validate_options(image, options)

@spec validate_options(Vix.Vips.Image.t(), Keyword.t()) ::
  {:ok, Keyword.t()} | {:error, Image.error()}

Validate the options for Image.affine/3.

The image is required to resolve the :background option into a pixel matching the image's bands and color space.

See Image.Options.Affine.affine_options/0.