https://community.kde.org/index.php?title=Krita/High_dynamic_range&feed=atom&action=historyKrita/High dynamic range - Revision history2024-03-28T15:10:10ZRevision history for this page on the wikiMediaWiki 1.40.2https://community.kde.org/index.php?title=Krita/High_dynamic_range&diff=83798&oldid=prevTiar at 09:09, 24 April 20192019-04-24T09:09:13Z<p></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 09:09, 24 April 2019</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Warning!'''</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Warning!'''</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>This page is heavily outdated. To read about real HDR <del style="font-weight: bold; text-decoration: none;">feartures </del>that are new in Krita 4.2.0, please go to https://krita.org/en/item/krita-4-2-0-the-first-painting-application-to-bring-hdr-support-to-windows/ and learn more on https://docs.krita.org/en/</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>This page is heavily outdated. To read about real HDR <ins style="font-weight: bold; text-decoration: none;">features </ins>that are new in Krita 4.2.0, please go to https://krita.org/en/item/krita-4-2-0-the-first-painting-application-to-bring-hdr-support-to-windows/ and learn more on https://docs.krita.org/en/</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>----</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>----</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l24">Line 24:</td>
<td colspan="2" class="diff-lineno">Line 24:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Adobe After Effects use icc profile internaly, for After effects there are a serie of [http://www.fxguide.com/fxtips-315.html tutorials] on the subject</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Adobe After Effects use icc profile internaly, for After effects there are a serie of [http://www.fxguide.com/fxtips-315.html tutorials] on the subject</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>== Color <del style="font-weight: bold; text-decoration: none;">convertion </del>==</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>== Color <ins style="font-weight: bold; text-decoration: none;">conversion </ins>==</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* color convertion should be done taking into account the exposure, that way when it would be possible to draw in the current range of exposure instead of the generic 0.0-1.0</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* color convertion should be done taking into account the exposure, that way when it would be possible to draw in the current range of exposure instead of the generic 0.0-1.0</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
</table>Tiarhttps://community.kde.org/index.php?title=Krita/High_dynamic_range&diff=83795&oldid=prevTiar at 08:39, 24 April 20192019-04-24T08:39:13Z<p></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 08:39, 24 April 2019</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">'''Warning!'''</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">This page is heavily outdated. To read about real HDR feartures that are new in Krita 4.2.0, please go to https://krita.org/en/item/krita-4-2-0-the-first-painting-application-to-bring-hdr-support-to-windows/ and learn more on https://docs.krita.org/en/</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">----</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">= Introduction =</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>This page is about ideas on improving the HDR capabilities of Krita. One of the reference bug on the subject is [http://bugs.kde.org/show_bug.cgi?id=125543 #125543]. There are three issues to solve for now in Krita : Color management, LDR to HDR and tone mapping. </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>This page is about ideas on improving the HDR capabilities of Krita. One of the reference bug on the subject is [http://bugs.kde.org/show_bug.cgi?id=125543 #125543]. There are three issues to solve for now in Krita : Color management, LDR to HDR and tone mapping. </div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>= Color management =</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>= Color management =</div></td></tr>
</table>Tiarhttps://community.kde.org/index.php?title=Krita/High_dynamic_range&diff=3846&oldid=prevHalla: Created page with 'This page is about ideas on improving the HDR capabilities of Krita. One of the reference bug on the subject is [http://bugs.kde.org/show_bug.cgi?id=125543 #125543]. There are th...'2010-07-07T10:24:31Z<p>Created page with 'This page is about ideas on improving the HDR capabilities of Krita. One of the reference bug on the subject is [http://bugs.kde.org/show_bug.cgi?id=125543 #125543]. There are th...'</p>
<p><b>New page</b></p><div>This page is about ideas on improving the HDR capabilities of Krita. One of the reference bug on the subject is [http://bugs.kde.org/show_bug.cgi?id=125543 #125543]. There are three issues to solve for now in Krita : Color management, LDR to HDR and tone mapping. <br />
<br />
= Color management =<br />
[[Color management]] in krita and koffice is managed by the [[pigment]] library.<br />
== File format and color spaces ==<br />
<br />
* [http://www.openexr.org openexr] is allready supported, except that the chromacity is ignored (chromacity describes a transformation between RGB and XYZ<br />
* [http://www.cineon.com cineon] is not supported, it's a logarithmic color spaces, it requires a lut wich gives the transformation between the transmitance values and rgb (see [http://www.rendernan.com rendernan] for some examples)<br />
<br />
== Color profiles ==<br />
There is currently no specification which support floating point profiles, the [http://www.color.org International Color Consortium] has just released a [http://www.color.org/ICCSpecRevision_02_11_06_Float.pdf proposition] about a revision of the specification.<br />
<br />
== How it is done in other software ?==<br />
* [http://www.openexr.com/OpenEXRColorManagement.pdf OpenEXR Color Management] is a proposal from ILM which explain their workflow. It's a proposition for importing and exporting, it's rather weak on exactly how to do this<br />
* cinepaint use icc profile for display<br />
* Adobe After Effects use icc profile internaly, for After effects there are a serie of [http://www.fxguide.com/fxtips-315.html tutorials] on the subject<br />
<br />
== Color convertion ==<br />
* color convertion should be done taking into account the exposure, that way when it would be possible to draw in the current range of exposure instead of the generic 0.0-1.0<br />
<br />
= LDR to HDR =<br />
This is the process for creating HDR image from a serie of Low Dynamic Range images, usually a scene taken with the bracketing capabilities of a digital camera:<br />
<br />
* [http://www.mpi-sb.mpg.de/resources/hdr/calibration/pfs.html pfscalibration]<br />
* [http://people.freenet.de/hsbosny/HDR_Tutorial/HDR_Tutorial-en.html LDR to HDR in cinepaint]<br />
<br />
= Tone mapping =<br />
<br />
== Automated Processes ==<br />
We should provide one or more HDR tone mapping filters a la at least pfstools, possibly other algorithms that seem useful.<br />
<br />
* [http://www.mpi-inf.mpg.de/resources/tmo/ pfstmo]<br />
* [http://www.umsl.edu/~sj550/myweb/downloads.htm gsoc 2007 about tonemapping]<br />
<br />
== Manual Process ==<br />
This is a suggested process for manual HDR mapping that would be nice to support. This process involves importing multiple exposures as separate layers into Krita. These can be "true" exposures, or different non-HDR tone-mappings of a single (usually RAW) exposure. We'll assume the latter case as the required tools are more complicated. (Multiple true exposures may require alignment, but we already have these tools.)<br />
<br />
# Begin by importing the single RAW. See [[Krita/Direct_RAW_Editing| Direct RAW editing]].<br />
# Create a clone of the layer stack after debayerisation (and probably after white balancing).<br />
#* This requires the ability to clone the layer stack at a point, so that different operations (filters, paint layers) can be applied and the results later blended together.<br />
# Apply tone-mapping to get multiple exposures. This consists of curves and hue/saturation filter layers. We have these already.<br />
# Add a channel-to-alpha filter to one exposure to convert Luma to Alpha.<br />
#* This requires a filter that can take input in an arbitrary color space, perform an implicitly color space conversion, and dump the result as an Alpha channel. Ideally this should blend that with any previous alpha channel in the stack according to the blend mode (the default "Normal" mode would simply replace any previous alpha channel). Also ideally, this filter could map to any channel; for example, copy Red to Green.<br />
# Apply filters or painting to the alpha channel as desired.<br />
#* This requires that filters can be told to operate on a single channel, in this case Alpha. That said, operations such as blur acting only on Hue (again, with implicit color space conversion being performed), sharpen acting only on Luma, etc, would be another extremely useful option. In fact this might even obviate the need for otherwise-important filters such as chromatic reduction.<br />
<br />
The end result is a composited image with fine control over the tone mapping process.<br />
<br />
An example would be a landscape. Typically, the sky will be very bright compared to the other elements. One might create two tone mappings to work with; one that maximizes the detail in the sky (which will typically produce a very dark foreground), and one that maximizes the visibility of the other elements (which will typically produce a heavily washed-out sky). These would be combined by mapping the sky-exposure Luma to alpha, and applying a curve to cut the dark (foreground) areas to full transparency while boosting the sky, including darker parts thereof, to high opacity. Because foreground elements tend to be extremely bright around the edges which have sky behind them, applying some blur may be desired to prevent fine details (such as leaves on trees) from being lost. In order to achieve this, we need the three operations bullet-pointed above.<br />
<br />
= Painting/Drawing/Editing in HDR =<br />
<br />
* [http://graphics.cs.ucf.edu/HDRPaint/index.php HDR Paint]<br />
* [http://www.cs.toronto.edu/~hasinoff/aperture/ Variable-Aperture Photography]<br />
<br />
= Various other things related to HDR or image blending =<br />
* [http://www.guillermoluijk.com/article/nonoise/index_en.htm zero noise]</div>Halla