more pyvips8 docs
and cleanups of various small doc markup errors
This commit is contained in:
parent
02e8c600db
commit
be4ffa6d8a
18
TODO
18
TODO
@ -1,16 +1,26 @@
|
|||||||
- try:
|
- try:
|
||||||
|
|
||||||
$ vipsthumbnail 360mp.png --vips-leak --vips-concurrency=1
|
$ vipsthumbnail 360mp.png --vips-leak --vips-concurrency=1 --vips-progress
|
||||||
--vips-progress
|
|
||||||
|
|
||||||
|
|
||||||
works in tiles ... should it be strips?
|
works in tiles ... should it be strips?
|
||||||
|
|
||||||
no %complete feedback
|
no %complete feedback
|
||||||
|
|
||||||
|
- try:
|
||||||
|
|
||||||
|
vips gaussnoise r.v 64 64
|
||||||
|
vips gaussnoise g.v 64 64
|
||||||
|
vips gaussnoise b.v 64 64
|
||||||
|
vips bandjoin "r.v g.v b.v" out.png
|
||||||
|
|
||||||
|
out.png is monochrome for the first line of tiles ... do we need to seed the
|
||||||
|
generator?
|
||||||
|
|
||||||
- why don't we get gtk-doc expansions in the leading chapters? we turn them on
|
- why don't we get gtk-doc expansions in the leading chapters? we turn them on
|
||||||
|
|
||||||
- need a thing to test C++ overloads
|
- can we generate python docstrings?
|
||||||
|
|
||||||
|
when we make a __getattr__ object, make it respond to __doc__
|
||||||
|
|
||||||
- test other arg types
|
- test other arg types
|
||||||
|
|
||||||
|
@ -134,8 +134,12 @@ from gi.repository import Vips
|
|||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
<para><emphasis>
|
||||||
|
Automatic wrapping of vips operations
|
||||||
|
</emphasis> </para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Automatic wrapping of vips operations. It intercepts member lookup
|
It intercepts member lookup
|
||||||
on the <code>Vips.Image</code> class and looks for vips operations
|
on the <code>Vips.Image</code> class and looks for vips operations
|
||||||
with that name. So the vips operation "add", which appears in the
|
with that name. So the vips operation "add", which appears in the
|
||||||
C API as vips_add(), appears in Python as
|
C API as vips_add(), appears in Python as
|
||||||
@ -174,8 +178,9 @@ min_value, x_pos, y_pos = im.min(x = True, y = True)
|
|||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
<para><emphasis>Automatic type conversion</emphasis></para>
|
||||||
<para>
|
<para>
|
||||||
Automatic type conversion. The override looks at the type of
|
The override looks at the type of
|
||||||
argument required by the operation and converts the value you
|
argument required by the operation and converts the value you
|
||||||
supply, when it can. For example, "linear" takes a
|
supply, when it can. For example, "linear" takes a
|
||||||
#VipsArrayDouble as an argument for the constant to use for
|
#VipsArrayDouble as an argument for the constant to use for
|
||||||
@ -184,16 +189,120 @@ min_value, x_pos, y_pos = im.min(x = True, y = True)
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
It does a couple of more ambitious conversions. If an operation
|
It does a couple of more ambitious conversions. It will
|
||||||
|
automatically convert to and from the various vips types,
|
||||||
|
like #VipsBlob and #VipsArrayImage. For example, you can read the
|
||||||
|
ICC profile out of an image like this:
|
||||||
|
|
||||||
|
<programlisting language="Python">
|
||||||
|
profile = im.get_value("icc-profile-data")
|
||||||
|
</programlisting>
|
||||||
|
|
||||||
|
and <code>profile</code> will be a string.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If an operation
|
||||||
takes several input images, you can use a constant for all but
|
takes several input images, you can use a constant for all but
|
||||||
one of them and the wrapper will make a constant image for you.
|
one of them and the wrapper will make a constant image for you.
|
||||||
For example, <code>.bandjoin()</code>
|
For example, <code>.ifthenelse()</code> uses a condition image to
|
||||||
|
pick pixels between a then and an else image:
|
||||||
|
|
||||||
|
<programlisting language="Python">
|
||||||
|
result_image = condition_image.ifthenelse(then_image, else_image)
|
||||||
|
</programlisting>
|
||||||
|
|
||||||
|
You can use a constant instead of either the then or the else
|
||||||
|
parts, and it will be expanded to an image for you. If you use a
|
||||||
|
constant for both then and else, it will be expanded to match the
|
||||||
|
condition image. For example:
|
||||||
|
|
||||||
|
<programlisting language="Python">
|
||||||
|
result_image = condition_image.ifthenelse([0, 255, 0], [255, 0, 0])
|
||||||
|
</programlisting>
|
||||||
|
|
||||||
|
Will make an image where true pixels are green and false pixels
|
||||||
|
are red.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is useful for <code>.bandjoin()</code>, the thing to join
|
||||||
|
two, or a set of images up bandwise. You can write:
|
||||||
|
|
||||||
|
<programlisting language="Python">
|
||||||
|
rgba = rgb.bandjoin(255)
|
||||||
|
</programlisting>
|
||||||
|
|
||||||
|
to add a constant 255 band to an image, perhaps to add an alpha
|
||||||
|
channel. Of course you can also write:
|
||||||
|
|
||||||
|
<programlisting language="Python">
|
||||||
|
result_image = image1.bandjoin(image2)
|
||||||
|
result_image = image1.bandjoin([image2, image3])
|
||||||
|
result_image = Vips.Image.bandjoin([image1, image2, image3])
|
||||||
|
result_image = image1.bandjoin([image2, 255])
|
||||||
|
</programlisting>
|
||||||
|
|
||||||
|
and so on.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis>Exceptions</emphasis></para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The wrapper spots errors from vips operations and raises the
|
||||||
|
<code>Vips.Error</code> exception. You can catch it in the
|
||||||
|
usual way.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis>Overloads</emphasis></para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The wrapper defines the usual set of arithmetic, boolean and
|
||||||
|
relation overloads on
|
||||||
|
<code>image</code>. You can mix images, constants and lists of
|
||||||
|
constants (almost) freely.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis>Expansions</emphasis></para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Some vips operators take an enum to select an action, for example
|
||||||
|
<code>.math()</code> can be used to calculate sine of every pixel
|
||||||
|
like this:
|
||||||
|
|
||||||
|
<programlisting language="Python">
|
||||||
|
result_image = image.math(Vips.OperationMath.SIN)
|
||||||
|
</programlisting>
|
||||||
|
|
||||||
|
This is annoying, so the wrapper expands all these enums into
|
||||||
|
separate members named after the enum. So you can write:
|
||||||
|
|
||||||
|
<programlisting language="Python">
|
||||||
|
result_image = image.sin()
|
||||||
|
</programlisting>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis>Utility functions</emphasis></para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The wrapper defines a few extra useful utility functions:
|
||||||
|
<code>.get_value()</code>, <code>.set_value()</code>
|
||||||
|
<code>.bandsplit()</code>, <code>.maxpos()</code>
|
||||||
|
<code>.minpos()</code>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
|
|
||||||
|
|
||||||
</refentry>
|
</refentry>
|
||||||
|
@ -932,6 +932,7 @@ vips_complexform_init( VipsComplexform *complexform )
|
|||||||
* @left: input image
|
* @left: input image
|
||||||
* @right: input image
|
* @right: input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Compose two real images to make a complex image. If either @left or @right
|
* Compose two real images to make a complex image. If either @left or @right
|
||||||
* are #VIPS_FORMAT_DOUBLE, @out is #VIPS_FORMAT_DPCOMPLEX. Otherwise @out
|
* are #VIPS_FORMAT_DOUBLE, @out is #VIPS_FORMAT_DPCOMPLEX. Otherwise @out
|
||||||
|
@ -177,6 +177,7 @@ vips_getpoint_init( VipsGetpoint *getpoint )
|
|||||||
* @n: length of output vector
|
* @n: length of output vector
|
||||||
* @x: position to read
|
* @x: position to read
|
||||||
* @y: position to read
|
* @y: position to read
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Reads a single pixel on an image.
|
* Reads a single pixel on an image.
|
||||||
*
|
*
|
||||||
|
@ -187,6 +187,7 @@ vips_multiply_init( VipsMultiply *multiply )
|
|||||||
* @left: left-hand image
|
* @left: left-hand image
|
||||||
* @right: right-hand image
|
* @right: right-hand image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* This operation calculates @left * @right and writes the result to @out.
|
* This operation calculates @left * @right and writes the result to @out.
|
||||||
*
|
*
|
||||||
|
@ -165,6 +165,7 @@ vips_sign_init( VipsSign *sign )
|
|||||||
* vips_sign:
|
* vips_sign:
|
||||||
* @in: input image
|
* @in: input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Finds the unit vector in the direction of the pixel value. For non-complex
|
* Finds the unit vector in the direction of the pixel value. For non-complex
|
||||||
* images, it returns a signed char image with values -1, 0, and 1 for negative,
|
* images, it returns a signed char image with values -1, 0, and 1 for negative,
|
||||||
|
@ -134,6 +134,7 @@ vips_LCh2Lab_init( VipsLCh2Lab *LCh2Lab )
|
|||||||
* vips_LCh2Lab:
|
* vips_LCh2Lab:
|
||||||
* @in: input image
|
* @in: input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Turn LCh to Lab.
|
* Turn LCh to Lab.
|
||||||
*
|
*
|
||||||
|
@ -220,6 +220,7 @@ vips_LCh2CMC_init( VipsLCh2CMC *LCh2CMC )
|
|||||||
* vips_LCh2CMC:
|
* vips_LCh2CMC:
|
||||||
* @in: input image
|
* @in: input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Turn LCh to CMC.
|
* Turn LCh to CMC.
|
||||||
*
|
*
|
||||||
|
@ -146,6 +146,7 @@ vips_Lab2LCh_init( VipsLab2LCh *Lab2LCh )
|
|||||||
* vips_Lab2LCh:
|
* vips_Lab2LCh:
|
||||||
* @in: input image
|
* @in: input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Turn Lab to LCh.
|
* Turn Lab to LCh.
|
||||||
*
|
*
|
||||||
|
@ -160,6 +160,7 @@ vips_Lab2LabQ_init( VipsLab2LabQ *Lab2LabQ )
|
|||||||
* vips_Lab2LabQ:
|
* vips_Lab2LabQ:
|
||||||
* @in: input image
|
* @in: input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Convert a Lab three-band float image to LabQ (#IM_CODING_LABQ).
|
* Convert a Lab three-band float image to LabQ (#IM_CODING_LABQ).
|
||||||
*
|
*
|
||||||
|
@ -101,6 +101,7 @@ vips_Lab2LabS_init( VipsLab2LabS *Lab2LabS )
|
|||||||
* vips_Lab2LabS:
|
* vips_Lab2LabS:
|
||||||
* @in: input image
|
* @in: input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Turn Lab to LabS, signed 16-bit int fixed point.
|
* Turn Lab to LabS, signed 16-bit int fixed point.
|
||||||
*
|
*
|
||||||
|
@ -144,6 +144,7 @@ vips_LabQ2Lab_init( VipsLabQ2Lab *LabQ2Lab )
|
|||||||
* vips_LabQ2Lab:
|
* vips_LabQ2Lab:
|
||||||
* @in: input image
|
* @in: input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Unpack a LabQ (#IM_CODING_LABQ) image to a three-band float image.
|
* Unpack a LabQ (#IM_CODING_LABQ) image to a three-band float image.
|
||||||
*
|
*
|
||||||
|
@ -124,6 +124,7 @@ vips_LabQ2LabS_init( VipsLabQ2LabS *LabQ2LabS )
|
|||||||
* vips_LabQ2LabS:
|
* vips_LabQ2LabS:
|
||||||
* @in: input image
|
* @in: input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Unpack a LabQ (#IM_CODING_LABQ) image to a three-band short image.
|
* Unpack a LabQ (#IM_CODING_LABQ) image to a three-band short image.
|
||||||
*
|
*
|
||||||
|
@ -476,6 +476,7 @@ vips_LabQ2sRGB_init( VipsLabQ2sRGB *LabQ2sRGB )
|
|||||||
* vips_LabQ2sRGB:
|
* vips_LabQ2sRGB:
|
||||||
* @in: input image
|
* @in: input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Unpack a LabQ (#VIPS_CODING_LABQ) image to a three-band short image.
|
* Unpack a LabQ (#VIPS_CODING_LABQ) image to a three-band short image.
|
||||||
*
|
*
|
||||||
|
@ -99,6 +99,7 @@ vips_LabS2Lab_init( VipsLabS2Lab *LabS2Lab )
|
|||||||
* vips_LabS2Lab:
|
* vips_LabS2Lab:
|
||||||
* @in: input image
|
* @in: input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Convert a LabS three-band signed short image to a three-band float image.
|
* Convert a LabS three-band signed short image to a three-band float image.
|
||||||
*
|
*
|
||||||
|
@ -148,6 +148,7 @@ vips_LabS2LabQ_init( VipsLabS2LabQ *LabS2LabQ )
|
|||||||
* vips_LabS2LabQ:
|
* vips_LabS2LabQ:
|
||||||
* @in: input image
|
* @in: input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Convert a LabS three-band signed short image to LabQ
|
* Convert a LabS three-band signed short image to LabQ
|
||||||
*
|
*
|
||||||
|
@ -281,6 +281,7 @@ vips_CMC2LCh_init( VipsCMC2LCh *CMC2LCh )
|
|||||||
* vips_CMC2LCh:
|
* vips_CMC2LCh:
|
||||||
* @in: input image
|
* @in: input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Turn LCh to CMC.
|
* Turn LCh to CMC.
|
||||||
*
|
*
|
||||||
|
@ -106,6 +106,7 @@ vips_XYZ2Yxy_init( VipsXYZ2Yxy *XYZ2Yxy )
|
|||||||
* vips_XYZ2Yxy:
|
* vips_XYZ2Yxy:
|
||||||
* @in: input image
|
* @in: input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Turn XYZ to Yxy.
|
* Turn XYZ to Yxy.
|
||||||
*
|
*
|
||||||
|
@ -117,6 +117,7 @@ vips_XYZ2scRGB_init( VipsXYZ2scRGB *XYZ2scRGB )
|
|||||||
* vips_XYZ2scRGB:
|
* vips_XYZ2scRGB:
|
||||||
* @in: input image
|
* @in: input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Turn XYZ to Yxy.
|
* Turn XYZ to Yxy.
|
||||||
*
|
*
|
||||||
|
@ -107,6 +107,7 @@ vips_Yxy2XYZ_init( VipsYxy2XYZ *Yxy2XYZ )
|
|||||||
* vips_Yxy2XYZ:
|
* vips_Yxy2XYZ:
|
||||||
* @in: input image
|
* @in: input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Turn XYZ to Yxy.
|
* Turn XYZ to Yxy.
|
||||||
*
|
*
|
||||||
|
@ -250,6 +250,7 @@ vips_dE00_init( VipsdE00 *dE00 )
|
|||||||
* @left: first input image
|
* @left: first input image
|
||||||
* @right: second input image
|
* @right: second input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Calculate dE 00.
|
* Calculate dE 00.
|
||||||
*
|
*
|
||||||
|
@ -128,6 +128,7 @@ vips_dE76_init( VipsdE76 *dE76 )
|
|||||||
* @left: first input image
|
* @left: first input image
|
||||||
* @right: second input image
|
* @right: second input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Calculate dE 76.
|
* Calculate dE 76.
|
||||||
*
|
*
|
||||||
|
@ -76,6 +76,7 @@ vips_dECMC_init( VipsdECMC *dECMC )
|
|||||||
* @left: first input image
|
* @left: first input image
|
||||||
* @right: second input image
|
* @right: second input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Calculate dE CMC. The input images are transformed to CMC colour space and
|
* Calculate dE CMC. The input images are transformed to CMC colour space and
|
||||||
* the euclidean distance between corresponding pixels calculated.
|
* the euclidean distance between corresponding pixels calculated.
|
||||||
|
@ -223,6 +223,7 @@ vips_float2rad_init( VipsFloat2rad *float2rad )
|
|||||||
* vips_float2rad:
|
* vips_float2rad:
|
||||||
* @in: input image
|
* @in: input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Convert a three-band float image to Radiance 32-bit packed format.
|
* Convert a three-band float image to Radiance 32-bit packed format.
|
||||||
*
|
*
|
||||||
|
@ -210,6 +210,7 @@ vips_rad2float_init( VipsRad2float *rad2float )
|
|||||||
* vips_rad2float:
|
* vips_rad2float:
|
||||||
* @in: input image
|
* @in: input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Unpack a RAD (#IM_CODING_RAD) image to a three-band float image.
|
* Unpack a RAD (#IM_CODING_RAD) image to a three-band float image.
|
||||||
*
|
*
|
||||||
|
@ -178,6 +178,7 @@ vips_sRGB2scRGB_init( VipssRGB2scRGB *sRGB2scRGB )
|
|||||||
* vips_sRGB2scRGB:
|
* vips_sRGB2scRGB:
|
||||||
* @in: input image
|
* @in: input image
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Convert an sRGB image to scRGB.
|
* Convert an sRGB image to scRGB.
|
||||||
*
|
*
|
||||||
|
@ -69,7 +69,14 @@
|
|||||||
* @VIPS_PRECISION_APPROXIMATE: approximate integer output
|
* @VIPS_PRECISION_APPROXIMATE: approximate integer output
|
||||||
*
|
*
|
||||||
* How accurate an operation should be.
|
* How accurate an operation should be.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* VipsCombine:
|
||||||
|
* @VIPS_COMBINE_MAX: take the maximum of the possible values
|
||||||
|
* @VIPS_COMBINE_SUM: sum all the values
|
||||||
*
|
*
|
||||||
|
* How to combine values.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
G_DEFINE_ABSTRACT_TYPE( VipsConvolution, vips_convolution,
|
G_DEFINE_ABSTRACT_TYPE( VipsConvolution, vips_convolution,
|
||||||
|
@ -30,9 +30,7 @@ libcreate_la_SOURCES = \
|
|||||||
black.c \
|
black.c \
|
||||||
text.c \
|
text.c \
|
||||||
gaussnoise.c \
|
gaussnoise.c \
|
||||||
im_benchmark.c \
|
|
||||||
sines.c \
|
sines.c \
|
||||||
zone.c \
|
zone.c
|
||||||
other_dispatch.c
|
|
||||||
|
|
||||||
AM_CPPFLAGS = -I${top_srcdir}/libvips/include @VIPS_CFLAGS@ @VIPS_INCLUDES@
|
AM_CPPFLAGS = -I${top_srcdir}/libvips/include @VIPS_CFLAGS@ @VIPS_INCLUDES@
|
||||||
|
@ -100,7 +100,7 @@ vips_mask_ideal_init( VipsMaskIdeal *ideal )
|
|||||||
* @out: output image
|
* @out: output image
|
||||||
* @width: image size
|
* @width: image size
|
||||||
* @height: image size
|
* @height: image size
|
||||||
* @frequency_cutoff:
|
* @frequency_cutoff: threshold at which filter ends
|
||||||
* @...: %NULL-terminated list of optional named arguments
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Optional arguments:
|
* Optional arguments:
|
||||||
|
@ -114,8 +114,8 @@ vips_mask_ideal_ring_init( VipsMaskIdealRing *ideal_ring )
|
|||||||
* @out: output image
|
* @out: output image
|
||||||
* @width: image size
|
* @width: image size
|
||||||
* @height: image size
|
* @height: image size
|
||||||
* @frequency_cutoff:
|
* @frequency_cutoff: threshold at which filter ends
|
||||||
* @ringwidth: ringwidth
|
* @ringwidth: ring width
|
||||||
* @...: %NULL-terminated list of optional named arguments
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Optional arguments:
|
* Optional arguments:
|
||||||
|
@ -20,6 +20,7 @@ libdeprecated_la_SOURCES = \
|
|||||||
im_zerox.c \
|
im_zerox.c \
|
||||||
arith_dispatch.c \
|
arith_dispatch.c \
|
||||||
hist_dispatch.c \
|
hist_dispatch.c \
|
||||||
|
other_dispatch.c \
|
||||||
im_maxpos_avg.c \
|
im_maxpos_avg.c \
|
||||||
wrapvips7.c \
|
wrapvips7.c \
|
||||||
lazy.c \
|
lazy.c \
|
||||||
@ -31,6 +32,7 @@ libdeprecated_la_SOURCES = \
|
|||||||
cooc_funcs.c \
|
cooc_funcs.c \
|
||||||
glds_funcs.c \
|
glds_funcs.c \
|
||||||
im_fav4.c \
|
im_fav4.c \
|
||||||
|
im_benchmark.c \
|
||||||
im_gadd.c \
|
im_gadd.c \
|
||||||
im_gaddim.c \
|
im_gaddim.c \
|
||||||
im_gradcor.c \
|
im_gradcor.c \
|
||||||
|
@ -339,6 +339,7 @@ vips_draw_linev( VipsImage *image,
|
|||||||
* @y1: start of draw_line
|
* @y1: start of draw_line
|
||||||
* @x2: end of draw_line
|
* @x2: end of draw_line
|
||||||
* @y2: end of draw_line
|
* @y2: end of draw_line
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Draws a 1-pixel-wide line on an image. Subclass and override ::plot to draw
|
* Draws a 1-pixel-wide line on an image. Subclass and override ::plot to draw
|
||||||
* lines made of other objects. See vips_draw_line_mask(), for example.
|
* lines made of other objects. See vips_draw_line_mask(), for example.
|
||||||
@ -371,6 +372,7 @@ vips_draw_line( VipsImage *image,
|
|||||||
* @y1: start of draw_line
|
* @y1: start of draw_line
|
||||||
* @x2: end of draw_line
|
* @x2: end of draw_line
|
||||||
* @y2: end of draw_line
|
* @y2: end of draw_line
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* As vips_draw_line(), but just take a single double for @ink.
|
* As vips_draw_line(), but just take a single double for @ink.
|
||||||
*
|
*
|
||||||
|
@ -364,10 +364,12 @@ vips_draw_maskv( VipsImage *image,
|
|||||||
/**
|
/**
|
||||||
* vips_draw_mask:
|
* vips_draw_mask:
|
||||||
* @image: image to draw on
|
* @image: image to draw on
|
||||||
* @ink: value to draw
|
* @ink: (array length=n): value to draw
|
||||||
|
* @n: size of ink array
|
||||||
* @mask: mask of 0/255 values showing where to plot
|
* @mask: mask of 0/255 values showing where to plot
|
||||||
* @x: draw mask here
|
* @x: draw mask here
|
||||||
* @y: draw mask here
|
* @y: draw mask here
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Draw @mask on the image. @mask is a monochrome 8-bit image with 0/255
|
* Draw @mask on the image. @mask is a monochrome 8-bit image with 0/255
|
||||||
* for transparent or @ink coloured points. Intermediate values blend the ink
|
* for transparent or @ink coloured points. Intermediate values blend the ink
|
||||||
@ -401,6 +403,7 @@ vips_draw_mask( VipsImage *image,
|
|||||||
* @mask: mask of 0/255 values showing where to plot
|
* @mask: mask of 0/255 values showing where to plot
|
||||||
* @x: draw mask here
|
* @x: draw mask here
|
||||||
* @y: draw mask here
|
* @y: draw mask here
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* As vips_draw_mask(), but just takes a single double for @ink.
|
* As vips_draw_mask(), but just takes a single double for @ink.
|
||||||
*
|
*
|
||||||
|
@ -235,6 +235,7 @@ vips_draw_smudge_init( VipsDrawSmudge *draw_smudge )
|
|||||||
* @top: point to paint
|
* @top: point to paint
|
||||||
* @width: area to paint
|
* @width: area to paint
|
||||||
* @height: area to paint
|
* @height: area to paint
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Smudge a section of @image. Each pixel in the area @left, @top, @width,
|
* Smudge a section of @image. Each pixel in the area @left, @top, @width,
|
||||||
* @height is replaced by the average of the surrounding 3x3 pixels.
|
* @height is replaced by the average of the surrounding 3x3 pixels.
|
||||||
|
@ -158,13 +158,13 @@ vips_foreign_load_raw_init( VipsForeignLoadRaw *raw )
|
|||||||
* vips_rawload:
|
* vips_rawload:
|
||||||
* @filename: file to load
|
* @filename: file to load
|
||||||
* @out: output image
|
* @out: output image
|
||||||
|
* @width: width of image in pixels
|
||||||
|
* @height: height of image in pixels
|
||||||
|
* @bands: number of image bands
|
||||||
* @...: %NULL-terminated list of optional named arguments
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Optional arguments:
|
* Optional arguments:
|
||||||
*
|
*
|
||||||
* @width: width of image in pixels
|
|
||||||
* @height: height of image in pixels
|
|
||||||
* @bands: number of image bands
|
|
||||||
* @offset: offset in bytes from start of file
|
* @offset: offset in bytes from start of file
|
||||||
*
|
*
|
||||||
* This operation mmaps the file, setting @out so that access to that
|
* This operation mmaps the file, setting @out so that access to that
|
||||||
|
@ -121,6 +121,8 @@ typedef enum {
|
|||||||
* @VIPS_OPERATION_BOOLEAN_AND: &
|
* @VIPS_OPERATION_BOOLEAN_AND: &
|
||||||
* @VIPS_OPERATION_BOOLEAN_OR: |
|
* @VIPS_OPERATION_BOOLEAN_OR: |
|
||||||
* @VIPS_OPERATION_BOOLEAN_EOR: ^
|
* @VIPS_OPERATION_BOOLEAN_EOR: ^
|
||||||
|
* @VIPS_OPERATION_BOOLEAN_LSHIFT: >>
|
||||||
|
* @VIPS_OPERATION_BOOLEAN_RSHIFT: <<
|
||||||
*
|
*
|
||||||
* See also: vips_boolean().
|
* See also: vips_boolean().
|
||||||
*/
|
*/
|
||||||
|
@ -67,7 +67,7 @@ int vips_stop_many( void *seq, void *a, void *b );
|
|||||||
VipsImage **vips_allocate_input_array( VipsImage *out, ... )
|
VipsImage **vips_allocate_input_array( VipsImage *out, ... )
|
||||||
__attribute__((sentinel));
|
__attribute__((sentinel));
|
||||||
|
|
||||||
int vips_image_generate( VipsImage *im,
|
int vips_image_generate( VipsImage *image,
|
||||||
VipsStartFn start_fn, VipsGenerateFn generate_fn, VipsStopFn stop_fn,
|
VipsStartFn start_fn, VipsGenerateFn generate_fn, VipsStopFn stop_fn,
|
||||||
void *a, void *b
|
void *a, void *b
|
||||||
);
|
);
|
||||||
|
@ -129,7 +129,7 @@ int vips_threadpool_run( VipsImage *im,
|
|||||||
VipsThreadpoolProgressFn progress,
|
VipsThreadpoolProgressFn progress,
|
||||||
void *a );
|
void *a );
|
||||||
void vips_get_tile_size( VipsImage *im,
|
void vips_get_tile_size( VipsImage *im,
|
||||||
int *tile_width, int *tile_height, int *nlines );
|
int *tile_width, int *tile_height, int *n_lines );
|
||||||
|
|
||||||
void vips_concurrency_set( int concurrency );
|
void vips_concurrency_set( int concurrency );
|
||||||
int vips_concurrency_get( void );
|
int vips_concurrency_get( void );
|
||||||
|
@ -525,7 +525,7 @@ vips_start_many( VipsImage *out, void *a, void *b )
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* vips_allocate_input_array:
|
* vips_allocate_input_array:
|
||||||
* @image: free array when this image closes
|
* @out: free array when this image closes
|
||||||
* @...: %NULL-terminated list of input images
|
* @...: %NULL-terminated list of input images
|
||||||
*
|
*
|
||||||
* Convenience function --- make a %NULL-terminated array of input images.
|
* Convenience function --- make a %NULL-terminated array of input images.
|
||||||
@ -536,7 +536,7 @@ vips_start_many( VipsImage *out, void *a, void *b )
|
|||||||
* Returns: %NULL-terminated array of images. Do not free the result.
|
* Returns: %NULL-terminated array of images. Do not free the result.
|
||||||
*/
|
*/
|
||||||
VipsImage **
|
VipsImage **
|
||||||
vips_allocate_input_array( VipsImage *image, ... )
|
vips_allocate_input_array( VipsImage *out, ... )
|
||||||
{
|
{
|
||||||
va_list ap;
|
va_list ap;
|
||||||
VipsImage **ar;
|
VipsImage **ar;
|
||||||
@ -544,19 +544,19 @@ vips_allocate_input_array( VipsImage *image, ... )
|
|||||||
|
|
||||||
/* Count input images.
|
/* Count input images.
|
||||||
*/
|
*/
|
||||||
va_start( ap, image );
|
va_start( ap, out );
|
||||||
for( n = 0; va_arg( ap, VipsImage * ); n++ )
|
for( n = 0; va_arg( ap, VipsImage * ); n++ )
|
||||||
;
|
;
|
||||||
va_end( ap );
|
va_end( ap );
|
||||||
|
|
||||||
/* Allocate array.
|
/* Allocate array.
|
||||||
*/
|
*/
|
||||||
if( !(ar = VIPS_ARRAY( image, n + 1, VipsImage * )) )
|
if( !(ar = VIPS_ARRAY( out, n + 1, VipsImage * )) )
|
||||||
return( NULL );
|
return( NULL );
|
||||||
|
|
||||||
/* Fill array.
|
/* Fill array.
|
||||||
*/
|
*/
|
||||||
va_start( ap, image );
|
va_start( ap, out );
|
||||||
for( i = 0; i < n; i++ )
|
for( i = 0; i < n; i++ )
|
||||||
ar[i] = va_arg( ap, VipsImage * );
|
ar[i] = va_arg( ap, VipsImage * );
|
||||||
va_end( ap );
|
va_end( ap );
|
||||||
@ -567,7 +567,7 @@ vips_allocate_input_array( VipsImage *image, ... )
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* VipsStartFn:
|
* VipsStartFn:
|
||||||
* @image: image being calculated
|
* @out: image being calculated
|
||||||
* @a: user data
|
* @a: user data
|
||||||
* @b: user data
|
* @b: user data
|
||||||
*
|
*
|
||||||
@ -581,13 +581,14 @@ vips_allocate_input_array( VipsImage *image, ... )
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* VipsGenerateFn:
|
* VipsGenerateFn:
|
||||||
* @region: #VipsRegion to fill
|
* @out: #VipsRegion to fill
|
||||||
* @seq: sequence value
|
* @seq: sequence value
|
||||||
* @a: user data
|
* @a: user data
|
||||||
* @b: user data
|
* @b: user data
|
||||||
|
* @stop: set this to stop processing
|
||||||
*
|
*
|
||||||
* Fill @image->valid with pixels. @seq contains per-thread state, such as the
|
* Fill @out->valid with pixels. @seq contains per-thread state, such as the
|
||||||
* input regions.
|
* input regions. Set @stop to %TRUE to stop processing.
|
||||||
*
|
*
|
||||||
* See also: vips_image_generate(), vips_stop_many().
|
* See also: vips_image_generate(), vips_stop_many().
|
||||||
*
|
*
|
||||||
|
@ -160,7 +160,8 @@
|
|||||||
/**
|
/**
|
||||||
* VipsOperationFlags:
|
* VipsOperationFlags:
|
||||||
* @VIPS_OPERATION_NONE: no flags
|
* @VIPS_OPERATION_NONE: no flags
|
||||||
* @VIPS_OPERATION_SEQUENTIAL: can work sequentially
|
* @VIPS_OPERATION_SEQUENTIAL: can work sequentially with a small buffer
|
||||||
|
* @VIPS_OPERATION_SEQUENTIAL_UNBUFFERED: can work sequentially with no buffer
|
||||||
* @VIPS_OPERATION_NOCACHE: must not be cached
|
* @VIPS_OPERATION_NOCACHE: must not be cached
|
||||||
* @VIPS_OPERATION_DEPRECATED: a compatibility thing
|
* @VIPS_OPERATION_DEPRECATED: a compatibility thing
|
||||||
*
|
*
|
||||||
@ -831,15 +832,15 @@ vips_call_by_name( const char *operation_name,
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* vips_call:
|
* vips_call:
|
||||||
* @operation_name:
|
* @operation_name: name of operation to call
|
||||||
* @...: required args, then a %NULL-terminated list of argument/value pairs
|
* @...: required args, then a %NULL-terminated list of argument/value pairs
|
||||||
*
|
*
|
||||||
* vips_call() calls the named operation, passing in required arguments, and
|
* vips_call() calls the named operation, passing in required arguments and
|
||||||
* then setting any optional ones from the remainder of the arguments as a set
|
* then setting any optional ones from the remainder of the arguments as a set
|
||||||
* of name/value pairs.
|
* of name/value pairs.
|
||||||
*
|
*
|
||||||
* For example, vips_embed() takes six required arguments, @in, @out, @x, @y,
|
* For example, vips_embed() takes six required arguments, @in, @out, @x, @y,
|
||||||
* @width, @height; and has two optional arguments, @extend and @background.
|
* @width, @height, and has two optional arguments, @extend and @background.
|
||||||
* You can run it with vips_call() like this:
|
* You can run it with vips_call() like this:
|
||||||
*
|
*
|
||||||
* |[
|
* |[
|
||||||
|
@ -1428,7 +1428,7 @@ vips_value_get_array_int( const GValue *value, int *n )
|
|||||||
/**
|
/**
|
||||||
* vips_value_set_array_int:
|
* vips_value_set_array_int:
|
||||||
* @value: (out): %GValue to get from
|
* @value: (out): %GValue to get from
|
||||||
* @array: (array length=n) (allow_none): array of ints
|
* @array: (array length=n) (allow-none): array of ints
|
||||||
* @n: the number of elements
|
* @n: the number of elements
|
||||||
*
|
*
|
||||||
* Set @value to hold a copy of @array. Pass in the array length in @n.
|
* Set @value to hold a copy of @array. Pass in the array length in @n.
|
||||||
|
@ -435,6 +435,7 @@ vips_shrink_init( VipsShrink *shrink )
|
|||||||
* @out: output image
|
* @out: output image
|
||||||
* @xshrink: horizontal shrink
|
* @xshrink: horizontal shrink
|
||||||
* @yshrink: vertical shrink
|
* @yshrink: vertical shrink
|
||||||
|
* @...: %NULL-terminated list of optional named arguments
|
||||||
*
|
*
|
||||||
* Shrink @in by a pair of factors with a simple box filter.
|
* Shrink @in by a pair of factors with a simple box filter.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user