Commit Graph

1450 Commits

Author SHA1 Message Date
John Cupitt
6c35ae5540 display default and range in usage
eg. we now see:

$ vips gamma
gamma an image
usage:
   gamma in out
where:
   in           - Input image, input VipsImage
   out          - Output image, output VipsImage
optional arguments:
   exponent     - Gamma factor, input gdouble
  			default: 2.4
			min: 1e-06, max: 1000
operation flags: sequential-unbuffered
2014-12-30 13:16:22 +00:00
John Cupitt
32625146db cpp can set enums from strings
eg.

	set("extend", "copy")->
2014-12-30 11:27:04 +00:00
John Cupitt
1b86de44f4 "make check" works uninstalled
and skips tests for missing features
2014-12-22 10:35:26 +00:00
John Cupitt
a560d3b8c2 more osx help 2014-12-20 22:25:19 +00:00
John Cupitt
6e6cabb6e0 better pyvips8 notes 2014-12-18 10:25:42 +00:00
John Cupitt
abdd98409d add configure option for pyvips8
it tests for pygobject as well
2014-12-18 09:15:58 +00:00
John Cupitt
d454b9161e more tests 2014-12-17 21:34:47 +00:00
John Cupitt
6e2135d8b5 mask builders take prec, not integer
vips_gaussmat() and vips_logmat() used to default to float, but
vips_conv() defaulted to int ... so this failed:

	vips gaussmat m.v 2 0.1 --separable
	vips convsep k2.jpg x.jpg m.v

since we were using a small float mask with an integer convolution

This change makes everything int by default, with gaussmat having a new
param called --precision whose arg can be int or float.

The old @integer param is deprecated.
2014-12-16 20:48:11 +00:00
John Cupitt
1f85ef7fbb more convsep tests 2014-12-16 14:58:21 +00:00
John Cupitt
71bb0e81d1 better Vips.py install
more work on test_convolution
2014-12-15 18:12:47 +00:00
John Cupitt
b803b8f304 oops 2014-12-12 15:56:16 +00:00
John Cupitt
a9109904c1 make check both py2 and py3 2014-12-12 14:50:31 +00:00
John Cupitt
b4b8b8bd96 use bytes() for VipsBlob in python3 2014-12-11 13:08:14 +00:00
John Cupitt
d5c164898e note 2014-12-11 09:33:12 +00:00
John Cupitt
9866127e6a small cleanups 2014-12-10 15:31:22 +00:00
John Cupitt
037f6cd162 tiles tiff write needs to cache input
to keep it seq, as it promises to be
2014-11-20 10:07:28 +00:00
John Cupitt
ee4416040b make a test suite
put the python and non-nip2 bits of the nip2 suite together

