From: Nils W. <nw...@ia...> - 2010-10-02 10:59:24
|
Hi all, just curious - is the WebP format supported by matplotlib ? Nils http://code.google.com/intl/de-DE/speed/webp/ |
From: Jouni K. S. <jk...@ik...> - 2010-10-02 12:29:21
|
"Nils Wagner" <nw...@ia...> writes: > just curious - is the WebP format supported by matplotlib No. It seems to be a method for lossy compression of photographs and therefore not likely to be useful for line drawings - or what did you have in mind? -- Jouni K. Seppänen http://www.iki.fi/jks |
From: Benjamin R. <ben...@ou...> - 2010-10-02 15:58:35
|
On Sat, Oct 2, 2010 at 7:28 AM, Jouni K. Seppänen <jk...@ik...> wrote: > "Nils Wagner" <nw...@ia...> writes: > > > just curious - is the WebP format supported by matplotlib > > No. It seems to be a method for lossy compression of photographs and > therefore not likely to be useful for line drawings - or what did you > have in mind? > > -- > Jouni K. Seppänen > http://www.iki.fi/jks > > > And yet, we still allow for saving to jpegs. Also, matplotlib is also able to do imshow(), pcolor() and other rasterized drawings, so we aren't restricted to just line drawings. Nils, the answer is "no, we don't support webp -- yet". There is no reason why we can't eventually do so, and patches will always be welcomed. I just wouldn't expect it anytime soon. Ben Root |
From: Darren D. <dsd...@gm...> - 2010-10-02 16:54:54
|
On Sat, Oct 2, 2010 at 11:58 AM, Benjamin Root <ben...@ou...> wrote: > On Sat, Oct 2, 2010 at 7:28 AM, Jouni K. Seppänen <jk...@ik...> wrote: >> >> "Nils Wagner" <nw...@ia...> writes: >> >> > just curious - is the WebP format supported by matplotlib >> >> No. It seems to be a method for lossy compression of photographs and >> therefore not likely to be useful for line drawings - or what did you >> have in mind? > > And yet, we still allow for saving to jpegs. Only some of the non-agg backends support saving to jpegs. Whenever someone posts to the list asking why jpegs are not supported, the answer is that, aside from not being supported by agg, lossy formats like jpeg are a poor choice for saving line art. Darren |
From: Benjamin R. <ben...@ou...> - 2010-10-02 17:19:08
|
On Sat, Oct 2, 2010 at 11:54 AM, Darren Dale <dsd...@gm...> wrote: > On Sat, Oct 2, 2010 at 11:58 AM, Benjamin Root <ben...@ou...> wrote: > > On Sat, Oct 2, 2010 at 7:28 AM, Jouni K. Seppänen <jk...@ik...> wrote: > >> > >> "Nils Wagner" <nw...@ia...> writes: > >> > >> > just curious - is the WebP format supported by matplotlib > >> > >> No. It seems to be a method for lossy compression of photographs and > >> therefore not likely to be useful for line drawings - or what did you > >> have in mind? > > > > And yet, we still allow for saving to jpegs. > > Only some of the non-agg backends support saving to jpegs. Whenever > someone posts to the list asking why jpegs are not supported, the > answer is that, aside from not being supported by agg, lossy formats > like jpeg are a poor choice for saving line art. > > Heh, I never noticed that. On this computer, I use TkAgg, and it worked just fine. Admittedly, I haven't tried this out much because I usually use png or one of the vector-based formats. Ben Root |
From: Jouni K. S. <jk...@ik...> - 2010-10-04 18:35:40
|
Michael Droettboom <md...@st...> writes: > On 10/02/2010 01:39 PM, Jouni K. Seppänen wrote: >> Benjamin Root<ben...@ou...> writes: >> >> >>> And yet, we still allow for saving to jpegs. >>> >> Wow, I didn't know. Last time I tried that I got a traceback, and >> assumed that it was not supported exactly because jpeg is a nonsensical >> format for most graphs. >> >> I just tried again, and got "TypeError: 'int' object is unsubscriptable" >> from PIL/JpegImagePlugin.pyc in _save(im, fp, filename). I suppose this >> doesn't get much testing. >> > Aside from the question of whether we "should" support JPEGs, etc., that > code path should work (and in fact it does on my machine). What version > of PIL do you have installed, and can you provide the full traceback > here? It seems that I have an egg install of version 1.1.6., and here's a traceback: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Users/jks/Hacking/mpl/git/lib/matplotlib/pyplot.py", line 363, in savefig return fig.savefig(*args, **kwargs) File "/Users/jks/Hacking/mpl/git/lib/matplotlib/figure.py", line 1160, in savefig self.canvas.print_figure(*args, **kwargs) File "/Users/jks/Hacking/mpl/git/lib/matplotlib/backend_bases.py", line 1961, in print_figure **kwargs) File "/Users/jks/Hacking/mpl/git/lib/matplotlib/backend_bases.py", line 1787, in print_jpg return image.save(filename_or_obj, **kwargs) File "/Library/Python/2.6/site-packages/PIL/Image.py", line 1405, in save save_handler(self, fp, filename) File "/Library/Python/2.6/site-packages/PIL/JpegImagePlugin.py", line 406, in _save dpi[0], dpi[1] TypeError: 'int' object is unsubscriptable It looks like something is now passing a dpi keyword argument to print_jpg, but something inside PIL is expecting its value to be a sequence. I'll commit a fix. -- Jouni K. Seppänen http://www.iki.fi/jks |
From: Jouni K. S. <jk...@ik...> - 2010-10-02 17:39:38
|
Benjamin Root <ben...@ou...> writes: > And yet, we still allow for saving to jpegs. Wow, I didn't know. Last time I tried that I got a traceback, and assumed that it was not supported exactly because jpeg is a nonsensical format for most graphs. I just tried again, and got "TypeError: 'int' object is unsubscriptable" from PIL/JpegImagePlugin.pyc in _save(im, fp, filename). I suppose this doesn't get much testing. > Also, matplotlib is also able to do imshow(), pcolor() and other > rasterized drawings, so we aren't restricted to just line drawings. Yes, I guess there are some circumstances in which this would make sense. Would supporting WebP require new library dependencies? -- Jouni K. Seppänen http://www.iki.fi/jks |
From: Benjamin R. <ben...@ou...> - 2010-10-02 18:01:36
|
On Sat, Oct 2, 2010 at 12:39 PM, Jouni K. Seppänen <jk...@ik...> wrote: > Benjamin Root <ben...@ou...> writes: > > > And yet, we still allow for saving to jpegs. > > Wow, I didn't know. Last time I tried that I got a traceback, and > assumed that it was not supported exactly because jpeg is a nonsensical > format for most graphs. > > I just tried again, and got "TypeError: 'int' object is unsubscriptable" > from PIL/JpegImagePlugin.pyc in _save(im, fp, filename). I suppose this > doesn't get much testing. > > Yeah, I just double-checked which backend I was using and it turned out to be GTKAgg (I forgot that I changed it at one point for a test). In TkAgg, I get the same error message you report. > > Also, matplotlib is also able to do imshow(), pcolor() and other > > rasterized drawings, so we aren't restricted to just line drawings. > > Yes, I guess there are some circumstances in which this would make > sense. Would supporting WebP require new library dependencies? > > -- > Jouni K. Seppänen > http://www.iki.fi/jks > > I am certainly not an expert, but it would appear that we offload a lot of the file-format stuff to PIL anyway. So, if PIL ever supports WebP, then I would imagine (although I could be wrong) that it would be fairly trivial to add support to WebP at least to whereever we support JPEG. Ben Root |
From: Daπid <dav...@gm...> - 2010-10-02 22:50:18
|
On Sat, Oct 2, 2010 at 7:39 PM, Jouni K. Seppänen <jk...@ik...> wrote: >> And yet, we still allow for saving to jpegs. > > Wow, I didn't know. Last time I tried that I got a traceback, and > assumed that it was not supported exactly because jpeg is a nonsensical > format for most graphs. Don't forget MPL is also capable of dealing with photographs, and it is really useful. I am currently working in two scientific projects based on this capability, and for some issues could be useful to save JPGs. |
From: Michael D. <md...@st...> - 2010-10-04 13:22:17
|
On 10/02/2010 01:39 PM, Jouni K. Seppänen wrote: > Benjamin Root<ben...@ou...> writes: > > >> And yet, we still allow for saving to jpegs. >> > Wow, I didn't know. Last time I tried that I got a traceback, and > assumed that it was not supported exactly because jpeg is a nonsensical > format for most graphs. > > I just tried again, and got "TypeError: 'int' object is unsubscriptable" > from PIL/JpegImagePlugin.pyc in _save(im, fp, filename). I suppose this > doesn't get much testing. > Aside from the question of whether we "should" support JPEGs, etc., that code path should work (and in fact it does on my machine). What version of PIL do you have installed, and can you provide the full traceback here? I'd like to get to the bottom of this bug, even if it's an infrequently used feature. Mike -- Michael Droettboom Science Software Branch Space Telescope Science Institute Baltimore, Maryland, USA |
From: Gaius H. <Gaius@Gaius.org.UK> - 2010-10-02 18:41:07
|
It's really not clear to me why we would want to lower the quality of our graphs to save Google's bandwidth bills. Because that's all this is... Cheers, G ------------------ -----Original Message----- From: "Nils Wagner" <nw...@ia...> Date: Sat, 02 Oct 2010 12:59:12 To: <mat...@li...> Subject: [Matplotlib-users] WebP support Hi all, just curious - is the WebP format supported by matplotlib ? Nils http://code.google.com/intl/de-DE/speed/webp/ ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ Matplotlib-users mailing list Mat...@li... https://lists.sourceforge.net/lists/listinfo/matplotlib-users |