<?xml version="1.0"?>
<!-- vim: set ts=2 sw=2 expandtab: --> 
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
               "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
]>
<refentry id="func-list">
  <refmeta>
    <refentrytitle>VIPS function list</refentrytitle>
    <manvolnum>3</manvolnum>
    <refmiscinfo>VIPS Library</refmiscinfo>
  </refmeta>

  <refnamediv>
    <refname>Using VIPS</refname>
    <refpurpose>List of VIPS functions and operators</refpurpose>
  </refnamediv>

  <refsect3 id="function-list">
    <title>Function list</title>
    <para>
      VIPS has a set of operators each of which computes some useful image 
      processing operation. Each operator is 
      implemented as a %GObject class, for example <code>VipsGamma</code>. 
      Classes are identified by their unique <code>nickname</code>, in this 
      case <code>gamma</code>. 

      From the command-line, C++ and most language bindings, you use the 
      nickname to call the operator. For example in C++:

<programlisting language="C++">
  vips::VImage fred = ...;
  vips::VImage jim = fred.gamma();
</programlisting>

      or Python:

<programlisting language="Python">
  fred = jim.gamma()
</programlisting>

      VIPS has a set of C wrapper functions for calling operators, in this 
      case vips_gamma():

<programlisting language="C">
  VipsImage *fred = ...;
  VipsImage *jim;

  if (vips_gamma(fred, &amp;jim, NULL))
    ...error; 
</programlisting>

      Some operators have many C convenience functions.
    </para>

    <para>
      This table lists all the VIPS operators with their C convenience 
      functions and a short description. It's supposed to be useful for 
      searching. See the API docs each function links to for more details.
    </para>

    <para>
      <table>
        <title>VIPS functions and operators</title>
        <tgroup cols='3' align='left' colsep='1' rowsep='1'>
          <thead>
            <row>
              <entry>Operator</entry>
              <entry>Description</entry>
              <entry>C functions</entry>
            </row>
          </thead>
          <tbody>

<row>
  <entry>CMC2LCh</entry>
  <entry>Transform lch to cmc</entry>
  <entry>vips_CMC2LCh()</entry>
</row>
<row>
  <entry>CMYK2XYZ</entry>
  <entry>Transform cmyk to xyz</entry>
  <entry>vips_CMYK2XYZ()</entry>
</row>
<row>
  <entry>HSV2sRGB</entry>
  <entry>Transform hsv to srgb</entry>
  <entry>vips_HSV2sRGB()</entry>
</row>
<row>
  <entry>LCh2CMC</entry>
  <entry>Transform lch to cmc</entry>
  <entry>vips_LCh2CMC()</entry>
</row>
<row>
  <entry>LCh2Lab</entry>
  <entry>Transform lch to lab</entry>
  <entry>vips_LCh2Lab()</entry>
</row>
<row>
  <entry>Lab2LCh</entry>
  <entry>Transform lab to lch</entry>
  <entry>vips_Lab2LCh()</entry>
</row>
<row>
  <entry>Lab2LabQ</entry>
  <entry>Transform float lab to labq coding</entry>
  <entry>vips_Lab2LabQ()</entry>
</row>
<row>
  <entry>Lab2LabS</entry>
  <entry>Transform float lab to signed short</entry>
  <entry>vips_Lab2LabS()</entry>
</row>
<row>
  <entry>Lab2XYZ</entry>
  <entry>Transform cielab to xyz</entry>
  <entry>vips_Lab2XYZ()</entry>
</row>
<row>
  <entry>LabQ2Lab</entry>
  <entry>Unpack a labq image to float lab</entry>
  <entry>vips_LabQ2Lab()</entry>
</row>
<row>
  <entry>LabQ2LabS</entry>
  <entry>Unpack a labq image to short lab</entry>
  <entry>vips_LabQ2LabS()</entry>
</row>
<row>
  <entry>LabQ2sRGB</entry>
  <entry>Convert a labq image to srgb</entry>
  <entry>vips_LabQ2sRGB()</entry>
</row>
<row>
  <entry>LabS2Lab</entry>
  <entry>Transform signed short lab to float</entry>
  <entry>vips_LabS2Lab()</entry>
</row>
<row>
  <entry>LabS2LabQ</entry>
  <entry>Transform short lab to labq coding</entry>
  <entry>vips_LabS2LabQ()</entry>
</row>
<row>
  <entry>XYZ2CMYK</entry>
  <entry>Transform xyz to cmyk</entry>
  <entry>vips_XYZ2CMYK()</entry>
</row>
<row>
  <entry>XYZ2Lab</entry>
  <entry>Transform xyz to lab</entry>
  <entry>vips_XYZ2Lab()</entry>
</row>
<row>
  <entry>XYZ2Yxy</entry>
  <entry>Transform xyz to yxy</entry>
  <entry>vips_XYZ2Yxy()</entry>
</row>
<row>
  <entry>XYZ2scRGB</entry>
  <entry>Transform xyz to scrgb</entry>
  <entry>vips_XYZ2scRGB()</entry>
</row>
<row>
  <entry>Yxy2XYZ</entry>
  <entry>Transform yxy to xyz</entry>
  <entry>vips_Yxy2XYZ()</entry>
</row>
<row>
  <entry>abs</entry>
  <entry>Absolute value of an image</entry>
  <entry>vips_abs()</entry>
</row>
<row>
  <entry>add</entry>
  <entry>Add two images</entry>
  <entry>vips_add()</entry>
</row>
<row>
  <entry>affine</entry>
  <entry>Affine transform of an image</entry>
  <entry>vips_affine()</entry>
</row>
<row>
  <entry>analyzeload</entry>
  <entry>Load an analyze6 image</entry>
  <entry>vips_analyzeload()</entry>
</row>
<row>
  <entry>arrayjoin</entry>
  <entry>Join an array of images</entry>
  <entry>vips_arrayjoin()</entry>
</row>
<row>
  <entry>autorot</entry>
  <entry>Autorotate image by exif tag</entry>
  <entry>vips_autorot()</entry>
</row>
<row>
  <entry>avg</entry>
  <entry>Find image average</entry>
  <entry>vips_avg()</entry>
</row>
<row>
  <entry>bandbool</entry>
  <entry>Boolean operation across image bands</entry>
  <entry>vips_bandbool(), vips_bandand(), vips_bandor(), vips_bandeor(), vips_bandmean()</entry>
