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
wiredfool
08347569b5
Another python 2.6 detail
2013-10-08 11:32:51 -07:00
wiredfool
e9b0b09b72
Python 2.6 compatibility
2013-10-08 10:43:55 -07:00
wiredfool
a91283061e
Python3 fixes
2013-10-07 23:30:55 -07:00
wiredfool
e35ed87be6
Writing multiple rational items
2013-10-07 23:09:41 -07:00
wiredfool
0204733fd6
Proper handling of both IFDs for libtiff usage
2013-10-07 23:03:50 -07:00
wiredfool
2188cf2baf
typo
2013-10-07 23:03:13 -07:00
wiredfool
e6c8e5abec
better handling of unicode, rational tuples
2013-10-07 23:02:59 -07:00
wiredfool
951a5d4ce8
Using the public interface rather than the raw, undecoded interface
2013-10-07 17:05:27 -07:00
wiredfool
ce0e8b6abf
streamlining internal representation of types in ImageFileDirectory
2013-10-07 17:05:27 -07:00
wiredfool
c4f9fa7a40
Py3 -- can't join a string
2013-10-02 22:23:27 -07:00
wiredfool
dbf47837ce
Add arbitrary tags to tiff images using an ImageFileDirectory
2013-10-02 22:06:17 -07:00
wiredfool
bb9672095b
initial working version of saving arbitrary tags from the img.tags directory
2013-09-28 21:31:32 -07:00
wiredfool
465ebd3af3
added tagnames for ImageJ tiff tags
2013-09-27 10:41:27 -07:00
wiredfool
a40950c3b9
Properly set the mode for files with rawmode of F;32BF
2013-09-27 10:41:03 -07:00
Eric Buehl
26fb0eadad
issue warning instead of debug/print
2013-08-20 16:53:55 +00:00
Eric Buehl
7430dc261f
be more tolerant of tag read failures
...
this can occur if the MakerNote has a pointer to outside the EXIF block
2013-08-19 22:51:50 +00:00
wiredfool
db49dbf9de
Ignore fillorder=2 when reading using libtiff
2013-07-10 22:36:55 -07:00
Alexey Buzanov
a130c45990
add several TIFF decoders and encoders
2013-07-01 18:45:42 +04:00