Andrew Murray
886a7cf206
Different TIFF frames may have different compression
2016-03-27 22:18:39 +11:00
wiredfool
9fa6634f4d
Partial fix for #1597
...
Haven't excercized all of the metadata that we're allowing yet,
and there's clearly still something up with Arrays, as one
of them is still crashing and making it impossible to save a
palette with a libtiff image.
2015-12-30 07:54:14 -08:00
wiredfool
80ab12bdc0
Lookup tag info in both _v2(info) and original(name only) dicts, delegate to lookup
2015-12-29 22:02:11 +00:00
wiredfool
3ac9396e8c
Write round trip for rationals, including nan value
2015-12-29 22:00:36 +00:00
wiredfool
bd05d66c7e
Python 3.4 support for the IFDRational
2015-12-29 21:33:10 +00:00
wiredfool
79608bd762
Make numerator/denominator read only
2015-12-27 10:21:32 +00:00
wiredfool
722ee8240b
Inherit from Rational instead of Fraction, some basic tests. Fixes Py2.6
2015-12-27 10:21:32 +00:00
wiredfool
f9fe4da8b2
Make IFDRational hashable
2015-12-27 10:21:32 +00:00
wiredfool
3bbb9e676f
value based equivalence
2015-12-27 10:21:32 +00:00
wiredfool
deecbcd3a3
Added a rational class for TiffIFD that allows for 0/0
2015-12-27 10:21:31 +00:00
wiredfool
fe35a18db0
Possible fix for issue #1561 , let rows per strip through, but block the other two
2015-12-14 20:25:00 +00:00
wiredfool
7206be535e
Flatten sampleformat to initial value, fixes #1466
2015-10-03 22:57:44 +01:00
wiredfool
4a8a983e6a
Merge pull request #1398 from mrTable/master
...
Check flush method existence for file-like object
2015-10-01 07:54:26 -07:00
wiredfool
ca929bdfc0
Merge pull request #1435 from radarhere/tiff
...
Minor Tiff formatting changes
2015-09-29 15:43:40 +01:00
Andrew Murray
1306f7d6af
Updated URLs for redirects
2015-09-28 21:53:25 +10:00
Andrew Murray
d097d44fa1
Updated documentation and removed deprecated comment
2015-09-23 22:14:06 +10:00
Andrew Murray
a5bac62bc3
Flake8 fixes
2015-09-23 20:46:01 +10:00
wiredfool
e4f9b697c6
Doc syntax error
2015-09-14 07:33:07 -07:00
wiredfool
1614f2fdb5
Documentation for IFD Changes
2015-09-14 07:01:57 -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
b56d5ca403
Added indicator for multipage tiffs
2015-09-13 16:19:40 +01:00
wiredfool
4596df45c1
Versioned interface for TiffTags
2015-09-13 15:15:13 +01:00
wiredfool
ca24a44100
Rewrap intelligently
2015-09-13 14:16:12 +01:00
wiredfool
e1236d702d
v1/v2 tag storage in IFD, legacy_api as a parameter to _saveitem, save both _tags_v* when saving as legacy api
2015-09-13 14:01:01 +01:00
wiredfool
a9396ab412
convert load_* functions to pure functions with no state
2015-09-13 11:07:43 +01:00
wiredfool
156972874d
missed a set of _v2 versioning
2015-09-13 10:53:47 +01:00
wiredfool
b1fdff4034
In a twisty maze of bytes, text and arbitrary metadata, py2 and py3. New IFD is putting textdata in type7 metadata and returning bytes, old one put it in type 2 string and returned a string. This may be an issue
2015-09-11 23:44:23 +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
wiredfool
9bb4c51629
module level default api level
2015-09-11 22:39:37 +01:00
wiredfool
0c942911d9
fixed the rebase
2015-09-11 22:39:37 +01:00
Antony Lee
1b9b3749ca
Reorder OPEN_INFO to cover both endiannesses.
...
By interleaving little and big-endian entries we make sure entries
exist for both cases. Some additional entries created when the
big-endian was missing. I am not sure of what entry to create for the
big-endian, 4-bit case (what is the order of the two entries within the
byte?).
2015-09-11 22:39:37 +01:00
Antony Lee
6309bfe921
Support too long ExtraSamples.
...
Some programs generate SamplesPerPixel entries in ExtraSamples instead
of SamplesPerPixel-3, cf. #1227 . This is a stopgap measure to support
them. One could also decide to add generic code to always support
having SamplesPerPixel entries (by dropping the first 3).
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
d5b46dce96
Fix MPO support, and Python2.6 support.
2015-09-11 22:34:50 +01:00
Antony Lee
56a3f0f2ab
Fix EXIF support.
2015-09-11 22:34:50 +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
Antony Lee
aba7a34036
Fix setting of TIFF ExtraSamples tag.
...
- force cast ExtraSamples to a list.
- fix calls to ImagingLibTiffSetField to include array length.
2015-09-11 22:26:54 +01:00
Andrew Murray
105e963505
Flake8 fixes
2015-09-11 19:28:19 +10:00
Bogdan Kubala
42b5a85cb4
Fix for UnicodeDecodeError in TiffImagePlugin
...
Fix for UnicodeDecodeError: ascii codec cannot decode byte while saving a TIFF image
Problem occured while saving TIFF images that contain non-ascii characters in metadata
Manually merged with master by wiredfool
2015-09-10 07:57:47 -07:00
Andrew Murray
d21430234e
Improved consistency of checks for flush
2015-09-02 23:48:22 +10:00
Dmitry Yantsen
a2b6b661d9
Added check for flush method existense for file-like object in tiffplugin setup
2015-08-28 15:00:06 +05:00
Andrew Murray
95fa2cdf08
Health fix
2015-08-28 18:56:48 +10:00
Andrew Murray
c6b13d294f
Flake8 fixes
2015-08-25 22:27:18 +10:00
Andrew Murray
fa73879d19
Changed register calls to use format property
2015-07-04 23:29:58 +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
46fad0fd63
Fixed typo
2015-06-28 12:03:11 +10:00
Antony Lee
51f3560dc4
Restore negative seeks for TIFF.
2015-06-08 00:40:23 +10:00
Antony Lee
1b80fe5507
Provide n_frames attribute to multi-frame formats.
...
cf #1190 , #1192 . Tests missing.
2015-06-08 00:40:23 +10:00
Andrew Murray
ed2cca1e71
Fixed Tiff handling of bad EXIF data
2015-06-07 00:09:54 +10:00
Andrew Murray
a996033079
Fixed various typos
2015-05-29 14:59:54 +10:00
Andrew Murray
9794aafc37
Removed or commented unused variables
2015-04-24 16:02:38 +10:00
Andrew Murray
ebc6996ba5
Changed list comprehension variable name to avoid redefinition
2015-04-24 16:00:08 +10:00
Andrew Murray
d1c182cadc
Various Flake8 fixes
2015-04-24 09:26:52 +10:00
Björn Pedersen
61fb1c5bd4
Tiff: allow writing floating poitn tag values
...
Use the inverse logic used for loading floating point tag
values to also write them out again.
2015-02-23 09:46:35 +01:00
Antony Lee
800480db52
Use underscores, not spaces, in TIFF tag kwargs.
...
kwargs with spaces ("x resolution", "y resolution", "resolution unit"
and "date time") are deprecated.
2014-12-09 15:17:33 -08:00
wiredfool
9a2cc7df83
hoist import, move test to libtiff
2014-11-15 20:38:52 -08:00
Martin Fergie
dd3a46520c
Fix for saving to io.BytesIO()
2014-11-14 12:29:10 +00:00
Hugo
4d74b81a15
Merge pull request #980 from wiredfool/pr_938
...
4 bit TIFF support
2014-10-29 21:41:17 +02:00
hugovk
0df43e4f93
Avoid divide by zero
2014-10-25 23:42:02 +03:00
wiredfool
4f9b2dbe69
Fix pypy 2.4 regression, #952
2014-10-13 11:12:14 -07: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
wiredfool
17ac15543d
fp.tell resyncs the python3 with the file pointer
2014-09-02 15:20:25 -07:00
wiredfool
d8b2829f4b
Partial fix for test failures, works on py2.x
2014-09-02 15:20:25 -07:00
Kenny Ostrom
d5b4f136c5
added ifd offset to the tiff decoder args, call TIFFSetSubDirectory
2014-09-02 15:20:25 -07:00
wiredfool
99f7dd2aff
Allocate a new core image object for each frame, fixes problems with reusing palettes and image sizes
2014-09-02 15:20:25 -07:00
wiredfool
9f04c2d0a5
Don't close fd for multipage files
2014-09-02 15:20:24 -07:00
hugovk
56404f6888
Change wrapping to include some context on first line; plus typo fix
2014-07-29 23:00:38 +03:00
hugovk
70528dd539
flake8
2014-07-28 19:00:06 +03:00
wiredfool
618a79c1c6
Merge from master, pre-unittest conversion
2014-06-03 14:42:22 -07:00
hugovk
c9a4272af6
Replace python-imaging with python-pillow (but yet not Coveralls)
2014-06-03 13:02:44 +03:00
wiredfool
edd75ceb91
Use libtiff for writing any compressed tiff files, Fixes #659 , #431
2014-05-20 10:15:01 -07:00
wiredfool
54173d2c67
Cherry-pick of portions of patch a500ca1393
, many shortcut ops added, no functional changes
2014-05-09 21:36:15 -07:00
Hijackal
029a4a5079
Add specific 32-bit float tiff format
...
We regularly use this format to store 32bit floats and I would like to see it handled by clean Pillow installations without having to add it on every system I use.
2014-04-10 15:52:53 +02:00
wiredfool
937ae7790f
Renamed variables from reused single letter confusing names to something halfway descriptive
2014-03-27 22:19:39 -07:00
wiredfool
9552d9bc66
close the fd, if possible. Fixes #526
2014-03-27 22:18:40 -07:00
François Boulogne
923018dfeb
MAINT: s/while 1:/while True:/
2014-01-07 21:21:24 -05:00
wiredfool
aa1c0fdfb6
merge from master
2013-12-19 20:48:49 -08:00
wiredfool
543f96de61
Merge from master
2013-11-30 09:57:00 -08:00
wiredfool
94e3c75179
Merge from 12-bit-tiff
2013-11-21 21:41:54 -08:00
wiredfool
44e4d6b49d
Comments
2013-11-21 20:57:48 -08:00
wiredfool
16c95fc295
Flags to force libtiff read/write
2013-11-21 20:37:52 -08:00
wiredfool
65e3bfaf33
added generic libtiff en/decoder instead of each compression version
2013-11-21 20:37:52 -08:00
wiredfool
9d06fa74be
12 bit tiffs come out as 12 bits from libtiff
2013-11-21 20:37:30 -08:00
wiredfool
e4fe6ae7a3
Read only implementation of 12bit tiffs
2013-11-20 16:56:23 -08:00
wiredfool
49191c78fb
CHECK: support for int arrays as ifd entries
2013-11-07 16:23:20 -08:00
wiredfool
d2f1fa0e5f
two additional tags for saving color images with libtiff
2013-11-05 20:49:09 -08:00
cgohlke
42b8ec37d7
Support RGBA TIFF with missing ExtraSamples tag
2013-10-26 18:02:17 -07:00
wiredfool
63995459bc
merge from master
2013-10-22 16:18:06 -07:00
wiredfool
f8abb98ffd
Merge from master
2013-10-22 16:05:18 -07:00
wiredfool
6a0516d2c9
final pass through atts: handling single rational tuple, using isStringType, flattening from single element tuple to string or int
2013-10-22 10:10:37 -07:00
wiredfool
8655209b4a
rm debugging print
2013-10-22 09:24:51 -07:00
wiredfool
32e2f97b21
Tag issues with libtiff -- Need to parse the tuples for the ifd and the im.ifd. getattr + default for the im.ifd instead of silent try/except
2013-10-22 09:18:41 -07:00
Eric Soroos
3128a76495
MM and II 16 bit integer tiffs pack/write properly using libtiff on bigendian platform
2013-10-21 22:37:20 +00:00
Eric Soroos
6f8d968cbb
MM and II 16 bit integer tiffs unpack properly using libtiff on bigendian platform
2013-10-21 22:17:33 +00:00
wiredfool
7ece94edc7
compression in encoder info
2013-10-21 09:30:06 -07:00