</row>
<row>
  <entry>bandfold</entry>
  <entry>Fold up x axis into bands</entry>
  <entry>vips_bandfold()</entry>
</row>
<row>
  <entry>bandjoin</entry>
  <entry>Bandwise join a set of images</entry>
  <entry>vips_bandjoin(), vips_bandjoin2()</entry>
</row>
<row>
  <entry>bandjoin_const</entry>
  <entry>Append a constant band to an image</entry>
  <entry>vips_bandjoin_const(), vips_bandjoin_const1()</entry>
</row>
<row>
  <entry>bandmean</entry>
  <entry>Band-wise average</entry>
  <entry>vips_bandmean()</entry>
</row>
<row>
  <entry>bandrank</entry>
  <entry>Band-wise rank of a set of images</entry>
  <entry>vips_bandrank()</entry>
</row>
<row>
  <entry>bandunfold</entry>
  <entry>Unfold image bands into x axis</entry>
  <entry>vips_bandunfold()</entry>
</row>
<row>
  <entry>black</entry>
  <entry>Make a black image</entry>
  <entry>vips_black()</entry>
</row>
<row>
  <entry>boolean</entry>
  <entry>Boolean operation on two images</entry>
  <entry>vips_boolean(), vips_andimage(), vips_orimage(), vips_eorimage(), vips_lshift(), vips_rshift()</entry>
</row>
<row>
  <entry>boolean_const</entry>
  <entry>Boolean operations against a constant</entry>
  <entry>vips_boolean_const(), vips_andimage_const(), vips_orimage_const(), vips_eorimage_const(), vips_lshift_const(), vips_rshift_const(), vips_boolean_const1(), vips_andimage_const1(), vips_orimage_const1(), vips_eorimage_const1(), vips_lshift_const1(), vips_rshift_const1()</entry>
</row>
<row>
  <entry>buildlut</entry>
  <entry>Build a look-up table</entry>
  <entry>vips_buildlut()</entry>
</row>
<row>
  <entry>byteswap</entry>
  <entry>Byteswap an image</entry>
  <entry>vips_byteswap()</entry>
</row>
<row>
  <entry>cache</entry>
  <entry>Cache an image</entry>
  <entry>vips_cache()</entry>
</row>
<row>
  <entry>canny</entry>
  <entry>Canny edge detector</entry>
  <entry>vips_canny()</entry>
</row>
<row>
  <entry>case</entry>
  <entry>Use pixel values to pick cases from an array of images</entry>
  <entry>vips_case()</entry>
</row>
<row>
  <entry>cast</entry>
  <entry>Cast an image</entry>
  <entry>vips_cast(), vips_cast_uchar(), vips_cast_char(), vips_cast_ushort(), vips_cast_shortcast_uint(), vips_cast_int(), vips_cast_float(), vips_cast_double(), vips_cast_complex(), vips_cast_dpcomplex()</entry>
</row>
<row>
  <entry>colourspace</entry>
  <entry>Convert to a new colorspace</entry>
  <entry>vips_colourspace()</entry>
</row>
<row>
  <entry>compass</entry>
  <entry>Convolve with rotating mask</entry>
  <entry>vips_compass()</entry>
</row>
<row>
  <entry>complex</entry>
  <entry>Perform a complex operation on an image</entry>
  <entry>vips_complex(), vips_polar(), vips_rect(), vips_conj()</entry>
</row>
<row>
  <entry>complex2</entry>
  <entry>Complex binary operations on two images</entry>
  <entry>vips_complex2(), vips_cross_phase()</entry>
</row>
<row>
  <entry>complexform</entry>
  <entry>Form a complex image from two real images</entry>
  <entry>vips_complexform()</entry>
</row>
<row>
  <entry>complexget</entry>
  <entry>Get a component from a complex image</entry>
  <entry>vips_complexget(), vips_real(), vips_imag()</entry>
</row>
<row>
  <entry>composite</entry>
  <entry>Blend an array of images with an array of blend modes</entry>
  <entry>vips_composite()</entry>
</row>
<row>
  <entry>composite2</entry>
  <entry>Blend a pair of images with a blend mode</entry>
  <entry>vips_composite2()</entry>
</row>
<row>
  <entry>conv</entry>
  <entry>Convolution operation</entry>
  <entry>vips_conv()</entry>
</row>
<row>
  <entry>conva</entry>
  <entry>Approximate integer convolution</entry>
  <entry>vips_conva()</entry>
</row>
<row>
  <entry>convasep</entry>
  <entry>Approximate separable integer convolution</entry>
  <entry>vips_convasep()</entry>
</row>
<row>
  <entry>convf</entry>
  <entry>Float convolution operation</entry>
  <entry>vips_convf()</entry>
</row>
<row>
  <entry>convi</entry>
  <entry>Int convolution operation</entry>
  <entry>vips_convi()</entry>
</row>
<row>
  <entry>convsep</entry>
  <entry>Separable convolution operation</entry>
  <entry>vips_convsep()</entry>
</row>
<row>
  <entry>copy</entry>
  <entry>Copy an image</entry>
  <entry>vips_copy()</entry>
</row>
<row>
  <entry>countlines</entry>
  <entry>Count lines in an image</entry>
  <entry>vips_countlines()</entry>
</row>
<row>
  <entry>csvload</entry>
  <entry>Load csv</entry>
  <entry>vips_csvload()</entry>
</row>
<row>
  <entry>csvload_source</entry>
  <entry>Load csv</entry>
  <entry>vips_csvload_source()</entry>
</row>
<row>
  <entry>csvsave</entry>
  <entry>Save image to csv</entry>
  <entry>vips_csvsave()</entry>
</row>
<row>
  <entry>csvsave_target</entry>
  <entry>Save image to csv</entry>
  <entry>vips_csvsave_target()</entry>
</row>
<row>
  <entry>dE00</entry>
  <entry>Calculate de00</entry>
  <entry>vips_dE00()</entry>
</row>
<row>
  <entry>dE76</entry>
  <entry>Calculate de76</entry>
  <entry>vips_dE76()</entry>
</row>
<row>
  <entry>dECMC</entry>
  <entry>Calculate decmc</entry>
  <entry>vips_dECMC()</entry>
</row>
<row>
  <entry>deviate</entry>
  <entry>Find image standard deviation</entry>
  <entry>vips_deviate()</entry>
