{"id":4480,"date":"2015-12-31T01:00:00","date_gmt":"2015-12-30T23:00:00","guid":{"rendered":"http:\/\/evolve.rabatmalta.com\/?guid=828f744c307cd3d3ba10c564bf7716c4"},"modified":"2015-12-31T01:00:00","modified_gmt":"2015-12-30T23:00:00","slug":"gimp-and-gegl-in-2015","status":"publish","type":"post","link":"https:\/\/evolve.rabatmalta.com\/?p=4480","title":{"rendered":"GIMP and GEGL in\u00a02015"},"content":{"rendered":"<p>We hope you are having great holidays. Here is our annual report about project activities in&nbsp;2015.<\/p>\n<p>It&#8217;s been an interesting year for <span class=\"caps\">GIMP<\/span>. For the most part, we focused on completing the <a href=\"http:\/\/gegl.org\/\"><span class=\"caps\">GEGL<\/span><\/a> port which involved rewriting all the source code related to color management. The vast majority of this work was done by Michael Natterer between April and November. The new implementation is much cleaner and is built right into the core of <span class=\"caps\">GIMP<\/span>. Here are some of the new&nbsp;features:<\/p>\n<ul>\n<li>pasting an image into another image that has a different color space just works&nbsp;now;<\/li>\n<li><span class=\"caps\">GIMP<\/span> detects color space defined in Exif 2.21\/<span class=\"caps\">DCF<\/span> 2.0 option&nbsp;files;<\/li>\n<li>greyscale images are finally&nbsp;color-managed;<\/li>\n<li>layer and image previews are color managed too&nbsp;now.<\/li>\n<\/ul>\n<p>The few missing features are color management for the color picker tool and color selection dialogs. This will be completed before the final v2.10&nbsp;release.<\/p>\n<p>Michael Natterer also resurrected Intelligent Scissors selection tool\u2014the last one that wasn&#8217;t ported to <span class=\"caps\">GEGL<\/span>\u2014and added undo support for selections in&nbsp;progress.<\/p>\n<p>Elle Stone added decomposition and composition of images to\/from <a href=\"https:\/\/en.wikipedia.org\/wiki\/Lab_color_space#Cylindrical_representation:_CIELCh_or_CIEHLC\"><span class=\"caps\">CIE<\/span> <span class=\"caps\">LCH<\/span><\/a>, a perceptually uniform color space that includes all perceivable colors and thus has a gamut larger than color spaces based on <span class=\"caps\">RGB<\/span> and <span class=\"caps\">CMYK<\/span> color&nbsp;models.<\/p>\n<p>Rupert Weber, J\u00f6rn Meier, Massimo Valentini, Elle Stone, Thomas Manni, and Michael Natterer introduced a few improvements to the blending&nbsp;modes:<\/p>\n<ul>\n<li>The <em>Overlay<\/em> mode is not identical to <em>Soft Light<\/em> mode anymore and relies on a widely used formula from both <span class=\"caps\">PDF<\/span> <span class=\"caps\">AND<\/span> <span class=\"caps\">W3C<\/span>&#8217;s \u201cCompositing and Blending Level 1\u201d specification&nbsp;now.<\/li>\n<li>There are <em><span class=\"caps\">CIE<\/span> <span class=\"caps\">LCH<\/span><\/em> based version of <em>Hue<\/em>, <em>Chroma<\/em>, <em>Color<\/em>, and <em>Lightness<\/em> blending modes available now in addition to their <em><span class=\"caps\">HSV<\/span><\/em> based versions. See an <a href=\"http:\/\/ninedegreesbelow.com\/photography\/gimp-lch-blend-modes.html\">explanation by Elle Stone<\/a> for&nbsp;details.<\/li>\n<\/ul>\n<p>Another development focus was on painting features. As requested by people using <span class=\"caps\">GIMP<\/span> for digital painting, Jehan Pag\u00e8s and Michael Natterer added the automatic saving of used colors into a new <em>Color History<\/em> palette. The palette is also part of the color selection dialog and the <span class=\"caps\">FG<\/span>\/<span class=\"caps\">BG<\/span> dockable&nbsp;dialog.<\/p>\n<p>In early 2015, Michael Natterer added a quick first version of <em>MyPaint Brush<\/em> tool that used <a href=\"http:\/\/mypaint.org\/\">MyPaint&#8217;s<\/a> brush engine available separately. Daniel Sabo, Alexia, and Jehan Pag\u00e8s revisited this mini-project in December and vastly improved it by making its performance comparable to <span class=\"caps\">GIMP<\/span>&#8217;s own brush engine and adding support for smoothing brush strokes. Michael also made it possible to tag and filter MyPaint brushes. The tool is now very stable enough and will be enabled by default in future releases of <span class=\"caps\">GIMP<\/span>.<\/p>\n<figure>\n<img data-recalc-dims=\"1\" src=\"https:\/\/i0.wp.com\/www.gimp.org\/news\/images\/2015-report\/2015-12-31-mypaint-brush.jpg?w=920&#038;ssl=1\" alt='MyPaint Brush tool in action' \/><figcaption>MyPaint Brush tool in action. Painting courtesy by Alexia<\/figcaption><\/figure>\n<p>Additionally, Michael Natterer added canvas flipping that nicely complements canvas rotation and is intended to help painters evaluate their work mirrored horizontally or vertically without having to undo the transformation. Thanks to Simon Budig you can map shortcuts to various commands related to both canvas rotation and flipping to speed up your&nbsp;workflow.<\/p>\n<figure>\n<img data-recalc-dims=\"1\" src=\"https:\/\/i0.wp.com\/www.gimp.org\/news\/images\/2015-report\/2015-12-31-rotate-flip.jpg?w=920&#038;ssl=1\" alt='Rotating and flipping the canvas' \/><figcaption>Rotating and flipping the canvas. Painting courtesy by Evelyne Schulz<\/figcaption><\/figure>\n<p>We also improved support for various file&nbsp;formats:<\/p>\n<ul>\n<li>Tobias Ellinghaus from the <a href=\"http:\/\/www.darktable.org\/\">darktable<\/a> team made the <span class=\"caps\">EXR<\/span> loading color-managed by generating an <span class=\"caps\">ICC<\/span> profile from the embedded white point and chromaticities on the fly, assuming linear gamma&nbsp;images.<\/li>\n<li>ShadowKyogre, Massimo Valentini, and Michael Natterer fixed several existing bugs in the <span class=\"caps\">PSD<\/span> plugin and improved support for <span class=\"caps\">PSD<\/span> files with greater than 8-bit depth&nbsp;precision.<\/li>\n<li>Mukund Sivaraman and Tobias Ellinghaus added the reading and writing of <a href=\"http:\/\/www.pauldebevec.com\/Research\/HDR\/PFM\/\"><span class=\"caps\">PFM<\/span><\/a> (portable floatmap) files commonly used in <span class=\"caps\">HDR<\/span>&nbsp;imaging.<\/li>\n<li>Joao <span class=\"caps\">S. O.<\/span> Bueno implemented exporting and loading group layers in OpenRaster files\u2014a new feature in upcoming MyPaint&nbsp;1.2.0.<\/li>\n<\/ul>\n<figure>\n<img data-recalc-dims=\"1\" src=\"https:\/\/i0.wp.com\/www.gimp.org\/news\/images\/2015-report\/2015-12-31-pfm-processing.jpg?w=920&#038;ssl=1\" alt='Adjusting exposure of a 32-bit float PFM file' \/><figcaption>Adjusting exposure of a 32-bit float <span class=\"caps\">PFM<\/span> file<\/figcaption><\/figure>\n<p>The next development focus was on <span class=\"caps\">GIMP<\/span>&#8217;s visual&nbsp;identity. <\/p>\n<p>Benoit Touchette, Michael Natterer, and Jehan Pag\u00e8s added the ability to switch between icon themes. <span class=\"caps\">GIMP<\/span> now ships with an optional symbolic icon theme originally created by Barbara Muraus with contributions from Jakub Steiner, and Klaus&nbsp;Staedtler.<\/p>\n<p>Benoit Touchette also added an experimental dark theme that should work better for people who work on hi-color images. <span class=\"caps\">GIMP<\/span> also ships a negative version of the symbolic icon theme to go with the dark&nbsp;theme. <\/p>\n<figure>\n<img data-recalc-dims=\"1\" src=\"https:\/\/i0.wp.com\/www.gimp.org\/news\/images\/2015-report\/2015-12-31-dark-theme.jpg?w=920&#038;ssl=1\" alt='Editing a photo in GIMP with a dark theme enabled' \/><figcaption>Editing a photo in <span class=\"caps\">GIMP<\/span> with a dark theme enabled. Photo courtesy by Pat David<\/figcaption><\/figure>\n<p>Michael Natterer revisited the screenshot plug-in&#8217;s source code. It is now easier to add support for new screenshooting backends (Windows, Wayland&nbsp;etc.).<\/p>\n<p>Michael Henning and Massimo Valentini fixed several bugs in the image ruler code that affected performance during painting. This vastly improved painting experience on Linux, but we hear that Windows users still experience issues, so we&#8217;d appreciate a wider testing and code contributions. For now, you can temporarily disable the ruler for your painting&nbsp;sessions.<\/p>\n<p>Johannes Matschke contributed an experimental <em>Handle Transform<\/em> tool that allows scaling, rotation, shearing, and adjusting perspective with handles placed by a user on the canvas. Michael Natterer further improved the tool&#8217;s&nbsp;usability.<\/p>\n<p>Michael also merged, improved, and marked as experimental another new tool, <em>N-Point Deformation<\/em>, contributed by Marek Dvoroznak a few years ago as the main objective of his Google Summer of Code project. The tool makes it possible to apply rubber-like transformation to&nbsp;objects.<\/p>\n<div class='fluid-video'>\n<iframe loading=\"lazy\" width=\"979\" height=\"734\" src=\"https:\/\/www.youtube.com\/embed\/OmOyQyuiO_E?rel=0\" frameborder=\"0\" allowfullscreen><\/iframe>\n<\/div>\n<p><a href=\"http:\/\/gegl.org\/\"><span class=\"caps\">GEGL<\/span><\/a> 0.3.0, released in June, featured over 70 new filters\/operations, as well as experimental multithreading and mipmaps support. We do not extensively use mipmaps in <span class=\"caps\">GIMP<\/span> yet, but this will change in the coming releases. Further <span class=\"caps\">GEGL<\/span> updates released this year reintroduced the loading and saving of video frames via <a href=\"http:\/\/ffmpeg.org\/\">FFmpeg<\/a>, various optimizations, and more new operations, such as <a href=\"http:\/\/www.libraw.org\/\">libraw<\/a> based operation for loading <span class=\"caps\">RAW<\/span> images (not yet exposed in <span class=\"caps\">GIMP<\/span>).<\/p>\n<p>Most of the work we did this year is available in v2.9.2, the first development release in 2.9.x series made in late November. Improved MyPaint Brush tool and visual changes (icon themes, dark theme) will be available in upcoming v2.9.4&nbsp;release.<\/p>\n<p>We expect to continue finalizing the <span class=\"caps\">GEGL<\/span> port and the existing feature set in 2016. There are two branches with new features to review, but other than that we do not expect any major changes in the 2.9.x series of&nbsp;releases.<\/p>\n<p>Last but not least, we owe a great debt to <a href=\"https:\/\/pixls.us\/\">Pat David<\/a> for redesigning and launching our new website for the 20th anniversary of the project that we celebrated in&nbsp;November.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We hope you are having great holidays. Here is our annual report about project activities in&nbsp;2015.<\/p>\n<p>It&rsquo;s been an interesting year for <span>GIMP<\/span>. For the most part, we focused on completing the <a href=\"http:\/\/gegl.org\/\"><span>GEGL<\/span><\/a> port which involved rewriting all the source code related to color management. The vast majority of this work was done by Michael Natterer between April and November. The new implementation is much cleaner and is built right into the core of <span>GIMP<\/span>. Here are some of the new&nbsp;features:<\/p>\n<ul>\n<li>pasting an image into another image that has a different color space just works&nbsp;now;<\/li>\n<li><span>GIMP<\/span> detects color space defined in Exif 2.21\/<span>DCF<\/span> 2.0 option&nbsp;files;<\/li>\n<li>greyscale images are finally&nbsp;color-managed;<\/li>\n<li>layer and image previews are color managed too&nbsp;now.<\/li>\n<\/ul>\n<p>The few missing features are color management for the color picker tool and color selection dialogs. This will be completed before the final v2.10&nbsp;release.<\/p>\n<p>Michael Natterer also resurrected Intelligent Scissors selection tool&mdash;the last one that wasn&rsquo;t ported to <span>GEGL<\/span>&mdash;and added undo support for selections in&nbsp;progress.<\/p>\n<p>Elle Stone added decomposition and composition of images to\/from <a href=\"https:\/\/en.wikipedia.org\/wiki\/Lab_color_space#Cylindrical_representation:_CIELCh_or_CIEHLC\"><span>CIE<\/span> <span>LCH<\/span><\/a>, a perceptually uniform color space that includes all perceivable colors and thus has a gamut larger than color spaces based on <span>RGB<\/span> and <span>CMYK<\/span> color&nbsp;models.<\/p>\n<p>Rupert Weber, J&ouml;rn Meier, Massimo Valentini, Elle Stone, Thomas Manni, and Michael Natterer introduced a few improvements to the blending&nbsp;modes:<\/p>\n<ul>\n<li>The <em>Overlay<\/em> mode is not identical to <em>Soft Light<\/em> mode anymore and relies on a widely used formula from both <span>PDF<\/span> <span>AND<\/span> <span>W3C<\/span>&rsquo;s &ldquo;Compositing and Blending Level 1&rdquo; specification&nbsp;now.<\/li>\n<li>There are <em><span>CIE<\/span> <span>LCH<\/span><\/em> based version of <em>Hue<\/em>, <em>Chroma<\/em>, <em>Color<\/em>, and <em>Lightness<\/em> blending modes available now in addition to their <em><span>HSV<\/span><\/em> based versions. See an <a href=\"http:\/\/ninedegreesbelow.com\/photography\/gimp-lch-blend-modes.html\">explanation by Elle Stone<\/a> for&nbsp;details.<\/li>\n<\/ul>\n<p>Another development focus was on painting features. As requested by people using <span>GIMP<\/span> for digital painting, Jehan Pag&egrave;s and Michael Natterer added the automatic saving of used colors into a new <em>Color History<\/em> palette. The palette is also part of the color selection dialog and the <span>FG<\/span>\/<span>BG<\/span> dockable&nbsp;dialog.<\/p>\n<p>In early 2015, Michael Natterer added a quick first version of <em>MyPaint Brush<\/em> tool that used <a href=\"http:\/\/mypaint.org\/\">MyPaint&rsquo;s<\/a> brush engine available separately. Daniel Sabo, Alexia, and Jehan Pag&egrave;s revisited this mini-project in December and vastly improved it by making its performance comparable to <span>GIMP<\/span>&rsquo;s own brush engine and adding support for smoothing brush strokes. Michael also made it possible to tag and filter MyPaint brushes. The tool is now very stable enough and will be enabled by default in future releases of <span>GIMP<\/span>.<\/p>\n<figure><img decoding=\"async\" src=\"https:\/\/www.gimp.org\/news\/images\/2015-report\/2015-12-31-mypaint-brush.jpg\" alt=\"MyPaint Brush tool in action\"><figcaption>MyPaint Brush tool in action. Painting courtesy by Alexia<\/figcaption><\/figure>\n<p>Additionally, Michael Natterer added canvas flipping that nicely complements canvas rotation and is intended to help painters evaluate their work mirrored horizontally or vertically without having to undo the transformation. Thanks to Simon Budig you can map shortcuts to various commands related to both canvas rotation and flipping to speed up your&nbsp;workflow.<\/p>\n<figure><img decoding=\"async\" src=\"https:\/\/www.gimp.org\/news\/images\/2015-report\/2015-12-31-rotate-flip.jpg\" alt=\"Rotating and flipping the canvas\"><figcaption>Rotating and flipping the canvas. Painting courtesy by Evelyne Schulz<\/figcaption><\/figure>\n<p>We also improved support for various file&nbsp;formats:<\/p>\n<ul>\n<li>Tobias Ellinghaus from the <a href=\"http:\/\/www.darktable.org\/\">darktable<\/a> team made the <span>EXR<\/span> loading color-managed by generating an <span>ICC<\/span> profile from the embedded white point and chromaticities on the fly, assuming linear gamma&nbsp;images.<\/li>\n<li>ShadowKyogre, Massimo Valentini, and Michael Natterer fixed several existing bugs in the <span>PSD<\/span> plugin and improved support for <span>PSD<\/span> files with greater than 8-bit depth&nbsp;precision.<\/li>\n<li>Mukund Sivaraman and Tobias Ellinghaus added the reading and writing of <a href=\"http:\/\/www.pauldebevec.com\/Research\/HDR\/PFM\/\"><span>PFM<\/span><\/a> (portable floatmap) files commonly used in <span>HDR<\/span>&nbsp;imaging.<\/li>\n<li>Joao <span>S. O.<\/span> Bueno implemented exporting and loading group layers in OpenRaster files&mdash;a new feature in upcoming MyPaint&nbsp;1.2.0.<\/li>\n<\/ul>\n<figure><img decoding=\"async\" src=\"https:\/\/www.gimp.org\/news\/images\/2015-report\/2015-12-31-pfm-processing.jpg\" alt=\"Adjusting exposure of a 32-bit float PFM file\"><figcaption>Adjusting exposure of a 32-bit float <span>PFM<\/span> file<\/figcaption><\/figure>\n<p>The next development focus was on <span>GIMP<\/span>&rsquo;s visual&nbsp;identity. <\/p>\n<p>Benoit Touchette, Michael Natterer, and Jehan Pag&egrave;s added the ability to switch between icon themes. <span>GIMP<\/span> now ships with an optional symbolic icon theme originally created by Barbara Muraus with contributions from Jakub Steiner, and Klaus&nbsp;Staedtler.<\/p>\n<p>Benoit Touchette also added an experimental dark theme that should work better for people who work on hi-color images. <span>GIMP<\/span> also ships a negative version of the symbolic icon theme to go with the dark&nbsp;theme. <\/p>\n<figure><img decoding=\"async\" src=\"https:\/\/www.gimp.org\/news\/images\/2015-report\/2015-12-31-dark-theme.jpg\" alt=\"Editing a photo in GIMP with a dark theme enabled\"><figcaption>Editing a photo in <span>GIMP<\/span> with a dark theme enabled. Photo courtesy by Pat David<\/figcaption><\/figure>\n<p>Michael Natterer revisited the screenshot plug-in&rsquo;s source code. It is now easier to add support for new screenshooting backends (Windows, Wayland&nbsp;etc.).<\/p>\n<p>Michael Henning and Massimo Valentini fixed several bugs in the image ruler code that affected performance during painting. This vastly improved painting experience on Linux, but we hear that Windows users still experience issues, so we&rsquo;d appreciate a wider testing and code contributions. For now, you can temporarily disable the ruler for your painting&nbsp;sessions.<\/p>\n<p>Johannes Matschke contributed an experimental <em>Handle Transform<\/em> tool that allows scaling, rotation, shearing, and adjusting perspective with handles placed by a user on the canvas. Michael Natterer further improved the tool&rsquo;s&nbsp;usability.<\/p>\n<p>Michael also merged, improved, and marked as experimental another new tool, <em>N-Point Deformation<\/em>, contributed by Marek Dvoroznak a few years ago as the main objective of his Google Summer of Code project. The tool makes it possible to apply rubber-like transformation to&nbsp;objects.<\/p>\n<div>\n<\/div>\n<p><a href=\"http:\/\/gegl.org\/\"><span>GEGL<\/span><\/a> 0.3.0, released in June, featured over 70 new filters\/operations, as well as experimental multithreading and mipmaps support. We do not extensively use mipmaps in <span>GIMP<\/span> yet, but this will change in the coming releases. Further <span>GEGL<\/span> updates released this year reintroduced the loading and saving of video frames via <a href=\"http:\/\/ffmpeg.org\/\">FFmpeg<\/a>, various optimizations, and more new operations, such as <a href=\"http:\/\/www.libraw.org\/\">libraw<\/a> based operation for loading <span>RAW<\/span> images (not yet exposed in <span>GIMP<\/span>).<\/p>\n<p>Most of the work we did this year is available in v2.9.2, the first development release in 2.9.x series made in late November. Improved MyPaint Brush tool and visual changes (icon themes, dark theme) will be available in upcoming v2.9.4&nbsp;release.<\/p>\n<p>We expect to continue finalizing the <span>GEGL<\/span> port and the existing feature set in 2016. There are two branches with new features to review, but other than that we do not expect any major changes in the 2.9.x series of&nbsp;releases.<\/p>\n<p>Last but not least, we owe a great debt to <a href=\"https:\/\/pixls.us\/\">Pat David<\/a> for redesigning and launching our new website for the 20th anniversary of the project that we celebrated in&nbsp;November.<\/p>\n<p> <a class=\"continue-reading-link\" href=\"https:\/\/evolve.rabatmalta.com\/?p=4480\"> Continue reading<\/a><\/p>\n","protected":false},"author":23,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[17,6,44,15],"tags":[],"class_list":["post-4480","post","type-post","status-publish","format-standard","hentry","category-articles","category-floss","category-imaging","category-oss"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9jmWQ-1ag","jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/evolve.rabatmalta.com\/index.php?rest_route=\/wp\/v2\/posts\/4480","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/evolve.rabatmalta.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/evolve.rabatmalta.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/evolve.rabatmalta.com\/index.php?rest_route=\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/evolve.rabatmalta.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4480"}],"version-history":[{"count":2,"href":"https:\/\/evolve.rabatmalta.com\/index.php?rest_route=\/wp\/v2\/posts\/4480\/revisions"}],"predecessor-version":[{"id":4724,"href":"https:\/\/evolve.rabatmalta.com\/index.php?rest_route=\/wp\/v2\/posts\/4480\/revisions\/4724"}],"wp:attachment":[{"href":"https:\/\/evolve.rabatmalta.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4480"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/evolve.rabatmalta.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4480"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/evolve.rabatmalta.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}