Commit Graph

321 Commits

Author SHA1 Message Date
Hugo van Kemenade
855c1a12da Use self for first method parameter 2022-04-10 23:39:54 +03:00
Hugo van Kemenade
830da5c41e Rewrite dict creation as dict literal for better performance 2022-04-10 23:39:54 +03:00
Hugo van Kemenade
ee85e387ba Remove redundant parentheses 2022-04-10 23:39:54 +03:00
Hugo van Kemenade
1bc0e1bb9d
Merge pull request #5973 from radarhere/planar_configuration 2022-03-27 18:52:44 +03:00
Andrew Murray
ebdb47e693 Support reading I;16R TIFF images 2022-03-20 13:34:50 +11:00
Hugo van Kemenade
515957b2ac
Merge pull request #6097 from radarhere/bigtiff 2022-03-11 23:05:41 +02:00
Hugo van Kemenade
180c89f755
Merge pull request #6092 from radarhere/accept 2022-03-05 23:10:08 +02:00
Andrew Murray
72b7ab54bd pre-commit autoupdate --freeze 2022-03-04 16:42:24 +11:00
Andrew Murray
fc7319318e Added BigTIFF reading 2022-03-01 09:23:12 +11:00
Andrew Murray
56324c300d Simplify code by using _accept 2022-02-27 14:48:36 +11:00
Andrew Murray
9a4106c14f
Merge branch 'main' into enum 2022-02-15 08:12:28 +11:00
mergify[bot]
89768e3d57
Merge pull request #6042 from radarhere/tiff_bits
Clarify code and comments
2022-02-10 21:20:22 +00:00
Hugo van Kemenade
f5fab326fa
Merge pull request #6030 from radarhere/photoshopblocks
Added get_photoshop_blocks() to parse Photoshop TIFF tag
2022-02-10 09:40:17 +02:00
Hugo van Kemenade
6520d44496
Merge pull request #6041 from mikhail-iurkov/tiff_bits
Drop excess values in BITSPERSAMPLE
2022-02-10 09:32:34 +02:00
Andrew Murray
2ae70f144f Added get_photoshop_blocks() to parse Photoshop tag 2022-02-10 12:00:23 +11:00
Andrew Murray
1f82202998 Adjusted comments 2022-02-10 11:08:25 +11:00
Andrew Murray
b38a67fa12
Merge branch 'main' into enum 2022-02-10 09:52:24 +11:00
Mikhail Iurkov
bb5a090f60
Drop excess values in BITSPERSAMPLE 2022-02-09 16:40:43 +03:00
Hugo van Kemenade
601c9d8515 Fix return in docs 2022-02-09 14:28:43 +02:00
Andrew Murray
67944cedc7 Always save with contiguous planar configuration 2022-01-18 19:40:57 +11:00
Andrew Murray
f8e4e9c2dd Added enums 2022-01-15 09:02:31 +11:00
Andrew Murray
6e5e45a9ec Ensure duplicated file pointer is closed 2022-01-09 16:10:12 +11:00
Andrew Murray
2e9193a485 Pass SAMPLEFORMAT to libtiff 2021-11-23 08:10:18 +11:00
Andrew Murray
7d4a8668b1 Block tile TIFF tags when saving 2021-11-18 22:01:53 +11:00
Hugo van Kemenade
31a96b9c9b Upgrade Python syntax with pyupgrade --py36-plus and format with Black 2021-10-19 15:34:52 +03:00
Andrew Murray
0b7fcbbc93
Merge branch 'master' into patch-2 2021-10-13 23:50:23 +11:00
Andrew Murray
8de429ecb9 Fixed Python errors when saving a (0, 0) TIFF image 2021-10-08 13:12:21 +11:00
Miloš Komarčević
63879f04b1
Make TIFF strip size configurable 2021-10-01 13:50:02 +02:00
Andrew Murray
8264aa81d9
Updated capitalisation
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2021-09-11 19:48:43 +10:00
Andrew Murray
c39e545949 Updated docstring 2021-09-11 19:24:24 +10:00
Andrew Murray
3f3828040b
Merge branch 'master' into tiff_exif 2021-09-07 06:33:37 +10:00
Andrew Murray
9bf7dae03d Allow saving L mode TIFF with PhotometricInterpretation 0 2021-08-06 23:50:52 +10:00
Andrew Murray
2dab52b8a8 Allow saving 1 mode TIFF with PhotometricInterpretation 0 2021-08-05 23:27:08 +10:00
Hugo van Kemenade
4e4d580dfd
Merge pull request #5597 from radarhere/ycbcr_tiff
Added tags when saving YCbCr TIFF
2021-07-28 13:08:54 +03:00
Andrew Murray
5cdcc2cf64 Added tags when saving YCbCr TIFF 2021-07-10 01:20:36 +10:00
Miloš Komarčević
01e423da00
Ensure TIFF RowsPerStrip is multiple of 8 for JPEG compression 2021-07-07 09:38:06 +02:00
Andrew Murray
9707d33ed9 Allow "exif" to also accept bytestring 2021-07-04 13:32:41 +10:00
Andrew Murray
c0f619384c Added "exif" keyword argument to save Image.Exif instance 2021-07-04 12:33:55 +10:00
Hugo van Kemenade
861a031304
Merge pull request #5514 from kmilos/fix_tiff_rowsperstrip 2021-06-30 17:31:42 +03:00
Andrew Murray
d9d811ff21 Replaced xml.etree.ElementTree with defusedxml.ElementTree 2021-06-30 11:28:44 +10:00
Hugo van Kemenade
2251be1a6f
Merge pull request #5554 from radarhere/tag_group_data 2021-06-28 19:03:01 +03:00
Hugo van Kemenade
b5c4b9afe0
Merge pull request #5455 from radarhere/xmp 2021-06-28 18:43:04 +03:00
Hugo van Kemenade
9f28e4be26
Merge pull request #5412 from radarhere/ifdrational_eq_float 2021-06-28 18:33:46 +03:00
Andrew Murray
dd28af0dfa
Merge branch 'master' into tag_group_data 2021-06-27 12:06:11 +10:00
Andrew Murray
61c39074f5 Fixed undefined variable in logging 2021-06-25 19:46:58 +10:00
Andrew Murray
a2709be7f4 Added tag data for IFD groups 2021-06-24 19:56:01 +10:00
Andrew Murray
cd31dae0d1 Added getxmp() for PNG 2021-06-12 13:57:14 +10:00
Andrew Murray
ae3bdf87f0 Added getxmp() for TIFF 2021-06-12 12:17:38 +10:00
Miloš Komarčević
0ae2981957 Put upper limit on rows per strip 2021-06-12 11:49:20 +10:00
Miloš Komarčević
1c4deefe11 Make strip calculation more readable 2021-06-12 11:49:20 +10:00
Miloš Komarčević
c949d54605 Fix lint errors 2021-06-12 11:49:20 +10:00
Miloš Komarčević
7752fb5131 Limit TIFF strip size when saving with libtiff 2021-06-12 11:49:20 +10:00
Hugo van Kemenade
1ac7bd9f87
Merge pull request #5473 from radarhere/tiff_seek
Do not allow TIFF to seek to a past frame
2021-06-05 18:49:34 +03:00
Hugo van Kemenade
f02739715d
Merge pull request #5452 from radarhere/missing_samplesperpixel
Updated default value for SAMPLESPERPIXEL TIFF tag
2021-05-14 16:17:34 +03:00
Andrew Murray
c04260b3f5 Convert to float for comparison with float in IFDRational __eq__ 2021-05-10 08:36:45 +10:00
Andrew Murray
9bbe53a01d
Merge pull request #5446 from radarhere/tiff_dpi_rounding
Removed TIFF DPI rounding
2021-05-10 08:34:05 +10:00
Andrew Murray
43faa38952
Wrapped tuples in brackets
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2021-05-10 07:54:47 +10:00
Hugo van Kemenade
23f848ea54
Merge pull request #5443 from radarhere/fp 2021-05-09 20:39:44 +03:00
Andrew Murray
9ac888262a Do not allow TIFF to seek to a past frame 2021-05-08 00:25:47 +10:00
Andrew Murray
edc2771909 Corrected code references in docstring 2021-05-05 23:52:59 +10:00
Andrew Murray
6fc039a21c Updated default value for SAMPLESPERPIXEL tag 2021-05-04 16:50:12 +10:00
Andrew Murray
b78cf8cd75 Added state methods to allow pickling of IFDRational 2021-04-29 22:47:44 +10:00
Andrew Murray
537cd7a82e Removed TIFF DPI rounding 2021-04-29 22:47:44 +10:00
Andrew Murray
fd299e36ce Reset handle when seeking backwards as well 2021-04-29 22:47:20 +10:00
Andrew Murray
976d9fa347 Fixed UNDEFINED TIFF tag of length 0 being changed in roundtrip 2021-04-29 21:21:09 +10:00
Eric Soroos
53c80281d7 fix for crash-8115 2021-03-31 22:23:57 +02:00
Konstantin Kopachev
169bb4842f only use TIFFReadRGBA* in case of o_jpeg compression 2021-03-28 15:03:37 +02:00
Andrew Murray
298600381f Replaced tiff_deflate with tiff_adobe_deflate compression when saving 2021-03-19 12:00:29 +11:00
Andrew Murray
f42d6cf1ac Save ICC profile from TIFF encoderinfo 2021-03-10 20:16:49 +11:00
Alexander
3757b8c748 remove extra i8 calls where input is proved bytes[] or int 2020-12-30 19:04:11 +11:00
Andrew Murray
8794610c76 Block TIFFTAG_SUBIFD 2020-12-22 11:38:02 +11:00
Andrew Murray
1a3367400c Added reading of IFD tag type 2020-10-14 23:37:54 +11:00
Hugo van Kemenade
128261fdbb
Merge branch 'master' into bytes-warning 2020-09-03 18:31:03 +03:00
Hugo van Kemenade
ddc4c64664
Merge branch 'master' into rm-3.5 2020-09-02 20:36:30 +03:00
Hugo van Kemenade
9f1f63a46b
Merge pull request #4862 from radarhere/subifds 2020-09-02 16:58:55 +03:00
Hugo van Kemenade
e0eec1eb56 Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
Andrew Murray
298b7d0333 Update pre-commit 2020-08-31 18:50:15 +10:00
Andrew Murray
0a46cbfea9 Reverted NaN change, so that NaN != NaN 2020-08-28 20:55:47 +10:00
luphord
78e971913c fix IFDRational equality 2020-08-28 20:47:16 +10:00
Andrew Murray
e96109b93c Added writing of subIFDs 2020-08-13 22:25:24 +10:00
nulano
d36850e037 fix docs typos 2020-08-11 02:14:13 +02:00
Hugo van Kemenade
10615a7da7 Upgrade Python syntax for 3.6+
Co-authored-by: nulano <nulano@nulano.eu>
2020-07-30 10:09:18 +03:00
Andrew Murray
908567a718
Capitalisaton
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2020-07-24 01:04:19 +10:00
Andrew Murray
836dcc5ba0 Document missing attributes 2020-07-23 22:40:02 +10:00
Luke Granger-Brown
4e4fe2c172 Fix TiffImagePlugin interpolating bytes into str. 2020-07-20 14:56:18 +01:00
Conchylicultor
89fb0ee5aa
Update TiffImagePlugin.py 2020-07-01 14:05:47 -07:00
Conchylicultor
eb6faf6f02
Minor str(bytes) call
Some environments have strict mode to catch potential str<>bytes error. This is triggered by this line:

```
TiffImagePlugin.py3", line 996, in _open
    logger.debug("- ifh: {}".format(ifh))
BytesWarning: str() on a bytes instance
```
2020-07-01 12:20:17 -07:00
Andrew Murray
4ae694cd7b
Merge pull request #4712 from cool-RR/2020-06-12-raise-from
Fix exception causes all over the codebase
2020-06-28 15:22:05 +10:00
Hugo van Kemenade
7dd8837967
Merge pull request #4647 from radarhere/blocklist
Allow libtiff to write COLORMAP tag
2020-06-25 23:04:29 +03:00
Ram Rachum
2f0d430807 Fix exception causes all over the codebase 2020-06-21 13:21:25 +03:00
Andrew Murray
8383e840e4
Merge pull request #4626 from radarhere/stripbytecounts
Change STRIPBYTECOUNTS to LONG if necessary when saving
2020-06-21 09:02:56 +10:00
Hugo van Kemenade
2d9dcc7657
Merge pull request #4627 from radarhere/tiff_jpeg
Replaced tiff_jpeg with jpeg compression when saving TIFF images
2020-06-20 15:49:09 +03:00
Andrew Murray
8a51ad07fd
Renamed variable
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2020-06-20 22:41:04 +10:00
Andrew Murray
d728cd5875 Allow libtiff to write COLORMAP tag 2020-06-20 22:38:38 +10:00
Andrew Murray
2d284aea12 Allow writing of UNDEFINED tags 2020-06-10 16:09:22 +10:00
Andrew Murray
7ecb5aaf7e BYTE tags of variable length are only single strings 2020-06-10 16:09:22 +10:00
Hugo van Kemenade
124c06dcc1
Merge pull request #4550 from radarhere/logging 2020-05-25 16:55:35 +03:00
Andrew Murray
aa1761bc9f Replace tiff_jpeg with jpeg compression when saving 2020-05-15 22:37:13 +10:00
Andrew Murray
b3604167ad Change STRIPBYTECOUNTS to LONG if necessary when saving 2020-05-15 20:47:57 +10:00
Hugo van Kemenade
f83f19788b
Merge pull request #4552 from radarhere/animation
Simplified animation code
2020-04-17 19:30:04 +03:00
Andrew Murray
9956a6c777 Fixed bug when unpickling TIFF images 2020-04-17 22:13:14 +10:00
Andrew Murray
0b33a87b0d Replaced property methods for n_frames and is_animated with normal properties 2020-04-17 22:00:21 +10:00
Andrew Murray
fe8225732a Throw image loading error faster 2020-04-17 18:29:45 +10:00
Andrew Murray
13dcab0fb7 Replaced DEBUG with logging 2020-04-13 07:16:46 +10:00
Hugo
dda6145fce Since Python 3.3 IOError and WindowsError have been merged into OSError 2020-04-10 12:57:29 +03:00
Andrew Murray
8924054dd9 Changed _limit_signed_rational 2019-12-31 19:12:33 +11:00
Andrew Murray
74d53bcd15 Lint fixes 2019-12-31 11:58:39 +11:00
Andrew Murray
6d3fb7b083
Merge branch 'master' into exif-writing-fixes 2019-12-31 11:38:33 +11:00
Andrew Murray
f77c409742 Renamed variable 2019-12-31 09:04:25 +11:00
Andrew Murray
82356f7f36 Removed _libtiff_version 2019-12-28 12:57:13 +11:00
Andrew Murray
34d04d3e82 Replaced distutils with C version check 2019-12-28 09:57:49 +11:00
Hugo
e5486b40f8 Merge remote-tracking branch 'upstream/master' into rm-2.7 2019-11-18 13:56:42 +02:00
Andrew Murray
29c0a2fa6e
Merge pull request #4197 from hugovk/rm-plugins-__version__
Remove deprecated __version__ from plugins
2019-11-18 22:07:54 +11:00
Hugo
12a725988e Merge remote-tracking branch 'upstream/master' into rm-2.7 2019-11-16 17:10:10 +02:00
Hugo
0c5895470c Remove deprecated __version__ from plugins 2019-11-05 17:01:03 +02:00
Hugo
cc63f66575 Merge remote-tracking branch 'upstream/master' into rm-2.7 2019-11-01 13:22:56 +02:00
Andrew Murray
887a7e503c Only assign once 2019-10-30 22:10:38 +11:00
Andrew Murray
290189596e Removed redundant return 2019-10-30 22:10:38 +11:00
Andrew Murray
d9845c14c8 Lint fixes 2019-10-29 22:42:34 +11:00
Hugo van Kemenade
40133cfc74
Merge branch 'master' into rm-2.7 2019-10-26 09:07:44 +03:00
Jon Dufresne
cae17eb927 Use more Pythonic super() instead of referencing parent class
https://rhettinger.wordpress.com/2011/05/26/super-considered-super/
2019-10-22 06:54:58 -07:00
Hugo
4382413bb4 Remove redundant bytearray 2019-10-07 16:23:43 +03:00
Hugo
865b17d5cf Remove Python 2-compatibility code 2019-10-07 16:23:22 +03:00
Andrew Murray
7e3156eb17 Updated IFDRational operators 2019-10-07 14:30:59 +03:00
Hugo
538d9e2e5d Upgrade Python syntax with pyupgrade --py3-plus 2019-10-07 14:30:59 +03:00
Hugo
af770a6c55 Drop support for EOL Python 2.7 2019-10-07 14:30:59 +03:00
Andrew Murray
6a83d5b239
Merge pull request #4114 from radarhere/tiff_size
Removed deprecated setting of TIFF image sizes
2019-10-05 02:33:08 +10:00
Andrew Murray
d6ae0a99a7 Removed deprecated setting of TIFF image sizes 2019-10-03 22:12:28 +10:00
Andrew Murray
1e6eac40fc Changed condition to use DEBUG as a boolean 2019-10-03 20:23:49 +10:00
Andrew Murray
9a977b975c Raise error if dimension is a string 2019-09-30 18:48:10 +10:00
Andrew Murray
f9236a11ce Do not seek if the file pointer is about to be closed 2019-09-21 21:54:39 +10:00
Andrew Murray
1b70a4c6b5 Use TIFF orientation 2019-09-13 22:36:26 +10:00
Konstantin Kopachev
06e34db10b
Merge remote-tracking branch 'upstream/master' into exif-writing-fixes
# Conflicts:
#	Tests/test_file_tiff_metadata.py
2019-08-29 09:20:09 -07:00
Andrew Murray
ddcfd259cf Corrected short and long range checks 2019-08-29 19:36:46 +10:00
Andrew Murray
524933aa1d Lint fixes 2019-08-12 19:43:35 +10:00
Konstantin Kopachev
1b626f4d22 Fix RATIONAL and SRATIONAL boundaries when writing IFDs 2019-08-12 19:43:35 +10:00
chadawagner
597ca79b1b rewind before decode, consistent with other cases 2019-08-12 18:56:34 +10:00
chadawagner
88be36c27a check prior fp result, do not use if False 2019-08-12 18:56:34 +10: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
Oliver Tonnhofer
edeb8d69af
Merge branch 'master' into tiff-jpeg-quality 2019-07-01 11:00:06 +02:00
Oliver Tonnhofer
2af4026201 Improve encoding of TIFF tags (#3861)
* Improve encoding of TIFF tags

- Pass tagtype from v2 directory to libtiff encoder, instead of
autodetecting type.
- Use explicit types. E.g. uint32_t for TIFF_LONG to fix issues on
platforms with 64bit longs.
- Add support for multiple values (arrays). Requires type in v2
directory and values must be passed as a tuple.
- Add support for signed types (e.g. TIFFTypes.TIFF_SIGNED_SHORT).

Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
2019-06-30 21:48:19 +03:00
Andrew Murray
c994b783ec
Merge branch 'master' into tiff-jpeg-quality 2019-06-30 14:03:09 +10:00
Christoph Gohlke
a70da8112d Add TIFFTAG_SAMPLEFORMAT to blocklist
The SAMPLEFORMAT tag is determined by the image format and should not be copied from legacy_ifd.
2019-06-30 13:26:58 +10:00
Oliver Tonnhofer
2b7d8be536 tiff: add support for JPEG quality
Uses JPEGQUALITY pseudo-tag from libtiff.

Also changes the way tags are passed to PyImaging_LibTiffEncoderNew from
dict to list to ensure that COMPRESSION tag is added before JPEGQUALITY.
This is required as the COMPRESSION tag registers the JPEGQUALITY
pseudo-tag.
2019-06-26 06:33:54 +10:00
Oliver Tonnhofer
61add9d6b0 Improve encoding of TIFF tags
- Pass tagtype from v2 directory to libtiff encoder, instead of
autodetecting type.
- Use explicit types. E.g. uint32_t for TIFF_LONG to fix issues on
platforms with 64bit longs.
- Add support for multiple values (arrays). Requires type in v2
directory and values must be passed as a tuple.
- Add support for signed types (e.g. TIFFTypes.TIFF_SIGNED_SHORT).
2019-06-26 06:33:19 +10:00
David Nisson
5857bf8243 corrected args to reflect change to tile descriptors 2019-06-23 13:49:41 +10:00
David Nisson
cb7d9bcd12 updated TIFF tile descriptors to match current decoding functionality 2019-06-23 13:49:15 +10:00
Hugo
cab7231e2a Format with Black 2019-06-11 11:42:05 +03:00
Hugo
53a7e35004 Format with Black 2019-06-10 18:22:46 +03:00
Hugo
169961649d
Merge pull request #3848 from radarhere/pa
Improved palette handling for LA and PA modes
2019-06-05 22:32:44 +03:00