</row>
<row>
  <entry>divide</entry>
  <entry>Divide two images</entry>
  <entry>vips_divide()</entry>
</row>
<row>
  <entry>draw_circle</entry>
  <entry>Draw a circle on an image</entry>
  <entry>vips_draw_circle(), vips_draw_circle1()</entry>
</row>
<row>
  <entry>draw_flood</entry>
  <entry>Flood-fill an area</entry>
  <entry>vips_draw_flood(), vips_draw_flood1()</entry>
</row>
<row>
  <entry>draw_image</entry>
  <entry>Paint an image into another image</entry>
  <entry>vips_draw_image()</entry>
</row>
<row>
  <entry>draw_line</entry>
  <entry>Draw a line on an image</entry>
  <entry>vips_draw_line(), vips_draw_line1()</entry>
</row>
<row>
  <entry>draw_mask</entry>
  <entry>Draw a mask on an image</entry>
  <entry>vips_draw_mask(), vips_draw_mask1()</entry>
</row>
<row>
  <entry>draw_rect</entry>
  <entry>Paint a rectangle on an image</entry>
  <entry>vips_draw_rect(), vips_draw_rect1(), vips_draw_point(), vips_draw_point1()</entry>
</row>
<row>
  <entry>draw_smudge</entry>
  <entry>Blur a rectangle on an image</entry>
  <entry>vips_draw_smudge()</entry>
</row>
<row>
  <entry>dzsave</entry>
  <entry>Save image to deepzoom file</entry>
  <entry>vips_dzsave()</entry>
</row>
<row>
  <entry>dzsave_buffer</entry>
  <entry>Save image to dz buffer</entry>
  <entry>vips_dzsave_buffer()</entry>
</row>
<row>
  <entry>dzsave_target</entry>
  <entry>Save image to deepzoom target</entry>
  <entry>vips_dzsave_target()</entry>
</row>
<row>
  <entry>embed</entry>
  <entry>Embed an image in a larger image</entry>
  <entry>vips_embed()</entry>
</row>
<row>
  <entry>extract_area</entry>
  <entry>Extract an area from an image</entry>
  <entry>vips_extract_area(), vips_crop()</entry>
</row>
<row>
  <entry>extract_band</entry>
  <entry>Extract band from an image</entry>
  <entry>vips_extract_band()</entry>
</row>
<row>
  <entry>eye</entry>
  <entry>Make an image showing the eye's spatial response</entry>
  <entry>vips_eye()</entry>
</row>
<row>
  <entry>falsecolour</entry>
  <entry>False-color an image</entry>
  <entry>vips_falsecolour()</entry>
</row>
<row>
  <entry>fastcor</entry>
  <entry>Fast correlation</entry>
  <entry>vips_fastcor()</entry>
</row>
<row>
  <entry>fill_nearest</entry>
  <entry>Fill image zeros with nearest non-zero pixel</entry>
  <entry>vips_fill_nearest()</entry>
</row>
<row>
  <entry>find_trim</entry>
  <entry>Search an image for non-edge areas</entry>
  <entry>vips_find_trim()</entry>
</row>
<row>
  <entry>fitsload</entry>
  <entry>Load a fits image</entry>
  <entry>vips_fitsload()</entry>
</row>
<row>
  <entry>fitsload_source</entry>
  <entry>Load fits from a source</entry>
  <entry>vips_fitsload_source()</entry>
</row>
<row>
  <entry>fitssave</entry>
  <entry>Save image to fits file</entry>
  <entry>vips_fitssave()</entry>
</row>
<row>
  <entry>flatten</entry>
  <entry>Flatten alpha out of an image</entry>
  <entry>vips_flatten()</entry>
</row>
<row>
  <entry>flip</entry>
  <entry>Flip an image</entry>
  <entry>vips_flip()</entry>
</row>
<row>
  <entry>float2rad</entry>
  <entry>Transform float rgb to radiance coding</entry>
  <entry>vips_float2rad()</entry>
</row>
<row>
  <entry>fractsurf</entry>
  <entry>Make a fractal surface</entry>
  <entry>vips_fractsurf()</entry>
</row>
<row>
  <entry>freqmult</entry>
  <entry>Frequency-domain filtering</entry>
  <entry>vips_freqmult()</entry>
</row>
<row>
  <entry>fwfft</entry>
  <entry>Forward fft</entry>
  <entry>vips_fwfft()</entry>
</row>
<row>
  <entry>gamma</entry>
  <entry>Gamma an image</entry>
  <entry>vips_gamma()</entry>
</row>
<row>
  <entry>gaussblur</entry>
  <entry>Gaussian blur</entry>
  <entry>vips_gaussblur()</entry>
</row>
<row>
  <entry>gaussmat</entry>
  <entry>Make a gaussian image</entry>
  <entry>vips_gaussmat()</entry>
</row>
<row>
  <entry>gaussnoise</entry>
  <entry>Make a gaussnoise image</entry>
  <entry>vips_gaussnoise()</entry>
</row>
<row>
  <entry>getpoint</entry>
  <entry>Read a point from an image</entry>
  <entry>vips_getpoint()</entry>
</row>
<row>
  <entry>gifload</entry>
  <entry>Load gif with libnsgif</entry>
  <entry>vips_gifload()</entry>
</row>
<row>
  <entry>gifload_buffer</entry>
  <entry>Load gif with libnsgif</entry>
  <entry>vips_gifload_buffer()</entry>
</row>
<row>
  <entry>gifload_source</entry>
  <entry>Load gif from source</entry>
  <entry>vips_gifload_source()</entry>
</row>
<row>
  <entry>gifsave</entry>
  <entry>Save as gif</entry>
  <entry>vips_gifsave()</entry>
</row>
<row>
  <entry>gifsave_buffer</entry>
  <entry>Save as gif</entry>
  <entry>vips_gifsave_buffer()</entry>
</row>
<row>
  <entry>gifsave_target</entry>
  <entry>Save as gif</entry>
  <entry>vips_gifsave_target()</entry>
</row>
<row>
  <entry>globalbalance</entry>
  <entry>Global balance an image mosaic</entry>
  <entry>vips_globalbalance()</entry>
</row>
<row>
  <entry>gravity</entry>
  <entry>Place an image within a larger image with a certain gravity</entry>
  <entry>vips_gravity()</entry>