some test images too
2014-11-19 15:01:28 +00:00
John Cupitt
384a5e05dc change parameters of vips_gaussblur()
sorry :-(

The old param (passing sigma*2 as an int) were just too confusing
coming from other packages. This new behaviour matches ImageMagick, and
almost everyone else in the world.

A new optional param lets you set the minimum amplitude as well.
2014-11-19 12:27:26 +00:00
John Cupitt
2a4f56ff9f notes 2014-11-19 09:51:52 +00:00
John Cupitt
77d5bd8d08 add sharpening step to vips_resize() 2014-11-18 21:39:29 +00:00
John Cupitt
589e15b8a4 better vips_resize() 2014-11-18 18:37:19 +00:00
John Cupitt
c120edde0d get make dist going 2014-11-18 14:52:52 +00:00
John Cupitt
dda412c85f add command-line option parsing to python 2014-11-18 11:29:32 +00:00
John Cupitt
240f0f1fd2 more doc work 2014-11-17 12:25:46 +00:00
John Cupitt
394149e9e8 fix all docs warnings 2014-11-17 10:32:40 +00:00
John Cupitt
703514b85d fix gtkdoc expansions in intro 2014-11-16 18:01:19 +00:00
John Cupitt
71c5069b42 revise cplusplus gen scripts 2014-11-16 12:19:04 +00:00
John Cupitt
e3afa878e6 better support for drawing operations
much more mem efficient for repeated draws

doc updates too
2014-11-16 11:07:42 +00:00
John Cupitt
d25beeddac remove wrap7 class
and pyvips8 now knows about deprecated args and ops
2014-11-14 22:41:05 +00:00
John Cupitt
b40bad04bb hide deprecated args to operations in python 2014-11-14 12:19:25 +00:00
John Cupitt
742ff4c108 more pydoc hacking 2014-11-14 10:07:04 +00:00
John Cupitt
865fd9da5e more docstring updates 2014-11-13 20:07:12 +00:00
John Cupitt
6a25b04974 better docstrings
you now see:

class_method(cls, *args, **kwargs) method of gi.types.GObjectMeta
instance
    make a black image
    usage:
       out = Vips.Image.black(width, height, bands = gint)

    where:
       out        - Output image, VipsImage

    required parameters:
       width      - Image width in pixels, gint
       height     - Image height in pixels, gint

    optional parameters:
       bands      - Number of bands in image, gint
2014-11-13 14:37:59 +00:00
John Cupitt
326854843a tinkering with pyvips8 docs 2014-11-11 14:59:06 +00:00
John Cupitt
70e470b0a5 fiddle with pyvips8 docstrings 2014-11-10 22:37:16 +00:00
John Cupitt
2c93340c77 fix pngsave of grey plus many alpha 2014-11-10 12:56:28 +00:00
John Cupitt
b8254eff77 stuff 2014-11-10 10:18:09 +00:00
John Cupitt
ccedc7c037 better random numbers for gaussnoise
fixes a problem with repeated use of gaussnoise
2014-11-08 19:37:18 +00:00
John Cupitt
cce90b4fba add pbm save
previously vips could load but not save pbm (one bit) images

fix a few bugs in float load and save as well, and improve one-bit load
2014-11-08 17:40:43 +00:00
John Cupitt
be4ffa6d8a more pyvips8 docs
and cleanups of various small doc markup errors
2014-11-07 14:49:18 +00:00
John Cupitt
02e8c600db more small docs work
and don't cache gaussnoise
2014-11-07 09:25:40 +00:00
John Cupitt
adf2d60940 update notes 2014-11-03 12:16:43 +00:00
John Cupitt
8a6c3606e8 start python and cpp docs 2014-10-31 20:09:24 +00:00
John Cupitt
5694bf6f4c add all new() and write() methods
VImage::new_from_buffer() etc.
2014-10-31 19:15:29 +00:00
John Cupitt
2a992375fe add more type conversions
so we automatically do int and double -> doublevec and intvec
2014-10-31 18:11:26 +00:00
John Cupitt
d6a6d7ae71 set of overloads for new cpp API
all the usual ones .. compiles, but untested
2014-10-30 21:53:24 +00:00
John Cupitt
4173ddfa9c add make constant image 2014-10-29 12:39:25 +00:00
John Cupitt
d012cef3b4 add some simple extras
.bandjoin(), .bandsplit(), .sin() etc etc
2014-10-29 09:47:02 +00:00
John Cupitt
63d4370043 split to a separate branch 2014-10-27 18:17:49 +00:00
John Cupitt
266e120676 new C++ interface works!
phew
2014-10-27 12:57:28 +00:00
John Cupitt
ceb143a22a another stab at a C++ API design 2014-10-24 10:32:50 +01:00
John Cupitt
f2898a8e3b more C++ hacking 2014-10-20 14:54:03 +01:00
John Cupitt
e21cbb9d4f tiny 2014-10-20 11:03:33 +01:00
John Cupitt
afdf22ac37 small fixups to autorot 2014-10-19 11:20:33 +01:00
John Cupitt
8a84d85335 sync 2014-10-17 14:08:35 +01:00
John Cupitt
14d7ce1e91 first try, not very good 2014-10-16 19:16:45 +01:00
John Cupitt
2acd185ee2 cleanups 2014-10-16 11:22:03 +01:00
John Cupitt
a8f4ed7871 fix up ifthenelse and set_value 2014-10-16 10:58:54 +01:00
John Cupitt
fc4c8b9cd7 constants as images working 2014-10-16 10:43:29 +01:00
John Cupitt
10b9374cb9 start adding auto image constants 2014-10-15 14:56:44 +01:00
John Cupitt
b2de6d983c add build rules for new py binding 2014-10-14 14:56:49 +01:00
John Cupitt
6fb967ac3b more py tweaks
fast startup, reorganised python/
2014-10-14 10:17:33 +01:00
John Cupitt
a0988ffc31 start using overrides in Python 2014-10-13 14:21:05 +01:00
John Cupitt
ca2ae681cd add --with-gmic configure option 2014-10-07 14:54:53 +01:00
John Cupitt
2e2cc9ea7a add get_value()
and set_value(), do auto blob/unblob
2014-10-01 14:59:23 +01:00
John Cupitt
3067fee56f add ICC tests 2014-10-01 12:28:25 +01:00
John Cupitt
e458365970 use vips__substitute() more
should probably remove vips_snprintf() from a few more places
2014-09-27 11:37:28 +01:00
John Cupitt
61bae5eeff more tests 2014-09-26 15:01:56 +01:00
John Cupitt
0a327af138 fixed extra band handling, again 2014-09-24 14:46:03 +01:00
John Cupitt
6ad94da99c Merge branch 'master' of github.com:jcupitt/libvips
Conflicts:
	TODO
2014-09-24 12:24:57 +01:00
John Cupitt
9f8083dc8f sync 2014-09-24 12:24:32 +01:00
John Cupitt
08e0d5d962 sync 2014-09-24 09:00:22 +01:00
John Cupitt
2cfffaa54e start conversion tests 2014-09-22 13:50:09 +01:00
John Cupitt
0ad165f557 update notes 2014-09-20 16:53:47 +01:00
John Cupitt
5ebe12273a more of colour unittest done 2014-09-18 15:04:12 +01:00
John Cupitt
bb50478d77 fix more, moreeq
there was a problem with operation caching in complex programs because of
the way we were swapping pointers
2014-09-17 11:21:34 +01:00
John Cupitt
8b9dc20684 add relational overloads to python
and tests
2014-09-17 09:39:57 +01:00
John Cupitt
4968b9edaf fix optional output args in python
oh arg we have to return a dict

also, test hough circle and line, and add maxpos/minpos
2014-09-16 10:47:24 +01:00
John Cupitt
c20c85b474 getting ready for hough test 2014-09-15 14:55:08 +01:00
John Cupitt
a82fa01781 more tests 2014-09-15 13:58:31 +01:00
John Cupitt
cc599844d2 fix getpoint(0,0)
and add more tests
2014-09-15 09:06:36 +01:00
John Cupitt
876a7538af more tests 2014-09-14 21:30:27 +01:00
John Cupitt
9a2c38e107 finish python vips8 2014-09-09 14:19:51 +01:00
John Cupitt
4c51e6aa0b draw and hough working in Python 2014-09-09 13:19:44 +01:00
John Cupitt
84e55b86e6 added class methods to python
we now have Vips.Image.black(w, h), woo
2014-09-08 14:53:37 +01:00
John Cupitt
a26df2a8a9 get ready for class methods 2014-09-07 09:36:34 +01:00
John Cupitt
751982d9f0 add make vips matrix from python array 2014-09-05 14:53:05 +01:00
John Cupitt
92570b119c python new_from_memory()/write_to_memory() done 2014-09-05 12:54:07 +01:00
John Cupitt
eca5ed12de buffer load/save in python works 2014-09-03 21:34:26 +01:00
John Cupitt
8f39f8ba3b start unboxing returns from Python 2014-09-03 14:59:35 +01:00
John Cupitt
4793c69bba turn VipsBlob into a proper type
with a .get() method we call call from Python
2014-09-02 21:59:11 +01:00
John Cupitt
5a0a98c922 sync 2014-09-02 14:57:37 +01:00
John Cupitt
6779e141a7 add Python .write_to_buffer()
now we need to be able to get the bytes from a VipsBlob
2014-09-01 17:44:33 +01:00
John Cupitt
804a2e6fca finish python operator overloads 2014-09-01 15:28:55 +01:00
John Cupitt
f03dc3754f start adding python operator overloads 2014-09-01 11:32:17 +01:00
John Cupitt
e6dba689ce auto array-ize scalars in python 2014-09-01 09:41:14 +01:00
John Cupitt
3b43bd76f3 set options in filenames in vips8 Python
now supports "fred.jpg[Q=90]" in Vips.Image.new_from_file() etc.
2014-08-31 21:16:39 +01:00
John Cupitt
a370e5003e vips array types are more binding-friendly
this all works now:

```python
from gi.repository import Vips

a = Vips.ArrayDouble.new([1,2,3])
a.get()

a = Vips.ArrayInt.new([1,2,3])
a.get()

a = Vips.ArrayImage.new([c, d, e])
a.get()
```
2014-08-31 10:41:53 +01:00
John Cupitt
42dac9209a GBoxed almost working 2014-08-29 18:14:22 +01:00
John Cupitt
5125cc535c Merge branch '7.40'
Conflicts:
	TODO
2014-08-19 18:04:24 +01:00
John Cupitt
41ec99b8d5 note 2014-08-19 18:03:19 +01:00
John Cupitt
af84b3097c more docs work 2014-08-19 16:57:37 +01:00
John Cupitt
cb2b217434 fix 16-bit PNG save
see

https://github.com/jcupitt/libvips/issues/156
2014-08-18 13:54:06 +01:00
John Cupitt
c646356b4f Merge branch 'master' of github.com:jcupitt/libvips
Conflicts:
	ChangeLog
	TODO
2014-08-17 09:58:24 +01:00
John Cupitt
7b496fb2f5 udpate notes 2014-08-12 13:45:03 +01:00
John Cupitt
b24cbb492c Merge remote-tracking branch 'origin/7.40'
Conflicts:
	ChangeLog
	TODO
	configure.ac
	libvips/foreign/vipspng.c
2014-08-12 13:41:52 +01:00
John Cupitt
2f72a9925f more docs work 2014-08-12 13:37:16 +01:00
John Cupitt
ce428ffa94 more vipsthumbnail fixes
- handle CMYK images
- use unbuffered mode, we have a cache already
- don't try to anti-alias on upscale
2014-08-11 16:48:51 +01:00
John Cupitt
b25dcc9ebe Merge remote-tracking branch 'origin/7.40'
Conflicts:
	TODO
2014-08-09 17:03:43 +01:00
John Cupitt
2e8217338b docs work 2014-08-09 10:25:34 +01:00
John Cupitt
2b086cfe6e add signed int bicubic path
better rounding for 8- and 16-bit signed int bicubic
2014-08-07 10:13:08 +01:00
John Cupitt
2e3baa1bef more docs stuff 2014-08-06 21:59:13 +01:00
John Cupitt
46673b60d7 small docs fixups 2014-08-05 10:09:13 +01:00
John Cupitt
ebeee822bc better rounding behaviour for bicubic
fixed-point bicubic was not rounding to nearest, introducing some noise
in flat areas
2014-08-05 10:02:11 +01:00
John Cupitt
f1df91eebb vipsthumbnail defaults to bicubic + noshapen
if bicubic is available
2014-08-04 09:55:18 +01:00
John Cupitt
ebec31fe4a more careful p->t conversion
When we convert an image from "p" to "t" in vips_image_wio_input(), zap
start/gen/stop callbacks. This makes vips_region_prepare_to() read from
the "t" rather than trying to gen pixels again.
2014-08-03 17:59:25 +01:00
John Cupitt
004c98f296 pngsave interlaced makes a copy of the image
interlaced png is hard to write: you have to make seven passes over the
image to make the whole file. It advertises itself as sequential, it
needs to only ake a single pass. Therefore, it must take a copy in
memory of the image to write.
2014-08-03 09:34:46 +01:00
John Cupitt
d438649fcb update notes 2014-08-02 05:14:37 +01:00
John Cupitt
ecd771cde7 Merge branch 'affine-bug'
Conflicts:
	libvips/resample/transform.c
2014-08-01 16:35:59 +01:00
John Cupitt
639c22bf53 add "whole_slide" toggle
openslideload now crops to image bounds (if set) ... use @whole_slide to
stop this autocrop
2014-07-30 12:27:19 +01:00
John Cupitt
0bb8a218bb exit() in fewer cases
we now only exit() when we know the stack has been trashed, just warn in
other cases
2014-07-29 15:23:27 +01:00
John Cupitt
2115c6d166 sync 2014-07-29 09:59:33 +01:00
John Cupitt
20a239149f Merge commit 'f4671f46e807db0e02d763e3a1685ad012eace5b' into 7.40 2014-07-25 19:47:04 +01:00
John Cupitt
20eb893350 Merge branch 'master' of github.com:jcupitt/libvips
Conflicts:
	TODO
2014-07-25 19:37:57 +01:00
John Cupitt
32a8fe117e start working on --disable-deprecated
need to move im_conv() etc to classes to finish this
2014-07-25 18:06:52 +01:00
John Cupitt
0114afa5fb limit nthr on tiny images
we always made N threads for a threadpool ... we could end up making
loads of threads we never used if the image was tiny

for very small images, limit the number of threads we make
2014-07-25 14:51:29 +01:00
John Cupitt
a338a48c63 fix a race in im_maxpos_avg() 2014-07-25 13:52:36 +01:00
John Cupitt
f4671f46e8 more work on docs
started adding .xml intro to vips sections
2014-07-25 09:22:49 +01:00
John Cupitt
9d096c39f1 update notes 2014-07-16 14:54:51 +01:00
John Cupitt
87698cc961 sync 2014-07-16 11:34:41 +01:00
John Cupitt
235eb87aa5 sort out sense of fourier filter masks 2014-07-15 09:05:00 +01:00
John Cupitt
89f8c58057 tiny vips_scale() fix
vips_scale() on a black image now returns an image with the right number
of bands ... was always a 1 band image before
2014-07-13 10:43:50 +01:00
John Cupitt
a9fdde9ddb fix im_point()
oops ... helps ruby-vips self test
2014-07-12 15:29:02 +01:00
John Cupitt
1a8dd2f299 fix affine identity transform with clipping 2014-07-08 17:09:42 +01:00
John Cupitt
987021a68d notes 2014-07-04 14:46:28 +01:00
John Cupitt
70eacc4543 Merge branch 'dzsave-metadata'
Conflicts:
	ChangeLog
2014-07-03 09:42:13 +01:00
John Cupitt
50c98c39d1 cache the image before write for fits
write must be strictly top-to-bottom for :seq to work
2014-07-02 12:45:19 +01:00
John Cupitt
8e2d83e815 use the libxml2 pretty-printer 2014-07-02 12:04:28 +01:00
John Cupitt
fc14733b2b Merge branch 'dzsave-metadata' of github.com:jcupitt/libvips into dzsave-metadata
Conflicts:
	ChangeLog
	configure.ac
2014-07-01 08:47:50 +01:00
John Cupitt
c2a8c542b6 we assumed GType fitted in an int
which isn't true on freebsd, and perhaps others
2014-06-29 11:17:23 +01:00
John Cupitt
243c86f405 small fixes to help freebsd 2014-06-27 13:11:57 +01:00
John Cupitt
150927a27f better --vips-progress feedback for dzsave 2014-06-19 12:57:04 +01:00
John Cupitt
3797c1824a doc fixups 2014-06-19 12:14:41 +01:00
John Cupitt
415b6d08be small fixups
- remove -c abbrv. for --vips-concurrency
- better desc for insert
- revise vips.1 man page
2014-06-19 09:59:29 +01:00
John Cupitt
32f5c444c5 update notes 2014-06-18 14:50:35 +01:00
John Cupitt
0e68067a82 oops dropped a patch 2014-06-18 14:08:41 +01:00
John Cupitt
519898a7ac oop, affine coordinate error
we were offsetting the input image incorrectly, compare
the way the transform is set up in vips_affine_build() and
im__affinei()

see https://github.com/jcupitt/libvips/issues/131
2014-06-17 14:18:12 +01:00
John Cupitt
b7f16a1de9 more docs work 2014-06-16 14:28:00 +01:00
John Cupitt
a76df77942 docs updates 2014-06-15 11:52:06 +01:00
John Cupitt
eed4bfc731 Merge remote-tracking branch 'origin/single-thread-first-tile'
Conflicts:
	ChangeLog
	TODO
2014-06-13 11:46:11 +01:00