Commit Graph

251 Commits

Author SHA1 Message Date
Clement Skau
caf53b05ec Fixes TIFFImagePlugin ICC color profile saving.
In the TIFF code saving icc_profile is conditional on tag_v2 being set which doesn't make sense to me. I believe this is merely an indentation typo.

I've been trying to save TIFFs with im.info['icc_profile'] set and compression=raw, but unfortunately this results in TIFFs without ICC color profiles.
With the attached patch TIFFs with said conditions will be saved with the profile set in im.info['icc_profile'].

Note: There are a number of different conditions that need to be met for code to succeed in saving with the profile since it branches between using libtiff and ImageFile._save(..), and the libtiff code does not currently save the ICC color profile.
For instance setting compression=tiff_lzw will result in using libtiff and no profile will be saved.
2016-11-05 15:01:39 +09:00
Jon Dufresne
7992d2a65a Fix BytesWarning discovered while running tests
Discovered using the command:

python -b -m nose -vx Tests/test_*.py
2016-10-22 12:35:44 -07:00
wiredfool
d9fc1848a2 Merge pull request #2140 from SemanticsOS/lambdafu/tiff-multipage
Add TIFF save_all writer.
2016-10-03 06:31:39 -07:00
wiredfool
4a90e8f75b Merge pull request #2024 from uploadcare/fix-empty-exif-tags
Skip empty values in ImageFileDirectory
2016-09-29 08:24:44 -07:00
Marcus Brinkmann
92c7337df0 Add TIFF save_all writer. 2016-09-29 17:05:33 +02:00
Andrew Murray
b58f76dc4f Renamed references to OS X to macOS 2016-09-23 21:12:03 +10:00
Antony Lee
7e9c944caf Fix saving originally missing TIFF tags.
Don't incorrectly set the tag type to None if it was originally missing.
2016-09-19 00:31:17 -07:00
Andrew Murray
572a3d970c Removed whitespace from blank lines 2016-09-03 12:23:42 +10:00
Eric Soroos
5b0a1a1c0d Moved tiff save / load of uint16 to test_file_tiff.
Saving a numpy generated image as a tiff will save in native endian, and comparing it to a
little endian tiff will fail on bigendian machines.
2016-08-25 12:49:40 -07:00
homm
107307dfc9 do not use as_dict anywhere in tests except tests for as_dict warnings 2016-07-12 21:34:15 +03:00
homm
1ba4e9e5ba remove end of file banner from all files 2016-07-10 14:11:28 +03:00
wiredfool
c50503a14d API change/revert: Bytes should be returned as a single byte string, not a tuple of integers 2016-06-26 12:06:56 +01:00
wiredfool
0bc06f7944 Fix filename on py2.6 2016-06-25 14:50:40 +01:00
Bryant Mairs
7fb24e8af0 Add test for reading and writing uint16 TIFFs. 2016-06-25 12:20:37 +01:00
Andrew Murray
63ae7fbfe9 Removed unnecessary lambdas 2016-05-10 22:20:49 +10:00
hugovk
839c52b96a flake8 2016-04-21 23:13:10 +03:00
hugovk
311f8f6a9c Test TIF with LZW compression 2016-04-21 23:10:08 +03:00
hugovk
ba817af569 Merge 2016-04-03 23:08:49 +03:00
wiredfool
14f3b45f46 Merge pull request #1789 from zwhfly/tiff
Add Support for 2/4 bpp Tiff Grayscale Images
2016-04-03 12:07:48 -07:00
Andrew Murray
26bf1937c7 Added warning for deprecated as_dict method 2016-04-03 23:41:28 +10:00
Andrew Murray
677b958a7f Health fixes 2016-04-01 21:49:30 +11:00
zwhfly
124bee0485 Add Tests for 2/4 bpp Tiff Grayscale Images
Including inverted and/or bit-order-reversed formats.
2016-03-29 20:19:22 +08:00
Geka
33fff9e4a8 Add test for multipage tiff file with different compression 2016-03-27 22:19:04 +11:00
Andrew Murray
0ad6f5ff1f Updated deprecated asserts 2016-01-24 12:44:31 +11:00
Andrew Murray
957187d417 Added TIFF IFD test 2016-01-21 16:00:53 +11:00
Hugo
c0b3fe77d7 Merge pull request #1621 from radarhere/health
Flake8 fixes
2015-12-31 15:18:31 +02:00
Andrew Murray
a83bcec169 Flake8 fixes 2015-12-31 07:27:27 +11:00
wiredfool
deecbcd3a3 Added a rational class for TiffIFD that allows for 0/0 2015-12-27 10:21:31 +00:00
Andrew Murray
afa4166a57 Updated deprecated asserts 2015-12-16 14:30:17 +11:00
Andrew Murray
c27110ab56 Flake8 fixes 2015-12-10 21:34:02 +11:00
wiredfool
bceb18baa2 Merge pull request #1555 from Nexuapex/master
ExtraSamples tag should be a SHORT, not a BYTE
2015-12-07 12:53:51 +00:00
Andrew Murray
407aa77db4 Removed unnecessary lambda 2015-12-02 16:49:30 +11:00
John Calsbeek
b496f37e1f Add test for #1524. 2015-12-01 09:14:32 -08:00
Andrew Murray
9a2903bf5b Changed 32 bit to 32-bit and 64 bit to 64-bit 2015-10-15 00:49:03 +11:00
Andrew Murray
6bd7e7f02d Removed trailing whitespace 2015-10-11 21:24:35 +11:00
wiredfool
7206be535e Flatten sampleformat to initial value, fixes #1466 2015-10-03 22:57:44 +01:00
homm
0f87b1f125 suppress and check warning during tests 2015-09-15 04:07:02 +03:00
wiredfool
9286c9e460 Reenabling and fixing the former test_xyres_tiff test for integer resolutions 2015-09-14 05:10:27 -07:00
wiredfool
4adbc9735c Reorder load_* parameters to pass master tests 2015-09-14 04:35:09 -07:00
wiredfool
05348d4f8f Reenabling failing/crashing tests, with fixes 2015-09-14 03:03:24 -07:00
wiredfool
2636679868 updating tests for legacy_api api change 2015-09-13 14:08:49 +01:00
wiredfool
5f9fff0215 Restoring bad exif handling 2015-09-11 22:39:37 +01:00
wiredfool
47a963c2a4 Legacy/versioned interface 2015-09-11 22:39:37 +01:00
Antony Lee
ba7b8d1708 Fail on invalid EXIF, reverting ed2cca1. 2015-09-11 22:39:37 +01:00
Antony Lee
93abbd0caa Restore legacy TIFF API.
To have the old API that always returns tuples, and fractions as pairs,
set the `legacy_api` attribute of the IFD to True.

