Merge branch '8.2'
This commit is contained in:
commit
ec5cdf4fff
@ -21,6 +21,9 @@
|
||||
- switches to disable PPM, Rad and Analyze support
|
||||
- added VIPS_COUNT_PIXELS(), overcomputation tracking
|
||||
|
||||
24/3/16 started 8.2.4
|
||||
- fix nohalo and vsqbs interpolators, thanks Rafael
|
||||
|
||||
27/1/16 started 8.2.3
|
||||
- fix a crash with SPARC byte-order labq vips images
|
||||
- fix parsing of filenames containing brackets, thanks shilpi230
|
||||
|
99
doc/libvips-docs.xml
Normal file
99
doc/libvips-docs.xml
Normal file
@ -0,0 +1,99 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- vim: set ts=2 sw=2 expandtab: -->
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
|
||||
[
|
||||
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
|
||||
]>
|
||||
<book id="index">
|
||||
<bookinfo>
|
||||
<title>VIPS Reference Manual</title>
|
||||
<releaseinfo>
|
||||
For VIPS 8.2.4.
|
||||
The latest version of this documentation can be found on the
|
||||
<ulink role="online-location"
|
||||
url="http://www.vips.ecs.soton.ac.uk/index.php?title=Documentation">VIPS website</ulink>.
|
||||
</releaseinfo>
|
||||
</bookinfo>
|
||||
|
||||
<chapter>
|
||||
<title>VIPS Overview</title>
|
||||
<para>
|
||||
VIPS is a free image processing system. It is good with large
|
||||
images (images larger than the amount of RAM you have available), with
|
||||
many CPUs (speed scales linearly to at least 32 threads), for working
|
||||
with colour, for scientific analysis and for general research
|
||||
and development. As well as JPEG, TIFF and PNG images, it also
|
||||
supports scientific formats like FITS, Matlab, Analyze, PFM,
|
||||
Radiance and OpenSlide. It works on many UNIX-like platforms,
|
||||
as well as Windows and OS X. VIPS is released under the GNU Library
|
||||
General Public License (GNU LGPL).
|
||||
</para>
|
||||
|
||||
<xi:include href="xml/using-command-line.xml"/>
|
||||
<xi:include href="xml/using-C.xml"/>
|
||||
<xi:include href="xml/using-python.xml"/>
|
||||
<xi:include href="xml/using-cpp.xml"/>
|
||||
<xi:include href="xml/binding.xml"/>
|
||||
<xi:include href="xml/extending.xml"/>
|
||||
<xi:include href="xml/function-list.xml"/>
|
||||
<xi:include href="xml/file-format.xml"/>
|
||||
<xi:include href="xml/using-threads.xml"/>
|
||||
</chapter>
|
||||
|
||||
<chapter>
|
||||
<title>Core VIPS API</title>
|
||||
<xi:include href="xml/vips.xml"/>
|
||||
<xi:include href="xml/image.xml"/>
|
||||
<xi:include href="xml/header.xml"/>
|
||||
<xi:include href="xml/generate.xml"/>
|
||||
<xi:include href="xml/operation.xml"/>
|
||||
<xi:include href="xml/error.xml"/>
|
||||
<xi:include href="xml/memory.xml"/>
|
||||
<xi:include href="xml/region.xml"/>
|
||||
<xi:include href="xml/type.xml"/>
|
||||
<xi:include href="xml/rect.xml"/>
|
||||
<xi:include href="xml/object.xml"/>
|
||||
<xi:include href="xml/threadpool.xml"/>
|
||||
<xi:include href="xml/buf.xml"/>
|
||||
<xi:include href="xml/basic.xml"/>
|
||||
</chapter>
|
||||
|
||||
<chapter>
|
||||
<title>VIPS operation API by section</title>
|
||||
<xi:include href="xml/arithmetic.xml"/>
|
||||
<xi:include href="xml/colour.xml"/>
|
||||
<xi:include href="xml/conversion.xml"/>
|
||||
<xi:include href="xml/convolution.xml"/>
|
||||
<xi:include href="xml/foreign.xml"/>
|
||||
<xi:include href="xml/freqfilt.xml"/>
|
||||
<xi:include href="xml/histogram.xml"/>
|
||||
<xi:include href="xml/draw.xml"/>
|
||||
<xi:include href="xml/interpolate.xml"/>
|
||||
<xi:include href="xml/morphology.xml"/>
|
||||
<xi:include href="xml/mosaicing.xml"/>
|
||||
<xi:include href="xml/create.xml"/>
|
||||
<xi:include href="xml/resample.xml"/>
|
||||
</chapter>
|
||||
|
||||
<chapter>
|
||||
<title>Other API (no gtkdoc comments yet)</title>
|
||||
<xi:include href="xml/transform.xml"/>
|
||||
<xi:include href="xml/util.xml"/>
|
||||
<xi:include href="xml/version.xml"/>
|
||||
<xi:include href="xml/semaphore.xml"/>
|
||||
</chapter>
|
||||
|
||||
<chapter id="object-tree">
|
||||
<title>Object Hierarchy</title>
|
||||
<xi:include href="xml/tree_index.sgml"/>
|
||||
</chapter>
|
||||
|
||||
<index id="api-index-full">
|
||||
<title>API Index</title>
|
||||
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
|
||||
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
|
||||
</index>
|
||||
|
||||
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
|
||||
</book>
|
@ -1493,8 +1493,8 @@ vips_interpolate_nohalo_interpolate( VipsInterpolate* restrict interpolate,
|
||||
*
|
||||
* It's 2 not 0 since we ask for a window_offset of 2 at the bottom.
|
||||
*/
|
||||
const int ix = (int) absolute_x;
|
||||
const int iy = (int) absolute_y;
|
||||
const int ix = (int) (absolute_x + 0.5);
|
||||
const int iy = (int) (absolute_y + 0.5);
|
||||
|
||||
/*
|
||||
* Move the pointer to (the first band of) the top/left pixel of the
|
||||
@ -1523,8 +1523,8 @@ vips_interpolate_nohalo_interpolate( VipsInterpolate* restrict interpolate,
|
||||
|
||||
g_assert( ix - 2 >= in->valid.left );
|
||||
g_assert( iy - 2 >= in->valid.top );
|
||||
g_assert( ix + 2 < VIPS_RECT_RIGHT( &in->valid ) );
|
||||
g_assert( iy + 2 < VIPS_RECT_BOTTOM( &in->valid ) );
|
||||
g_assert( ix + 2 <= VIPS_RECT_RIGHT( &in->valid ) );
|
||||
g_assert( iy + 2 <= VIPS_RECT_BOTTOM( &in->valid ) );
|
||||
|
||||
/* Confirm that absolute_x and absolute_y are >= 2, see above.
|
||||
*/
|
||||
@ -1586,7 +1586,7 @@ vips_interpolate_nohalo_class_init( VipsInterpolateNohaloClass *klass )
|
||||
_( "edge sharpening resampler with halo reduction" );
|
||||
|
||||
interpolate_class->interpolate = vips_interpolate_nohalo_interpolate;
|
||||
interpolate_class->window_size = 5;
|
||||
interpolate_class->window_size = 6;
|
||||
interpolate_class->window_offset = 2;
|
||||
}
|
||||
|
||||
|
@ -313,8 +313,8 @@ vips_interpolate_vsqbs_interpolate( VipsInterpolate* restrict interpolate,
|
||||
*
|
||||
* It's 1 not 0 since we ask for a window_offset of 1 at the bottom.
|
||||
*/
|
||||
const int ix = (int) absolute_x;
|
||||
const int iy = (int) absolute_y;
|
||||
const int ix = (int) (absolute_x + 0.5);
|
||||
const int iy = (int) (absolute_y + 0.5);
|
||||
|
||||
/*
|
||||
* Move the pointer to (the first band of) the top/left pixel of the
|
||||
@ -343,8 +343,8 @@ vips_interpolate_vsqbs_interpolate( VipsInterpolate* restrict interpolate,
|
||||
|
||||
g_assert( ix - 1 >= in->valid.left );
|
||||
g_assert( iy - 1 >= in->valid.top );
|
||||
g_assert( ix + 1 < VIPS_RECT_RIGHT( &in->valid ) );
|
||||
g_assert( iy + 1 < VIPS_RECT_BOTTOM( &in->valid ) );
|
||||
g_assert( ix + 1 <= VIPS_RECT_RIGHT( &in->valid ) );
|
||||
g_assert( iy + 1 <= VIPS_RECT_BOTTOM( &in->valid ) );
|
||||
|
||||
/* Confirm that absolute_x and absolute_y are >= 1, see above.
|
||||
*/
|
||||
@ -405,7 +405,7 @@ vips_interpolate_vsqbs_class_init( VipsInterpolateVsqbsClass *klass )
|
||||
object_class->description = _( "B-Splines with antialiasing smoothing" );
|
||||
|
||||
interpolate_class->interpolate = vips_interpolate_vsqbs_interpolate;
|
||||
interpolate_class->window_size = 3;
|
||||
interpolate_class->window_size = 4;
|
||||
interpolate_class->window_offset = 1;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user