Commit Graph

8637 Commits

Author SHA1 Message Date
Alexander Böhn
7b815a5f1d Added an image.entropy() method
This calculates the entropy for the image, based on the histogram.

Because this uses image histogram data directly, the existing C
function underpinning the `image.histogram()` method was abstracted
into a static function to parse extrema tuple arguments, and a new
C function was added to calculate image entropy, making use of the
new static extrema function.

The extrema-parsing function was written by @homm, based on the
macro abstraction I wrote, during the discussion of my first
entropy-method pull request: https://git.io/fhodS

The new `image.entropy()` method is based on `image.histogram()`,
and will accept the same arguments to calculate the histogram data
it will use to assess the entropy of the image.

The algorithm and methodology is based on existing Python code:

* https://git.io/fhmIU

... A test case in the `Tests/` directory, and doctest lines in
`selftest.py`, have both been added and checked.

Changes proposed in this pull request:

* Added “math.h” include to _imaging.c
* The addition of an `image.entropy()` method to the `Image`
  Python class,
* The abstraction of the extrema-parsing logic of of the C
  function `_histogram` into a static function, and
* The use of that static function in both the `_histogram` and
  `_entropy` C functions.
* Minor documentation addenda in the docstrings for both the
  `image.entropy()` and `image.histogram()` methods were also
  added.
