Commit Graph

1531 Commits

Author SHA1 Message Date
John Cupitt
ca51b46e9a docs, c++, all done 2015-11-07 20:54:00 +00:00
John Cupitt
295b18585a python uses bandjoin_const when possible
added a test case, speedup seems worthwhile
2015-11-07 20:34:56 +00:00
John Cupitt
9cb2674a77 now works woo
python interface plus test and benchmark to go

update c++ too I guess

oh docs as well sigh
2015-11-07 18:47:02 +00:00
John Cupitt
2f98f38d8a started bandjoinconst 2015-11-06 14:58:32 +00:00
John Cupitt
de65da85b9 smarter conversion of float masks to int
we were just rint()ing masks going from float -> int, but this could
give bad results in some cases, with output images becoming darker
or lighter, as individual elemets moved up or down

now we adjust the output scale to try to keep the overall brightness
the same, if we can

see: https://github.com/jcupitt/libvips/issues/344
2015-11-06 14:29:23 +00:00
John Cupitt
d38a78d0ea notes 2015-11-05 12:40:03 +00:00
John Cupitt
82d96fb73e notes 2015-11-04 21:19:31 +00:00
John Cupitt
30a3d2f7fa fix shrink with non-int args
fix a silly bug, add a test
2015-11-04 12:00:49 +00:00
John Cupitt
d126a733a0 better rgb16/grey16 conversion
things like float tagged as rgb16 did not save well as png ... new
conversion rules should help

see https://github.com/jcupitt/libvips/issues/344
2015-11-04 11:34:52 +00:00
John Cupitt
11ce13d43d enable new shrink code
2x faster, much lower memuse
2015-10-31 12:15:48 +00:00
John Cupitt
582a7f1810 shrink2 now done
big mem saving, still a bit slower though
2015-10-31 10:43:08 +00:00
John Cupitt
da8f236f95 try a split shrink
not quite done yet
2015-10-30 18:15:14 +00:00
John Cupitt
07ca974273 note on IM link problems
vips won't build against current imagemagick

seems to be a change in IM, see:

	http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=28603

see also:

https://github.com/jcupitt/libvips/issues/343
2015-10-30 14:53:35 +00:00
John Cupitt
ceb1b96d06 note that quadratic is unfinished 2015-10-08 17:40:37 +01:00
John Cupitt
e62df8c573 fix more cppcheck warnings
cppcheck now passes, with a few false positives

see https://github.com/jcupitt/libvips/issues/331
2015-09-29 09:23:01 +01:00
John Cupitt
6ec2364f84 TODO note 2015-09-09 16:08:03 +01:00
John Cupitt
c4206536ee ping travis 2015-07-25 04:52:26 +01:00
John Cupitt
d459b2f95d update notes 2015-07-21 16:06:18 +01:00
John Cupitt
4dec42a9e5 oops 2015-07-17 13:20:08 +01:00
John Cupitt
83cd265e7d one strange issue left 2015-07-16 15:40:11 +01:00
John Cupitt
69fc2c1b7c getting closer ...
fix RefString handling, add a test case
2015-07-16 11:14:33 +01:00
John Cupitt
6ffdc6a7b7 better sanity checking for input profiles
previously it could get RGBA and CMYK images mixed up, see:

https://github.com/lovell/sharp/issues/237
2015-06-26 11:07:00 +01:00
John Cupitt
17bace3483 fix corrupt test image 2015-06-22 06:52:02 +01:00
John Cupitt
230cc975fc Merge branch 'master' into add-hsv
Conflicts:
	TODO
2015-06-21 19:33:19 +01:00
John Cupitt
7077356496 another try at improving progress feedback 2015-06-21 19:28:10 +01:00
John Cupitt
12764053db note bug 2015-06-20 11:23:13 +01:00
John Cupitt
801cb67b6f notes 2015-06-20 11:17:04 +01:00
John Cupitt
e4c53e59dd fix a compile error 2015-06-20 10:54:24 +01:00
John Cupitt
6fc3ec028c better progress feedback 2015-06-19 15:00:48 +01:00
John Cupitt
e107dd11c0 test band fold/unfold factors 2015-06-11 12:49:11 +01:00
John Cupitt
d7d8e03a86 add @factor to bandunfold 2015-06-11 09:45:14 +01:00
John Cupitt
65c343552c add @factor option to bandfold
how much to fold by
2015-06-10 14:57:50 +01:00
John Cupitt
e83a3bbfd1 add a test for byteswap() 2015-06-07 16:24:52 +01:00
John Cupitt
e9720afb18 add vips_bandfold()/vips_bandunfold()
was part of vips_copy(), but it was very ugly there
2015-06-05 14:52:05 +01:00
John Cupitt
dbd852211e move bytw swapping out to vips_byteswap()
it was an option to vips_copy(), ugly!
2015-06-05 13:56:26 +01:00
John Cupitt
e84b97038f add mono image -> many band column
or row ... handy for loading LUT images from CSV files
2015-06-04 16:02:41 +01:00
John Cupitt
5cb2239d7d try to support DOS ppm/csv files on linux
swap \r\n for \n in vips__fgetc()
2015-06-04 12:58:30 +01:00
John Cupitt
a511221984 notes 2015-06-04 09:38:08 +01:00
John Cupitt
c35e2e5427 add RefString getter
to python now unpacks VipsRefString on get_value()
2015-06-02 13:32:48 +01:00
John Cupitt
baf78fc04a oops, fix base64 encode/decode padding
we were adding up to two bytes of null to the end of base64-encoded
binary data due to a signed/unsigned mixup

