Commit Graph

23 Commits

Author SHA1 Message Date
Ondrej Baranovič
2e73bed053
ImageStat: simplify if block
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2024-04-16 18:34:48 +02:00
Ondrej Baranovič
8b62538617
ImageStat: simplify call to Image.histogram(mask)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2024-04-16 18:27:48 +02:00
Nulano
bcb2db6a87 ImageStat: use functools.cached_property and add type hints 2024-04-07 00:46:16 +02:00
Hugo van Kemenade
43b2f61e79 Add 'from __future__ import annotations' using Ruff/isort 2023-12-21 13:13:31 +02:00
Andreas Florath
ed03954d9e
Merge branch 'main' into ImageStat_getextrema_opt 2023-12-05 16:39:18 +01:00
Hugo van Kemenade
9601102724
Merge branch 'main' into comprehensions 2023-12-04 17:09:10 +02:00
Andreas Florath
ac47b75953
Update src/PIL/ImageStat.py
Simplification of return statement

Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2023-12-04 10:27:30 +01:00
Hugo van Kemenade
27d7bd10c8 Use list comprehensions to create transformed lists 2023-12-03 21:59:44 +02:00
Andreas Florath
7762dd382a Fixed spacing in _getextrema method
Signed-off-by: Andreas Florath <andreas@florath.net>
2023-12-01 18:53:44 +01:00
Andreas Florath
1b8f9d386b Optimize ImageStat.Stat._getextrema function
The optimzed function improves the performance.  The original function
always runs through the complete historgram of length 256 even if it
is possible to exit the loop early (break).

Running some tests I found performance improvements of factor >10
depending on the image.

Signed-off-by: Andreas Florath <andreas@florath.net>
2023-12-01 18:53:44 +01:00
Andreas Florath
e01354a2c8 Added space before colon
Signed-off-by: Andreas Florath <andreas@florath.net>
2023-12-01 18:52:27 +01:00
Andreas Florath
f7d40ce31c Removed functools and operator import which are not needed anymore
Signed-off-by: Andreas Florath <andreas@florath.net>
2023-12-01 18:52:27 +01:00
Andreas Florath
a04c6a27e8 Optimization of ImageStat.Stat._getcount method
The new implementation uses "sum" instead of the construct
"functools.reduce(operator.add, ...)". Test showed that the
new function is about three times faster than the original.
Also it is shorter and easier to read.

Signed-off-by: Andreas Florath <andreas@florath.net>
2023-12-01 18:52:27 +01:00
Hugo van Kemenade
2ae55ccbda Improve exception traceback readability 2022-12-30 00:07:52 +02:00
Hugo van Kemenade
d3c9a6504e Variable in function should be snake_case 2022-04-10 23:55:16 +03:00
Andrew Murray
72b7ab54bd pre-commit autoupdate --freeze 2022-03-04 16:42:24 +11:00
Hugo
538d9e2e5d Upgrade Python syntax with pyupgrade --py3-plus 2019-10-07 14:30:59 +03:00
Jon Dufresne
d50445ff30 Introduce isort to automate import ordering and formatting
Similar to the recent adoption of Black. isort is a Python utility to
sort imports alphabetically and automatically separate into sections. By
using isort, contributors can quickly and automatically conform to the
projects style without thinking. Just let the tool do it.

Uses the configuration recommended by the Black to avoid conflicts of
style.

Rewrite TestImageQt.test_deprecated to no rely on import order.
2019-07-06 16:11:35 -07:00
Hugo
53a7e35004 Format with Black 2019-06-10 18:22:46 +03:00
Andrew Murray
fbaf87ae03 Replaced strings with docstrings 2019-02-03 15:58:24 +11:00
Andrew Murray
145589ef14 Ambiguous variable name 'l' 2018-07-02 19:21:44 +10:00
Andrew Murray
2202196162 Flake8 blank line fixes 2018-03-04 21:36:33 +11:00
wiredfool
0bb3f4fee9 source layout reorg 2017-12-28 14:49:47 +00:00