</row>
<row>
  <entry>grey</entry>
  <entry>Make a grey ramp image</entry>
  <entry>vips_grey()</entry>
</row>
<row>
  <entry>grid</entry>
  <entry>Grid an image</entry>
  <entry>vips_grid()</entry>
</row>
<row>
  <entry>heifload</entry>
  <entry>Load a heif image</entry>
  <entry>vips_heifload()</entry>
</row>
<row>
  <entry>heifload_buffer</entry>
  <entry>Load a heif image</entry>
  <entry>vips_heifload_buffer()</entry>
</row>
<row>
  <entry>heifload_source</entry>
  <entry>Load a heif image</entry>
  <entry>vips_heifload_source()</entry>
</row>
<row>
  <entry>heifsave</entry>
  <entry>Save image in heif format</entry>
  <entry>vips_heifsave()</entry>
</row>
<row>
  <entry>heifsave_buffer</entry>
  <entry>Save image in heif format</entry>
  <entry>vips_heifsave_buffer()</entry>
</row>
<row>
  <entry>heifsave_target</entry>
  <entry>Save image in heif format</entry>
  <entry>vips_heifsave_target()</entry>
</row>
<row>
  <entry>hist_cum</entry>
  <entry>Form cumulative histogram</entry>
  <entry>vips_hist_cum()</entry>
</row>
<row>
  <entry>hist_entropy</entry>
  <entry>Estimate image entropy</entry>
  <entry>vips_hist_entropy()</entry>
</row>
<row>
  <entry>hist_equal</entry>
  <entry>Histogram equalisation</entry>
  <entry>vips_hist_equal()</entry>
</row>
<row>
  <entry>hist_find</entry>
  <entry>Find image histogram</entry>
  <entry>vips_hist_find()</entry>
</row>
<row>
  <entry>hist_find_indexed</entry>
  <entry>Find indexed image histogram</entry>
  <entry>vips_hist_find_indexed()</entry>
</row>
<row>
  <entry>hist_find_ndim</entry>
  <entry>Find n-dimensional image histogram</entry>
  <entry>vips_hist_find_ndim()</entry>
</row>
<row>
  <entry>hist_ismonotonic</entry>
  <entry>Test for monotonicity</entry>
  <entry>vips_hist_ismonotonic()</entry>
</row>
<row>
  <entry>hist_local</entry>
  <entry>Local histogram equalisation</entry>
  <entry>vips_hist_local()</entry>
</row>
<row>
  <entry>hist_match</entry>
  <entry>Match two histograms</entry>
  <entry>vips_hist_match()</entry>
</row>
<row>
  <entry>hist_norm</entry>
  <entry>Normalise histogram</entry>
  <entry>vips_hist_norm()</entry>
</row>
<row>
  <entry>hist_plot</entry>
  <entry>Plot histogram</entry>
  <entry>vips_hist_plot()</entry>
</row>
<row>
  <entry>hough_circle</entry>
  <entry>Find hough circle transform</entry>
  <entry>vips_hough_circle()</entry>
</row>
<row>
  <entry>hough_line</entry>
  <entry>Find hough line transform</entry>
  <entry>vips_hough_line()</entry>
</row>
<row>
  <entry>icc_export</entry>
  <entry>Output to device with icc profile</entry>
  <entry>vips_icc_export()</entry>
</row>
<row>
  <entry>icc_import</entry>
  <entry>Import from device with icc profile</entry>
  <entry>vips_icc_import()</entry>
</row>
<row>
  <entry>icc_transform</entry>
  <entry>Transform between devices with icc profiles</entry>
  <entry>vips_icc_transform()</entry>
</row>
<row>
  <entry>identity</entry>
  <entry>Make a 1d image where pixel values are indexes</entry>
  <entry>vips_identity()</entry>
</row>
<row>
  <entry>ifthenelse</entry>
  <entry>Ifthenelse an image</entry>
  <entry>vips_ifthenelse()</entry>
</row>
<row>
  <entry>insert</entry>
  <entry>Insert image @sub into @main at @x, @y</entry>
  <entry>vips_insert()</entry>
</row>
<row>
  <entry>invert</entry>
  <entry>Invert an image</entry>
  <entry>vips_invert()</entry>
</row>
<row>
  <entry>invertlut</entry>
  <entry>Build an inverted look-up table</entry>
  <entry>vips_invertlut()</entry>
</row>
<row>
  <entry>invfft</entry>
  <entry>Inverse fft</entry>
  <entry>vips_invfft()</entry>
</row>
<row>
  <entry>join</entry>
  <entry>Join a pair of images</entry>
  <entry>vips_join()</entry>
</row>
<row>
  <entry>jp2kload</entry>
  <entry>Load jpeg2000 image</entry>
  <entry>vips_jp2kload()</entry>
</row>
<row>
  <entry>jp2kload_buffer</entry>
  <entry>Load jpeg2000 image</entry>
  <entry>vips_jp2kload_buffer()</entry>
</row>
<row>
  <entry>jp2kload_source</entry>
  <entry>Load jpeg2000 image</entry>
  <entry>vips_jp2kload_source()</entry>
</row>
<row>
  <entry>jp2ksave</entry>
  <entry>Save image in jpeg2000 format</entry>
  <entry>vips_jp2ksave()</entry>
</row>
<row>
  <entry>jp2ksave_buffer</entry>
  <entry>Save image in jpeg2000 format</entry>
  <entry>vips_jp2ksave_buffer()</entry>
</row>
<row>
  <entry>jp2ksave_target</entry>
  <entry>Save image in jpeg2000 format</entry>
  <entry>vips_jp2ksave_target()</entry>
</row>
<row>
  <entry>jpegload</entry>
  <entry>Load jpeg from file</entry>
  <entry>vips_jpegload()</entry>
</row>
<row>
  <entry>jpegload_buffer</entry>
  <entry>Load jpeg from buffer</entry>
  <entry>vips_jpegload_buffer()</entry>
</row>
<row>
  <entry>jpegload_source</entry>
  <entry>Load image from jpeg source</entry>
  <entry>vips_jpegload_source()</entry>
</row>
<row>
  <entry>jpegsave</entry>
  <entry>Save image to jpeg file</entry>
  <entry>vips_jpegsave()</entry>