add a test for this, plus a test for vips file format
2015-05-31 18:17:26 +01:00
John Cupitt
98e80903e0 metadata was not being saved to vips files
broken by the rewind changes a few weeks ago

added a test too
2015-05-28 16:19:32 +01:00
John Cupitt
045678d438 vips_copy() can turn bands into width
handy for slicing up very large 3D arrays
2015-05-15 14:24:53 +01:00
John Cupitt
8566f3999a bug? 2015-05-14 21:50:12 +01:00
John Cupitt
29fc735f90 Merge branch 'master' of github.com:jcupitt/libvips
Conflicts:
	TODO
2015-05-11 13:30:35 +01:00
John Cupitt
25bf910f21 vipsthumbnail uses vips_premultiply() 2015-05-09 16:33:38 +01:00
John Cupitt
ec52d1b922 change vips_flatten() alpha rules
now match vips_premultiply()

add tests

foreign knows about new logic
2015-05-09 12:10:42 +01:00
John Cupitt
9dda68f8cd final polish 2015-05-09 10:21:31 +01:00
John Cupitt
ac800fd034 note on vipsthumbnail 2015-05-08 14:51:55 +01:00
John Cupitt
66c51b7d23 add an experimental premultiply operation 2015-05-07 23:42:02 +01:00
John Cupitt
ad017dc56f add more C++ convenience functions
flipver() etc.
2015-04-24 10:10:44 +01:00
John Cupitt
9f0ecae95a better vips_warn() docs 2015-04-13 15:53:21 +01:00
John Cupitt
8d09db7cd4 found some old code we can remove 2015-03-05 14:49:13 +00:00
John Cupitt
d20f0bf617 improve bandalike
better setting of interpretation in output
2015-03-05 12:10:26 +00:00
John Cupitt
339f268200 add some API for args, fix a docs messup 2015-03-02 22:02:33 +00:00
John Cupitt
094f690042 notes 2015-03-02 11:30:29 +00:00
John Cupitt
e24fddc808 notes 2015-03-02 08:57:02 +00:00
John Cupitt
5ccb5ad70d add () overload to python
for vips_getpoint()
2015-03-01 12:15:48 +00:00
John Cupitt
ded01df512 c++: add [], change ()
() used to return element zero, just return a vector

add [] overload
2015-03-01 10:43:02 +00:00
John Cupitt
367819b5cc oops 2015-02-28 22:56:09 +00:00
John Cupitt
5d912fdbbb add [] overload to python
index and slice image bands
2015-02-28 16:53:06 +00:00
John Cupitt
a49e6772fd notes 2015-02-27 11:54:18 +00:00
John Cupitt
fc5a4a917a make file format readers close fds early
we were using two fds per open image, now we just use one

jpg, magick, tiff, png
2015-02-26 14:09:01 +00:00
John Cupitt
2b9471b19d add note on tiff autorot 2015-02-24 14:04:04 +00:00
John Cupitt
78acd9b7a0 use a better name for the dzsave temp dir
see https://github.com/jcupitt/libvips/issues/242

dzsave with deepzoom layout and fs container writes a temp dir called
dzsave-temp-324857 or similar, and makes sure that this directory does
not exist

after write, the foo_files and foo.dzi files are picked out to the
current dir and the temp removed
2015-02-22 15:59:31 +00:00
John Cupitt
98b9214b4c add a note 2015-02-22 09:37:56 +00:00
John Cupitt
01d0a5f05e notes 2015-02-17 15:14:18 +00:00
John Cupitt
53c53006a6 add some more tests for the tiff saver 2015-02-17 15:04:15 +00:00
John Cupitt
ed5c90175a final cleanup 2015-02-17 14:45:39 +00:00
John Cupitt
8f7c2c7110 sort out alpha going to and from 16-bit
rewritten sRGB <-> scRGB so that 16-bit alpha is scaled to float 8
2015-02-12 17:50:38 +00:00
John Cupitt
244ab301f7 start final push for vips 8 2015-02-11 17:01:02 +00:00
John Cupitt
5b90e36559 notes 2015-02-10 14:44:35 +00:00
John Cupitt
640477dc62 better python imageize
sets interpretation as well ... was causing problems with jpg save
colour transforms
2015-02-10 14:08:37 +00:00
John Cupitt
62177ad24e notes 2015-02-10 10:17:01 +00:00
John Cupitt
346a9e70c0 remove --disable-cxx flag
it was getting too hard to support :( automake now generates libtool
lines before configure runs, so it can't know we don't want a C++ link

see https://github.com/jcupitt/libvips/issues/231
2015-02-07 10:37:13 +00:00
John Cupitt
d53e63e50f note 2015-02-05 14:55:40 +00:00
John Cupitt
d6dbfea064 much faster RGB16 -> sRGB path 2015-02-04 16:48:25 +00:00
John Cupitt
ddb43172f3 use new pyvips8 array constant syntax
also add median filter convenience function
2015-01-29 16:41:11 +00:00
John Cupitt
21b4748fe1 support 2D image array constants in py 2015-01-29 14:52:55 +00:00
John Cupitt
d6ff5f24c6 all tests done and working
phew
2015-01-29 14:27:18 +00:00
John Cupitt
2a1a371e5c started test_resample.py 2015-01-29 09:29:10 +00:00
John Cupitt
c384e2b664 finish morph
and add erode/dilate convenience functions to Vips.py
2015-01-28 21:58:08 +00:00
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