libvips/doc/function-list.xml

1623 lines
39 KiB
XML

<?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>Seperable 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>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>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>