John Cupitt
439522a254
add vips_similarity()
...
simple wrapper over vips_affine() that lets you give the matrix as scale
+ angle.
2013-10-03 11:56:35 +01:00
John Cupitt
1c55abca1f
add --band arg to maplut
...
you can chose to map just one band of @in through a one-band lut, use
for adjusting L in a LAB image, for example
2013-10-02 12:10:30 +01:00
John Cupitt
0fcff235b3
deprecate im_tone_map() and im_tone_analyze()
...
too trivial and specialised to be worth redoing
2013-10-02 10:36:00 +01:00
John Cupitt
d329fb165d
im_ismonotonic() becomes a class
2013-10-02 10:16:46 +01:00
John Cupitt
81bd3c1b53
more cosmetic
2013-10-02 05:51:14 +01:00
John Cupitt
881c6d72f5
cosmetic
2013-10-02 05:32:17 +01:00
John Cupitt
45a9e417f4
start vips_conv()
2013-10-01 14:26:13 +01:00
John Cupitt
440b800e0e
add a new unbuffered seq mode
...
things like
vips copy huge.png x.v
now run with only a small line cache
2013-09-29 11:04:11 +01:00
John Cupitt
ee336b0199
allow many more types in tiff write
...
the tiff writer now allows 32-bit int, complex, any number of bands,
etc. etc.
2013-09-24 09:15:06 +01:00
John Cupitt
90e08e92ee
allow .dz as a destination
...
so this now works:
$ vips extract_area 50310.svs x.dz 10 10 100 100
and writes a deepzoom pyramid
2013-09-24 09:00:55 +01:00
John Cupitt
a11e5352f2
tiff reader allows many more formats
...
eg. 32-bit ints, signed and unsigned, complex, extra alpha, etc.
2013-09-23 14:55:05 +01:00
John Cupitt
326365ab6c
redo im_mpercent*() as a class
2013-09-21 16:19:51 +01:00
John Cupitt
b11de1ce22
redo im_profile() as a class
...
also fix an oops in the new project.c code
2013-09-21 15:21:15 +01:00
John Cupitt
481a4445fb
add vips_image_new_matrixv()
2013-09-20 22:06:59 +01:00
John Cupitt
d029461bc0
redo im_tone_build*() as classes
...
start vips_hist_percent() as well
2013-09-20 14:33:34 +01:00
John Cupitt
04701ad7d5
big tiff reader cleanup
2013-09-18 12:43:03 +01:00
John Cupitt
e3fa14f61b
support plane-separated data in tiff read
...
though only for strip images, needs some more testing
2013-09-17 14:56:16 +01:00
John Cupitt
5ffe42cec6
Merge branch 'webp'
...
Conflicts:
ChangeLog
TODO
2013-09-17 10:32:44 +01:00
John Cupitt
8ccb5bbe6d
support greyscale tiff with alpha
...
thanks Robert for pointing out this omission
2013-09-16 15:25:02 +01:00
John Cupitt
2088e3d111
im_project() becomes a class
2013-09-16 12:19:48 +01:00
John Cupitt
96b3bf1fcb
im_stdif() -> a class
...
also many bands support
2013-09-10 20:19:11 +01:00
John Cupitt
f1c3e1a434
any number of bands for hist_local
2013-09-10 17:57:10 +01:00
John Cupitt
d78b417c3a
im_lhisteq() -> a class
2013-09-05 13:50:47 +01:00
John Cupitt
7a5e04ba00
redo im_invertlut() as a class
2013-09-05 09:11:23 +01:00
John Cupitt
f35e27135a
im_histspec() becomes a class
2013-09-04 09:19:34 +01:00
John Cupitt
1c54970deb
deprecate im_hsp()
2013-08-19 16:40:30 +01:00
John Cupitt
81ee98fca7
im_histplot() -> vips_hist_plot()
2013-08-19 16:07:35 +01:00
John Cupitt
13cf12f0df
more im_histindexed() to a class
2013-08-19 15:14:15 +01:00
John Cupitt
e2215bd04c
redo im_histnD() as a class
2013-08-17 16:59:28 +01:00
John Cupitt
30364aada3
redo im_heq() as a class
2013-08-13 16:03:20 +01:00
John Cupitt
15dcb27916
redo im_histnorm() as a class
...
also deprecate im_histeq() (it's just cum + norm)
2013-08-13 15:33:29 +01:00
John Cupitt
4e9ed44432
im_histcum() as a class
2013-08-13 14:22:25 +01:00
John Cupitt
ae6d917811
redo im_histgr() as a class
2013-08-12 11:47:53 +01:00
John Cupitt
6855770362
rename vips_diag() as vips_info()
...
plus a command-line flag to turn it on
2013-08-07 09:22:24 +01:00
John Cupitt
4a65af9196
add save functions
2013-08-06 18:15:18 +01:00
John Cupitt
165e7c9717
basic webp load done
2013-08-06 15:51:23 +01:00
John Cupitt
5f340ea554
Merge remote-tracking branch 'origin/7.34'
...
Conflicts:
libvips/iofuncs/type.c
2013-08-06 13:20:13 +01:00
John Cupitt
8a72c0742c
oops
2013-08-06 13:00:59 +01:00
John Cupitt
9b6f96ed41
redo falsecolour, gammacorrect as classes
2013-08-02 09:41:11 +01:00
John Cupitt
226095c39d
move im_maplut() to a class
2013-07-31 22:00:36 +01:00
John Cupitt
aadd7c1ee5
vipsthumbnail rewrite
2013-07-10 11:05:45 +01:00
John Cupitt
ae4922e480
Merge remote-tracking branch 'origin/7.34'
2013-07-06 12:00:40 +01:00
John Cupitt
02095763c9
null-terminate exif strings
...
libexif strings are not null-terminated, add a \0 before adding to the
vips image
thanks Mike
2013-07-06 11:51:34 +01:00
John Cupitt
1ba188dc83
better file format sniffing
...
and vips_error_freeze/thaw() to stop errors from sniffing
being logged
plus better matrix sniffing
2013-07-04 09:43:57 +01:00
John Cupitt
0180a61be4
move im_identity*() to a class
2013-07-03 21:39:28 +01:00
John Cupitt
7ee47c2073
vips_buildlut() builds
...
also fix ref doc build
2013-07-03 12:52:39 +01:00
John Cupitt
27cec75cbd
Merge remote-tracking branch 'origin/7.34'
...
Conflicts:
ChangeLog
TODO
configure.ac
2013-07-03 11:38:15 +01:00
John Cupitt
7bf40144b9
lower priority for matlab load
...
reduces segvs from Mat_Open(), thanks Michael
2013-07-03 11:36:25 +01:00
John Cupitt
7490da07a6
rename image array as matrix
...
we had vips_image_new_array(), this was confusing with VIPS_TYPE_ARRAY,
something completely different ... rename image array as matrix
2013-07-02 22:09:50 +01:00
John Cupitt
9278498623
add vips_matrixload(), vips_matrixsave()
...
read and write vips mat format to and from VipsImage
also fix a leak with vips_check_matrix()
2013-07-02 12:08:46 +01:00
John Cupitt
8259da2b9c
getting ready to rewrite hist stuff
2013-07-01 13:45:36 +01:00
John Cupitt
3b6bcef700
strip ICC profile on conversion in xyz2srgb
...
if we use the vips xys->srgb path (ie. not the lcms one) we must remove
any ICC profile left over from import, otherwise we may have srgb pixels
with a non-srgb profile
2013-07-01 09:23:09 +01:00
John Cupitt
610f7aa0eb
fix morph on non-uchar images
2013-06-28 14:50:39 +01:00
John Cupitt
b20a9f78dd
faster --centre logic for dzsave
...
don't test pixel-by-pixel for background tiles, instead track the rect
of real pixels and test for intersection
this might help performance scaling on many-core CPUs since we are no
longer spinning up a threadgroup for each output tile
thanks Kacey
2013-06-19 14:03:39 +01:00
John Cupitt
dcd2dbb756
vips_pngload_buffer() works
...
fix a bug in vips_jpegload_buffer() too
2013-06-17 09:41:22 +01:00
John Cupitt
d7d91363ba
im_sines() as a class
2013-06-13 18:46:41 +01:00
John Cupitt
6031b40b8d
move im_zone*() over to a class
2013-06-13 17:37:24 +01:00
John Cupitt
cf09f3376e
redo im_*eye() as a class
2013-06-13 13:50:24 +01:00
John Cupitt
86f3d2b083
add vips_xyz()
2013-06-12 14:51:43 +01:00
John Cupitt
c77386f3cf
vips_magickload() only reads 1st image in sequence
...
with an @all_frames option to get them all, thanks acrispino
2013-06-11 14:29:43 +01:00
John Cupitt
55bfa92725
add a vips7 interface to the deepzoom writer
2013-06-11 12:32:46 +01:00
John Cupitt
3bffb2a7e3
Merge remote-tracking branch 'origin/7.32'
2013-06-11 09:54:21 +01:00
John Cupitt
c95dbe3dcd
link against gthread on old glib
...
if glib is ancient, link against gthread ... fixes centos5 build
thanks re-boot
2013-06-09 17:09:21 +01:00
John Cupitt
0221bcd3f6
fix no-pango mode
...
oops again
2013-06-07 22:52:54 +01:00
John Cupitt
5d7f19beb3
fix VImage.PIL_mode_from_vips()
...
thanks Alessandro
2013-06-07 10:42:47 +01:00
John Cupitt
ad258d9ad2
version bump
2013-06-07 09:53:22 +01:00
John Cupitt
bd5c4757e8
fix vips_shrink() seq again
...
perhaps properly this time
2013-06-06 12:08:26 +01:00
John Cupitt
b405047132
im_system*() -> a class
...
vips_system() is a bit more flexible too
2013-06-04 13:25:38 +01:00
John Cupitt
dfd09a0285
redo im_text() as a class
2013-06-03 14:37:55 +01:00
John Cupitt
27b7332a60
im_msb() -> class
...
and some cleanups
add a --band option
2013-06-03 10:26:09 +01:00
John Cupitt
738fe3aeaf
redo subsample as a class
2013-06-01 21:31:45 +01:00
John Cupitt
0bbc1b20d6
im_zoom() -> class
2013-06-01 10:56:16 +01:00
John Cupitt
236b8b99ad
redo im_wrap() as a class
...
incorporate im_rotquad() as an option too
2013-05-31 18:12:39 +01:00
John Cupitt
caed1199ed
im_scaleps() is a class
...
actually an option to vips_scale(), with a param for the exponent as
well
2013-05-30 16:55:32 +01:00
John Cupitt
4311d452f1
redo im_scale() as a class
2013-05-30 16:29:58 +01:00
John Cupitt
e0951c223b
redo im_grid() as a class
2013-05-30 15:52:36 +01:00
John Cupitt
42b4dd947d
im_copy_file() -> vips_copy_file()
...
also rename vips_image_new_disc_tmpe() as vips_image_new_temp_file()
2013-05-29 17:08:18 +01:00
John Cupitt
1310d4193b
add --angle option to dzsave
2013-05-29 14:06:23 +01:00
John Cupitt
62b52ed624
gaussnoise redone as a class
2013-05-29 12:21:30 +01:00
John Cupitt
69136b1d8c
auto rshift to 8 bits for 8-bit save
2013-05-28 10:32:37 +01:00
John Cupitt
cdb3c589dd
Merge remote-tracking branch 'origin/7.32'
...
Conflicts:
ChangeLog
configure.ac
2013-05-14 09:40:16 +01:00
John Cupitt
d739a240eb
fix a segv with icc import/export
...
would segv for very wide images
2013-05-14 09:38:59 +01:00
John Cupitt
5e3f868171
don't cache vips_copy() or im_copy()
2013-05-11 16:31:18 +01:00
John Cupitt
f80bf594ce
sharpen param to vipsthumbnail
2013-05-03 13:56:38 +01:00
John Cupitt
147b135944
Merge remote-tracking branch 'origin/7.32'
2013-04-25 22:22:53 +01:00
John Cupitt
d6e8abce9b
added "persistent" option to tilecache
...
sometimes you need to keep pixels between evaluations
2013-04-25 17:43:15 +01:00
John Cupitt
891051abbe
Merge remote-tracking branch 'origin/7.32'
...
Conflicts:
ChangeLog
configure.ac
po/vips7.32.pot
2013-04-16 17:01:37 +01:00
John Cupitt
4c5772fe5f
rename vips7.po as vips7.32.po
...
helps Debian, where they need to be able to install versions in parallel
2013-04-16 14:30:28 +01:00
John Cupitt
5e30107d75
Merge remote-tracking branch 'origin/7.32'
2013-04-08 13:17:31 +01:00
John Cupitt
f0cbe27bb2
Merge remote-tracking branch 'origin/7.32' into 7.32
...
Conflicts:
ChangeLog
2013-04-08 13:17:10 +01:00
John Cupitt
0c6da0c330
fix demand hints for shrink
...
"vips shrink" was broken due to wonky demand hints, thanks Jan
2013-04-08 13:08:24 +01:00
John Cupitt
9a73a0ea5c
Merge remote-tracking branch 'origin/7.32'
2013-03-22 09:14:43 +00:00
John Cupitt
4ebe588da6
fix compile without jpeg
...
im_jpeg2vips.c failed to compile if jpeglib.h was missing, thanks
Alessandro
2013-03-22 09:12:06 +00:00
John Cupitt
3612dce45a
Merge branch '7.32'
2013-03-17 15:24:25 +00:00
John Cupitt
831f8cb700
Merge remote-tracking branch 'origin/7.32' into 7.32
...
Conflicts:
ChangeLog
2013-03-17 15:24:13 +00:00
John Cupitt
f5188ee3f6
better arg without value handling
...
this was segv-ing:
vips tiffsave v26722.tif v26722.pyr.tif --tile -tile-width 256
(only one hypen before tile-width)
thanks Ruven
2013-03-17 15:19:37 +00:00
John Cupitt
4bcc380b93
Merge remote-tracking branch 'origin/7.32'
...
Conflicts:
ChangeLog
2013-03-15 12:17:09 +00:00
John Cupitt
9cb1403b9b
better error msg on unknown action
...
$ vips fred --n
would confusingly complain about unknown option --n, rather than the
unknown acrion "fred"
2013-03-15 12:15:35 +00:00
John Cupitt
386d73770e
oops date
2013-03-12 12:07:52 +00:00
John Cupitt
042d093df2
bump version for next cycle
2013-03-12 12:06:59 +00:00
John Cupitt
0f633da128
configure cleanup, version bump
...
configure.ac had some left-over debugging code
2013-03-12 08:56:25 +00:00
John Cupitt
9795913bf5
sync
2013-03-07 11:23:17 +00:00
John Cupitt
58040423d2
fix --without-lcms
...
oops! thanks speckins
2013-03-06 17:33:25 +00:00
John Cupitt
8269a79801
vipsthumbnail sizes cache better
...
the vipsthumbnail cache could be too small on many-cpu machines, size it
more intelligently
2013-03-01 09:44:19 +00:00
John Cupitt
2d085f753b
record the image loader
...
and display in header too
2013-02-27 12:51:26 +00:00
John Cupitt
ad2156a6d2
Merge remote-tracking branch 'origin/7.30'
...
Conflicts:
ChangeLog
configure.ac
po/vips7.pot
2013-02-27 12:10:53 +00:00
John Cupitt
b1b1d8ae39
fix png write bug, bump version
2013-02-27 12:09:10 +00:00
John Cupitt
25a7b760d0
neater "header" output
2013-02-26 13:32:40 +00:00
John Cupitt
3837497613
threaded tilecache could deadlock
...
in threaded mode, tilecache could deadlock if the downstream pixel
source raised an error
senario:
- thread1 starts working on tile A and flags it as a CALC
(calculation in progress)
- thread2 needs tile A, sees it is being worked on, and blocks
until computation is done
- thread1 hits an error ... it correctly remarks the tile as
PEND (calculation pending), but does not broadcast a wake-up
signal
- thread2 stays blocked!
threads now broadcast a wakeup on tile error as well as on tile success
Thanks to Todd Patrick
2013-02-21 17:26:58 +00:00
John Cupitt
b3c16b69a1
version number bump
...
bump version for new stable cycle
2013-01-22 14:04:55 +00:00
John Cupitt
9fb16c23fc
add --centre option to dzsave
...
with --centre turned on, in google maps mode dzsave will centre tiles
rather than placing them at the top-left
also, make sure blank.png is set to @background
2013-01-21 14:48:14 +00:00
John Cupitt
1ae19e896f
Merge remote-tracking branch 'origin/7.30'
...
Conflicts:
libvips/conversion/sequential.c
libvips/conversion/tilecache.c
libvips/deprecated/im_tile_cache.c
libvips/deprecated/vips7compat.c
po/vips7.pot
2013-01-15 13:47:48 +00:00
John Cupitt
a431f5e021
clean up after fix
...
threaded tile cache seems a good solution --- clean up and get ready to
merge back into master
2013-01-14 17:35:05 +00:00
John Cupitt
8ab2f3eeb6
backport threaded tile cache
2013-01-14 14:51:51 +00:00
John Cupitt
ac405862ba
argh
2013-01-11 14:51:12 +00:00
John Cupitt
fbfaac319a
Merge remote-tracking branch 'origin/master' into corner
2013-01-02 10:18:53 +00:00
John Cupitt
c43924f716
Merge remote-tracking branch 'origin/7.30'
...
Conflicts:
ChangeLog
configure.in
2012-12-31 14:40:30 +00:00
John Cupitt
ee2b1f71ce
better option parsing for "vips"
...
The vips driver program was parsing options in a single pass. This
failed if an option came in two parts, for example:
vips --plugin x.plg list
the argument to --plug would be picked up as the action for "vips",
since actions were selected before option parsing
Now we parse in two passes: the first pass picks up options for vips
itself and for the libvips library, then we select the action, then we
parse again, including any options created by the action
2012-12-31 14:10:54 +00:00
John Cupitt
7fb57a4ea7
Merge remote-tracking branch 'origin/master' into corner
...
Conflicts:
ChangeLog
2012-12-19 11:18:30 +00:00
John Cupitt
8b67d53e56
make VipsArea threadsafe
...
google maps output needs threaded create / destroy of VipsArea (used to
hold the background colour). We need a lock on VipsArea::count.
Fixes https://github.com/jcupitt/libvips/issues/46
Thanks fuho
2012-12-19 09:58:35 +00:00
John Cupitt
e6eb08173f
can now displace affine input space
...
so hopefully that means you can change corner vs. centre convention
easily
2012-12-18 13:08:18 +00:00
John Cupitt
4c82d45463
redo im_affine as a class
2012-12-14 12:33:47 +00:00
John Cupitt
43d69e74e7
use corner convention everywhere
...
all interpolators use corner convention
2012-12-13 14:10:52 +00:00
John Cupitt
c341f0d134
add scRGB functions
2012-12-11 15:25:28 +00:00
John Cupitt
3dc10831c1
added vips_bandbool()
2012-12-07 11:17:09 +00:00
John Cupitt
1de6c6bcc6
add binary complex ops
...
cross_phase is the only one atm
2012-12-06 14:52:51 +00:00
John Cupitt
a83da34355
more deprecations
...
im_point*() and im_linreg() this time
2012-12-06 14:10:43 +00:00
John Cupitt
81158d5b34
clean up notes
2012-12-05 21:52:37 +00:00
John Cupitt
a4433f1b9f
vips_min() done too
2012-12-05 14:40:01 +00:00
John Cupitt
1e332d2f29
vips_max() returns arrays for position and value
...
int array type too for x/y position arrays
2012-12-05 13:11:29 +00:00
John Cupitt
6f22c00df4
NN now rounds down rather than to nearest
...
nearest-neighbour interpolation now strictly rounds down rather than
rounding to nearest
round to nearest caused strange half-pixels along top/left image edges
during enlargement, and extra 1.5 sized pixels everywhere else
instead we should fix the thing that round to nearest was supposed to fix by
adding an extra pair of params to the affine transform which displace in
input space (dx/dy displace in output space)
2012-11-30 21:35:12 +00:00
John Cupitt
c3ef2be4ab
preserve jpeg ipct data
...
now copies over ipct data from app13, thanks Gary
2012-11-21 21:33:50 +00:00
John Cupitt
fcc33020bd
better exif handling
...
- track ifd numbers for each item of exif
- be more careful about which ones we update
- don't update xres/yres in vips_shrink()
2012-11-16 10:03:31 +00:00
John Cupitt
9abb7a1fd1
Merge remote-tracking branch 'origin/7.30'
...
Conflicts:
ChangeLog
configure.in
libvips/conversion/tilecache.c
po/vips7.pot
2012-11-14 14:52:27 +00:00
John Cupitt
efcc53859a
capture tiff warnings during startup
...
We were not capturing warnings from libtiff until we used libtiff
ourselves. Other libraries whcih we call, such as ImageMagick, could use
libtiff and generate an uncaptured warning.
On Windows these warnings each produced a popup.
2012-11-14 14:44:21 +00:00
John Cupitt
4ab937a8b6
fix library versioning mixup
...
thanks benjamin
2012-11-14 09:59:30 +00:00
John Cupitt
767bfc3b7f
allow absolute file names in vipsthumbnail -o
...
thanks fuho
2012-11-13 20:09:30 +00:00
John Cupitt
fdaad16407
better --help output for vips driver prog
...
now lists possible actions
2012-11-13 12:51:58 +00:00
John Cupitt
b03d48e24b
make linecache 50% larger
...
thanks ferryfax, see:
https://github.com/jcupitt/libvips/issues/36
2012-11-12 14:17:21 +00:00
John Cupitt
e0b2919f16
add 16-bit sRGB export
2012-11-06 13:53:37 +00:00
John Cupitt
bf11e2ff55
added vips_colourspace_issupported()
2012-11-02 13:13:13 +00:00
John Cupitt
d282cb1111
Merge remote-tracking branch 'origin/master'
2012-11-02 11:30:27 +00:00
John Cupitt
e12da1c32f
sync
2012-11-02 11:30:17 +00:00
John Cupitt
09789ebdfd
add @depth option to dzsave
...
so you can ask for a 1 layer pyramid
2012-11-01 18:11:46 +00:00
John Cupitt
4c5dd969bc
rename colour_convert as colourspace
...
also rework im_icc_ac2rc
2012-11-01 14:59:20 +00:00
John Cupitt
f5790be152
rename UCS as CMC
2012-11-01 10:21:55 +00:00
John Cupitt
63a06e5f81
faster and more accurate sRGB <-> XYZ
...
just use one table, since all colour channels are the same now
have more points in the float -> int direction, fewer in int -> float
faster out of range detection
2012-11-01 08:53:54 +00:00
John Cupitt
a2d4c15049
move dE00 to a class
2012-10-31 11:22:28 +00:00
John Cupitt
de3298d69e
redo dEUCS as a class
2012-10-31 11:04:10 +00:00
John Cupitt
db0c05434f
dE_from_lab() as a class
2012-10-25 23:07:09 +01:00