* Removed outdated boilerplate from testing code
* Removed unused “unittest” import
2019-06-26 19:15:47 +10:00
Hugo
a79147ff96
Merge pull request #3916 from cgohlke/patch-1
Fix memory leak
2019-06-26 12:09:50 +03:00
Hugo
f2d0106a9b
Merge pull request #3917 from cgohlke/patch-2
Fix potential null pointer is passed into memcpy
2019-06-26 12:09:22 +03:00
Hugo
2aaacc8849
Merge pull request #3918 from cgohlke/patch-3
Use ssize_t to store number of elements in buffer
2019-06-26 12:08:35 +03:00
Christoph Gohlke
afed559e4f
Fix msvc9 compile error 2019-06-25 17:18:37 -07:00
Christoph Gohlke
c34cefb576
Use ssize_t to store number of elements in buffer 2019-06-25 14:41:06 -07:00
Christoph Gohlke
a78341e26c
Fix potential null pointer is passed into memcpy 2019-06-25 14:23:20 -07:00
Christoph Gohlke
47f7eba279
Fix memory leak 2019-06-25 13:33:49 -07:00
Hugo
ea570a8c5b
Merge pull request #3915 from radarhere/typo
Fixed typos
2019-06-25 11:41:58 +03:00
Hugo
d31069072b
Added CMYK;16B and CMYK;16N unpackers (#3913)
Added CMYK;16B and CMYK;16N unpackers
2019-06-25 11:41:51 +03:00
Andrew Murray
78d4b7f03e Fixed typos 2019-06-25 05:54:14 +10:00
Andrew Murray
9c37933bb9 Added CMYK;16B and CMYK;16N unpackers 2019-06-23 11:56:17 +10:00
Andrew Murray
32d10505a3
Merge pull request #3914 from radarhere/black
Fixed black formatting
2019-06-23 07:17:45 +10:00
Hugo
c1b3adbd1b
Merge pull request #3910 from radarhere/xrgb
Changed bits value for XRGB unpackers
2019-06-22 10:24:24 +03:00
Andrew Murray
68fac40147 Fixed black formatting 2019-06-22 14:47:56 +10:00
Hugo
f5cd8b4b0d
Merge pull request #3909 from hugovk/run-black
Format code with Black
2019-06-22 06:46:15 +03:00
Andrew Murray
0a73e31415 Added note about RGBX padding 2019-06-21 19:37:43 +10:00
Hugo
9d5a50a0fd
Moved issue template into directory (#3908)
Moved issue template into directory
2019-06-20 14:00:06 +03:00
Hugo
14373c8723
Added release notes for #3802 and #3856 (#3911)
Added release notes for #3802 and #3856
2019-06-20 13:52:31 +03:00
Andrew Murray
dfa9e7aeff
Apply suggestions from code review [ci skip]
Co-Authored-By: Hugo <hugovk@users.noreply.github.com>
2019-06-20 20:31:57 +10:00
Andrew Murray
1d1edb8fc4 Added release notes for #3802 and #3856 [ci skip] 2019-06-20 20:01:43 +10:00
Andrew Murray
414c9aafec Moved issue template into directory 2019-06-20 19:07:00 +10:00
Hugo
f2be7c4580
Merge pull request #3903 from hugovk/update-issue-template
Advice on general questions, bug reports and feature requests
2019-06-20 08:16:11 +03:00
Hugo
c711a423be
Update CHANGES.rst 2019-06-19 17:06:18 +03:00
Hugo
26182dde13
Fixed bugs in calculating text size (#3864)
Fixed bugs in calculating text size
2019-06-19 17:04:57 +03:00
Andrew Murray
ea0f1c6b06 Do not presume that the last glyph has the max x value 2019-06-19 22:32:01 +10:00
Andrew Murray
fb38296230 Change direction of y offset in calculating size 2019-06-19 22:30:50 +10:00
Hugo
be1b551bfc
Add __main__.py to output basic format and support information (#3870)
Add __main__.py to output basic format and support information
2019-06-19 14:42:34 +03:00
Hugo
d867181855
Added variation font support (#3802)
Added variation font support
2019-06-19 14:41:57 +03:00
Andrew Murray
da16b7ec45 Added variation font support 2019-06-19 20:27:49 +10:00
Hugo
2334040f56
Merge pull request #3860 from olt/non-ascii-quotes
Replace non-ascii quotes from docstring
2019-06-19 12:03:14 +03:00
Hugo
835bc7023a
Update CHANGES.rst 2019-06-19 09:35:12 +03:00
Hugo
488a0170a3 Format with Black 2019-06-19 09:30:10 +03:00
Hugo
1b99362f3d Merge remote-tracking branch 'upstream/master' into run-black 2019-06-19 09:29:28 +03:00
Hugo
f338eae128
Merge pull request #3869 from radarhere/imageshow
Do not down-convert if image is LA when showing with PNG format
2019-06-19 09:26:15 +03:00
Hugo
a9c05c7aa0
Merge pull request #3759 from radarhere/psd_frames
Improve handling of PSD frames
2019-06-19 09:15:13 +03:00
Hugo
ac6185ca15
Merge pull request #3897 from radarhere/load
Improved ICO and ICNS loading
2019-06-19 09:09:34 +03:00
Hugo
7f86ed1e52
Merge pull request #3896 from radarhere/preview
Changed Preview application path so that it is no longer static
2019-06-19 09:08:24 +03:00
Hugo
67496177cb
Merge pull request #3893 from radarhere/bmp_definitions
Simplified definition of BMP values
2019-06-19 09:06:46 +03:00
Hugo
b2714854a3
Merge pull request #3856 from radarhere/ttb
Corrected ttb text positioning
2019-06-19 09:01:51 +03:00
Hugo
d0bc521579 Remove unused formatting from comments 2019-06-19 08:56:18 +03:00
Andrew Murray
8e2f5ddd1d Changed bits value for XRGB unpackers 2019-06-18 20:43:02 +10:00
Hugo
937b6983d0
Merge pull request #3901 from radarhere/typo
Fixed typo
2019-06-17 11:49:42 +03:00
Hugo
e72bc66d17
Merge pull request #3906 from radarhere/ci
Renamed OS X reference to macOS
2019-06-15 22:10:24 +03:00
Andrew Murray
f33f4998b2 Renamed OS X reference to macOS [ci skip] 2019-06-15 08:02:28 +10:00
Hugo
471220093b Format with Black 2019-06-13 18:54:57 +03:00
Hugo
5631718a8d Format with Black 2019-06-13 18:54:46 +03:00
Hugo
77f946d8bc Format with Black 2019-06-13 18:54:24 +03:00
Hugo
f87821e010 Format with Black 2019-06-13 18:54:11 +03:00
Hugo
d08475442b Format with Black 2019-06-13 18:53:42 +03:00