</row>
<row>
  <entry>jpegsave_buffer</entry>
  <entry>Save image to jpeg buffer</entry>
  <entry>vips_jpegsave_buffer()</entry>
</row>
<row>
  <entry>jpegsave_mime</entry>
  <entry>Save image to jpeg mime</entry>
  <entry>vips_jpegsave_mime()</entry>
</row>
<row>
  <entry>jpegsave_target</entry>
  <entry>Save image to jpeg target</entry>
  <entry>vips_jpegsave_target()</entry>
</row>
<row>
  <entry>jxlload</entry>
  <entry>Load jpeg-xl image</entry>
  <entry>vips_jxlload()</entry>
</row>
<row>
  <entry>jxlload_buffer</entry>
  <entry>Load jpeg-xl image</entry>
  <entry>vips_jxlload_buffer()</entry>
</row>
<row>
  <entry>jxlload_source</entry>
  <entry>Load jpeg-xl image</entry>
  <entry>vips_jxlload_source()</entry>
</row>
<row>
  <entry>jxlsave</entry>
  <entry>Save image in jpeg-xl format</entry>
  <entry>vips_jxlsave()</entry>
</row>
<row>
  <entry>jxlsave_buffer</entry>
  <entry>Save image in jpeg-xl format</entry>
  <entry>vips_jxlsave_buffer()</entry>
</row>
<row>
  <entry>jxlsave_target</entry>
  <entry>Save image in jpeg-xl format</entry>
  <entry>vips_jxlsave_target()</entry>
</row>
<row>
  <entry>labelregions</entry>
  <entry>Label regions in an image</entry>
  <entry>vips_labelregions()</entry>
</row>
<row>
  <entry>linear</entry>
  <entry>Calculate (a * in + b)</entry>
  <entry>vips_linear(), vips_linear1()</entry>
</row>
<row>
  <entry>linecache</entry>
  <entry>Cache an image as a set of lines</entry>
  <entry>vips_linecache()</entry>
</row>
<row>
  <entry>logmat</entry>
  <entry>Make a laplacian of gaussian image</entry>
  <entry>vips_logmat()</entry>
</row>
<row>
  <entry>magickload</entry>
  <entry>Load file with imagemagick</entry>
  <entry>vips_magickload()</entry>
</row>
<row>
  <entry>magickload_buffer</entry>
  <entry>Load buffer with imagemagick</entry>
  <entry>vips_magickload_buffer()</entry>
</row>
<row>
  <entry>magicksave</entry>
  <entry>Save file with imagemagick</entry>
  <entry>vips_magicksave()</entry>
</row>
<row>
  <entry>magicksave_buffer</entry>
  <entry>Save image to magick buffer</entry>
  <entry>vips_magicksave_buffer()</entry>
</row>
<row>
  <entry>mapim</entry>
  <entry>Resample with a map image</entry>
  <entry>vips_mapim()</entry>
</row>
<row>
  <entry>maplut</entry>
  <entry>Map an image though a lut</entry>
  <entry>vips_maplut()</entry>
</row>
<row>
  <entry>mask_butterworth</entry>
  <entry>Make a butterworth filter</entry>
  <entry>vips_mask_butterworth()</entry>
</row>
<row>
  <entry>mask_butterworth_band</entry>
  <entry>Make a butterworth_band filter</entry>
  <entry>vips_mask_butterworth_band()</entry>
</row>
<row>
  <entry>mask_butterworth_ring</entry>
  <entry>Make a butterworth ring filter</entry>
  <entry>vips_mask_butterworth_ring()</entry>
</row>
<row>
  <entry>mask_fractal</entry>
  <entry>Make fractal filter</entry>
  <entry>vips_mask_fractal()</entry>
</row>
<row>
  <entry>mask_gaussian</entry>
  <entry>Make a gaussian filter</entry>
  <entry>vips_mask_gaussian()</entry>
</row>
<row>
  <entry>mask_gaussian_band</entry>
  <entry>Make a gaussian filter</entry>
  <entry>vips_mask_gaussian_band()</entry>
</row>
<row>
  <entry>mask_gaussian_ring</entry>
  <entry>Make a gaussian ring filter</entry>
  <entry>vips_mask_gaussian_ring()</entry>
</row>
<row>
  <entry>mask_ideal</entry>
  <entry>Make an ideal filter</entry>
  <entry>vips_mask_ideal()</entry>
</row>
<row>
  <entry>mask_ideal_band</entry>
  <entry>Make an ideal band filter</entry>
  <entry>vips_mask_ideal_band()</entry>
</row>
<row>
  <entry>mask_ideal_ring</entry>
  <entry>Make an ideal ring filter</entry>
  <entry>vips_mask_ideal_ring()</entry>
</row>
<row>
  <entry>match</entry>
  <entry>First-order match of two images</entry>
  <entry>vips_match()</entry>
</row>
<row>
  <entry>math</entry>
  <entry>Apply a math operation to an image</entry>
  <entry>vips_math(), vips_sin(), vips_cos(), vips_tan(), vips_asin(), vips_acos(), vips_atan(), vips_sinh(), vips_cosh(), vips_tanh(), vips_asinh(), vips_acosh(), vips_atanh(), vips_exp(), vips_exp10(), vips_log(), vips_log10()</entry>
</row>
<row>
  <entry>math2</entry>
  <entry>Binary math operations</entry>
  <entry>vips_math2(), vips_pow(), vips_wop(), vips_atan2()</entry>
</row>
<row>
  <entry>math2_const</entry>
  <entry>Binary math operations with a constant</entry>
  <entry>vips_math2_const(), vips_andimage_const(), vips_orimage_const(), vips_eorimage_const(), vips_lshift_const(), vips_rshift_const(), vips_math2_const1(), vips_andimage_const1(), vips_orimage_const1(), vips_eorimage_const1(), vips_lshift_const1(), vips_rshift_const1()</entry>
</row>
<row>
  <entry>matload</entry>
  <entry>Load mat from file</entry>
  <entry>vips_matload()</entry>
</row>
<row>
  <entry>matrixinvert</entry>
  <entry>Invert an matrix</entry>
  <entry>vips_matrixinvert()</entry>
</row>
<row>
  <entry>matrixload</entry>
  <entry>Load matrix</entry>
  <entry>vips_matrixload()</entry>
</row>
<row>
  <entry>matrixload_source</entry>
  <entry>Load matrix</entry>
  <entry>vips_matrixload_source()</entry>
