update c++ bindings

This commit is contained in:
John Cupitt 2017-11-26 17:45:04 +00:00
parent 955a5a97cc
commit 10eef89a7f
6 changed files with 852 additions and 954 deletions

View File

@ -28,7 +28,7 @@
- vips_image_write() severs all links between images, when it can ... thanks
Warren and Nakilon
- vector path for convolution is more accurate and can handle larger masks
- linear and cubic kernels for reduce are higer quality
- linear and cubic kernels for reduce are higher quality
- added vips_value_set_blob_free()
- "--size Nx" to vipsthumbnail was broken, thanks jrochkind
- fix build with gcc 7

View File

@ -1,5 +1,5 @@
// headers for vips operations
// Fri 6 Oct 16:31:27 BST 2017
// Sun 26 Nov 17:44:41 GMT 2017
// this file is generated automatically, do not edit!
static void system( char * cmd_format , VOption *options = 0 );
@ -47,6 +47,7 @@ VImage linecache( VOption *options = 0 );
VImage sequential( VOption *options = 0 );
VImage cache( VOption *options = 0 );
VImage embed( int x , int y , int width , int height , VOption *options = 0 );
VImage gravity( VipsCompassDirection direction , int width , int height , VOption *options = 0 );
VImage flip( VipsDirection direction , VOption *options = 0 );
VImage insert( VImage sub , int x , int y , VOption *options = 0 );
VImage join( VImage in2 , VipsDirection direction , VOption *options = 0 );
@ -232,6 +233,7 @@ VImage morph( VImage mask , VipsOperationMorphology morph , VOption *options = 0
VImage rank( int width , int height , int index , VOption *options = 0 );
double countlines( VipsDirection direction , VOption *options = 0 );
VImage labelregions( VOption *options = 0 );
VImage fill_nearest( VOption *options = 0 );
void draw_rect( std::vector<double> ink , int left , int top , int width , int height , VOption *options = 0 );
void draw_mask( std::vector<double> ink , VImage mask , int x , int y , VOption *options = 0 );
void draw_line( std::vector<double> ink , int x1 , int y1 , int x2 , int y2 , VOption *options = 0 );

View File

@ -1,5 +1,5 @@
// bodies for vips operations
// Fri 6 Oct 16:30:42 BST 2017
// Sun 26 Nov 17:44:23 GMT 2017
// this file is generated automatically, do not edit!
void VImage::system( char * cmd_format , VOption *options )
@ -578,6 +578,21 @@ VImage VImage::embed( int x , int y , int width , int height , VOption *options
return( out );
}
VImage VImage::gravity( VipsCompassDirection direction , int width , int height , VOption *options )
{
VImage out;
call( "gravity" ,
(options ? options : VImage::option()) ->
set( "in", *this ) ->
set( "out", &out ) ->
set( "direction", direction ) ->
set( "width", width ) ->
set( "height", height ) );
return( out );
}
VImage VImage::flip( VipsDirection direction , VOption *options )
{
VImage out;
@ -2863,6 +2878,18 @@ VImage VImage::labelregions( VOption *options )
return( mask );
}
VImage VImage::fill_nearest( VOption *options )
{
VImage out;
call( "fill_nearest" ,
(options ? options : VImage::option()) ->
set( "in", *this ) ->
set( "out", &out ) );
return( out );
}
void VImage::draw_rect( std::vector<double> ink , int left , int top , int width , int height , VOption *options )
{
call( "draw_rect" ,

View File

@ -22,16 +22,14 @@
#!/usr/bin/env python
import sys
import gi
gi.require_version('Vips', '8.0')
from gi.repository import Vips
import pyvips
left = 10
top = 10
width = 64
height = 64
image = Vips.Image.new_from_file(sys.argv[1])
image = pyvips.Image.new_from_file(sys.argv[1])
roi = image.crop(left, top, width, height)
print 'average:', roi.avg()
</programlisting>
@ -39,146 +37,80 @@ print 'average:', roi.avg()
<refsect3 id="libvips-and-numpy">
<title>libvips and numpy</title>
<para>
You can use <literal>Vips.Image.new_from_memory_copy()</literal> to make a vips image from an area of memory. The memory array needs to be laid out band-interleaved, as a set of scanlines, with no padding between lines.
</para>
<para>
This example moves an image from numpy to vips, but its simple to move the other way (use <literal>Vips.Image.write_to_memory()</literal>) to to move images into or out of PIL.
You can use <literal>pyvips.Image.new_from_memory()</literal> to make a vips image from an area of memory. The memory array needs to be laid out band-interleaved, as a set of scanlines, with no padding between lines.
</para>
<programlisting language="python">
#!/usr/bin/python
#!/usr/bin/env python
import numpy
import scipy.ndimage
import gi
gi.require_version('Vips', '8.0')
from gi.repository import Vips
def np_dtype_to_vips_format(np_dtype):
'''
Map numpy data types to VIPS data formats.
Parameters
----------
np_dtype: numpy.dtype
Returns
-------
gi.overrides.Vips.BandFormat
'''
lookup = {
numpy.dtype('int8'): Vips.BandFormat.CHAR,
numpy.dtype('uint8'): Vips.BandFormat.UCHAR,
numpy.dtype('int16'): Vips.BandFormat.SHORT,
numpy.dtype('uint16'): Vips.BandFormat.USHORT,
numpy.dtype('int32'): Vips.BandFormat.INT,
numpy.dtype('float32'): Vips.BandFormat.FLOAT,
numpy.dtype('float64'): Vips.BandFormat.DOUBLE
}
return lookup[np_dtype]
def np_array_to_vips_image(array):
'''
Convert a `numpy` array to a `Vips` image object.
Parameters
----------
nparray: numpy.ndarray
Returns
-------
gi.overrides.Vips.image
'''
# Look up what VIPS format corresponds to the type of this np array
vips_format = np_dtype_to_vips_format(array.dtype)
dims = array.shape
height = dims[0]
width = 1
bands = 1
if len(dims) &gt; 1:
width = dims[1]
if len(dims) &gt; 2:
bands = dims[2]
img = Vips.Image.new_from_memory_copy(array.data,
width, height, bands, vips_format)
return img
array = numpy.random.random((10,10))
vips_image = np_array_to_vips_image(array)
print 'avg =', vips_image.avg()
array = scipy.ndimage.imread(&quot;test.jpg&quot;)
vips_image = np_array_to_vips_image(array)
print 'avg =', vips_image.avg()
vips_image.write_to_file(&quot;test2.jpg&quot;)
</programlisting>
</refsect3>
<refsect3 id="watermarking">
<title>Watermarking</title>
<para>
This example renders a simple watermark on an image. Use it like this:
</para>
<programlisting>
./watermark.py somefile.png output.jpg &quot;hello &lt;i&gt;world&lt;/i&gt;&quot;
</programlisting>
<para>
The text is rendered in transparent red pixels all over the image. It knows about transparency, CMYK, and 16-bit images.
</para>
<programlisting language="python">
#!/usr/bin/python
import sys
import gi
gi.require_version('Vips', '8.0')
from gi.repository import Vips
im = Vips.Image.new_from_file(sys.argv[1], access = Vips.Access.SEQUENTIAL)
text = Vips.Image.text(sys.argv[3], width = 500, dpi = 300)
text = (text * 0.3).cast(&quot;uchar&quot;)
text = text.embed(100, 100, text.width + 200, text.width + 200)
text = text.replicate(1 + im.width / text.width, 1 + im.height / text.height)
text = text.crop(0, 0, im.width, im.height)
import time
# we want to blend into the visible part of the image and leave any alpha
# channels untouched ... we need to split im into two parts
import pyvips
from PIL import Image
import numpy as np
# 16-bit images have 65535 as white
if im.format == Vips.BandFormat.USHORT:
white = 65535
else:
white = 255
if len(sys.argv) != 3:
print('usage: {0} input-filename output-filename'.format(sys.argv[0]))
sys.exit(-1)
# guess how many bands from the start of im contain visible colour information
if im.bands &gt;= 4 and im.interpretation == Vips.Interpretation.CMYK:
# cmyk image ... put the white into the magenta channel
n_visible_bands = 4
text_colour = [0, white, 0, 0]
elif im.bands &gt;= 3:
# colour image ... put the white into the red channel
n_visible_bands = 3
text_colour = [white, 0, 0]
else:
# mono image
n_visible_bands = 1
text_colour = white
# map vips formats to np dtypes
format_to_dtype = {
'uchar': np.uint8,
'char': np.int8,
'ushort': np.uint16,
'short': np.int16,
'uint': np.uint32,
'int': np.int32,
'float': np.float32,
'double': np.float64,
'complex': np.complex64,
'dpcomplex': np.complex128,
}
# split into image and alpha
if im.bands - n_visible_bands &gt; 0:
alpha = im.extract_band(n_visible_bands, n = im.bands - n_visible_bands)
im = im.extract_band(0, n = n_visible_bands)
else:
alpha = None
# map np dtypes to vips
dtype_to_format = {
'uint8': 'uchar',
'int8': 'char',
'uint16': 'ushort',
'int16': 'short',
'uint32': 'uint',
'int32': 'int',
'float32': 'float',
'float64': 'double',
'complex64': 'complex',
'complex128': 'dpcomplex',
}
# blend means do a smooth fade using the 0 - 255 values in the condition channel
# (test in this case) ... this will render the anit-aliasing
im = text.ifthenelse(text_colour, im, blend = True)
# load with PIL
start_pillow = time.time()
pillow_img = np.asarray(Image.open(sys.argv[1]))
print('Pillow Time:', time.time()-start_pillow)
print('original shape', pillow_img.shape)
# reattach alpha
if alpha:
im = im.bandjoin(alpha)
im.write_to_file(sys.argv[2])
# load with vips to a memory array
start_vips = time.time()
img = pyvips.Image.new_from_file(sys.argv[1], access='sequential')
mem_img = img.write_to_memory()
# then make a numpy array from that buffer object
np_3d = np.ndarray(buffer=mem_img,
dtype=format_to_dtype[img.format],
shape=[img.height, img.width, img.bands])
print('Vips Time:', time.time()-start_vips)
print('final shape', np_3d.shape)
# verify we have the same result
print('Sum of the Differences:', np.sum(np_3d-pillow_img))
# make a vips image from the numpy array
height, width, bands = np_3d.shape
linear = np_3d.reshape(width * height * bands)
vi = pyvips.Image.new_from_memory(linear.data, width, height, bands,
dtype_to_format[str(np_3d.dtype)])
# and write back to disc for checking
vi.write_to_file(sys.argv[2])
</programlisting>
</refsect3>
<refsect3 id="build-huge-image-mosaic">
@ -219,19 +151,13 @@ sys 0m8.936s
import sys
import random
import gi
gi.require_version('Vips', '8.0')
from gi.repository import Vips
# turn on progress reporting
Vips.progress_set(True)
import pyvips
# this makes a 8-bit, mono image of 100,000 x 100,000 pixels, each pixel zero
im = Vips.Image.black(100000, 100000)
im = pyvips.Image.black(100000, 100000)
for filename in sys.argv[2:]:
tile = Vips.Image.new_from_file(filename, access = Vips.Access.SEQUENTIAL)
tile = pyvips.Image.new_from_file(filename, access='sequential')
im = im.insert(tile,
random.randint(0, im.width - tile.width),
@ -240,82 +166,6 @@ for filename in sys.argv[2:]:
im.write_to_file(sys.argv[1])
</programlisting>
</refsect3>
<refsect3 id="rename-dicom-images-using-header-fields">
<title>Rename DICOM images using header fields</title>
<para>
DICOM images commonly come in an awful directory hierarchy named as something like <literal>images/a/b/e/z04</literal>. There can be thousands of files and it can be very hard to find the one you want.
</para>
<para>
This utility copies files to a single flat directory, naming them using fields from the DICOM header. You can actually find stuff! Useful.
</para>
<programlisting language="python">
#!/usr/bin/env python
import sys
import re
import os
import shutil
import gi
gi.require_version('Vips', '8.0')
from gi.repository import Vips
if len(sys.argv) != 3:
print 'rename DICOM files using tags from the header'
sys.exit(1)
srcdir = sys.argv[1]
destdir = sys.argv[2]
if not os.access(destdir, os.F_OK | os.R_OK | os.W_OK | os.X_OK):
os.mkdir(destdir)
def get_field(vim, field):
result = vim.get_value(field)
# remove any \n etc.
result = re.sub(&quot;\n&quot;, &quot;&quot;, result)
# remove any leading or trailing spaces
result = re.sub(&quot; $&quot;, &quot;&quot;, result)
result = re.sub(&quot;^ &quot;, &quot;&quot;, result)
return result
modality_name = &quot;magick-dcm:Modality&quot;
series_name = &quot;magick-dcm:SeriesNumber&quot;
instance_name = &quot;magick-dcm:Instance(formerlyImage)Number&quot;
date_name = &quot;magick-dcm:ImageDate&quot;
for(dirpath, dirnames, filenames) in os.walk(srcdir):
for file in filenames:
path = os.path.join(dirpath, file)
try:
vim = Vips.Image.new_from_file(path)
except Vips.Error, e:
print 'unable to open', path
print e
continue
try:
modality = get_field(vim, modality_name)
series = get_field(vim, series_name)
instance = get_field(vim, instance_name)
date = get_field(vim, date_name)
except Vips.Error, e:
print 'unable to get fields from header', path
print e
continue
match = re.match(&quot;(\d\d\d\d)(\d\d)(\d\d)&quot;, date)
date = match.group(1) + &quot;.&quot; + match.group(2) + &quot;.&quot; + match.group(3)
newname = &quot;lan.&quot; + modality + &quot;.&quot; + instance + &quot;.&quot; + date + &quot;.IMA&quot;
shutil.copyfile(path, os.path.join(destdir, newname))
</programlisting>
</refsect3>
</refentry>

View File

@ -1,418 +1,419 @@
// headers for package arithmetic
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
VImage abs();
VImage acos();
VImage add( VImage add_in2 );
VImage asin();
VImage atan();
double avg();
double point( char* point_interpolate, double point_x, double point_y, int point_band );
double point_bilinear( double point_bilinear_x, double point_bilinear_y, int point_bilinear_band );
VImage bandmean();
VImage ceil();
VImage cos();
VImage cross_phase( VImage cross_phase_in2 );
double deviate();
VImage divide( VImage divide_in2 );
VImage exp10();
VImage expn( double expn_x );
VImage expn( std::vector<double> expn_v );
VImage exp();
VImage floor();
VImage invert();
VImage lin( double lin_a, double lin_b );
static VImage linreg( std::vector<VImage> linreg_ins, std::vector<double> linreg_xs );
VImage lin( std::vector<double> lin_a, std::vector<double> lin_b );
VImage log10();
VImage log();
double max();
std::complex<double> maxpos();
double maxpos_avg( double& maxpos_avg_y, double& maxpos_avg_out );
VDMask measure( int measure_x, int measure_y, int measure_w, int measure_h, int measure_h_patches, int measure_v_patches );
double min();
std::complex<double> minpos();
VImage multiply( VImage multiply_in2 );
VImage pow( double pow_x );
VImage pow( std::vector<double> pow_v );
VImage recomb( VDMask recomb_matrix );
VImage remainder( VImage remainder_in2 );
VImage remainder( double remainder_x );
VImage remainder( std::vector<double> remainder_x );
VImage rint();
VImage sign();
VImage sin();
VDMask stats();
VImage subtract( VImage subtract_in2 );
VImage tan();
// VIPS library 8.6.0-Sun Nov 26 17:26:29 GMT 2017
VImage abs() throw( VError );
VImage acos() throw( VError );
VImage add( VImage add_in2 ) throw( VError );
VImage asin() throw( VError );
VImage atan() throw( VError );
double avg() throw( VError );
double point( char* point_interpolate, double point_x, double point_y, int point_band ) throw( VError );
double point_bilinear( double point_bilinear_x, double point_bilinear_y, int point_bilinear_band ) throw( VError );
VImage bandmean() throw( VError );
VImage ceil() throw( VError );
VImage cos() throw( VError );
VImage cross_phase( VImage cross_phase_in2 ) throw( VError );
double deviate() throw( VError );
VImage divide( VImage divide_in2 ) throw( VError );
VImage exp10() throw( VError );
VImage expn( double expn_x ) throw( VError );
VImage expn( std::vector<double> expn_v ) throw( VError );
VImage exp() throw( VError );
VImage floor() throw( VError );
VImage invert() throw( VError );
VImage lin( double lin_a, double lin_b ) throw( VError );
static VImage linreg( std::vector<VImage> linreg_ins, std::vector<double> linreg_xs ) throw( VError );
VImage lin( std::vector<double> lin_a, std::vector<double> lin_b ) throw( VError );
VImage log10() throw( VError );
VImage log() throw( VError );
double max() throw( VError );
std::complex<double> maxpos() throw( VError );
double maxpos_avg( double& maxpos_avg_y, double& maxpos_avg_out ) throw( VError );
VDMask measure( int measure_x, int measure_y, int measure_w, int measure_h, int measure_h_patches, int measure_v_patches ) throw( VError );
double min() throw( VError );
std::complex<double> minpos() throw( VError );
VImage multiply( VImage multiply_in2 ) throw( VError );
VImage pow( double pow_x ) throw( VError );
VImage pow( std::vector<double> pow_v ) throw( VError );
VImage recomb( VDMask recomb_matrix ) throw( VError );
VImage remainder( VImage remainder_in2 ) throw( VError );
VImage remainder( double remainder_x ) throw( VError );
VImage remainder( std::vector<double> remainder_x ) throw( VError );
VImage rint() throw( VError );
VImage sign() throw( VError );
VImage sin() throw( VError );
VDMask stats() throw( VError );
VImage subtract( VImage subtract_in2 ) throw( VError );
VImage tan() throw( VError );
// headers for package cimg
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
VImage greyc( int greyc_iterations, double greyc_amplitude, double greyc_sharpness, double greyc_anisotropy, double greyc_alpha, double greyc_sigma, double greyc_dl, double greyc_da, double greyc_gauss_prec, int greyc_interpolation, int greyc_fast_approx );
VImage greyc_mask( VImage greyc_mask_mask, int greyc_mask_iterations, double greyc_mask_amplitude, double greyc_mask_sharpness, double greyc_mask_anisotropy, double greyc_mask_alpha, double greyc_mask_sigma, double greyc_mask_dl, double greyc_mask_da, double greyc_mask_gauss_prec, int greyc_mask_interpolation, int greyc_mask_fast_approx );
// VIPS library 8.6.0-Sun Nov 26 17:26:29 GMT 2017
VImage greyc( int greyc_iterations, double greyc_amplitude, double greyc_sharpness, double greyc_anisotropy, double greyc_alpha, double greyc_sigma, double greyc_dl, double greyc_da, double greyc_gauss_prec, int greyc_interpolation, int greyc_fast_approx ) throw( VError );
VImage greyc_mask( VImage greyc_mask_mask, int greyc_mask_iterations, double greyc_mask_amplitude, double greyc_mask_sharpness, double greyc_mask_anisotropy, double greyc_mask_alpha, double greyc_mask_sigma, double greyc_mask_dl, double greyc_mask_da, double greyc_mask_gauss_prec, int greyc_mask_interpolation, int greyc_mask_fast_approx ) throw( VError );
// headers for package colour
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
VImage LCh2Lab();
VImage LCh2UCS();
VImage Lab2LCh();
VImage Lab2LabQ();
VImage Lab2LabS();
VImage Lab2UCS();
VImage Lab2XYZ();
VImage Lab2XYZ_temp( double Lab2XYZ_temp_X0, double Lab2XYZ_temp_Y0, double Lab2XYZ_temp_Z0 );
VImage Lab2disp( VDisplay Lab2disp_disp );
VImage LabQ2LabS();
VImage LabQ2Lab();
VImage LabQ2XYZ();
VImage LabQ2disp( VDisplay LabQ2disp_disp );
VImage LabS2LabQ();
VImage LabS2Lab();
VImage UCS2LCh();
VImage UCS2Lab();
VImage UCS2XYZ();
VImage XYZ2Lab();
VImage XYZ2Lab_temp( double XYZ2Lab_temp_X0, double XYZ2Lab_temp_Y0, double XYZ2Lab_temp_Z0 );
VImage XYZ2UCS();
VImage XYZ2Yxy();
VImage XYZ2disp( VDisplay XYZ2disp_disp );
VImage XYZ2sRGB();
VImage Yxy2XYZ();
VImage dE00_fromLab( VImage dE00_fromLab_in2 );
VImage dECMC_fromLab( VImage dECMC_fromLab_in2 );
VImage dECMC_fromdisp( VImage dECMC_fromdisp_in2, VDisplay dECMC_fromdisp_disp );
VImage dE_fromLab( VImage dE_fromLab_in2 );
VImage dE_fromXYZ( VImage dE_fromXYZ_in2 );
VImage dE_fromdisp( VImage dE_fromdisp_in2, VDisplay dE_fromdisp_disp );
VImage disp2Lab( VDisplay disp2Lab_disp );
VImage disp2XYZ( VDisplay disp2XYZ_disp );
VImage float2rad();
VImage icc_ac2rc( char* icc_ac2rc_profile );
VImage icc_export_depth( int icc_export_depth_depth, char* icc_export_depth_output_profile, int icc_export_depth_intent );
VImage icc_import( char* icc_import_input_profile, int icc_import_intent );
VImage icc_import_embedded( int icc_import_embedded_intent );
VImage icc_transform( char* icc_transform_input_profile, char* icc_transform_output_profile, int icc_transform_intent );
VImage lab_morph( VDMask lab_morph_greyscale, double lab_morph_L_offset, double lab_morph_L_scale, double lab_morph_a_scale, double lab_morph_b_scale );
VImage rad2float();
VImage sRGB2XYZ();
// VIPS library 8.6.0-Sun Nov 26 17:26:29 GMT 2017
VImage LCh2Lab() throw( VError );
VImage LCh2UCS() throw( VError );
VImage Lab2LCh() throw( VError );
VImage Lab2LabQ() throw( VError );
VImage Lab2LabS() throw( VError );
VImage Lab2UCS() throw( VError );
VImage Lab2XYZ() throw( VError );
VImage Lab2XYZ_temp( double Lab2XYZ_temp_X0, double Lab2XYZ_temp_Y0, double Lab2XYZ_temp_Z0 ) throw( VError );
VImage Lab2disp( VDisplay Lab2disp_disp ) throw( VError );
VImage LabQ2LabS() throw( VError );
VImage LabQ2Lab() throw( VError );
VImage LabQ2XYZ() throw( VError );
VImage LabQ2disp( VDisplay LabQ2disp_disp ) throw( VError );
VImage LabS2LabQ() throw( VError );
VImage LabS2Lab() throw( VError );
VImage UCS2LCh() throw( VError );
VImage UCS2Lab() throw( VError );
VImage UCS2XYZ() throw( VError );
VImage XYZ2Lab() throw( VError );
VImage XYZ2Lab_temp( double XYZ2Lab_temp_X0, double XYZ2Lab_temp_Y0, double XYZ2Lab_temp_Z0 ) throw( VError );
VImage XYZ2UCS() throw( VError );
VImage XYZ2Yxy() throw( VError );
VImage XYZ2disp( VDisplay XYZ2disp_disp ) throw( VError );
VImage XYZ2sRGB() throw( VError );
VImage Yxy2XYZ() throw( VError );
VImage dE00_fromLab( VImage dE00_fromLab_in2 ) throw( VError );
VImage dECMC_fromLab( VImage dECMC_fromLab_in2 ) throw( VError );
VImage dECMC_fromdisp( VImage dECMC_fromdisp_in2, VDisplay dECMC_fromdisp_disp ) throw( VError );
VImage dE_fromLab( VImage dE_fromLab_in2 ) throw( VError );
VImage dE_fromXYZ( VImage dE_fromXYZ_in2 ) throw( VError );
VImage dE_fromdisp( VImage dE_fromdisp_in2, VDisplay dE_fromdisp_disp ) throw( VError );
VImage disp2Lab( VDisplay disp2Lab_disp ) throw( VError );
VImage disp2XYZ( VDisplay disp2XYZ_disp ) throw( VError );
VImage float2rad() throw( VError );
VImage icc_ac2rc( char* icc_ac2rc_profile ) throw( VError );
VImage icc_export_depth( int icc_export_depth_depth, char* icc_export_depth_output_profile, int icc_export_depth_intent ) throw( VError );
VImage icc_import( char* icc_import_input_profile, int icc_import_intent ) throw( VError );
VImage icc_import_embedded( int icc_import_embedded_intent ) throw( VError );
VImage icc_transform( char* icc_transform_input_profile, char* icc_transform_output_profile, int icc_transform_intent ) throw( VError );
VImage lab_morph( VDMask lab_morph_greyscale, double lab_morph_L_offset, double lab_morph_L_scale, double lab_morph_a_scale, double lab_morph_b_scale ) throw( VError );
VImage rad2float() throw( VError );
VImage sRGB2XYZ() throw( VError );
// headers for package conversion
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
static VImage gaussnoise( int gaussnoise_xsize, int gaussnoise_ysize, double gaussnoise_mean, double gaussnoise_sigma );
VImage bandjoin( VImage bandjoin_in2 );
static VImage black( int black_x_size, int black_y_size, int black_bands );
VImage c2amph();
VImage c2imag();
VImage c2real();
VImage c2rect();
VImage clip2fmt( int clip2fmt_ofmt );
VImage copy();
VImage copy_file();
VImage copy_morph( int copy_morph_Bands, int copy_morph_BandFmt, int copy_morph_Coding );
VImage copy_swap();
VImage copy_set( int copy_set_Type, double copy_set_Xres, double copy_set_Yres, int copy_set_Xoffset, int copy_set_Yoffset );
VImage extract_area( int extract_area_left, int extract_area_top, int extract_area_width, int extract_area_height );
VImage extract_areabands( int extract_areabands_left, int extract_areabands_top, int extract_areabands_width, int extract_areabands_height, int extract_areabands_band, int extract_areabands_nbands );
VImage extract_band( int extract_band_band );
VImage extract_bands( int extract_bands_band, int extract_bands_nbands );
VImage extract( int extract_left, int extract_top, int extract_width, int extract_height, int extract_band );
VImage falsecolour();
VImage fliphor();
VImage flipver();
static VImage gbandjoin( std::vector<VImage> gbandjoin_in );
VImage grid( int grid_tile_height, int grid_across, int grid_down );
VImage insert( VImage insert_sub, int insert_x, int insert_y );
VImage insert( VImage insert_sub, std::vector<int> insert_x, std::vector<int> insert_y );
VImage insert_noexpand( VImage insert_noexpand_sub, int insert_noexpand_x, int insert_noexpand_y );
VImage embed( int embed_type, int embed_x, int embed_y, int embed_width, int embed_height );
VImage lrjoin( VImage lrjoin_in2 );
VImage msb();
VImage msb_band( int msb_band_band );
VImage replicate( int replicate_across, int replicate_down );
VImage ri2c( VImage ri2c_in2 );
VImage rot180();
VImage rot270();
VImage rot90();
VImage scale();
VImage scaleps();
VImage subsample( int subsample_xshrink, int subsample_yshrink );
char* system( char* system_command );
VImage system_image( char* system_image_in_format, char* system_image_out_format, char* system_image_command, char*& system_image_log );
VImage tbjoin( VImage tbjoin_in2 );
static VImage text( char* text_text, char* text_font, int text_width, int text_alignment, int text_dpi );
VImage wrap( int wrap_x, int wrap_y );
VImage zoom( int zoom_xfac, int zoom_yfac );
// VIPS library 8.6.0-Sun Nov 26 17:26:29 GMT 2017
static VImage gaussnoise( int gaussnoise_xsize, int gaussnoise_ysize, double gaussnoise_mean, double gaussnoise_sigma ) throw( VError );
VImage bandjoin( VImage bandjoin_in2 ) throw( VError );
static VImage black( int black_x_size, int black_y_size, int black_bands ) throw( VError );
VImage c2amph() throw( VError );
VImage c2imag() throw( VError );
VImage c2real() throw( VError );
VImage c2rect() throw( VError );
VImage clip2fmt( int clip2fmt_ofmt ) throw( VError );
VImage copy() throw( VError );
VImage copy_file() throw( VError );
VImage copy_morph( int copy_morph_Bands, int copy_morph_BandFmt, int copy_morph_Coding ) throw( VError );
VImage copy_swap() throw( VError );
VImage copy_set( int copy_set_Type, double copy_set_Xres, double copy_set_Yres, int copy_set_Xoffset, int copy_set_Yoffset ) throw( VError );
VImage extract_area( int extract_area_left, int extract_area_top, int extract_area_width, int extract_area_height ) throw( VError );
VImage extract_areabands( int extract_areabands_left, int extract_areabands_top, int extract_areabands_width, int extract_areabands_height, int extract_areabands_band, int extract_areabands_nbands ) throw( VError );
VImage extract_band( int extract_band_band ) throw( VError );
VImage extract_bands( int extract_bands_band, int extract_bands_nbands ) throw( VError );
VImage extract( int extract_left, int extract_top, int extract_width, int extract_height, int extract_band ) throw( VError );
VImage falsecolour() throw( VError );
VImage fliphor() throw( VError );
VImage flipver() throw( VError );
static VImage gbandjoin( std::vector<VImage> gbandjoin_in ) throw( VError );
VImage grid( int grid_tile_height, int grid_across, int grid_down ) throw( VError );
VImage insert( VImage insert_sub, int insert_x, int insert_y ) throw( VError );
VImage insert( VImage insert_sub, std::vector<int> insert_x, std::vector<int> insert_y ) throw( VError );
VImage insert_noexpand( VImage insert_noexpand_sub, int insert_noexpand_x, int insert_noexpand_y ) throw( VError );
VImage embed( int embed_type, int embed_x, int embed_y, int embed_width, int embed_height ) throw( VError );
VImage lrjoin( VImage lrjoin_in2 ) throw( VError );
VImage msb() throw( VError );
VImage msb_band( int msb_band_band ) throw( VError );
VImage replicate( int replicate_across, int replicate_down ) throw( VError );
VImage ri2c( VImage ri2c_in2 ) throw( VError );
VImage rot180() throw( VError );
VImage rot270() throw( VError );
VImage rot90() throw( VError );
VImage scale() throw( VError );
VImage scaleps() throw( VError );
VImage subsample( int subsample_xshrink, int subsample_yshrink ) throw( VError );
char* system( char* system_command ) throw( VError );
VImage system_image( char* system_image_in_format, char* system_image_out_format, char* system_image_command, char*& system_image_log ) throw( VError );
VImage tbjoin( VImage tbjoin_in2 ) throw( VError );
static VImage text( char* text_text, char* text_font, int text_width, int text_alignment, int text_dpi ) throw( VError );
VImage wrap( int wrap_x, int wrap_y ) throw( VError );
VImage zoom( int zoom_xfac, int zoom_yfac ) throw( VError );
// headers for package convolution
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
VImage aconvsep( VDMask aconvsep_matrix, int aconvsep_n_layers );
VImage aconv( VDMask aconv_matrix, int aconv_n_layers, int aconv_cluster );
VImage addgnoise( double addgnoise_sigma );
VImage compass( VIMask compass_matrix );
VImage contrast_surface( int contrast_surface_half_win_size, int contrast_surface_spacing );
VImage conv( VIMask conv_matrix );
VImage conv( VDMask conv_matrix );
VImage convsep( VIMask convsep_matrix );
VImage convsep( VDMask convsep_matrix );
VImage fastcor( VImage fastcor_in2 );
VImage gradcor( VImage gradcor_in2 );
VImage gradient( VIMask gradient_matrix );
VImage grad_x();
VImage grad_y();
VImage lindetect( VIMask lindetect_matrix );
VImage sharpen( int sharpen_mask_size, double sharpen_x1, double sharpen_y2, double sharpen_y3, double sharpen_m1, double sharpen_m2 );
VImage spcor( VImage spcor_in2 );
// VIPS library 8.6.0-Sun Nov 26 17:26:29 GMT 2017
VImage aconvsep( VDMask aconvsep_matrix, int aconvsep_n_layers ) throw( VError );
VImage aconv( VDMask aconv_matrix, int aconv_n_layers, int aconv_cluster ) throw( VError );
VImage addgnoise( double addgnoise_sigma ) throw( VError );
VImage compass( VIMask compass_matrix ) throw( VError );
VImage contrast_surface( int contrast_surface_half_win_size, int contrast_surface_spacing ) throw( VError );
VImage conv( VIMask conv_matrix ) throw( VError );
VImage conv( VDMask conv_matrix ) throw( VError );
VImage convsep( VIMask convsep_matrix ) throw( VError );
VImage convsep( VDMask convsep_matrix ) throw( VError );
VImage fastcor( VImage fastcor_in2 ) throw( VError );
VImage gradcor( VImage gradcor_in2 ) throw( VError );
VImage gradient( VIMask gradient_matrix ) throw( VError );
VImage grad_x() throw( VError );
VImage grad_y() throw( VError );
VImage lindetect( VIMask lindetect_matrix ) throw( VError );
VImage sharpen( int sharpen_mask_size, double sharpen_x1, double sharpen_y2, double sharpen_y3, double sharpen_m1, double sharpen_m2 ) throw( VError );
VImage spcor( VImage spcor_in2 ) throw( VError );
// headers for package deprecated
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
VImage argb2rgba();
VImage flood_copy( int flood_copy_start_x, int flood_copy_start_y, std::vector<double> flood_copy_ink );
VImage flood_blob_copy( int flood_blob_copy_start_x, int flood_blob_copy_start_y, std::vector<double> flood_blob_copy_ink );
VImage flood_other_copy( VImage flood_other_copy_mark, int flood_other_copy_start_x, int flood_other_copy_start_y, int flood_other_copy_serial );
VImage clip();
VImage c2ps();
VImage resize_linear( int resize_linear_X, int resize_linear_Y );
VImage cmulnorm( VImage cmulnorm_in2 );
VImage fav4( VImage fav4_in2, VImage fav4_in3, VImage fav4_in4 );
VImage gadd( double gadd_a, double gadd_b, VImage gadd_in2, double gadd_c );
VImage icc_export( char* icc_export_output_profile, int icc_export_intent );
VImage litecor( VImage litecor_white, int litecor_clip, double litecor_factor );
VImage affine( double affine_a, double affine_b, double affine_c, double affine_d, double affine_dx, double affine_dy, int affine_x, int affine_y, int affine_w, int affine_h );
VImage clip2c();
VImage clip2cm();
VImage clip2d();
VImage clip2dcm();
VImage clip2f();
VImage clip2i();
VImage convsub( VIMask convsub_matrix, int convsub_xskip, int convsub_yskip );
VImage convf( VDMask convf_matrix );
VImage convsepf( VDMask convsepf_matrix );
VImage clip2s();
VImage clip2ui();
VImage insertplace( VImage insertplace_sub, std::vector<int> insertplace_x, std::vector<int> insertplace_y );
VImage clip2us();
VImage slice( double slice_thresh1, double slice_thresh2 );
VImage segment( int& segment_segments );
void line( int line_x1, int line_y1, int line_x2, int line_y2, int line_pelval );
VImage thresh( double thresh_threshold );
VImage convf_raw( VDMask convf_raw_matrix );
VImage conv_raw( VIMask conv_raw_matrix );
VImage contrast_surface_raw( int contrast_surface_raw_half_win_size, int contrast_surface_raw_spacing );
VImage convsepf_raw( VDMask convsepf_raw_matrix );
VImage convsep_raw( VIMask convsep_raw_matrix );
VImage fastcor_raw( VImage fastcor_raw_in2 );
VImage gradcor_raw( VImage gradcor_raw_in2 );
VImage spcor_raw( VImage spcor_raw_in2 );
VImage lhisteq_raw( int lhisteq_raw_width, int lhisteq_raw_height );
VImage stdif_raw( double stdif_raw_a, double stdif_raw_m0, double stdif_raw_b, double stdif_raw_s0, int stdif_raw_xw, int stdif_raw_yw );
VImage rank_raw( int rank_raw_xsize, int rank_raw_ysize, int rank_raw_n );
VImage dilate_raw( VIMask dilate_raw_mask );
VImage erode_raw( VIMask erode_raw_mask );
VImage similarity_area( double similarity_area_a, double similarity_area_b, double similarity_area_dx, double similarity_area_dy, int similarity_area_x, int similarity_area_y, int similarity_area_w, int similarity_area_h );
VImage similarity( double similarity_a, double similarity_b, double similarity_dx, double similarity_dy );
static VImage mask2vips( VDMask mask2vips_input );
VDMask vips2mask();
void insertplace( VImage insertplace_sub, int insertplace_x, int insertplace_y );
void circle( int circle_cx, int circle_cy, int circle_radius, int circle_intensity );
VImage andimage( VImage andimage_in2 );
VImage andimage( int andimage_c );
VImage andimage( std::vector<double> andimage_vec );
VImage orimage( VImage orimage_in2 );
VImage orimage( int orimage_c );
VImage orimage( std::vector<double> orimage_vec );
VImage eorimage( VImage eorimage_in2 );
VImage eorimage( int eorimage_c );
VImage eorimage( std::vector<double> eorimage_vec );
VImage shiftleft( std::vector<double> shiftleft_vec );
VImage shiftleft( int shiftleft_c );
VImage shiftright( std::vector<double> shiftright_vec );
VImage shiftright( int shiftright_c );
VImage blend( VImage blend_in1, VImage blend_in2 );
VImage equal( VImage equal_in2 );
VImage equal( std::vector<double> equal_vec );
VImage equal( double equal_c );
VImage ifthenelse( VImage ifthenelse_in1, VImage ifthenelse_in2 );
VImage less( VImage less_in2 );
VImage less( std::vector<double> less_vec );
VImage less( double less_c );
VImage lesseq( VImage lesseq_in2 );
VImage lesseq( std::vector<double> lesseq_vec );
VImage lesseq( double lesseq_c );
VImage more( VImage more_in2 );
VImage more( std::vector<double> more_vec );
VImage more( double more_c );
VImage moreeq( VImage moreeq_in2 );
VImage moreeq( std::vector<double> moreeq_vec );
VImage moreeq( double moreeq_c );
VImage notequal( VImage notequal_in2 );
VImage notequal( std::vector<double> notequal_vec );
VImage notequal( double notequal_c );
VImage quadratic( VImage quadratic_coeff );
// VIPS library 8.6.0-Sun Nov 26 17:26:29 GMT 2017
VImage argb2rgba() throw( VError );
VImage flood_copy( int flood_copy_start_x, int flood_copy_start_y, std::vector<double> flood_copy_ink ) throw( VError );
VImage flood_blob_copy( int flood_blob_copy_start_x, int flood_blob_copy_start_y, std::vector<double> flood_blob_copy_ink ) throw( VError );
VImage flood_other_copy( VImage flood_other_copy_mark, int flood_other_copy_start_x, int flood_other_copy_start_y, int flood_other_copy_serial ) throw( VError );
VImage clip() throw( VError );
VImage c2ps() throw( VError );
VImage resize_linear( int resize_linear_X, int resize_linear_Y ) throw( VError );
VImage cmulnorm( VImage cmulnorm_in2 ) throw( VError );
VImage fav4( VImage fav4_in2, VImage fav4_in3, VImage fav4_in4 ) throw( VError );
VImage gadd( double gadd_a, double gadd_b, VImage gadd_in2, double gadd_c ) throw( VError );
VImage icc_export( char* icc_export_output_profile, int icc_export_intent ) throw( VError );
VImage litecor( VImage litecor_white, int litecor_clip, double litecor_factor ) throw( VError );
VImage affine( double affine_a, double affine_b, double affine_c, double affine_d, double affine_dx, double affine_dy, int affine_x, int affine_y, int affine_w, int affine_h ) throw( VError );
VImage clip2c() throw( VError );
VImage clip2cm() throw( VError );
VImage clip2d() throw( VError );
VImage clip2dcm() throw( VError );
VImage clip2f() throw( VError );
VImage clip2i() throw( VError );
VImage convsub( VIMask convsub_matrix, int convsub_xskip, int convsub_yskip ) throw( VError );
VImage convf( VDMask convf_matrix ) throw( VError );
VImage convsepf( VDMask convsepf_matrix ) throw( VError );
VImage clip2s() throw( VError );
VImage clip2ui() throw( VError );
VImage insertplace( VImage insertplace_sub, std::vector<int> insertplace_x, std::vector<int> insertplace_y ) throw( VError );
VImage clip2us() throw( VError );
VImage slice( double slice_thresh1, double slice_thresh2 ) throw( VError );
VImage segment( int& segment_segments ) throw( VError );
void line( int line_x1, int line_y1, int line_x2, int line_y2, int line_pelval ) throw( VError );
VImage thresh( double thresh_threshold ) throw( VError );
VImage convf_raw( VDMask convf_raw_matrix ) throw( VError );
VImage conv_raw( VIMask conv_raw_matrix ) throw( VError );
VImage contrast_surface_raw( int contrast_surface_raw_half_win_size, int contrast_surface_raw_spacing ) throw( VError );
VImage convsepf_raw( VDMask convsepf_raw_matrix ) throw( VError );
VImage convsep_raw( VIMask convsep_raw_matrix ) throw( VError );
VImage fastcor_raw( VImage fastcor_raw_in2 ) throw( VError );
VImage gradcor_raw( VImage gradcor_raw_in2 ) throw( VError );
VImage spcor_raw( VImage spcor_raw_in2 ) throw( VError );
VImage lhisteq_raw( int lhisteq_raw_width, int lhisteq_raw_height ) throw( VError );
VImage stdif_raw( double stdif_raw_a, double stdif_raw_m0, double stdif_raw_b, double stdif_raw_s0, int stdif_raw_xw, int stdif_raw_yw ) throw( VError );
VImage rank_raw( int rank_raw_xsize, int rank_raw_ysize, int rank_raw_n ) throw( VError );
VImage dilate_raw( VIMask dilate_raw_mask ) throw( VError );
VImage erode_raw( VIMask erode_raw_mask ) throw( VError );
VImage similarity_area( double similarity_area_a, double similarity_area_b, double similarity_area_dx, double similarity_area_dy, int similarity_area_x, int similarity_area_y, int similarity_area_w, int similarity_area_h ) throw( VError );
VImage similarity( double similarity_a, double similarity_b, double similarity_dx, double similarity_dy ) throw( VError );
static VImage mask2vips( VDMask mask2vips_input ) throw( VError );
VDMask vips2mask() throw( VError );
void insertplace( VImage insertplace_sub, int insertplace_x, int insertplace_y ) throw( VError );
void circle( int circle_cx, int circle_cy, int circle_radius, int circle_intensity ) throw( VError );
VImage andimage( VImage andimage_in2 ) throw( VError );
VImage andimage( int andimage_c ) throw( VError );
VImage andimage( std::vector<double> andimage_vec ) throw( VError );
VImage orimage( VImage orimage_in2 ) throw( VError );
VImage orimage( int orimage_c ) throw( VError );
VImage orimage( std::vector<double> orimage_vec ) throw( VError );
VImage eorimage( VImage eorimage_in2 ) throw( VError );
VImage eorimage( int eorimage_c ) throw( VError );
VImage eorimage( std::vector<double> eorimage_vec ) throw( VError );
VImage shiftleft( std::vector<double> shiftleft_vec ) throw( VError );
VImage shiftleft( int shiftleft_c ) throw( VError );
VImage shiftright( std::vector<double> shiftright_vec ) throw( VError );
VImage shiftright( int shiftright_c ) throw( VError );
VImage blend( VImage blend_in1, VImage blend_in2 ) throw( VError );
VImage equal( VImage equal_in2 ) throw( VError );
VImage equal( std::vector<double> equal_vec ) throw( VError );
VImage equal( double equal_c ) throw( VError );
VImage ifthenelse( VImage ifthenelse_in1, VImage ifthenelse_in2 ) throw( VError );
VImage less( VImage less_in2 ) throw( VError );
VImage less( std::vector<double> less_vec ) throw( VError );
VImage less( double less_c ) throw( VError );
VImage lesseq( VImage lesseq_in2 ) throw( VError );
VImage lesseq( std::vector<double> lesseq_vec ) throw( VError );
VImage lesseq( double lesseq_c ) throw( VError );
VImage more( VImage more_in2 ) throw( VError );
VImage more( std::vector<double> more_vec ) throw( VError );
VImage more( double more_c ) throw( VError );
VImage moreeq( VImage moreeq_in2 ) throw( VError );
VImage moreeq( std::vector<double> moreeq_vec ) throw( VError );
VImage moreeq( double moreeq_c ) throw( VError );
VImage notequal( VImage notequal_in2 ) throw( VError );
VImage notequal( std::vector<double> notequal_vec ) throw( VError );
VImage notequal( double notequal_c ) throw( VError );
VImage quadratic( VImage quadratic_coeff ) throw( VError );
// headers for package format
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
static VImage csv2vips( char* csv2vips_filename );
static VImage fits2vips( char* fits2vips_in );
static VImage jpeg2vips( char* jpeg2vips_in );
static VImage magick2vips( char* magick2vips_in );
static VImage png2vips( char* png2vips_in );
static VImage exr2vips( char* exr2vips_in );
static VImage ppm2vips( char* ppm2vips_filename );
static VImage analyze2vips( char* analyze2vips_filename );
static VImage tiff2vips( char* tiff2vips_in );
void vips2csv( char* vips2csv_filename );
void vips2dz( char* vips2dz_out );
void vips2jpeg( char* vips2jpeg_out );
void vips2mimejpeg( int vips2mimejpeg_qfac );
void vips2png( char* vips2png_out );
void vips2ppm( char* vips2ppm_filename );
void vips2tiff( char* vips2tiff_out );
// VIPS library 8.6.0-Sun Nov 26 17:26:29 GMT 2017
static VImage csv2vips( char* csv2vips_filename ) throw( VError );
static VImage fits2vips( char* fits2vips_in ) throw( VError );
static VImage jpeg2vips( char* jpeg2vips_in ) throw( VError );
static VImage magick2vips( char* magick2vips_in ) throw( VError );
static VImage png2vips( char* png2vips_in ) throw( VError );
static VImage exr2vips( char* exr2vips_in ) throw( VError );
static VImage ppm2vips( char* ppm2vips_filename ) throw( VError );
static VImage analyze2vips( char* analyze2vips_filename ) throw( VError );
static VImage tiff2vips( char* tiff2vips_in ) throw( VError );
void vips2csv( char* vips2csv_filename ) throw( VError );
void vips2dz( char* vips2dz_out ) throw( VError );
void vips2jpeg( char* vips2jpeg_out ) throw( VError );
void vips2mimejpeg( int vips2mimejpeg_qfac ) throw( VError );
void vips2png( char* vips2png_out ) throw( VError );
void vips2ppm( char* vips2ppm_filename ) throw( VError );
void vips2tiff( char* vips2tiff_out ) throw( VError );
// headers for package freq_filt
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
static VImage create_fmask( int create_fmask_width, int create_fmask_height, int create_fmask_type, double create_fmask_p1, double create_fmask_p2, double create_fmask_p3, double create_fmask_p4, double create_fmask_p5 );
VImage disp_ps();
VImage flt_image_freq( int flt_image_freq_type, double flt_image_freq_p1, double flt_image_freq_p2, double flt_image_freq_p3, double flt_image_freq_p4, double flt_image_freq_p5 );
static VImage fractsurf( int fractsurf_size, double fractsurf_dimension );
VImage freqflt( VImage freqflt_mask );
VImage fwfft();
VImage rotquad();
VImage invfft();
VImage phasecor_fft( VImage phasecor_fft_in2 );
VImage invfftr();
// VIPS library 8.6.0-Sun Nov 26 17:26:29 GMT 2017
static VImage create_fmask( int create_fmask_width, int create_fmask_height, int create_fmask_type, double create_fmask_p1, double create_fmask_p2, double create_fmask_p3, double create_fmask_p4, double create_fmask_p5 ) throw( VError );
VImage disp_ps() throw( VError );
VImage flt_image_freq( int flt_image_freq_type, double flt_image_freq_p1, double flt_image_freq_p2, double flt_image_freq_p3, double flt_image_freq_p4, double flt_image_freq_p5 ) throw( VError );
static VImage fractsurf( int fractsurf_size, double fractsurf_dimension ) throw( VError );
VImage freqflt( VImage freqflt_mask ) throw( VError );
VImage fwfft() throw( VError );
VImage rotquad() throw( VError );
VImage invfft() throw( VError );
VImage phasecor_fft( VImage phasecor_fft_in2 ) throw( VError );
VImage invfftr() throw( VError );
// headers for package histograms_lut
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
VImage gammacorrect( double gammacorrect_exponent );
VImage heq( int heq_band_number );
VImage hist( int hist_band_number );
VImage histcum();
VImage histeq();
VImage hist_indexed( VImage hist_indexed_value );
VImage histgr( int histgr_band_number );
VImage histnD( int histnD_bins );
VImage histnorm();
VImage histplot();
VImage histspec( VImage histspec_ref );
VImage hsp( VImage hsp_ref );
static VImage identity( int identity_nbands );
static VImage identity_ushort( int identity_ushort_nbands, int identity_ushort_size );
int ismonotonic();
VImage lhisteq( int lhisteq_width, int lhisteq_height );
int mpercent( double mpercent_percent );
static VImage invertlut( VDMask invertlut_measures, int invertlut_lut_size );
static VImage buildlut( VDMask buildlut_xyes );
VImage maplut( VImage maplut_lut );
VImage project( VImage& project_vout );
VImage stdif( double stdif_a, double stdif_m0, double stdif_b, double stdif_s0, int stdif_xw, int stdif_yw );
VImage tone_analyse( double tone_analyse_Ps, double tone_analyse_Pm, double tone_analyse_Ph, double tone_analyse_S, double tone_analyse_M, double tone_analyse_H );
static VImage tone_build( double tone_build_Lb, double tone_build_Lw, double tone_build_Ps, double tone_build_Pm, double tone_build_Ph, double tone_build_S, double tone_build_M, double tone_build_H );
static VImage tone_build_range( int tone_build_range_in_max, int tone_build_range_out_max, double tone_build_range_Lb, double tone_build_range_Lw, double tone_build_range_Ps, double tone_build_range_Pm, double tone_build_range_Ph, double tone_build_range_S, double tone_build_range_M, double tone_build_range_H );
VImage tone_map( VImage tone_map_lut );
// VIPS library 8.6.0-Sun Nov 26 17:26:29 GMT 2017
VImage gammacorrect( double gammacorrect_exponent ) throw( VError );
VImage heq( int heq_band_number ) throw( VError );
VImage hist( int hist_band_number ) throw( VError );
VImage histcum() throw( VError );
VImage histeq() throw( VError );
VImage hist_indexed( VImage hist_indexed_value ) throw( VError );
VImage histgr( int histgr_band_number ) throw( VError );
VImage histnD( int histnD_bins ) throw( VError );
VImage histnorm() throw( VError );
VImage histplot() throw( VError );
VImage histspec( VImage histspec_ref ) throw( VError );
VImage hsp( VImage hsp_ref ) throw( VError );
static VImage identity( int identity_nbands ) throw( VError );
static VImage identity_ushort( int identity_ushort_nbands, int identity_ushort_size ) throw( VError );
int ismonotonic() throw( VError );
VImage lhisteq( int lhisteq_width, int lhisteq_height ) throw( VError );
int mpercent( double mpercent_percent ) throw( VError );
static VImage invertlut( VDMask invertlut_measures, int invertlut_lut_size ) throw( VError );
static VImage buildlut( VDMask buildlut_xyes ) throw( VError );
VImage maplut( VImage maplut_lut ) throw( VError );
VImage project( VImage& project_vout ) throw( VError );
VImage stdif( double stdif_a, double stdif_m0, double stdif_b, double stdif_s0, int stdif_xw, int stdif_yw ) throw( VError );
VImage tone_analyse( double tone_analyse_Ps, double tone_analyse_Pm, double tone_analyse_Ph, double tone_analyse_S, double tone_analyse_M, double tone_analyse_H ) throw( VError );
static VImage tone_build( double tone_build_Lb, double tone_build_Lw, double tone_build_Ps, double tone_build_Pm, double tone_build_Ph, double tone_build_S, double tone_build_M, double tone_build_H ) throw( VError );
static VImage tone_build_range( int tone_build_range_in_max, int tone_build_range_out_max, double tone_build_range_Lb, double tone_build_range_Lw, double tone_build_range_Ps, double tone_build_range_Pm, double tone_build_range_Ph, double tone_build_range_S, double tone_build_range_M, double tone_build_range_H ) throw( VError );
VImage tone_map( VImage tone_map_lut ) throw( VError );
// headers for package inplace
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
void draw_circle( int draw_circle_cx, int draw_circle_cy, int draw_circle_radius, int draw_circle_fill, std::vector<double> draw_circle_ink );
void draw_rect( int draw_rect_left, int draw_rect_top, int draw_rect_width, int draw_rect_height, int draw_rect_fill, std::vector<double> draw_rect_ink );
void draw_line( int draw_line_x1, int draw_line_y1, int draw_line_x2, int draw_line_y2, std::vector<double> draw_line_ink );
void draw_point( int draw_point_x, int draw_point_y, std::vector<double> draw_point_ink );
void draw_smudge( int draw_smudge_left, int draw_smudge_top, int draw_smudge_width, int draw_smudge_height );
void draw_flood( int draw_flood_x, int draw_flood_y, std::vector<double> draw_flood_ink );
void draw_flood_blob( int draw_flood_blob_x, int draw_flood_blob_y, std::vector<double> draw_flood_blob_ink );
void draw_flood_other( VImage draw_flood_other_test, int draw_flood_other_x, int draw_flood_other_y, int draw_flood_other_serial );
void draw_image( VImage draw_image_sub, int draw_image_x, int draw_image_y );
void draw_mask( VImage draw_mask_mask, int draw_mask_x, int draw_mask_y, std::vector<double> draw_mask_ink );
VImage line( VImage line_mask, VImage line_ink, std::vector<int> line_x1, std::vector<int> line_y1, std::vector<int> line_x2, std::vector<int> line_y2 );
// VIPS library 8.6.0-Sun Nov 26 17:26:29 GMT 2017
void draw_circle( int draw_circle_cx, int draw_circle_cy, int draw_circle_radius, int draw_circle_fill, std::vector<double> draw_circle_ink ) throw( VError );
void draw_rect( int draw_rect_left, int draw_rect_top, int draw_rect_width, int draw_rect_height, int draw_rect_fill, std::vector<double> draw_rect_ink ) throw( VError );
void draw_line( int draw_line_x1, int draw_line_y1, int draw_line_x2, int draw_line_y2, std::vector<double> draw_line_ink ) throw( VError );
void draw_point( int draw_point_x, int draw_point_y, std::vector<double> draw_point_ink ) throw( VError );
void draw_smudge( int draw_smudge_left, int draw_smudge_top, int draw_smudge_width, int draw_smudge_height ) throw( VError );
void draw_flood( int draw_flood_x, int draw_flood_y, std::vector<double> draw_flood_ink ) throw( VError );
void draw_flood_blob( int draw_flood_blob_x, int draw_flood_blob_y, std::vector<double> draw_flood_blob_ink ) throw( VError );
void draw_flood_other( VImage draw_flood_other_test, int draw_flood_other_x, int draw_flood_other_y, int draw_flood_other_serial ) throw( VError );
void draw_image( VImage draw_image_sub, int draw_image_x, int draw_image_y ) throw( VError );
void draw_mask( VImage draw_mask_mask, int draw_mask_x, int draw_mask_y, std::vector<double> draw_mask_ink ) throw( VError );
VImage line( VImage line_mask, VImage line_ink, std::vector<int> line_x1, std::vector<int> line_y1, std::vector<int> line_x2, std::vector<int> line_y2 ) throw( VError );
// headers for package iofuncs
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
static VImage binfile( char* binfile_filename, int binfile_width, int binfile_height, int binfile_bands, int binfile_offset );
VImage cache( int cache_tile_width, int cache_tile_height, int cache_max_tiles );
char* getext();
int header_get_typeof( char* header_get_typeof_field );
int header_int( char* header_int_field );
double header_double( char* header_double_field );
char* header_string( char* header_string_field );
char* history_get();
void printdesc();
// VIPS library 8.6.0-Sun Nov 26 17:26:29 GMT 2017
static VImage binfile( char* binfile_filename, int binfile_width, int binfile_height, int binfile_bands, int binfile_offset ) throw( VError );
VImage cache( int cache_tile_width, int cache_tile_height, int cache_max_tiles ) throw( VError );
VImage tile_cache_random( int tile_cache_random_tile_width, int tile_cache_random_tile_height, int tile_cache_random_max_tiles ) throw( VError );
char* getext() throw( VError );
int header_get_typeof( char* header_get_typeof_field ) throw( VError );
int header_int( char* header_int_field ) throw( VError );
double header_double( char* header_double_field ) throw( VError );
char* header_string( char* header_string_field ) throw( VError );
char* history_get() throw( VError );
void printdesc() throw( VError );
// headers for package mask
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
// VIPS library 8.6.0-Sun Nov 26 17:26:29 GMT 2017
// headers for package morphology
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
double cntlines( int cntlines_direction );
VImage dilate( VIMask dilate_mask );
VImage rank( int rank_xsize, int rank_ysize, int rank_n );
static VImage rank_image( std::vector<VImage> rank_image_in, int rank_image_index );
static VImage maxvalue( std::vector<VImage> maxvalue_in );
VImage label_regions( int& label_regions_segments );
VImage zerox( int zerox_flag );
VImage erode( VIMask erode_mask );
VImage profile( int profile_direction );
// VIPS library 8.6.0-Sun Nov 26 17:26:29 GMT 2017
double cntlines( int cntlines_direction ) throw( VError );
VImage dilate( VIMask dilate_mask ) throw( VError );
VImage rank( int rank_xsize, int rank_ysize, int rank_n ) throw( VError );
static VImage rank_image( std::vector<VImage> rank_image_in, int rank_image_index ) throw( VError );
static VImage maxvalue( std::vector<VImage> maxvalue_in ) throw( VError );
VImage label_regions( int& label_regions_segments ) throw( VError );
VImage zerox( int zerox_flag ) throw( VError );
VImage erode( VIMask erode_mask ) throw( VError );
VImage profile( int profile_direction ) throw( VError );
// headers for package mosaicing
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
VImage align_bands();
double correl( VImage correl_sec, int correl_xref, int correl_yref, int correl_xsec, int correl_ysec, int correl_hwindowsize, int correl_hsearchsize, int& correl_x, int& correl_y );
int _find_lroverlap( VImage _find_lroverlap_sec, int _find_lroverlap_bandno, int _find_lroverlap_xr, int _find_lroverlap_yr, int _find_lroverlap_xs, int _find_lroverlap_ys, int _find_lroverlap_halfcorrelation, int _find_lroverlap_halfarea, int& _find_lroverlap_dy0, double& _find_lroverlap_scale1, double& _find_lroverlap_angle1, double& _find_lroverlap_dx1, double& _find_lroverlap_dy1 );
int _find_tboverlap( VImage _find_tboverlap_sec, int _find_tboverlap_bandno, int _find_tboverlap_xr, int _find_tboverlap_yr, int _find_tboverlap_xs, int _find_tboverlap_ys, int _find_tboverlap_halfcorrelation, int _find_tboverlap_halfarea, int& _find_tboverlap_dy0, double& _find_tboverlap_scale1, double& _find_tboverlap_angle1, double& _find_tboverlap_dx1, double& _find_tboverlap_dy1 );
VImage global_balance( double global_balance_gamma );
VImage global_balancef( double global_balancef_gamma );
VImage lrmerge( VImage lrmerge_sec, int lrmerge_dx, int lrmerge_dy, int lrmerge_mwidth );
VImage lrmerge1( VImage lrmerge1_sec, int lrmerge1_xr1, int lrmerge1_yr1, int lrmerge1_xs1, int lrmerge1_ys1, int lrmerge1_xr2, int lrmerge1_yr2, int lrmerge1_xs2, int lrmerge1_ys2, int lrmerge1_mwidth );
VImage lrmosaic( VImage lrmosaic_sec, int lrmosaic_bandno, int lrmosaic_xr, int lrmosaic_yr, int lrmosaic_xs, int lrmosaic_ys, int lrmosaic_halfcorrelation, int lrmosaic_halfarea, int lrmosaic_balancetype, int lrmosaic_mwidth );
VImage lrmosaic1( VImage lrmosaic1_sec, int lrmosaic1_bandno, int lrmosaic1_xr1, int lrmosaic1_yr1, int lrmosaic1_xs1, int lrmosaic1_ys1, int lrmosaic1_xr2, int lrmosaic1_yr2, int lrmosaic1_xs2, int lrmosaic1_ys2, int lrmosaic1_halfcorrelation, int lrmosaic1_halfarea, int lrmosaic1_balancetype, int lrmosaic1_mwidth );
VImage match_linear( VImage match_linear_sec, int match_linear_xref1, int match_linear_yref1, int match_linear_xsec1, int match_linear_ysec1, int match_linear_xref2, int match_linear_yref2, int match_linear_xsec2, int match_linear_ysec2 );
VImage match_linear_search( VImage match_linear_search_sec, int match_linear_search_xref1, int match_linear_search_yref1, int match_linear_search_xsec1, int match_linear_search_ysec1, int match_linear_search_xref2, int match_linear_search_yref2, int match_linear_search_xsec2, int match_linear_search_ysec2, int match_linear_search_hwindowsize, int match_linear_search_hsearchsize );
double maxpos_subpel( double& maxpos_subpel_y );
VImage remosaic( char* remosaic_old_str, char* remosaic_new_str );
VImage tbmerge( VImage tbmerge_sec, int tbmerge_dx, int tbmerge_dy, int tbmerge_mwidth );
VImage tbmerge1( VImage tbmerge1_sec, int tbmerge1_xr1, int tbmerge1_yr1, int tbmerge1_xs1, int tbmerge1_ys1, int tbmerge1_xr2, int tbmerge1_yr2, int tbmerge1_xs2, int tbmerge1_ys2, int tbmerge1_mwidth );
VImage tbmosaic( VImage tbmosaic_sec, int tbmosaic_bandno, int tbmosaic_xr, int tbmosaic_yr, int tbmosaic_xs, int tbmosaic_ys, int tbmosaic_halfcorrelation, int tbmosaic_halfarea, int tbmosaic_balancetype, int tbmosaic_mwidth );
VImage tbmosaic1( VImage tbmosaic1_sec, int tbmosaic1_bandno, int tbmosaic1_xr1, int tbmosaic1_yr1, int tbmosaic1_xs1, int tbmosaic1_ys1, int tbmosaic1_xr2, int tbmosaic1_yr2, int tbmosaic1_xs2, int tbmosaic1_ys2, int tbmosaic1_halfcorrelation, int tbmosaic1_halfarea, int tbmosaic1_balancetype, int tbmosaic1_mwidth );
// VIPS library 8.6.0-Sun Nov 26 17:26:29 GMT 2017
VImage align_bands() throw( VError );
double correl( VImage correl_sec, int correl_xref, int correl_yref, int correl_xsec, int correl_ysec, int correl_hwindowsize, int correl_hsearchsize, int& correl_x, int& correl_y ) throw( VError );
int _find_lroverlap( VImage _find_lroverlap_sec, int _find_lroverlap_bandno, int _find_lroverlap_xr, int _find_lroverlap_yr, int _find_lroverlap_xs, int _find_lroverlap_ys, int _find_lroverlap_halfcorrelation, int _find_lroverlap_halfarea, int& _find_lroverlap_dy0, double& _find_lroverlap_scale1, double& _find_lroverlap_angle1, double& _find_lroverlap_dx1, double& _find_lroverlap_dy1 ) throw( VError );
int _find_tboverlap( VImage _find_tboverlap_sec, int _find_tboverlap_bandno, int _find_tboverlap_xr, int _find_tboverlap_yr, int _find_tboverlap_xs, int _find_tboverlap_ys, int _find_tboverlap_halfcorrelation, int _find_tboverlap_halfarea, int& _find_tboverlap_dy0, double& _find_tboverlap_scale1, double& _find_tboverlap_angle1, double& _find_tboverlap_dx1, double& _find_tboverlap_dy1 ) throw( VError );
VImage global_balance( double global_balance_gamma ) throw( VError );
VImage global_balancef( double global_balancef_gamma ) throw( VError );
VImage lrmerge( VImage lrmerge_sec, int lrmerge_dx, int lrmerge_dy, int lrmerge_mwidth ) throw( VError );
VImage lrmerge1( VImage lrmerge1_sec, int lrmerge1_xr1, int lrmerge1_yr1, int lrmerge1_xs1, int lrmerge1_ys1, int lrmerge1_xr2, int lrmerge1_yr2, int lrmerge1_xs2, int lrmerge1_ys2, int lrmerge1_mwidth ) throw( VError );
VImage lrmosaic( VImage lrmosaic_sec, int lrmosaic_bandno, int lrmosaic_xr, int lrmosaic_yr, int lrmosaic_xs, int lrmosaic_ys, int lrmosaic_halfcorrelation, int lrmosaic_halfarea, int lrmosaic_balancetype, int lrmosaic_mwidth ) throw( VError );
VImage lrmosaic1( VImage lrmosaic1_sec, int lrmosaic1_bandno, int lrmosaic1_xr1, int lrmosaic1_yr1, int lrmosaic1_xs1, int lrmosaic1_ys1, int lrmosaic1_xr2, int lrmosaic1_yr2, int lrmosaic1_xs2, int lrmosaic1_ys2, int lrmosaic1_halfcorrelation, int lrmosaic1_halfarea, int lrmosaic1_balancetype, int lrmosaic1_mwidth ) throw( VError );
VImage match_linear( VImage match_linear_sec, int match_linear_xref1, int match_linear_yref1, int match_linear_xsec1, int match_linear_ysec1, int match_linear_xref2, int match_linear_yref2, int match_linear_xsec2, int match_linear_ysec2 ) throw( VError );
VImage match_linear_search( VImage match_linear_search_sec, int match_linear_search_xref1, int match_linear_search_yref1, int match_linear_search_xsec1, int match_linear_search_ysec1, int match_linear_search_xref2, int match_linear_search_yref2, int match_linear_search_xsec2, int match_linear_search_ysec2, int match_linear_search_hwindowsize, int match_linear_search_hsearchsize ) throw( VError );
double maxpos_subpel( double& maxpos_subpel_y ) throw( VError );
VImage remosaic( char* remosaic_old_str, char* remosaic_new_str ) throw( VError );
VImage tbmerge( VImage tbmerge_sec, int tbmerge_dx, int tbmerge_dy, int tbmerge_mwidth ) throw( VError );
VImage tbmerge1( VImage tbmerge1_sec, int tbmerge1_xr1, int tbmerge1_yr1, int tbmerge1_xs1, int tbmerge1_ys1, int tbmerge1_xr2, int tbmerge1_yr2, int tbmerge1_xs2, int tbmerge1_ys2, int tbmerge1_mwidth ) throw( VError );
VImage tbmosaic( VImage tbmosaic_sec, int tbmosaic_bandno, int tbmosaic_xr, int tbmosaic_yr, int tbmosaic_xs, int tbmosaic_ys, int tbmosaic_halfcorrelation, int tbmosaic_halfarea, int tbmosaic_balancetype, int tbmosaic_mwidth ) throw( VError );
VImage tbmosaic1( VImage tbmosaic1_sec, int tbmosaic1_bandno, int tbmosaic1_xr1, int tbmosaic1_yr1, int tbmosaic1_xs1, int tbmosaic1_ys1, int tbmosaic1_xr2, int tbmosaic1_yr2, int tbmosaic1_xs2, int tbmosaic1_ys2, int tbmosaic1_halfcorrelation, int tbmosaic1_halfarea, int tbmosaic1_balancetype, int tbmosaic1_mwidth ) throw( VError );
// headers for package other
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
VImage benchmark();
double benchmark2();
VImage benchmarkn( int benchmarkn_n );
static VImage eye( int eye_xsize, int eye_ysize, double eye_factor );
static VImage grey( int grey_xsize, int grey_ysize );
static VImage feye( int feye_xsize, int feye_ysize, double feye_factor );
static VImage fgrey( int fgrey_xsize, int fgrey_ysize );
static VImage fzone( int fzone_size );
static VImage make_xy( int make_xy_xsize, int make_xy_ysize );
static VImage sines( int sines_xsize, int sines_ysize, double sines_horfreq, double sines_verfreq );
static VImage zone( int zone_size );
// VIPS library 8.6.0-Sun Nov 26 17:26:29 GMT 2017
VImage benchmark() throw( VError );
double benchmark2() throw( VError );
VImage benchmarkn( int benchmarkn_n ) throw( VError );
static VImage eye( int eye_xsize, int eye_ysize, double eye_factor ) throw( VError );
static VImage grey( int grey_xsize, int grey_ysize ) throw( VError );
static VImage feye( int feye_xsize, int feye_ysize, double feye_factor ) throw( VError );
static VImage fgrey( int fgrey_xsize, int fgrey_ysize ) throw( VError );
static VImage fzone( int fzone_size ) throw( VError );
static VImage make_xy( int make_xy_xsize, int make_xy_ysize ) throw( VError );
static VImage sines( int sines_xsize, int sines_ysize, double sines_horfreq, double sines_verfreq ) throw( VError );
static VImage zone( int zone_size ) throw( VError );
// headers for package resample
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
VImage rightshift_size( int rightshift_size_xshift, int rightshift_size_yshift, int rightshift_size_band_fmt );
VImage shrink( double shrink_xfac, double shrink_yfac );
VImage stretch3( double stretch3_xdisp, double stretch3_ydisp );
VImage affinei( char* affinei_interpolate, double affinei_a, double affinei_b, double affinei_c, double affinei_d, double affinei_dx, double affinei_dy, int affinei_x, int affinei_y, int affinei_w, int affinei_h );
VImage affinei_all( char* affinei_all_interpolate, double affinei_all_a, double affinei_all_b, double affinei_all_c, double affinei_all_d, double affinei_all_dx, double affinei_all_dy );
// VIPS library 8.6.0-Sun Nov 26 17:26:29 GMT 2017
VImage rightshift_size( int rightshift_size_xshift, int rightshift_size_yshift, int rightshift_size_band_fmt ) throw( VError );
VImage shrink( double shrink_xfac, double shrink_yfac ) throw( VError );
VImage stretch3( double stretch3_xdisp, double stretch3_ydisp ) throw( VError );
VImage affinei( char* affinei_interpolate, double affinei_a, double affinei_b, double affinei_c, double affinei_d, double affinei_dx, double affinei_dy, int affinei_x, int affinei_y, int affinei_w, int affinei_h ) throw( VError );
VImage affinei_all( char* affinei_all_interpolate, double affinei_all_a, double affinei_all_b, double affinei_all_c, double affinei_all_d, double affinei_all_dx, double affinei_all_dy ) throw( VError );
// headers for package video
// this file automatically generated from
// VIPS library 7.34.0-Tue Jun 11 11:18:24 BST 2013
static VImage video_test( int video_test_brightness, int video_test_error );
static VImage video_v4l1( char* video_v4l1_device, int video_v4l1_channel, int video_v4l1_brightness, int video_v4l1_colour, int video_v4l1_contrast, int video_v4l1_hue, int video_v4l1_ngrabs );
// VIPS library 8.6.0-Sun Nov 26 17:26:29 GMT 2017
static VImage video_test( int video_test_brightness, int video_test_error ) throw( VError );
static VImage video_v4l1( char* video_v4l1_device, int video_v4l1_channel, int video_v4l1_brightness, int video_v4l1_colour, int video_v4l1_contrast, int video_v4l1_hue, int video_v4l1_ngrabs ) throw( VError );

File diff suppressed because it is too large Load Diff