This should alleviate concerns about backwards compatibility.
2015-09-11 22:39:37 +01:00
Antony Lee
974bcc074b Major rewrite of TIFF ImageFileDirectory.
Do not represent scalar tags as 1-element tuples.  Keep tag
type and count information in TiffTags.TAGS.  Normalize data in
ImageFileDirectory.__setitem__: wrap and unwrap tuples as needed,
convert rationals to floats.  (To ensure consistency, make the "tags"
attribute private.)  Interpret byte data as a series of integers rather
than a bytearray (which should only map to the "undefined" type).  On
Python3, if a str is assigned to an "undefined" tag, encode it as ASCII.

Note that a large number of tags have been removed from TiffTags.TAGS
because I do not have time to figure out the type and count of each of
them.  They should be restored before this gets merged in.

This obviously breaks backwards compatibility in a lot of ways...
2015-09-11 22:34:50 +01:00
Andrew Murray
c6b13d294f Flake8 fixes 2015-08-25 22:27:18 +10:00
Andrew Murray
c7339c244e Added additional tests for TiffImagePlugin 2015-07-13 23:37:44 +10:00
Andrew Murray
309ab1fc3d Various Flake8 fixes 2015-07-03 16:22:56 +10:00
Alex Clark
67d1541c6f Merge pull request #1207 from anntzer/logger
Use logging instead of print.
2015-07-02 05:22:07 -04:00
Andrew Murray
d20eef450b Added is_animated 2015-06-30 13:25:00 +10:00
Antony Lee
4e754e9c55 Use logging instead of print.
cf. #1191.

Only TiffImagePlugin and OLEFileIO still rely on (their own) DEBUG flag.
I left TiffImagePlugin as it is because I hope #1059 gets merged in
first, and OLEFileIO because it uses its own logic.