</row>
<row>
  <entry>matrixprint</entry>
  <entry>Print matrix</entry>
  <entry>vips_matrixprint()</entry>
</row>
<row>
  <entry>matrixsave</entry>
  <entry>Save image to matrix</entry>
  <entry>vips_matrixsave()</entry>
</row>
<row>
  <entry>matrixsave_target</entry>
  <entry>Save image to matrix</entry>
  <entry>vips_matrixsave_target()</entry>
</row>
<row>
  <entry>max</entry>
  <entry>Find image maximum</entry>
  <entry>vips_max()</entry>
</row>
<row>
  <entry>measure</entry>
  <entry>Measure a set of patches on a color chart</entry>
  <entry>vips_measure()</entry>
</row>
<row>
  <entry>merge</entry>
  <entry>Merge two images</entry>
  <entry>vips_merge()</entry>
</row>
<row>
  <entry>min</entry>
  <entry>Find image minimum</entry>
  <entry>vips_min()</entry>
</row>
<row>
  <entry>morph</entry>
  <entry>Morphology operation</entry>
  <entry>vips_morph()</entry>
</row>
<row>
  <entry>mosaic</entry>
  <entry>Mosaic two images</entry>
  <entry>vips_mosaic()</entry>
</row>
<row>
  <entry>mosaic1</entry>
  <entry>First-order mosaic of two images</entry>
  <entry>vips_mosaic1()</entry>
</row>
<row>
  <entry>msb</entry>
  <entry>Pick most-significant byte from an image</entry>
  <entry>vips_msb()</entry>
</row>
<row>
  <entry>multiply</entry>
  <entry>Multiply two images</entry>
  <entry>vips_multiply()</entry>
</row>
<row>
  <entry>niftiload</entry>
  <entry>Load nifti volume</entry>
  <entry>vips_niftiload()</entry>
</row>
<row>
  <entry>niftiload_source</entry>
  <entry>Load nifti volumes</entry>
  <entry>vips_niftiload_source()</entry>
</row>
<row>
  <entry>niftisave</entry>
  <entry>Save image to nifti file</entry>
  <entry>vips_niftisave()</entry>
</row>
<row>
  <entry>openexrload</entry>
  <entry>Load an openexr image</entry>
  <entry>vips_openexrload()</entry>
</row>
<row>
  <entry>openslideload</entry>
  <entry>Load file with openslide</entry>
  <entry>vips_openslideload()</entry>
</row>
<row>
  <entry>openslideload_source</entry>
  <entry>Load source with openslide</entry>
  <entry>vips_openslideload_source()</entry>
</row>
<row>
  <entry>pdfload</entry>
  <entry>Load pdf from file</entry>
  <entry>vips_pdfload()</entry>
</row>
<row>
  <entry>pdfload_buffer</entry>
  <entry>Load pdf from buffer</entry>
  <entry>vips_pdfload_buffer()</entry>
</row>
<row>
  <entry>pdfload_source</entry>
  <entry>Load pdf from source</entry>
  <entry>vips_pdfload_source()</entry>
</row>
<row>
  <entry>percent</entry>
  <entry>Find threshold for percent of pixels</entry>
  <entry>vips_percent()</entry>
</row>
<row>
  <entry>perlin</entry>
  <entry>Make a perlin noise image</entry>
  <entry>vips_perlin()</entry>
</row>
<row>
  <entry>phasecor</entry>
  <entry>Calculate phase correlation</entry>
  <entry>vips_phasecor()</entry>
</row>
<row>
  <entry>pngload</entry>
  <entry>Load png from file</entry>
  <entry>vips_pngload()</entry>
</row>
<row>
  <entry>pngload_buffer</entry>
  <entry>Load png from buffer</entry>
  <entry>vips_pngload_buffer()</entry>
</row>
<row>
  <entry>pngload_source</entry>
  <entry>Load png from source</entry>
  <entry>vips_pngload_source()</entry>
</row>
<row>
  <entry>pngsave</entry>
  <entry>Save image to file as png</entry>
  <entry>vips_pngsave()</entry>
</row>
<row>
  <entry>pngsave_buffer</entry>
  <entry>Save image to buffer as png</entry>
  <entry>vips_pngsave_buffer()</entry>
</row>
<row>
  <entry>pngsave_target</entry>
  <entry>Save image to target as png</entry>
  <entry>vips_pngsave_target()</entry>
</row>
<row>
  <entry>ppmload</entry>
  <entry>Load ppm from file</entry>
  <entry>vips_ppmload()</entry>
</row>
<row>
  <entry>ppmload_source</entry>
  <entry>Load ppm base class</entry>
  <entry>vips_ppmload_source()</entry>
</row>
<row>
  <entry>ppmsave</entry>
  <entry>Save image to ppm file</entry>
  <entry>vips_ppmsave()</entry>
</row>
<row>
  <entry>ppmsave_target</entry>
  <entry>Save to ppm</entry>
  <entry>vips_ppmsave_target()</entry>
</row>
<row>
  <entry>premultiply</entry>
  <entry>Premultiply image alpha</entry>
  <entry>vips_premultiply()</entry>
</row>
<row>
  <entry>prewitt</entry>
  <entry>Prewitt edge detector</entry>
  <entry>vips_prewitt()</entry>
</row>
<row>
  <entry>profile</entry>
  <entry>Find image profiles</entry>
  <entry>vips_profile()</entry>
</row>
<row>
  <entry>profile_load</entry>
  <entry>Load named icc profile</entry>
  <entry>vips_profile_load()</entry>
</row>
<row>
  <entry>project</entry>
  <entry>Find image projections</entry>
  <entry>vips_project()</entry>
</row>
<row>
  <entry>quadratic</entry>
  <entry>Resample an image with a quadratic transform</entry>
  <entry>vips_quadratic()</entry>
</row>
<row>
  <entry>rad2float</entry>
  <entry>Unpack radiance coding to float rgb</entry>
  <entry>vips_rad2float()</entry>
</row>
<row>
  <entry>radload</entry>
  <entry>Load a radiance image from a file</entry>
  <entry>vips_radload()</entry>
</row>
<row>
  <entry>radload_buffer</entry>
  <entry>Load rad from buffer</entry>
  <entry>vips_radload_buffer()</entry>
