John Cupitt
0193e23c64
only flatten in find_trim if there is an alpha
...
oops, flatten always flattens, it doesn't check for alpha first
see https://github.com/jcupitt/libvips/issues/670
2017-09-18 14:48:15 +01:00
John Cupitt
0d93f9f9dd
note flatten before getpoint for find_trim
...
add note on flatten before getpoint
see https://github.com/jcupitt/libvips/issues/670
2017-09-18 12:56:35 +01:00
John Cupitt
cfe907deb3
missing bandor in find_trim
...
it cropped too aggressively on images with highly-coloured edges
see https://github.com/jcupitt/libvips/issues/670
2017-09-18 12:44:19 +01:00
Alistair Thomas
d289b61fdc
Improve the gobject introspection annotations for Image.avg ()
2017-09-17 22:51:14 +01:00
John Cupitt
2a9c522de8
Merge branch 'master' into add-find-trim
2017-07-26 16:45:27 +01:00
John Cupitt
18595ca0dd
find_trim works for all bg images
...
width/height == 0 if whole image is bg
2017-07-26 15:13:12 +01:00
John Cupitt
34970d0cf2
remove some casts
...
and use VIPS_AREA instead
2017-07-26 14:57:27 +01:00
John Cupitt
254e6a8b2a
flatten alpha, bg default adjusts
...
bg default adjusts to image type, thanks Kleis
2017-07-26 14:56:28 +01:00
John Cupitt
6359c92c01
polish, add test for find_trim
2017-07-26 10:43:28 +01:00
John Cupitt
effc1d53d0
works
2017-07-25 19:00:21 +01:00
John Cupitt
1e7541bfb8
add find_trim
...
compiles, not yet working
2017-07-25 14:52:45 +01:00
John Cupitt
cbd9fad040
fix a few more problems with input args
...
a few other operators were modifying input args and messing up caching
2017-05-29 18:58:24 +01:00
John Cupitt
0a5375b6cd
Merge branch 'master' into remove-seq-stalling
2017-03-15 12:26:44 +00:00
John Cupitt
51f96ce9af
argh revert the arg order change
...
we need to patch bindings instead
2017-03-13 08:24:06 +00:00
John Cupitt
507212e3d8
Merge branch 'master' into remove-seq-stalling
2017-03-08 09:30:48 +00:00
John Cupitt
205fb817e8
change three C API funcs to match Python/C++/CLI
...
vips_math2_const(), vips_boolean_const() and vips_relational_const() had
the const and oper args reversed from the Python/CLI/C++ API
add something to check for arg priority conflicts and resolve the
conflicts it found
2017-03-07 14:28:31 +00:00
John Cupitt
362c7efdfc
argh reapply seq removal
2017-03-06 11:55:38 +00:00
John Cupitt
3d961653a9
use VIPS_MAX_COORD in a few more places
...
we had RANGE defined in each file before
2017-03-01 11:29:39 +00:00
John Cupitt
e6b20cbd0f
Revert "remove stalling"
...
This reverts commit 959f412380
.
2017-02-27 10:26:32 +00:00
John Cupitt
959f412380
remove stalling
2017-02-21 15:03:15 +00:00
John Cupitt
7136053451
sort max/min results by y and x coordinate
...
previously the list of maxima or minima found by max/min were in found
order, so essentially random
they now sort equal values by y then x coordinate, so the results are
consistent between runs, provided there are fewer maxima / minima than
are being tracked
2017-01-24 14:25:15 +00:00
John Cupitt
fb544e3f25
add note about non-determinism in stats
...
added a note to the docs for max/min/stats about non-determinism in the
results if there are many maxima/minima
thanks Mark
2017-01-24 12:14:55 +00:00
John Cupitt
f302bd6570
all working!
2017-01-12 14:06:54 +00:00
John Cupitt
d1ef5a6890
compiles, needs more testing
2017-01-11 14:05:50 +00:00
John Cupitt
2be0b97dce
switch to g_warning()_/g_info()
...
we had vips_warn() and vips_info(), but they are a bit crappy ... switch
to g_warning() and g_info() instead
see https://github.com/jcupitt/libvips/issues/544
2017-01-03 15:52:27 +00:00
John Cupitt
ebecede462
fix doc typo
2016-10-18 12:48:47 +01:00
John Cupitt
ded6f17fa8
fix up new buffer.c
...
and make getpoint() use the threading system
2016-10-14 09:00:21 +01:00
John Cupitt
fa79fcde35
more overcomp reporting
2016-05-19 14:40:16 +01:00
John Cupitt
1ae92bb15f
make optional args into bullets
...
make docs easier to read
2016-05-02 10:12:37 +01:00
John Cupitt
05156edd15
add orc path for reducev
...
works, but still not quite right, see some banding
2016-03-18 17:41:51 +00:00
John Cupitt
e582f13d13
tiny polish to hist_find
...
slightly faster again
2016-02-28 12:08:06 +00:00
Lovell Fuller
c49e882239
Improve performance of histogram generation for 1-4 band uchar.
...
The inner loop cannot be auto-vectorized by the compiler so
manually unroll for common cases to achieve a 2x-3x speed-up.
2016-02-23 19:31:19 +00:00
John Cupitt
4d18300560
add VIPS_FABS/MAX/MIN/CLIP
...
macros which use the gcc __builtin_fabs() etc. functions when they can
2016-01-26 12:26:21 +00:00
John Cupitt
07a1903390
use g_assert_not_reached()
...
we were using g_assert(0) ... g_assert_not_reached() makes the
intention clearer
2016-01-24 13:21:53 +00:00
John Cupitt
a7d889df06
use builtin floor / ceil
...
get rid of FAST_PSEUDO_FLOOR, add VIPS_FLOOR and VIPS_CEIL, use them
everywhere
see https://github.com/jcupitt/libvips/pull/372
2016-01-23 09:50:57 +00:00
Lovell Fuller
90c1fb9a94
Use gcc/clang isnan and isinf builtin functions where available.
...
These are used heavily in the building of look-up tables at
start-up time and therefore improve vipsthumbnail perf by ~4%.
2016-01-20 19:02:14 +00:00
John Cupitt
1504ca7cdc
have a more formal max image dimension
...
we now have VIPS_MAX_COORD for maximum image dimension, set to 10m
pixels ... we could go up to 2bn, but 10m seems a reasonable max, at
least for now
see https://github.com/jcupitt/libvips/issues/355
2015-12-03 12:14:39 +00:00
John Cupitt
32f6f5ed22
fix atan() for -ve angles
2015-11-20 14:45:51 +00:00
John Cupitt
40173838d1
use atan2 and hypot more
...
might be a little quicker
2015-11-19 14:34:03 +00:00
John Cupitt
3b32200cc1
sizealike() and friends elide completely
...
sizealike() / formatalike() and bandsalike() used to just vips_copy() if
the image didn't need any changes ... this was fast, but left a
vips_copy_gen() in the pipeline, wasting a lot of space on the C stack
during recursion.
They now vanish completely if the image is already in the right format.
Since we call them before most image processing operations, and
often all three of them, this saves a lot of C stack, more than x2 even
in simple cases.
There might also be a measureable CPU saving if the operations are very
simple (eg. insert).
See:
http://stackoverflow.com/questions/33658795/difficulty-with-handling-very-large-image-using-vips
2015-11-13 14:48:02 +00:00
John Cupitt
d3351c77a3
revert a test change for coverity
2015-09-30 11:47:10 +01:00
John Cupitt
e6a8485d70
oops
2015-09-30 11:37:42 +01:00
John Cupitt
67a45a3749
more small coverity tweaks
2015-09-30 11:11:11 +01:00
John Cupitt
d88dd1ab72
fix a few coverity issues
...
a couple of minor bugs, and a lot of warnings
2015-09-30 09:54:50 +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
35232e751d
make log/log10 zero-avoiding
...
stops -inf appearing in images
2015-08-11 13:59:11 +01:00
John Cupitt
7495690cd6
remove vips__image_sizeof_bandformat
...
we had main API macros which used an array behind the scenes,
vips__image_sizeof_bandformat[]. Swap this for a function,
vips_format_sizeof(), to help DLLs.
the array symbol is still there for compatibility
2015-04-20 14:18:17 +01:00
John Cupitt
d8018e8126
improve min/max docs
...
thanks Paul, see
https://github.com/jcupitt/libvips/issues/252
2015-04-12 11:25:46 +01:00
John Cupitt
c4672f389b
oops in vips_getpoint() C wrapper
2015-03-08 15:13:56 +00:00
John Cupitt
d20f0bf617
improve bandalike
...
better setting of interpretation in output
2015-03-05 12:10:26 +00:00
John Cupitt
3ceec6682f
better error message from getpoint
2015-01-05 13:37:27 +00:00
John Cupitt
9b3351f73a
vips_getpoint() frees input region sooner
...
we were leaving a region active after _build(), which caused problems later if
another operation triggered a rewind (for example)
2014-12-16 13:26:01 +00:00
John Cupitt
394149e9e8
fix all docs warnings
2014-11-17 10:32:40 +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
d7083d7a03
make arrayimage ref/unref
2014-09-23 14:38:46 +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
de594151a5
rename NOTEQUAL as NOTEQ
...
since <= is LESSEQ
python has some relational overloads now
2014-09-16 17:25:20 +01:00
John Cupitt
a82fa01781
more tests
2014-09-15 13:58:31 +01:00
John Cupitt
24ff40e9be
find_indexed wasn't banning complex images
2014-09-15 13:25:04 +01:00
John Cupitt
133e2f94e9
fix linear with mismatched vectors
...
we had:
$ vips linear sarto_ng.v x.v "1 2 3" "4"
$ vipsheader x.v
x.v: 1865x2556 float, 1 band, b-w
$ vips linear sarto_ng.v x.v "1" "4 5 6"
$ vipsheader x.v
x.v: 1865x2556 float, 3 bands, b-w
there was a typo in linear.c
2014-09-15 12:41:05 +01:00
John Cupitt
12d623fa25
fix hist_find crash with non-u8/u16 input
2014-09-15 11:42:21 +01:00
John Cupitt
cc599844d2
fix getpoint(0,0)
...
and add more tests
2014-09-15 09:06:36 +01:00
John Cupitt
666a0a6f83
fix avg of complex
...
oops, can't avg mod2, duh
2014-09-12 14:01:20 +01:00
John Cupitt
7608524f61
fix up gtk-doc comments
...
fewer warnings now, phew
2014-09-03 14:32:55 +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
5125cc535c
Merge branch '7.40'
...
Conflicts:
TODO
2014-08-19 18:04:24 +01:00
John Cupitt
573b94e3ec
more docs argh
2014-08-19 17:57:27 +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
da77b68d3e
bump version to 7.40
...
and rename header and edvips as vipsheader and vipsedit
remove mergeup and find_mosaic
2014-06-23 20:22:50 +01:00
John Cupitt
84d65c1727
Merge branch '7.38'
...
Conflicts:
libvips/resample/affine.c
2014-06-18 13:48:08 +01:00
John Cupitt
35533a54cf
finish reviding the fixed-up image load/save API
2014-06-08 11:16:58 +01:00
John Cupitt
5b19fc4f8d
update notes
2014-06-05 14:49:27 +01:00
John Cupitt
3a4569e99b
longer stall time for ahead-threads
...
we must stall for AGES occasionally, really the stall time is about
enforcing a certain thread ordering
2014-05-22 13:40:06 +01:00
John Cupitt
c3caa595a2
complex lut was broken
2014-05-21 17:34:53 +01:00
John Cupitt
087eb233f7
auto-decode to lab, not labs
...
helps in many places
2014-05-19 23:35:27 +01:00
John Cupitt
011fd99a1a
start fixing up the auto-decode stuff
2014-05-19 14:53:47 +01:00
John Cupitt
1772588eb6
small fixes
...
help cleanup and debug if operations fail
2014-05-16 08:28:44 +01:00
John Cupitt
8f6e959133
include oops
2014-04-28 12:59:19 +01:00
John Cupitt
ca30eac21a
add credit to David
2014-04-04 10:39:08 +01:00
John Cupitt
04070445eb
oops in hough_circle.c
2014-04-03 21:37:23 +01:00
John Cupitt
b1c0acf3e2
docs for hough funcs
2014-04-01 19:45:51 +01:00
John Cupitt
fb24bc84d3
normalise hough_circle output
...
correct for number of pixels in circumference
2014-04-01 19:39:10 +01:00
John Cupitt
59b36f8351
fix hough_circle params
2014-04-01 18:54:00 +01:00
John Cupitt
ee53b01886
vips_hough_circle() added
2014-04-01 12:27:15 +01:00
John Cupitt
4c1d07f53a
vips_hough uses vips_draw_image() to accumulate
...
rather than vips_sum() ... 2x faster
2014-03-28 14:11:05 +00:00
John Cupitt
7752eb89e0
add vips_draw_add()
...
and start vips_hough_circle()
2014-03-26 20:33:31 +00:00
John Cupitt
bb87bb3690
small hough cleanups
2014-03-25 08:45:57 +00:00
John Cupitt
4d758af087
use a LUT for hough sin/cos
2014-03-24 19:45:03 +00:00
John Cupitt
9a1fa499f5
split hough to a base class and a line detector
2014-03-24 16:56:54 +00:00
John Cupitt
067b2a6ac1
started splitting hough.c up
2014-03-24 14:56:04 +00:00
John Cupitt
755f9ed1cb
comment improvements
2014-03-23 11:29:39 +00:00
John Cupitt
0e608c89bf
basic hough transform seems to work
2014-03-22 17:07:35 +00:00
John Cupitt
06b8b7a0f3
stuff
2014-03-20 09:15:15 +00:00
John Cupitt
4c31c77d80
add vips_sum()
...
sum an array of images
2014-03-18 19:39:47 +00:00
John Cupitt
ea1aeaec8c
argh revert complex linear again
...
how did it get tangled up
2014-03-06 19:43:45 +00:00
John Cupitt
28b6602683
Merge remote-tracking branch 'origin/7.38'
...
Conflicts:
ChangeLog
configure.ac
2014-03-06 16:03:33 +00:00
John Cupitt
499b977043
back out the complex linear stuff
...
needs cooking for a while longer in a branch
2014-03-04 14:32:43 +00:00
John Cupitt
a562f46e69
VipsLinear allows complex constants
2014-02-22 16:08:46 +00:00
John Cupitt
c3def93361
ban size == 0 for max/min
2014-02-19 17:13:12 +00:00
John Cupitt
25fbe71c74
do im_read_point() / im_draw_point()
2014-02-10 21:54:54 +00:00