## VIPS function list Using VIPS — List of VIPS functions and operators |

#### Function list

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 `VipsGamma`. Classes are identified by their unique `nickname`, in this case `gamma`. From the command-line, C++ and most language bindings, you use the nickname to call the operator. For example in C++:

      vips::VImage fred = ...;
      vips::VImage jim = fred.gamma();

or Python:

      fred = jim.gamma()

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

      VipsImage *fred = ...;
      VipsImage *jim;

      if (vips_gamma(fred, &jim, NULL))
        ...error;

Some operators have many C convenience functions.

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.

Table 1. VIPS functions and operators

Operator | Description | C functions
--- | --- | ---
system | run an external command | `vips_system()`
add | add two images | `vips_add()`
subtract | subtract two images | `vips_subtract()`
multiply | multiply two images | `vips_multiply()`
divide | divide two images | `vips_divide()`
relational | relational operation on two images | `vips_relational()`, `vips_equal()`, `vips_notequal()`, `vips_less()`, `vips_lesseq()`, `vips_more()`, `vips_moreeq()`
remainder | remainder after integer division of two images | `vips_remainder()`
boolean | boolean operation on two images | `vips_boolean()`, `vips_andimage()`, `vips_orimage()`, `vips_eorimage()`, `vips_lshift()`, `vips_rshift()`
math2 | binary math operations | `vips_math2()`, `vips_pow()`, `vips_wop()`
complex2 | complex binary operations on two images | `vips_complex2()`, `vips_cross_phase()`
complexform | form a complex image from two real images | `vips_complexform()`
sum | sum an array of images | `vips_sum()`
invert | invert an image | `vips_invert()`
linear | calculate (a * in + b) | `vips_linear()`, `vips_linear1()`
math | apply a math operation to an image | `vips_math()`, `vips_sin()`, `vips_cos()`, `vips_tan()`, `vips_asin()`, `vips_acos()`, `vips_atan()`, `vips_exp()`, `vips_exp10()`, `vips_log()`, `vips_log10()`
abs | absolute value of an image | `vips_abs()`
sign | unit vector of pixel | `vips_sign()`
round | perform a round function on an image | `vips_round()`, `vips_floor()`, `vips_ceil()`, `vips_rint()`
relational_const | relational operations against a constant | `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()`
remainder_const | remainder after integer division of an image and a constant | `vips_remainder_const()`, `vips_remainder_const1()`
boolean_const | boolean operations against a constant | `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()`
math2_const | pow( `in`, `c` ) | `vips_math2_const()`, `vips_pow_const()`, `vips_wop_const()`, `vips_math2_const1()`, `vips_pow_const1()`, `vips_wop_const1()`
complex | perform a complex operation on an image | `vips_complex()`, `vips_polar()`, `vips_rect()`, `vips_conj()`
complexget | get a component from a complex image | `vips_complexget()`, `vips_real()`, `vips_imag()`
avg | find image average | `vips_avg()`
min | find image minimum | `vips_min()`
max | find image maximum | `vips_max()`
deviate | find image standard deviation | `vips_deviate()`
stats | find image average | `vips_stats()`
hist_find | find image histogram | `vips_hist_find()`
hist_find_ndim | find n-dimensional image histogram | `vips_hist_find_ndim()`
hist_find_indexed | find indexed image histogram | `vips_hist_find_indexed()`
hough_line | find hough line transform | `vips_hough_line()`
hough_circle | find hough circle transform | `vips_hough_circle()`
project | find image projections | `vips_project()`
profile | find image profiles | `vips_profile()`
measure | measure a set of patches on a color chart | `vips_measure()`
getpoint | read a point from an image | `vips_getpoint()`
copy | copy an image | `vips_copy()`
tilecache | cache an image as a set of tiles | `vips_tilecache()`
linecache | cache an image as a set of lines | `vips_linecache()`
sequential | check sequential access | `vips_sequential()`
cache | cache an image | `vips_cache()`
embed | embed an image in a larger image | `vips_embed()`
flip | flip an image | `vips_flip()`
insert | insert image `sub` into `main` at `x`, `y` | `vips_insert()`
join | join a pair of images | `vips_join()`
extract_area | extract an area from an image | `vips_extract_area()`, `vips_crop()`
extract_band | extract band from an image | `vips_extract_band()`
bandjoin | bandwise join a set of images | `vips_bandjoin()`, `vips_bandjoin2()`
bandrank | band-wise rank of a set of images | `vips_bandrank()`
bandmean | band-wise average | `vips_bandmean()`
bandbool | boolean operation across image bands | `vips_bandbool()`, `vips_bandand()`, `vips_bandor()`, `vips_bandeor()`, `vips_bandmean()`
replicate | replicate an image | `vips_replicate()`
cast | cast an image | `vips_cast()`, `vips_cast_uchar()`, `vips_cast_char()`, `vips_cast_ushort()`, `vips_cast_short()`, `vips_cast_uint()`, `vips_cast_int()`, `vips_cast_float()`, `vips_cast_double()`, `vips_cast_complex()`, `vips_cast_dpcomplex()`
rot | rotate an image | `vips_rot()`
rot45 | rotate an image | `vips_rot45()`
autorot | autorotate image by exif tag | `vips_autorot()`
ifthenelse | ifthenelse an image | `vips_ifthenelse()`
recomb | linear recombination with matrix | `vips_recomb()`
bandfold | fold up x axis into bands | `vips_bandfold()`
bandunfold | unfold image bands into x axis | `vips_bandunfold()`
flatten | flatten alpha out of an image | `vips_flatten()`
premultiply | premultiply image alpha | `vips_premultiply()`
unpremultiply | unpremultiply image alpha | `vips_unpremultiply()`
grid | grid an image | `vips_grid()`
scale | scale an image to uchar | `vips_scale()`
wrap | wrap image origin | `vips_wrap()`
zoom | zoom an image | `vips_zoom()`
subsample | subsample an image | `vips_subsample()`
msb | pick most-significant byte from an image | `vips_msb()`
byteswap | byteswap an image | `vips_byteswap()`
falsecolour | false colour an image | `vips_falsecolour()`
gamma | gamma an image | `vips_gamma()`
black | make a black image | `vips_black()`
gaussnoise | make a gaussnoise image | `vips_gaussnoise()`
text | make a text image | `vips_text()`
xyz | make an image where pixel values are coordinates | `vips_xyz()`
gaussmat | make a gaussian image | `vips_gaussmat()`
logmat | make a laplacian of gaussian image | `vips_logmat()`
eye | make an image showing the eye's spatial response | `vips_eye()`
grey | make a grey ramp image | `vips_grey()`
zone | make a zone plate | `vips_zone()`
sines | make a 2D sine wave | `vips_sines()`
mask_ideal | make an ideal filter | `vips_mask_ideal()`
mask_ideal_ring | make an ideal ring filter | `vips_mask_ideal_ring()`
mask_ideal_band | make an ideal band filter | `vips_mask_ideal_band()`
mask_butterworth | make a butterworth filter | `vips_mask_butterworth()`
mask_butterworth_ring | make a butterworth ring filter | `vips_mask_butterworth_ring()`
mask_butterworth_band | make a butterworth_band filter | `vips_mask_butterworth_band()`
mask_gaussian | make a gaussian filter | `vips_mask_gaussian()`
mask_gaussian_ring | make a gaussian ring filter | `vips_mask_gaussian_ring()`
mask_gaussian_band | make a gaussian filter | `vips_mask_gaussian_band()`
mask_fractal | make fractal filter | `vips_mask_fractal()`
buildlut | build a look-up table | `vips_buildlut()`
invertlut | build an inverted look-up table | `vips_invertlut()`
tonelut | build a look-up table | `vips_tonelut()`
identity | make a 1D image where pixel values are indexes | `vips_identity()`
fractsurf | make a fractal surface | `vips_fractsurf()`
radload | load a Radiance image from a file | `vips_radload()`
ppmload | load ppm from file | `vips_ppmload()`
csvload | load csv from file | `vips_csvload()`
matrixload | load matrix from file | `vips_matrixload()`
analyzeload | load an Analyze6 image | `vips_analyzeload()`
rawload | load raw data from a file | `vips_rawload()`
pngload | load png from file | `vips_pngload()`
pngload_buffer | load png from buffer | `vips_pngload_buffer()`
matload | load mat from file | `vips_matload()`
jpegload | load jpeg from file | `vips_jpegload()`
jpegload_buffer | load jpeg from buffer | `vips_jpegload_buffer()`
webpload | load webp from file | `vips_webpload()`
webpload_buffer | load webp from buffer | `vips_webpload_buffer()`
tiffload | load tiff from file | `vips_tiffload()`
tiffload_buffer | load tiff from buffer | `vips_tiffload_buffer()`
openslideload | load file with OpenSlide | `vips_openslideload()`
magickload | load file with ImageMagick | `vips_magickload()`
magickload_buffer | load image from buffer with ImageMagick | `vips_magickload_buffer()`
fitsload | load a FITS image | `vips_fitsload()`
openexrload | load an OpenEXR image | `vips_openexrload()`
radsave | save image to Radiance file | `vips_radsave()`
ppmsave | save image to ppm file | `vips_ppmsave()`
csvsave | save image to csv file | `vips_csvsave()`
matrixsave | save image to matrix file | `vips_matrixsave()`
matrixprint | print matrix | `vips_matrixprint()`
rawsave | save image to raw file | `vips_rawsave()`
rawsave_fd | write raw image to file descriptor | `vips_rawsave_fd()`
dzsave | save image to deep zoom format | `vips_dzsave()`
pngsave | save image to png file | `vips_pngsave()`
pngsave_buffer | save image to png buffer | `vips_pngsave_buffer()`
jpegsave | save image to jpeg file | `vips_jpegsave()`
jpegsave_buffer | save image to jpeg buffer | `vips_jpegsave_buffer()`
jpegsave_mime | save image to jpeg mime | `vips_jpegsave_mime()`
webpsave | save image to webp file | `vips_webpsave()`
webpsave_buffer | save image to webp buffer | `vips_webpsave_buffer()`
tiffsave | save image to tiff file | `vips_tiffsave()`
fitssave | save image to fits file | `vips_fitssave()`
shrink | shrink an image | `vips_shrink()`
quadratic | resample an image with a quadratic transform | `vips_quadratic()`
affine | affine transform of an image | `vips_affine()`
similarity | similarity transform of an image | `vips_similarity()`
resize | resize an image | `vips_resize()`
colourspace | convert to a new colourspace | `vips_colourspace()`
Lab2XYZ | transform CIELAB to XYZ | `vips_Lab2XYZ()`
XYZ2Lab | transform XYZ to Lab | `vips_XYZ2Lab()`
Lab2LCh | transform Lab to LCh | `vips_Lab2LCh()`
LCh2Lab | transform LCh to Lab | `vips_LCh2Lab()`
LCh2CMC | transform LCh to CMC | `vips_LCh2CMC()`
CMC2LCh | transform LCh to CMC | `vips_CMC2LCh()`
XYZ2Yxy | transform XYZ to Yxy | `vips_XYZ2Yxy()`
Yxy2XYZ | transform Yxy to XYZ | `vips_Yxy2XYZ()`
scRGB2XYZ | transform scRGB to XYZ | `vips_scRGB2XYZ()`
XYZ2scRGB | transform XYZ to scRGB | `vips_XYZ2scRGB()`
LabQ2Lab | unpack a LabQ image to float Lab | `vips_LabQ2Lab()`
Lab2LabQ | transform float Lab to LabQ coding | `vips_Lab2LabQ()`
LabQ2LabS | unpack a LabQ image to short Lab | `vips_LabQ2LabS()`
LabS2LabQ | transform short Lab to LabQ coding | `vips_LabS2LabQ()`
LabS2Lab | transform signed short Lab to float | `vips_LabS2Lab()`
Lab2LabS | transform float Lab to signed short | `vips_Lab2LabS()`
rad2float | unpack Radiance coding to float RGB | `vips_rad2float()`
float2rad | transform float RGB to Radiance coding | `vips_float2rad()`
LabQ2sRGB | unpack a LabQ image to short Lab | `vips_LabQ2sRGB()`
sRGB2HSV | transform sRGB to HSV | `vips_sRGB2HSV()`
HSV2sRGB | transform HSV to sRGB | `vips_HSV2sRGB()`
sRGB2scRGB | convert an sRGB image to scRGB | `vips_sRGB2scRGB()`
scRGB2sRGB | convert an scRGB image to sRGB | `vips_scRGB2sRGB()`
icc_import | import from device with ICC profile | `vips_icc_import()`
icc_export | output to device with ICC profile | `vips_icc_export()`
icc_transform | transform between devices with ICC profiles | `vips_icc_transform()`
dE76 | calculate dE76 | `vips_dE76()`
dE00 | calculate dE00 | `vips_dE00()`
dECMC | calculate dECMC | `vips_dECMC()`
maplut | map an image though a lut | `vips_maplut()`
percent | find threshold for percent of pixels | `vips_percent()`
stdif | statistical difference | `vips_stdif()`
hist_cum | form cumulative histogram | `vips_hist_cum()`
hist_match | match two histograms | `vips_hist_match()`
hist_norm | normalise histogram | `vips_hist_norm()`
hist_equal | histogram equalisation | `vips_hist_equal()`
hist_plot | plot histogram | `vips_hist_plot()`
hist_local | local histogram equalisation | `vips_hist_local()`
hist_ismonotonic | test for monotonicity | `vips_hist_ismonotonic()`
conv | convolution operation | `vips_conv()`
compass | convolve with rotating mask | `vips_compass()`
convsep | seperable convolution operation | `vips_convsep()`
fastcor | fast correlation | `vips_fastcor()`
spcor | spatial correlation | `vips_spcor()`
sharpen | unsharp masking for print | `vips_sharpen()`
gaussblur | gaussian blur | `vips_gaussblur()`
fwfft | forward FFT | `vips_fwfft()`
invfft | inverse FFT | `vips_invfft()`
freqmult | frequency-domain filtering | `vips_freqmult()`
spectrum | make displayable power spectrum | `vips_spectrum()`
phasecor | calculate phase correlation | `vips_phasecor()`
morph | morphology operation | `vips_morph()`
rank | rank filter | `vips_rank()`, `vips_median()`
countlines | count lines in an image | `vips_countlines()`
labelregions | label regions in an image | `vips_labelregions()`
draw_rect | paint a rectangle on an image | `vips_draw_rect()`, `vips_draw_rect1()`, `vips_draw_point()`, `vips_draw_point1()`
draw_mask | draw a mask on an image | `vips_draw_mask()`, `vips_draw_mask1()`
draw_line | draw a line on an image | `vips_draw_line()`, `vips_draw_line1()`
draw_circle | draw a circle on an image | `vips_draw_circle()`, `vips_draw_circle1()`
draw_flood | flood-fill an area | `vips_draw_flood()`, `vips_draw_flood1()`
draw_image | paint an image into another image | `vips_draw_image()`
draw_smudge | blur a rectangle on an image | `vips_draw_smudge()`
merge | merge two images | `vips_merge()`
mosaic | mosaic two images | `vips_mosaic()`
mosaic1 | first-order mosaic of two images | `vips_mosaic1()`
match | first-order match of two images | `vips_match()`
globalbalance | global balance an image mosaic | `vips_globalbalance()`