</row>
<row>
  <entry>radload_source</entry>
  <entry>Load rad from source</entry>
  <entry>vips_radload_source()</entry>
</row>
<row>
  <entry>radsave</entry>
  <entry>Save image to radiance file</entry>
  <entry>vips_radsave()</entry>
</row>
<row>
  <entry>radsave_buffer</entry>
  <entry>Save image to radiance buffer</entry>
  <entry>vips_radsave_buffer()</entry>
</row>
<row>
  <entry>radsave_target</entry>
  <entry>Save image to radiance target</entry>
  <entry>vips_radsave_target()</entry>
</row>
<row>
  <entry>rank</entry>
  <entry>Rank filter</entry>
  <entry>vips_rank(), vips_median()</entry>
</row>
<row>
  <entry>rawload</entry>
  <entry>Load raw data from a file</entry>
  <entry>vips_rawload()</entry>
</row>
<row>
  <entry>rawsave</entry>
  <entry>Save image to raw file</entry>
  <entry>vips_rawsave()</entry>
</row>
<row>
  <entry>rawsave_fd</entry>
  <entry>Write raw image to file descriptor</entry>
  <entry>vips_rawsave_fd()</entry>
</row>
<row>
  <entry>recomb</entry>
  <entry>Linear recombination with matrix</entry>
  <entry>vips_recomb()</entry>
</row>
<row>
  <entry>reduce</entry>
  <entry>Reduce an image</entry>
  <entry>vips_reduce()</entry>
</row>
<row>
  <entry>reduceh</entry>
  <entry>Shrink an image horizontally</entry>
  <entry>vips_reduceh()</entry>
</row>
<row>
  <entry>reducev</entry>
  <entry>Shrink an image vertically</entry>
  <entry>vips_reducev()</entry>
</row>
<row>
  <entry>relational</entry>
  <entry>Relational operation on two images</entry>
  <entry>vips_relational(), vips_equal(), vips_notequal(), vips_less(), vips_lesseq(), vips_more(), vips_moreeq()</entry>
</row>
<row>
  <entry>relational_const</entry>
  <entry>Relational operations against a constant</entry>
  <entry>vips_relational_const(), vips_equal_const(), vips_notequal_const(), vips_less_const(), vips_lesseq_const(), vips_more_const(), vips_moreeq_const(), vips_relational_const1(), vips_equal_const1(), vips_notequal_const1(), vips_less_const1(), vips_lesseq_const1(), vips_more_const1(), vips_moreeq_const1()</entry>
</row>
<row>
  <entry>remainder</entry>
  <entry>Remainder after integer division of two images</entry>
  <entry>vips_remainder()</entry>
</row>
<row>
  <entry>remainder_const</entry>
  <entry>Remainder after integer division of an image and a constant</entry>
  <entry>vips_remainder_const(), vips_remainder_const1()</entry>
</row>
<row>
  <entry>replicate</entry>
  <entry>Replicate an image</entry>
  <entry>vips_replicate()</entry>
</row>
<row>
  <entry>resize</entry>
  <entry>Resize an image</entry>
  <entry>vips_resize()</entry>
</row>
<row>
  <entry>rot</entry>
  <entry>Rotate an image</entry>
  <entry>vips_rot()</entry>
</row>
<row>
  <entry>rot45</entry>
  <entry>Rotate an image</entry>
  <entry>vips_rot45()</entry>
</row>
<row>
  <entry>rotate</entry>
  <entry>Rotate an image by a number of degrees</entry>
  <entry>vips_rotate()</entry>
</row>
<row>
  <entry>round</entry>
  <entry>Perform a round function on an image</entry>
  <entry>vips_round(), vips_floor(), vips_ceil(), vips_rint()</entry>
</row>
<row>
  <entry>sRGB2HSV</entry>
  <entry>Transform srgb to hsv</entry>
  <entry>vips_sRGB2HSV()</entry>
</row>
<row>
  <entry>sRGB2scRGB</entry>
  <entry>Convert an srgb image to scrgb</entry>
  <entry>vips_sRGB2scRGB()</entry>
</row>
<row>
  <entry>scRGB2BW</entry>
  <entry>Convert scrgb to bw</entry>
  <entry>vips_scRGB2BW()</entry>
</row>
<row>
  <entry>scRGB2XYZ</entry>
  <entry>Transform scrgb to xyz</entry>
  <entry>vips_scRGB2XYZ()</entry>
</row>
<row>
  <entry>scRGB2sRGB</entry>
  <entry>Convert an scrgb image to srgb</entry>
  <entry>vips_scRGB2sRGB()</entry>
</row>
<row>
  <entry>scale</entry>
  <entry>Scale an image to uchar</entry>
  <entry>vips_scale()</entry>
</row>
<row>
  <entry>scharr</entry>
  <entry>Scharr edge detector</entry>
  <entry>vips_scharr()</entry>
</row>
<row>
  <entry>sequential</entry>
  <entry>Check sequential access</entry>
  <entry>vips_sequential()</entry>
</row>
<row>
  <entry>sharpen</entry>
  <entry>Unsharp masking for print</entry>
  <entry>vips_sharpen()</entry>
</row>
<row>
  <entry>shrink</entry>
  <entry>Shrink an image</entry>
  <entry>vips_shrink()</entry>
</row>
<row>
  <entry>shrinkh</entry>
  <entry>Shrink an image horizontally</entry>
  <entry>vips_shrinkh()</entry>
</row>
<row>
  <entry>shrinkv</entry>
  <entry>Shrink an image vertically</entry>
  <entry>vips_shrinkv()</entry>
</row>
<row>
  <entry>sign</entry>
  <entry>Unit vector of pixel</entry>
  <entry>vips_sign()</entry>
</row>
<row>
  <entry>similarity</entry>
  <entry>Similarity transform of an image</entry>
  <entry>vips_similarity()</entry>
</row>
<row>
  <entry>sines</entry>
  <entry>Make a 2d sine wave</entry>
  <entry>vips_sines()</entry>
</row>
<row>
  <entry>smartcrop</entry>
  <entry>Extract an area from an image</entry>
  <entry>vips_smartcrop()</entry>
</row>
<row>
  <entry>sobel</entry>
  <entry>Sobel edge detector</entry>
  <entry>vips_sobel()</entry>
</row>
<row>
  <entry>spcor</entry>
  <entry>Spatial correlation</entry>
  <entry>vips_spcor()</entry>