Untested, as usual.
2015-06-29 12:39:50 -07:00
Andrew Murray
1111e9fb35 Fixed frame position when seeking past the end of file 2015-06-19 00:49:18 +10:00
hugovk
5c40cb1ba6 Merge 2015-06-08 20:46:39 +03:00
Andrew Murray
46f439604c Added tests 2015-06-08 01:02:43 +10:00
Andrew Murray
109ec638d9 Added test for bad EXIF data 2015-06-07 00:10:15 +10:00
Andrew Murray
4e2de9d9ed Added missing future print imports and removed unnecessary imports 2015-05-23 20:28:41 +10:00
Andrew Murray
d1c182cadc Various Flake8 fixes 2015-04-24 09:26:52 +10:00
hugovk
d12acfee84 Test as_dict() directly instead of as string. Fix for PyPy. 2015-02-08 19:09:39 +02:00
hugovk
6a1b33f415 Test deprecated tags 2014-12-28 16:30:12 +02:00
wiredfool
9a2cc7df83 hoist import, move test to libtiff 2014-11-15 20:38:52 -08:00
Martin Fergie
8b0ecb6192 Added test for different compression types. 2014-11-14 14:37:03 +00:00
hugovk
947e34616c Merge remote-tracking branch 'upstream/master' into landscape-fixes 2014-11-01 09:44:10 +02:00
Hugo
4d74b81a15 Merge pull request #980 from wiredfool/pr_938
4 bit TIFF support
2014-10-29 21:41:17 +02:00
Hugo
4a92c24aa6 Save to a self.tempfile() so it's properly cleaned up afterwards 2014-10-27 09:31:22 +02:00
hugovk
6ec6b16eb6 Test TIFF with PageNumber 0 0 2014-10-26 18:16:08 +02:00
hugovk
f9bc87ed01 flake8 2014-10-26 11:24:57 +02:00
hugovk
e60683e3b1 Test opening TIFF with JPEGTables and saving it 2014-10-26 11:21:02 +02:00
Hugo
8cb5688047 flake8 2014-10-02 10:45:41 +03:00
Hugo
552a9a28a0 Support and test for 4-bit greyscale TIFF 2014-10-02 10:43:22 +03:00
Hugo
ae7b765b53 Fix some Landscape.io errors and warnings 2014-10-01 16:50:33 +03:00
hugovk
b929873a62 Change some lena() to hopper() 2014-09-05 12:36:24 +03:00
wiredfool
b8bdd13aac Tests for multipage tiffs 2014-09-02 15:20:24 -07:00
hugovk
659b8c2f6f More tests for TiffImagePlugin.py 2014-07-27 22:18:42 +03:00
hugovk
cf04a9a0d2 Remove unused tearDownModule 2014-07-07 20:03:50 +03:00
hugovk
3ec505958e Convert old tests to use unittest 2014-06-10 12:10:47 +03:00
wiredfool
aba195d35e Tests for #614 2014-04-14 06:13:57 -07:00
wiredfool
b73ae9c27a Tests for 12bit tiff rawmode 2013-11-20 16:54:49 -08:00
wiredfool
0ffc1a848a Renamed test tiff files to 16bit*. They are 12bit data in a 16bit format 2013-11-19 14:48:01 -08:00
Eric Soroos
8d21ce1df7 py3k 2013-10-21 22:53:35 +00:00
Eric Soroos
1945fecdb6 Tests for endian issues in decoding 16bit tif images 2013-10-21 05:19:52 +00:00
Alexey Buzanov
bacaf26f20 move test_adobe_deflate_tiff to libtiff test file 2013-07-02 13:49:43 +04:00
Alexey Buzanov
df0e214d46 hide tiff warnings 2013-07-01 19:48:21 +04:00
Alexey Buzanov
a130c45990 add several TIFF decoders and encoders 2013-07-01 18:45:42 +04:00
Matti Picus
6a942c3065 add assert to test 2013-05-07 23:49:45 +03:00
Matti Picus
af94b45cbc allow integer image resolution as well as rational 2013-05-07 23:33:21 +03:00
Matti Picus
5ca04bb728 a test that fails for images with integer resolution 2013-05-07 23:23:51 +03:00
Michał Górny
0aa05780c5 test_file_tiff: skip JPEG-in-TIFF tests if libjpeg is not available. 2013-04-22 11:55:17 +02:00
wiredfool
945b6bf53c Split tiff tests so that test_file_tiff tests the builtins, and test_file_libtiff tests only things that depend on libtiff 2013-04-21 13:51:16 -07:00
Michał Górny
995fe2b041 test_file_tiff: skip if TIFF is not available. 2013-04-21 10:40:56 +02:00
Sandro Mani
e3cb3074ce Add tempfile for test output 2013-03-22 01:58:19 +01:00
wiredfool
d98abd877b merge to master 2013-03-14 14:38:49 -07:00
wiredfool
7d99141405 force seek to beginning of file 2013-03-14 13:25:23 -07:00
Christoph Gohlke
a72d46d314 Disable debug messages during g4 tiff tests 2013-03-14 12:26:00 -07:00
wiredfool
7db24ccac8 StringIO -> BytesIO 2013-03-14 10:17:26 -07:00
Christoph Gohlke
92c3d626c6 Revert PR #110 2013-03-13 23:16:25 -07:00
Christoph Gohlke
e071f062cf Fix g4_tiff test on Python 3 2013-03-13 19:31:37 -07:00
Alex Clark
289d96331a Py3 compat 2013-03-13 18:45:18 -04:00
wiredfool
03dcb5c557 more verbose testing, checking for g4 compression 2013-03-13 10:59:06 -07:00
wiredfool
00de0292ac test suite for g4 tiff images 2013-03-11 22:04:22 -07:00
Brian Crowell
ad784eb808 py3k: Import Christoph Gohlke's test suite
This is Christoph Gohlke's test suite from his personal PIL package found
at http://www.lfd.uci.edu/~gohlke/pythonlibs/.

This is just to bring it in as a separate commit. Future commits will align
it with Pillow.
2013-01-10 08:46:39 -06:00