<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to feature-requests</title><link>https://sourceforge.net/p/libpgf/feature-requests/</link><description>Recent changes to feature-requests</description><atom:link href="https://sourceforge.net/p/libpgf/feature-requests/feed.rss" rel="self"/><language>en</language><lastBuildDate>Wed, 20 Jan 2021 11:55:04 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/libpgf/feature-requests/feed.rss" rel="self" type="application/rss+xml"/><item><title>#4 Pillow plugin for Python?</title><link>https://sourceforge.net/p/libpgf/feature-requests/4/?limit=25#8e98</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Yes, sounds good, I agree that the simple decoder should be the first step.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;checking a file if it contains a PGF image; each PGF image starts&lt;br/&gt;
with 'PGF' = 0x50 0x47 0x46&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is already done by this piece of code:&lt;br/&gt;
&lt;a href="https://github.com/DavidMStraub/Pillow-PGF/blob/main/pillow_pgf/__init__.py#L53-L57" rel="nofollow"&gt;https://github.com/DavidMStraub/Pillow-PGF/blob/main/pillow_pgf/&lt;strong&gt;init&lt;/strong&gt;.py#L53-L57&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;reading and decoding an image file to a memory buffer&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Right. One problem I faced when playing around was that I didn't really understand how to get the decoder working when fully implemented in C. The documentation is very brief and I did not find a single example of a standalone (i.e. not included in the main &lt;code&gt;Pillow&lt;/code&gt; package) plugin where the &lt;code&gt;decode&lt;/code&gt; function is implemented (only) in C. I did however find examples where the decode function was a Python function calling a C extension, so this is how I have set up the code for now. So in the PGFDecoder.decode Python method here,&lt;br/&gt;
&lt;a href="https://github.com/DavidMStraub/Pillow-PGF/blob/main/pillow_pgf/decoder.py#L13" rel="nofollow"&gt;https://github.com/DavidMStraub/Pillow-PGF/blob/main/pillow_pgf/decoder.py#L13&lt;/a&gt;&lt;br/&gt;
a function from a C extension (with whatever signature is convenient) can be called.&lt;/p&gt;
&lt;p&gt;I suggest to continue the discussion directly on Github; I opened an issue for this purpose:&lt;br/&gt;
&lt;a href="https://github.com/DavidMStraub/Pillow-PGF/issues/1" rel="nofollow"&gt;https://github.com/DavidMStraub/Pillow-PGF/issues/1&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;encoding and writing an image file&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I suggest to tackle this in a second step after we have the decoder working.&lt;/p&gt;
&lt;p&gt;Best, David&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David Straub</dc:creator><pubDate>Wed, 20 Jan 2021 11:55:04 -0000</pubDate><guid>https://sourceforge.nete443d09d93d49741aef6346de4774c5b061811dd</guid></item><item><title>#4 Pillow plugin for Python?</title><link>https://sourceforge.net/p/libpgf/feature-requests/4/?limit=25#b24b/5110</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I don't know C or anything about image codecs, but I am a Python developer, so it looks like a good match ;-)&lt;/p&gt;
&lt;p&gt;Indeed I would be happy to work on this. I played around a bit with the scaffolding for a Pillow plugin and put what I have cobbled together into a Github repo:&lt;br/&gt;
&lt;a href="https://github.com/DavidMStraub/Pillow-PGF" rel="nofollow"&gt;https://github.com/DavidMStraub/Pillow-PGF&lt;/a&gt;&lt;br/&gt;
Basically there is a Python method &lt;code&gt;decode&lt;/code&gt; in &lt;code&gt;decoder.py&lt;/code&gt; that calls the &lt;code&gt;decode&lt;/code&gt; function from the C extension in &lt;code&gt;pgf_decoder.c&lt;/code&gt;. Do you think you could provide something along these lines?&lt;/p&gt;
&lt;p&gt;If using a Github repo is fine for you I can give you push access.&lt;/p&gt;
&lt;p&gt;Best,&lt;br/&gt;
David&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David Straub</dc:creator><pubDate>Mon, 18 Jan 2021 19:55:08 -0000</pubDate><guid>https://sourceforge.net788216f4c74cc2b8bb36096a72ce2bf13a4f6a68</guid></item><item><title>#3 Image Viewer 4.5.15.36</title><link>https://sourceforge.net/p/libpgf/feature-requests/3/?limit=25#e31a</link><description>&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: open --&amp;gt; closed&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christoph Stamm</dc:creator><pubDate>Mon, 18 Jan 2021 13:50:15 -0000</pubDate><guid>https://sourceforge.net6103599b56e4c2a1d894de5561eed7dbf61d4f66</guid></item><item><title>#2 Add tile or scanline-based encoding feature for large images.</title><link>https://sourceforge.net/p/libpgf/feature-requests/2/?limit=25#256b</link><description>&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: open --&amp;gt; closed&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christoph Stamm</dc:creator><pubDate>Mon, 18 Jan 2021 08:24:50 -0000</pubDate><guid>https://sourceforge.net5ee1d691e16f8b428d6f144d562939af6cad47e6</guid></item><item><title>Pillow plugin for Python?</title><link>https://sourceforge.net/p/libpgf/feature-requests/4/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi! Do you know if anyone has attempted to write a plugin for Pillow (https://pillow.readthedocs.io/en/stable/)? This would be cool because it would allow using the PGF format in every Python project. I suppose it's not too difficult, since libpgf can be wrapped as a C extension.&lt;/p&gt;
&lt;p&gt;I came up with this question while working on a Python tool interacting with Digikam's databases, and being unable to load the thumbnails, which are stored in PGF format (which in principle is a cool thing).&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David Straub</dc:creator><pubDate>Fri, 15 Jan 2021 09:50:06 -0000</pubDate><guid>https://sourceforge.net82e6f362c97e053f925be74191904a89a1b3f05f</guid></item><item><title>Image Viewer 4.5.15.36</title><link>https://sourceforge.net/p/libpgf/feature-requests/3/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The 2015 Image Viewer for Windows x64 is an MSI installer ending up in \Program Files\xeraina\ImageViewer, apparently it ignores (= does not touch or uninstall) an older \Prigram Files (x86)\xeraina\ImageViewer. The MSI installer somehow failed to associate PGF files with their viewer, I used regedit to fix that:&lt;/p&gt;
&lt;p&gt;Rename open to view for the Windows photo viewer, add open for ImageViewer, keep printto as it was, and do not touch the view/droptarget, presumably I should move or copy that to open/droptarget.  So far for the installation blues, complete with two reboots and two repair installations until I figured out that having two PGF ImageViewers is better than only the Windows Photo viewer.&lt;/p&gt;
&lt;p&gt;The old ImageViewer claims to use a 32bits 6.13.12 codec, I guess that this is the PGFwic.dll in \Prigram Files (x86)\xeraina\ImageViewer. The bew ImageViewer claims to use a 32bits 7.15.32 codec. Is &lt;strong&gt;32bits&lt;/strong&gt; as it should be? I'm willing to use regsrv32 and/or regedit if necessary.&lt;/p&gt;
&lt;p&gt;Disclaimer, I only use PGF for comparisons with WebP, BPG, JLS, JXR, J2K, and sometimes I update pages like &lt;a class="" href="https://en.wikipedia.org/wiki/Windows_Imaging_Component#Codecs" rel="nofollow" title="Windows Imaging Component"&gt;WIC&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">frank</dc:creator><pubDate>Thu, 31 Dec 2015 18:23:54 -0000</pubDate><guid>https://sourceforge.neteb9f45f4291a7037bb6c64c9933222bf8717e1ec</guid></item><item><title>Image Viewer 4.5.15.36</title><link>https://sourceforge.net/p/libpgf/feature-requests/3/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Ticket 3 has been modified: Image Viewer 4.5.15.36&lt;br/&gt;
Edited By: Christoph Stamm (c_stamm)&lt;br/&gt;
Status updated: u'open' =&amp;gt; u'closed'&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">frank</dc:creator><pubDate>Thu, 31 Dec 2015 18:23:54 -0000</pubDate><guid>https://sourceforge.netf2ecacbf9a7c91d4edc9d56d48760e4a55cf6917</guid></item><item><title>#2 Add tile or scanline-based encoding feature for large images.</title><link>https://sourceforge.net/p/libpgf/feature-requests/2/?limit=25#f557</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Thank you for your quick reply. PPPExt sounds like it's exactly what I'm looking for!&lt;br /&gt;
And since the images I need to compress, are already in GeoTiff format, the TIFF to PPPExt converter tool would come in very handy too.  :)&lt;br /&gt;
I hereby respectfully request a copy.&lt;br /&gt;
Please can you provide a link, or email to me at rjklindsay@hotmail.com?&lt;br /&gt;
Thanks in advance.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Rene Lindsay</dc:creator><pubDate>Fri, 28 Nov 2014 18:43:40 -0000</pubDate><guid>https://sourceforge.net569f088ba719ec2c32411e47bce181a1b3182e3f</guid></item><item><title>#2 Add tile or scanline-based encoding feature for large images.</title><link>https://sourceforge.net/p/libpgf/feature-requests/2/?limit=25#9858</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;You are right. libPGF requires the entire source image to be loaded into memory before encoding, and the ROI feature is just for decoding.&lt;/p&gt;
&lt;p&gt;Instead of blowing up libPGF with rarely used features, we pursue a different strategy. In our PGF related products we use a special library (PPPExt) for tiled images based on libPPP (PPP stands for PNG plus PGF). The tiles in such a tiled image are efficiently encoded in PGF or PNG format, and the tiles can be stored in different ordering schemes on external storage.&lt;/p&gt;
&lt;p&gt;In addition to PPPExt a simple converter from tiled TIFF to PPPExt is available.&lt;/p&gt;
&lt;p&gt;Since our open source resources are clearly limited, we provide PPPExt only on request.&lt;br /&gt;
&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christoph Stamm</dc:creator><pubDate>Fri, 28 Nov 2014 12:24:36 -0000</pubDate><guid>https://sourceforge.net65975ee9ba38149ee91dfece1591bb7e63ed4be4</guid></item><item><title>Add tile or scanline-based encoding feature for large images.</title><link>https://sourceforge.net/p/libpgf/feature-requests/2/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I'm looking for some way to compress a very large image to a file.&lt;br /&gt;
Unfortunately it seems libPGF requires the entire source image to be loaded into memory, before encoding, which is not practical for an image of 4TB.  The ROI feature allows only part of the image to be read, but there seems to be no way to WRITE only part of the image.&lt;br /&gt;
(Please correct me if I'm wrong.)&lt;br /&gt;
Is it possible to modify libPGF to add a tile-based or scanline-based encoding scheme, like libtiff, or libjpg, to allow larger images to be compressed?  The only solution I have right now, would be to use my own tiling scheme, maybe using sqlite to store tiles in a database, and compressing each individual tile, using libPGF, but then I would also have to re-implement a ROI feature, which makes libPGF's own ROI feature redundant.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Rene Lindsay</dc:creator><pubDate>Thu, 27 Nov 2014 19:50:02 -0000</pubDate><guid>https://sourceforge.net6bbada88137891914cc4d78fe2d0ba3c0a80f152</guid></item></channel></rss>