</row>
<row>
  <entry>spectrum</entry>
  <entry>Make displayable power spectrum</entry>
  <entry>vips_spectrum()</entry>
</row>
<row>
  <entry>stats</entry>
  <entry>Find many image stats</entry>
  <entry>vips_stats()</entry>
</row>
<row>
  <entry>stdif</entry>
  <entry>Statistical difference</entry>
  <entry>vips_stdif()</entry>
</row>
<row>
  <entry>subsample</entry>
  <entry>Subsample an image</entry>
  <entry>vips_subsample()</entry>
</row>
<row>
  <entry>subtract</entry>
  <entry>Subtract two images</entry>
  <entry>vips_subtract()</entry>
</row>
<row>
  <entry>sum</entry>
  <entry>Sum an array of images</entry>
  <entry>vips_sum()</entry>
</row>
<row>
  <entry>svgload</entry>
  <entry>Load svg with rsvg</entry>
  <entry>vips_svgload()</entry>
</row>
<row>
  <entry>svgload_buffer</entry>
  <entry>Load svg with rsvg</entry>
  <entry>vips_svgload_buffer()</entry>
</row>
<row>
  <entry>svgload_source</entry>
  <entry>Load svg from source</entry>
  <entry>vips_svgload_source()</entry>
</row>
<row>
  <entry>switch</entry>
  <entry>Find the index of the first non-zero pixel in tests</entry>
  <entry>vips_switch()</entry>
</row>
<row>
  <entry>system</entry>
  <entry>Run an external command</entry>
  <entry>vips_system()</entry>
</row>
<row>
  <entry>text</entry>
  <entry>Make a text image</entry>
  <entry>vips_text()</entry>
</row>
<row>
  <entry>thumbnail</entry>
  <entry>Generate thumbnail from file</entry>
  <entry>vips_thumbnail()</entry>
</row>
<row>
  <entry>thumbnail_buffer</entry>
  <entry>Generate thumbnail from buffer</entry>
  <entry>vips_thumbnail_buffer()</entry>
</row>
<row>
  <entry>thumbnail_image</entry>
  <entry>Generate thumbnail from image</entry>
  <entry>vips_thumbnail_image()</entry>
</row>
<row>
  <entry>thumbnail_source</entry>
  <entry>Generate thumbnail from source</entry>
  <entry>vips_thumbnail_source()</entry>
</row>
<row>
  <entry>tiffload</entry>
  <entry>Load tiff from file</entry>
  <entry>vips_tiffload()</entry>
</row>
<row>
  <entry>tiffload_buffer</entry>
  <entry>Load tiff from buffer</entry>
  <entry>vips_tiffload_buffer()</entry>
</row>
<row>
  <entry>tiffload_source</entry>
  <entry>Load tiff from source</entry>
  <entry>vips_tiffload_source()</entry>
</row>
<row>
  <entry>tiffsave</entry>
  <entry>Save image to tiff file</entry>
  <entry>vips_tiffsave()</entry>
</row>
<row>
  <entry>tiffsave_buffer</entry>
  <entry>Save image to tiff buffer</entry>
  <entry>vips_tiffsave_buffer()</entry>
</row>
<row>
  <entry>tiffsave_target</entry>
  <entry>Save image to tiff target</entry>
  <entry>vips_tiffsave_target()</entry>
</row>
<row>
  <entry>tilecache</entry>
  <entry>Cache an image as a set of tiles</entry>
  <entry>vips_tilecache()</entry>
</row>
<row>
  <entry>tonelut</entry>
  <entry>Build a look-up table</entry>
  <entry>vips_tonelut()</entry>
</row>
<row>
  <entry>transpose3d</entry>
  <entry>Transpose3d an image</entry>
  <entry>vips_transpose3d()</entry>
</row>
<row>
  <entry>unpremultiply</entry>
  <entry>Unpremultiply image alpha</entry>
  <entry>vips_unpremultiply()</entry>
</row>
<row>
  <entry>vipsload</entry>
  <entry>Load vips from file</entry>
  <entry>vips_vipsload()</entry>
</row>
<row>
  <entry>vipsload_source</entry>
  <entry>Load vips from source</entry>
  <entry>vips_vipsload_source()</entry>
</row>
<row>
  <entry>vipssave</entry>
  <entry>Save image to file in vips format</entry>
  <entry>vips_vipssave()</entry>
</row>
<row>
  <entry>vipssave_target</entry>
  <entry>Save image to target in vips format</entry>
  <entry>vips_vipssave_target()</entry>
</row>
<row>
  <entry>webpload</entry>
  <entry>Load webp from file</entry>
  <entry>vips_webpload()</entry>
</row>
<row>
  <entry>webpload_buffer</entry>
  <entry>Load webp from buffer</entry>
  <entry>vips_webpload_buffer()</entry>
</row>
<row>
  <entry>webpload_source</entry>
  <entry>Load webp from source</entry>
  <entry>vips_webpload_source()</entry>
</row>
<row>
  <entry>webpsave</entry>
  <entry>Save as webp</entry>
  <entry>vips_webpsave()</entry>
</row>
<row>
  <entry>webpsave_buffer</entry>
  <entry>Save as webp</entry>
  <entry>vips_webpsave_buffer()</entry>
</row>
<row>
  <entry>webpsave_mime</entry>
  <entry>Save image to webp mime</entry>
  <entry>vips_webpsave_mime()</entry>
</row>
<row>
  <entry>webpsave_target</entry>
  <entry>Save as webp</entry>
  <entry>vips_webpsave_target()</entry>
</row>
<row>
  <entry>worley</entry>
  <entry>Make a worley noise image</entry>
  <entry>vips_worley()</entry>
</row>
<row>
  <entry>wrap</entry>
  <entry>Wrap image origin</entry>
  <entry>vips_wrap()</entry>
</row>
<row>
  <entry>xyz</entry>
  <entry>Make an image where pixel values are coordinates</entry>
  <entry>vips_xyz()</entry>
</row>
<row>
  <entry>zone</entry>
  <entry>Make a zone plate</entry>
  <entry>vips_zone()</entry>
</row>
<row>
  <entry>zoom</entry>
  <entry>Zoom an image</entry>
  <entry>vips_zoom()</entry>
</row>

          </tbody>
        </tgroup>
      </table>
    </para>

  </refsect3>

</refentry>
