Commit Graph

1482 Commits

Author SHA1 Message Date
Leonid Bloch
28b818974e Allow to save tiff stacks from separate images
This is a quick solution that will allow to save tiff stacks from
separate images, e.g. from Numpy arrays.
Previously, tiff stacks could be saved only from multiframe images.
This behavior is similar to what is possible now with GIFs.

Note however, that for correct results, all the appended images should
have the same encoder{info,config} properties.

Example:

import numpy as np
from PIL import Image
a = np.ones((100,100,100), dtype=np.uint8)
imlist = []
for m in a:
    imlist.append(Image.fromarray(m))

imlist[0].save("test.tif", compression="tiff_deflate", save_all=True,
               append_images=imlist[1:])

(Should result in a 100-frame, 100x100 tiff stack.)

Signed-off-by: Leonid Bloch <leonid.bloch@esrf.fr>
2017-02-17 00:57:00 +02:00
hugovk
07af06bf8c Expose and test radial_gradient 2017-01-29 18:44:24 +02:00
hugovk
3ead178d18 flake8 2017-01-29 18:38:06 +02:00
hugovk
47b1c66961 Expose and test linear_gradient 2017-01-29 18:17:31 +02:00
wiredfool
2df28a6601 Merge pull request #2347 from radarhere/icc_profile
Moved iCCP chunk before PLTE chunk when saving as PNG
2017-01-26 14:26:25 +00:00
wiredfool
a62f2c5b44 Merge pull request #2365 from SemanticsOS/lambdafu/dpiresolution
Default to inch-interpretation for missing ResolutionUnit in TiffImagePlugin
2017-01-26 14:22:32 +00:00
wiredfool
a71ba1a1c6 comments 2017-01-26 05:55:18 -08:00
wiredfool
a69c37738a Look in a different location for the tk intepreter on pypy fixes #2376 2017-01-26 05:32:40 -08:00
Andrew Murray
f0480de118 Restricted PNG encoderinfo chunks to valid values when saving 2017-01-21 16:57:03 +11:00
Andrew Murray
361f579579 Moved iCCP chunk before PLTE chunk when saving as PNG 2017-01-21 13:32:22 +11:00
Marcus Brinkmann
8a9bd2cdcd Default to inch-interpretation for missing ResolutionUnit in TiffImagePlugin. 2017-01-19 17:24:28 +01:00
Andrew Murray
58b5c9187d Replaced absolute PIL imports with relative imports (#2349) 2017-01-17 13:22:18 +00:00
wiredfool
c1b510c72c Merge pull request #2307 from radarhere/contextmanagers
Added context managers
2017-01-17 13:20:41 +00:00
wiredfool
f6dd290560 Merge pull request #2343 from radarhere/registered_extensions
Expose registered file extensions in Image
2017-01-16 11:40:02 +00:00
Jarkko Pöyry
3bdd15e55e Make mode descriptor cache initialization thread-safe.
Initializing mode descriptor cache in-place is racy and may cause a thread to
observe a partially constructed cache if another thread is pre-empted while
it's still constructing the cache. In this change, the mode descriptor cache is
constructed into a local variable instead and then set globally in a single
atomic operation, preventing any possibility of observing an incomplete cache.
2017-01-10 23:49:29 +02:00
Luis G
67c1258cfc Expose registered file extensions
This adds a new method in Image (registered_extensions) that exposes the
internal EXTENSION dictionary to consumers of the library
2017-01-07 11:32:16 +11:00
Andrew Murray
1fb00976f5 Removed TODO resolved in #1121 2017-01-07 10:14:49 +11:00
Jerome Leclanche
3ac9ab6fa2 Remove an unnecessary import 2017-01-07 08:12:33 +11:00
wiredfool
296fb5fe1d 4.1.0.dev0 version bump 2017-01-02 04:06:48 -08:00
wiredfool
a021d4978d 4.0.0 version bump 2017-01-01 20:20:06 +00:00
wiredfool
ccccd725af Merge pull request #2329 from wiredfool/pcd_hack_refactor
Refactor out postprocessing hack to load_end in PcdImageFile
2017-01-01 19:07:23 +00:00
wiredfool
599ec6bcd6 Removed #hack 2017-01-01 12:59:48 +00:00
wiredfool
8dd19e6c33 refactor out postprocessing hack to load_end in PcdImageFile 2017-01-01 12:04:59 +00:00
wiredfool
fed4b52171 Disable fastpath when using center or translate 2017-01-01 11:13:25 +00:00
wiredfool
f286d8bb34 Documentation param order to match actual order 2017-01-01 11:10:39 +00:00
Marcus Brinkmann
90077b3975 Add center and translate option to Image.rotate. 2016-12-31 19:01:09 +00:00
wiredfool
c7df6287fa Merge pull request #2262 from wiredfool/zero_size
Allow 0 size images, Fixes #2259
2016-12-31 16:35:14 +00:00
wiredfool
69bea50810 Allow 0 size images, Fixes #2259 2016-12-31 13:19:29 +00:00
wiredfool
31c204eae4 Loop cleanup, python 3 compatibility 2016-12-31 12:29:10 +00:00
Mickael B
597ab45d4d [SGI] Save uncompressed SGI/BW/RGB/RGBA files
Save feature added to SgiImagePlugin.py, uncompressed method only
2016-12-31 12:29:10 +00:00
Andrew Murray
a06dd59df7 Added context managers 2016-12-28 09:54:10 +11:00
wiredfool
944a470a79 Merge pull request #2312 from wiredfool/pr_2298
List of individual frame durations for saving animated gifs. #2298
2016-12-27 12:00:40 +00:00
wiredfool
f36a04570f Merge pull request #2313 from wiredfool/pr_2196
Unified different GIF optimize conditions #2196, Test for #2196
2016-12-27 11:53:50 +00:00
wiredfool
e530f2a228 Added tuple option for durations 2016-12-27 03:04:37 -08:00
wiredfool
87092ad4f8 can pass list of integer to set different duration for each frame when saving GIF 2016-12-27 02:44:05 -08:00
Andrew Murray
8c2a857c2e Removed shebang line from OleFileIO 2016-12-25 20:18:50 +01:00
Jakub Wilk
8524c18329 Remove executable bit from OleFileIO.py 2016-12-25 12:05:38 +01:00
wiredfool
80b78be21a Merge pull request #2199 from jdufresne/dep-olefile
Remove vendored version of olefile Python package in favor of upstream
2016-12-13 20:12:29 +00:00
wiredfool
55f7a736a4 Merge pull request #2234 from radarhere/print
Updated comments to use print as a function
2016-12-13 20:00:25 +00:00
wiredfool
ba5f9b88da Merge pull request #2223 from wiredfool/handles_eof
Removed the handles_eof flag in the decoder, as there are no users of it
2016-12-13 19:48:55 +00:00
Hugo
837d583b15 Merge pull request #2275 from wiredfool/issue_2272
Update Maxblock heuristic (fixes #2272)
2016-12-04 21:38:22 +02:00
wiredfool
7e2bd28a7c Fix for issue 2272, CMYK images miss the heuristic for the maxblock buffer scaling 2016-12-03 14:45:45 +00:00
wiredfool
86606022c5 Merge pull request #2193 from SemanticsOS/lambdafu/libtiff-icc
Update info.icc_profile when using libtiff reader.
2016-12-03 13:44:26 +00:00
hugovk
adfda1a5a4 Python 3 compatibility 2016-11-30 16:50:44 +02:00
hugovk
880464f46c Only save relevant sizes 2016-11-30 16:41:43 +02:00
hugovk
b341898c7f Allow 256x256 sizes 2016-11-30 16:00:14 +02:00
hugovk
43fc9c9b59 flake8 2016-11-30 14:51:30 +02:00
hugovk
cc89d95f02 Fix saving 256x256 icons 2016-11-30 14:50:53 +02:00
wiredfool
e0b957240b Merge pull request #2087 from cskau/patch-1
Fixes TIFFImagePlugin ICC color profile saving.
2016-11-29 19:33:52 +00:00
wiredfool
0271887115 Merge pull request #2256 from radarhere/imageops
Doc: Improved description of ImageOps.deform resample parameter
2016-11-27 16:28:03 +00:00