darktablehttps://www.darktable.org/Mon, 10 Aug 2020 20:20:23 +0000darktable 3.2.1 releasedhttps://www.darktable.org/2020/08/darktable-321-released/<p>We&#8217;re proud to announce the new feature release of darktable,&nbsp;3.2.1!</p> <p>Note that 3.2.0 has been skipped due to last minute bug&nbsp;fixes.</p> <p>The github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-3.2.1">https://github.com/darktable-org/darktable/releases/tag/release-3.2.1</a>.</p> <p>As always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-3.2.1.tar.xz 6e3683ea88dc0a0271be7eca4fd594b9e46b1b7194847825a8d0a0c12bdeb90c darktable-3.2.1.tar.xz $ sha256sum darktable-3.2.1.dmg 292b8327fdc2bd6346994d52f904e0d89078100c91eec2a7c6982f71f8dd24ca darktable-3.2.1.dmg $ sha256sum darktable-3.2.1.exe 7d21442aa31a627428cf9e56c85ecb4e985b544ea950d98b54ed0a6f123ad6d3 darktable-3.2.1.exe </pre></div> <p>When updating from the current stable 3.0.x series, please bear in mind that your edits will be preserved during the upgrade, but the new library and configuration files are not backward compatible; they&#8217;re not usable with 3.0.x, so making a backup is strongly&nbsp;advised.</p> <h4>Important note: to make sure that darktable can keep supporting the raw file format from your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <ul> <li>Almost 2700 commits to darktable+rawspeed since&nbsp;3.0</li> <li>790 pull requests&nbsp;handled</li> <li>92 issues&nbsp;closed</li> <li>Updated user manual is coming&nbsp;soon™</li> </ul> <h2>The Big&nbsp;Ones</h2> <ul> <li>The <em>lighttable</em> view has been rewritten and the filmstrip reworked, resulting in large performance gains, especially when using the zoomable lighttable view. The culling view has also been rewritten from scratch. Operations are smooth at any screen resolution up to&nbsp;8k.</li> </ul> <p>Many types of overlay are now possible on lighttable thumbs. Different overlay information can be selected depending on the thumb size on the lighttable. The different sizes can be set in the preferences, so we can have no overlay at all for small thumbs and full overlay when large thumbs are displayed. This is fully&nbsp;configurable.</p> <p>Likewise, the tooltip information when hovering the thumbs can be activated/deactivated based on the thumbs&nbsp;size.</p> <ul> <li> <p>The lighttable modules have improved user interaction: buttons are highlighted only when the context makes the action&nbsp;possible.</p> </li> <li> <p>A complete overhaul of the <span class="caps">CSS</span> has been done. This gives darktable a professional look. This continues the goal to make every single aspect of the <span class="caps">UI</span> themable using <span class="caps">CSS</span>.</p> </li> <li> <p>The Color Picker and Location modules are updated to better fit into the new <span class="caps">UI</span>, and most of the icons have been altered so as to be more visually&nbsp;balanced.</p> </li> <li> <p>The preference dialog has been fully reviewed and reorganized to propose a better look and require less scrolling. It is also possible to add some <span class="caps">CSS</span> rules directly into the preference dialog to tweak darktable&#8217;s look as well as to directly control the font size and <span class="caps">DPI</span> values from the general preference&nbsp;tab.</p> </li> </ul> <p>A search field has been added to the shortcuts tab to help you find the keyboard shortcut you want to&nbsp;customize.</p> <ul> <li> <p>The new negadoctor module has been added to help inverting negative&nbsp;films.</p> </li> <li> <p>A new histogram display called <span class="caps">RGB</span> Parade has been added. At the same time the histogram module height can now be adjusted with <kbd>Ctrl+Scroll</kbd>.</p> </li> <li> <p>The metadata feature has been made generic internally and has new features. The user can now select the information they want to see in the metadata editor. This selection is automatically mirrored in the collection and image information&nbsp;modules.</p> </li> </ul> <p>Along with a new &#8220;notes&#8221; field, all the fields are multiline <kbd>Ctrl+Enter</kbd>, sizable <kbd>Ctrl+Scroll</kbd> and can be set as private (not exported). Metadata collection filters have an entry &#8220;not defined&#8221;. At import time it is possible to choose not to import some&nbsp;metadata.</p> <ul> <li> <p>Image change detection has been made more reliable. This affects the lighttable thumbnails change symbol and history collection filter, which is now more accurate. In darkroom navigation, this avoids the need to recalculate an image and save the xmp file when there is no&nbsp;change.</p> </li> <li> <p>A new down-sampling preference has been introduced for faster response in darkroom. The preview is either computed at full resolution (original, default value) or at 1/2, 1/3 or 1/4 of the original size. This allow for better performance but can slightly hinder the precision of the guided filter&nbsp;masking.</p> </li> </ul> <p>Note that this is a very delicate feature to implement. A lot of care has been taken to ensure all is correct when using down sampling. It touches all areas of darktable, like masks, guided filter, liquify controls, crop <span class="amp">&amp;</span> rotate, lens and perspective&nbsp;corrections&#8230;</p> <ul> <li>Clarify the three possible workflows. Previous version had a preference to choose whether to auto-apply the base curve module. Many questions were raised about the intention. The new preference introduces three&nbsp;workflows:</li> </ul> <p>display-referred : use base-curve&nbsp;module</p> <p>scene-referred : use filmic and exposure modules (new&nbsp;default)</p> <p>none : use neither base-curve nor&nbsp;filmic</p> <ul> <li>Filmic <span class="caps">RGB</span> is updated to v4 (new color science) with integrated highlight&nbsp;recovery.</li> </ul> <h2>New Features And&nbsp;Changes</h2> <ul> <li> <p>Add support for curved gradients. This can be helpful when putting a gradient mask on an image with a horizon line that is curved due to lens distortion. This can also be for artistic&nbsp;goals.</p> </li> <li> <p>Add support for <span class="caps">AVIF</span> file format (requires <a href="https://github.com/AOMediaCodec/libavif">libavif</a> &gt;=&nbsp;0.7)</p> </li> <li> <p>Collect module has two new filters: module and module&nbsp;order.</p> </li> </ul> <p>The former makes it possible to filter pictures based on the activated modules in the history. The latter can be used to filter based on the pipe version (legacy up to 2.6 releases or v3.0 starting with 3.0&nbsp;release).</p> <ul> <li>Tag in the Collect module keeps track of the selected images&nbsp;order.</li> </ul> <p>When a tag is at the first level of the Collect module, any change on the images order is kept along with the selected tag. This allows to the user to associate a specific order with every image (tag)&nbsp;collection.</p> <ul> <li>A full rewrite of the pipe ordering has been done. It is now possible to change the order of the pipe using a new module giving access to the legacy order (order used up to 2.6 releases) and the v3.0 order. It is also possible to create module order presets which can be freely&nbsp;applied.</li> </ul> <p>Note that the copy/paste of multi-instances when they have been reordered in a way that some other modules are separating them will not keep the same order. This was buggy in previous implementation when the target image had also been reordered in a non-compatible manner or using a different pipe order. In this new versions all the multi-instances will be grouped together keeping their relative&nbsp;order.</p> <p>Note that this work has mainly been done to make the implementation simpler, safer and that will require less maintenance. Also as this implementation records the full pipe order for history and styles it will be the ground for proposing different strategies when applying&nbsp;styles.</p> <ul> <li> <p>The retouch module has a new keyboard shortcut &#8220;show or hide shapes&#8221; which can be mapped to a key to quickly show or hide shapes. This is in addition to the right-click on the image which does the same&nbsp;action.</p> </li> <li> <p>The spot removal module keyboard shortcut to show-hide shapes has been renamed to &#8220;show or hide shapes&#8221; for clarity and to be consistent with the new keyboard shortcut in the retouch&nbsp;module.</p> </li> <li> <p>It is possible to change the color of all overlays (shapes, guides, etc), in the darkroom. This may come handy on some images where the gray guides were barely visible. The possible colors are now: Grey, Red, Green, Yellow, Cyan, Magenta. The colors can be cycled through using <kbd>Ctrl+O</kbd>.</p> </li> <li> <p>In the crop <span class="amp">&amp;</span> rotate module, the pan movements can be restricted vertically or horizontally using the <kbd>Shift</kbd> or <kbd>Control</kbd> respectively.</p> </li> <li> <p>The crop <span class="amp">&amp;</span> rotate module now allows format ratios to be entered as a float&nbsp;number.</p> </li> <li> <p>When using a snapshot view, a flag has been added to clearly show the position of the&nbsp;snapshot.</p> </li> <li> <p>Improve the falloff and radius of the vignette to 200% for better&nbsp;control.</p> </li> <li> <p>Add a user-defined mode in the white-balance module to keep the last modification of the module. It is then possible to go back to the last modified setting after selecting another mode (spot for&nbsp;example).</p> </li> <li> <p>Dynamic keyboard shortcuts have been added for combo-boxes making it possible to select next and previous values directly from the&nbsp;keyboard.</p> </li> <li> <p>It is now possible to adjust the color picker areas just after having created them. This is achieved by dragging one of the four little square handles at the&nbsp;corner.</p> </li> <li> <p>Tagging improvements: Entry tag(s) creation works now without an image selected. It allows the user to create a tag on a virtual node, to insert a pipe <kbd>|</kbd> character in create tag (menu). The tree display shows the newly created&nbsp;tags.</p> </li> <li> <p>New variables $(<span class="caps">LENS</span>), $(EXIF_EXPOSURE_BIAS), $(VERSION_NAME) and $(VERSION_IF_MULTI) have been defined. $(CATEGORYn(category)) works now when multiple values on the same image (for example people) and accepts 9 levels instead of 3 (for&nbsp;n).</p> </li> <li> <p>Four new timestamps are now supported to store the import, last export, last change and last print times. Those timestamps are also made available in the collection module and so can be used to better control of created&nbsp;collections.</p> </li> <li> <p>Multiple image drag <span class="amp">&amp;</span> drop works now on map&nbsp;view.</p> </li> <li> <p>Add new preferences for keyboard shortcuts to control how multi-instances are handled (use first or last instance, prefer the visible, active or expanded instance). This also fixes some faults caused when duplicating or deleting modules, and when selecting earlier edits in the history&nbsp;stack.</p> </li> <li> <p>Introspection support has been added into darktable. At this time this does not bring new features for end-users but it has provided a basis for significant simplification of the code. This will provide easier integration of new modules and will ensure better interactivity consistency between&nbsp;modules.</p> </li> <li> <p>Add optional grey-scale export of <span class="caps">TIFF</span> for monochrome&nbsp;images.</p> </li> <li> <p>Add some tooltip information for tone&nbsp;equalizer.</p> </li> <li> <p>Some actions, like cropping, have been made more responsive by triggering a fast-pipe mode where the quality of the image is less important while dragging the&nbsp;controls.</p> </li> <li> <p>Better support for HiDPI icons theme on&nbsp;Windows.</p> </li> <li> <p>Add keyboard shortcut for enabling/disabling tooltips <kbd>Shift+T</kbd>.</p> </li> <li> <p>Better history stack module order (more logical) for newly-imported&nbsp;images.</p> </li> <li> <p>Add confirmation when deleting/updating&nbsp;presets.</p> </li> <li> <p>It is possible to handle (deleting, applying or exporting) multiple styles in the style&nbsp;module.</p> </li> <li> <p>Applying a style now supports overwrite mode (it previously could only append to the existing history stack). This makes the style module consistent with the copy/paste of&nbsp;history.</p> </li> <li> <p>Rework the sliders to make then look better (smaller and controls a bit more&nbsp;visible).</p> </li> <li> <p>Implement undo/redo for orientation changes from the&nbsp;lighttable.</p> </li> <li> <p>Exported pictures size should be more conservative and stable when flip or orientation is&nbsp;changed.</p> </li> <li> <p>Using <kbd>Ctrl+Click</kbd> in the blending module drawn masks, it is possible to allow continuous creation of&nbsp;masks.</p> </li> </ul> <p>Continuous mask creation was previously the default in the retouch and spot removal modules. For consistency this has been changed and so now one need to use <kbd>Ctrl+Click</kbd> in these modules as well for continuous mask&nbsp;creation.</p> <ul> <li> <p>Rejecting an image still keeps the last number of stars. So un-rejecting it will recover the previous star&nbsp;rating.</p> </li> <li> <p>Improve messages when a database lock is detected to give better guidance about the possible solutions, checks to be done for recovering from this&nbsp;situation.</p> </li> <li> <p>Rework local laplacian implementation for a 2x&nbsp;speed-up.</p> </li> <li> <p>Optimize the denoise profile module (bilateral filter) for better&nbsp;performance.</p> </li> <li> <p>Many parts of the histogram code have been reworked for better&nbsp;performance.</p> </li> <li> <p>A new universal toast message framework has been put in place. This is used to display information about changes performed with dynamic keyboard shortcuts when the module is collapsed. It gives visual information about the change being made (like exposure change or new opacity value,&nbsp;etc.).</p> </li> <li> <p>The spot removal module has been enhanced to be more consistent with the functionality of the retouch module. A new button has been added to show/hide shapes. It also now supports continuous shape&nbsp;creation.</p> </li> <li> <p>Add a new keyboard shortcut to toggle last snapshot&nbsp;on/off.</p> </li> <li> <p>Add a new keyboard shortcut to show/hide lib&nbsp;modules.</p> </li> <li> <p>Add a new keyboard shortcut to show/hide drawn masks for the currently active&nbsp;module</p> </li> <li> <p>Allow for more than 500 images in tethered control which is needed for&nbsp;time-lapse.</p> </li> <li> <p>It is now possible to export masks in <span class="caps">TIFF</span>&nbsp;format.</p> </li> <li> <p>Duplicate modules now use the new metadata field &#8220;version name&#8221; in place of the title field to show a description of each image&nbsp;version</p> </li> <li> <p>Fix support of legacy parameters in the basic adjustment&nbsp;module.</p> </li> <li> <p>Add integrated database maintenance&nbsp;policy.</p> </li> </ul> <h2>Bug&nbsp;fixes</h2> <ul> <li> <p>Better performance when using&nbsp;masks.</p> </li> <li> <p>Fix some displayed images&nbsp;issues.</p> </li> <li> <p>Fix to allow the shift modifier to be used in dynamic keyboard&nbsp;shortcuts.</p> </li> <li> <p>Fix exporting private tags issue with different settings along the&nbsp;path.</p> </li> <li> <p>Fix possible freeze on liquify&nbsp;module.</p> </li> <li> <p>Fix long text display when no space is available to show all the text by using an ellipsis. This allows the side panels to be reduced in size without adversely affecting the <span class="caps">UI</span>.</p> </li> <li> <p>Fix some crop <span class="amp">&amp;</span> rotate&nbsp;issues.</p> </li> <li> <p>Smoother transition for gradient&nbsp;shapes.</p> </li> <li> <p>Fix the snapshot rotation which could go 180° in a single&nbsp;click.</p> </li> <li> <p>Add missing icon for the tone-mapping&nbsp;module.</p> </li> <li> <p>Fix color-zone module min <span class="amp">&amp;</span> max indicator in edit by area&nbsp;mode.</p> </li> <li> <p>Enhance performance of blending and retouch, tone equalizer, color-picker modules when masks are set on/off and/or removing some unnecessary&nbsp;reprocessing.</p> </li> <li> <p>Various minor fixes to the shape selection buttons in the retouch&nbsp;module</p> </li> <li> <p>Fix displayed curve in denoise profile <span class="caps">Y0U0V0</span>&nbsp;mode.</p> </li> <li> <p>Film rolls can be ordered by folder name or id (so in chronological&nbsp;order).</p> </li> <li> <p>Fix gphoto camera detection&nbsp;procedure.</p> </li> <li> <p>Fix the opacity issue (second attempt) which led to a mask having no&nbsp;effect.</p> </li> <li> <p>Fix a possible infinite loop in the slideshow&nbsp;module.</p> </li> <li> <p>Fix a possible out-of-bound indexing in the chromatic aberration&nbsp;module.</p> </li> <li> <p>Fix issues when importing&nbsp;duplicates.</p> </li> <li> <p>Fix possible race condition in tone equalizer&nbsp;module.</p> </li> </ul> <h2>Notes</h2> <ul> <li> <p>A known issue when using two computers to edit images. If the three following options&nbsp;activated:</p> </li> <li> <p>update database from selected xmp&nbsp;files</p> </li> <li>write sidecar file for each&nbsp;image</li> <li>check xmp on&nbsp;start</li> </ul> <p>then darktable will write the <span class="caps">XMP</span> for each images each time you switch from one computer to another. This is due to an issue with the way timestamps are implemented and is being fixed for&nbsp;3.4.</p> <p>You can follow the discussion here:&nbsp;https://github.com/darktable-org/darktable/pull/5869</p> <p>A safe option if you are in this specific case is to wait to 3.4 release planned at the end of&nbsp;year.</p> <ul> <li> <p>The histogram has been deactivated on the print view because after lot of work on the histogram code it was not possible to have it ready for this view. The work on this part is almost ready now so the print view will get back its histogram for the 3.4&nbsp;release.</p> </li> <li> <p>An integration test suite has been added. This will ensure better quality and keeping old edits intact. This is an important tool for developers to ensure a rework of a module for performance reason for example does not change visually the&nbsp;image.</p> </li> </ul> <h2>Lua</h2> <ul> <li> <p><span class="caps">API</span> changed to&nbsp;6.0.0</p> </li> <li> <p>facebook, flickr, and picasa removed from&nbsp;types.dt_imageio_storage_module_t.</p> </li> <li> <p>piwigo added to&nbsp;type.dt_imageio_storage_module_t.</p> </li> <li> <p>notes and version_name metadata fields added to types.dt_lua_image_t data&nbsp;type.</p> </li> <li> <p>Added 4 new properties to dt_collection_properties_t, DT_COLLECTION_PROP_IMPORT_TIMESTAMP, DT_COLLECTION_PROP_CHANGE_TIMESTAMP, DT_COLLECTION_PROP_EXPORT_TIMESTAMP,&nbsp;DT_COLLECTION_PROP_PRINT_TIMESTAMP</p> </li> <li> <p>added darktable.gui.panel_get_size and darktable.gui.panel_set_size functions to set the width of the left or right panels and the height of the bottom&nbsp;panel.</p> </li> <li> <p>fixed is_password field of entry widget to work according to the <span class="caps">API</span> manual, so now when it is set to true the field is&nbsp;hidden.</p> </li> <li> <p>Added function darktable.gui.views.lighttable.is_image_visible to check if an image is visible in lighttable&nbsp;view.</p> </li> <li> <p>Added function darktable.gui.views.lighttable.set_image_visible to force an image to be visible in lighttable&nbsp;view.</p> </li> <li> <p>Added a lua scripts installer to the default&nbsp;luarc</p> </li> </ul> <h2>Changed&nbsp;Dependencies</h2> <h2>RawSpeed&nbsp;changes</h2> <ul> <li>New Panasonic &#8216;V6&#8217;&nbsp;decompressor</li> <li>Huffman table implementations&nbsp;rewrite/cleanup</li> <li>Fuji compressed raw decompressor performance improvements (-13% wall&nbsp;clock)</li> <li>Canon <span class="caps">CRW</span> decoding performance improvements (-15% wall&nbsp;clock)</li> <li><span class="caps">DNG</span> LJpeg decompressor support for images with 2 components /&nbsp;pixel</li> <li><span class="caps">DNG</span> Deflate decompressor support for images with more than 1 component /&nbsp;pixel</li> <li>Fuji compressed raw decompressor support for 16-bit&nbsp;raws</li> <li>Continuation of ongoing collaboration with <span class="caps">LLVM</span>, highlights include many little steps towards making it possible to auto-vectorize GoPro&#8217;s <span class="caps">VC5</span> decompressor loops, Canon S-<span class="caps">RAW</span> interpolator loops; more changes&nbsp;upcoming.</li> </ul> <h2>Camera support, compared to&nbsp;3.0.0</h2> <h3>Base&nbsp;Support</h3> <ul> <li>Fujifilm FinePix&nbsp;S1</li> <li>Fujifilm <span class="caps">GFX</span> 100&nbsp;(compressed)</li> <li>Fujifilm X-Pro3&nbsp;(compressed)</li> <li>Fujifilm&nbsp;X-T200</li> <li>Fujifilm X-T4&nbsp;(compressed)</li> <li>Fujifilm <span class="caps">X100V</span>&nbsp;(compressed)</li> <li>Hasselblad <span class="caps">H4D</span>-50</li> <li>Hasselblad <span class="caps">X1D</span> <span class="caps">II</span>&nbsp;50C</li> <li>Hasselblad <span class="caps">X1DM2</span>-50c</li> <li>Nikon <span class="caps">COOLPIX</span> P950&nbsp;(12bit-uncompressed)</li> <li>Nikon D780 (12bit-compressed,&nbsp;14bit-compressed)</li> <li>Nikon Z 50 (12bit-compressed,&nbsp;14bit-compressed)</li> <li>Olympus&nbsp;E-M1MarkIII</li> <li>Olympus E-<span class="caps">PL10</span></li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ10002</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GX880</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-S1&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">S1H</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">S1R</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ91</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ95</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ96</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">ZS80</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ40</span> (1:1, 3:2,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ45</span> (1:1, 3:2,&nbsp;16:9)</li> <li>Sony <span class="caps">ILCE</span>-6100</li> <li>Sony <span class="caps">ILCE</span>-9M2</li> </ul> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;77D</li> <li>Canon <span class="caps">EOS</span>&nbsp;9000D</li> <li>Fujifilm&nbsp;X-E3</li> <li>Fujifilm&nbsp;X-T30</li> <li>Fujifilm&nbsp;X-T4</li> <li>Nikon <span class="caps">COOLPIX</span>&nbsp;P1000</li> <li>Olympus&nbsp;E-M1MarkIII</li> <li>Olympus E-<span class="caps">PL6</span></li> <li>Olympus <span class="caps">TG</span>-5</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GH5</span></li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ95</span></li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ96</span></li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">ZS80</span></li> <li>Samsung <span class="caps">NX1</span></li> <li>Sony <span class="caps">ILCE</span>-<span class="caps">7RM4</span></li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Canon <span class="caps">EOS</span>-1Ds</li> <li>Fujifilm&nbsp;X-H1</li> <li>Fujifilm&nbsp;X-T100</li> <li>Fujifilm&nbsp;X-T30</li> <li>Fujifilm&nbsp;X-T4</li> <li>Nikon <span class="caps">COOLPIX</span>&nbsp;P1000</li> <li>Nikon Z&nbsp;50</li> <li>Olympus&nbsp;E-510</li> <li>Olympus&nbsp;E-M1MarkIII</li> <li>Olympus E-M5 Mark <span class="caps">III</span></li> <li>Olympus <span class="caps">TG</span>-6</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GF9</span></li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GX800</span></li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GX850</span></li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GH5</span></li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ95</span></li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ96</span></li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">ZS80</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M6</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M7</span></li> <li>Sony <span class="caps">ILCE</span>-6600</li> <li>Sony <span class="caps">ILCE</span>-<span class="caps">7RM4</span></li> <li>Sony <span class="caps">ILCE</span>-9</li> <li>Sony <span class="caps">ILCE</span>-9M2</li> </ul> <h2>Translations</h2> <ul> <li>German</li> <li>European&nbsp;Spanish</li> <li>French</li> <li>Hebrew</li> <li>Italian</li> <li>Polish</li> <li>Brazilian&nbsp;Portuguese</li> <li>Russian</li> <li>Slovenian</li> </ul><img src="https://www.darktable.org/2020/08/darktable-321-released/araignee.jpg" class="hidden-lede">Pascal ObryMon, 10 Aug 2020 20:20:23 +0000tag:www.darktable.org,2020-08-10:2020/08/darktable-321-released/announcementdarktable releasedarktable 3.2: containment effect!https://www.darktable.org/2020/08/darktable-3-2/<p>In other languages: <a href="https://linuxfr.org/news/darktable-3-2-l-effet-confinement">Français</a>, <a href="https://www.bilddateien.de/blog/2020-08-10-darktable-3-2-auswirkungen-des-lockdowns.html">Deutsch</a>. <a href="https://www.mauriziopaglia.it/darktable-3-2-containment-effect/">Italiano</a>.</p> <p>For the first time in its history, darktable breaks its one year release cycle by releasing version 3.2 in August of 2020. The unfortunate state of global health has led to a marked increase in contributions and improvements. On top of that, version 3.4 is still scheduled for Christmas 2020. 2020 will therefore be the first year in which the darktable team will have the pleasure to offer you two major versions. If you need a refresher course on version 3.0 features see the <a href="https://www.darktable.org/2019/12/darktable-30/">3.0 article</a>.</p> <p><strong><em>Due to last minute bug fixes, darktable 3.2 will begin directly with a 3.2.1&nbsp;release.</em></strong></p> <h1>A refined interface, down to the last&nbsp;details</h1> <p>The darktable team has fine-tuned the interface minutely, for a more professional look. Several developers have worked hard to bring you a neat interface, starting with a complete rewrite of lighttable, which is also complemented by nice performance improvements. <span class="caps">CSS</span> themes now have more precise classes and more inline comments, making it easier for you to control the look and feel of darktable. The <span class="caps">CSS</span> work also increased consistency between themes and for items in the interface, for example: check boxes were not exactly the same before version&nbsp;3.2.</p> <p>Interface improvements are huge, some of which are detailed below, such as the overhaul of the preferences, dynamic buttons or tooltips, and the biggest piece, the in-depth redesign of&nbsp;lighttable.</p> <h2>Lighttable : a major&nbsp;overhaul</h2> <p>The lighttable has evolved the most since the last release. Thanks to the hard work of AlicVB (Aldric Renaudin), lighttable is far more efficient. The display speed is notable, particularly when using the zoomable lighttable mode and on slightly older configurations. The filmstrip also benefits from a redesign and performance&nbsp;enhancements.</p> <p>In this article, for the sake of simplicity, the overhaul of lighttable includes all the modes related to lighttable, i.e. <em>zoomable lighttable</em> mode, <em>file browser</em>, <em>culling</em> mode and <em>preview</em>. All these parts are now ready for use with up to 8k screen&nbsp;resolutions.</p> <p>Aldric also adds new overlays modes on thumbnails, applicable independently in each of the existing modes (<em>zoomable lighttable</em>, <em>file browser</em>, <em>culling</em>, <em>preview</em> and <em>filmstrip</em>). Clicking on the star icon at the top right, you will discover a new popover menu that contains these new thumbnail display options (stars, group icon, altered icon, color labels, and information). If that level of verbosity is not for you, there is a minimalist mode (&#8220;no overlays&#8221;). An option allows you to display or not display thumbnail tooltip on hover. The content of those tooltips can be customized in&nbsp;preferences.</p> <p><strong><em>Warning :</em></strong> leaving the field that manages this content empty in the preferences will not display anything, whichever option is selected in menu&nbsp;below.</p> <p><div style="text-align: center"> <img alt="overlays modes popover menu" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/popover-overlays.png" /> </div></p> <p>Here is an overview of some modes, starting with a fine-tuned overview of the interface, in overlay mode number n° 6 (selected line above). This mode permanently displays some information and the extended ones (here the image file name and main info) when hovering the mouse. Note that the extended information displayed can also be set in the preferences (lighttable&nbsp;tab).</p> <p><div style="text-align: center"> <img alt="permanent overlay extended on mouse hover mode" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/lighttable-mode6.jpg" /> </div></p> <p>The first two modes are quite similar. By default, they display no information, except the image. Only the second mode will display some information on mouse hover. See&nbsp;below:</p> <p><div style="text-align: center"> <img alt="overlays on mouse hover mode" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/overlays-on-mouse-hover.jpg" /> </div></p> <p>The most detailed mode by defaut for thumbnails is the fifth (permanent extended overlays mode) and renders as&nbsp;follows:</p> <p><div style="text-align: center"> <img alt="permanent extended overlays mode" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/permanent-extended-overlays.jpg" /> </div></p> <p>Finally, the seventh mode is designed to be coupled with the <em>culling</em> and <em>preview</em> modes (and so it&#8217;s the default overlay for those modes). This mode allows you to customize the display time. Now, this new mode also allows you to display the zoom level of the image, when the cursor hovers the image (3s by default, could be set to -1 for a permanent display), in both <em>culling</em> and <em>preview</em>&nbsp;modes.</p> <p><div style="text-align: center"> <img alt="overlay block on mouse hover in culling and preview modes" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/block-overlays.jpg" /> </div></p> <p>Explore the other modes for&nbsp;yourself!</p> <p>The filmstrip (display it with <code>Ctrl</code> + <code>F</code>) can also display customized metadata in the same manner. To customize the filmstrip metadata, use the star icon. The display of selected images in the filmstrip (or of the selected images in <em>culling</em> view) is better. The display and selection was rather confusing. Now, the selection <span class="caps">UX</span> is&nbsp;better:</p> <p><div style="text-align: center"> <img alt="image selected in filmstrip" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/select-image-filmstrip.png" /> </div></p> <h2>Redesigning preferences: improved&nbsp;organization</h2> <p>With the introduction of new features since 3.0, the preferences have been reorganized, increasing the number of tabs to provide greater readability. One of the objectives was also to avoid long scrolling to access an option. Thus, each tab doesn&#8217;t take up more than one page (except presets tab). Each tab also has a name that clearly describes the options that can be set&nbsp;there.</p> <p>Since screenshots shows this better, here are two examples of preferences&nbsp;tabs:</p> <p><div style="text-align: center"> <img alt="darktable v3.2 preferences, general tab" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/preferences.png" /> </div></p> <p>As you can see, some new display options have also appeared. It is now possible either to use a system font (or font size if you use an elegant theme) or to customize the font size and scaling for high resolution screens directly from darktable. An option that has been requested for quite a while is finally&nbsp;here!</p> <p>Other options also allow you to refine the size of all interface elements. Be careful to maintain reasonable values for the <span class="caps">DPI</span> options, the default options remain recommended for the majority of&nbsp;users.</p> <p>Finally, elstoc (Chris Elston) added the option to customize the entire interface by adding your own <span class="caps">CSS</span>, as you can see on the screen capture&nbsp;above.</p> <p>Another example of this&nbsp;overhaul:</p> <p><div style="text-align: center"> <img alt="darktable v3.2 preferences, processing tab" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/preferences-processing.png" /> </div></p> <h2>Dynamic buttons: personalize your&nbsp;actions</h2> <p>And darktable became &#8220;alive&#8221;&nbsp;!</p> <p>New dynamic buttons have been integrated, for a better user experience. This feature enables or disables buttons, depending on whether they&#8217;re usable or not in the current context. For example, select an image, open the development module, then click on copy. As long as image stays selected, paste is not usable (no point in pasting the development of an image on itself). Select another image, then paste button becomes&nbsp;clickable.</p> <h2>More&nbsp;details</h2> <h3>Improved&nbsp;tooltips</h3> <p>Tooltips sometimes have the disadvantage of being displayed where you don&#8217;t want them to be. Unfortunately, this problem can&#8217;t be fixed by the darktable team since it&#8217;s an inherent flaw in <span class="caps">GTK</span>+ (the <span class="caps">GUI</span> library used by darktable). To get around this as much as possible, the darktable team has integrated two things (after long debates): - the possibility to show/hide tooltips at any moment with a simple shortcut: <code>Shift</code> + <code>T</code> - a (slightly) improved display of&nbsp;tooltips.</p> <p>A new type of tooltip, universal toast message, is used mainly on the <em>darkroom</em>. This appears at the top of the image and makes some essential information visible, like the mask opacity value or exposure change. Showing or hiding tooltips is also confirmed by a toast&nbsp;message.</p> <p><div style="text-align: center"> <img alt="tooltips" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/tooltip.png" /> </div></p> <h3>A new snapshot comparison line and coloring of the picture&nbsp;overlay</h3> <p>darktable 3.2 brings also some visual improvements about image overlays in <em>darkroom</em>.</p> <p>The comparison snapshot line is more visible, sporting a newly-integrated visual marker of the selected snapshot side (displayed by an arrow with S symbol). You can set the color of the snapshot line, and all overlays image (like drawn masks forms) using a red and green checkered icon, on the right of the bottom toolbar. Six colors are available (grey, red, green, yellow, cyan and magenta). It&#8217;s also possible to change directly this color by using <code>Ctrl</code>+ <code>O</code> (the letter). The color changes instantly and is confirmed by a toast message displayed at the top of the&nbsp;image.</p> <p>Here is an example of this new snapshot line comparison (in red). The icon that allows you to select the overlay color is circled in&nbsp;red.</p> <p><div style="text-align: center"> <img alt="snapshot and color option" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/overlay-darkroom-color.jpg" /> </div></p> <h3>Minor changes to user&nbsp;interaction</h3> <p>You can now single click an image in the filmstrip to load it for editing. In other views, to add more images to a selection, use <code>Ctrl</code> and <code>Shift</code> click, depending on whether you want to add one image, or several. To make a new selection, use <code>Alt</code> + <code>click</code>.</p> <p>You can now change the display of the top (header and info bar) and bottom panels with a single key combination. By default, 3.0.x shortcuts are disabled (<code>Shift</code> + <code>Ctrl</code> + <code>T</code> and <code>Shift</code> + <code>Ctrl</code> + <code>B</code>) but can be redefined in the&nbsp;preferences.</p> <h3>And&nbsp;more</h3> <p>Several icons have been redesigned, such as group, star, help, preferences and the mask icons. New icons are also HiDPI-ready under Windows. That redesign allow a better display consistency depending on screen type (LoDPI (low resolution) or HiDPI (high resolution)), whatever icon size is&nbsp;used. </p> <p>All pickers have been reworked for a global behaviour and a more homogeneous display throughout the interface. This work also adds functionality for resizing the areas defined by a&nbsp;picker.</p> <p>The file selector interface has also been&nbsp;redesigned.</p> <p>The export and print progress bars have been redesigned to better fit the rest of the&nbsp;interface.</p> <p>In <em>darkroom</em>, the active module has a new visual effect on the status icon and module title: you can see that in the <em>filmic v4</em> screenshot, further down in the&nbsp;article.</p> <p>The list of location search results in map view is more readable and has an improved visual&nbsp;style.</p> <p>All the sliders have been refined: the bars are thinner and the control sliders more&nbsp;visible.</p> <p>And more clean up of the fine details throughout the&nbsp;interface.</p> <h1>Digital Asset&nbsp;Management</h1> <h2>Metadata editor and tagging&nbsp;improvements</h2> <p>The tagging and metadata editors have a more refined&nbsp;interface.</p> <h3>Metadata&nbsp;editor</h3> <p>The metadata editor added two more fields: a &#8220;notes&#8221; field and a &#8220;version name&#8221; field. The <em>version name</em> field is used to customize the name of different versions of the same image. These new fields have been integrated into to the import options. The same options are now presented in the same way across the three different ways to import images and each field can be individually&nbsp;selected.</p> <p>All editor fields are now multi-line. Press <code>Ctrl</code> + <code>enter</code> to add a line in a field (pressing <code>enter</code> only makes you go to the next field by saving the previously completed one). Fields can also be expanded with <code>Ctrl</code> + <code>scroll</code>.</p> <p>By opening the new editor, you will also see a new settings icon. For each editor field, you can choose to hide it from the editor or to make it private (not&nbsp;exportable).</p> <h3>Tagging</h3> <p>darktable 3.2 further improves tag management. On darktable 3.0.2, it was not always possible to add a tag on an already existing parent. It is now possible to so with the improvement of virtual node (not used tag) management. These last ones are now shown in&nbsp;italic.</p> <p>Tag creation now works without a selected image. It is now possible to create a tag on a virtual node, then insert a pipe character | in the creation tag. The tree view shows the newly created&nbsp;tags.</p> <p>The bug where updating a tag necessitated a restart of the application to apply the tag has been&nbsp;fixed.</p> <h2>New collection&nbsp;filters</h2> <p>Seven new filters are added to the many already existing ones. darktable is already very rich in filters on photo metadata (<span class="caps">EXIFS</span> data and <span class="caps">IPTC</span>/<span class="caps">XMP</span> data). On the other hand, very few filters existed on the various events or treatments specific to darktable. You already know the filters <strong>film roll</strong>, <strong>tag</strong> and <strong>local copy</strong> to sort your photo collection. Version 3.2 adds the new filters: <strong>history</strong>, <strong>module</strong>, <strong>module order</strong>, <strong>import timestamp</strong>, <strong>change timestamp</strong>, <strong>export timestamp</strong> and <strong>print timestamp</strong>. Here is a brief description of the role of these new&nbsp;filters.</p> <ul> <li><strong>history</strong> - select altered or not altered photos (this include photos with auto-applied&nbsp;presets).</li> <li><strong>module</strong> - select photos where the development stack contains the specified module. All modules used at least once are&nbsp;presented.</li> <li><strong>module order</strong> - select photos altered with a precise module order. All existing orders are&nbsp;shown.</li> <li><strong>import timestamp</strong> - select imported photos with a specific timestamp (timestamp = date and time). All timestamps are&nbsp;shown.</li> <li><strong>change timestamp</strong> - select photos altered at a specific timestamp. All timestamps are&nbsp;shown.</li> <li><strong>export timestamp</strong> - select photos exported at a specific timestamp. All timestamps are&nbsp;shown.</li> <li><strong>print timestamp</strong> - select photos printed at a specific timestamp. All timestamps are&nbsp;shown.</li> </ul> <h2>New image&nbsp;information</h2> <p>The image information module also displays new information. The four timestamps mentioned above: <strong>import timestamp</strong>, <strong>change timestamp</strong>, <strong>export timestamp</strong> and <strong>print timestamp</strong>, as well as new <span class="caps">EXIF</span> information: <strong>exposure bias</strong>.</p> <p>The module window is smaller, but the module is now scrollable and resizable with <code>Ctrl</code> + <code>scroll</code></p> <h1>A new module : <em>negadoctor</em></h1> <p>The current film negative <em>invert</em> module has a major flaw: it only works on non-demosaiced image data; it does not work with negatives scanned with a digital camera. The result is two unsolvable&nbsp;problems:</p> <ol> <li>If the digital file comes from a real scanner, and it is encoded with a transfer function (the &#8220;gamma&#8221;), it is not removed before the inversion. Depending on the type of scanning you are working on (&#8220;<span class="caps">RAW</span>&#8221; 16-bit linear scan from a specialized film scanner, or 8-bit gamma encoded <span class="caps">JPEG</span> scan from a consumer scanner), you will not have the same behaviour. Note that if the scan is made from a digital camera, the signal is linear, so the problem does not arise&nbsp;here.</li> <li>We invert the color before correcting the color space of the scanner or digital device, so that the color profiles then become wrong (they would have to be inverted as well), and the (unavoidable) color deviation of the sensor used for scanning cannot be properly&nbsp;subtracted.</li> </ol> <p>This results in tedious color fixing sessions, using different modules to manually make up what should have been done automatically by the input color profile if it had been applied at the right time, i.e. before the negative&#8217;s color&nbsp;inversion.</p> <p><em>negadoctor</em> solves this, and much more, based on the Kodak Cineon sensitometry system, developed in the 1990s to digitize film reels in the&nbsp;cinema.</p> <p>Since the advent of digital photography, many film photographers would like to find their old photos in their digital workflow. Several methods&nbsp;exist:</p> <ul> <li>Have them scanned by a professional but, to have a good resolution, it is relatively&nbsp;expensive.</li> <li>Digitize them yourself with a film scanner: low-end scanners do not digitize at more than 10 Mpx and usually only offer the <span class="caps">JPEG</span> format with a good loss of post-processing possibilities; high-end scanners offer slightly higher resolutions and the Tiff format in 16 bits better for post-processing. On the other hand, they are slow to obtain high resolutions and require the use of one&#8217;s computer: these scanners propose to invert the negatives directly from their&nbsp;software.</li> </ul> <p>And why not use your <span class="caps">DSLR</span> with a macro shooting system to reproduce your films negatives and use darktable to do this&nbsp;job?</p> <p>For the purpose of this article, a Lumix Gx8 (20 <span class="caps">MP</span> in <span class="caps">RAW</span>) with a Leica Elmarit f:2.8 45mm macro was used to digitize negatives: B&amp;W and color negatives and B&amp;W and color slides. Note that: 1. The slides do not pose any problems when processed with darktable (no inversion is required). 2. B&amp;W negatives are relatively simple to invert and most software offers this inversion. In darktable, the classic <em>invert</em> module is sufficient, but negadoctor also manages them. 3. Color negatives are more capricious because of the base color of the film (orange) and the white balance. The software that manages them, requires a sample of the unexposed film to recover the <span class="caps">RGB</span> values of the orange filter, to subtract them from the exposed&nbsp;negative.</p> <p><em>negadoctor</em> processs B&amp;W and color negatives. To get the best possible results, it is important to keep a portion of the unexposed film around the image (to take the Dmin, see below) and to follow a rigorous routine that corrects the color in two steps: 1. first the scan is corrected, i.e. the colorimetric deviations brought by the camera or scanner that scanned the film, 2. the film itself is then corrected, i.e. the colorimetric deviations brought about by the film and by its possible&nbsp;ageing.</p> <p>The first step is done early in the pipeline, neutralizing the sensor white balance, adjusting the exposure so that the histogram of the image occupies the entire 0-100% range without negative values or clipping, and applying the input color profile (<span class="caps">ICC</span>) of the sensor&nbsp;used.</p> <p>The second step is done in <em>negadoctor</em>:</p> <p><div style="text-align: center"> <img alt="negadoctor" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/negadoctor.jpg" /> </div></p> <p>A selector allows to switch to the B&amp;W&nbsp;negative:</p> <p><div style="text-align: center"> <img alt="color selector - B&amp;W" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/negadoctor-select-nb-color.png" /> </div></p> <p>By opening a B&amp;W silver&nbsp;negative:</p> <p><div style="text-align: center"> <img alt="Opening - B&amp;W" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/negadoctor-nb.jpg" /> </div></p> <p>You only have to click on &#8220;black and white&#8221; instead of &#8220;color&#8221; to invert the negative, then to adjust the parameters in the order in which they are in the&nbsp;interface:</p> <ol> <li>For the Dmin, select with the picker an unexposed part of the film. This recovers the minimum density of the film, corresponding to the areas where it is most&nbsp;transparent.</li> <li>For Dmax, select with the picker a high light area <strong>free of dust or scratches</strong>. This recovers the maximum density of the film, corresponding to the areas where it is the most&nbsp;opaque.</li> <li>For the scanner exposure bias, select an area that is supposed to be black, or even the whole image. This adjusts the scanner&#8217;s exposure so that the black image areas are matched to values close to black (0, 0,&nbsp;0).</li> </ol> <p><div style="text-align: center"> <img alt="Default Inversion" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/negadoctor-nb-defaut.jpg" /> </div></p> <p>The green tint before inversion, and indigo after inversion, comes from the camera&#8217;s white balance, since the scan is made in <span class="caps">RGB</span>. It will have to be neutralized with the classic white balance (before <em>negadoctor</em>). To simulate a print of the negatives on warm tones paper, you can use the &#8221; corrections &#8221; tab of <em>negadoctor</em>, which allows to tint the virtual print using the same algorithms as the color&nbsp;balance.</p> <p><div style="text-align: center"> <img alt="Warm tones Inversion" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/negadoctor-nb-warms-colors.jpg" /> </div></p> <p>A few settings in the &#8220;corrections&#8221; tab allow you to correct the white balance of the emulsion or tint the negative for creative purposes. Some important&nbsp;notes:</p> <ol> <li>If the color film has been exposed exactly at its nominal color temperature (D50 for &#8220;daylight&#8221; film), the white balance correction in <em>negadoctor</em> should be unnecessary (both values should be pure white), provided the scan sensor has been properly corrected beforehand (white balance and input&nbsp;profile).</li> <li>If the color film has been exposed to a different color temperature than the one for which it was balanced, only the correction of <strong>Highlight White Balance</strong> is necessary. This correction was used in the Kodak Cineon system and simulates an emulsion correction at the film&nbsp;itself.</li> <li>The <strong>shadow color derivative</strong> is an addition to the classic Cineon, which is used to recover important color shifts, especially on damaged negatives that have been poorly preserved. To use it, make sure that the <strong>exposure bias of the scan</strong>, in the &#8220;film&#8221; tab, is not zero or the setting will have no effect. Then adjust the color drift of the shadows first, by picking into blacks, then the white balance of the highlights, by picking into whites (following the order of the interface). The <strong>shadow color shift</strong> simulates an additive light color printer&nbsp;calibration.</li> <li>Color corrections are also available if you are working with black and white negatives, to allow you to make tone shifts in a non-inverted logarithmic space. The same algorithms are available in color balance, but work in pseudo-linear space and after&nbsp;inversion.</li> <li><em>negadoctor</em> uses pipeline <span class="caps">RGB</span> workspace, either Rec 2020 linear by default. If this works reasonably well, the actual color space of the film is not Rec 2020 and it may be useful to use the actual <span class="caps">RGB</span> space of the film to work the color. A <a href="https://discuss.pixls.us/t/any-interest-in-a-film-negative-feature-in-rt/12569/177">Rawtherapee developer</a> who worked on a similar inversion module created an <span class="caps">RGB</span> color profile from the spectral sensitivity of Fuji and Kodak emulsions. All you have to is <a href="https://discuss.pixls.us/uploads/short-url/1MgJasUWznCk2pU6pTupLFJ21xU.icc">download it</a>, add it in <code>~/.config/darktable/color/out</code>, then choose <code>FilmNegRGB_650_550_460-elle-V4-g10.icc</code> as workspace profile in <em>input color profile</em>. It is not clear at this stage whether this profile generally works better than Rec2020 to compensate for color, but it is an&nbsp;option.</li> <li>Color corrections defined in a workspace will become wrong and will have to be redone if the working color space is&nbsp;changed.</li> </ol> <p><div style="text-align: center"> <img alt="Corrections for warm tones" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/negadoctor-nb-correction.png" /> </div></p> <p>The &#8220;print properties&#8221; tab allows you to adjust the virtual printing parameters according to the paper used or the reproduction system. Indeed, the negative is a transparent support whose opacity (density) cannot be zero, both physically (just look at the film) but also mathematically (we work in logarithmic space, and the logarithm of 0 does not exist). It is at the time of the virtual printing that the black of the film (the Dmin) is remapped with the <span class="caps">RGB</span> value (0, 0, 0) in order to adjust the image to the basic assumptions of the digital&nbsp;pipeline.</p> <p>The black level sets the black density correction and anchors the histogram to the left. The grade corresponds to the contrast curve of the paper, also called hardness or gamma (which has nothing to do with monitor gamma or <span class="caps">ICC</span> profile gamma). The brightness corresponds to a compression of the highlights: 100% means no compression; the lower the value, the more the highlights are compressed and their local contrast is swallowed up. Used in combination with exposure adjustment, this increases the overall brightness of the image without clipping the&nbsp;values.</p> <p><div style="text-align: center"> <img alt="print" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/negadoctor-nb-print.png" /> </div></p> <p>For the processing of a colored&nbsp;negative:</p> <p><div style="text-align: center"> <img alt="negadoctor- color" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/negadoctor-color.jpg" /> </div></p> <p>you then just need to activate <em>negadoctor</em> (orange filter will be neutralized with default&nbsp;value):</p> <p><div style="text-align: center"> <img alt="Default Inversion" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/negadoctor-color-positive.jpg" /> </div></p> <p>And then, after doing some&nbsp;corrections:</p> <p><div style="text-align: center"> <img alt="Corrected Inversion" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/negadoctor-color-positive-corr.jpg" /> </div></p> <p><em>negadoctor</em> is one of those modules that can be confusing, as several parameters will apparently have the same effect on the final image. For example, the Dmin, scan exposure bias, and black density correction will all impact the final black density, but the Dmin works linearly before inversion, exposure bias in logarithmic before inversion, and exposure correction in pseudo-gamma after inversion. Each of these black corrections has a non-intuitive mathematical justification (related to the functions used, accepting or not zero values) that a simple visual evaluation of the final result will not&nbsp;reveal.</p> <p>It is therefore important to be methodical in use to avoid losing control over the many combinations of parameters that can produce a similar visual result, respecting the order of use of the settings defined by the interface (use the tabs from left to right, and from top to bottom). Keep in mind that we are only digitally simulating here a printing process in a darkroom, by first correcting the scanner, then the negative, then the paper print, following the image production line. Each value, each operation, each step is linked to a physical reality put into practice without necessarily realizing it in the photo&nbsp;lab.</p> <p>Finally, to use <em>negadoctor</em>, think about deactivating <em>base curve</em> and <em>filmic</em>, since they will duplicate the film itself. Once all your color corrections are done, you could then crop the image to remove the unexposed&nbsp;frame.</p> <h1>New default&nbsp;workflows</h1> <p>The functionality conflict between <em>filmic</em> and <em>base curve</em>, to provide the necessary tonal transformation from linear <span class="caps">RGB</span> to screen <span class="caps">RGB</span>, was previously managed via an option in the preferences that enables the <em>base curve</em> by default, or not. However, nothing was available to enable <em>filmic</em> automatically. This is now set with the default workflows, available in the preferences window on the processing&nbsp;tab.</p> <p>The &#8220;display-referred&#8221; workflow, used by default, automatically activates the <em>base curve</em> and orders the modules in the pipeline as they were for darktable 2.6 and older. As such, it will apply the non-linear transformation at the beginning of the pipeline, and all editing will then be done on non-linear <span class="caps">RGB</span>, as almost all photo editing software does. The only merit of this workflow is that it is what many photographers are used to, but it will cause many problems with color consistency and the credibility of some local filters (blurring or sharpening), especially in scenes with wide&nbsp;dynamics.</p> <p>The &#8220;scene-referred&#8221; workflow is designed around <em>filmic</em>, to offer the same level of functionality as the &#8220;display-referred&#8221; workflow. It consist of adding, by default, +0.5 <span class="caps">EV</span> of exposure (in <em>exposure</em> module), to adjust the global brightness and mid-grey to a similar value to that used by most JPEGs produced by <span class="caps">SLR</span> cameras. <strong><em>New:</em></strong> the <em>exposure</em> module will also compensate the exposure bias set on the camera (the <span class="caps">EV</span> compensation of the lightmeter), commonly used to prevent highlight clipping, for photographers who expose to the right of the histogram. This feature relies on reading the <span class="caps">EXIF</span> field <code>ExposureBiasValue</code> which must be correctly filled in the <span class="caps">RAW</span> file by the camera for it to work. Note: for Fuji RAWs, it will be necessary to add aditional +0.75 <span class="caps">EV</span>, for an overall correction of +1.25 <span class="caps">EV</span>, to compensate for their native underexposure. Next, <em>filmic</em> is applied by default and its basic settings take into account the global exposure correction (including +0.<span class="caps">5EV</span> mid-grey correction and exposure bias). This allows to have a working base reasonably close to the camera <span class="caps">JPEG</span>, directly by opening the <span class="caps">RAW</span> in darktable. But like any default preset, it is designed to work properly 80% of the time, and additional manual adjustments will be required in the remaining 20%; in particular, some cameras apply a +0.5 <span class="caps">EV</span> correction and others a +1 <span class="caps">EV</span>, so it is illusory to try to satisfy&nbsp;everyone.</p> <p>Let us recall here that the interest of <em>filmic</em> is to apply a tone mapping curve at the end of the pipeline, allowing a physically realistic retouching on <span class="caps">RGB</span> values encoded linearly before, but also to manage color consistency through the tone mapping, in order to preserve hues as much as possible and to avoid gamut&nbsp;overruns.</p> <p>Finally, it is possible to not use any workflow and so deactivate all automatic modules and manage your pipeline&nbsp;manually.</p> <p><strong>The option &#8220;use base curve&#8221; in preferences has been deleted, and so you will need to redefine manually the workflow you wish to use after installing darktable&nbsp;3.2.</strong></p> <h1><em>Filmic</em> is still&nbsp;evolving</h1> <p><em>Filmic</em> was designed for darktable 2.6 with the goal of improving the robustness of the color in scenes with a wide dynamic range. It aims to perform a fully user-definable tonal and gamut mapping, with a few adjustments (instead of a 6-12 point curve obtained by reverse engineering of the manufacturer JPEGs), based on the film sensitivity. Similar functionality exists in all image processing software, photo (contrast curve), video (preview <span class="caps">LUT</span> or OpenColorIO display transformations), and 3D rendering (filmic in Blender and OpenColorIO), because resizing the dynamic range between capture and display media is a common constraint in all graphic&nbsp;arts.</p> <p>After looking again at Kodak&#8217;s documentation on silver sensitometry for the <em>negadoctor</em> module, Aurélien had new ideas for improvements to <em>filmic rgb</em>:</p> <ol> <li>A new color science to manage the &#8220;desaturation&#8221; of extreme luminances in a more progressive way, notably by avoiding blue breaks in contrasting skies. The idea is to make the light spectrum more &#8220;sharp&#8221; (close to monochromatic laser light) to &#8220;saturate&#8221; or more &#8220;flat&#8221; (close to white light) to &#8220;desaturate&#8221;. We are thus moving to a more physical and metaphorical approach to saturation, which no longer has a direct link with color perception, but which has the advantage of being controlled in a more progressive&nbsp;way.</li> <li>A different desaturation strategy, which forces black and white to zero saturation regardless of the settings, but allows the midtones to be resaturated to counterbalance the effect of the tone mapping. Remember that the purpose of this desaturation is to perform a basic gamut mapping to ensure that the maximum and minimum luminance (conventionally called white and black) are achromatic (i.e. white, not colored). It is, in fact, impossible to represent a saturated color with a luminance of 0% or 100% in any available color space. Such a color would be clipped in a more or less random way, and would produce in particular urine-yellow sunsets (which means that red is clipped). <em>Filmic</em> thus produces a progressive desaturation curve that ensures a smooth transition to achromatic colors at the&nbsp;extremities.</li> <li>A reconstruction of the highlights based on white exposure. Indeed, in color silver, in addition to desaturating the highlights for an integrated gamut mapping, the chemistry tends to blur the transition between the burnt areas and the valid areas, by spatial diffusion of the chemical species of the developing solution. In <em>filmic v3</em>, we still lacked smoothness in the valid/cut transitions, since it only took into account the luminance of the pixels, but not their neighborhood. <em>Filmic v4</em> introduces a reconstruction of the highlights in the wavelet domain, thus multi-scale, which aims not only at smoothing the valid/clipped transitions, but also at trying to recover sharp details in the unclipped <span class="caps">RGB</span> channels (if possible), and at propagating the color of the neighboring areas by successive scattering (the process is iterative and the user can set the number of iterations). The user can choose the parameters to favour a more textured reconstruction (recovery of unclipped channels) or a smoother reconstruction (high frequency interpolation), more colorful or more achromatic, and finally sharper (in digital mode) or more blurred (like silver&nbsp;blooming).</li> <li><em>Filmic</em> allows to add noise, using different statistical profiles (Gaussian, poissonian or uniform), in clipped highlights (see the &#8220;options&#8221; tab). This allows noise to be homogenized and texture to be simulated in the highlights, in order to avoid abnormally smooth reconstructed highlights compared to the rest of the image, all this in order to better merge the visual transitions between clipped and reconstructed highlights and valid tones. This is even closer to the rendering of silver film, which also has grain in the&nbsp;highlights.</li> <li>The grey setting of the scene disappears by default, but can be optionally reactivated. This meets a need for simplification for users following misunderstandings of the difference between global exposure and scene grey, both in terms of the visual result (there is none) and in terms of the overall workflow (caution, danger). The &#8220;canonical&#8221; way to use <em>filmic</em> is therefore to use the exposure module to pre-adjust the overall exposure (brightness) of the image, and then to use <em>filmic</em> only to constrain the dynamic range of the image within the available range of the display medium. In this configuration, dynamic range compression is done around the middle grey (conventionally set to 18%), which is the only value not affected by the transformation, thus preserving the overall brightness. Then, feel free to go beyond these recommendations, but it will cost you one more step to finally convince yourself that this is not a good idea. In this configuration, <em>filmic</em> no longer affects the overall brightness, but only the compression of extreme&nbsp;brightnesses.</li> <li>The default settings for <em>filmic</em> are adjusted by the software according to the exposure bias stored in the photo metadata. Thus, for digital photographers who are accustomed to exposing to the right of the histogram, forcing a manual exposure compensation on the camera body to protect the highlights from clipping (which is the only good way to expose in digital photography, with all due respect to purists who don&#8217;t understand the technological differences between photoelectric semiconductor and photo-sensitized silver halide ions) will have their pipeline, relative to the scene, set automatically for them (as a first approximation, because filmmakers still can&#8217;t guess what the exact mid-grey value is for a given&nbsp;scene).</li> </ol> <p><em>Filmic v3</em> is still available via the color science combobox in the last tab of <em>filmic rgb</em>. As well as it is possible to update an image from <em>filmic v3</em> to v4 with the same tab. Here a preview of this new <em>filmic rgb</em> and the selection of the version wanted via science color&nbsp;menu:</p> <p><div style="text-align: center"> <img alt="filmic rgb v4" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/filmicv4.png" /> </div></p> <p>Note: the reconstruction of highlights is done by means of wavelet decomposition by iteration, which induces a certain performance penalty. It is possible to disable the reconstruction completely by setting a very high highlight threshold, as the program bypasses the reconstruction if no pixels are detected beyond this threshold. Nevertheless, given the difficulty of convincingly reconstructing highlights, this is an acceptable compromise. The current default setting mostly disables highlight reconstruction to improve&nbsp;performance.</p> <p>It is also possible to deactivate, in some cases, the default <em>highlight reconstruction</em> module if <em>filmic</em> reconstructs the highlights itself, to preserve more details. Then think of controlling the desaturation of the highlights in order to absorb the magenta highlights that you could create by deactivating this&nbsp;module.</p> <h1>Other&nbsp;improvements</h1> <p>Version 3.2, like the 3.0, is rich in new features and improvements. This article isn&#8217;t intended to be exhaustive but to present the main changes and allow you to understand them. You will find below, in a jumble, a few other&nbsp;improvements.</p> <h2>Better management of the image processing&nbsp;pipeline</h2> <p>As a reminder, darktable 3.0 not only introduced a new processing pipeline order, but also the possibility to change the order of the pipeline by reordering the modules yourself (a very advanced function). In fact, some users were lost and had no way to find the default order of earlier versions. So, a new permanent module has been added in <em>darkroom</em> (in bottom of right panel) named <em>module order</em>. This module allows you to check the pipeline order actually applied to the current image: 3.0 (the new default order), original (the default order on versions older than 3.0) and custom (personal order that you define, even unintentionally). This same module also allows you to apply 3.0 preset, the original one, or save your own custom preset. You can find the new filter collections presented earlier in this&nbsp;article.</p> <h2>Performance improvements and important bug&nbsp;fixes</h2> <p>A complete overhaul of the processing pipeline has been done by Pascal Obry, for a more robust management of the new pipeline integrated in 3.0. This overhaul makes the pipeline both more stable and efficient and fixes several&nbsp;bugs.</p> <p>Image modification detection has been improved. This mainly avoids the need to recalculate the display of an image that has not been altered, for example by having been opened in a darkroom without any modification. The modification of XMPs and thumbnails is more reliable and only impacted in the event of a real&nbsp;modification.</p> <p>Many other performance improvements have been integrated, especially in the processing modules. The work is ongoing and more improvements will be made in version 3.4. The next stable release is coming together with significant performance&nbsp;improvements.</p> <p>darktable 3.2 also introduces an automatic database maintenance option (configurable in the preferences), allowing for a healthier database to be maintained over&nbsp;time.</p> <p>Finally, with the various code improvements, many similar parts have been unified, allowing a faster and easier integration of new modules and a much better consistency on similar parts (for example, what has been done on color pickers). Test tools have also been added, making it easier for developers to test new additions and ensure backward compatibility and stability, especially when rewriting a module for better&nbsp;performance.</p> <p>And of course, many bugs have been fixed, making this 3.2 the most stable version 3 to date. If you are already using a 3.0.x version, I can recommend upgrading to version 3.2, if only for its superior&nbsp;stability.</p> <h2>Some new options in preferences&nbsp;window</h2> <p>Apart from the new workflows and the few preferences already presented, you will find some new options that may be very useful. Here are the main&nbsp;ones:</p> <ul> <li> <p>In the lighttable tab, you can sort film roll by number or by folder. Following the redesign of lighttable, you can also define different size categories (via size category separators) which will allow you to define a different overlay mode according to the size of the thumbnails. The size is specified in pixels and the thumbnail size is displayed in the overlay mode popover menu shown&nbsp;above.</p> </li> <li> <p>In the darkroom tab, it is now possible to reduce the resolution of the navigation preview, reducing <span class="caps">CPU</span> usage and possibly improving performance. <strong><em>Warning :</em></strong> as described in the tooltip of this option, this can slightly reduce the guided mask&nbsp;accuracy.</p> </li> <li> <p>In the miscellaneous tab there are new options to control how keyboard shortcuts are applied where multiple module instances are&nbsp;used.</p> </li> <li> <p>The shortcuts tab now includes a search field that allows you to quickly find the shortcut you want to&nbsp;customize.</p> </li> </ul> <p>And finally, a new lua options tab which, to date, has only one option to show/hide the lua script installer (more on that&nbsp;below).</p> <p>Note that the modified preferences are saved dynamically. Closing the preferences window therefore saves all modified&nbsp;preferences.</p> <h2>Lua script manager&nbsp;installer</h2> <p>Bill Ferguson, who deals with the management of Lua scripts, had made a Lua script to manage Lua scripts. Until now, the script manager had to be installed&nbsp;manually.</p> <p>The author has included, directly in darktable, a Lua installer. This can be enabled or disabled on first boot or in the preferences. The installer downloads the latest available scripts from the darktable Lua scripts&nbsp;repository.</p> <p>Of course, this is only for those who don&#8217;t already have the script manager installed. This is what this new installer looks&nbsp;like:</p> <p><div style="text-align: center"> <img alt="lua scripts installer" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/lua-scripts-installer.png" /> </div></p> <p>Once installed, script manager appears on the left panel in lighttable: <div style="text-align: center"> <img alt="script manager" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/script-manager.png" /> </div></p> <h2>An adjustable histogram and a new mode: <span class="caps">RGB</span>&nbsp;parade</h2> <p>Two new features have been introduced to the darktable 3.2 histogram. First is the possibility to adjust histogram height size. This adjustment is done the same way as some lighttable modules: move the cursor over the histogram and press <code>Ctrl</code> + <code>scroll</code> to adjust the&nbsp;height.</p> <p>A new mode, <span class="caps">RGB</span> parade, appears and displays waveforms that represent the levels of each layer (red, green and blue). This mode allows you to visualize the distribution of color&nbsp;components.</p> <p>This mode can also be displayed by selecting the histogram display in wave mode (with the top left icon on the histogram) and then changing the wave mode with the next icon on the&nbsp;right.</p> <p><div style="text-align: center"> <img alt="RGB parade mode" src="https://www.darktable.org/blog/2020-08-10-darktable-3.2/en/rgb-parade.png" /> </div></p> <p>Add to that an important code rewriting of the histogram for better&nbsp;performance.</p> <h2>Drawn mask: curved&nbsp;gradient</h2> <p>When adding a drawn mask, it is now possible to bend the gradient shape (gradient). To do this, point the mouse cursor at the gradient bar and scroll up or down with the mouse wheel (or touchpad). <code>Ctrl</code> + <code>scroll</code> allows you to set the opacity and <code>Shift</code> + <code>scroll</code> manages the edge&nbsp;hardness.</p> <h2>An improved&nbsp;history</h2> <p>The history behaviour has been improved according to different users feedback. When compressing the history or loading a new image, the history will now behave this&nbsp;way:</p> <ul> <li>any active module that cannot be deactivated will always appears next in the history&nbsp;stack;</li> <li>any module that is enabled by default but can be disabled appears next in the history&nbsp;stack;</li> <li>finally, all modules activated by presets or as a result of a preference setting (workflow or sharpness selected in the preferences) are&nbsp;added.</li> </ul> <h2>And&nbsp;more:</h2> <ul> <li>Add support of <span class="caps">AVIF</span> file format (&gt;= 0.7). This requires the <a href="https://github.com/AOMediaCodec/libavif">libavif</a> library to be&nbsp;installed.</li> <li>Add optional grey-scale export of <span class="caps">TIFF</span> for monochrome&nbsp;images.</li> <li>It is now possible to export masks in <span class="caps">TIFF</span>&nbsp;format.</li> <li>It is now possible to use more than 500 images in tethered control, which is needed for&nbsp;time-lapse.</li> <li>Applying a style now supports <em>append</em> mode (added to the existing image history) or in <em>overwrite</em> mode (so replace the existing image history). This makes the style module consistent with <em>history stack</em>&nbsp;module.</li> <li>It is possible to handle (deleting, applying, or exporting) multiple styles in the style&nbsp;module.</li> <li>Implement undo/redo for orientation changes from the&nbsp;lighttable.</li> <li>By using <code>Ctrl</code> + <code>click</code> on mask shape buttons, you can continuously create similar&nbsp;shapes.</li> <li>Rejecting an image keeps in memory the previously-defined number of stars. If the rejection is canceled, the image will be returned to the defined number of&nbsp;stars.</li> </ul> <p>This list is not exhaustive. Some other minor improvements could be discovered by reading the complete darktable release notes:&nbsp;https://github.com/darktable-org/darktable/releases/tag/release-3.2.1</p> <h1>darktable 3.4 is on its&nbsp;way</h1> <p>A second major release, 3.4, will be out for Christmas. This release already has performance improvements on more modules. It should also see the arrival of a new <em>channel mixer</em>: more powerful, efficient and integrates a modern white balance using the Bradford transform, the <span class="caps">CIECAT16</span> space, and equipped with white balance detection by supervised machine&nbsp;learning.</p> <p>A visual redesign of the <em>retouch</em> module is also in progress as well as the white balance module. Discussions and proposals are also in progress to improve the management of modules in the darkroom (reorganization of tabs, improvement of presets,&nbsp;etc.).</p> <p>And most certainly, there are other surprises in&nbsp;sight.</p> <h1>About this&nbsp;article</h1> <p>This article is licensed under the terms of the <a href="https://creativecommons.org/licenses/by/2.0/">Attribution 2.0 Generic (<span class="caps">CC</span> <span class="caps">BY</span> 2.0)</a>, or, at your option, the <a href="https://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons <span class="caps">BY</span>-<span class="caps">NC</span>-<span class="caps">SA</span> 3.0 License</a>.</p> <p><strong>Article co-authored by:</strong> <a href="https://github.com/Nilvus">Nilvus</a>, <a href="https://aurelienpierre.com/">aurelienpierre</a>, <a href="https://www.flickr.com/photos/113336874@N07/">jpg54</a>, <a href="http://guillaumemarty.fr/">hgmarty</a>, <a href="http://jpverrue.fr">jpv</a> and <a href="http://photos.obry.net">Pascal Obry</a>. And thanks to the proofreaders who&nbsp;helped.</p><img src="https://www.darktable.org/2020/08/darktable-3-2/2013_Island_Kerlingarfjoll.jpg" class="hidden-lede">NilvusMon, 10 Aug 2020 00:00:00 +0000tag:www.darktable.org,2020-08-10:2020/08/darktable-3-2/announcementdarktable-releasedarktable 3.0.2 releasedhttps://www.darktable.org/2020/04/darktable-302-released/<p>We&#8217;re proud to announce the new feature release of darktable,&nbsp;3.0.2!</p> <p>The github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-3.0.2">https://github.com/darktable-org/darktable/releases/tag/release-3.0.2</a>.</p> <p>As always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-3.0.2.tar.xz 6abaf661fe9414e92bdb33b58b98ef024ccf6132b7876abaf0751ec2109f36fb darktable-3.0.2.tar.xz $ sha256sum darktable-3.0.2.dmg b71dab1b4f0ad796055f6d725a82913ad08f609de6ca96d65dbe6ffbeecb6416 darktable-3.0.2.dmg $ sha256sum darktable-3.0.2-win64.exe 2702b553acd09250f923f6e39d71d3c0f4ba0f81801c9c1ea55466bcf1ffab42 darktable-3.0.2-win64.exe </pre></div> <p>When updating from the currently stable 2.6.x series, please bear in mind that your edits will be preserved during this process, but the new library and configuration will not be usable with 2.6.x any more, so making a backup is strongly&nbsp;advised.</p> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <h1>Changes since&nbsp;3.0.1</h1> <h2>New Features And&nbsp;Changes</h2> <ul> <li> <p>Better <span class="caps">UI</span> for the blend modes which are now grouped by&nbsp;category.</p> </li> <li> <p><kbd>Ctrl+Click</kbd> can be used to rename a module&nbsp;instance.</p> </li> <li> <p>Allow larger vignette&nbsp;scale.</p> </li> <li> <p>Add pseudo preset in whitebalance to keep user&#8217;s&nbsp;modifications.</p> </li> <li> <p>In crop&amp;rotate module it is possible to allow only vertical composition change using the <kbd>Shift</kbd> modifier when dragging the crop area and horizontal one using the <kbd>Ctrl</kbd> modifier.</p> </li> </ul> <h2>Bug&nbsp;fixes</h2> <ul> <li> <p>Fix color peaking mode in culling&nbsp;mode.</p> </li> <li> <p>Fix single expanded module in some&nbsp;cases.</p> </li> <li> <p>Fix a watermark issue that could crash&nbsp;darktable.</p> </li> <li> <p>Fix issue with gradient mask rotation in some&nbsp;cases.</p> </li> <li> <p>Fix upward compatibility support in base adjustment&nbsp;module.</p> </li> <li> <p>Fix some MacOS full-screen mode&nbsp;issues.</p> </li> <li> <p>Fix issues on some Lut 3D&nbsp;files.</p> </li> </ul> <h3>Base&nbsp;Support</h3> <ul> <li>Fujifilm <span class="caps">GFX</span> 100&nbsp;(compressed)</li> <li>Fujifilm X-Pro3&nbsp;(compressed)</li> <li>Fujifilm <span class="caps">X100V</span>&nbsp;(compressed)</li> <li>Nikon <span class="caps">COOLPIX</span> P950&nbsp;(12bit-uncompressed)</li> <li>Nikon Z 50 (12bit-compressed,&nbsp;14bit-compressed)</li> <li>Olympus&nbsp;E-M1MarkIII</li> <li>Panasonic <span class="caps">DC</span>-S1&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">S1R</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ91</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ95</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ96</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">ZS80</span>&nbsp;(4:3)</li> <li>Sony <span class="caps">ILCE</span>-6100</li> </ul> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;77D</li> <li>Canon <span class="caps">EOS</span>&nbsp;9000D</li> <li>Nikon <span class="caps">COOLPIX</span>&nbsp;P1000</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GH5</span></li> <li>Olympus&nbsp;E-M1MarkIII</li> <li>Olympus E-<span class="caps">PL6</span></li> <li>Olympus <span class="caps">TG</span>-5</li> <li>Samsung <span class="caps">NX1</span></li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Olympus&nbsp;E-M1MarkIII</li> </ul> <h2>Translations</h2> <ul> <li>Catalan</li> <li>Czech</li> <li>Danish</li> <li>German</li> <li>European&nbsp;Spanish</li> <li>French</li> <li>Hebrew</li> <li>Hungarian</li> <li>Italian</li> <li>Japanese</li> <li>Norwegian</li> <li>Dutch</li> <li>Polish</li> <li>Russian</li> <li>Slovenian</li> </ul><img src="https://www.darktable.org/2020/04/darktable-302-released/abstrait.jpg" class="hidden-lede">Pascal ObryFri, 17 Apr 2020 20:20:23 +0000tag:www.darktable.org,2020-04-17:2020/04/darktable-302-released/announcementdarktable releasedarktable 3.0.1 releasedhttps://www.darktable.org/2020/03/darktable-301-released/<p>We&#8217;re proud to announce the new feature release of darktable,&nbsp;3.0.1!</p> <p>The github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-3.0.1">https://github.com/darktable-org/darktable/releases/tag/release-3.0.1</a>.</p> <p>As always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-3.0.1.tar.xz c54b3921da14a97c99ab2f79feca468cf2abca65adf907dba6216e47edab7cb7 darktable-3.0.1.tar.xz $ sha256sum darktable-3.0.1.2.dmg a737973ad2ad619676874d86a599a2805431cd2a4e18169792d66c1746440d3c darktable-3.0.1.2.dmg $ sha256sum darktable-3.0.1-win64.exe a9b0c8aced2786965616e6313910df26638d3cf02bc188b58210ce83c4ba2812 darktable-3.0.1-win64.exe </pre></div> <p>When updating from the currently stable 2.6.x series, please bear in mind that your edits will be preserved during this process, but the new library and configuration will not be usable with 2.6.x any more, so making a backup is strongly&nbsp;advised.</p> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <h1>Changes since&nbsp;3.0.0</h1> <h2>The Big&nbsp;Ones</h2> <ul> <li> <p>A new color assessment mode is introduced into the darkroom. This mode is designed to ensure proper color perception based on <span class="caps">ICC</span> recommended (<span class="caps">ISO</span> 12646:2008) colour proofing&nbsp;conditions.</p> </li> <li> <p>It is now possible to resize the left and right panels directly with the mouse. The positions of each one is remembered for each views&#8217;&nbsp;layout.</p> </li> <li> <p>Add a focus peaking mode in the lighttable and darkroom. The default key to toggle this mode is <kbd>Ctrl+Shift+F</kbd></p> </li> <li> <p>The wavelet denoise profile has a new <span class="caps">Y0U0V0</span> mode. This new mode makes it possible to denoise the chroma and luma noise in a single&nbsp;instance.</p> </li> </ul> <h2>New Features And&nbsp;Changes</h2> <ul> <li> <p>Add darkroom loading&nbsp;screen.</p> </li> <li> <p>Make modules labels a bit smaller for better <span class="caps">UI</span>&nbsp;consistency.</p> </li> <li> <p>Add small rectangle around the angle display when using the straightening tool for better&nbsp;visibility.</p> </li> <li> <p>Ensure the different views layout are recorded. Many views (and mode like lighttable&#8217;s culling or darkroom&#8217;s color assessment), can have the filmstrip or timeline bottom widgets, we record the exact layout for each view and&nbsp;mode.</p> </li> <li> <p>Add tool tips on module in&nbsp;history.</p> </li> <li> <p>Add support for applying back the last added key-word with a simple key short-cut. Default short-cut is <kbd>Alt+T</kbd>.</p> </li> <li> <p>Add wide-gamut <span class="caps">HLG</span>/<span class="caps">PQ</span> based color space P3 and&nbsp;Rec2020.</p> </li> <li> <p>Add custom borders support in framing&nbsp;module.</p> </li> <li> <p>Add standard variables support in watermark&nbsp;module.</p> </li> <li> <p>Allow the same short-cuts to be defined by different modules. This makes it possible to have the filmstrip using the same short-cuts to set stars as the&nbsp;lighttable.</p> </li> <li> <p>Add log editing support for the L, R, G, B, C, g blending modes. This gives more control on the dark&nbsp;pixels.</p> </li> <li> <p>Define many new accels for most of the sliders to allow more control using the&nbsp;keyboard.</p> </li> <li> <p>The images operations modules has been extended to support copying, replacing and merging&nbsp;metadata.</p> </li> <li> <p>Better visibility for the zoomed image part in the navigation&nbsp;widget.</p> </li> <li> <p>Revert to smooth mode (was default in 2.6) in color zone&nbsp;module.</p> </li> <li> <p>It is now possible to resize the collect module windows with <kbd>Ctrl+Scroll</kbd>.</p> </li> <li> <p>Add support for compressed <span class="caps">LUT</span> (.gmz) in the 3D <span class="caps">LUT</span>&nbsp;module.</p> </li> <li> <p>Use a more natural folder order in the collect module, the latest folder are now listed&nbsp;first.</p> </li> <li> <p>Module search in darkroom is now&nbsp;case-insensitive.</p> </li> </ul> <h2>Bug&nbsp;fixes</h2> <ul> <li> <p>All valid <span class="caps">LUT</span> files are displayed in file&nbsp;selector.</p> </li> <li> <p>Fix straightening in crop and rotate module when flip is&nbsp;applied.</p> </li> <li> <p>The ellipse and gradient masks can now be manipulated when the crop and rotate flip is&nbsp;activated.</p> </li> <li> <p>Fix style editing from lighttable. The modules list was empty due to an error in <span class="caps">SQL</span>&nbsp;statement.</p> </li> <li> <p>Make clicking on group icon easier. The active zone around the group icon was too&nbsp;small.</p> </li> <li> <p>Make sure no more than 64 spots are added in spot removal module and display a message when the limit is&nbsp;reached.</p> </li> <li> <p>Delay histogram display until the image is fully loaded and so the corresponding histogram is ready. Darktable was displaying the previously computed histogram for a short period of&nbsp;time.</p> </li> <li> <p>Properly update the <span class="caps">XMP</span> when doing undo/redo&nbsp;actions.</p> </li> <li> <p>Fix discrepancies between the <span class="caps">SSE</span>/OpenCL local Laplacian code&nbsp;paths.</p> </li> <li> <p>Better performance for tone equalizer&#8217;s guided&nbsp;filter.</p> </li> <li> <p>Exports should now better respect the final dimensions&nbsp;requested.</p> </li> <li> <p>Fix issues with brush opacity&nbsp;handling.</p> </li> <li> <p>Better performance for computing the aspect&nbsp;ratio.</p> </li> <li> <p>Fix importing of duplicates on&nbsp;Windows.</p> </li> <li> <p>Better visibility of tone curve grid on Grey&nbsp;theme.</p> </li> <li> <p>Better accuracy for the keystone <span class="caps">OSD</span>&nbsp;lines.</p> </li> <li> <p>Better performance and accuracy improvements for the waveform&nbsp;histogram.</p> </li> <li> <p>Some HiDPI fixes in&nbsp;icons.</p> </li> <li> <p>The Facebook, Google Photo and Flickr export storage have been removed as not supported anymore due to deep changes in the provider making it very hard to&nbsp;fix.</p> </li> <li> <p>Fix brush <span class="caps">OSD</span> when in zoom mode. The brushes are now keeping thin&nbsp;lines.</p> </li> <li> <p>Fix watermark blurring when using&nbsp;rotation.</p> </li> <li> <p>Fix using apostrophe in&nbsp;meta-data.</p> </li> <li> <p>Fix time-line display reporting 61 minutes per&nbsp;hour.</p> </li> <li> <p>Remove wrong presets in <span class="caps">RGB</span>-curve&nbsp;module.</p> </li> <li> <p>Fix some duplicate pipe&nbsp;recomputation.</p> </li> </ul> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;77D</li> <li>Canon <span class="caps">EOS</span>&nbsp;9000D</li> <li>Nikon <span class="caps">COOLPIX</span>&nbsp;P1000</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GH5</span></li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Canon <span class="caps">EOS</span>-1Ds</li> <li>Fujifilm&nbsp;X-H1</li> <li>Fujifilm&nbsp;X-T30</li> <li>Olympus&nbsp;E-510</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GH5</span></li> <li>Sony <span class="caps">ILCE</span>-6600</li> <li>Sony <span class="caps">ILCE</span>-<span class="caps">7RM4</span></li> <li>Sony <span class="caps">ILCE</span>-9</li> </ul><img src="https://www.darktable.org/2020/03/darktable-301-released/paysage.jpg" class="hidden-lede">Pascal ObryMon, 09 Mar 2020 18:15:00 +0000tag:www.darktable.org,2020-03-09:2020/03/darktable-301-released/announcementdarktable releasedarktable 3.0.0 releasedhttps://www.darktable.org/2019/12/darktable-300-released/<p>We&#8217;re proud to announce the new feature release of darktable,&nbsp;3.0.0!</p> <p>The github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-3.0.0">https://github.com/darktable-org/darktable/releases/tag/release-3.0.0</a>.</p> <p>As always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-3.0.0.tar.xz 7195a5ff7ee95ab7c5a57e4e84f8c90cc4728b2c917359203c21293ab754c0db darktable-3.0.0.tar.xz $ sha256sum darktable-3.0.0.dmg 8972fd773ff599c2baca0cd9e1b89e20a9e62495cf08ad94c8b9b7ed5962cd4b darktable-3.0.0.dmg $ sha256sum darktable-3.0.0.exe d3b33eb2a732e9d460dc6ab1ffed9dfc5e033f0a7b68a6e1f365d53a0ec76bdd darktable-3.0.0.exe </pre></div> <p>When updating from the currently stable 2.6.x series, please bear in mind that your edits will be preserved during this process, but the new library and configuration will not be usable with 2.6.x any more, so making a backup is strongly&nbsp;advised.</p> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <ul> <li>Almost 3 thousand commits to darktable+rawspeed since&nbsp;2.6</li> <li>553 pull requests&nbsp;handled</li> <li>66 issues&nbsp;closed</li> <li>Updated user manual is coming&nbsp;soon™</li> </ul> <h2>The Big&nbsp;Ones</h2> <ul> <li> <p>A full rework of the <span class="caps">GUI</span>. The whole <span class="caps">GUI</span> is now fully controlled by <a href="https://developer.gnome.org/gtk3/stable/chap-css-overview.html"><span class="caps">GTK</span>+ <span class="caps">CSS</span> rules</a>. There is no more size, color, position in Gtk C code, which makes the whole <span class="caps">GUI</span> themable. This version comes with several&nbsp;themes:</p> <ul> <li>darktable : the default&nbsp;theme</li> <li> <p>darktable-icons : the default theme with&nbsp;icons</p> </li> <li> <p>darktable-elegant-darker : more condensed fonts best experience with Roboto font&nbsp;installed</p> </li> <li> <p>darktable-icons-darker : as elegant, with module icons best experience with Roboto font&nbsp;installed</p> </li> <li> <p>darktable-elegant-dark : lighter&nbsp;version</p> </li> <li> <p>darktable-elegant-grey : even lighter&nbsp;version</p> </li> <li> <p>darktable-icons-dark : lighter version. with module&nbsp;icons</p> </li> <li>darktable-icons-grey : even lighter version, with module&nbsp;icons</li> </ul> </li> </ul> <p>New shortcuts have been introduced to quickly collapse borders, sidebars, histogram and navigation modules, allowing a new borderless editing&nbsp;experience.</p> <p>Note that the new <span class="caps">GUI</span> requires Gtk+ 3.22 or higher to work&nbsp;properly.</p> <ul> <li> <p>It&#8217;s now possible to associate dynamic key shortcuts to sliders, then use them with the mouse wheel or arrow keys to move the value up and down. For example, associating the <kbd>E</kbd> key to the exposure slider, you can press it and scroll to increase the exposure without having to open the module. You get fast heads-up access to all your favorite settings, as if you were using a dedicated multimedia&nbsp;console.</p> </li> <li> <p>The color picker on the &#8216;tone curve&#8217;, &#8216;color zones&#8217; and &#8216;fill light&#8217; modules, as well as the parametric mask controls, now allows you to select an area when enabled by using <kbd>Ctrl+click</kbd> on the&nbsp;button.</p> </li> <li> <p>Added undo/redo support in lighttable for tags, color labels, ratings, metadata, deleted history stack, pasted history stack and applied&nbsp;styles.</p> </li> </ul> <p><span class="caps">IMPORTANT</span>: The &#8216;preview&#8217; and &#8216;preview with focus detection&#8217; actions (previously <kbd>Z</kbd> and <kbd>Ctrl+Z</kbd> respectively) are now assigned to <kbd>W</kbd> and <kbd>Ctrl+W</kbd> in order to follow the convention of using <kbd>Ctrl+Z</kbd> for the &#8220;undo&#8221; function (<kbd>Ctrl+Y</kbd> for&nbsp;redo).</p> <ul> <li> <p>A new timeline view has been introduced in the&nbsp;lighttable.</p> </li> <li> <p>A new &#8216;culling&#8217; mode has been added to the lightable view. It displays a fixed number of consecutive images starting from the first selected, and allows you to pan <span class="amp">&amp;</span> zoom them. The number of displayed images can be set by the user, and they can be navigated with the mouse wheel and&nbsp;keyboard.</p> </li> <li> <p>A quite extensive rewrite of the lighttable view (including the filmstrip in darkroom view) has been made to greatly improve the overall performance. The lighttable is now usable on 4K and 5K&nbsp;monitors.</p> </li> <li> <p>Added support for the new &#8216;raster mask&#8217;, a copy of a parametric mask which is stable during the whole&nbsp;pixel-pipe.</p> </li> <li> <p>The processing order of the pixel-pipe can now be changed by using <kbd>Ctrl+Shift+drag</kbd> on the module headers to arrange them relative to each other. It is <span class="caps">VERY</span> <span class="caps">IMPORTANT</span> to understand that this feature is <span class="caps">NOT</span> for creating a more convenient <span class="caps">GUI</span> layout, but for changing the actual processing of the image. <span class="caps">DO</span> <span class="caps">NOT</span> <span class="caps">USE</span> <span class="caps">THIS</span> <span class="caps">FEATURE</span> unless you understand the reason behind the default ordering, and have a specific reason for changing it. The default order is still the correct order for most purposes. Also note that styles will always apply the default ordering; creating a style based on modules which have had their order changed will <span class="caps">NOT</span> recreate this changed order when applied, and therefore may not give the expected&nbsp;result.</p> </li> <li> <p>The history stack will now always show mandatory modules which were previously hidden. They are always active as necessary for processing images, and are not removed by compressing history or by selecting one as a stating point for editing. These seven modules (some are <span class="caps">RAW</span>-only) have a specific icon to identify them&nbsp;easily:</p> <div class="highlight"><pre> - raw black/white point - white balance - highlight reconstruction - demosaic - input color profile - output color profile - gamma </pre></div> </li> <li> <p>The &#8216;color zones&#8217; module now shows a histogram based on the chosen ‘select by’ channel, and if the color picker is in &#8216;select area&#8217; mode, the range within the selected area will also be shown. By default, the spline adjustment is now similar to the curve controls, allowing you to add and delete nodes, but these nodes can still be moved with the old-style size control by selecting the &#8216;edit by area&#8217; checkbox. There is also a new &#8216;strong&#8217; processing option, and a new color picker which creates a curve based on selected image&nbsp;area.</p> </li> <li> <p>A new module &#8216;filmic <span class="caps">RGB</span>&#8217; which, like the previous &#8216;filmic&#8217;, is designed to replace &#8216;base curve&#8217;, &#8216;shadows and highlights&#8217; and other global tone-mapping modules. This new version replaces the one introduced in 2.6.2; it should be easier to use, and it will reduce color casts. The old &#8216;filmic&#8217; module is now deprecated and is only available on images where it was already used for&nbsp;editing.</p> </li> <li> <p>A new module &#8216;tone equalizer&#8217; is designed to merge the features of &#8216;zone system&#8217;, &#8216;shadows and highlights&#8217;, and (local) &#8216;tone mapping&#8217; modules in a scene-referred <span class="caps">RGB</span> space. It brings an easy and safe way to remap tones locally, performing a quick zone-based dodging and burning using Ansel Adam&#8217;s zone system logic. The module provides an interface similar to audio graphic equalizers, with 9 bands (available as fixed sliders or nodes on a spline view), allowing you to selectively push or pull the exposure for each band in the range from blacks to specular highlights. It also features an interactive cursor that allows to push or pull the exposure gains directly from the image preview by simply hovering over an area and scrolling. It uses a guided filter internally to refine the dodging and burning mask, which preserves local contrast without producing halos along&nbsp;edges.</p> </li> </ul> <h2>New Features And&nbsp;Changes</h2> <ul> <li> <p>A new module for handling 3D <span class="caps">RGB</span> Lut transformations (<span class="caps">PNG</span> Hald-<span class="caps">CLUT</span> and Cube files are&nbsp;supported).</p> </li> <li> <p>Many improvements to the &#8216;denoise (profiled)&#8217; module. The degree of shadow denoising can be controlled, including the correction of color casts (mainly improves high-<span class="caps">ISO</span> images). &#8220;Auto&#8221; modes which infer some parameters from the profile are available, allowing users to create presets which are adaptive to various <span class="caps">ISO</span> values. The default values of the sliders are also adapted dynamically on module activation, giving a good trade-off between noise smoothing and detail preservation. The non-local means mode has 2 new options: one to coarse-grain denoising, and one to control the amount of fine detail to preserve. The controls now have soft boundaries, which means that users can use the keyboard to enter values outside the range of the sliders if they need&nbsp;to.</p> </li> <li> <p>Along with selecting the &#8216;soft proof&#8217; color profile, users can now select an additional profile for the color space of the histogram, color picker and overexposed checker. When gamut or softproof checks are active the histogram and color picker use the softproof profile, otherwise they use the new histogram profile (which is always used for overexposure&nbsp;checking).</p> </li> <li> <p>A new setting for &#8216;working profile&#8217; has been added to the input color profile module. This color space will be used by <span class="caps">RGB</span> modules between the input and output color profile&nbsp;modules.</p> </li> <li> <p>A new color picker has been added to the parametric masking controls which adjusts the range sliders based on the selected area from the image. Click the picker button to adjust the input image slider, <kbd>Ctrl+click</kbd> the button to adjust the output image&nbsp;slider.</p> </li> <li> <p>The &#8216;picasa&#8217; target storage in the export module has been completely rewritten to support the new Google Photo <span class="caps">API</span>, and renamed &#8216;google photos&#8217;. It is again possible to create albums directly from the export&nbsp;module.</p> </li> <li> <p>A new single-line image information display can be positioned at the top (left, right, or center) or bottom (center) of the darkroom view to replace the information previously overlaid on the histogram. The specific information shown can be configured in&nbsp;preferences.</p> </li> <li> <p>The &#8216;tagging&#8217; module is faster, and can now display hierarchical tags in a tree view. Tags can now be designated as &#8216;private&#8217; (not exported by default), &#8216;synonym&#8217; (to help search engines), and &#8216;category&#8217; (not exported, for organizing the tag library). The metadata exported with images can now be configured in the &#8216;export selected&#8217; module, allowing you to choose which main types are exported, as well as define values for specific tags based on&nbsp;formulas.</p> </li> <li> <p>Many code optimizations for <span class="caps">CPU</span> and <span class="caps">SSE</span> paths. The tone equalizer module introduces a new optimization paradigm (<span class="caps">GCC</span> target clones), aimed toward users of pre-built Linux packages. The image-processing code will be cloned for several <span class="caps">CPU</span> generations (<span class="caps">SSE2</span>, <span class="caps">SSE3</span>, <span class="caps">SSE4</span>, <span class="caps">AVX</span>, <span class="caps">AVX2</span>) at compilation time, and the best-suited version of the code will be chosen by the system at run time. This experiment is to be generalized to other modules if proven successful, and will allow users of pre-built packages to get the same performance as if the program was specifically compiled for their computer. It needs <span class="caps">GCC</span> 9 compiler and does not yet work on Windows due to the lack of support of target clones on the <span class="caps">OS</span>&nbsp;side.</p> </li> <li> <p>A new preference to expand/collapse a darkroom module when it is&nbsp;activated/deactivated.</p> </li> <li> <p>The &#8216;collect images&#8217; module has a new single-click option featuring range selection for date-time and numeric&nbsp;values.</p> </li> <li> <p>The orientation of drawn masks using the &#8216;gradient&#8217; shape is now clearly displayed with an&nbsp;arrow.</p> </li> <li> <p>The &#8216;graduated density&#8217; module has better accuracy when computing the rotation to avoid sporadic flipping of the&nbsp;gradient.</p> </li> <li> <p>Make sure the OpenCL kernel code is recompiled when the driver version is&nbsp;updated.</p> </li> <li> <p>Add color pickers for &#8216;split toning&#8217;, &#8216;graduated density&#8217; and &#8216;watermark&#8217;&nbsp;modules.</p> </li> <li> <p>The color picker positions are kept during editing within a&nbsp;module.</p> </li> <li> <p>The map view can zoom on the images of the selected&nbsp;collection.</p> </li> <li> <p>The slideshow will now start at the selected images if any, and supports changing the delay between images. It will also now be more responsive when manually moving backward and forward through the&nbsp;images.</p> </li> <li> <p>A new &#8216;basic adjustments&#8217; module has been added. It allows to adjust the black level, exposure, highlight compression, contrast, middle grey, brightness and saturation. It also has an auto feature based on Rawtherapee&#8217;s auto levels that can work on the entire image or a user selected&nbsp;area.</p> </li> <li> <p>A new &#8216;rgb curve&#8217; module has been added. It has modes for linked and independent <span class="caps">RGB</span> channels. The curves and histogram can be displayed using the working profile or can be scaled to be 50% grey. A secondary color picker will add 4 nodes to the curve based on the area selected in the image: min, average, middle, and&nbsp;max.</p> </li> <li> <p>A new &#8216;rgb levels&#8217; module has been added. It has linked and independent channels, preserve colors option and is native <span class="caps">RGB</span>.</p> </li> <li> <p>A new search box has been added to the module groups in the darkroom view, with configuration options to show only the module groups, only the search box, or both. Modules are searched for by (localized) name, and when displaying only the search box, the active modules are shown when the box is empty. A shortcut can be set for focusing the&nbsp;box.</p> </li> <li> <p>A preview window has been added to the darkroom that displays the edited image on a separate&nbsp;window.</p> </li> <li> <p>A new option &#8216;skip&#8217; is added to the &#8216;on conflict&#8217; setting on the export module which skips the exporting to existing destination&nbsp;files.</p> </li> <li> <p>Allow to switch between clone/heal and blur/color modes in &#8216;retouch&#8217; module after creating a shape using <kbd>Ctrl+click</kbd> on corresponding mode&nbsp;icon.</p> </li> <li> <p>An accels window (<kbd>H</kbd>) has been added to summarize all available shortcuts and mouse actions available in the current&nbsp;context.</p> </li> <li> <p>A zoom <span class="amp">&amp;</span> pan feature has been added to lighttable full&nbsp;preview.</p> </li> <li> <p>The base-curve module is now using luminance color preservation by default. This can give slightly less saturated pictures compared to the previous version where no color preservation was made. But it will generally avoid color&nbsp;shift.</p> </li> </ul> <h2>Bug&nbsp;fixes</h2> <ul> <li> <p>The color picker support has been fixed by a complete rewrite. It should now give correct values in all&nbsp;cases.</p> </li> <li> <p>Fix overexposed&nbsp;display.</p> </li> <li> <p>Do not disable <span class="caps">SSL</span> for storage&nbsp;modules.</p> </li> <li> <p>A long standing bug on mask distort in Liquify module has been fixed. This was visible when a liquify mask was used together with the perspective correction module&nbsp;activated.</p> </li> <li> <p>A bug on mask distort from crop <span class="amp">&amp;</span> rotate when using flip and some angle has been&nbsp;fixed.</p> </li> <li> <p>Fix manual crop in perspective correction module when not in default&nbsp;orientation.</p> </li> <li> <p>The modification of date/time is now stored into the <span class="caps">XMP</span>. This ensures that removing the picture and reloading will keep the&nbsp;changes.</p> </li> <li> <p>Fix orientation to support all cases as exposed in these examples:&nbsp;https://github.com/recurser/exif-orientation-examples</p> </li> <li> <p>Store the panel states for each lighttable&nbsp;mode.</p> </li> <li> <p>Fix crop&amp;rotate and orientation in the lightroom&nbsp;importer.</p> </li> <li> <p>Fix ProPhoto <span class="caps">RGB</span>&nbsp;profile.</p> </li> <li> <p>Fix exif lens metadata parsing containing&nbsp;comma.</p> </li> </ul> <h2>Lua</h2> <ul> <li> <p>The displayed image in darkroom view can now be&nbsp;changed.</p> </li> <li> <p><span class="caps">GUI</span> panel visibility can now be queried and&nbsp;changed.</p> </li> <li> <p>Lighttable view toolbox (rating filter, rating comparator, sort field, and sort direction) can now be&nbsp;changed.</p> </li> <li> <p>Lighttable layout and zoom level can now be&nbsp;changed.</p> </li> <li> <p>All images containing a specific tag can be searched and&nbsp;returned.</p> </li> </ul> <h2>Changed&nbsp;Dependencies</h2> <ul> <li>CMake 3.10 is now&nbsp;required.</li> <li>OpenMP 4.0 is now required (optional&nbsp;dependency).</li> </ul> <h2>RawSpeed&nbsp;changes</h2> <h3>Changed&nbsp;Dependencies</h3> <ul> <li>CMake 3.10 is now&nbsp;required.</li> <li>Pugixml 1.8 is now&nbsp;required.</li> <li>OpenMP 4.0 is now required (optional&nbsp;dependency).</li> <li><span class="caps">POSIX</span> threads are no longer&nbsp;required.</li> <li>zlib 1.2.11 is now required (optional&nbsp;dependency).</li> </ul> <h3>Changes</h3> <ul> <li>Threading was migrated to OpenMP from <span class="caps">POSIX</span>&nbsp;threads.</li> <li>Phase One <span class="caps">IIQ</span> decompressor fixes (quadrant scaling, bad&nbsp;column).</li> <li>Large-scale code cleanup, hardening is ongoing&nbsp;still.</li> <li>A CMake infrastructure was added to allow integration of RawSpeed into <span class="caps">LLVM</span> <span class="caps">LNT</span> /&nbsp;Test-Suite.</li> <li>Widespread performance tuning, most affected&nbsp;decompressors:</li> <li>Sony <span class="caps">ARW2</span></li> <li>Panasonic&nbsp;V5</li> <li>Phase&nbsp;One</li> <li>Nikon</li> <li>Pentax</li> <li>Canon</li> <li>Samsung V1 (compression =&nbsp;&#8216;32772&#8217;)</li> <li>Samsung V2 (compression =&nbsp;&#8216;32773&#8217;)</li> <li>Continuation of collaboration with <span class="caps">LLVM</span> Compiler Infrastructure&nbsp;Project.</li> </ul> <h2>Camera support, compared to&nbsp;2.6.0</h2> <h3>Base&nbsp;Support</h3> <ul> <li>Epson&nbsp;R-D1s</li> <li>Epson&nbsp;R-D1x</li> <li>Fujifilm FinePix <span class="caps">F770EXR</span></li> <li>Fujifilm FinePix&nbsp;S7000</li> <li>Fujifilm <span class="caps">GFX</span> 50R&nbsp;(compressed)</li> <li>Fujifilm&nbsp;X-A10</li> <li>Fujifilm X-T30&nbsp;(compressed)</li> <li>Fujifilm <span class="caps">XF10</span></li> <li>Kodak <span class="caps">DCS</span> Pro&nbsp;14N</li> <li>Kodak EasyShare&nbsp;Z981</li> <li>Kodak EasyShare&nbsp;Z990</li> <li>Leica C (Typ 112)&nbsp;(4:3)</li> <li>Leica <span class="caps">CL</span>&nbsp;(dng)</li> <li>Leica Q (Typ 116)&nbsp;(dng)</li> <li>Leica Q2&nbsp;(dng)</li> <li>Leica <span class="caps">SL</span> (Typ 601)&nbsp;(dng)</li> <li>Leica V-<span class="caps">LUX</span> (Typ 114) (3:2, 4:3, 16:9,&nbsp;1:1)</li> <li>Nikon Z 6 (14bit-uncompressed,&nbsp;12bit-uncompressed)</li> <li>Nikon Z 7&nbsp;(14bit-uncompressed)</li> <li>Olympus E-<span class="caps">M1X</span></li> <li>Olympus E-M5 Mark <span class="caps">III</span></li> <li>Olympus <span class="caps">TG</span>-6</li> <li>Panasonic <span class="caps">DC</span>-G90&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-G91&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-G95&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-G99&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">ZS200</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TX1</span>&nbsp;(3:2)</li> <li>Phase One&nbsp;P30</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX0M2</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M6</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M7</span></li> <li>Sony <span class="caps">ILCE</span>-6400</li> <li>Sony <span class="caps">ILCE</span>-6600</li> <li>Sony <span class="caps">ILCE</span>-<span class="caps">7RM4</span></li> </ul> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Leica&nbsp;Q2</li> <li>Nikon&nbsp;D500</li> <li>Nikon Z&nbsp;7</li> <li>Olympus E-M5 Mark <span class="caps">III</span></li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">LX100M2</span></li> <li>Sony <span class="caps">ILCE</span>-6400</li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Leica&nbsp;Q2</li> <li>Nikon&nbsp;D3</li> <li>Nikon&nbsp;D3500</li> <li>Nikon Z&nbsp;6</li> <li>Nikon Z&nbsp;7</li> <li>Olympus E-<span class="caps">PL8</span></li> <li>Olympus E-<span class="caps">PL9</span></li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">LX100M2</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M5A</span></li> <li>Sony <span class="caps">ILCE</span>-6400</li> <li>Sony <span class="caps">SLT</span>-A35</li> </ul> <h2>Translations</h2> <ul> <li>Catalan</li> <li>Czech</li> <li>Danish</li> <li>German</li> <li>European&nbsp;Spanish</li> <li>French</li> <li>Hebrew</li> <li>Hungarian</li> <li>Italian</li> <li>Japanese</li> <li>Norwegian&nbsp;Bokmål</li> <li>Dutch</li> <li>Polish</li> <li>Russian</li> <li>Slovenian</li> </ul><img src="https://www.darktable.org/2019/12/darktable-300-released/portrait.jpg" class="hidden-lede">Pascal ObryTue, 24 Dec 2019 18:08:00 +0000tag:www.darktable.org,2019-12-24:2019/12/darktable-300-released/announcementdarktable releasedarktable 3.0https://www.darktable.org/2019/12/darktable-30/<p>In other languages: <a href="https://linuxfr.org/news/darktable-3-0-une-version-plus-que-majeure">Français</a>, <a href="https://www.mauriziopaglia.it/darktable-3-0/">Italiano</a>, <a href="https://www.bilddateien.de/blog/2019-12-25-darktable-3.0-was-ist-neu.html">Deutsch</a>.</p> <p>Following the tradition, darktable 3.0 has been released for Christmas. After many evolutions in 2018, 2019 has seen many very unexpected changes in darktable, both in its user interface and in its internal mechanisms. This makes darktable 3.0 a more than major version, justifying the direct transition from version 2.6.x to version&nbsp;3.0.</p> <p>The announcement and release notes for this new release can be found here: <a href="https://www.darktable.org/2019/12/darktable-300-released/">https://www.darktable.org/2019/12/darktable-300-released/</a>.</p> <p>Among the new major features (the list is&nbsp;huge):</p> <ul> <li>A brand new <span class="caps">GUI</span>, more modern, fully redesigned and customizable via <span class="caps">GTK</span>+ <span class="caps">CSS</span> rules. There is no more size, color, fixed position in the Gtk C darktable code. This version already comes with several&nbsp;themes.</li> <li>A new <em>culling</em> mode on the lighttable. It displays a fixed number of consecutive images starting from the first selected (or a set of selected images), and allows you to pan <span class="amp">&amp;</span> zoom them. The number of displayed images can be set by the user, and they can be navigated with the mouse wheel and keyboard. Finally, it provides a comparison mode of images often&nbsp;requested.</li> <li>A new <em>timeline</em> view, making it possible to select a date range to display related&nbsp;images</li> <li>A quite extensive rewrite of the lighttable view (including the <em>filmstrip</em> in darkroom view) has been made to greatly improve the overall performance. The lighttable is now usable on 4K and 5K monitors. darktable 3.0 also brings many code optimizations for <span class="caps">CPU</span> and <span class="caps">SSE</span>&nbsp;paths.</li> <li>A new <em>filmic <span class="caps">RGB</span></em> module which, like the previous module <em>filmic</em>, is designed to replace <em>base curve</em>, <em>shadows and highlights</em> and other global tone-mapping modules. This new version should be easier to use and it will reduce color casts. The old <em>filmic</em> module is now deprecated and only available on images where it was previously&nbsp;used.</li> <li>A new module <em>tone equalizer</em> has been created to merge the features of <em>zone system</em>, <em>shadows and highlights</em>, and (local) <em>tone mapping</em> modules in a scene-referred <span class="caps">RGB</span> space. It brings an easy and safe way to remap tones locally, performing a quick zone-based dodging and burning using the <a href="https://www.wikiwand.com/fr/Zone_system">zone system</a> of <a href="https://www.wikiwand.com/fr/Ansel_Adams">Ansel Adams</a>.</li> <li>New modules <em><span class="caps">RGB</span> curve</em> and <em><span class="caps">RGB</span> levels</em>. They have modes for linked and independent <span class="caps">RGB</span>&nbsp;channels.</li> <li>The module <em>denoise (profiled)</em> has been greatly improved. It now offers high-performance default settings in most cases. It is thus no longer necessary to use the two chroma and luma instances. In most cases only one instance is sufficient. For images processed with darktable 2.6 or earlier, it is possible to upgrade the module to the new processing algorithms via a checkbox in the&nbsp;module.</li> <li>A new module <em>3D lut</em>, for handling 3D <span class="caps">RGB</span> Lut transformations (<span class="caps">PNG</span> Hald-<span class="caps">CLUT</span> and Cube files are&nbsp;supported).</li> <li>A complete rework of the <em>tagging</em> module. It is now faster and more complete, with a new hierarchical view, possibility to set tags as private, to assign them to categories, or to even search&nbsp;synonyms.</li> <li>Export module have now an option to select which metadata to&nbsp;export. </li> <li>A new module <em>basic adjustments</em>. It allows you to adjust the black level, exposure, highlight compression, contrast, middle grey, brightness and saturation. It also has an auto feature based on Rawtherapee’s auto levels that can work on the entire image or a user selected&nbsp;area.</li> <li>A new <em>raster mask</em>, that allows to copy a mask to other modules in the&nbsp;pixel-pipe.</li> <li>And many other minor (but useful) features. We will talk about some of them, in the last part of this&nbsp;article.</li> </ul> <p>As with every darktable major release, the database format changes, so <strong>you can&#8217;t go back to the previous version once you go to 3.0</strong>: it&#8217;s always advisable to make a backup of your database (~/.config/darktable/ directory) <strong>before</strong> the update. However, darktable 3.0 introduces an automatic backup of your database in version 2.6 or earlier due to so many changes darktable brings, and particularly a whole rework of pixel-pipe&nbsp;order.</p> <h1>Major&nbsp;features</h1> <h2>A whole new complete <span class="caps">CSS</span> themable <span class="caps">GUI</span></h2> <p>darktable 3.0 introduce now a more modern and completely themable <span class="caps">GUI</span> by <span class="caps">CSS</span>. It is now also compatible with 4k and 5k monitors. With that whole rework, four themes have been&nbsp;introduced:</p> <ul> <li><em>darktable</em>: the adapted original theme (by default), it uses the default font of the operating&nbsp;system.</li> </ul> <p><div style="text-align: center"> <img alt="darktable theme" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/darkable.png" /> </div></p> <p>darktable 3.0 specifically introduces the following three new themes (in addition to the default theme adapted to the new interface). These three themes, called <em>elegant</em>, require the installation of <em>Roboto</em> fonts to achieve the desired complete visual&nbsp;experience.</p> <ul> <li><em>darktable-elegant-darker</em>: similar to default theme but with the Roboto more condensed&nbsp;font.</li> </ul> <p><div style="text-align: center"> <img alt="darker theme" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/darkertheme.png" /> </div></p> <ul> <li><em>darktable-elegant-dark</em>: lighter&nbsp;version.</li> </ul> <p><div style="text-align: center"> <img alt="dark theme" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/darktheme.png" /> </div></p> <ul> <li><em>darktable-elegant-grey</em>: even lighter version. Near to&nbsp;middle-grey.</li> </ul> <p><div style="text-align: center"> <img alt="grey theme" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/greytheme.png" /> </div></p> <p>Apart from any aesthetic considerations, the recommended interface color for color evaluation is middle grey (interface L = 45, background L = 75), close to <span class="caps">ISO</span> 12646:2008. Indeed, visual perception is affected by ambient brightness, and a low brightness of the interface causes all kinds of&nbsp;illusions:</p> <ol> <li>exaggeration of the exposure perceived in the image (highlighted by the experience of the <a href="https://en.wikipedia.org/wiki/Checker_shadow_illusion">Adelson&#8217;s checker shadow illusion</a>): the image seems clearer than it&nbsp;is,</li> <li>decrease in the perceived saturation in the image (Hunt effect): the colors seem less&nbsp;rich,</li> <li>decrease in perceived contrast in the image (<a href="https://www.hisour.com/color-appearance-model-24824/">Bartleson-Breneman effect</a>): tones appear&nbsp;flatter.</li> </ol> <p>Using a dark interface to retouch photos can therefore lead to excessive retouching (abuse of contrast and saturation) and to a photo that is too dark once printed. The introduction of the grey theme avoids these illusions and consequences on image&nbsp;processing.</p> <p>The four main themes no longer display icons of the darkroom modules to lighten the interface and limit colorful visual distractions. As some users have requested them, specific variants add the display of the icons of these modules. If you want these icons, use the <em>icons</em> themes&nbsp;instead.</p> <p><em>Here it&#8217;s the new darkroom view with dark theme (without&nbsp;icons):</em></p> <p><div style="text-align: center"> <img alt="dark theme without icons" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/darkthemewithouticons.png" /> </div></p> <p><em>And same view, with modules&nbsp;icons:</em></p> <p><div style="text-align: center"> <img alt="dark theme with icons" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/darkthemewithicons.png" /> </div></p> <h2>Other improvements about that new <span class="caps">GUI</span></h2> <h3>darkroom&nbsp;view</h3> <p>New shortcuts have been added for a better user experience and more image space. Here are the most important ones in the darkroom (the first 4 shortcuts are also usable in other darktable&nbsp;views):</p> <ul> <li><code>Shift+Ctrl+t</code>: show/hide top panel (between the image and the top&nbsp;banner)</li> <li><code>Shift+Ctrl+l</code>: same for left&nbsp;panel</li> <li><code>Shift+Ctrl+r</code>: same for right&nbsp;one</li> <li><code>Shift+Ctrl+b</code>: same for bottom one (between the image and the image&nbsp;banner)</li> <li><code>Shift+Ctrl+h</code>: same for&nbsp;histogram</li> <li><code>Shift+Ctrl+n</code>: same for thumbnail image on the&nbsp;left</li> </ul> <p>These shortcuts are a good complement to this two shortcuts already present in&nbsp;darktable:</p> <ul> <li><code>Ctrl+f</code>: show/hide images banner at the bottom, without going to the&nbsp;options</li> <li><code>Ctrl+h</code>: same for top banner (from logo to links to lighttable, darkroom,&nbsp;others)</li> </ul> <p>These shortcuts can be easily memorized by understanding this: the letters correspond to the 1st letter of the English term (top, left, right, bottom, histogram, navigation, filmstrip,&nbsp;header).</p> <p>And finally, valid in all darktable views: my favorite to use only once, after getting used on using the shortcuts above: <code>b</code>. With this simple letter, just say goodbye to borders with arrows. And darktable is getting&nbsp;lighter!</p> <p>Take a look at the screenshot below to see for yourself. The applied shortcuts have been: <code>b</code>, <code>Shift+Ctrl+l</code>, <code>Shift+Ctrl+t</code>, <code>Shift+Ctrl+b</code> (for these last three ones, a quick tip: keep pressing <code>Shift+Ctrl</code> and then successively press <code>l</code>, <code>t</code> and <code>b</code> to hide the left, top and bottom panels) and <code>Ctrl+f</code> (for the image banner removed at the bottom). To replace the removed parts, simply repeat the same&nbsp;shortcuts.</p> <p><div style="text-align: center"> <img alt="light version for image editing" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/cnlightwithoutborders.png" /> </div></p> <p>With all these shortcuts, you can display your darkroom view (and each darktable view) with the parts you want (with or without miniature, right or left panel, histogram or not&#8230;). Test, see what suits you best for your practice, depending on your need or when you want to alternate between the parts. It&#8217;s simple and&nbsp;effective!</p> <p><strong><em>Search module&nbsp;field</em></strong></p> <p>In this darkroom view, you could see on above screen capture, a new search module field, just between modules tabs and modules list. This new field simply allow to&#8230; search a module among all those darktable have (search to be done in lowercase, the field is case&nbsp;sensitive).</p> <p><strong><em>New visualization of mask&nbsp;options</em></strong></p> <p>In the modules allowing the use of fusion masks, access to mask options is no longer via a drop-down menu, and has become more visual. Just see&nbsp;yourself:</p> <p><div style="text-align: center"> <img alt="masks module options" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/masks.png" /> </div></p> <p>From left to right: <em>&#8220;disable active mask&#8221;</em>, <em>&#8220;uniform mask&#8221;</em>, <em>&#8220;drawn mask&#8221;</em>, <em>&#8220;parametric mask&#8221;</em>, <em>&#8220;drawn <span class="amp">&amp;</span> parametric mask&#8221;</em> et <em>&#8220;raster mask&#8221;</em> (new one we will talk about later in this&nbsp;article).</p> <p><strong><em>History</em></strong></p> <p>A redesign of the history has been done. darktable, like any <span class="caps">RAW</span> developer software, must run some default modules to allow the <span class="caps">RAW</span> to be displayed. Previously these modules were hidden. For greater transparency, all the processing steps performed are now displayed, even if they do not correspond to an existing module, such as the <em>gamma</em> line. These modules cannot be disabled because of their&nbsp;usefulness.</p> <p>As you can see below, new visual icons have appeared on the right. They indicate the status of the module (for the first three states, you will also find this same visual in the module panel on the&nbsp;right):</p> <ul> <li>Default modules that cannot be disabled: <em>full round surrounded by a circle</em> (ex: <em>gamma</em>)</li> <li>Modules in active state (that could be disable): <em>on/off button enabled</em> (ex: <em>white balance</em>)</li> <li>Modules in the state disabled (that could be enabled): <em>on/off button disabled</em> and <em>the text of the module in light grey</em> (ex: <em>base curve</em>)</li> <li>Deprecated modules (recommended not to use them anymore): <em>cross</em> (ex: <em>filmic</em>). If enabled, white and light grey text and light grey if&nbsp;disabled.</li> </ul> <p><div style="text-align: center"> <img alt="history" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/history.png" /> </div></p> <p><strong><em><span class="caps">EXIF</span> images&nbsp;infos</em></strong></p> <p>For a better rendering of the histogram, as well as for a better visualization of the main <span class="caps">EXIF</span> data of the image, the latter have been removed from the histogram. They are now visible in a new area, by default at the bottom of the&nbsp;image:</p> <p><div style="text-align: center"> <img alt="EXIF images infos" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/imageinfosline.png" /> </div></p> <p>It is possible to customize the data displayed in this area, in the darktable preferences (see the &#8220;format of the image information line&#8221; line) as well as the position of this information&nbsp;line:</p> <p><div style="text-align: center"> <img alt="EXIF infos settings" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/prefsinfoimage.png" /> </div></p> <p>Possible parameters for the format can be found in darktable manual. Changing these options requires a restart of the application to be&nbsp;applied.</p> <p><strong><em>Second image preview&nbsp;window</em></strong></p> <p>It is now possible to display a second image preview window via the dual screen icon at the left bottom of darkroom image. This view allows you to select a different display profile from the main view for comparison. To do this, simply select it via a new menu accessible in the usual softproofing and gamut verification options, at the bottom right of the image in the main&nbsp;view.</p> <p>You can zoom in this new view, via the mouse&nbsp;wheel.</p> <p><div style="text-align: center"> <img alt="2nd image preview window" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/2ndwindow.png" /> </div></p> <p>This new window has its own color profile, which allows you to place it on another screen and use its dedicated profile. As for the main window, the profile is automatically retrieved by darktable via colord or xatom, but it is possible to add it manually in <code>~/.config/darktable/color/out</code> and then select it from the display profile menu. Note that colord does not seem to work under Windows with a second screen, so Windows users will have to perform the operation&nbsp;manually.</p> <h3>Accels window: viewing shortcuts in the active&nbsp;view</h3> <p>At any time, whatever the active view of darktable, you can display the shortcuts that can be used in this view. This list of shortcuts is dynamic and includes both default shortcuts and your custom ones. To display it, nothing could be easier: press the letter <code>h</code> (then <code>Alt</code> if you want to leave this panel active). It is possible to separate it from the darktable window via the button that appears at the top&nbsp;right.</p> <p><div style="text-align: center"> <img alt="accels window" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/shortcutshelp.png" /> </div></p> <h3>Preferences</h3> <p>darktable 3.0 also offers a clearer arrangement of preferences. The options are now grouped into sections to make it easier to find and customize&nbsp;preferences.</p> <h2>New lighttable features: <em>culling</em> and <em>timeline</em>&nbsp;views</h2> <p>The lighttable is now more reactive. Many code optimizations have been performed to greatly improve usage and&nbsp;performance.</p> <p>The lighttable also sees the arrival of undo/redo functions via <code>Ctrl+Z</code> shortcut applicable to keywords, star rating, color labels, metadata modification, copy/paste or removal history or even style&nbsp;application.</p> <p>=&gt; Since this shortcut was initially assigned to the preview with focus detection, this last function can now be displayed via the shortcut <code>Ctrl+W</code>. For consistency, the preview previously displayed with <code>Z</code> is now displayed via the shortcut <code>W</code> or <code>Alt+W</code> (persistent&nbsp;preview).</p> <p>It is now possible to zoom and pan on an image in preview mode. After launching the preview, use the shortcut <code>Ctrl+mouse wheel</code> to zoom in/out. However, in some smaller configurations, the new zoom capabilities may result in a waiting time to allow the zoomed image to be displayed. To speed up this display, it may be useful to run the following command in terminal mode (darktable must be closed, and remain closed, while executing this&nbsp;command):</p> <div class="highlight"><pre>darktable-generate-cache -m 6 </pre></div> <p>It is possible to modify the number according to the desired zoom level (7 corresponding to 100% level and lower). 5 can be a good compromise disk space saving. Indeed, this command generates a cache folder containing jpg files corresponding to the active histories at the execution time of this&nbsp;command.</p> <h3><em>culling</em>&nbsp;view</h3> <p>The lighttable gives until now two modes: <em>zoomable light table</em> and <em>file manager</em>. A third mode appears, and not the least: a <em>culling</em> mode. This mode displays a consecutive (or not) and fixed number of images from the selected one. It allows to zoom and pan on them. Images number can be fixed by the user, and it&#8217;s possible to move on with mouse wheel and&nbsp;keyboard.</p> <p>Yes, you understand, one of the most frequently requested features of the lighttable is finally there: possibility to compare images. See now how it works&nbsp;!</p> <p>Two options&nbsp;exist:</p> <ul> <li><em>fixed zoom</em>: images number is set by a cursor on the right of culling selector menu (launching shortcut of this mode: <code>x</code>)</li> <li><em>dynamic zoom</em>: images number is set by images selected on lighttable (launching shortcut of this mode: <code>Ctrl+X</code>)</li> </ul> <p>Of course, here, dynamic zoom will have same effect as fixed one if selected number is the one set on fixed zoom mode. In both cases, you can move on images of the actual collection simply&nbsp;with:</p> <ul> <li><code>Wheel mouse</code> (or keyboard <code>left and righ arrows</code>): to display previous or next&nbsp;images.</li> </ul> <p>The number of images to be displayed and the mode option are set in the selection mode with settings on the right of the culling menu at the bottom of the&nbsp;lighttable:</p> <p><div style="text-align: center"> <img alt="culling mode" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/culling.png" /> </div></p> <p>If, as here, the number of images to be displayed, defined in this mode, is 2 (fixed zoom), selecting an image will display that image and the next one. This gives us (reminder: mode launched via <code>x</code> shortcut):</p> <p><div style="text-align: center"> <img alt="fixed zoom" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/cullingfixe.png" /> </div></p> <p>Note here that I have hidden all the panels with the shortcuts seen above, to better benefit from the display of images and comparison possibilities. To display the settings of the selection mode (previous image), just type shortcut <code>Shift+Ctrl+b</code>.</p> <p>And the same, on six selected images, in dynamic range mode (mode launched with <code>Ctrl+x</code>):</p> <p><div style="text-align: center"> <img alt="dynamic zoom" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/cullingdynamic.png" /> </div></p> <p>In this culling mode, whether in fixed zoom or dynamic zoom, here are the options available to&nbsp;you:</p> <ul> <li><code>Ctrl+wheel mouse</code>: zoom in displayed&nbsp;images.</li> <li><code>Shift+Ctrl+wheel mouse</code>: zoom only on the image where the cursor is&nbsp;hover.</li> <li><code>Click &amp; drag</code>: on a zoomed imaged, allow to pan on the image (will apply on all displayed images at the same&nbsp;time).</li> <li><code>Shift+Click &amp; drag</code>: same as above but only on the image where the cursor is&nbsp;hover.</li> </ul> <p><strong>Warning:</strong> <em>Although it is possible to display more than 4 images, zoom and pan within images are only available for up to 4 images, for visual comfort and performance&nbsp;reasons.</em></p> <p>As you can see, the culling mode also displays the main image information, rating stars and color labels. It is of course possible, as in other modes, to define them in this&nbsp;mode.</p> <p>An important trick to know: you can simply show or hide these information depending on the position of your cursor. Point the cursor upwards in an image to make them appear, slide it downwards to make them&nbsp;disappear. </p> <h3><em>timeline</em>&nbsp;view</h3> <p><em>timeline</em> view is a new view displayed on the bottom of lighttable with <code>Ctrl+f</code> shortcut (same shortcut as filmstrip in darkroom view, this new view is displayed on same place but in lighttable view). This view could also be activated or disabled on preferences&nbsp;window.</p> <p>This view displays a chronological timeline of your images and allows to select a wanted range with a simple click <span class="amp">&amp;</span> drag with your mouse. You just have to move your cursor on a part of this view to see the period (displayed in&nbsp;year/month).</p> <p>You could see a preview of this timeline view on the four themes images in the beginning of this&nbsp;article.</p> <h2>A workflow that extends over the <span class="caps">RGB</span>&nbsp;space:</h2> <p>New modules appear, exclusively in <span class="caps">RGB</span> space. With darktable 3.0, you can edit your images entirely in <span class="caps">RGB</span>, with the modules that will be presented to you in this section: the vast majority of images can be processed exclusively with these modules, combined with the <em>white balance</em>, <em>exposure</em> and <em>denoise (profiled)</em> modules. A powerful and fast workflow, with fewer modules. In a word:&nbsp;efficient.</p> <p>=&gt; For an optimal use of this new workflow, it is strongly recommended to activate, in the <em>input color profile</em> module, the <strong>linear Rec2020 <span class="caps">RGB</span></strong> working profile (you could also use <strong>linear prophoto <span class="caps">RGB</span></strong>).</p> <p>=&gt; It is also strongly recommended in this context to disable <em>base curve</em> and <em>sharpen</em> modules via the three new options of darktable <em>preferences</em>, tab <em>core options</em> then heading <em>quality</em></p> <p>To understand this linear <span class="caps">RGB</span> workflow and why it is adopted in darktable, we recommend you to watch the following video: <a href="https://www.youtube.com/watch?v=3FFU-Ltvm0I">Image processing and pixel pipeline in darktable 3.0</a>. In general, taking the time to watch Aurélien Pierre&#8217;s latest videos on this version 3.0 will help you to become more efficient in processing your images and make the most of this new workflow and, ultimately, gradually save a lot of&nbsp;time.</p> <p>However, a summary of this workflow and its benefits is provided&nbsp;below.</p> <p>The linear <span class="caps">RGB</span> workflow gradually introduced since darktable 2.6 with <em>filmic</em> and <em>color balance</em> allows to free oneself from the graphic heritage of the years 1980-1990 centered on low dynamic range photography for paper printing. This traditional workflow, known as display-referred, assumes that <span class="caps">RGB</span> values encode colors (in the perceptual sense) and manipulate them in a psychologically realistic way. Unfortunately, psychophysical models that link (physical) light to (psychological) color sensation are only valid for images with low contrast (or low dynamic range), in the order of 100:1 (6.67 <span class="caps">EV</span>), which poses increasing problems as modern cameras see their dynamic range increase (currently between 12 and 14 <span class="caps">EV</span>, or 4096:1 to 16384:1). To be anticipated if you want to push your low lights: parasitic shade turns and over- or under-saturation problems, color that explodes when you correct the luminance, luminance that explodes when you correct the color&#8230;&nbsp;Hell.</p> <p>The linear <span class="caps">RGB</span> workflow, known as scene-referred, assumes that the <span class="caps">RGB</span> values encode light emissions, i.e. a light spectrum reduced to three intensities through the camera&#8217;s sensor, which is nothing more than a colorimeter. It manipulates <span class="caps">RGB</span> values in a physically realistic way, digitally reproducing the effect of optical filters. This not only makes it possible to accommodate any dynamic range, without having to change algorithms (and therefore no more specific <span class="caps">HDR</span> processing), but also to obtain more natural and predictable&nbsp;results.</p> <p>This new workflow - although already adopted by the film industry since the 1990s, out of practical necessity - still acts as a curious beast in photography, and will change the habits of users who will have to reason more and more in terms of light (physical) and less and less in terms of color (psychological and&nbsp;perceptual). </p> <p>But there&#8217;s nothing to worry about: a child painting on a sheet of paper manipulates color in a physically realistic way, without even realizing it. He knows that adding blue and yellow will give green (note that painting is a subtractive synthesis). However, if we try to subtract blue and yellow from white in drawing software that works in a space related to display (like Gimp), we get black. If you try to add blue and yellow, you get white. It will be necessary to go through Krita, and her linear painting style, for adding yellow and blue to give a &#8220;kind of green&#8221; (which is more like cyan). This is enough to prove the intuitiveness of the physically realistic linear <span class="caps">RGB</span> workflow, even if the colored perception of the equation is&nbsp;removed.</p> <h3>New <em>filmic <span class="caps">RGB</span></em>&nbsp;module</h3> <p><em>filmic <span class="caps">RGB</span></em> is the new version of <em>filmic</em> (2.6 one), rewritten for the new internal <span class="caps">API</span> allowing the user to define an <span class="caps">RGB</span> color space for the pipeline (to be set in the <em>input color profile</em> module, as explained earlier). Like the previous version, its objective is to transform <span class="caps">RGB</span> values from the space of the photographed scene (potentially high dynamic range) to the space of the screen (low dynamic range), by defining an intention for preserving contrast in midtones (within latitude). It can therefore work both in compression or expansion of the dynamic range, or even keeping the dynamic range identical, instead of an &#8220;S&#8221; tone&nbsp;curve.</p> <p>By the way, some bugs have been fixed, such as the over-saturation (especially in the reds) caused by the chrominance preservation mode, and several changes have been made to improve&nbsp;ergonomics:</p> <ol> <li>The controls are divided into scene/look/display tabs, which are clearer and lower on the&nbsp;screen.</li> <li>The filmic curve is a new spline created to reproduce the behaviour of the densitometric curves of the film. It offers deeper and less faded blacks than the previous version, better local contrast in midtones, and never oscillates, no matter what the&nbsp;parameters.</li> <li>The output space transfer function automatically adjusts to keep the grey point on the identity line, and allows better control of the&nbsp;curve. </li> <li>Latitude is defined as a percentage of the dynamic range, and no longer needs to be adjusted if the relative exposures of white and black have been&nbsp;changed.</li> <li>The desaturation curve is displayed on the&nbsp;graph.</li> <li>The global saturation setting, implemented to correct the effects of the chrominance preservation bug, is removed. The use of saturation in the color balance is&nbsp;recommended.</li> </ol> <p><div style="text-align: center"> <img alt="filmic RGB" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/filmicrvb.png" /> </div></p> <p>Two new chrominance preservation modes have been added in addition to the old one (max <span class="caps">RGB</span>): luminance Y and power norm. They will allow to adapt to different scenarios, for example when the max <span class="caps">RGB</span> mode darkens the blue skies too&nbsp;much.</p> <h3>New <em>tone equalizer</em>&nbsp;module</h3> <p>The <em>tone equalizer</em> takes the functionalities of tone mapping and curves, but adapts them to a logarithmic representation of brightness (in <span class="caps">EV</span>) in accordance with Ansel Adams <em>zone system</em>. Its function is simply to define a parametric exposure compensation, which varies according to the original brightness of the pixels. It is possible to fully reproduce the operation of the <em>tone equalizer</em> by using several instances of the <em>exposure</em> module merged in parametric mode and set to isolate different exposure levels. The <em>tone equalizer</em> only speeds up the process, and automates parts of&nbsp;it.</p> <p>It offers an interface that allows you to quickly define a selective exposure compensation for each exposure band between 0 <span class="caps">EV</span> (white) and -8 <span class="caps">EV</span> (black), similar to the audio equalizers of hifi amplifiers. Exposure compensation performs content extraction by guided filter, allowing the same correction to be applied to continuous areas of the image, and thus to preserve local contrast (the logic is similar to the module <em>shadows and highlights</em> but the guided filter is designed to never produce halos on the contrasting edges). The <em>tone equalizer</em> therefore makes it possible to re-light the scene afterwards but in a physically realistic way, without affecting chrominance or creating halos, and therefore much more credible than traditional <span class="caps">HDR</span> mapping or shadow correction&nbsp;tools. </p> <p>It also innovates on user interaction, by offering an interactive cursor that allows, when hovering over the image, to display the exposure of the area under the cursor and to directly adjust the corresponding exposure compensation via the <code>mouse wheel</code>.</p> <p><div style="text-align: center"> <img alt="tone equalizer" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/toneequalizer.png" /> </div></p> <p>The detail preservation mode (based on the guided filter) can be disabled, in which case the module behaves as a simple tone curve with a logarithmic interface and an algorithm that preserves the chrominance. The interpolation of the settings using a series of Gaussians, it will then be smoother than the interpolation by monotonic spline and less oscillating than the interpolation by cubic splines of <em>base curve</em> and <em>tone curve</em>&nbsp;modules.</p> <h3>New <em>rgb curve</em> and <em>rgb levels</em>&nbsp;modules</h3> <p>These two modules use the features of the old <em>levels</em> and <em>tone curve</em> (used in <span class="caps">RGB</span> mode), but work in the <span class="caps">RGB</span> space of the pipeline and use linear <span class="caps">RGB</span> fusion modes (note that the old modules merge in Lab). They also allow to manage <span class="caps">RGB</span> channels separately, and to use the same chrominance preservation logic as <em>filmic</em> in attached channels&nbsp;mode.</p> <p>It is useful to note that the <em><span class="caps">RGB</span> levels</em> module uses exactly the same algorithm as the <em>color balance</em> module in slope, offset, power mode: the black setting corresponds to the offset setting, the grey to the power, and the white to the slope. It is essentially the interface that changes, and the fact that <em><span class="caps">RGB</span> levels</em> assume input values between 0% and 100% and pre-calculate a 16-bit <span class="caps">LUT</span> for the transformation to be applied (technique used 10 years ago to accelerate processing, less useful today), while <em>color balance</em> accepts values between 0 and infinity and directly calculates the exact pixel&nbsp;value.</p> <h2>Major improvements on noise&nbsp;reduction</h2> <p>Several improvements have been made regarding denoise profiled to improve denoising quality and to make user&#8217;s life&nbsp;easier.</p> <h3>Context: how does denoise profiled&nbsp;work</h3> <p>Noise is a quantum phenomenon that generates incoherent <span class="caps">RGB</span> values for certain pixels randomly and that is perceived as luminous or colored &#8220;grain&#8221; that scatter the image where one would expect smooth surfaces. As is often the case in science, when faced with a random phenomenon, we deal with it through the law of large numbers by seeking a statistical distribution that models the random phenomenon, of which two essential parameters are the mean and the&nbsp;variance.</p> <p>Variance is a measure of the dispersion of values around the mean, so in our case it gives information on the typical deviation between the mean and a &#8220;normal&#8221; pixel. The profile allows the variance to be expressed as a function of the&nbsp;mean.</p> <p>A profile is a set of a few parameters (2 per channel and per <span class="caps">ISO</span> value in our case) that describe the way the noise variance change depending on luminosity. It is built using measurements done on test images (that are blurry to be sure that anything that isn&#8217;t blurred is&nbsp;noise).</p> <p>Denoising algorithms are usually made with the assumption that variance does not depend on luminosity. Applying them on data where this hypothesis is not verified gives uneven smoothing of the noise. The profile allows to define a transformation on the image, called a variance stabilization transform (<span class="caps">VST</span>), that produces an image where the variance of the noise becomes constant: after the transform the noise in dark and light areas then has the same characteristics, and the denoising algorithm can do its job much more&nbsp;easily.</p> <h3>New features in denoise profiled to improve noise reduction&nbsp;quality</h3> <p>We have seen that darktable uses two parameters for each channel and <span class="caps">ISO</span> value to perform its variance stabilization&nbsp;transform.</p> <p>An important change introduced was to change the variance stabilization transform to make it more generic. The new variance stabilization transform admits a 3rd parameter allowing to control the amount of denoising on shadows highlights, which helps finding a good balance. Ideally, this parameter should be determined during profiling, but for the moment it is automatically inferred with a heuristic from the 2 known parameters of the profile. It can also be modified manually in the interface. Note that this parameter corresponds to the gamma parameter present in the Rawtherapee noise reduction. This change in variance stabilization transform also provided an opportunity to introduce a bias reduction parameter, which corrects the image when shadows turn purple (which happens regularly at high&nbsp;ISOs).</p> <p>Several new parameters have also been added to the non-local means&nbsp;algorithm.</p> <p>The first parameter added is the scattering parameter, which allows to effectively reduce coarse-grained noise. A small example on a picture of jpg54, with what we used to get (on the left), and what we can get now (on the right). We see that the noise reduction on the left creates a very ugly coarse-grained&nbsp;noise.</p> <p><div style="text-align: center"> <img alt="Impact of scattering parameter" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/nlmeans-scatter.jpg" /> </div></p> <p>Another parameter called “central pixel weight” was added. It mainly controls the details: it allows to recover details (and fine grain noise). When set to high values, the module mainly reduces chrominance noise. <strong>This method is the adviced method if you want to reduce mostly chroma noise.</strong> An example, deliberately a little overdone, with no detail recovery at the top, and a strong detail recovery at the&nbsp;bottom:</p> <p><div style="text-align: center"> <img alt="Impact of central pixel weight" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/nlmeans-details.jpg" /> </div></p> <h3>New features in denoise profiled to improve the user&nbsp;experience</h3> <p>The addition of these new parameters gives a rather complex interface, with many&nbsp;parameters:</p> <p><div style="text-align: center"> <img alt="Denoise profiled's interface" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/noiseparameters.jpg" /> </div></p> <p>An &#8220;auto&#8221; mode has thus been added, which sets the vast majority of parameters on its own based on the profile. This mode has a slider to adjust the proposed automatic setting. Increase the value of this slider if the denoising is unsatisfactory, reduce it if the local contrast is smoothed too much. This setting should be used especially if you have under-exposed your image&nbsp;significantly.</p> <p><div style="text-align: center"> <img alt="Denoise profiled's auto mode" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/noisenlmauto.jpg" /> </div></p> <p>If you change the values in this mode and return to a manual mode, the sliders will be updated, as if you had changed them&nbsp;directly.</p> <p>In addition, the module’s default settings are also automatically adjusted according to the profile, allowing a one-click noise reduction activating the&nbsp;module.</p> <h2>Other important&nbsp;features</h2> <h3>new <em>3D Lut</em>&nbsp;module</h3> <p>The <em>3D lut</em> module has been introduced. It allows to apply 3D matrix to a photo. These matrix allow the module to convert an <span class="caps">RGB</span> value into another <span class="caps">RGB</span> value (for B&amp;W, all <span class="caps">RGB</span> values into grey, black and white values). They are used to simulate silver films or to create colorful universes. This module is the same as the older <em>HaldCLut</em>&nbsp;module.</p> <p><em>3D lut</em> use three types of matrix: .cube files, HaldCLut .png ones and compressed <span class="caps">LUT</span>.</p> <ul> <li>.cube files are text files that are widely used in video and by&nbsp;colorists. </li> <li>HaldCLut.png files are image files. They are smaller than.cube&nbsp;files.</li> </ul> <p><strong>Warning:</strong> <em>These two file types (.cube and.png) being too large, they are not saved in the darktable database or in the .xmp files; only the directory and the file name are saved. This makes it more difficult to share the processing using 3D Lut and these files should not be lost. For another user to be able to redo the processing, it will be necessary to provide him the file (.cube or.png) with the <span class="caps">RAW</span> file and the .xmp without the application of 3d Lut because the link will be different. This correspondent will have to apply the module to Lut&#8217;s directory on his machine and operating&nbsp;system.</em></p> <ul> <li>Compressed <span class="caps">LUT</span> files are compressed.png image files with routines proposed by G&#8217;Mic. Their size allows them to be included in the database and .xmp, so they can be retrieved and transmitted more easily to another user. You can download <a href="http://www.quelsolaar.com/technology/download.html">HaldClut.png files that simulate silver films</a> and <a href="https://www.on1.com/free/luts/?fbclid=IwAR11-LyGrHDpeho_mrwUqKgPpFvgYeye-ed-auxF8nGzHoI0w35ZcESoX8Q">cube&nbsp;files</a></li> </ul> <p>You will also find <a href="https://www.darktable.org/2019/05/New%20module-lut3d/">an article in English</a> which gives links to Lut&nbsp;files.</p> <p><strong>How to use <em>3D lut</em>:</strong></p> <ul> <li>Define a directory to use in the preferences at the end of the <em>core options</em>&nbsp;tab:</li> </ul> <p><div style="text-align: center"> <img alt="lut folder" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/3dLut.png" /> </div></p> <ul> <li>Go in darkroom view and open <em>3D Lut</em> then click on the icon&nbsp;inside:</li> </ul> <p><div style="text-align: center"> <img alt="open lut folder" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/3dLutSelRep.png" /> </div></p> <ul> <li>Opening the files only shows the &#8220;png&#8221; files, so select &#8220;.cube&#8221; or &#8220;all&nbsp;files&#8221;:</li> </ul> <p><div style="text-align: center"> <img alt=".cube et .png file selection" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/3dLutSelfile.png" /> </div></p> <ul> <li>You get this result with a B&amp;W&nbsp;.png:</li> </ul> <p><div style="text-align: center"> <img alt="apply .png black and white Lut" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/3dLutpng.png" /> </div></p> <ul> <li>And this with a color&nbsp;.cube:</li> </ul> <p><div style="text-align: center"> <img alt="apply .cube color Lut" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/3dLutcube.png" /> </div></p> <p>For color space, use sRBG with.png and <span class="caps">REC</span>.709&nbsp;for.cube.</p> <p>The &#8220;tetrahedral&#8221; interpolation method is suitable in the vast majority of cases and it is rare to see the difference with the other two methods (except sometimes with small conversion&nbsp;tables).</p> <h3>Complete rework of <em>tagging</em>&nbsp;module</h3> <p>The <em>tagging</em> module, present in darkroom and lighttable views, has been completely redesigned. Its use is much more intuitive than before. Many functions that previously required complicated handling are now available with one or two clicks. The general appearance has not changed fundamentally: two stack windows, the top one showing the keywords attached to the selected images, the bottom one displaying the keyword dictionary available in darktable. In between, an input field. The comparison before/now stops there due to lot of changes on the windows content and especially manipulations on them that are much more intuitive and better&nbsp;framed.</p> <p><div style="text-align: center"> <img alt="tagging module" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/tagging.png" /> </div></p> <p>The top window (attached keywords) always shows the list of keywords attached to the current selection. These keywords are always presented by line according to darktable&#8217;s own notation (the hierarchy levels are separated by vertical bars,&#8217;|&#8217; pipe in computer language). This is where the similarities with previous module&nbsp;ends.</p> <p>To the left of each keyword is now a small icon that can have three aspects: either nothing at all, or a dash, or a check&nbsp;mark.</p> <ul> <li>Nothing at all: this is a hovered image, but not&nbsp;selected.</li> <li>A dash: the keyword is attached to at least one of the selected&nbsp;images.</li> <li>A check mark: the keyword is attached to all selected&nbsp;images.</li> </ul> <p>To the right of the keywords, in brackets is displayed the number of images indexed by this keyword in the current&nbsp;selection.</p> <p><strong>Big new feature:</strong> a right click on a keyword displays a context menu containing one or two&nbsp;items.</p> <p>One&nbsp;item:</p> <ul> <li><em>Detach the keyword</em> - does exactly what he&nbsp;says!</li> </ul> <p>Two&nbsp;items:</p> <ul> <li><em>Attach the keyword to all selected images</em> - If you have selected a series of images containing different keywords, this item allows you to attach the keyword to all selected images; those that were already labeled remain so, and those that were not become labeled. Very&nbsp;practical!</li> <li><em>Detach the keyword</em> - As&nbsp;above.</li> </ul> <p>At the bottom of the window, the number of buttons has increased from two to five, In addition to the already known <code>attach</code> and <code>release</code> buttons, three more&nbsp;appear:</p> <ul> <li><code>✓</code> allows you to activate or not the display of darktable specific keywords, which considerably reduces the&nbsp;presentation.</li> <li><code>⥮</code> allows you to modify the classification of keywords in the window, either in alphabetical order or according to the number of images&nbsp;labeled.</li> <li><code>-</code> the latter finally displays the hierarchy of each keyword or just the terminal&nbsp;keyword.</li> </ul> <p>The middle entry field always allows you to search for keywords or create new ones. However, for the creation, it will be advantageous to use the new dedicated window, because it allows more things (see below). Finally, a cross button on the right allows you to delete the content of the input&nbsp;field.</p> <p>The bottom window (keyword dictionary) always shows the list of available keywords. A big improvement again, this time it concerns readability: the keyword hierarchies are presented in tree form! In the same way as keywords in the collection filter module or hierarchical styles in the styles module are. As in the attached keyword window, on the left can appear one of the same small icons. Their meaning is as&nbsp;follows:</p> <ul> <li>Nothing at all: this is a keyword available but not used by the currently selected&nbsp;photos.</li> <li>A dash: refers to a hierarchy containing at least one keyword attached to one of the selected&nbsp;images.</li> <li>A check mark: the keyword is attached to one of the selected&nbsp;images.</li> </ul> <p>To the right of the keywords, in brackets, is displayed the number of images indexed by this keyword in <span class="caps">ALL</span> the dictionary, or nothing at all if there are no images attached to this&nbsp;keyword.</p> <p>Another new important feature! As in the attached keyword window, a very complete contextual menu is also accessible by&nbsp;right-clicking:</p> <ul> <li><em>attach the keyword</em> - does exactly what he&nbsp;says&#8230;.</li> <li><em>detach the keyword</em> - same as&nbsp;above</li> <li><em>delete the keyword</em> - same with&nbsp;confirmation!</li> <li><em>delete branch</em> - deletes a keyword and all higher-level hierarchical elements if they are no longer used by any other&nbsp;image.</li> <li><em>create a keyword</em> - open a dialog for creating keywords. It is of course always possible to create a keyword with the input line and the new button, but creating via this option allows more things. The keyword can now be defined here as private. It will therefore not be included in the exported images. You could also affect here a keyword to a category (a category is here to help you structure your keywords). Finally, a synonym can be added to it to make it easier to enter frequently used&nbsp;keywords.</li> <li><em>edit (modify) keyword</em> - allows the modification of the keyword and its attributes described&nbsp;above.</li> <li><em>rename a path (modify branch)</em> - allows you to modify intermediate keywords in a&nbsp;hierarchy.</li> <li><em>copy keyword</em> - allows you to add the keyword in the input field to make it easier to search or&nbsp;create.</li> </ul> <p>To which is added, if the keyword is attached to at least one&nbsp;image:</p> <ul> <li><em>go to the collection linked (indexed) by the keyword</em> - which copies the keyword into the collection filter module to activate related&nbsp;collection.</li> </ul> <p>The buttons under the dictionary window have also been changed from four to five. Previously the four buttons were: <code>new</code>, <code>delete</code>, <code>import</code> and <code>export</code>.</p> <p>Now the buttons&nbsp;are:</p> <ul> <li><code>new</code> - works as before (for creating keywords, see the note on the item &#8220;create&#8230;. &#8220;in the description of the context menu&nbsp;above).</li> <li><code>import</code> - works as&nbsp;before.</li> <li><code>exporter</code>- works as&nbsp;before.</li> <li><code>+</code> Enables/disables suggestions. Is only accessible if the following button is in list&nbsp;mode.</li> <li><code>≣</code> Switches from list view to tree view. Returns the old display (list view) with hierarchies as a line separated by pipes&nbsp;(|).</li> </ul> <p>As before, it is still possible to attach/detach keywords by&nbsp;double-clicking.</p> <p>Last but not least, both windows are now resizable! Simply do a <code>Control</code> + <code>wheel</code> to enlarge or reduce each window individually. This makes it very easy to use the entire right column to comfortably manage your keywords, or to reduce each window to a minimum size to always have your keywords on hand while having another module&nbsp;deployed.</p> <h3>New <em>basic adjustments</em>&nbsp;module</h3> <p><em>basic adjustments</em> allows, as its name suggests, basic adjustments, on essential options in a single module. For the use of this module as well as for the raster masks part who will follows, I chose a <span class="caps">RAW</span> proposed for processing by <a href="https://forums.darktable.fr/showthread.php?tid=3930">@holly76</a>.</p> <p>This module use the two main sliders of <em>exposure</em>:</p> <p><div style="text-align: center"> <img alt="Exposure" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/basicadjustmentsexposition.png" /> </div></p> <p>The three sliders of <em>contrast</em>, <em>brightness</em> and <em>saturation</em>:</p> <p><div style="text-align: center"> <img alt="Contrast, brightness, saturation" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/basicadjustmentsC_L_S.png" /> </div></p> <p><strong>Warning:</strong> <em>Do not use </em>basic adjustments<em> with the modules </em>exposure<em> and </em>contrast brightness saturation<em>. Indeed, this would be like creating a second instance of the module without a mask: </em>preserve color<em> uses the same values as in </em>base curve<em> (options also added in this module on darktable 3.0). It is therefore preferable not to use these two options at the same time and even to use these two modules at the same&nbsp;time.</em></p> <p><strong>An example of&nbsp;processing:</strong></p> <p>I chose this largely underexposed photo. I use the picker with an area that seems to represent a correctly exposed&nbsp;area:</p> <p><div style="text-align: center"> <img alt="Zone selection" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/basicadjustmentspicker.png" /> </div></p> <p>The sliders are adjusted to process this&nbsp;photo: </p> <p><div style="text-align: center"> <img alt="Edited image" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/basicadjustmentscorrection.png" /> </div></p> <p>Using this module allows you to quickly correct a photo that does not require too much processing. It is therefore particularly suitable for simple and fast processing, or to begin in <span class="caps">RAW</span> processing (as shown in this example). The main limitation of this module is that these different parameters usually occur (via the different modules offering them outside this one) at different levels of image processing, so they do not provide quite the same&nbsp;rendering.</p> <p><strong>=&gt; It must not be used with the new <span class="caps">RGB</span> workflow offered by the trilogy: <em>filmic rgb</em>, <em>color balance</em> and <em>tone equalizer</em> to which is added according to needs: <em>rgb curve</em> and <em>rgb levels</em>.</strong></p> <h3>New <em>raster&nbsp;mask</em></h3> <p>Raster masks add a new mode that allows you to reuse a mask from one module to another module. This is particularly interesting with parametric masks: copying the parameters from one module to another would not have been enough because the same parameters do not select the same pixels depending on where you are in the pipe. The raster mask reuses the mask directly, so it does not have this&nbsp;problem.</p> <p><strong>Warning:</strong> <em>The raster mask can only take a mask from a module preceding it in the processing chain. It is also important to be careful not to move a module using a raster mask before the module of the original mask. This can currently lead to undesirable effects (in the worst case, a darktable&nbsp;crash).</em></p> <p>I took the picture above for this example. I started by making a parametric mask on the shadows with the exposure module: <div style="text-align: center"> <img alt="Initial parametric mask" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/M_raster1.png" /> </div></p> <p>Then to lighten the shadows <div style="text-align: center"> <img alt="Lighten shadows" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/M_raster2.png" /> </div></p> <p>Then, to give a little pep to the shadows in the greens, I used the same mask in the color zone with raster mask. To do this, simply select the raster mask option and then choose the raster mask <em>exposure</em>: <div style="text-align: center"> <img alt="Raster mask" src="https://www.darktable.org/blog/2019-12-24-darktable-3.0/en/M_raster3.png" /> </div></p> <h1>Other&nbsp;improvements</h1> <p>The image processing chain (pipeline) has been thoroughly reviewed and optimized. It is now possible to re-order the modules via a <code>Shift+Ctrl+Drag&amp;Drop</code> of these modules in the darkroom or via the instance menu and the up/down&nbsp;options.</p> <p><strong><span class="caps">WARNING</span>:</strong> *It is <span class="caps">VERY</span> <span class="caps">IMPORTANT</span> <span class="caps">TO</span> <span class="caps">UNDERSTAND</span> that moving the modules changes the order in which they are processed, so it affects the rendering of the current image. The default order is safe and optimized for the majority of uses. It is recommended to move a module only if you know what you are doing and what effect it will have on your image. Under no circumstances should this change be used to &#8220;classify&#8221; these&nbsp;modules.</p> <p>The <em>color zones</em> module now displays a histogram based on the &#8220;select by&#8221; option. It is now possible to add and remove nodes to the curve, but these nodes can still be moved with the old size control by checking the edit by area box. There is also a new &#8220;pronounced&#8221; processing option and a new picker that allows you to create a curve based on the selected image&nbsp;area.</p> <p>Some performance and visual improvements are also to be highlighted on the <em>color picker</em> (left panel of the darkroom) and <em>tone curve</em> modules. More generally, many improvements have been made around the selection picker in various darktable&nbsp;locations.</p> <p>A new preference option allows you to develop or fold a darkroom module automatically as soon as it is activated or&nbsp;deactivated.</p> <p>The original export to Picasa has been updated to Google&nbsp;Photos.</p> <p>darktable 3.0 also brings many bug fixes and some other minor improvements probably forgotten here due to this new version so rich in new&nbsp;features.</p> <h1>A 3.0.1 release already on its&nbsp;way</h1> <p>Due to the important changes made by version 3.0, a feature freeze was decided at the beginning of October and new text strings were frozen at the beginning of November. This allowed both time to fix as many bugs as possible and to translators the possibility to offer their translations for darktable 3.0 release on&nbsp;Christmas.</p> <p>Thus, since then, new improvements have already been proposed or are under development. They should be published for 3.0.1, release expected in the first quarter of 2020. Here are some of the main new features expected for this future&nbsp;3.0.1:</p> <ul> <li>A metadata copying functionality between images (keywords, geolocation, notation, color&nbsp;labels&#8230;)</li> <li>Added the possibility to search for several keywords in the collections search field, separated by a simple&nbsp;comma.</li> <li>Different module optimizations: <em>tone equalizer</em>, <em>color zones</em>&#8230;</li> <li>Adding a vibrance slider in <em>basic adjustments</em>&nbsp;module</li> <li>A significant improvement in the transition from displaying a darkroom image, loaded from lighttable (no more weird background display of a part of the lighttable before the full display of the darkroom&nbsp;image)</li> <li>A focus peaking feature (with 3 display levels at the time of writing) that can be activated in both lighttable and darkroom views. This significantly improves the display of sharpness areas of an image, compared to the &#8220;focus detection rectangles&#8221; of the currently available lighttable view (this mode will remain&nbsp;available).</li> <li>The possibility to resize directly and independently, with the mouse, the left and right panels. The size of each panel (left and right) will be stored for each view. It will therefore be possible to have a different size for each side panel, and for each&nbsp;view.</li> <li>The possible addition of a white frame around the image, in darkroom view, according to <span class="caps">ISO</span> 12646:2008 <span class="caps">ICC</span> recommendation. This allows you to visualize the rendering of an image, especially for use at the end of exposure. Be careful, this is a specific use, so the recommendation and practice requires a white frame. Any other color would render the interest of this option&nbsp;obsolete.</li> <li>More precise adjustment of dark tones for parametric masks (logarithmic&nbsp;mode)</li> <li>Re-apply the last keyword to one or more images with a simple keyboard&nbsp;key</li> <li>And some other improvements planned, as well as the usual bug&nbsp;fixes.</li> </ul> <p>This list is not exhaustive and presents the main developments known to&nbsp;date.</p> <h1>About this&nbsp;article</h1> <p>This article is licensed under the terms of the <a href="https://creativecommons.org/licenses/by/2.0/">Attribution 2.0 Generic (<span class="caps">CC</span> <span class="caps">BY</span> 2.0)</a>, or, at your option, the <a href="https://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons <span class="caps">BY</span>-<span class="caps">NC</span>-<span class="caps">SA</span> 3.0 License</a>.</p> <p><strong>Article co-authored by:</strong> <a href="https://github.com/Nilvus">Nilvus</a>, <a href="https://aurelienpierre.com/">aurelienpierre</a>, <a href="https://www.youtube.com/channel/UCEz-0EYZTx03UdQszbL8xDA/videos">rawfiner</a>, <a href="https://www.flickr.com/photos/113336874@N07/">jpg54</a>, <a href="http://jpverrue.fr">jpv</a>, Ro_G, <a href="https://matthieu-moy.fr/">Matthieu Moy</a>. And thanks to the proofreaders who&nbsp;helped.</p> <p>Bruce Williams published two videos about darktable 3.0. The <a href="https://www.youtube.com/watch?v=CULgLjOZEZw">first one</a> is based on this article and illustrate it. The <a href="https://www.youtube.com/watch?v=h9XiMuK3UPk">second one</a> just complete the &#8220;minor&#8221; improvements not detailled here. Each videos is about 20 minutes and a good viewing thing to really learn what darktable 3.0 brings to&nbsp;you.</p><img src="https://www.darktable.org/2019/12/darktable-30/vulture.jpg" class="hidden-lede">NilvusTue, 24 Dec 2019 00:00:00 +0000tag:www.darktable.org,2019-12-24:2019/12/darktable-30/announcementdarktable-releasedarktable 3.0.0rc2 releasedhttps://www.darktable.org/2019/11/darktable-300rc2-released/<p>We&#8217;re proud to announce the third release candidate for the upcoming 3.0 series of darktable,&nbsp;3.0.0rc2!</p> <p>The github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-3.0.0rc2">https://github.com/darktable-org/darktable/releases/tag/release-3.0.0rc2</a>.</p> <p>As always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-3.0.0.rc2.tar.xz ccd3680603343a7134d40f73acc377a3dc644a680e859e9750da4ae7e25adbcc darktable-3.0.0.rc2.tar.xz $ sha256sum darktable-3.0.0.rc2.dmg 1593cb61593f6c800e0dc5c54fd73d083b60e6cc5035a366a88d147f3c6816a3 darktable-3.0.0.rc2.dmg $ sha256sum darktable-3.0.0.rc2.exe 0a25b20c63a8257869fe6e25fa313004330e827364da7cc4fda0a47791c54f17 darktable-3.0.0.rc2.exe </pre></div> <p>When updating from the currently stable 2.6.x series, please bear in mind that your edits will be preserved during this process, but the new library and configuration will not be usable with 2.6.x any more, so making a backup is strongly&nbsp;advised.</p> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <ul> <li>Almost 3 thousand commits to darktable+rawspeed since&nbsp;2.6</li> <li>553 pull requests&nbsp;handled</li> <li>66 issues&nbsp;closed</li> <li>Updated user manual is coming&nbsp;soon™</li> </ul> <h2>The Big&nbsp;Ones</h2> <ul> <li> <p>A full rework of the <span class="caps">GUI</span>. The whole <span class="caps">GUI</span> is now fully controlled by <a href="https://developer.gnome.org/gtk3/stable/chap-css-overview.html"><span class="caps">GTK</span>+ <span class="caps">CSS</span> rules</a>. There is no more size, color, position in Gtk C code, which makes the whole <span class="caps">GUI</span> themable. This version comes with several&nbsp;themes:</p> <ul> <li> <p>darktable : the default&nbsp;theme</p> </li> <li> <p>darktable-elegant-darker : more condensed fonts best experience with Roboto font&nbsp;installed</p> </li> <li> <p>darktable-icons-darker : as elegant, with module icons best experience with Roboto font&nbsp;installed</p> </li> <li> <p>darktable-elegant-dark : lighter&nbsp;version</p> </li> <li> <p>darktable-elegant-grey : even lighter&nbsp;version</p> </li> <li> <p>darktable-icons-dark : lighter version. with module&nbsp;icons</p> </li> <li>darktable-icons-grey : even lighter version, with module&nbsp;icons</li> </ul> </li> </ul> <p>New shortcuts have been introduced to quickly collapse borders, sidebars, histogram and navigation modules, allowing a new borderless editing&nbsp;experience.</p> <p>Note that the new <span class="caps">GUI</span> requires Gtk+ 3.22 or higher to work&nbsp;properly.</p> <ul> <li> <p>It&#8217;s now possible to associate dynamic key shortcuts to sliders, then use them with the mouse wheel or arrow keys to move the value up and down. For example, associating the <kbd>E</kbd> key to the exposure slider, you can press it and scroll to increase the exposure without having to open the module. You get fast heads-up access to all your favorite settings, as if you were using a dedicated multimedia&nbsp;console.</p> </li> <li> <p>The color picker on the &#8216;tone curve&#8217;, &#8216;color zones&#8217; and &#8216;fill light&#8217; modules, as well as the parametric mask controls, now allows you to select an area when enabled by using <kbd>Ctrl+click</kbd> on the&nbsp;button.</p> </li> <li> <p>Added undo/redo support in lighttable for tags, color labels, ratings, metadata, deleted history stack, pasted history stack and applied&nbsp;styles.</p> </li> </ul> <p><span class="caps">IMPORTANT</span>: The &#8216;preview&#8217; and &#8216;preview with focus detection&#8217; actions (previously <kbd>Z</kbd> and <kbd>Ctrl+Z</kbd> respectively) are now assigned to <kbd>W</kbd> and <kbd>Ctrl+W</kbd> in order to follow the convention of using <kbd>Ctrl+Z</kbd> for the &#8220;undo&#8221; function (<kbd>Ctrl+Y</kbd> for&nbsp;redo).</p> <ul> <li> <p>A new timeline view has been introduced in the&nbsp;lighttable.</p> </li> <li> <p>A new &#8216;culling&#8217; mode has been added to the lightable view. It displays a fixed number of consecutive images starting from the first selected, and allows you to pan <span class="amp">&amp;</span> zoom them. The number of displayed images can be set by the user, and they can be navigated with the mouse wheel and&nbsp;keyboard.</p> </li> <li> <p>A quite extensive rewrite of the lighttable view (including the filmstrip in darkroom view) has been made to greatly improve the overall performance. The lighttable is now usable on 4K and 5K&nbsp;monitors.</p> </li> <li> <p>Added support for the new &#8216;raster mask&#8217;, a copy of a parametric mask which is stable during the whole&nbsp;pixel-pipe.</p> </li> <li> <p>The processing order of the pixel-pipe can now be changed by using <kbd>Ctrl+Shift+drag</kbd> on the module headers to arrange them relative to each other. It is <span class="caps">VERY</span> <span class="caps">IMPORTANT</span> to understand that this feature is <span class="caps">NOT</span> for creating a more convenient <span class="caps">GUI</span> layout, but for changing the actual processing of the image. <span class="caps">DO</span> <span class="caps">NOT</span> <span class="caps">USE</span> <span class="caps">THIS</span> <span class="caps">FEATURE</span> unless you understand the reason behind the default ordering, and have a specific reason for changing it. The default order is still the correct order for most&nbsp;purposes.</p> </li> <li> <p>The &#8216;color zones&#8217; module now shows a histogram based on the chosen ‘select by’ channel, and if the color picker is in &#8216;select area&#8217; mode, the range within the selected area will also be shown. By default, the spline adjustment is now similar to the curve controls, allowing you to add and delete nodes, but these nodes can still be moved with the old-style size control by selecting the &#8216;edit by area&#8217; checkbox. There is also a new &#8216;strong&#8217; processing option, and a new color picker which creates a curve based on selected image&nbsp;area.</p> </li> <li> <p>A new module &#8216;filmic <span class="caps">RGB</span>&#8217; which, like the previous &#8216;filmic&#8217;, is designed to replace &#8216;base curve&#8217;, &#8216;shadows and highlights&#8217; and other global tone-mapping modules. This new version replaces the one introduced in 2.6.2; it should be easier to use, and it will reduce color casts. The old &#8216;filmic&#8217; module is now deprecated and is only available on images where it was already used for&nbsp;editing.</p> </li> <li> <p>A new module &#8216;tone equalizer&#8217; is designed to merge the features of &#8216;zone system&#8217;, &#8216;shadows and highlights&#8217;, and (local) &#8216;tone mapping&#8217; modules in a scene-referred <span class="caps">RGB</span> space. It brings an easy and safe way to remap tones locally, performing a quick zone-based dodging and burning using Ansel Adam&#8217;s zone system logic. The module provides an interface similar to audio graphic equalizers, with 9 bands (available as fixed sliders or nodes on a spline view), allowing you to selectively push or pull the exposure for each band in the range from blacks to specular highlights. It also features an interactive cursor that allows to push or pull the exposure gains directly from the image preview by simply hovering over an area and scrolling. It uses a guided filter internally to refine the dodging and burning mask, which preserves local contrast without producing halos along&nbsp;edges.</p> </li> </ul> <h2>New Features And&nbsp;Changes</h2> <ul> <li> <p>A new module for handling 3D <span class="caps">RGB</span> Lut transformations (<span class="caps">PNG</span> Hald-<span class="caps">CLUT</span> and Cube files are&nbsp;supported).</p> </li> <li> <p>Many improvements to the &#8216;denoise (profiled)&#8217; module. The degree of shadow denoising can be controlled, including the correction of color casts (mainly improves high-<span class="caps">ISO</span> images). &#8220;Auto&#8221; modes which infer some parameters from the profile are available, allowing users to create presets which are adaptive to various <span class="caps">ISO</span> values. The default values of the sliders are also adapted dynamically on module activation, giving a good trade-off between noise smoothing and detail preservation. The non-local means mode has 2 new options: one to coarse-grain denoising, and one to control the amount of fine detail to preserve. The controls now have soft boundaries, which means that users can use the keyboard to enter values outside the range of the sliders if they need&nbsp;to.</p> </li> <li> <p>Along with selecting the &#8216;soft proof&#8217; color profile, users can now select an additional profile for the color space of the histogram, color picker and overexposed checker. When gamut or softproof checks are active the histogram and color picker use the softproof profile, otherwise they use the new histogram profile (which is always used for overexposure&nbsp;checking).</p> </li> <li> <p>A new setting for &#8216;working profile&#8217; has been added to the input color profile module. This color space will be used by <span class="caps">RGB</span> modules between the input and output color profile&nbsp;modules.</p> </li> <li> <p>A new color picker has been added to the parametric masking controls which adjusts the range sliders based on the selected area from the image. Click the picker button to adjust the input image slider, <kbd>Ctrl+click</kbd> the button to adjust the output image&nbsp;slider.</p> </li> <li> <p>The &#8216;picasa&#8217; target storage in the export module has been completely rewritten to support the new Google Photo <span class="caps">API</span>, and renamed &#8216;google photos&#8217;. It is again possible to create albums directly from the export&nbsp;module.</p> </li> <li> <p>A new single-line image information display can be positioned at the top (left, right, or center) or bottom (center) of the darkroom view to replace the information previously overlaid on the histogram. The specific information shown can be configured in&nbsp;preferences.</p> </li> <li> <p>The &#8216;tagging&#8217; module is faster, and can now display hierarchical tags in a tree view. Tags can now be designated as &#8216;private&#8217; (not exported by default), &#8216;synonym&#8217; (to help search engines), and &#8216;category&#8217; (not exported, for organizing the tag library). The metadata exported with images can now be configured in the &#8216;export selected&#8217; module, allowing you to choose which main types are exported, as well as define values for specific tags based on&nbsp;formulas.</p> </li> <li> <p>Many code optimizations for <span class="caps">CPU</span> and <span class="caps">SSE</span> paths. The tone equalizer module introduces a new optimization paradigm (<span class="caps">GCC</span> target clones), aimed toward users of pre-built Linux packages. The image-processing code will be cloned for several <span class="caps">CPU</span> generations (<span class="caps">SSE2</span>, <span class="caps">SSE3</span>, <span class="caps">SSE4</span>, <span class="caps">AVX</span>, <span class="caps">AVX2</span>) at compilation time, and the best-suited version of the code will be chosen by the system at run time. This experiment is to be generalized to other modules if proven successful, and will allow users of pre-built packages to get the same performance as if the program was specifically compiled for their computer. It needs <span class="caps">GCC</span> 9 compiler and does not yet work on Windows due to the lack of support of target clones on the <span class="caps">OS</span>&nbsp;side.</p> </li> <li> <p>A new preference to expand/collapse a darkroom module when it is&nbsp;activated/deactivated.</p> </li> <li> <p>The &#8216;collect images&#8217; module has a new single-click option featuring range selection for date-time and numeric&nbsp;values.</p> </li> <li> <p>The orientation of drawn masks using the &#8216;gradient&#8217; shape is now clearly displayed with an&nbsp;arrow.</p> </li> <li> <p>The &#8216;graduated density&#8217; module has better accuracy when computing the rotation to avoid sporadic flipping of the&nbsp;gradient.</p> </li> <li> <p>Make sure the OpenCL kernel code is recompiled when the driver version is&nbsp;updated.</p> </li> <li> <p>Add color pickers for &#8216;split toning&#8217;, &#8216;graduated density&#8217; and &#8216;watermark&#8217;&nbsp;modules.</p> </li> <li> <p>The color picker positions are kept during editing within a&nbsp;module.</p> </li> <li> <p>The map view can zoom on the images of the selected&nbsp;collection.</p> </li> <li> <p>The slideshow will now start at the selected images if any, and supports changing the delay between images. It will also now be more responsive when manually moving backward and forward through the&nbsp;images.</p> </li> <li> <p>A new &#8216;basic adjustments&#8217; module has been added. It allows to adjust the black level, exposure, highlight compression, contrast, middle grey, brightness and saturation. It also has an auto feature based on Rawtherapee&#8217;s auto levels that can work on the entire image or a user selected&nbsp;area.</p> </li> <li> <p>A new &#8216;rgb curve&#8217; module has been added. It has modes for linked and independent <span class="caps">RGB</span> channels. The curves and histogram can be displayed using the working profile or can be scaled to be 50% grey. A secondary color picker will add 4 nodes to the curve based on the area selected in the image: min, average, middle, and&nbsp;max.</p> </li> <li> <p>A new &#8216;rgb levels&#8217; module has been added. It has linked and independent channels, preserve colors option and is native <span class="caps">RGB</span>.</p> </li> <li> <p>A new search box has been added to the module groups in the darkroom view, with configuration options to show only the module groups, only the search box, or both. Modules are searched for by (localized) name, and when displaying only the search box, the active modules are shown when the box is empty. A shortcut can be set for focusing the&nbsp;box.</p> </li> <li> <p>A preview window has been added to the darkroom that displays the edited image on a separate&nbsp;window.</p> </li> <li> <p>A new option &#8216;skip&#8217; is added to the &#8216;on conflict&#8217; setting on the export module which skips the exporting to existing destination&nbsp;files.</p> </li> <li> <p>Allow to switch between clone/heal and blur/color modes in &#8216;retouch&#8217; module after creating a&nbsp;shape.</p> </li> <li> <p>An accels window has been added to summarize all available shortcuts and mouse actions available in the current&nbsp;context.</p> </li> <li> <p>Dynamic shortcuts have been added for darkroom module sliders. They allow to change slider values with an accel + mouse&nbsp;scroll.</p> </li> <li> <p>A zoom <span class="amp">&amp;</span> pan feature has been added to lighttable full&nbsp;preview..</p> </li> </ul> <h2>Bug&nbsp;fixes</h2> <ul> <li> <p>The color picker support has been fixed by a complete rewrite. It should now give correct values in all&nbsp;cases.</p> </li> <li> <p>Fix overexposed&nbsp;display.</p> </li> <li> <p>Do not disable <span class="caps">SSL</span> for storage&nbsp;modules.</p> </li> <li> <p>A long standing bug on mask distort in Liquify module has been fixed. This was visible when a liquify mask was used together with the perspective correction module&nbsp;activated.</p> </li> <li> <p>A bug on mask distort from crop <span class="amp">&amp;</span> rotate when using flip and some angle has been&nbsp;fixed.</p> </li> <li> <p>Fix manual crop in perspective correction module when not in default&nbsp;orientation.</p> </li> <li> <p>The modification of date/time is now stored into the <span class="caps">XMP</span>. This ensures that removing the picture and reloading will keep the&nbsp;changes.</p> </li> <li> <p>Fix orientation to support all cases as exposed in these examples:&nbsp;https://github.com/recurser/exif-orientation-examples</p> </li> <li> <p>Store the panel states for each lighttable&nbsp;mode.</p> </li> <li> <p>Fix crop&amp;rotate and orientation in the lightroom&nbsp;importer.</p> </li> <li> <p>Fix ProPhoto <span class="caps">RGB</span>&nbsp;profile.</p> </li> <li> <p>Fix exif lens metadata parsing containing&nbsp;comma.</p> </li> </ul> <h2>Lua</h2> <ul> <li> <p>The displayed image in darkroom view can now be&nbsp;changed.</p> </li> <li> <p><span class="caps">GUI</span> panel visibility can now be queried and&nbsp;changed.</p> </li> <li> <p>Lighttable view toolbox (rating filter, rating comparator, sort field, and sort direction) can now be&nbsp;changed.</p> </li> <li> <p>Lighttable layout and zoom level can now be&nbsp;changed.</p> </li> <li> <p>All images containing a specific tag can be searched and&nbsp;returned.</p> </li> </ul> <h2>Changed&nbsp;Dependencies</h2> <ul> <li>CMake 3.10 is now&nbsp;required.</li> <li>OpenMP 4.0 is now required (optional&nbsp;dependency).</li> </ul> <h2>RawSpeed&nbsp;changes</h2> <h3>Changed&nbsp;Dependencies</h3> <ul> <li>CMake 3.10 is now&nbsp;required.</li> <li>Pugixml 1.8 is now&nbsp;required.</li> <li>OpenMP 4.0 is now required (optional&nbsp;dependency).</li> <li><span class="caps">POSIX</span> threads are no longer&nbsp;required.</li> <li>zlib 1.2.11 is now required (optional&nbsp;dependency).</li> </ul> <h3>Changes</h3> <ul> <li>Threading was migrated to OpenMP from <span class="caps">POSIX</span>&nbsp;threads.</li> <li>Phase One <span class="caps">IIQ</span> decompressor fixes (quadrant scaling, bad&nbsp;column).</li> <li>Large-scale code cleanup, hardening is still a work in&nbsp;progress.</li> <li>A CMake infrastructure was added to allow integration of RawSpeed into <span class="caps">LLVM</span> <span class="caps">LNT</span> /&nbsp;Test-Suite.</li> <li>Widespread performance tuning, most affected&nbsp;decompressors:</li> <li>Sony <span class="caps">ARW2</span></li> <li>Panasonic&nbsp;V5</li> <li>Samsung&nbsp;V1</li> <li>Phase&nbsp;One</li> <li>Continuation of collaboration with <span class="caps">LLVM</span> Compiler Infrastructure&nbsp;Project.</li> </ul> <h2>Camera support, compared to&nbsp;2.6.0</h2> <h3>Base&nbsp;Support</h3> <ul> <li>Epson&nbsp;R-D1s</li> <li>Epson&nbsp;R-D1x</li> <li>Fujifilm FinePix <span class="caps">F770EXR</span></li> <li>Fujifilm FinePix&nbsp;S7000</li> <li>Fujifilm <span class="caps">GFX</span> 50R&nbsp;(compressed)</li> <li>Fujifilm X-T30&nbsp;(compressed)</li> <li>Fujifilm <span class="caps">XF10</span></li> <li>Kodak <span class="caps">DCS</span> Pro&nbsp;14N</li> <li>Kodak EasyShare&nbsp;Z981</li> <li>Kodak EasyShare&nbsp;Z990</li> <li>Leica C (Typ 112)&nbsp;(4:3)</li> <li>Leica <span class="caps">CL</span>&nbsp;(dng)</li> <li>Leica Q (Typ 116)&nbsp;(dng)</li> <li>Leica Q2&nbsp;(dng)</li> <li>Leica <span class="caps">SL</span> (Typ 601)&nbsp;(dng)</li> <li>Leica V-<span class="caps">LUX</span> (Typ 114) (3:2, 4:3, 16:9,&nbsp;1:1)</li> <li>Nikon Z 6 (14bit-uncompressed,&nbsp;12bit-uncompressed)</li> <li>Nikon Z 7&nbsp;(14bit-uncompressed)</li> <li>Olympus E-<span class="caps">M1X</span></li> <li>Olympus <span class="caps">TG</span>-6</li> <li>Panasonic <span class="caps">DC</span>-G90&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-G91&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-G95&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-G99&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">ZS200</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TX1</span>&nbsp;(3:2)</li> <li>Phase One&nbsp;P30</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX0M2</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M6</span></li> <li>Sony <span class="caps">ILCE</span>-6400</li> <li>Sony <span class="caps">ILCE</span>-<span class="caps">7RM4</span></li> </ul> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Leica&nbsp;Q2</li> <li>Nikon&nbsp;D500</li> <li>Nikon Z&nbsp;7</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">LX100M2</span></li> <li>Sony <span class="caps">ILCE</span>-6400</li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Leica&nbsp;Q2</li> <li>Nikon&nbsp;D3</li> <li>Nikon&nbsp;D3500</li> <li>Nikon Z&nbsp;6</li> <li>Nikon Z&nbsp;7</li> <li>Olympus E-<span class="caps">PL8</span></li> <li>Olympus E-<span class="caps">PL9</span></li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">LX100M2</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M5A</span></li> <li>Sony <span class="caps">ILCE</span>-6400</li> <li>Sony <span class="caps">SLT</span>-A35</li> </ul> <h2>Translations</h2> <ul> <li>Afrikaans</li> <li>Albanian</li> <li>Chinese</li> <li>Czech</li> <li>Dutch</li> <li>Finnish</li> <li>French</li> <li>Galician</li> <li>German</li> <li>Hebrew</li> <li>Hungarian</li> <li>Italian</li> <li>Japanese</li> <li>Nepal</li> <li>Norwegian&nbsp;Bokmål</li> <li>Polish</li> <li>Portuguese</li> <li>Romanian</li> <li>Russian</li> <li>Slovenian</li> <li>Thai</li> </ul><img src="https://www.darktable.org/2019/11/darktable-300rc2-released/paysage.jpg" class="hidden-lede">Pascal ObryThu, 28 Nov 2019 18:08:00 +0000tag:www.darktable.org,2019-11-28:2019/11/darktable-300rc2-released/announcementdarktable releasedarktable 3.0.0rc1 releasedhttps://www.darktable.org/2019/11/darktable-300rc1-released/<p>We&#8217;re proud to announce the second release candidate for the upcoming 3.0 series of darktable,&nbsp;3.0.0rc1!</p> <p>The github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-3.0.0rc1">https://github.com/darktable-org/darktable/releases/tag/release-3.0.0rc1</a>.</p> <p>As always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-3.0.0rc1.tar.xz 06d167889d630f58060401a08e81d3bae44c49c0303647f1d0b58960da4b89da darktable-3.0.0rc1.tar.xz $ sha256sum darktable-3.0.0rc1.dmg eb874c80648b26c3b91db7ff77fadef858bd24fcccd63da1ebfdd97a896c00e5 darktable-3.0.0rc1.dmg $ sha256sum darktable-3.0.0rc1.exe d68abb6bd62c92bd2969de26f04364a842b46dfeb2912f9481e0a54deaea3044 darktable-3.0.0rc1.exe </pre></div> <p>When updating from the currently stable 2.6.x series, please bear in mind that your edits will be preserved during this process, but the new library and configuration will not be usable with 2.6.x any more, so making a backup is strongly&nbsp;advised.</p> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <ul> <li>Almost 3 thousand commits to darktable+rawspeed since&nbsp;2.6</li> <li>553 pull requests&nbsp;handled</li> <li>66 issues&nbsp;closed</li> <li>Updated user manual is coming&nbsp;soon™</li> </ul> <h2>The Big&nbsp;Ones</h2> <ul> <li> <p>A full rework of the <span class="caps">GUI</span>. The whole <span class="caps">GUI</span> is now fully controlled by <a href="https://developer.gnome.org/gtk3/stable/chap-css-overview.html"><span class="caps">GTK</span>+ <span class="caps">CSS</span> rules</a>. There is no more size, color, position in Gtk C code, which makes the whole <span class="caps">GUI</span> themable. This version comes with several&nbsp;themes:</p> <ul> <li> <p>darktable : the default&nbsp;theme</p> </li> <li> <p>darktable-elegant-darker : more condensed fonts best experience with Roboto font&nbsp;installed</p> </li> <li> <p>darktable-icons-darker : as elegant, with module icons best experience with Roboto font&nbsp;installed</p> </li> <li> <p>darktable-elegant-dark : lighter&nbsp;version</p> </li> <li> <p>darktable-elegant-grey : even lighter&nbsp;version</p> </li> <li> <p>darktable-icons-dark : lighter version. with module&nbsp;icons</p> </li> <li>darktable-icons-grey : even lighter version, with module&nbsp;icons</li> </ul> </li> </ul> <p>New shortcuts have been introduced to quickly collapse borders, sidebars, histogram and navigation modules, allowing a new borderless editing&nbsp;experience.</p> <p>Note that the new <span class="caps">GUI</span> requires Gtk+ 3.22 or higher to work&nbsp;properly.</p> <ul> <li> <p>It&#8217;s now possible to associate dynamic key shortcuts to sliders, then use them with the mouse wheel or arrow keys to move the value up and down. For example, associating the <kbd>E</kbd> key to the exposure slider, you can press it and scroll to increase the exposure without having to open the module. You get fast heads-up access to all your favorite settings, as if you were using a dedicated multimedia&nbsp;console.</p> </li> <li> <p>The color picker on the &#8216;tone curve&#8217;, &#8216;color zones&#8217; and &#8216;fill light&#8217; modules, as well as the parametric mask controls, now allows you to select an area when enabled by using <kbd>Ctrl+click</kbd> on the&nbsp;button.</p> </li> <li> <p>Added undo/redo support in lighttable for tags, color labels, ratings, metadata, deleted history stack, pasted history stack and applied&nbsp;styles.</p> </li> </ul> <p><span class="caps">IMPORTANT</span>: The &#8216;preview&#8217; and &#8216;preview with focus detection&#8217; actions (previously <kbd>Z</kbd> and <kbd>Ctrl+Z</kbd> respectively) are now assigned to <kbd>W</kbd> and <kbd>Ctrl+W</kbd> in order to follow the convention of using <kbd>Ctrl+Z</kbd> for the &#8220;undo&#8221; function (<kbd>Ctrl+Y</kbd> for&nbsp;redo).</p> <ul> <li> <p>A new timeline view has been introduced in the&nbsp;lighttable.</p> </li> <li> <p>A new &#8216;culling&#8217; mode has been added to the lightable view. It displays a fixed number of consecutive images starting from the first selected, and allows you to pan <span class="amp">&amp;</span> zoom them. The number of displayed images can be set by the user, and they can be navigated with the mouse wheel and&nbsp;keyboard.</p> </li> <li> <p>A quite extensive rewrite of the lighttable view (including the filmstrip in darkroom view) has been made to greatly improve the overall performance. The lighttable is now usable on 4K and 5K&nbsp;monitors.</p> </li> <li> <p>Added support for the new &#8216;raster mask&#8217;, a copy of a parametric mask which is stable during the whole&nbsp;pixel-pipe.</p> </li> <li> <p>The processing order of the pixel-pipe can now be changed by using <kbd>Ctrl+Shift+drag</kbd> on the module headers to arrange them relative to each other. It is <span class="caps">VERY</span> <span class="caps">IMPORTANT</span> to understand that this feature is <span class="caps">NOT</span> for creating a more convenient <span class="caps">GUI</span> layout, but for changing the actual processing of the image. <span class="caps">DO</span> <span class="caps">NOT</span> <span class="caps">USE</span> <span class="caps">THIS</span> <span class="caps">FEATURE</span> unless you understand the reason behind the default ordering, and have a specific reason for changing it. The default order is still the correct order for most&nbsp;purposes.</p> </li> <li> <p>The &#8216;color zones&#8217; module now shows a histogram based on the chosen ‘select by’ channel, and if the color picker is in &#8216;select area&#8217; mode, the range within the selected area will also be shown. By default, the spline adjustment is now similar to the curve controls, allowing you to add and delete nodes, but these nodes can still be moved with the old-style size control by selecting the &#8216;edit by area&#8217; checkbox. There is also a new &#8216;strong&#8217; processing option, and a new color picker which creates a curve based on selected image&nbsp;area.</p> </li> <li> <p>A new module &#8216;filmic <span class="caps">RGB</span>&#8217; which, like the previous &#8216;filmic&#8217;, is designed to replace &#8216;base curve&#8217;, &#8216;shadows and highlights&#8217; and other global tone-mapping modules. This new version replaces the one introduced in 2.6.2; it should be easier to use, and it will reduce color casts. The old &#8216;filmic&#8217; module is now deprecated and is only available on images where it was already used for&nbsp;editing.</p> </li> <li> <p>A new module &#8216;tone equalizer&#8217; is designed to merge the features of &#8216;zone system&#8217;, &#8216;shadows and highlights&#8217;, and (local) &#8216;tone mapping&#8217; modules in a scene-referred <span class="caps">RGB</span> space. It brings an easy and safe way to remap tones locally, performing a quick zone-based dodging and burning using Ansel Adam&#8217;s zone system logic. The module provides an interface similar to audio graphic equalizers, with 9 bands (available as fixed sliders or nodes on a spline view), allowing you to selectively push or pull the exposure for each band in the range from blacks to specular highlights. It also features an interactive cursor that allows to push or pull the exposure gains directly from the image preview by simply hovering over an area and scrolling. It uses a guided filter internally to refine the dodging and burning mask, which preserves local contrast without producing halos along&nbsp;edges.</p> </li> </ul> <h2>New Features And&nbsp;Changes</h2> <ul> <li> <p>A new module for handling 3D <span class="caps">RGB</span> Lut transformations (<span class="caps">PNG</span> Hald-<span class="caps">CLUT</span> and Cube files are&nbsp;supported).</p> </li> <li> <p>Many improvements to the &#8216;denoise (profiled)&#8217; module. The degree of shadow denoising can be controlled, including the correction of color casts (mainly improves high-<span class="caps">ISO</span> images). &#8220;Auto&#8221; modes which infer some parameters from the profile are available, allowing users to create presets which are adaptive to various <span class="caps">ISO</span> values. The default values of the sliders are also adapted dynamically on module activation, giving a good trade-off between noise smoothing and detail preservation. The non-local means mode has 2 new options: one to coarse-grain denoising, and one to control the amount of fine detail to preserve. The controls now have soft boundaries, which means that users can use the keyboard to enter values outside the range of the sliders if they need&nbsp;to.</p> </li> <li> <p>Along with selecting the &#8216;soft proof&#8217; color profile, users can now select an additional profile for the color space of the histogram, color picker and overexposed checker. When gamut or softproof checks are active the histogram and color picker use the softproof profile, otherwise they use the new histogram profile (which is always used for overexposure&nbsp;checking).</p> </li> <li> <p>A new setting for &#8216;working profile&#8217; has been added to the input color profile module. This color space will be used by <span class="caps">RGB</span> modules between the input and output color profile&nbsp;modules.</p> </li> <li> <p>A new color picker has been added to the parametric masking controls which adjusts the range sliders based on the selected area from the image. Click the picker button to adjust the input image slider, <kbd>Ctrl+click</kbd> the button to adjust the output image&nbsp;slider.</p> </li> <li> <p>The &#8216;picasa&#8217; target storage in the export module has been completely rewritten to support the new Google Photo <span class="caps">API</span>, and renamed &#8216;google photos&#8217;. It is again possible to create albums directly from the export&nbsp;module.</p> </li> <li> <p>A new single-line image information display can be positioned at the top (left, right, or center) or bottom (center) of the darkroom view to replace the information previously overlaid on the histogram. The specific information shown can be configured in&nbsp;preferences.</p> </li> <li> <p>The &#8216;tagging&#8217; module is faster, and can now display hierarchical tags in a tree view. Tags can now be designated as &#8216;private&#8217; (not exported by default), &#8216;synonym&#8217; (to help search engines), and &#8216;category&#8217; (not exported, for organizing the tag library). The metadata exported with images can now be configured in the &#8216;export selected&#8217; module, allowing you to choose which main types are exported, as well as define values for specific tags based on&nbsp;formulas.</p> </li> <li> <p>Many code optimizations for <span class="caps">CPU</span> and <span class="caps">SSE</span> paths. The tone equalizer module introduces a new optimization paradigm (<span class="caps">GCC</span> target clones), aimed toward users of pre-built Linux packages. The image-processing code will be cloned for several <span class="caps">CPU</span> generations (<span class="caps">SSE2</span>, <span class="caps">SSE3</span>, <span class="caps">SSE4</span>, <span class="caps">AVX</span>, <span class="caps">AVX2</span>) at compilation time, and the best-suited version of the code will be chosen by the system at run time. This experiment is to be generalized to other modules if proven successful, and will allow users of pre-built packages to get the same performance as if the program was specifically compiled for their computer. It needs <span class="caps">GCC</span> 9 compiler and does not yet work on Windows due to the lack of support of target clones on the <span class="caps">OS</span>&nbsp;side.</p> </li> <li> <p>A new preference to expand/collapse a darkroom module when it is&nbsp;activated/deactivated.</p> </li> <li> <p>The &#8216;collect images&#8217; module has a new single-click option featuring range selection for date-time and numeric&nbsp;values.</p> </li> <li> <p>The orientation of drawn masks using the &#8216;gradient&#8217; shape is now clearly displayed with an&nbsp;arrow.</p> </li> <li> <p>The &#8216;graduated density&#8217; module has better accuracy when computing the rotation to avoid sporadic flipping of the&nbsp;gradient.</p> </li> <li> <p>Make sure the OpenCL kernel code is recompiled when the driver version is&nbsp;updated.</p> </li> <li> <p>Add color pickers for &#8216;split toning&#8217;, &#8216;graduated density&#8217; and &#8216;watermark&#8217;&nbsp;modules.</p> </li> <li> <p>The color picker positions are kept during editing within a&nbsp;module.</p> </li> <li> <p>The map view can zoom on the images of the selected&nbsp;collection.</p> </li> <li> <p>The slideshow will now start at the selected images if any, and supports changing the delay between images. It will also now be more responsive when manually moving backward and forward through the&nbsp;images.</p> </li> <li> <p>A new &#8216;basic adjustments&#8217; module has been added. It allows to adjust the black level, exposure, highlight compression, contrast, middle grey, brightness and saturation. It also has an auto feature based on Rawtherapee&#8217;s auto levels that can work on the entire image or a user selected&nbsp;area.</p> </li> <li> <p>A new &#8216;rgb curve&#8217; module has been added. It has modes for linked and independent <span class="caps">RGB</span> channels. The curves and histogram can be displayed using the working profile or can be scaled to be 50% grey. A secondary color picker will add 4 nodes to the curve based on the area selected in the image: min, average, middle, and&nbsp;max.</p> </li> <li> <p>A new &#8216;rgb levels&#8217; module has been added. It has linked and independent channels, preserve colors option and is native <span class="caps">RGB</span>.</p> </li> <li> <p>A new search box has been added to the module groups in the darkroom view, with configuration options to show only the module groups, only the search box, or both. Modules are searched for by (localized) name, and when displaying only the search box, the active modules are shown when the box is empty. A shortcut can be set for focusing the&nbsp;box.</p> </li> <li> <p>A preview window has been added to the darkroom that displays the edited image on a separate&nbsp;window.</p> </li> <li> <p>A new option &#8216;skip&#8217; is added to the &#8216;on conflict&#8217; setting on the export module which skips the exporting to existing destination&nbsp;files.</p> </li> <li> <p>Allow to switch between clone/heal and blur/color modes in &#8216;retouch&#8217; module after creating a&nbsp;shape.</p> </li> <li> <p>An accels window has been added to summarize all available shortcuts and mouse actions available in the current&nbsp;context.</p> </li> <li> <p>Dynamic shortcuts have been added for darkroom module sliders. They allow to change slider values with an accel + mouse&nbsp;scroll.</p> </li> <li> <p>A zoom <span class="amp">&amp;</span> pan feature has been added to lighttable full&nbsp;preview..</p> </li> </ul> <h2>Bug&nbsp;fixes</h2> <ul> <li> <p>The color picker support has been fixed by a complete rewrite. It should now give correct values in all&nbsp;cases.</p> </li> <li> <p>Fix overexposed&nbsp;display.</p> </li> <li> <p>Do not disable <span class="caps">SSL</span> for storage&nbsp;modules.</p> </li> <li> <p>A long standing bug on mask distort in Liquify module has been fixed. This was visible when a liquify mask was used together with the perspective correction module&nbsp;activated.</p> </li> <li> <p>A bug on mask distort from crop <span class="amp">&amp;</span> rotate when using flip and some angle has been&nbsp;fixed.</p> </li> <li> <p>Fix manual crop in perspective correction module when not in default&nbsp;orientation.</p> </li> <li> <p>The modification of date/time is now stored into the <span class="caps">XMP</span>. This ensures that removing the picture and reloading will keep the&nbsp;changes.</p> </li> <li> <p>Fix orientation to support all cases as exposed in these examples:&nbsp;https://github.com/recurser/exif-orientation-examples</p> </li> <li> <p>Store the panel states for each lighttable&nbsp;mode.</p> </li> <li> <p>Fix crop&amp;rotate and orientation in the lightroom&nbsp;importer.</p> </li> <li> <p>Fix ProPhoto <span class="caps">RGB</span>&nbsp;profile.</p> </li> <li> <p>Fix exif lens metadata parsing containing&nbsp;comma.</p> </li> </ul> <h2>Lua</h2> <ul> <li> <p>The displayed image in darkroom view can now be&nbsp;changed.</p> </li> <li> <p><span class="caps">GUI</span> panel visibility can now be queried and&nbsp;changed.</p> </li> <li> <p>Lighttable view toolbox (rating filter, rating comparator, sort field, and sort direction) can now be&nbsp;changed.</p> </li> <li> <p>Lighttable layout and zoom level can now be&nbsp;changed.</p> </li> <li> <p>All images containing a specific tag can be searched and&nbsp;returned.</p> </li> </ul> <h2>Changed&nbsp;Dependencies</h2> <ul> <li>CMake 3.10 is now&nbsp;required.</li> <li>OpenMP 4.0 is now required (optional&nbsp;dependency).</li> </ul> <h2>RawSpeed&nbsp;changes</h2> <h3>Changed&nbsp;Dependencies</h3> <ul> <li>CMake 3.10 is now&nbsp;required.</li> <li>Pugixml 1.8 is now&nbsp;required.</li> <li>OpenMP 4.0 is now required (optional&nbsp;dependency).</li> <li><span class="caps">POSIX</span> threads are no longer&nbsp;required.</li> <li>zlib 1.2.11 is now required (optional&nbsp;dependency).</li> </ul> <h3>Changes</h3> <ul> <li>Threading was migrated to OpenMP from <span class="caps">POSIX</span>&nbsp;threads.</li> <li>Phase One <span class="caps">IIQ</span> decompressor fixes (quadrant scaling, bad&nbsp;column).</li> <li>Large-scale code cleanup, hardening is still a work in&nbsp;progress.</li> <li>A CMake infrastructure was added to allow integration of RawSpeed into <span class="caps">LLVM</span> <span class="caps">LNT</span> /&nbsp;Test-Suite.</li> <li>Widespread performance tuning, most affected&nbsp;decompressors:</li> <li>Sony <span class="caps">ARW2</span></li> <li>Panasonic&nbsp;V5</li> <li>Samsung&nbsp;V1</li> <li>Phase&nbsp;One</li> <li>Continuation of collaboration with <span class="caps">LLVM</span> Compiler Infrastructure&nbsp;Project.</li> </ul> <h2>Camera support, compared to&nbsp;2.6.0</h2> <h3>Base&nbsp;Support</h3> <ul> <li>Epson&nbsp;R-D1s</li> <li>Epson&nbsp;R-D1x</li> <li>Fujifilm FinePix <span class="caps">F770EXR</span></li> <li>Fujifilm FinePix&nbsp;S7000</li> <li>Fujifilm <span class="caps">GFX</span> 50R&nbsp;(compressed)</li> <li>Fujifilm X-T30&nbsp;(compressed)</li> <li>Fujifilm <span class="caps">XF10</span></li> <li>Kodak <span class="caps">DCS</span> Pro&nbsp;14N</li> <li>Kodak EasyShare&nbsp;Z981</li> <li>Kodak EasyShare&nbsp;Z990</li> <li>Leica C (Typ 112)&nbsp;(4:3)</li> <li>Leica <span class="caps">CL</span>&nbsp;(dng)</li> <li>Leica Q (Typ 116)&nbsp;(dng)</li> <li>Leica Q2&nbsp;(dng)</li> <li>Leica <span class="caps">SL</span> (Typ 601)&nbsp;(dng)</li> <li>Leica V-<span class="caps">LUX</span> (Typ 114) (3:2, 4:3, 16:9,&nbsp;1:1)</li> <li>Nikon Z 6 (14bit-uncompressed,&nbsp;12bit-uncompressed)</li> <li>Nikon Z 7&nbsp;(14bit-uncompressed)</li> <li>Olympus E-<span class="caps">M1X</span></li> <li>Olympus <span class="caps">TG</span>-6</li> <li>Panasonic <span class="caps">DC</span>-G90&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-G91&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-G95&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-G99&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">ZS200</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TX1</span>&nbsp;(3:2)</li> <li>Phase One&nbsp;P30</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX0M2</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M6</span></li> <li>Sony <span class="caps">ILCE</span>-6400</li> <li>Sony <span class="caps">ILCE</span>-<span class="caps">7RM4</span></li> </ul> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Leica&nbsp;Q2</li> <li>Nikon&nbsp;D500</li> <li>Nikon Z&nbsp;7</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">LX100M2</span></li> <li>Sony <span class="caps">ILCE</span>-6400</li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Leica&nbsp;Q2</li> <li>Nikon&nbsp;D3</li> <li>Nikon&nbsp;D3500</li> <li>Nikon Z&nbsp;6</li> <li>Nikon Z&nbsp;7</li> <li>Olympus E-<span class="caps">PL8</span></li> <li>Olympus E-<span class="caps">PL9</span></li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">LX100M2</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M5A</span></li> <li>Sony <span class="caps">ILCE</span>-6400</li> <li>Sony <span class="caps">SLT</span>-A35</li> </ul> <h2>Translations</h2> <ul> <li>Afrikaans</li> <li>Albanian</li> <li>Chinese</li> <li>Czech</li> <li>Dutch</li> <li>Finnish</li> <li>French</li> <li>Galician</li> <li>German</li> <li>Hebrew</li> <li>Hungarian</li> <li>Italian</li> <li>Japanese</li> <li>Nepal</li> <li>Norwegian&nbsp;Bokmål</li> <li>Polish</li> <li>Portuguese</li> <li>Romanian</li> <li>Russian</li> <li>Slovenian</li> <li>Thai</li> </ul><img src="https://www.darktable.org/2019/11/darktable-300rc1-released/paysage.jpg" class="hidden-lede">Pascal ObryThu, 14 Nov 2019 18:12:00 +0000tag:www.darktable.org,2019-11-14:2019/11/darktable-300rc1-released/announcementdarktable releasedarktable 3.0.0rc0 releasedhttps://www.darktable.org/2019/11/darktable-300rc0-released/<p>we&#8217;re proud to announce the first release candidate for the upcoming 3.0 series of darktable,&nbsp;3.0.0rc0!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-3.0.0rc0">https://github.com/darktable-org/darktable/releases/tag/release-3.0.0rc0</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-3.0.0rc0.tar.xz 272d813ee2ba6d34ec527b1650c04f657bce31bf4fe590e21ee6e8b6729f86a4 darktable-3.0.0rc0.tar.xz $ sha256sum darktable-3.0.0.rc0.dmg bd52ed13c8324f57d63dd2cd6f7ed03a9f719b8cb334dc5f4881c791f92c1eda darktable-3.0.0.rc0.dmg $ sha256sum darktable-3.0.0rc0.exe ef0692886f6c855308fc754d010745d8b4857e35a0b87daa1370afe1e9b1455a darktable-3.0.0rc0.exe </pre></div> <p>when updating from the currently stable 2.6.x series, please bear in mind that your edits will be preserved during this process, but it will not be possible to downgrade from 3.0 to 2.6.x any&nbsp;more.</p> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <ul> <li>Almost 3 thousand commits to darktable+rawspeed since&nbsp;2.6</li> <li>553 pull requests&nbsp;handled</li> <li>66 issues&nbsp;closed</li> <li>Updated user manual is coming&nbsp;soon™</li> </ul> <h2>The Big&nbsp;Ones</h2> <ul> <li> <p>A full rework of the <span class="caps">GUI</span> Gtk/<span class="caps">CSS</span>. The whole <span class="caps">GUI</span> is now fully controlled by <span class="caps">CSS</span> rules. There is no more size, color, position in Gtk C code. This makes the whole <span class="caps">GUI</span> themable. This version comes with different&nbsp;theme:</p> <ul> <li> <p>darktable : the default&nbsp;theme</p> </li> <li> <p>darktable-elegant-darker : more condensed fonts best experience if Roboto font&nbsp;installed</p> </li> <li> <p>darktable-icons-darker : as elegant, with <span class="caps">IOP</span> icons best experience if Roboto font&nbsp;installed</p> </li> <li> <p>darktable-elegant-dark : lighter&nbsp;version</p> </li> <li> <p>darktable-elegant-grey : even lighter&nbsp;version</p> </li> <li> <p>darktable-icons-dark : lighter&nbsp;version</p> </li> <li>darktable-icons-grey : even lighter&nbsp;version</li> </ul> </li> </ul> <p>Note that this requires Gtk 3.22 or higher to work&nbsp;properly.</p> <ul> <li> <p>The color picker on the blend, tone curve, color zones and fill light modules now allows to select an area by <kbd>Ctrl+click</kbd> on&nbsp;it.</p> </li> <li> <p>Add undo/redo support in lighttable for tags, color labels, rating, metadata, deleted history stack, pasted history stack and applied&nbsp;style.</p> </li> </ul> <p><span class="caps">IMPORTANT</span>: As <kbd>Ctrl-z</kbd> is commonly used for undo/redo this is what is used on the lighttable. This conflicts with the previous <kbd>Ctrl-z</kbd> which was assigned to preview with focus point. The preview (previously <kbd>z</kbd>) and preview with focus detection (previously <kbd>Ctrl-z</kbd>) are now assigned respectively to <kbd>w</kbd> and <kbd>Ctrl-w</kbd>.</p> <ul> <li> <p>A new timeline view has been introduced in the&nbsp;lighttable.</p> </li> <li> <p>A new lighttable mode &#8216;culling&#8217; is added. It displays a fixed number of consecutive images, starting from the first selected image and allows to pan <span class="amp">&amp;</span> zoom them. It can be navigated with the mouse wheel and keyboard and the number of displayed images can be set with an entry at the&nbsp;bottom.</p> </li> <li> <p>A quite extensive rewrite of the lighttable has been made to improve drastically the overall performance. This also includes the filmstrip which has also received a big rewrite for the same reasons. The lighttable is now usable on 4K and 5K&nbsp;monitors.</p> </li> <li> <p>Add new raster mask supports. This is a copy of a parametric mask which is stable during the whole&nbsp;pixel-pipe.</p> </li> <li> <p>Modules can now be re-ordered with <kbd>Ctrl+Shift+drag</kbd>.</p> </li> </ul> <p><span class="caps">IMPORTANT</span> <span class="caps">PLEASE</span> <span class="caps">READ</span>:</p> <p>Note that this is <span class="caps">NOT</span> a <span class="caps">GUI</span> re-ordering but a pixel-pipe reordering. If you&#8217;re not familiar with pixel pipe order and the actual quality that could result from changing the default, do not change the&nbsp;order.</p> <p>The default order has been set to give the best result in the majority of time and will never be on the wrong&nbsp;side.</p> <ul> <li> <p>The color zones module now display an histogram based on the ‘select by’ channel and displays the selected range if the color picker is in area mode. It acts now like the tone curve (but horizontal), it has two edit modes: edit by area is the former one, if not checked nodes can be edited like in the tone curve, delete only works by right-click when not in edit area mode. A new process mode has been added: smooth is the former one, strong is new. An interpolation method has been added that allows to select different types of curves. The color picker allows to select by area with <kbd>Ctrl+click</kbd>. A new color picker has been added that creates a curve based on the area selected from the image. When pressing the shortcut &#8216;pan&amp;zoom while editing masks&#8217; the draw area can now be zoomed. Double-click on the bottom bar resets the&nbsp;zoom.</p> </li> <li> <p>New module Filmic <span class="caps">RBG</span>. This module is designed to replace the base curve, shadows and highlights. The new filmic rgb module replaces the old one introduced in 2.6.2 and should be easier to use and will reduce color casts. The old filmic module is now deprecated and cannot be used on new&nbsp;developments.</p> </li> <li> <p>New module tone equalizer which brings an easy and safe way to adjust the tones in different areas of the image. The module comes with 9 controls ranging from blacks area to specular ones. It possible to adjust each area with slides, curve or directly over the image with a controllable&nbsp;picker.</p> </li> </ul> <h2>New Features And&nbsp;Changes</h2> <ul> <li> <p>A new module for handling 3D Lut transformations (<span class="caps">PNG</span> Hald-<span class="caps">CLUT</span> and Cube files are&nbsp;supported).</p> </li> <li> <p>Many changes to denoise profiled. The variance stabilization transform has changed, allowing a finer control of denoising. In particular, it is possible to better denoise the shadows, and correct color casts that may occur in the shadows. This change mainly improves the denoising of high <span class="caps">ISO</span> images. The non-local means mode has 2 new options: an option to scatter the search zone, and an option to control the amount of details to keep. In addition, one &#8220;auto&#8221; mode was added both for wavelets and non-local means. This mode infers some parameters from the profile used. The default values of the sliders are also changed dynamically in the same way. As such, user who want a one click denoising can activate the module and get straight away a good trade-off between noise smoothing and detail preservation. The auto modes allow the user to create their own presets that will adapt to various ISOs. Finally denoise profiled controls now have soft boundaries, which means that users can enter values out of visible bounds using the keyboard if they need&nbsp;to.</p> </li> <li> <p>A new profile ‘histogram profile’ has been added on the same pop-up that the softproof one on the darkroom. It controls the color space of the histogram, color picker and overexposed check. When gamut or softproof checks are active the histogram and color picker use the softproof profile, otherwise they use the histogram profile. The overexposed check always use the histogram&nbsp;profile.</p> </li> <li> <p>A new profile &#8216;work profile&#8217; has been added to the input color profile module. Now <span class="caps">RGB</span> modules between the input and output color profile modules will work with this&nbsp;profile.</p> </li> <li> <p>A new color picker has been added to the blend module next to the existing one that adjusts the range sliders based on the selected area from the image. Click to adjust the input image slider, <kbd>Ctrl+click</kbd> to adjust the out image&nbsp;one.</p> </li> <li> <p>The picasa module has been renamed to googlephoto and completely rewrote to support the new Google Photo <span class="caps">API</span>. It is now again possible to create albums directly from the export&nbsp;module.</p> </li> <li> <p>New module image information which can be positioned at the bottom or the top of the darkroom. The information displayed can be changed via the preferences. This module can replace the image information displayed on the&nbsp;histogram.</p> </li> <li> <p>The tagging module is faster than before and has got new features. The most visible one is the ability to display hierarchical tags in a tree view. New commands (context menu) have been added to help to maintain your tags dictionary. It introduces also the notions of private tags (not exported by default), synonyms (to help search engines) and categories (not exported, can be used as an helper to structure your tags without polluting them and/or to define metadata fitting with your needs). In line with these new features, exported metadata are now configured in export selected module. The main metadata types can be set as exported or not, but you can also define one by one specific metadata, you fill in with available dt information, in particular tags and categories (metadata formulas share the same set of variables than file name in the same&nbsp;module).</p> </li> <li> <p>Many code optimizations for <span class="caps">CPU</span> and <span class="caps">SSE</span>&nbsp;paths.</p> </li> <li> <p>A new preference to expand/collapse a darkroom module when it is&nbsp;activated/deactivated.</p> </li> <li> <p>The collect module supports single click if the corresponding new option is&nbsp;activated.</p> </li> <li> <p>The collect module supports range selection (for numeric/dates) when using single click&nbsp;mode.</p> </li> <li> <p>The gradient mask orientation is now clearly displayed by using an&nbsp;arrow.</p> </li> <li> <p>Add support for theme, and allow to dynamically load theme from the&nbsp;preferences.</p> </li> <li> <p>The graduatednd module has better accuracy when computing the rotation to avoid the gradient to flip&nbsp;sporadically.</p> </li> <li> <p>Make sure the OpenCL kernel code are recompiled when the driver version is&nbsp;updated.</p> </li> <li> <p>Add color pickers in the split toning&nbsp;module.</p> </li> <li> <p>Add color pickers in the graduatednd&nbsp;module.</p> </li> <li> <p>Add color picker to the watermark&nbsp;module.</p> </li> <li> <p>The color picker point positions are kept during the editing on the&nbsp;module.</p> </li> <li> <p>The map view will zoom on the images of the selected&nbsp;collection.</p> </li> <li> <p>The slideshow supports changing the delay between each&nbsp;images.</p> </li> <li> <p>The slideshow will now start at the selected pictures if&nbsp;any.</p> </li> <li> <p>The slideshow will now be more responsive when changing the picture backward and&nbsp;forward.</p> </li> <li> <p>A new module &#8216;basic adjustments&#8217; has been added. It allows to adjust the exposure, highlight compression, contrast, brightness and saturation. It also has an auto feature based on Rawtherapee&#8217;s auto levels that can work on the entire image or a user selected area. Both the contrast and the auto feature use the middle grey point, the default for this setting is based on the work&nbsp;profile.</p> </li> <li> <p>A new module &#8216;rgb curve&#8217; has been added. It has linked and independent <span class="caps">RGB</span> channels. It works with the rgb color space selected on the work profile. The curves and histogram can be displayed using the work profile or can be scaled to be 50% grey. The color picker allows to select by area with <kbd>Ctrl+click</kbd>. The second color picker add 4 nodes to the curve based on the area selected from the image: min, average, middle, max. When pressing the shortcut &#8216;pan&amp;zoom while editing masks&#8217; the draw area can be zoomed. Different types of curves can be&nbsp;selected.</p> </li> <li> <p>A new module &#8216;rgb levels&#8217; has been added. It has linked and independent channels, preserve colors option and is native <span class="caps">RGB</span>.</p> </li> <li> <p>A search text has been added to the module groups in the darkroom. It has a configuration option to show only the modules groups, only the search text or both. Modules are searched by name&nbsp;(localized).</p> </li> </ul> <p>If displaying only the search text, the active pipe modules are displayed when the search text is empty. A darkroom shortcut can be set to focus on the search&nbsp;box.</p> <ul> <li> <p>A preview window has been added to the darkroom that displays the edited image on a separate&nbsp;window.</p> </li> <li> <p>A new option &#8216;skip&#8217; is added to the &#8216;on conflict&#8217; setting on the export module that skips the export if the file already&nbsp;exists.</p> </li> <li> <p>Allow to change algorithm clone/heal and blur/color in retouch&nbsp;module.</p> </li> <li> <p>An accels window has been added to summarize all available shortcuts and mouse actions available in the current&nbsp;context.</p> </li> <li> <p>Dynamic shortcuts have been added for darkroom module sliders. They allow to change slider values with an accel + mouse&nbsp;scroll.</p> </li> <li> <p>Add zoom <span class="amp">&amp;</span> pan feature to lighttable full&nbsp;preview..</p> </li> </ul> <h2>Bug&nbsp;fixes</h2> <ul> <li> <p>The color picker support has been fixed by a complete rewrite. It should now gives correct values in all&nbsp;cases.</p> </li> <li> <p>Fix overexposed&nbsp;display.</p> </li> <li> <p>Do not disable <span class="caps">SSL</span> for storage&nbsp;modules.</p> </li> <li> <p>A long standing bug on mask distort in Liquify module has been fixed. This was visible when a liquify mask was used together with the perspective correction module&nbsp;activated.</p> </li> <li> <p>A bug on mask distort from crop <span class="amp">&amp;</span> rotate when using flip and some angle has been&nbsp;fixed.</p> </li> <li> <p>Fix manual crop in perspective correction module when not in default&nbsp;orientation.</p> </li> <li> <p>The modification of date/time is now stored into the <span class="caps">XMP</span>. This ensure that removing the picture and reloading will keep the change&nbsp;made.</p> </li> <li> <p>Fix orientation to support all cases as exposed in these examples:&nbsp;https://github.com/recurser/exif-orientation-examples</p> </li> <li> <p>Store the panel states for each lighttable&nbsp;mode.</p> </li> <li> <p>Fix crop&amp;rotate and orientation in the lightroom&nbsp;importer.</p> </li> </ul> <h2>Lua</h2> <ul> <li> <p>The displayed image in darkroom view can now be&nbsp;changed</p> </li> <li> <p><span class="caps">GUI</span> panel visibility can now be queried and&nbsp;changed</p> </li> <li> <p>Lighttable view toolbox (rating filter, rating comparator, sort field, and sort direction) can now be&nbsp;changed</p> </li> <li> <p>Lighttable layout and zoom level can now be&nbsp;changed</p> </li> <li> <p>All images containing a specific tag can be searched and&nbsp;returned</p> </li> </ul> <h2>Changed&nbsp;Dependencies</h2> <ul> <li>CMake 3.10 is now&nbsp;required</li> <li>OpenMP 4.0 is now required (optional&nbsp;dependency)</li> </ul> <h2>RawSpeed&nbsp;changes</h2> <h3>Changed&nbsp;Dependencies</h3> <ul> <li>CMake 3.10 is now&nbsp;required</li> <li>Pugixml 1.8 is now&nbsp;required</li> <li>OpenMP 4.0 is now required (optional&nbsp;dependency)</li> <li><span class="caps">POSIX</span> threads are no longer&nbsp;required</li> <li>zlib 1.2.11 is now required (optional&nbsp;dependency)</li> </ul> <h3>Changes</h3> <ul> <li>Threading was migrated to OpenMP from <span class="caps">POSIX</span>&nbsp;threads</li> <li>Phase One <span class="caps">IIQ</span> decompressor fixes (quadrant scaling, bad&nbsp;column)</li> <li>Large-scale code cleanup,hardening is ongoing&nbsp;still</li> <li>An CMake infrastructure was added to allow integration of RawSpeed into <span class="caps">LLVM</span> <span class="caps">LNT</span> /&nbsp;Test-Suite</li> <li>Widespread performance tuning, most affected&nbsp;decompressors:</li> <li>Sony <span class="caps">ARW2</span></li> <li>Panasonic&nbsp;V5</li> <li>Samsung&nbsp;V1</li> <li>Phase&nbsp;One</li> <li>Continuation of collaboration with <span class="caps">LLVM</span> Compiler Infrastructure&nbsp;Project</li> </ul> <h2>Camera support, compared to&nbsp;2.6.0</h2> <h3>Base&nbsp;Support</h3> <ul> <li>Epson&nbsp;R-D1s</li> <li>Epson&nbsp;R-D1x</li> <li>Fujifilm FinePix <span class="caps">F770EXR</span></li> <li>Fujifilm FinePix&nbsp;S7000</li> <li>Fujifilm <span class="caps">GFX</span> 50R&nbsp;(compressed)</li> <li>Fujifilm X-T30&nbsp;(compressed)</li> <li>Fujifilm <span class="caps">XF10</span></li> <li>Kodak <span class="caps">DCS</span> Pro&nbsp;14N</li> <li>Kodak EasyShare&nbsp;Z981</li> <li>Kodak EasyShare&nbsp;Z990</li> <li>Leica C (Typ 112)&nbsp;(4:3)</li> <li>Leica <span class="caps">CL</span>&nbsp;(dng)</li> <li>Leica Q (Typ 116)&nbsp;(dng)</li> <li>Leica Q2&nbsp;(dng)</li> <li>Leica <span class="caps">SL</span> (Typ 601)&nbsp;(dng)</li> <li>Leica V-<span class="caps">LUX</span> (Typ 114) (3:2, 4:3, 16:9,&nbsp;1:1)</li> <li>Nikon Z 6 (14bit-uncompressed,&nbsp;12bit-uncompressed)</li> <li>Nikon Z 7&nbsp;(14bit-uncompressed)</li> <li>Olympus E-<span class="caps">M1X</span></li> <li>Olympus <span class="caps">TG</span>-6</li> <li>Panasonic <span class="caps">DC</span>-G90&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-G91&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-G95&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-G99&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">ZS200</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TX1</span>&nbsp;(3:2)</li> <li>Phase One&nbsp;P30</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX0M2</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M6</span></li> <li>Sony <span class="caps">ILCE</span>-6400</li> <li>Sony <span class="caps">ILCE</span>-<span class="caps">7RM4</span></li> </ul> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Leica&nbsp;Q2</li> <li>Nikon&nbsp;D500</li> <li>Nikon Z&nbsp;7</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">LX100M2</span></li> <li>Sony <span class="caps">ILCE</span>-6400</li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Leica&nbsp;Q2</li> <li>Nikon&nbsp;D3</li> <li>Nikon&nbsp;D3500</li> <li>Nikon Z&nbsp;6</li> <li>Nikon Z&nbsp;7</li> <li>Olympus E-<span class="caps">PL8</span></li> <li>Olympus E-<span class="caps">PL9</span></li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">LX100M2</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M5A</span></li> <li>Sony <span class="caps">ILCE</span>-6400</li> <li>Sony <span class="caps">SLT</span>-A35</li> </ul> <h2>Translations</h2> <ul> <li>Afrikaans</li> <li>Albanian</li> <li>Chinese</li> <li>Czech</li> <li>Dutch</li> <li>Finnish</li> <li>French</li> <li>Galician</li> <li>German</li> <li>Hebrew</li> <li>Hungarian</li> <li>Italian</li> <li>Japanese</li> <li>Nepal</li> <li>Norwegian&nbsp;Bokmål</li> <li>Polish</li> <li>Portuguese</li> <li>Romanian</li> <li>Russian</li> <li>Slovenian</li> <li>Thai</li> </ul><img src="https://www.darktable.org/2019/11/darktable-300rc0-released/stquentin.jpg" class="hidden-lede">Pascal ObryMon, 04 Nov 2019 20:03:00 +0000tag:www.darktable.org,2019-11-04:2019/11/darktable-300rc0-released/announcementdarktable releasedarktable 2.6.3 releasedhttps://www.darktable.org/2019/10/darktable-263-released/<p>we’re proud to announce the third bugfix release for the 2.6 series of darktable,&nbsp;2.6.3!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.6.3">https://github.com/darktable-org/darktable/releases/tag/release-2.6.3</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-2.6.3.tar.xz a518999c8458472edfc04577026ce5047d74553052af0f52d10ba8ce601b78f0 darktable-2.6.3.tar.xz $ sha256sum darktable-2.6.3.1.dmg cb79d40f7fb03ff9b4701c5f28d5f4d91b102756f48d970354d7102740e36f6d darktable-2.6.3.1.dmg $ sha256sum darktable-2.6.3-win64.exe 716bde75c7b1ba6d57344747773a7dde3a88b707bcceb8090062b02eed863bae darktable-2.6.3-win64.exe </pre></div> <p>when updating from the currently stable 2.6.x series, please bear in mind that your edits will be preserved during this process, but it will not be possible to downgrade from 2.6 to 2.4.x any&nbsp;more.</p> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <p>and the changelog as compared to 2.6.2 can be found&nbsp;below.</p> <h2>New&nbsp;Features</h2> <ul> <li>April 1st game is now disabled by&nbsp;default</li> <li>Add preference to disable/enable April 1st&nbsp;game</li> <li>Print module default margin set&nbsp;17mm</li> <li>Add support for disabling base-curve by&nbsp;default</li> <li>Add support for disabling sharpen by&nbsp;default</li> </ul> <h2>Bugfixes</h2> <ul> <li>Source with OpenMP can be compiled with <span class="caps">GCC</span>-9 and&nbsp;clang</li> <li>Update skin tone preset on color-zones&nbsp;module</li> <li>Fix compiling with exiv2&nbsp;0.27.2.1</li> <li>Fix file access permissions on macOS Catalina&nbsp;10.15</li> <li>Fix shift+scroll only scrolling in one direction on&nbsp;macOS</li> <li>Fix picasa, piwigo and facebook <span class="caps">SSL</span>&nbsp;support</li> <li>Fix <span class="caps">CSS</span> issue on&nbsp;MacOS</li> </ul> <h2>Changed&nbsp;Dependencies</h2> <p>None.</p> <h2>Camera support, compared to&nbsp;2.6.2</h2> <h3>Base&nbsp;Support</h3> <ul> <li>Epson&nbsp;R-D1s</li> <li>Epson&nbsp;R-D1x</li> <li>Fujifilm FinePix <span class="caps">F770EXR</span></li> <li>Fujifilm X-T30&nbsp;(compressed)</li> <li>Fujifilm <span class="caps">XF10</span></li> <li>Kodak EasyShare&nbsp;Z981</li> <li>Kodak EasyShare&nbsp;Z990</li> <li>Leica C (Typ 112)&nbsp;(4:3)</li> <li>Leica <span class="caps">CL</span>&nbsp;(dng)</li> <li>Leica Q (Typ 116)&nbsp;(dng)</li> <li>Leica Q2&nbsp;(dng)</li> <li>Leica <span class="caps">SL</span> (Typ 601)&nbsp;(dng)</li> <li>Leica V-<span class="caps">LUX</span> (Typ 114) (3:2, 4:3, 16:9,&nbsp;1:1)</li> <li>Olympus E-<span class="caps">M1X</span></li> <li>Olympus <span class="caps">TG</span>-6</li> <li>Panasonic <span class="caps">DC</span>-G90&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-G91&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-G95&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-G99&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">ZS200</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TX1</span>&nbsp;(3:2)</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX0M2</span></li> <li>Sony <span class="caps">ILCE</span>-6400</li> <li>Sony <span class="caps">ILCE</span>-<span class="caps">7RM4</span></li> </ul> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Panasonic <span class="caps">DC</span>-<span class="caps">LX100M2</span></li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Panasonic <span class="caps">DC</span>-<span class="caps">LX100M2</span></li> </ul><img src="https://www.darktable.org/2019/10/darktable-263-released/fecamp.jpg" class="hidden-lede">Pascal ObryThu, 24 Oct 2019 18:20:00 +0000tag:www.darktable.org,2019-10-24:2019/10/darktable-263-released/announcementdarktable releaseA new module: lut3dhttps://www.darktable.org/2019/05/New%20module-lut3d/<p>The <em>lut3d</em> module will be introduced in darktable 3.0 and is designed to apply a <em>3D <span class="caps">LUT</span></em> (LookUp Table) to an&nbsp;image.</p> <h2>3D <span class="caps">LUT</span></h2> <p>A <em>3D <span class="caps">LUT</span></em> is a tridimensional table which allows to transform any <span class="caps">RGB</span> value into another <span class="caps">RGB</span> value. The most common applications of LUTs are film simulation and color grading. But they can be used for any other technical transforms like <span class="caps">LOG</span> to <span class="caps">REC</span>.709, which are used in video edition for&nbsp;example.</p> <p>The module accepts <em>cube</em> files, <em>haldclut</em> files and <em>compressed <span class="caps">LUT</span></em>&nbsp;files.</p> <h3><em>Cube</em>&nbsp;files</h3> <p><em>Cube</em> files are used by video editors and colorists. They are text files with the <em>cube</em> extension. You can find such files through these&nbsp;links:</p> <ul> <li><a href="https://jonnyelwyn.co.uk/film-and-video-editing/free-film-luts-for-editors-dits-and-colorists/">free-film-luts-for-editors-dits-and-colorists</a></li> <li><a href="http://juanmelara.com.au/blog/print-film-emulation-luts-for-download">print-film-emulation-luts-for-download</a></li> </ul> <h3><em>Haldclut</em>&nbsp;files</h3> <p><em>Haldclut</em> files are used in Rawtherapee and PhotoFlow. The are usually coded as a png image. Smaller than <em>cube</em> files, they are also more accurate (see <strong><span class="caps">LUT</span> dimension</strong> below). Here are some places to find&nbsp;them:</p> <ul> <li><a href="http://rawtherapee.com/shared/HaldCLUT.zip">http://rawtherapee.com/shared/HaldCLUT.zip</a></li> <li><a href="http://gmic.eu/color_presets/index.shtml">http://gmic.eu/color_presets/index.shtml</a></li> <li><a href="https://freshluts.com/">https://freshluts.com/</a></li> </ul> <h3><em>Compressed <span class="caps">LUT</span></em>&nbsp;files</h3> <p><em>Compressed <span class="caps">LUT</span></em> files have been created by the G&#8217;<span class="caps">MIC</span> team (see <a href="https://discuss.pixls.us/t/clut-compression/11752">Pixls.us - <span class="caps">CLUT</span> compression</a>) which offers a ready to use library&nbsp;(gmic_cluts.gmz).</p> <p>The compressed luts are actually 100 times smaller than <em>haldclut</em> files. This small size allows dt to save the image transformation in its database and/or in the image xmp file. A gmz file can hold multiple compressed luts. Decompression time is mitigated using cache files (which can be shared with G&#8217;<span class="caps">MIC</span>). See below some useful scripts to manage your compressed <span class="caps">LUT</span>&nbsp;library.</p> <p>Note: except for compressed <span class="caps">LUT</span>, due to the size of the <span class="caps">LUT</span> file, <span class="caps">LUT</span> data are not saved with the parameters of the image. Instead the file path (inside the root folder) is saved. Then you need to backup properly the <span class="caps">LUT</span> files (+ folders) you have&nbsp;used.</p> <blockquote> <p><span class="caps">CAUTION</span>: dt understands <em>Compressed <span class="caps">LUT</span></em> files only if G&#8217;<span class="caps">MIC</span> library is installed on your&nbsp;machine.</p> </blockquote> <hr /> <h2>The module&nbsp;itself</h2> <p>Before using the module you must define the folder where you have stored the LUTs you like. This folder can have sub-folders. This is done selecting the correct <em>3D lut root folder</em> in <em>Configuration/Core options/Miscellaneous</em>.</p> <p><div style="text-align: center"> <img alt="lut3d configuration folder" src="https://www.darktable.org/blog/2019-05-23-3D_LUT/lut3d-configuration.png" title="lut3d configuration" /> </div></p> <p>Lut3d has three&nbsp;parameters:</p> <ul> <li><span class="caps">LUT</span>&nbsp;file</li> <li>application color&nbsp;space</li> <li>interpolation</li> </ul> <p><div style="text-align: center"> <img alt="lut3d module" src="https://www.darktable.org/blog/2019-05-23-3D_LUT/lut3d-module.png" title="lut3d module" /> </div></p> <h3><span class="caps">LUT</span>&nbsp;file</h3> <p>The different types of source file are described&nbsp;above.</p> <p>The important point to remember is the difference between compressed and not compressed files. If compressed, the <span class="caps">LUT</span> itself is saved (compressed) with the parameters of the image, and in the xmp file if activated as&nbsp;well.</p> <p>Otherwise the parameters only hold the file name and path (relative to <em>3D lut root folder</em>). As a consequence the module cannot recalculate the image without original <span class="caps">LUT</span>&nbsp;file.</p> <h3>Color&nbsp;space</h3> <p>Each 3D <span class="caps">LUT</span> is built to be applied on a given color space. The module lut3d lets you select the appropriated one. Usually <em>cube</em> files are built for <span class="caps">REC</span>.709 and <em>haldclut</em> for&nbsp;sRGB.</p> <p>Note: The color space selection is effective when lut3d module is placed between input color profile and output color profile modules. Otherwise the selected color profile is ignored, and the <span class="caps">LUT</span> is applied on the current profile in the&nbsp;pipeline.</p> <h3>Interpolation</h3> <p>The interpolation method defines the way to calculate colors which are not exactly on a node of the <span class="caps">RGB</span> cube (described by the <span class="caps">LUT</span>).</p> <p>There are three interpolation methods available: tetrahedral (the default one), trilinear and pyramid. Usually you don&#8217;t see the difference between the interpolation method except sometimes with small size&nbsp;LUTs.</p> <p><strong>Cube dimension</strong>: The <span class="caps">RGB</span> cube is characterized by its dimensions. It’s always below 256. The larger it is, the more accurate the transform is. It seems that above 48x48x48 one cannot see the difference any&nbsp;more.</p> <p>Usually <em>haldclut</em> cubes (64x64x64 is common) are larger than <em>cube</em> cubes (33x33x33 is&nbsp;common).</p> <p><div style="text-align: center"> <img alt="lut3d example" src="https://www.darktable.org/blog/2019-05-23-3D_LUT/CollegialeSaint-Thiebaut-2.jpg" title="Applying the lut 'fuji_neopan_1600.png'" /> </div></p> <hr /> <h2>G&#8217;<span class="caps">MIC</span>&nbsp;commands.</h2> <p>G&#8217;<span class="caps">MIC</span> offers some useful commands to manipulate <span class="caps">LUT</span> files. To be able to run these commands you must have G&#8217;<span class="caps">MIC</span> installed on your&nbsp;machine.</p> <p>See <a href="https://gmic.eu/">https://gmic.eu/</a>.</p> <h3><em>Cube</em> to <em>Haldclut</em></h3> <p>Be careful, as an <em>haldclut</em> file is an image, the square of the image width must be equal to the cube of the cube size. The below command first resizes the input cube and then transforms the result into a flat&nbsp;image.</p> <p><code>gmic -input_cube &lt;filename1&gt;.cube -r 64,64,64,3,3 -r 512,512,1,3,-1 -o &lt;filename2&gt;.png</code></p> <h3>Compression</h3> <p>Compression is a process which takes&nbsp;time.</p> <ul> <li>To compress an <em>haldclut</em>&nbsp;file:</li> </ul> <p><code>gmic -i &lt;filename&gt;.png -compress_clut 1.25,0.75,2048 -o &lt;filename&gt;.gmz</code></p> <ul> <li>To compress a <em>cube</em>&nbsp;file:</li> </ul> <p><code>gmic -input_cube &lt;filename&gt;.cube -compress_clut 1.25,0.75,2048 -o &lt;filename&gt;.gmz</code></p> <ul> <li>To add a <em>Compressed <span class="caps">LUT</span></em> to a gmz library (the order is&nbsp;important):</li> </ul> <p><code>gmic -i &lt;filename&gt;.gmz -i &lt;libraryname&gt;.gmz -o &lt;libraryname&gt;.gmz</code></p> <ul> <li>To remove a <em>Compressed <span class="caps">LUT</span></em> from a gmz&nbsp;library:</li> </ul> <p><code>gmic -i &lt;libraryname&gt;.gmz -remove[&lt;lutname&gt;] -o &lt;libraryname&gt;.gmz</code></p> <h1>About this&nbsp;article</h1> <p>This article is licensed under the terms of the <a href="https://creativecommons.org/licenses/by/2.0/">Attribution 2.0 Generic (<span class="caps">CC</span> <span class="caps">BY</span> 2.0)</a>, or, at your option, the <a href="https://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons <span class="caps">BY</span>-<span class="caps">NC</span>-<span class="caps">SA</span> 3.0 License</a>.</p> <p><strong>Contributors:</strong> <a href="https://github.com/phweyland">phweyland</a>, <a href="https://github.com/rabauke">rabauke</a>.</p><img src="https://www.darktable.org/2019/05/New module-lut3d/CollegialeSaint-Thiebaut.jpg" class="hidden-lede">phwThu, 23 May 2019 00:00:00 +0000tag:www.darktable.org,2019-05-23:2019/05/New module-lut3d/announcementdarktable 2.6.2 releasedhttps://www.darktable.org/2019/03/darktable-262-released/<p>we’re proud to announce the second bugfix release for the 2.6 series of darktable,&nbsp;2.6.2!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.6.2">https://github.com/darktable-org/darktable/releases/tag/release-2.6.2</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-2.6.2.tar.xz 9cb9efbb09a40375ff05cef89343235a621c58339539e44985470a029a7ffb45 darktable-2.6.2.tar.xz $ sha256sum darktable-2.6.2.dmg 8cd945744e56a85c35f982a96be42332a57dc383ec228fcc1d21eb57c068f27c darktable-2.6.2.dmg $ sha256sum darktable-2.6.2-win64.exe eee5f4c1f0f6c5f8d5a16d66da1afb92ebde06101e6a84706785df504c8865cd darktable-2.6.2-win64.exe </pre></div> <p>when updating from the currently stable 2.6.x series, please bear in mind that your edits will be preserved during this process, but it will not be possible to downgrade from 2.6 to 2.4.x any&nbsp;more.</p> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <p>and the changelog as compared to 2.6.1 can be found&nbsp;below.</p> <h2>New&nbsp;Features</h2> <ul> <li>Update colorbalance french&nbsp;translation</li> </ul> <h2>Bugfixes</h2> <ul> <li>Fix <span class="caps">SSE</span> bug in filmic introduced in&nbsp;#2025</li> <li>Fix issue when looking for input color profile (backward&nbsp;compatibility)</li> <li>Add missing Czech translation&nbsp;file</li> <li>Fix possible halo issue in local contrast&nbsp;module.</li> <li>Fix contextual help link to point to new <span class="caps">HTML</span> manual for 2.6&nbsp;series.</li> </ul> <h2>Changed&nbsp;Dependencies</h2> <ul> <li>None.</li> </ul> <h2>Camera support, compared to&nbsp;2.6.1</h2> <h3>Base&nbsp;Support</h3> <ul> <li><span class="caps">DSC</span>-<span class="caps">RX100M6</span></li> <li>Phase One P30&nbsp;(fixed)</li> <li>Olympus <span class="caps">OM</span>-D E-M10&nbsp;(enhanced)</li> <li>Nikon D7500&nbsp;(enhanced)</li> </ul> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Nikon&nbsp;D500</li> <li>Olympus E-<span class="caps">PL8</span></li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Sony <span class="caps">SLT</span>-A35</li> <li>Nikon&nbsp;Z6</li> </ul> <h2>Translations</h2> <ul> <li>Catalan</li> <li>Czech</li> <li>Dutch</li> <li>Finnish</li> <li>French</li> <li>German</li> <li>Norwegian&nbsp;bokmål</li> <li>Polish</li> <li>Russian</li> <li>Slovenian</li> <li>Spanish</li> </ul><img src="https://www.darktable.org/2019/03/darktable-262-released/dieppe.jpg" class="hidden-lede">Pascal ObryThu, 21 Mar 2019 18:44:00 +0000tag:www.darktable.org,2019-03-21:2019/03/darktable-262-released/announcementdarktable releasedarktable 2.6.1 releasedhttps://www.darktable.org/2019/03/darktable-261-released/<p>we’re proud to announce the first bugfix release for the 2.6 series of darktable,&nbsp;2.6.1!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.6.1">https://github.com/darktable-org/darktable/releases/tag/release-2.6.1</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-2.6.1.tar.xz 63c53332eecff946e41c1b6551d51bc0a2515572532f470b7b570b60805c3026 darktable-2.6.1.tar.xz $ sha256sum darktable-2.6.1.dmg dec8ebd36b9747a84ffad119ca1fa92a197297dc7d54e9a03035da99a76f66e8 darktable-2.6.1.dmg $ sha256sum darktable-2.6.1-win64.exe c0b31a3ac4f02151f4fc0ee4e8e39dc1e5c8ef409b2f23eee440affba9cd73f6 darktable-2.6.1-win64.exe </pre></div> <p>when updating from the currently stable 2.6.x series, please bear in mind that your edits will be preserved during this process, but it will not be possible to downgrade from 2.6 to 2.4.x any&nbsp;more.</p> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <p>and the changelog as compared to 2.6.0 can be found&nbsp;below.</p> <h2>New&nbsp;Features</h2> <ul> <li>export module to&nbsp;piwigo</li> <li>color balance&nbsp;enhancements</li> <li>color contrast&nbsp;enhancements</li> <li>filmic enhancements (better&nbsp;auto-tuner)</li> <li>add contextual help for filmic&nbsp;module</li> <li>middle-click can be used to open the presets menu (this is consistent with the fact that middle-click can be used to create a new instance from a&nbsp;preset)</li> <li>again, better <span class="caps">CSS</span> customization for lighttable, filmstrip and duplicates&nbsp;module</li> <li>presets can now be&nbsp;imported/exported</li> <li>all zoom levels can now be reached with a&nbsp;ctrl-scroll</li> <li>the slideshow view will adjust automatically when darktable window is&nbsp;resized</li> <li>add support for tiff <span class="caps">CIELAB</span>/<span class="caps">ICCLAB</span> 8/16&nbsp;bits</li> <li>add hierarchical view for styles (separated with&nbsp;|)</li> <li>forms opacity is displayed in hint&nbsp;messages</li> <li>add a color picker in the watermark&nbsp;module</li> </ul> <h2>Bugfixes</h2> <ul> <li>fix collect module&nbsp;filters</li> <li>fix retouch module, mask areas are properly taking into account the source and&nbsp;destination</li> <li>fix navigation from darkroom when groups are present and&nbsp;collapsed</li> <li>fix a rare issue where masks could &#8220;jump&#8221; to some random&nbsp;location</li> <li>keep reference point (mouse position) when zooming above&nbsp;200%</li> <li>title and description filters are now properly&nbsp;working</li> <li>minor <span class="caps">UI</span> fixes to gain some spaces in darktable&nbsp;modules</li> <li>fix masks detection over the mouse in some complex&nbsp;cases</li> </ul> <h2>Changed&nbsp;Dependencies</h2> <p>None.</p> <h2>Camera support, compared to&nbsp;2.6.0</h2> <h3>Base&nbsp;Support</h3> <ul> <li><span class="caps">DSC</span>-<span class="caps">RX100M6</span></li> <li>Phase One P30&nbsp;(fixed)</li> <li>Olympus <span class="caps">OM</span>-D E-M10&nbsp;(enhanced)</li> <li>Nikon D7500&nbsp;(enhanced)</li> </ul> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Nikon&nbsp;D500</li> <li>Olympus E-<span class="caps">PL8</span></li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Sony <span class="caps">SLT</span>-A35</li> <li>Nikon&nbsp;Z6</li> </ul> <h2>Translations</h2> <ul> <li>Catalan</li> <li>Czech</li> <li>Dutch</li> <li>Finnish</li> <li>French</li> <li>German</li> <li>Norwegian&nbsp;bokmål</li> <li>Polish</li> <li>Russian</li> <li>Slovenian</li> <li>Spanish</li> </ul><img src="https://www.darktable.org/2019/03/darktable-261-released/stquentin2.jpg" class="hidden-lede">Pascal ObryThu, 07 Mar 2019 19:50:00 +0000tag:www.darktable.org,2019-03-07:2019/03/darktable-261-released/announcementdarktable releasedarktable 2.6.0 releasedhttps://www.darktable.org/2018/12/darktable-260-released/<p>we&#8217;re proud to announce the new feature release of darktable,&nbsp;2.6.0!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.6.0">https://github.com/darktable-org/darktable/releases/tag/release-2.6.0</a>.</p> <p>this year, we have a full blog article for this release here: <a href="https://www.darktable.org/2018/12/darktable-26/">https://www.darktable.org/2018/12/darktable-26/</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-2.6.0.tar.xz 483d7d8e4ac532d89efc2f24e169f7a7da2d3ef0c599602b658d67a040670478 darktable-2.6.0.tar.xz $ sha256sum darktable-2.6.0.dmg 47d6f1d9ae64394663ffd804692d6b6d6722b312712e938f103cb43f58625c42 darktable-2.6.0.dmg </pre></div> <p>when updating from the currently stable 2.4.x series, please bear in mind that your edits will be preserved during this process, but it will not be possible to downgrade from 2.6 to 2.4.x any&nbsp;more.</p> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <ul> <li>Over 1600 commits to darktable+rawspeed since&nbsp;2.4</li> <li>260+ pull requests&nbsp;handled</li> <li>250+ issues&nbsp;closed</li> <li>Updated user manual is coming&nbsp;soon™</li> </ul> <h2>The Big&nbsp;Ones</h2> <ul> <li>new module retouch allowing changes based on image frequency&nbsp;layers</li> <li>new module filmic which can replace the base curve and shadows and&nbsp;highlights</li> <li>new module to handle duplicates in the darkroom with possibility to add a title, create standard or virgin duplicate, delete duplicate and quickly compare with a&nbsp;duplicate</li> <li>new logarithm controls for the&nbsp;tone-curve</li> <li>new mode for the unbreak profile&nbsp;module</li> <li>add mask preview to adjust size, hardness before placing&nbsp;them</li> <li>make it possible to change the cropped area in the perspective correction&nbsp;module</li> <li>the mask blur has been complemented with a guided-filter to fine tune it (this works on <span class="caps">RGB</span> and Lab color&nbsp;space).</li> <li>color balance module has two new modes based on ProPhotoRGB and <span class="caps">HSL</span></li> <li>Experimental support for PPC64le architecture (OpenCL support needs to be disabled, <code>-DUSE_OPENCL=OFF</code>)</li> </ul> <h2>New Features And&nbsp;Changes</h2> <ul> <li>search from the map view is now&nbsp;fixed</li> <li>visual rework of the lighttable (color label, image kind, local&nbsp;copy)</li> <li>an option make it possible to display some image information directly on the&nbsp;thumb</li> <li>add optional scrollbars on lighttable, or lighttable and&nbsp;darkroom</li> <li>allow each masks of the clone module to have the opacity&nbsp;adjusted</li> <li>lightroom import module supports the creator, rights, title, description and publisher&nbsp;information.</li> <li>enhance TurboPrint support by displaying the dialogue with all possible options (print cancellation will be fixed in TurboPrint&nbsp;2.47)</li> <li>new sort filter based on the image&#8217;s&nbsp;aspect</li> <li>new sort filter based on the image&#8217;s shutter&nbsp;speed</li> <li>new sort filter based on the image&#8217;s&nbsp;group</li> <li>new sort filter based on a personalized sorting order (drag&amp;drop on the lighttable&nbsp;view)</li> <li>collection based on the local copy&nbsp;status</li> <li>group image number displayed on the collection&nbsp;module</li> <li>new zoom level at 50%; 400%, 800% and&nbsp;1600%</li> <li>better support for monochrome <span class="caps">RAW</span></li> <li>add contextual help pointing to the darktable&#8217;s&nbsp;manual</li> <li>better copy/paste support for multiple&nbsp;instances</li> <li>add support for renaming the module&nbsp;instances</li> <li>add frequency based adjustment for the <span class="caps">RAW</span> denoise&nbsp;module</li> <li>add frequency based adjustment for the denoise profile&nbsp;module</li> <li>all widgets should be themable via <span class="caps">CSS</span>&nbsp;now</li> <li>add support for configuring the modules&nbsp;layout</li> <li>different way to select hierarchical tags in the collection module (only the actual parent tag, all children or the parent and&nbsp;children)</li> <li>better handling of grouped images by allowing setting stars, color label for the whole&nbsp;group.</li> <li>make it possible to apply a preset to a new module instance using the middle&nbsp;click</li> <li>new script to migrate collection from Capture One&nbsp;Pro</li> </ul> <h2>Bug&nbsp;fixes</h2> <ul> <li>Fix the color pickers behavior in all&nbsp;modules</li> <li>Fix liquify tools&nbsp;switching</li> <li>Many more bugs got&nbsp;fixed</li> </ul> <h2>Lua</h2> <ul> <li>No&nbsp;changes</li> </ul> <h2>Changed&nbsp;Dependencies</h2> <ul> <li>CMake 3.4 is now&nbsp;required</li> <li>In order to compile darktable you now need at least&nbsp;gcc-5.0+/clang-3.9+</li> <li>Minimal clang version was bumped from 3.4+ to&nbsp;3.9+</li> <li>Packagers are advised to pass <code>-DRAWSPEED_ENABLE_LTO=ON</code> to CMake to enable partial <span class="caps">LTO</span>.</li> </ul> <h2>RawSpeed&nbsp;changes</h2> <ul> <li>GoPro &#8216;.<span class="caps">GPR</span>&#8217; raws are now supported via new, fast &#8216;<span class="caps">VC</span>-5&#8217; parallel&nbsp;decompressor</li> <li>Panasonic&#8217;s new raw compression (&#8216;.<span class="caps">RW2</span>&#8217;, GH5s, G9 cameras) is now supported via new fast, parallel &#8216;Panasonic V5&#8217;&nbsp;decompressor</li> <li>Panasonic&#8217;s old (also &#8216;.<span class="caps">RW2</span>&#8217;) raw decompressor got rewritten,&nbsp;re-parallelized</li> <li>Phase One (&#8216;.<span class="caps">IIQ</span>&#8217;) decompressor got&nbsp;parallelized</li> <li>Nikon <span class="caps">NEF</span> &#8216;lossy after split&#8217; raw support was&nbsp;recovered</li> <li>Phase One (&#8216;.<span class="caps">IIQ</span>&#8217;) Quadrant Correction is now&nbsp;supported</li> <li>Olympus High-Res (uncompressed) raw&nbsp;support</li> <li>Lot&#8217;s and lot&#8217;s and lot&#8217;s of maintenance, sanitization, cleanups, small&nbsp;rewrites/refactoring.</li> <li><span class="caps">NOTE</span>: Canon &#8216;.<span class="caps">CR3</span>&#8217; raws are <em><span class="caps">NOT</span></em> supported as of&nbsp;yet.</li> </ul> <h2>Camera support, compared to&nbsp;2.4.0</h2> <h3>Base&nbsp;Support</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;1500D</li> <li>Canon <span class="caps">EOS</span>&nbsp;2000D</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T7</li> <li>Canon <span class="caps">EOS</span>&nbsp;3000D</li> <li>Canon <span class="caps">EOS</span>&nbsp;4000D</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T100</li> <li>Canon <span class="caps">EOS</span> 5D Mark <span class="caps">IV</span> (sRaw1,&nbsp;sRaw2)</li> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span> (sRaw1,&nbsp;sRaw2)</li> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span> R (sRaw1,&nbsp;sRaw2)</li> <li>Canon PowerShot G1 X Mark <span class="caps">III</span></li> <li>Fujifilm&nbsp;X-A5</li> <li>Fujifilm X-H1&nbsp;(compressed)</li> <li>Fujifilm&nbsp;X-T100</li> <li>Fujifilm X-T3&nbsp;(compressed)</li> <li>GoPro <span class="caps">FUSION</span>&nbsp;(dng)</li> <li>GoPro <span class="caps">HERO5</span> Black&nbsp;(dng)</li> <li>GoPro <span class="caps">HERO6</span> Black&nbsp;(dng)</li> <li>GoPro <span class="caps">HERO7</span> Black&nbsp;(dng)</li> <li>Hasselblad <span class="caps">CFV</span>-50</li> <li>Hasselblad <span class="caps">H5D</span>-40</li> <li>Hasselblad <span class="caps">H5D</span>-50c</li> <li>Kodak <span class="caps">DCS</span> Pro&nbsp;14nx</li> <li>Kodak <span class="caps">DCS520C</span></li> <li>Kodak <span class="caps">DCS760C</span></li> <li>Kodak <span class="caps">EOS</span> <span class="caps">DCS</span>&nbsp;3</li> <li>Nikon <span class="caps">COOLPIX</span> P1000&nbsp;(12bit-uncompressed)</li> <li>Nikon D2Xs (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3500&nbsp;(12bit-compressed)</li> <li>Nikon Z 6 (except uncompressed&nbsp;raws)</li> <li>Nikon Z 7 (except 14-bit uncompressed&nbsp;raw)</li> <li>Olympus E-<span class="caps">PL8</span></li> <li>Olympus E-<span class="caps">PL9</span></li> <li>Olympus <span class="caps">SH</span>-2</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ80</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-G9&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GF9</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GX800</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GX850</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GH5S</span> (4:3, 3:2, 16:9,&nbsp;1:1)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GX9</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">LX100M2</span> (4:3, 1:1, 16:9,&nbsp;3:2)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ200</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ202</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ2000</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ2500</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ35</span> (3:2,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ38</span> (3:2,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX7MK2</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS100</span>&nbsp;(3:2)</li> <li>Paralenz Dive Camera&nbsp;(chdk)</li> <li>Pentax&nbsp;645Z</li> <li>Pentax K-1 Mark <span class="caps">II</span></li> <li>Pentax <span class="caps">KP</span></li> <li>Phase One&nbsp;P65+</li> <li>Sjcam <span class="caps">SJ6</span> <span class="caps">LEGEND</span> (chdk-b,&nbsp;chdk-c)</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">HX99</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX0</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M5A</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M4</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX1RM2</span></li> <li>Sony <span class="caps">ILCE</span>-7M3</li> </ul> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;M100</li> <li>Fujifilm&nbsp;X-T3</li> <li>Leaf Credo&nbsp;40</li> <li>Nikon&nbsp;D3400</li> <li>Nikon&nbsp;D5600</li> <li>Nikon&nbsp;D7500</li> <li>Nikon&nbsp;D850</li> <li>Nikon Z&nbsp;6</li> <li>Olympus E-M10 Mark <span class="caps">III</span></li> <li>Olympus&nbsp;E-M1MarkII</li> <li>Panasonic <span class="caps">DC</span>-G9</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GX9</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ300</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX0</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M5</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M5A</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M3</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M4</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX1RM2</span></li> <li>Sony <span class="caps">ILCE</span>-6500</li> <li>Sony <span class="caps">ILCE</span>-7M3</li> <li>Sony <span class="caps">ILCE</span>-<span class="caps">7RM3</span></li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;200D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X9</li> <li>Canon <span class="caps">EOS</span> Rebel <span class="caps">SL2</span></li> <li>Canon <span class="caps">EOS</span>&nbsp;750D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X8i</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6i</li> <li>Canon <span class="caps">EOS</span>&nbsp;760D</li> <li>Canon <span class="caps">EOS</span>&nbsp;8000D</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6s</li> <li>Canon <span class="caps">EOS</span>&nbsp;77D</li> <li>Canon <span class="caps">EOS</span>&nbsp;9000D</li> <li>Canon <span class="caps">EOS</span>&nbsp;800D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X9i</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T7i</li> <li>Canon <span class="caps">EOS</span>&nbsp;M100</li> <li>Canon <span class="caps">EOS</span>&nbsp;M6</li> <li>Canon PowerShot G1 X Mark <span class="caps">II</span></li> <li>Canon PowerShot G1 X Mark <span class="caps">III</span></li> <li>Canon PowerShot G9&nbsp;X</li> <li>Fujifilm&nbsp;X-A5</li> <li>Fujifilm&nbsp;X-E3</li> <li>Fujifilm&nbsp;X-T3</li> <li>Fujifilm <span class="caps">X100F</span></li> <li>Nikon 1 <span class="caps">AW1</span></li> <li>Nikon 1&nbsp;J3</li> <li>Nikon <span class="caps">COOLPIX</span>&nbsp;B700</li> <li>Nikon&nbsp;D5600</li> <li>Nikon&nbsp;D7500</li> <li>Nikon&nbsp;D850</li> <li>Olympus E-M10 Mark <span class="caps">III</span></li> <li>Olympus <span class="caps">TG</span>-5</li> <li>Panasonic <span class="caps">DC</span>-G9</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GX9</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ35</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ38</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GF6</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX10</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX15</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX9</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ70</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ71</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS50</span></li> <li>Pentax&nbsp;K-01</li> <li>Pentax <span class="caps">KP</span></li> <li>Samsung <span class="caps">NX1</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M4</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M3</span></li> <li>Sony <span class="caps">ILCE</span>-7M3</li> </ul> <h2>Translations</h2> <ul> <li>Catalan</li> <li>Dutch</li> <li>Finnish</li> <li>French</li> <li>German</li> <li>Hungarian</li> <li>Japanese</li> <li>Norwegian&nbsp;Bokmål</li> <li>Portuguese</li> <li>Russian</li> <li>Slovenian</li> </ul><img src="https://www.darktable.org/2018/12/darktable-260-released/stquentin.jpg" class="hidden-lede">Pascal ObryMon, 24 Dec 2018 10:30:01 +0000tag:www.darktable.org,2018-12-24:2018/12/darktable-260-released/announcementdarktable releasedarktable 2.6https://www.darktable.org/2018/12/darktable-26/<p>In other languages: <a href="https://linuxfr.org/news/darktable-2-6-0">Français</a>, <a href="https://www.mauriziopaglia.it/darktable-2-6/">Italiano</a>.</p> <p>Following the tradition, darktable 2.6 was released for Christmas. 2018 has been a year of renewal for darktable, with many major features introduced by recent&nbsp;contributors.</p> <p>The announcement and release notes for this new release can be found here: <a href="https://www.darktable.org/2018/12/darktable-260-released/">https://www.darktable.org/2018/12/darktable-260-released/</a>.</p> <p>Among the new major&nbsp;features:</p> <ul> <li> <p>A new <em>retouch</em> module, similar to the <em>spot removal</em> module with smart cloning (&#8220;heal&#8221;) and ability to act on each level of detail&nbsp;individually.</p> </li> <li> <p>A new <em>filmic</em> module, able to manage most aspects of the tone of an image in a single&nbsp;module.</p> </li> <li> <p>A complete rework of the <em>color balance</em> module, which can now be seen as a color-aware variant of <em>levels</em>, and can do most adjustments automatically thanks to new color picker&nbsp;buttons.</p> </li> <li> <p>The ability to guide the blurring of the blend mask, to select an object precisely with minimal&nbsp;effort.</p> </li> </ul> <p>As with all darktable major release, this version changes the database format so it is not possible to downgrade to previous versions after launching darktable 2.6: don&#8217;t forget to make a backup of your database (<code>~/.config/darktable/</code> directory) before doing&nbsp;so.</p> <h1>Major&nbsp;features</h1> <h2><span id="retouch" />A new module: <em>retouch</em></h2> <p>While darktable is primarily focused on raw development, recent versions introduced features like <em>liquify</em>, traditionally available only in pixel-oriented editors like <span class="caps">GIMP</span>. One more important step in this direction is done with the new <em>retouch</em> module, which essentially supersedes <em>spot removal</em>, together with frequency-splitting editing for fine&nbsp;retouch.</p> <h3>Improvements compared to spot&nbsp;removal</h3> <p>The interface has a lot more buttons than <em>spot removal</em>, but everything you could do with the later is also possible in a similar way with&nbsp;retouch.</p> <p><div style="text-align: center"> <img alt="Retouch module overview" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-overview.png" /> </div></p> <p>Just like with <em>spot removal</em>, you may select a shape (circle, ellipse, path, or brush, which wasn&#8217;t available with <em>spot removal</em>) and click on a part of the image you want to hide. The module will clone another part of the image to hide it. Drag instead of clicking to choose the source of the clone, or adjust the controls after the&nbsp;fact.</p> <p>Many details will make your life easier than&nbsp;before:</p> <h4>Seamless cloning, better results with less&nbsp;efforts</h4> <p>By default, the clone uses a &#8220;seamless cloning&#8221; algorithm (borrowed from <span class="caps">GIMP</span>&#8217;s &#8220;heal&#8221; tool), which adapts the source to the context where it is cloned. You don&#8217;t need to clone <em>exactly</em> the right piece of image. Let&#8217;s take a common example: a small defect in a not-completely-uniform&nbsp;sky:</p> <p><div style="text-align: center"> <img alt="Retouch example" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-original.png" /> </div></p> <p>A bad attempt to fix this with the clone tool would&nbsp;give:</p> <p><div style="text-align: center"> <img alt="Retouch clone (with controls)" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-clone.png" /> </div></p> <p>The piece of sky copied to mask the defect is a bit darker than the place where it&#8217;s copied. It&#8217;s not obvious while the controls are displayed on the image, but the final image is really&nbsp;bad:</p> <p><div style="text-align: center"> <img alt="Retouch clone (without controls)" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-clone-nocontrol.png" /> </div></p> <p>The same retouch with the new &#8220;heal&#8221; tool (<img alt="heal tool" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-heal-icon.png" />) gives&nbsp;this:</p> <p><div style="text-align: center"> <img alt="Retouch heal (with controls)" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-heal.png" /> </div></p> <p>This time, the final image is indistinguishable from a real sky without&nbsp;defect:</p> <p><div style="text-align: center"> <img alt="Retouch heal (without controls)" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-heal-nocontrol.png" /> </div></p> <p>Even when cloning pieces of images of totally different colors, the &#8220;heal&#8221; tool behaves surprisingly well. Let&#8217;s push the module a&nbsp;bit:</p> <p><div style="text-align: center"> <img alt="Retouch heal on different colors" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-heal-red-white-blue.png" /> </div></p> <p>The white patch is cloned to the blue shirt, the blue shirt to the red one, and the red one to the white one. Each time, the local contrast is kept, but the overall color and luma of the patch is adapted to fit the&nbsp;destination.</p> <p>The basic &#8220;clone&#8221; tool (<img alt="clone tool" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-clone-icon.png" />) is still available for the rare cases where you would want&nbsp;it.</p> <h4>Fill and blur, when you don&#8217;t have anything to&nbsp;clone</h4> <p>In addition to the &#8220;clone&#8221; and &#8220;heal&#8221; tools (which work only when you have a piece of image to duplicate on the spot to remove), retouch provides a &#8220;fill&#8221; tool (<img alt="fill tool" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-fill-icon.png" />) (fill a shape with a color) and a &#8220;blur&#8221; tool (<img alt="blur tool" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-blur-icon.png" />) (apply a blur to soften a part of the image tools). These tools are most useful for split-frequency editing, see&nbsp;below.</p> <h4>One activation, multiple strokes: continuous&nbsp;add</h4> <p>Tools can be activated once for multiple strokes. Just use Control-click on one of the point, line, ellipse or path tool (instead of a normal click), and the tool will remain active until you explicitly deactivate it. This is very convenient when fixing many spots on the same image, compared to the previous flow where one had to re-click the tool&#8217;s button for each&nbsp;stroke.</p> <h4>Source patch&nbsp;visualization</h4> <p>For &#8220;clone&#8221; and &#8220;heal&#8221; tools, each stroke consists in a source and a destination. With a simple click, one sets the destination and by default darktable picks an arbitrary location for the source. One can already set both source and destination with a simple mouse action by dragging from destination to&nbsp;source.</p> <p>Retouch introduces a more advanced&nbsp;mechanism:</p> <ul> <li>While moving the mouse over the image, the future destination is marked with its shape, and the source is marked with a small&nbsp;cross:</li> </ul> <p><div style="text-align: center"> <img alt="Retouch source and destination" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-source-cross.png" /> </div></p> <ul> <li> <p>To select a source, use Shift-click on the image. The cross is placed at the mouse location and won&#8217;t move until you select the destination, with a simple click. This is interesting combined with the permanent activation of the tool mentioned above: the source for multiple strokes will be located at the same place, relative to the&nbsp;destination.</p> </li> <li> <p>A variant: use Control-Shift-Click instead of Shift-Click. This also sets the source location, but this time it will remain fixed in absolute coordinate instead of relative to the&nbsp;destination.</p> </li> </ul> <h3>Split-frequency&nbsp;editing</h3> <p>A common issue with photo retouching, typically for portrait, is that you want to hide spots, and sometimes reduce local contrast to make the skin appear softer, but keep the skin&#8217;s texture. A brutal blur would make the skin overly soft and will give at best an &#8220;obviously post-processed&#8221; look. Let&#8217;s take this image as an example (taken from the <a href="https://discuss.pixls.us/t/playraw-hillbilly-portrait/5518">pixls.us PlayRaw contest &#8220;Hillbilly portrait&#8221;</a>):</p> <p><div style="text-align: center"> <img alt="Example portrait" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-overall-portrait.jpg" /> </div></p> <p>A common technique for this kind of retouching is to split the image into several images corresponding to different levels of details, and then combine the images together. This is what <a href="https://pixls.us/articles/skin-retouching-with-wavelet-decompose/"><span class="caps">GIMP</span>&#8217;s wavelet decompose plugin</a> does, for example. After splitting, one gets a blurry image corresponding to the coarse details, and one or several images containing details only. In our example, we get scales of&nbsp;details:</p> <p><div style="text-align: center"> <img alt="Example portrait" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-portrait-scale4.jpg" /> </div></p> <p><div style="text-align: center"> <img alt="Example portrait, scale 5" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-portrait-scale5.jpg" /> </div></p> <p><div style="text-align: center"> <img alt="Example portrait, scale 6" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-portrait-scale6.jpg" /> </div></p> <p>And the so-called &#8220;residual&#8221; image, i.e. the image where all other levels of details have been&nbsp;removed:</p> <p><div style="text-align: center"> <img alt="Example portrait, scale 7" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-portrait-scale7.jpg" /> </div></p> <p>This kind of transformation is used internally by the <em>equalizer</em> module, which allows you to increase or decrease the importance of each level of detail in the image. While <em>equalizer</em> works globally on the image, <em>retouch</em> allows you to select the level of detail and the portion of image you want to work&nbsp;with.</p> <p>In the retouch module, this corresponds to the &#8220;wavelet decompose&#8221; part of the <span class="caps">GUI</span>:</p> <p><div style="text-align: center"> <img alt="Wavelet decompose scales" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-scales.png" /> </div></p> <p>This part shows one rectangle per scale (fine-grained on the left, coarse-grained on the right). The dark rectangle on the left corresponds to the full image, and the white one on the right to the residual image. By default, darktable always shows the final image, but you can visualize the details scales and residual image by clicking the &#8220;display wavelet scales (<img alt="Display wavelet scales icon" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-display-wavelet-scales.png" />) button. The currently selected image appears with a red rectangle. Move the bottom slider to change the number of details scales to use. Depending on the zoom level, some details scale may be finer than your screen resolution, hence unusable. The grey line above the scales shows which scales are visible at the current zoom&nbsp;level.</p> <p>When viewing the details scales, contrast may be too weak or too strong so the module proposes a levels adjustment (which apply only on the on-screen preview, but does not impact the final&nbsp;image):</p> <p><div style="text-align: center"> <img alt="Levels adjustment" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-levels.png" /> </div></p> <p>Each of the tools presented above (heal, clone, fill, blur) is usable on any of these scales. Think of them as layers obtained from the source image, and re-combined together after retouching to obtain the final image. This is where &#8220;fill&#8221; and &#8220;blur&#8221; tools make most sense: &#8220;fill&#8221; defaults to an erase mode where the fill color is black, which corresponds to remove the details when used on details scales. One can also pick a color and fill with this color (most useful on the residual image scale). Using &#8220;blur&#8221; directly on the image usually results in clearly visible post-processing, but using it selectively on scales results in very subtle&nbsp;effects.</p> <h4>Example 1: spot reduction instead of spot&nbsp;removal</h4> <p>Let&#8217;s focus on the spot below the glasses. If we want to completely remove it, it&#8217;s pretty easy to do so with the &#8220;heal&#8221; tool. Now, what happens if we decide that we want to keep it, but reduce it to avoid drawing the attention. We can just remove it from the coarse detail scale (scale 6 in our example). The spot is not visible on the residual image, so removing it from the details scale is sufficient. The &#8220;heal&#8221; tool allows us to do that cleanly, but when dealing with the details scale, the &#8220;fill&#8221; and &#8220;blur&#8221; tools can also give good results. Here&#8217;s the result on scale 6 (before on the left, after on the&nbsp;right):</p> <p><div style="text-align: center"> <img alt="Before/after at scale 6" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-before-after-scale6.jpg" /> </div></p> <p>The final image will be transformed as&nbsp;follows:</p> <p><div style="text-align: center"> <img alt="Before/after at scale 6 (final image)" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-before-after-final.jpg" /> </div></p> <p>Now, we may decide that the healing we did on scale 6 should also be applied on scale 5. We can redo the same thing manually, but we can also use the top slider, called &#8220;merge scale&#8221;, to automatically replicate shapes to multiple scales. Any shape created on the right hand side of this slider will be replicated on all finer scales up to the merge slider (except if the slider is completely set to 0, which means deactivate the merging). By setting the slider to 5, we apply our healing to both scales 5 and 6, and get the&nbsp;following:</p> <p><div style="text-align: center"> <img alt="Before/after at scale 6" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-merge-5-6.jpg" /> </div></p> <p>If we move the slider further to the left, the spot disappears progressively. Using the same principle, we can remove marks on the skin while preserving the hair of the&nbsp;beard:</p> <p><div style="text-align: center"> <img alt="Before/after, preserving beard" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-beard-preserve.jpg" /> </div></p> <p>(Just one &#8220;heal&#8221; shape on scale 7, propagated to scale 5 using the merge&nbsp;slider)</p> <h4>Example 2: playing with the skin&#8217;s&nbsp;texture</h4> <p>If we want to change the texture of the skin on the cheek, we can apply a blur on a shape like&nbsp;this:</p> <p><div style="text-align: center"> <img alt="Blur on a detail scale" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-blur-detail.jpg" /> </div></p> <p>and get the following before/after&nbsp;result:</p> <p><div style="text-align: center"> <img alt="Changing the skin texture" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-skin-texture.jpg" /> </div></p> <p>Obviously, this kind of retouching should be done with great care: when pushed too far, one gets an overly artificial look. When unsure, you can always get back to your retouch and use blending with an opacity lower than 100%, or change the opacity or blur radius of each shape&nbsp;individually.</p> <h4>Example 3: having fun with the residual&nbsp;image</h4> <p>Just for fun (do not reproduce at home, ugly images to be expected!), we can get a tattoo effect by using the clone tool on the residual&nbsp;image:</p> <p><div style="text-align: center"> <img alt="Cloning on the residual image" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rt-clone-residual-image.jpg" /> </div></p> <p>While not really elegant, this example illustrates the &#8220;split-frequency&#8221; principle: we&#8217;ve kept the fine details from the cheek, and cloned the coarse ones in the residual&nbsp;image.</p> <h2><span id="filmic" />New module: <em>filmic</em></h2> <p>The <em>filmic</em> module was designed to reproduce the good properties of analog film, while giving you the easy controls of digital photography. It can be used on any image as a replacement for the <em>base curve</em> module, and is particularly adapted for images with a high dynamic range, i.e. a large difference between brightest and darkest&nbsp;areas.</p> <p>Let&#8217;s take an example of such image (taken from the <a href="https://discuss.pixls.us/t/playraw-raw-challenge-backlit/1676">pixls.us PlayRaw contest &#8220;Backlit&#8221;</a>):</p> <p><div style="text-align: center"> <img alt="Example HDR image" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/filmic-example-image.jpg" /> </div></p> <p>A common approach to deal with high dynamic range images is to compress the global contrast while retaining the local one. darktable has several modules able to do this: <em>tone mapping</em>, <em>global tonemap</em>, <em>shadows and highlights</em>, and since darktable 2.2 the exposure fusion mode in the <em>base curve</em> module. This contrast compression works to some extend, but results in artificial look when pushed too far. What you typically want to avoid is this (using <em>tone mapping</em>, contrast compression set to the&nbsp;maximum):</p> <p><div style="text-align: center"> <img alt="Example HDR image" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/filmic-hdr-too-much.jpg" /> </div></p> <p>The <em>filmic</em> module shows that another approach is possible, and usually gives more natural results. It considers pixels individually, without trying to distinguish between local and global contrast. If <em>filmic</em> compresses the contrast too much, it is still possible to recover local contrast with the excellent <em>local contrast</em> module for&nbsp;example.</p> <p><em>filmic</em> is meant to be used without the <em>base curve</em> module (activated by default in darktable). The base curve comes very early in the pipeline and yields a contrasty image where highlights are often blown out. Recovering details lost by the base curve is difficult. On the other hand, just disabling the base curve usually results in fade images, lacking contrast and saturation. Other contrast enhancement techniques must be used to compensate for this. <em>filmic</em> comes later than <em>base curve</em> in the pipeline, and gives more control to exploit the dynamic range of the output image&nbsp;properly.</p> <p>The first thing <em>filmic</em> does is to apply a logarithmic curve to the image, so that the &#8220;stops&#8221; (powers of two in luminance in a linear space) are spread evenly on the&nbsp;histogram.</p> <p>A source of inspiration behind <em>filmic</em> is analog film. One difference between analog film and digital sensors is the way they react to overexposure. Digital sensors have a clipping threshold above which everything is considered white: they can&#8217;t distinguish between pixels slightly above the threshold and pixels grossly overexposed. Analog film respond differently: contrast is reduced progressively as the image is overexposed, without this threshold effect. This allows analog films to render a scene with a high dynamic range on a medium with a lower dynamic range, while keeping contrast and saturation in the&nbsp;midtones.</p> <p>Similar effect can be obtained in the digital world by applying an S-shaped curve to the image, as long as the highlights are not clipped. With the tone curve module, one can draw a curve like this&nbsp;one:</p> <p><div style="text-align: center"> <img alt="Exposure adjustment" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/filmic-S-shaped.png" /> </div></p> <p>The second thing <em>filmic</em> does is to apply such curve, but instead of providing the curve manually, the curve is computed automatically from a set of parameters. This makes it easy to balance shadows, highlights and&nbsp;midtones.</p> <h3>Example&nbsp;image</h3> <p>Let&#8217;s process our image with this module. Before applying <em>filmic</em>, we first need to disable the <em>base curve</em> module, and then to adjust the exposure. No pixel should be overexposed nor underexposed. In our case, we need to reduce the exposure to avoid overexposing the&nbsp;sky:</p> <p><div style="text-align: center"> <img alt="Exposure adjustment" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/filmic-exposure.jpg" /> </div></p> <p>For the automatic setting to work best, it is also advised to use the &#8220;AMaZE&#8221; mode in the <em>demosaic</em> module. Activating a noise reduction module coming before <em>filmic</em> in the pipeline (e.g. <em>denoise (profiled)</em>) may help,&nbsp;too.</p> <h3>Logarithmic&nbsp;shaper</h3> <p>The first thing displayed in the <em>filmic</em> module is an overview of the curve applied to the image. The curve is not editable directly, the point of the module being to compute the curve from the sliders&nbsp;below.</p> <p>To get a good starting point, <em>filmic</em> provides an &#8220;auto tune levels&#8221; picker. By default, it considers the whole image, and sets the three sliders above based on average luminance, brightest area and darkest&nbsp;area:</p> <p><div style="text-align: center"> <img alt="One click on &quot;auto tune levels&quot;" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/filmic-autotune-levels.jpg" /> </div></p> <p>At this point, the histogram should fill-in the full range, but no pixel should be under or overexposed. If it is not the case, you can fix it with the &#8220;safety factor&#8221; slider: pushing it to the right compresses the dynamic range (so the histogram should appear centered, with empty parts at the left and right), and conversely, pushing it to the left extends it so shadows and highlights will start clipping. The black cursor can be set by guessing the dynamic range of the image (on a contrasty enough image, this is the dynamic range of the camera, i.e. around 14 <span class="caps">EV</span> on a high-end camera or around 10 <span class="caps">EV</span> for an average compact camera). The black cursor can be set to the value of the white one minus the dynamic range. Alternatively, one can move the cursor to let the histogram fill its horizontal&nbsp;axis.</p> <p>In our case, the auto-tuner did its job properly, so we&#8217;ll keep the sliders as they are. The histogram is spread over the dynamic range of the target image. No pixel are&nbsp;overexposed:</p> <p><div style="text-align: center"> <img alt="Histogram after adjustment" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/filmic-adjust-histogram.png" /> </div></p> <p>Now comes the magic: the &#8220;middle grey luminance&#8221; picker allows us to chose which part of the image will be considered as middle grey (50% luminance). For example, if we set it on the cheek of the dog, we get&nbsp;this:</p> <p><div style="text-align: center"> <img alt="Middle grey on the dog's cheek" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/filmic-middle-grey-dog.jpg" /> </div></p> <p>If we select the nose of the dog, which is much darker, we get this brighter&nbsp;image:</p> <p><div style="text-align: center"> <img alt="Middle grey on the dog's nose" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/filmic-middle-grey-nose.jpg" /> </div></p> <p>Note that we&#8217;ve selected an area which is almost the darkest part of the image, so we&#8217;re really putting <em>filmic</em> to the test and shouldn&#8217;t hope for a great result. Still, the nose is properly exposed and the rest of the image is as good as it can be given the&nbsp;constraints.</p> <p>On the other hand, if we select a bright area in the sky, the overall exposure is lowered to get proper exposure on the&nbsp;sky:</p> <p><div style="text-align: center"> <img alt="Middle grey on the sky" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/filmic-middle-grey-sky.jpg" /> </div></p> <p>For all these images, the black and white points are kept, no over or underexposure. In the end, picking the grass behind the dog is probably the best option here, but it&#8217;s a matter of&nbsp;taste:</p> <p><div style="text-align: center"> <img alt="Middle grey on the grass" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/filmic-middle-grey-grass.jpg" /> </div></p> <p>Using the full image with the &#8220;middle grey luminance&#8221; slider is also a safe choice; this is what &#8220;auto tune levels&#8221;&nbsp;does.</p> <h3>S-shaped&nbsp;curve</h3> <p>Let&#8217;s now move to the second part of the module: the S-shaped curve. Basically, it will increase the contrast in the midtones (the &#8220;contrast&#8221; slider) and compress shadows and/or highlights. You may not have noticed it, but <em>filmic</em> has already been doing so since we activated it, as the &#8220;contrast&#8221; slider is set to 1.5 by default. If we disable the S-shaped curve (setting &#8220;contrast&#8221; to 1), we get a duller&nbsp;image:</p> <p><div style="text-align: center"> <img alt="No contrast in S-shaped curve" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/filmic-no-contrast.jpg" /> </div></p> <p>On the other hand, we can add more contrast than done by&nbsp;default:</p> <p><div style="text-align: center"> <img alt="High contrast in S-shaped curve" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/filmic-high-contrast.jpg" /> </div></p> <p>Of course, at some point increasing the contrast will result in loosing information in shadows and/or highlights. The curve at the top of the module allows you to see what information is lost: ideally the curve should not touch the top or bottom of the frame. If you get this curve, texture is lost in the&nbsp;blacks:</p> <p><div style="text-align: center"> <img alt="Clipped shadows" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/filmic-curve-clipped-shadows.png" /> </div></p> <p>In other words, either you&#8217;ve destroyed your shadows, or you are purposely clipping to get deeper&nbsp;blacks.</p> <p>The sliders below &#8220;contrast&#8221; allow you to fine-tune the&nbsp;curve:</p> <ul> <li> <p><span class="dquo">&#8220;</span>latitude&#8221; gives the range of the image considered as midtone, in which contrast will be&nbsp;increased.</p> </li> <li> <p><span class="dquo">&#8220;</span>balance shadows-highlight&#8221; allows giving more room either to shadows or to&nbsp;highlights.</p> </li> <li> <p>The &#8220;intent&#8221; drop-down controls the interpolation between points of the curve. The default usually provides good results but can also go really wrong (e.g. produce a non-monotonic curve) when you push the parameters to their extreme. Try other modes when this&nbsp;happens.</p> </li> </ul> <p>Increasing contrast often results in an increase of saturation in the shadows, and increase in the highlights, which can result in out-of-gamut colors. The &#8220;saturation&#8221; slider allows decreasing the saturation in the extreme shadows and highlights to avoid this. On the other hand, in highlights, darktable usually has to chose between preserving the luminance and the chrominance. By default, it preserves the luminance but the checkbox allows doing the opposite. When preserving the chrominance, resulting images are often perceptually over-saturated, and will need some extra-care later in the pipeline (e.g. set the output saturation in <em>color balance</em> to&nbsp;75%).</p> <p>There&#8217;s a hidden section &#8220;destination/display&#8221;, useless for most users. Expect ugly images if you use it without reading the manual and knowing what you&#8217;re&nbsp;doing!</p> <h3>Final touch and local&nbsp;contrast</h3> <p>The contrast has been compressed in the sky, but we still see some texture there. If we want to increase local contrast in the sky, the <em>local contrast</em> module with a parametric mask on the brightest part of the image gives&nbsp;this:</p> <p><div style="text-align: center"> <img alt="Middle grey on the grass" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/filmic-and-local-contrast.jpg" /> </div></p> <p>It is also possible to disable the effect of <em>filmic</em> using masks, e.g. excluding the highlights to avoid contrast compression there. Some feathering of the mask will usually be needed to avoid sharp edges or&nbsp;halos.</p> <h3>More&nbsp;documentation</h3> <p>This section gave you an overview of what&#8217;s possible with the <em>filmic</em> module. Obviously, you should read the darktable manual for more details. For more information (more technical details, comparison with other techniques, examples on real-life images, &#8230;), you may also read the article &#8220;<a href="https://eng.aurelienpierre.com/2018/11/30/filmic-darktable-and-the-quest-of-the-hdr-tone-mapping/">Filmic, darktable and the quest of the <span class="caps">HDR</span> tone mapping</a>&#8220;, by Aurélien Pierre, the creator of the&nbsp;module.</p> <h2><span id="duplicate" />Duplicate manager in&nbsp;darkroom</h2> <p>darktable allows you to maintain several history stacks for the same image. In lighttable, using the &#8220;duplicate&#8221; button in the <em>selected image</em> module, one gets a duplicate of the image: the <span class="caps">RAW</span> file is not copied, but darktable keeps two distinct history stacks for this&nbsp;file.</p> <p>darktable 2.6 makes it easier to work with duplicates, with a new module on the left sidebar of the&nbsp;darkroom:</p> <p><div style="text-align: center"> <img alt="Duplicate manager" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/dm-initial.png" /> </div></p> <p>First, obviously, this module being in darkroom, it allows you to deal with duplicates without leaving the darkroom. Second improvement, a short comment can now be associated to each image. Suppose we want to compare our image developed with <em>filmic</em> with a development using exposure fusion in the <em>base curve</em> one. We can start with basic exposure adjustment and keep this version for further&nbsp;development:</p> <p><div style="text-align: center"> <img alt="Duplicate manager" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/dm-basic.png" /> </div></p> <p>Then, clicking the &#8220;create duplicate of the image with same history stack&#8221; button (<img alt="create duplicate" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/dm-create-duplicate.png" />) yields a second duplicate on which we can apply our <em>filmic</em>-based&nbsp;processing:</p> <p><div style="text-align: center"> <img alt="Duplicate manager" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/dm-filmic.png" /> </div></p> <p>To get another version, we select the first one (double-click) and create another&nbsp;duplicate:</p> <p><div style="text-align: center"> <img alt="Duplicate manager" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/dm-fusion.png" /> </div></p> <p>To compare the images, a single long click on any duplicate shows this version of the image with a &#8220;fit to screen&#8221; zoom level. You may have to keep the mouse pressed until the image is re-computed to get the overview the first time, but the operation is immediate afterwards so you may click and release several times to get an instant before/after&nbsp;comparison.</p> <p>Notice that the thumbnails are only updated when you leave an image, so the thumbnail for the image being edited is usually not up to&nbsp;date.</p> <h2><span id="colorbalance" />Revamp of the <em>color balance</em>&nbsp;module</h2> <p>The color balance has been considerably improved. Although its name contains &#8220;color&#8221;, it is actually a much more general module. It can adjust levels pretty much like the <em>levels</em> module, and can now also tweak the contrast with a curve somewhat similar to the S-shaped curve of <em>filmic</em>. Obviously, you can also still adjust the colors to add or remove a color cast in the shadows, highlight and midtones&nbsp;separately.</p> <p>The module gains two modes to work in ProPhotoRGB mode. Also, you now have the choice between the old <span class="caps">RGBL</span> (Red, Green, Blue, Luma) sliders, and <span class="caps">HSL</span> (Hue, Saturation,&nbsp;Luma).</p> <p>Let&#8217;s play with the module on an image with multiple white balances. This is the original image, with only the basic modules activated, and base curve&nbsp;disabled:</p> <p><div style="text-align: center"> <img alt="List of active modules" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/cb-active-modules.jpg" /> </div></p> <p>The snow is obviously white in the real scene, but the snow exposed to the sun reflects the sun&#8217;s light, while the one in the shadow reflects the sky&#8217;s light, much bluer. The <em>color picker</em> module in the left sidebar of the darkroom allows visualizing and quantifying these color&nbsp;casts:</p> <p><div style="text-align: center"> <img alt="Color picker patches" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/cb-patches-original.png" /> </div></p> <p>(The negative value for the &#8216;b&#8217; channel represents the blue&nbsp;color)</p> <p>The <em>color balance</em> module now has color pickers to neutralize the colors. On this image, the global optimizer works rather well. After one click on &#8220;neutralize colors&#8221;, the blue cast in the shadows is&nbsp;reduced:</p> <p><div style="text-align: center"> <img alt="Neutralization picker in color balance" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/cb-picker-neutralize.jpg" /> </div></p> <p>Looking more carefully at the patches selected by the picker, notice that the &#8216;b&#8217; value is now much closer to&nbsp;0:</p> <p><div style="text-align: center"> <img alt="Color picker patches after normalization" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/cb-patches-neutralized.png" /> </div></p> <p>If the global optimizer guesses wrong, it is possible to specify color patches for highlights, shadows and mid-tones (preferably in this order) separately with the corresponding color pickers, and if needed re-launch the &#8220;neutralize colors&#8221; (called &#8220;neutralize colors from patches&#8221; once you have selected these&nbsp;patches).</p> <p>Similarly, the tones can be adjusted similarly to the <em>levels</em> module, either with the global &#8220;optimize luma&#8221; or with individual&nbsp;pickers.</p> <p>The &#8220;master&#8221; section at the top allows adjusting the global contrast and saturation. &#8220;contrast fulcrum&#8221; and &#8220;contrast&#8221; apply a curve, centered around the fulcrum, and with a slope given by the contrast. In other words, with a positive contrast, parts of the image below the fulcrum will be darkened and parts above it will have their luminance&nbsp;increased:</p> <p><div style="text-align: center"> <img alt="Contrast management in color balance" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/cb-contrast.jpg" /> </div></p> <p>For sure, color grading is still the main intended use of <em>color balance</em>. For example, to get and old-style look with blue, faded shadows we can use the &#8220;shadows: lift/offset&#8221; section: set the factor to a positive value (so that the blacks aren&#8217;t fully dark), the hue to a blue color, and use the saturation slider to control the intensity of the coloring effect. This can lead to pictures like this one (image taken from a <a href="https://froknowsphoto.com/raw-edit-of-the-week-25/"><span class="caps">RAW</span> edit of the Week</a>&nbsp;contest):</p> <p><div style="text-align: center"> <img alt="Split toning with color balance" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/cb-split-toning.jpg" /> </div></p> <p>In this example, the cursors have been pushed a bit far to get a clear effect, but the module can also produce more subtle effects, especially when combined with parametric masks. See for example the &#8220;orange and teal&#8221; presets added to the module in this version for example (first image before, second image after&nbsp;application):</p> <p><div style="text-align: center"> <img alt="Image before color balance" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/cb-before.jpg" /> </div></p> <p><div style="text-align: center"> <img alt="Image with orange and teal look" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/cb-orange-and-teal.jpg" /> </div></p> <h2>Edge-aware bluring for blend&nbsp;masks</h2> <p>The &#8220;blend&#8221; feature of darktable allows selecting a part of the image, called the mask, and applying the transformation of a module selectively to this part. After creating a mask (drawn, parametric), one can soften the edges of this mask with a&nbsp;blurring.</p> <p>darktable 2.6 gives more control on the way mask blurring is performed. To understand how it works, let&#8217;s look at the two main kinds of blurring. The common one is &#8220;gaussian blur&#8221;, and gives roughly the same effect as an incorrectly focused photo. In gaussian blur, the value (luma and chroma) of each pixel is spread uniformly to the neighboring pixels. The influence of a pixel decreases with the distance. In darktable, Gaussian blurring is available in the low-pass&nbsp;module:</p> <p><div style="text-align: center"> <img alt="Cloning on the residual image" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/gaussian-blur.jpg" /> </div></p> <p>Another very useful kind of blurring is the <a href="https://en.wikipedia.org/wiki/Bilateral_filter">bilateral filter</a>, sometimes called &#8220;surface blurring&#8221; (because of the name of the corresponding tool in Photoshop), or edge-aware blurring. In this mode, the value of each pixel is spread to the neighboring pixels, but the influence of a pixel is also reduced when the pixels have different values. For&nbsp;example:</p> <p><div style="text-align: center"> <img alt="Cloning on the residual image" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/edge-aware-blur.jpg" /> </div></p> <p>A similar blurring algorithm can be applied to the mask, but this time the mask is blurred, and the image being processed serves as a blur guide. This allows doing a very rough approximation of a mask, and refining precisely with the&nbsp;sliders.</p> <p>Suppose we want to improve the color of the sky. In the <em>color zones</em> module, we can select the sky approximately with a drawn&nbsp;mask:</p> <p><div style="text-align: center"> <img alt="Drawn mask" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/gb-mask.jpg" /> </div></p> <p>Obviously, a Gaussian blur on this mask (i.e. the only available with darktable 2.4) only makes things&nbsp;worse:</p> <p><div style="text-align: center"> <img alt="Drawn mask" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/gb-mask-gauss.jpg" /> </div></p> <p>However, pushing the &#8220;feathering radius&#8221; slider, the mask automatically adjusts to the sky, without spreading to the mountains. The feathering reduced the opacity of the mask a little, but we can compensate this with the &#8220;mask opacity&#8221; slider. And&nbsp;voilà:</p> <p><div style="text-align: center"> <img alt="Drawn mask" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/gb-mask-feather.jpg" /> </div></p> <p>Note that by pushing the &#8220;feathering radius&#8221; and &#8220;mask opacity&#8221; sliders, one gets a tool similar to the &#8220;magic wand&#8221; selection of <span class="caps">GIMP</span>, often requested by darktable users: select a few pixels inside an area to select, and let the tool select surrounding similar pixels. For example, a brush stroke inside the&nbsp;house:</p> <p><div style="text-align: center"> <img alt="Brush, without feathering" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/gb-brush-nofeather.jpg" /> </div></p> <p>And now with&nbsp;feathering:</p> <p><div style="text-align: center"> <img alt="Brush, with feathering" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/gb-brush-feather.jpg" /> </div></p> <h1>Lighttable and map&nbsp;improvements</h1> <ul> <li>Searching for a location from the map view was&nbsp;fixed:</li> </ul> <p><div style="text-align: center"> <img alt="Searching for a location in the map view" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/map-search.png" /> </div></p> <ul> <li> <p>The look of the lighttable has been improved. The background text showing the image format was often unreadable because it was hidden by the picture. The state of the local copy is now displayed in the top right corner. In darktable 2.6: <div style="text-align: center"> <img alt="Lighttable in dt 2.6" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/lt-after.png" /> </div> Previously, the same configuration was displayed like this <div style="text-align: center"> <img alt="Lighttable in before 2.6" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/lt-before.png" /> </div></p> </li> <li> <p>It is possible to display the image&#8217;s metadata as a thumbnail overlay in lighttable and filmstrips: <div style="text-align: center"> <img alt="Activating extended thumb overlay" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/thumb-overlay.png" /> </div> Once active, the informations are shown when hovering the mouse over the thumbnail: <div style="text-align: center"> <img alt="Thumb overlay" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/thumb-overlay-lighttable.jpg" /> </div></p> </li> <li> <p>One can now sort images by aspect ratio (possibly after cropping within&nbsp;darktable):</p> </li> </ul> <p><div style="text-align: center"> <img alt="Sort by aspect ratio" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/lt-sort-by.png" /> </div></p> <ul> <li>It is also possible to specify the order manually, by selecting &#8220;custom sort&#8221; and then drag-and-dropping the images to reorder&nbsp;them:</li> </ul> <p><div style="text-align: center"> <img alt="Custom sort" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/lt-custom-sort.png" /> </div></p> <ul> <li> <p>Collections can be filtered by aspect ratio, shutter speed (exposure) and state of local copy: <div style="text-align: center"> <img alt="Collection filters" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/lt-collection-filters.png" /> </div> This allows in particular selecting by orientation: only portrait images (aspect ratio &lt; 1) or landscape (aspect ratio &gt; 1) or square (aspect ratio =&nbsp;1).</p> </li> <li> <p>When selecting a filter to collect images, the number of images corresponding to each filter is displayed. In the example below, 13 images were taken at 1/2000 and 27 at&nbsp;1/1600:</p> </li> </ul> <p><div style="text-align: center"> <img alt="Number of images per collection" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/lt-collection-nb.png" /> </div></p> <ul> <li> <p>It is now possible to have scrollbars in lighttable and darkroom. They are disabled by default in darkroom, but can be activated if needed from the configuration (at the bottom of the &#8220;<span class="caps">GUI</span> options&#8221; tab): <div style="text-align: center"> <img alt="Configuration of scrollbars" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/scrollbars-config.png" /> </div> The scrollbars appear around the central part of the interface: <div style="text-align: center"> <img alt="Scrollbars in darkroom" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/darkroom-scrollbars.jpg" /> </div> In lighttable, the scrollbars are the only way to move quickly within a very large collection of images. In darkroom mode, moving can be done without scrollbars by dragging the mouse on the image or by using the preview at the top left of the window, so the scrollbars are much less&nbsp;needed.</p> </li> <li> <p>Support for groups of images has been improved. Groups of images can be created by selecting images and clicking &#8220;group&#8221; in the <em>selected image[s]</em> module. Once done, the &#8220;G&#8221; button at the top of the lighttable allows switching between the &#8220;collapsed&#8221; mode where only the group head is displayed, and &#8220;expanded&#8221; mode. In collapsed mode, actions like rating (stars) and color labels are now applied to the whole&nbsp;group.</p> </li> <li> <p>Also, it is now possible to sort by group so that groups are kept together. The group representative is shown first, and other than grouping the order is the same as sorting by &#8220;id&#8221;&nbsp;(identifier).</p> </li> <li> <p>The print module has been improved: one can now choose the type of paper, and when using TurboPrint, the complete TurboPrint dialog is displayed before&nbsp;printing.</p> </li> <li> <p>The <em>collect images</em> in lighttable now has 3 modes to deal with hierarchical tags. When selecting a tag which isn&#8217;t a node leaf (i.e. a tag that has subtags), say, the &#8220;parent&#8221;&nbsp;tag:</p> <ul> <li> <p>A normal double-click selects only the images tagged with this particular tag. The search string is set to&nbsp;&#8220;parent&#8221;.</p> </li> <li> <p>A control-double-click selects only the children, e.g. images tagged with &#8220;parent|child&#8221; but not &#8220;parent&#8221; only. The search string is set to &#8220;parent|%&#8221;, where &#8220;%&#8221; is a wildcard meaning &#8220;any&nbsp;string&#8221;.</p> </li> <li> <p>A shift-double-click selects images tagged with the tag itself or any of its subtags. The search string is set to&nbsp;&#8220;parent%&#8221;.</p> </li> </ul> </li> </ul> <h1>Other important&nbsp;features</h1> <h2><span id="denoise" />Finer control on noise for profiled denoise and raw&nbsp;denoise</h2> <p>New curves have been introduced to give finer control for the &#8220;wavelet&#8221; mode of profiled denoise as well as the raw denoise module. These curves allow controlling the strength of denoising frequency by frequency. In other words, you can adapt the strength of the denoising to the noise coarseness. The &#8220;all&#8221; curve allow to change the strength for all channels at the same time, while &#8220;R&#8221;, &#8220;G&#8221; and &#8220;B&#8221; curves allow changing the strength separately for red, green, and blue channels. It was already possible to denoise red, green and blue channels selectively using the &#8220;<span class="caps">RGB</span> red/green/blue channel&#8221; blend modes, but the new module can do this with a single instance and no&nbsp;blending.</p> <p>Let&#8217;s see an example of what can be done with the &#8220;all&#8221; curves first. First, zoom into the image to be at a 100% zoom level. At smaller zoom levels the result is an approximation, which is not always accurate. Let&#8217;s activate the denoise profiled, in wavelet mode. A strength between 0.150 and 0.3 is usually a good starting point. Here, to better see the influence of the curve, we use a strength of&nbsp;0.5.</p> <p>Here is the image we obtain with a flat curve: <div style="text-align: center"> <img alt="Boat denoised using a flat curve" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/wavelets_flat.png" /> </div></p> <p>Now, by lowering the strength on a specific frequency, we can obtain very different results. Here is what we obtain when lowering the strength on a quite coarse frequency: <div style="text-align: center"> <img alt="Boat denoised with less reduction on the central frequency" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/wavelets_coarse_noise.png" /> </div> The result is not pleasing to the eyes because coarse grain noise are very disturbing. Here, we reduced the denoising strength too&nbsp;much.</p> <p>Let&#8217;s try the same test on the finest frequency: <div style="text-align: center"> <img alt="Boat denoised with less reduction on the finest frequency" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/wavelets_details.png" /> </div> Here, we obtain an image which is much less disturbing than the last one: the fine grain noise is less distrurbing than the coarse grain one. This image is even arguably more natural than the one with a flat&nbsp;curve.</p> <p>By playing with the different frequencies, on can get better trade-offs between smoothing and detail&nbsp;preservation.</p> <p>In addition, new presets are now available for the <em>denoise (profiled)</em> module that exploits this&nbsp;curve:</p> <ul> <li> <p>one for chroma noise (false colors), where the denoising is increased for fine details, as the color should not change much from one pixel to&nbsp;another.</p> </li> <li> <p>one for luma noise (false luminance), where the denoising is reduced on finest details and some coarse scales. It aims at providing a nice trade-off between noise and smoothing for pictures that are not too noisy (forget about extended <span class="caps">ISO</span> values for instance. For such pictures we have to use less automatic&nbsp;strategies).</p> </li> </ul> <p>The chroma preset should be used on the first instance, and the luma preset on the second&nbsp;instance.</p> <p>For images that are more complicated, or if you want to get an even better trade-off, you can use the <span class="caps">RGB</span> curves. Indeed, the sensors usually capture R, G, and B values. Depending on the lighting on the scene, the channels can exhibit different noise&nbsp;characteristics:</p> <ul> <li> <p>one of the channel may be more (or even much more) noisy than the&nbsp;other</p> </li> <li> <p>one channel may have coarser noise than&nbsp;another</p> </li> </ul> <p>You can try to get a better denoising trade-off by denoising the channels separately, using the <span class="caps">RGB</span> curves and an instance of channel mixer used to visualize the channels: <div style="text-align: center"> <img alt="Denoising the red channel" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/wavelets_red.png" /> </div> Once <span class="caps">RGB</span> channels have been denoised, you can use another instance in color blend mode to remove remaining color&nbsp;problems.</p> <p>Note that denoising <span class="caps">RGB</span> channels individually should be done <em>before</em> using an instance in color blend mode, as doing this will mix the channels and change the characteristics of&nbsp;noise.</p> <p>These explanations were all using the <em>denoise (profiled)</em> module as an example, but you can follow the same steps with the <em>raw denoise</em> module. Also note that the tip of denoising <span class="caps">RGB</span> channels separately while visualizing the channels using the channel mixer is also useful to set the parameters of the <em>denoise bilateral</em>&nbsp;module.</p> <h2>A new &#8220;log&#8221; mode for <em>unbreak input&nbsp;profile</em></h2> <p>Similarly to the logarithmic shaper in the <em>filmic</em> module, the <em>unbreak input profile</em> module is now equipped with a logarithmic mode, with the same sliders and pickers. The difference is that <em>unbreak input profile</em> comes before the application of the input profile, while <em>filmic</em> comes later in the&nbsp;pipeline.</p> <p>Using the log mode of <em>unbreak input profile</em> usually results in a pale image, lacking contrast. For example, on the <a href="https://discuss.pixls.us/t/playraw-mairi-troisieme/967">Mairi Troisieme</a> image, we may get&nbsp;this:</p> <p><div style="text-align: center"> <img alt="Pale image after unbreak input profile" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/unbreak-fade.jpg" /> </div></p> <p>Getting a fade image is indeed the point: the logarithmic mode in <em>unbreak input profile</em> is meant to be used in conjunction with another module later in the pipeline to give more pep to the image (for example the <em>color balance</em> module, especially with the new features in this version). The advantage of this flow is that most of the pipeline, in particular the application of the input color profile, is done on an image that fills in the histogram properly, and without extreme values. In other words, we distinguish a technical part of the edit and an artistic part. Back to our image, the <em>color balance</em> module allows for example&nbsp;this:</p> <p><div style="text-align: center"> <img alt="Vivid image after color balance" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/unbreak-colorbalanced.jpg" /> </div></p> <p>Note that in this workflow, it is mandatory to work in the same order as the pipeline does: trying to adjust the settings of <em>unbreak input profile</em> after tuning the levels and contrast with <em>color balance</em> is doomed to&nbsp;failure.</p> <p>In practice, the <em>filmic</em> module can do more or less the same, but has the advantage of having everything in a single module for a quicker&nbsp;edit.</p> <h2>Ability to adjust the opacity of each stoke in <em>spot&nbsp;removal</em></h2> <p>The <em>spot removal</em> module benefited from some of the cool features of <em>retouch</em>. For example, it is now possible to set the opacity of the shapes individually&nbsp;(control+scroll).</p> <h2>Improvement of monochrome <span class="caps">RAW</span> files&nbsp;support</h2> <p>While it is possible to turn any <span class="caps">RAW</span> image into monochrome, some cameras have no color filters in front of their sensors, and produce monochrome <span class="caps">RAW</span> files. Previous versions of darktable allowed disabling the <em>demosaic</em> module for monochrome <span class="caps">RAW</span>. This version improves the treatment of these images further by disabling chromatic aberration correction, turn off the <em>white balance</em> module (if only to avoid spurious error messages), and re-enable normal processing such as auto-exposure which was disabled in previous&nbsp;versions.</p> <h2>Improvement of multiple modules instance&nbsp;support</h2> <h3><span id="rename" />Ability to rename module&nbsp;instances</h3> <p>When using multiple instances of the same module for different purposes, it is often hard to remember which instance serves which purpose. darktable now allows giving a name to each instance to simplify this. For example, if you use two instances of denoise profile, one for chrominance noise, and one for luminance noise, you may set the name of the first one as &#8220;chroma&#8221;, and the name of the second one as &#8220;luma&#8221;. The steps for setting the name of the chroma instance are described&nbsp;bellow:</p> <p><div style="text-align: center"> <img alt="Renaming an instance" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/rename.png" /> </div></p> <ol> <li> <p>first, click on the &#8220;multiple instances action&#8221;&nbsp;button</p> </li> <li> <p>click on&nbsp;&#8220;rename&#8221;</p> </li> <li> <p>enter the&nbsp;name</p> </li> <li> <p>press &#8220;enter&#8221; on your&nbsp;keyboard</p> </li> </ol> <p>Giving a name to a module instance is not only a convenient way to remember which one does what. Read&nbsp;on.</p> <h3>Copy-paste&nbsp;improvement</h3> <p>One of the strength of darktable is, thanks to its non-destructive nature, the ability to replay the history of one image on another one. A history can be saved as a style, or copied from one image to another (using control-c/control-v in lighttable or darkroom, or using the <em>history stack</em> module in lighttable). One difficulty, though, is to decide what should happen when copy-pasting a history containing one module to a target image where the module is already used. By default, darktable overrides the existing module with the one copy-pasted. However, when the same module is used for different purpose in the source and target images, this behavior is not&nbsp;satisfactory.</p> <p>The behavior in darktable 2.6 is that when modules in the source and target images have different names, then both instances are kept. If they have the same name, then the copy-pasted one overrides the existing&nbsp;one.</p> <h3>One click to apply a preset in a new&nbsp;instance</h3> <p>Working with multiple instance of the same module is getting easier and easier. A common use-case is to create an instance for a given preset, for example the <em>denoise (profiled)</em> is often used with one instance to deal with luma noise, and another for chroma. With previous versions, this was done in several steps: 1) create a new instance, 2) apply the preset (4 clicks). It is now possible in a single step: open the &#8220;presets&#8221; menu, and use the middle button of the mouse instead of the left button to select the&nbsp;entry:</p> <p><div style="text-align: center"> <img alt="Creating an instance for a preset" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/second-instance.png" /> </div></p> <p>Note that the version after 2.6 will allow a middle click to open the preset menu, so that both clicks can be done with the same&nbsp;button.</p> <h2>Ratio-preserving crop in the perspective correction&nbsp;module</h2> <p>The perspective correction module now allows a semi-automatic cropping preserving the original image&#8217;s&nbsp;format:</p> <p><div style="text-align: center"> <img alt="Automatic cropping to original format" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/pc-original-format.png" /> </div></p> <p>Just drag the mouse over the image to select the portion to&nbsp;crop:</p> <p><div style="text-align: center"> <img alt="Cropping an image" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/pc-crop-image.jpg" /> </div></p> <p>The area is adjusted automatically to avoid including black parts in the target image. This avoids having to switch to the <em>crop and rotate</em>&nbsp;module.</p> <h1>Usability&nbsp;improvements</h1> <h2>Contextual&nbsp;help</h2> <p>darktable is a complex beast to master, and reading the manual for the feature you&#8217;re trying to use is often a good idea, even if you already read the full manual&nbsp;once.</p> <p>This version introduces a contextual help to help users: a &#8220;?&#8221; button is available on the top-right of the interface, next to the &#8220;preferences&#8221;&nbsp;button:</p> <p><div style="text-align: center"> <img alt="Contextual help" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/contextual-help.png" /> </div></p> <p>Once clicked, the mouse turns into a question mark when hovering any element of the interface for which help is&nbsp;available:</p> <p><div style="text-align: center"> <img alt="Contextual help activated" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/contextual-help-active.png" /> </div></p> <p>One click opens your browser on the corresponding section of the&nbsp;documentation.</p> <h2>Module organization into&nbsp;tabs</h2> <p>The distribution of modules into groups, or tabs (&#8220;basic group&#8221;, &#8220;tone group&#8221;, &#8220;color group&#8221;, &#8220;correction group&#8221; and &#8220;effects group&#8221;) is now customizable. The original distribution in darktable follows a thematic categorization, but some users prefer grouping by stages in the workflow. For example, <em>demosaic</em> is currently categorized in the color group because it deals with colors, but it comes very early in the pipe hence may impact almost all other modules, hence it makes sense to categorize it in the basic&nbsp;group.</p> <p>A re-categorization was proposed, but discussions between developers couldn&#8217;t reach a consensus, since changing the groups may disturb old-timers used to the legacy layout. The trade-off in darktable 2.6 is to have a customizable layout. You may change the layout manually by editing the <code>.config/darktable/darktablerc</code> file, or use one of the scripts provided in the source distribution of darktable: <code>tools/iop-layout.sh</code> to adopt the new layout, and <code>tools/iop-layout-legacy.sh</code> to revert to the legacy layout. Edit these scripts if needed to create your custom layout. These scripts are meant for advanced users who know how to execute a script, and may or may not work on Windows. If a consensus is reached on the best possible layout, it may be adopted in future releases of darktable so that all users can benefit from&nbsp;it.</p> <p>Note that this change only affects the <span class="caps">GUI</span>. Changing the distribution of modules in different groups does not affect the order in which modules are applied, which is still a fix order (from bottom to top in the <span class="caps">GUI</span>).</p> <h2>Tone&nbsp;curve</h2> <p>The user-interface of the tone curve has been improved in several ways. First, you can now use a log scale on the x axis, y axis, or&nbsp;both:</p> <p><div style="text-align: center"> <img alt="Log-log scale on tone curve" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/tone-curve-loglog.png" /> </div></p> <p>This makes it easier to manipulate points close to 0, i.e. finely tweak the part of the curve affecting&nbsp;shadows.</p> <p>It is also possible to chose the algorithm used for interpolation, i.e. for computing the curve itself based on the control points edited by the user. There were already several algorithms available, but hidden to the user. For example, selecting the preset &#8220;contrast - high (linear)&#8221; was picking a cubic spline for you. For very smooth curves, the interpolation algorithm doesn&#8217;t change much on the result, but for curves using points close to each other it may make a dramatic&nbsp;change.</p> <p>For example, let&#8217;s look at the same set of control points with different interpolations. The cubic spline gives a very smooth curve, but may give a non-monotonic result, i.e. a contrast inversion on the resulting&nbsp;image:</p> <p><div style="text-align: center"> <img alt="Cubic spline" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/tone-curve-cubic.png" /> </div></p> <p>The centripetal spline reduces the potential for&nbsp;non-monotonicity:</p> <p><div style="text-align: center"> <img alt="Centripetal spline" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/tone-curve-centripetal.png" /> </div></p> <p>The monotonic spline, used by default, may be less smooth but avoids non-monotonicity by&nbsp;construction:</p> <p><div style="text-align: center"> <img alt="Monotonic spline" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/tone-curve-monotonic.png" /> </div></p> <h2>More user-interface customizability through <span class="caps">CSS</span></h2> <p>More widgets are themable through <span class="caps">CSS</span>. In particular, some widgets hardcoded a light foreground and black background so it was not possible to make a clean white background&nbsp;theme.</p> <p>It is now possible to get a white background theme with, for example, the following <span class="caps">CSS</span> (in a file named <code>darktable.css</code> in darktable&#8217;s configuration directory, <code>~/.config/darktable/</code> on unix-based&nbsp;systems):</p> <div class="highlight"><pre><span class="c">/* White theme for darktable */</span> <span class="c">/*</span> <span class="c"> * Adapt the path below to the one of darktable 2.6&#39;s</span> <span class="c"> * darktable.css if needed.</span> <span class="c"> */</span> <span class="k">@import</span> <span class="s1">&#39;/usr/share/darktable/darktable.css&#39;</span><span class="p">;</span> <span class="k">@define-color</span> <span class="nt">bg_color</span> <span class="nn">#eee</span><span class="p">;</span> <span class="k">@define-color</span> <span class="nt">plugin_bg_color</span> <span class="nn">#aaa</span><span class="p">;</span> <span class="k">@define-color</span> <span class="nt">fg_color</span> <span class="nn">#333</span><span class="p">;</span> <span class="k">@define-color</span> <span class="nt">base_color</span> <span class="nn">#444</span><span class="p">;</span> <span class="k">@define-color</span> <span class="nt">text_color</span> <span class="nn">#333</span><span class="p">;</span> <span class="k">@define-color</span> <span class="nt">selected_bg_color</span> <span class="nn">#eee</span><span class="p">;</span> <span class="k">@define-color</span> <span class="nt">selected_fg_color</span> <span class="nn">#666</span><span class="p">;</span> <span class="k">@define-color</span> <span class="nt">tooltip_bg_color</span> <span class="nn">#ddd</span><span class="p">;</span> <span class="k">@define-color</span> <span class="nt">tooltip_fg_color</span> <span class="nn">#eee</span><span class="p">;</span> <span class="k">@define-color</span> <span class="nt">really_dark_bg_color</span> <span class="nn">#eee</span><span class="p">;</span> <span class="k">@define-color</span> <span class="nt">darkroom_bg_color</span> <span class="nn">#fff</span><span class="p">;</span> <span class="k">@define-color</span> <span class="nt">darkroom_preview_bg_color</span> <span class="nt">shade</span><span class="o">(</span><span class="k">@darkroom_bg_color</span><span class="o">,</span> <span class="nc">.8</span><span class="o">)</span><span class="p">;</span> <span class="k">@define-color</span> <span class="nt">lighttable_bg_color</span> <span class="k">@darkroom_bg_color</span><span class="p">;</span> <span class="k">@define-color</span> <span class="nt">lighttable_preview_bg_color</span> <span class="nt">shade</span><span class="o">(</span><span class="k">@lighttable_bg_color</span><span class="o">,</span> <span class="nc">.8</span><span class="o">)</span><span class="p">;</span> <span class="nt">tooltip</span> <span class="p">{</span> <span class="nt">border-radius</span><span class="o">:</span> <span class="nt">0pt</span><span class="o">;</span> <span class="p">}</span> <span class="nn">#iop-plugin-ui</span> <span class="p">{</span> <span class="nt">border</span><span class="o">:</span> <span class="nt">1pt</span> <span class="nt">solid</span> <span class="nn">#aaa</span><span class="o">;</span> <span class="p">}</span> </pre></div> <p>The <span class="caps">GUI</span> will then have this&nbsp;aspect:</p> <p><div style="text-align: center"> <img alt="White background CSS" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/white-background-css.jpg" /> </div></p> <p>Note that with such setup, images will look darker, hence the aspect of the <span class="caps">GUI</span> may push the user to over-expose the images. A white background is interesting for people working on images meant to be displayed on white background, though. To avoid being influenced towards over- or under-exposing pictures, a grey theme like the following is much more&nbsp;advisable:</p> <div class="highlight"><pre><span class="o">/*</span> <span class="n">Grey</span> <span class="n">theme</span> <span class="k">for</span> <span class="n">darktable</span> <span class="o">*/</span> <span class="o">/*</span> <span class="o">*</span> <span class="n">Adapt</span> <span class="n">the</span> <span class="n">path</span> <span class="n">below</span> <span class="n">to</span> <span class="n">the</span> <span class="n">one</span> <span class="n">of</span> <span class="n">darktable</span> <span class="mf">2.6</span><span class="s1">&#39;s</span> <span class="o">*</span> <span class="n">darktable</span><span class="o">.</span><span class="n">css</span> <span class="k">if</span> <span class="n">needed</span><span class="o">.</span> <span class="o">*/</span> <span class="nd">@import</span> <span class="s1">&#39;/usr/share/darktable/darktable.css&#39;</span><span class="p">;</span> <span class="nd">@define</span><span class="o">-</span><span class="n">color</span> <span class="n">bg_color</span> <span class="c1">#7F7F7F;</span> <span class="nd">@define</span><span class="o">-</span><span class="n">color</span> <span class="n">plugin_bg_color</span> <span class="c1">#333;</span> <span class="nd">@define</span><span class="o">-</span><span class="n">color</span> <span class="n">fg_color</span> <span class="c1">#eee;</span> <span class="nd">@define</span><span class="o">-</span><span class="n">color</span> <span class="n">base_color</span> <span class="c1">#444;</span> <span class="nd">@define</span><span class="o">-</span><span class="n">color</span> <span class="n">text_color</span> <span class="c1">#eee;</span> <span class="nd">@define</span><span class="o">-</span><span class="n">color</span> <span class="n">selected_bg_color</span> <span class="c1">#666;</span> <span class="nd">@define</span><span class="o">-</span><span class="n">color</span> <span class="n">selected_fg_color</span> <span class="c1">#eee;</span> <span class="nd">@define</span><span class="o">-</span><span class="n">color</span> <span class="n">tooltip_bg_color</span> <span class="c1">#BEBEBE;</span> <span class="nd">@define</span><span class="o">-</span><span class="n">color</span> <span class="n">tooltip_fg_color</span> <span class="c1">#111;</span> <span class="nd">@define</span><span class="o">-</span><span class="n">color</span> <span class="n">really_dark_bg_color</span> <span class="c1">#595959;</span> <span class="nd">@define</span><span class="o">-</span><span class="n">color</span> <span class="n">darkroom_bg_color</span> <span class="c1">#777777;</span> <span class="nd">@define</span><span class="o">-</span><span class="n">color</span> <span class="n">darkroom_preview_bg_color</span> <span class="n">shade</span><span class="p">(</span><span class="nd">@darkroom_bg_color</span><span class="p">,</span> <span class="o">.</span><span class="mi">8</span><span class="p">);</span> <span class="nd">@define</span><span class="o">-</span><span class="n">color</span> <span class="n">lighttable_bg_color</span> <span class="nd">@darkroom_bg_color</span><span class="p">;</span> <span class="nd">@define</span><span class="o">-</span><span class="n">color</span> <span class="n">lighttable_preview_bg_color</span> <span class="n">shade</span><span class="p">(</span><span class="nd">@lighttable_bg_color</span><span class="p">,</span> <span class="o">.</span><span class="mi">8</span><span class="p">);</span> <span class="n">tooltip</span> <span class="p">{</span> <span class="n">border</span><span class="o">-</span><span class="n">radius</span><span class="p">:</span> <span class="mi">0</span><span class="n">pt</span><span class="p">;</span> <span class="p">}</span> <span class="c1">#iop-plugin-ui</span> <span class="p">{</span> <span class="n">border</span><span class="p">:</span> <span class="mi">1</span><span class="n">pt</span> <span class="n">solid</span> <span class="c1">#707070;</span> <span class="p">}</span> </pre></div> <p>Note that the thumbnails in the lighttable still use hardcoded grey colors, but they will be customizable in a future version&nbsp;too.</p> <h2>Other&nbsp;improvements</h2> <ul> <li>50%, 400%, 800% and 1600% zoom level are available in darkroom mode. While most operations provided by darktable are meant to improve the overall image tone and colors, it is sometimes interesting to get a precise pixel-level view of a small part of the image. The highest zoom factor previously available (200%) was not always sufficient, especially on high-dpi screens. Note that these zoom levels are available from the menu in the preview area, but not with mouse&nbsp;wheel.</li> </ul> <p><div style="text-align: center"> <img alt="1600% Zoom Level" src="https://www.darktable.org/blog/2018-12-24-darktable-2.6/zoom-1600.png" /> </div></p> <ul> <li> <p>All masks are previewed and can be adjusted before being drawn. This also applies to the <em>liquify</em> module&#8217;s&nbsp;shapes.</p> </li> <li> <p>The color picker&#8217;s behavior has been reworked. For example the picker in the exposure module wasn&#8217;t disabled when the module was disabled. This is becoming more important as more and more modules use a color picker (<em>filmic</em>, <em>unbreak input profile</em>, <em>color balance</em>).</p> </li> </ul> <h1>Import/export to other&nbsp;software</h1> <ul> <li> <p>The Adobe Lightroom importer was improved (“creator”, “rights”, “title”, “description” metadata are copied from Lightroom to&nbsp;darktable).</p> </li> <li> <p>A new script is provided to import collections from Capture One Pro (<code>tools/migrate_capture_one_pro.sql</code> in the source code of&nbsp;darktable).</p> </li> </ul> <h1>About this&nbsp;article</h1> <p>This article is licensed under the terms of the <a href="https://creativecommons.org/licenses/by/2.0/">Attribution 2.0 Generic (<span class="caps">CC</span> <span class="caps">BY</span> 2.0)</a>, or, at your option, the <a href="https://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons <span class="caps">BY</span>-<span class="caps">NC</span>-<span class="caps">SA</span> 3.0 License</a>.</p> <p><strong>Contributors:</strong> <a href="https://www.flickr.com/photos/113336874@N07/">jpg54</a>, <a href="https://matthieu-moy.fr/">Matthieu Moy</a>, <a href="https://github.com/Nilvus">Nilvus</a>, <a href="https://github.com/rawfiner">rawfiner</a>.</p><img src="https://www.darktable.org/2018/12/darktable-26/butterfly.jpg" class="hidden-lede">moyMon, 24 Dec 2018 00:00:00 +0000tag:www.darktable.org,2018-12-24:2018/12/darktable-26/announcementdarktable-releasedarktable 2.6.0rc2 releasedhttps://www.darktable.org/2018/12/darktable-260rc2-released/<p>we&#8217;re proud to announce the third release candidate for the upcoming 2.6 series of darktable,&nbsp;2.6.0rc2!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.6.0rc2">https://github.com/darktable-org/darktable/releases/tag/release-2.6.0rc2</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-2.6.0~rc2.tar.xz 5758640aa8bc876a01a5505db01812b1b3d0a5612a085ff44c15fa6a91217694 darktable-2.6.0rc2.tar.xz $ sha256sum darktable-2.6.0rc2.dmg 79b6218c3a986779054d5e8c1abe57c7adb02dc16a40e662fd20b1ea2b39fca8 darktable-2.6.0rc2.dmg $ sha256sum darktable-2.6.0rc2.exe 1db588c6805c8e0cb295f9948e767207ba5d526742b4947bf9b23756e79dbce6 darktable-2.6.0rc2.exe </pre></div> <p>when updating from the currently stable 2.4.x series, please bear in mind that your edits will be preserved during this process, but it will not be possible to downgrade from 2.6 to 2.4.x any&nbsp;more.</p> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <ul> <li>Over 1600 commits to darktable+rawspeed since&nbsp;2.4</li> <li>260+ pull requests&nbsp;handled</li> <li>250+ issues&nbsp;closed</li> <li>Updated user manual is coming&nbsp;soon™</li> </ul> <h2>The Big&nbsp;Ones</h2> <ul> <li>new module retouch allowing changes based on image frequency&nbsp;layers</li> <li>new module filmic which can replace the base curve and shadows and&nbsp;highlights</li> <li>new module to handle duplicates in the darkroom with possibility to add a title, create standard or virgin duplicate, delete duplicate and quickly compare with a&nbsp;duplicate</li> <li>new logarithm controls for the&nbsp;tone-curve</li> <li>new mode for the unbreak profile&nbsp;module</li> <li>add mask preview to adjust size, hardness before placing&nbsp;them</li> <li>make it possible to change the cropped area in the perspective correction&nbsp;module</li> <li>the mask blur has been complemented with a guided-filter to fine tune it (this works on <span class="caps">RGB</span> and Lab color&nbsp;space).</li> <li>color balance module has two new modes based on ProPhotoRGB and <span class="caps">HSL</span></li> <li>Experimental support for PPC64le architecture (OpenCL support needs to be disabled, <code>-DUSE_OPENCL=OFF</code>)</li> </ul> <h2>New Features And&nbsp;Changes</h2> <ul> <li>search from the map view is now&nbsp;fixed</li> <li>visual rework of the lighttable (color label, image kind, local&nbsp;copy)</li> <li>an option make it possible to display some image information directly on the&nbsp;thumb</li> <li>add optional scrollbars on lighttable, or lighttable and&nbsp;darkroom</li> <li>allow each masks of the clone module to have the opacity&nbsp;adjusted</li> <li>lightroom import module supports the creator, rights, title, description and publisher&nbsp;information.</li> <li>enhance TurboPrint support by displaying the dialogue with all possible options (print cancellation will be fixed in TurboPrint&nbsp;2.47)</li> <li>new sort filter based on the image&#8217;s&nbsp;aspect</li> <li>new sort filter based on the image&#8217;s shutter&nbsp;speed</li> <li>new sort filter based on the image&#8217;s&nbsp;group</li> <li>new sort filter based on a personalized sorting order (drag&amp;drop on the lighttable&nbsp;view)</li> <li>collection based on the local copy&nbsp;status</li> <li>group image number displayed on the collection&nbsp;module</li> <li>new zoom level at 50%; 400%, 800% and&nbsp;1600%</li> <li>better support for monochrome <span class="caps">RAW</span></li> <li>add contextual help pointing to the darktable&#8217;s&nbsp;manual</li> <li>better copy/paste support for multiple&nbsp;instances</li> <li>add support for renaming the module&nbsp;instances</li> <li>add frequency based adjustment for the <span class="caps">RAW</span> denoise&nbsp;module</li> <li>add frequency based adjustment for the denoise profile&nbsp;module</li> <li>all widgets should be themable via <span class="caps">CSS</span>&nbsp;now</li> <li>add support for configuring the modules&nbsp;layout</li> <li>different way to select hierarchical tags in the collection module (only the actual parent tag, all children or the parent and&nbsp;children)</li> <li>better handling of grouped images by allowing setting stars, color label for the whole&nbsp;group.</li> <li>make it possible to apply a preset to a new module instance using the middle&nbsp;click</li> <li>new script to migrate collection from Capture One&nbsp;Pro</li> </ul> <h2>Bug&nbsp;fixes</h2> <ul> <li>Fix the color pickers behavior in all&nbsp;modules</li> <li>Fix liquify tools&nbsp;switching</li> <li>Many more bugs got&nbsp;fixed</li> </ul> <h2>Lua</h2> <ul> <li>No&nbsp;changes</li> </ul> <h2>Changed&nbsp;Dependencies</h2> <ul> <li>CMake 3.4 is now&nbsp;required</li> <li>In order to compile darktable you now need at least&nbsp;gcc-5.0+/clang-3.9+</li> <li>Minimal clang version was bumped from 3.4+ to&nbsp;3.9+</li> <li>Packagers are advised to pass <code>-DRAWSPEED_ENABLE_LTO=ON</code> to CMake to enable partial <span class="caps">LTO</span>.</li> </ul> <h2>RawSpeed&nbsp;changes</h2> <ul> <li>GoPro &#8216;.<span class="caps">GPR</span>&#8217; raws are now supported via new, fast &#8216;<span class="caps">VC</span>-5&#8217; parallel&nbsp;decompressor</li> <li>Panasonic&#8217;s new raw compression (&#8216;.<span class="caps">RW2</span>&#8217;, GH5s, G9 cameras) is now supported via new fast, parallel &#8216;Panasonic V5&#8217;&nbsp;decompressor</li> <li>Panasonic&#8217;s old (also &#8216;.<span class="caps">RW2</span>&#8217;) raw decompressor got rewritten,&nbsp;re-parallelized</li> <li>Phase One (&#8216;.<span class="caps">IIQ</span>&#8217;) decompressor got&nbsp;parallelized</li> <li>Nikon <span class="caps">NEF</span> &#8216;lossy after split&#8217; raw support was&nbsp;recovered</li> <li>Phase One (&#8216;.<span class="caps">IIQ</span>&#8217;) Quadrant Correction is now&nbsp;supported</li> <li>Olympus High-Res (uncompressed) raw&nbsp;support</li> <li>Lot&#8217;s and lot&#8217;s and lot&#8217;s of maintenance, sanitization, cleanups, small&nbsp;rewrites/refactoring.</li> <li><span class="caps">NOTE</span>: Canon &#8216;.<span class="caps">CR3</span>&#8217; raws are <em><span class="caps">NOT</span></em> supported as of&nbsp;yet.</li> </ul> <h2>Camera support, compared to&nbsp;2.4.0</h2> <h3>Base&nbsp;Support</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;1500D</li> <li>Canon <span class="caps">EOS</span>&nbsp;2000D</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T7</li> <li>Canon <span class="caps">EOS</span>&nbsp;3000D</li> <li>Canon <span class="caps">EOS</span>&nbsp;4000D</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T100</li> <li>Canon <span class="caps">EOS</span> 5D Mark <span class="caps">IV</span> (sRaw1,&nbsp;sRaw2)</li> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span> (sRaw1,&nbsp;sRaw2)</li> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span> R (sRaw1,&nbsp;sRaw2)</li> <li>Canon PowerShot G1 X Mark <span class="caps">III</span></li> <li>Fujifilm&nbsp;X-A5</li> <li>Fujifilm X-H1&nbsp;(compressed)</li> <li>Fujifilm&nbsp;X-T100</li> <li>Fujifilm X-T3&nbsp;(compressed)</li> <li>GoPro <span class="caps">FUSION</span>&nbsp;(dng)</li> <li>GoPro <span class="caps">HERO5</span> Black&nbsp;(dng)</li> <li>GoPro <span class="caps">HERO6</span> Black&nbsp;(dng)</li> <li>GoPro <span class="caps">HERO7</span> Black&nbsp;(dng)</li> <li>Hasselblad <span class="caps">CFV</span>-50</li> <li>Hasselblad <span class="caps">H5D</span>-40</li> <li>Hasselblad <span class="caps">H5D</span>-50c</li> <li>Kodak <span class="caps">DCS</span> Pro&nbsp;14nx</li> <li>Kodak <span class="caps">DCS520C</span></li> <li>Kodak <span class="caps">DCS760C</span></li> <li>Kodak <span class="caps">EOS</span> <span class="caps">DCS</span>&nbsp;3</li> <li>Nikon <span class="caps">COOLPIX</span> P1000&nbsp;(12bit-uncompressed)</li> <li>Nikon D2Xs (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3500&nbsp;(12bit-compressed)</li> <li>Nikon Z 6 (except uncompressed&nbsp;raws)</li> <li>Nikon Z 7 (except 14-bit uncompressed&nbsp;raw)</li> <li>Olympus E-<span class="caps">PL8</span></li> <li>Olympus E-<span class="caps">PL9</span></li> <li>Olympus <span class="caps">SH</span>-2</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ80</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-G9&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GH5S</span> (4:3, 3:2, 16:9,&nbsp;1:1)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GX9</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">LX100M2</span> (4:3, 1:1, 16:9,&nbsp;3:2)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ200</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ202</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ2000</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ2500</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ35</span> (3:2,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ38</span> (3:2,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX7MK2</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS100</span>&nbsp;(3:2)</li> <li>Paralenz Dive Camera&nbsp;(chdk)</li> <li>Pentax&nbsp;645Z</li> <li>Pentax K-1 Mark <span class="caps">II</span></li> <li>Pentax <span class="caps">KP</span></li> <li>Phase One&nbsp;P65+</li> <li>Sjcam <span class="caps">SJ6</span> <span class="caps">LEGEND</span> (chdk-b,&nbsp;chdk-c)</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">HX99</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX0</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M5A</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M4</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX1RM2</span></li> <li>Sony <span class="caps">ILCE</span>-7M3</li> </ul> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;M100</li> <li>Fujifilm&nbsp;X-T3</li> <li>Leaf Credo&nbsp;40</li> <li>Nikon&nbsp;D3400</li> <li>Nikon&nbsp;D5600</li> <li>Nikon&nbsp;D7500</li> <li>Nikon&nbsp;D850</li> <li>Nikon Z&nbsp;6</li> <li>Olympus E-M10 Mark <span class="caps">III</span></li> <li>Olympus&nbsp;E-M1MarkII</li> <li>Panasonic <span class="caps">DC</span>-G9</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GX9</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ300</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX0</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M5</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M5A</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M6</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M3</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M4</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX1RM2</span></li> <li>Sony <span class="caps">ILCE</span>-6500</li> <li>Sony <span class="caps">ILCE</span>-7M3</li> <li>Sony <span class="caps">ILCE</span>-<span class="caps">7RM3</span></li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;200D</li> <li>Canon <span class="caps">EOS</span>&nbsp;750D</li> <li>Canon <span class="caps">EOS</span>&nbsp;760D</li> <li>Canon <span class="caps">EOS</span>&nbsp;77D</li> <li>Canon <span class="caps">EOS</span>&nbsp;8000D</li> <li>Canon <span class="caps">EOS</span>&nbsp;800D</li> <li>Canon <span class="caps">EOS</span>&nbsp;9000D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X8i</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X9</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X9i</li> <li>Canon <span class="caps">EOS</span>&nbsp;M100</li> <li>Canon <span class="caps">EOS</span>&nbsp;M6</li> <li>Canon <span class="caps">EOS</span> Rebel <span class="caps">SL2</span></li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6i</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6s</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T7i</li> <li>Canon PowerShot G1 X Mark <span class="caps">II</span></li> <li>Canon PowerShot G1 X Mark <span class="caps">III</span></li> <li>Canon PowerShot G9&nbsp;X</li> <li>Fujifilm&nbsp;X-A5</li> <li>Fujifilm&nbsp;X-E3</li> <li>Fujifilm&nbsp;X-T3</li> <li>Fujifilm <span class="caps">X100F</span></li> <li>Nikon 1&nbsp;J3</li> <li>Nikon <span class="caps">AW1</span></li> <li>Nikon <span class="caps">COOLPIX</span>&nbsp;B700</li> <li>Nikon&nbsp;D5600</li> <li>Nikon&nbsp;D7500</li> <li>Nikon&nbsp;D850</li> <li>Olympus E-M10 Mark <span class="caps">III</span></li> <li>Olympus <span class="caps">TG</span>-5</li> <li>Panasonic <span class="caps">DC</span>-G9</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GX9</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ35</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ38</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GF6</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX10</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX15</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX9</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ70</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ71</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS50</span></li> <li>Pentax&nbsp;K-01</li> <li>Pentax <span class="caps">KP</span></li> <li>Samsung <span class="caps">NX1</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M3</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M4</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M3</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M4</span></li> <li>Sony <span class="caps">ILCE</span>-7M3</li> </ul> <h2>Translations</h2> <ul> <li>Afrikaans</li> <li>Albanian</li> <li>Chinese</li> <li>Czech</li> <li>Dutch</li> <li>Finnish</li> <li>French</li> <li>Galician</li> <li>German</li> <li>Hebrew</li> <li>Hungarian</li> <li>Italian</li> <li>Japanese</li> <li>Nepal</li> <li>Norwegian&nbsp;Bokmål</li> <li>Portuguese</li> <li>Romanian</li> <li>Russian</li> <li>Slovenian</li> <li>Thai</li> </ul><img src="https://www.darktable.org/2018/12/darktable-260rc2-released/lacdeder.jpg" class="hidden-lede">Pascal ObrySat, 15 Dec 2018 23:30:00 +0000tag:www.darktable.org,2018-12-15:2018/12/darktable-260rc2-released/announcementdarktable releasedarktable 2.6.0rc1 releasedhttps://www.darktable.org/2018/12/darktable-260rc1-released/<p>we&#8217;re proud to announce the second release candidate for the upcoming 2.6 series of darktable,&nbsp;2.6.0rc1!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.6.0rc1">https://github.com/darktable-org/darktable/releases/tag/release-2.6.0rc1</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-2.6.0~rc1.tar.xz 202bb53e924429aec74cd0a864b3d6a5c4d57b54547ef858bbd253116b909d22 darktable-2.6.0rc1.tar.xz $ sha256sum darktable-2.6.0.rc1.dmg c4ba0b929ae66904ae4e9fb97e67607bf1cf97f36a17c58e4b20624795c5e759 darktable-2.6.0.rc1.dmg $ sha256sum darktable-2.6.0rc1.exe 808196a826eafe6ce2d913482ec4f60de60a4b061d934ee9e810e5bd8e602456 darktable-2.6.0rc1.exe </pre></div> <p>when updating from the currently stable 2.4.x series, please bear in mind that your edits will be preserved during this process, but it will not be possible to downgrade from 2.6 to 2.4.x any&nbsp;more.</p> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <ul> <li>Over 1600 commits to darktable+rawspeed since&nbsp;2.4</li> <li>260+ pull requests&nbsp;handled</li> <li>250+ issues&nbsp;closed</li> <li>Updated user manual is coming&nbsp;soon™</li> </ul> <h2>The Big&nbsp;Ones</h2> <ul> <li>new module retouch allowing changes based on image frequency&nbsp;layers</li> <li>new module filmic which can replace the base curve and shadows and&nbsp;highlights</li> <li>new module to handle duplicates in the darkroom with possibility to add a title, create standard or virgin duplicate, delete duplicate and quickly compare with a&nbsp;duplicate</li> <li>new logarithm controls for the&nbsp;tone-curve</li> <li>new mode for the unbreak profile&nbsp;module</li> <li>add mask preview to adjust size, hardness before placing&nbsp;them</li> <li>make it possible to change the cropped area in the perspective correction&nbsp;module</li> <li>the mask blur has been complemented with a guided-filter to fine tune it (this works on <span class="caps">RGB</span> and Lab color&nbsp;space).</li> <li>color balance module has two new modes based on ProPhotoRGB and <span class="caps">HSL</span></li> <li>Experimental support for PPC64le architecture (OpenCL support needs to be disabled, <code>-DUSE_OPENCL=OFF</code>)</li> </ul> <h2>New Features And&nbsp;Changes</h2> <ul> <li>search from the map view is now&nbsp;fixed</li> <li>visual rework of the lighttable (color label, image kind, local&nbsp;copy)</li> <li>an option make it possible to display some image information directly on the&nbsp;thumb</li> <li>add optional scrollbars on lighttable, or lighttable and&nbsp;darkroom</li> <li>allow each masks of the clone module to have the opacity&nbsp;adjusted</li> <li>lightroom import module supports the creator, rights, title, description and publisher&nbsp;information.</li> <li>enhance TurboPrint support by displaying the dialogue with all possible&nbsp;options</li> <li>new sort filter based on the image&#8217;s&nbsp;aspect</li> <li>new sort filter based on the image&#8217;s shutter&nbsp;speed</li> <li>new sort filter based on the image&#8217;s&nbsp;group</li> <li>new sort filter based on a personalized sorting order (drag&amp;drop on the lighttable&nbsp;view)</li> <li>collection based on the local copy&nbsp;status</li> <li>group image number displayed on the collection&nbsp;module</li> <li>new zoom level at 50%; 400%, 800% and&nbsp;1600%</li> <li>better support for monochrome <span class="caps">RAW</span></li> <li>add contextual help pointing to the darktable&#8217;s&nbsp;manual</li> <li>better copy/paste support for multiple&nbsp;instances</li> <li>add support for renaming the module&nbsp;instances</li> <li>add frequency based adjustment for the <span class="caps">RAW</span> denoise&nbsp;module</li> <li>add frequency based adjustment for the denoise profile&nbsp;module</li> <li>all widgets should be themable via <span class="caps">CSS</span>&nbsp;now</li> <li>add support for configuring the modules&nbsp;layout</li> <li>different way to select hierarchical tags in the collection module (only the actual parent tag, all children or the parent and&nbsp;children)</li> <li>better handling of grouped images by allowing setting stars, color label for the whole&nbsp;group.</li> <li>make it possible to apply a preset to a new module instance using the middle&nbsp;click</li> <li>new script to migrate collection from Capture One&nbsp;Pro</li> </ul> <h2>Bug&nbsp;fixes</h2> <ul> <li>Fix the color pickers behavior in all&nbsp;modules</li> <li>Fix liquify tools&nbsp;switching</li> <li>Many more bugs got&nbsp;fixed</li> </ul> <h2>Lua</h2> <ul> <li>No&nbsp;changes</li> </ul> <h2>Changed&nbsp;Dependencies</h2> <ul> <li>CMake 3.4 is now&nbsp;required</li> <li>In order to compile darktable you now need at least&nbsp;gcc-5.0+/clang-3.9+</li> <li>Minimal clang version was bumped from 3.4+ to&nbsp;3.9+</li> <li>Packagers are advised to pass <code>-DRAWSPEED_ENABLE_LTO=ON</code> to CMake to enable partial <span class="caps">LTO</span>.</li> </ul> <h2>RawSpeed&nbsp;changes</h2> <ul> <li>GoPro &#8216;.<span class="caps">GPR</span>&#8217; raws are now supported via new, fast &#8216;<span class="caps">VC</span>-5&#8217; parallel&nbsp;decompressor</li> <li>Panasonic&#8217;s new raw compression (&#8216;.<span class="caps">RW2</span>&#8217;, GH5s, G9 cameras) is now supported via new fast, parallel &#8216;Panasonic V5&#8217;&nbsp;decompressor</li> <li>Panasonic&#8217;s old (also &#8216;.<span class="caps">RW2</span>&#8217;) raw decompressor got rewritten,&nbsp;re-parallelized</li> <li>Phase One (&#8216;.<span class="caps">IIQ</span>&#8217;) decompressor got&nbsp;parallelized</li> <li>Nikon <span class="caps">NEF</span> &#8216;lossy after split&#8217; raw support was&nbsp;recovered</li> <li>Phase One (&#8216;.<span class="caps">IIQ</span>&#8217;) Quadrant Correction is now&nbsp;supported</li> <li>Olympus High-Res (uncompressed) raw&nbsp;support</li> <li>Lot&#8217;s and lot&#8217;s and lot&#8217;s of maintenance, sanitization, cleanups, small&nbsp;rewrites/refactoring.</li> <li><span class="caps">NOTE</span>: Canon &#8216;.<span class="caps">CR3</span>&#8217; raws are <em><span class="caps">NOT</span></em> supported as of&nbsp;yet.</li> </ul> <h2>Camera support, compared to&nbsp;2.4.0</h2> <h3>Base&nbsp;Support</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;1500D</li> <li>Canon <span class="caps">EOS</span>&nbsp;2000D</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T7</li> <li>Canon <span class="caps">EOS</span>&nbsp;3000D</li> <li>Canon <span class="caps">EOS</span>&nbsp;4000D</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T100</li> <li>Canon <span class="caps">EOS</span> 5D Mark <span class="caps">IV</span> (sRaw1,&nbsp;sRaw2)</li> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span> (sRaw1,&nbsp;sRaw2)</li> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span> R (sRaw1,&nbsp;sRaw2)</li> <li>Canon PowerShot G1 X Mark <span class="caps">III</span></li> <li>Fujifilm&nbsp;X-A5</li> <li>Fujifilm X-H1&nbsp;(compressed)</li> <li>Fujifilm&nbsp;X-T100</li> <li>Fujifilm X-T3&nbsp;(compressed)</li> <li>GoPro <span class="caps">FUSION</span>&nbsp;(dng)</li> <li>GoPro <span class="caps">HERO5</span> Black&nbsp;(dng)</li> <li>GoPro <span class="caps">HERO6</span> Black&nbsp;(dng)</li> <li>GoPro <span class="caps">HERO7</span> Black&nbsp;(dng)</li> <li>Hasselblad <span class="caps">CFV</span>-50</li> <li>Hasselblad <span class="caps">H5D</span>-40</li> <li>Hasselblad <span class="caps">H5D</span>-50c</li> <li>Kodak <span class="caps">DCS</span> Pro&nbsp;14nx</li> <li>Kodak <span class="caps">DCS520C</span></li> <li>Kodak <span class="caps">DCS760C</span></li> <li>Kodak <span class="caps">EOS</span> <span class="caps">DCS</span>&nbsp;3</li> <li>Nikon <span class="caps">COOLPIX</span> P1000&nbsp;(12bit-uncompressed)</li> <li>Nikon D2Xs (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3500&nbsp;(12bit-compressed)</li> <li>Nikon Z 6 (except uncompressed&nbsp;raws)</li> <li>Nikon Z 7 (except 14-bit uncompressed&nbsp;raw)</li> <li>Olympus E-<span class="caps">PL8</span></li> <li>Olympus E-<span class="caps">PL9</span></li> <li>Olympus <span class="caps">SH</span>-2</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ80</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-G9&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GH5S</span> (4:3, 3:2, 16:9,&nbsp;1:1)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GX9</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">LX100M2</span> (4:3, 1:1, 16:9,&nbsp;3:2)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ200</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ202</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ2000</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ2500</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ35</span> (3:2,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ38</span> (3:2,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX7MK2</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS100</span>&nbsp;(3:2)</li> <li>Paralenz Dive Camera&nbsp;(chdk)</li> <li>Pentax&nbsp;645Z</li> <li>Pentax K-1 Mark <span class="caps">II</span></li> <li>Pentax <span class="caps">KP</span></li> <li>Phase One&nbsp;P65+</li> <li>Sjcam <span class="caps">SJ6</span> <span class="caps">LEGEND</span> (chdk-b,&nbsp;chdk-c)</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">HX99</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX0</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M5A</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M4</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX1RM2</span></li> <li>Sony <span class="caps">ILCE</span>-7M3</li> </ul> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;M100</li> <li>Leaf Credo&nbsp;40</li> <li>Nikon&nbsp;D3400</li> <li>Nikon&nbsp;D5600</li> <li>Nikon&nbsp;D7500</li> <li>Nikon&nbsp;D850</li> <li>Nikon Z&nbsp;6</li> <li>Olympus E-M10 Mark <span class="caps">III</span></li> <li>Olympus&nbsp;E-M1MarkII</li> <li>Panasonic <span class="caps">DC</span>-G9</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GX9</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ300</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX0</span></li> <li>Sony <span class="caps">ILCE</span>-6500</li> <li>Sony <span class="caps">ILCE</span>-7M3</li> <li>Sony <span class="caps">ILCE</span>-<span class="caps">7RM3</span></li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;200D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X9</li> <li>Canon <span class="caps">EOS</span> Rebel <span class="caps">SL2</span></li> <li>Canon <span class="caps">EOS</span>&nbsp;750D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X8i</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6i</li> <li>Canon <span class="caps">EOS</span>&nbsp;760D</li> <li>Canon <span class="caps">EOS</span>&nbsp;8000D</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6s</li> <li>Canon <span class="caps">EOS</span>&nbsp;77D</li> <li>Canon <span class="caps">EOS</span>&nbsp;9000D</li> <li>Canon <span class="caps">EOS</span>&nbsp;800D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X9i</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T7i</li> <li>Canon <span class="caps">EOS</span>&nbsp;M100</li> <li>Canon <span class="caps">EOS</span>&nbsp;M6</li> <li>Canon PowerShot G1 X Mark <span class="caps">II</span></li> <li>Canon PowerShot G1 X Mark <span class="caps">III</span></li> <li>Canon PowerShot G9&nbsp;X</li> <li>Fujifilm&nbsp;X-T3</li> <li>Fujifilm <span class="caps">X100F</span></li> <li>Nikon <span class="caps">COOLPIX</span>&nbsp;B700</li> <li>Nikon&nbsp;D5600</li> <li>Nikon&nbsp;D7500</li> <li>Nikon&nbsp;D850</li> <li>Olympus E-M10 Mark <span class="caps">III</span></li> <li>Olympus <span class="caps">TG</span>-5</li> <li>Panasonic <span class="caps">DC</span>-G9</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GX9</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ35</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ38</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GF6</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX10</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX15</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX9</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ70</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ71</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS50</span></li> <li>Pentax&nbsp;K-01</li> <li>Pentax <span class="caps">KP</span></li> <li>Samsung <span class="caps">NX1</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M4</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M3</span></li> <li>Sony <span class="caps">ILCE</span>-7M3</li> </ul> <h2>Translations</h2> <ul> <li>Afrikaans</li> <li>Czech</li> <li>German</li> <li>Finnish</li> <li>French</li> <li>Galician</li> <li>Hebrew</li> <li>Hungarian</li> <li>Italian</li> <li>Norwegian&nbsp;Bokmål</li> <li>Nepal</li> <li>Dutch</li> <li>Portuguese</li> <li>Romanian</li> <li>Russian</li> <li>Slovenian</li> <li>Albanian</li> <li>Thai</li> <li>Chinese</li> </ul><img src="https://www.darktable.org/2018/12/darktable-260rc1-released/dieppe.jpg" class="hidden-lede">Pascal ObrySat, 08 Dec 2018 12:13:00 +0000tag:www.darktable.org,2018-12-08:2018/12/darktable-260rc1-released/announcementdarktable releasedarktable 2.6.0rc0 releasedhttps://www.darktable.org/2018/12/darktable-260rc0-released/<p>we&#8217;re proud to announce the first release candidate for the upcoming 2.6 series of darktable,&nbsp;2.6.0rc0!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.6.0rc0">https://github.com/darktable-org/darktable/releases/tag/release-2.6.0rc0</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-2.6.0~rc0.tar.xz 5317f6353a1811ffc1e4c06fb983db5cd0bcfdccd6d8f595f470a3536424658f darktable-2.6.0rc0.tar.xz $ sha256sum darktable-2.6.0rc0.dmg ??? darktable-2.6.0rc0.dmg $ sha256sum darktable-2.6.0rc0.exe ??? darktable-2.6.0rc0.exe </pre></div> <p>when updating from the currently stable 2.4.x series, please bear in mind that your edits will be preserved during this process, but it will not be possible to downgrade from 2.6 to 2.4.x any&nbsp;more.</p> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <ul> <li>Over 1600 commits to darktable+rawspeed since&nbsp;2.4</li> <li>260+ pull requests&nbsp;handled</li> <li>250+ issues&nbsp;closed</li> <li>Updated user manual is coming&nbsp;soon™</li> </ul> <h2>The Big&nbsp;Ones</h2> <ul> <li>new module retouch allowing changes based on image frequency&nbsp;layers</li> <li>new module filmic which can replace the base curve and shadows and&nbsp;highlights</li> <li>new module to handle duplicates in the darkroom with possibility to add a title, create standard or virgin duplicate, delete duplicate and quickly compare with a&nbsp;duplicate</li> <li>new logarithm controls for the&nbsp;tone-curve</li> <li>new mode for the unbreak profile&nbsp;module</li> <li>add mask preview to adjust size, hardness before placing&nbsp;them</li> <li>make it possible to change the cropped area in the perspective correction&nbsp;module</li> <li>the mask blur has been complemented with a guided-filter to fine tune it (this works on <span class="caps">RGB</span> and Lab color&nbsp;space).</li> <li>color balance module has two new modes based on ProPhotoRGB and <span class="caps">HSL</span></li> <li>Experimental support for PPC64le architecture (OpenCL support needs to be disabled, <code>-DUSE_OPENCL=OFF</code>)</li> </ul> <h2>New Features And&nbsp;Changes</h2> <ul> <li>search from the map view is now&nbsp;fixed</li> <li>visual rework of the lighttable (color label, image kind, local&nbsp;copy)</li> <li>an option make it possible to display some image information directly on the&nbsp;thumb</li> <li>add optional scrollbars on lighttable, or lighttable and&nbsp;darkroom</li> <li>allow each masks of the clone module to have the opacity&nbsp;adjusted</li> <li>lightroom import module supports the creator, rights, title, description and publisher&nbsp;information.</li> <li>enhance TurboPrint support by displaying the dialogue with all possible&nbsp;options</li> <li>new sort filter based on the image&#8217;s&nbsp;aspect</li> <li>new sort filter based on the image&#8217;s shutter&nbsp;speed</li> <li>new sort filter based on the image&#8217;s&nbsp;group</li> <li>new sort filter based on a personalized sorting order (drag&amp;drop on the lighttable&nbsp;view)</li> <li>collection based on the local copy&nbsp;status</li> <li>group image number displayed on the collection&nbsp;module</li> <li>new zoom level at 50%; 400%, 800% and&nbsp;1600%</li> <li>better support for monochrome <span class="caps">RAW</span></li> <li>add contextual help pointing to the darktable&#8217;s&nbsp;manual</li> <li>better copy/paste support for multiple&nbsp;instances</li> <li>add support for renaming the module&nbsp;instances</li> <li>add frequency based adjustment for the <span class="caps">RAW</span> denoise&nbsp;module</li> <li>add frequency based adjustment for the denoise profile&nbsp;module</li> <li>all widgets should be themable via <span class="caps">CSS</span>&nbsp;now</li> <li>add support for configuring the modules&nbsp;layout</li> <li>different way to select hierarchical tags in the collection module (only the actual parent tag, all children or the parent and&nbsp;children)</li> <li>better handling of grouped images by allowing setting stars, color label for the whole&nbsp;group.</li> <li>make it possible to apply a preset to a new module instance using the middle&nbsp;click</li> <li>new script to migrate collection from Capture One&nbsp;Pro</li> </ul> <h2>Bug&nbsp;fixes</h2> <ul> <li>Fix the color pickers behavior in all&nbsp;modules</li> <li>Fix liquify tools&nbsp;switching</li> <li>Many more bugs got&nbsp;fixed</li> </ul> <h2>Lua</h2> <ul> <li>No&nbsp;changes</li> </ul> <h2>Changed&nbsp;Dependencies</h2> <ul> <li>CMake 3.4 is now&nbsp;required</li> <li>In order to compile darktable you now need at least&nbsp;gcc-5.0+/clang-3.9+</li> <li>Minimal clang version was bumped from 3.4+ to&nbsp;3.9+</li> <li>Packagers are advised to pass <code>-DRAWSPEED_ENABLE_LTO=ON</code> to CMake to enable partial <span class="caps">LTO</span>.</li> </ul> <h2>RawSpeed&nbsp;changes</h2> <ul> <li>GoPro &#8216;.<span class="caps">GPR</span>&#8217; raws are now supported via new, fast &#8216;<span class="caps">VC</span>-5&#8217; parallel&nbsp;decompressor</li> <li>Panasonic&#8217;s new raw compression (&#8216;.<span class="caps">RW2</span>&#8217;, GH5s, G9 cameras) is now supported via new fast, parallel &#8216;Panasonic V5&#8217;&nbsp;decompressor</li> <li>Panasonic&#8217;s old (also &#8216;.<span class="caps">RW2</span>&#8217;) raw decompressor got rewritten,&nbsp;re-parallelized</li> <li>Phase One (&#8216;.<span class="caps">IIQ</span>&#8217;) decompressor got&nbsp;parallelized</li> <li>Nikon <span class="caps">NEF</span> &#8216;lossy after split&#8217; raw support was&nbsp;recovered</li> <li>Phase One (&#8216;.<span class="caps">IIQ</span>&#8217;) Quadrant Correction is now&nbsp;supported</li> <li>Olympus High-Res (uncompressed) raw&nbsp;support</li> <li>Lot&#8217;s and lot&#8217;s and lot&#8217;s of maintenance, sanitization, cleanups, small&nbsp;rewrites/refactoring.</li> <li><span class="caps">NOTE</span>: Canon &#8216;.<span class="caps">CR3</span>&#8217; raws are <em><span class="caps">NOT</span></em> supported as of&nbsp;yet.</li> </ul> <h2>Camera support, compared to&nbsp;2.4.0</h2> <h3>Base&nbsp;Support</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;1500D</li> <li>Canon <span class="caps">EOS</span>&nbsp;2000D</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T7</li> <li>Canon <span class="caps">EOS</span>&nbsp;3000D</li> <li>Canon <span class="caps">EOS</span>&nbsp;4000D</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T100</li> <li>Canon <span class="caps">EOS</span> 5D Mark <span class="caps">IV</span> (sRaw1,&nbsp;sRaw2)</li> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span> (sRaw1,&nbsp;sRaw2)</li> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span> R (sRaw1,&nbsp;sRaw2)</li> <li>Canon PowerShot G1 X Mark <span class="caps">III</span></li> <li>Fujifilm&nbsp;X-A5</li> <li>Fujifilm X-H1&nbsp;(compressed)</li> <li>Fujifilm&nbsp;X-T100</li> <li>Fujifilm X-T3&nbsp;(compressed)</li> <li>GoPro <span class="caps">FUSION</span>&nbsp;(dng)</li> <li>GoPro <span class="caps">HERO5</span> Black&nbsp;(dng)</li> <li>GoPro <span class="caps">HERO6</span> Black&nbsp;(dng)</li> <li>GoPro <span class="caps">HERO7</span> Black&nbsp;(dng)</li> <li>Hasselblad <span class="caps">CFV</span>-50</li> <li>Hasselblad <span class="caps">H5D</span>-40</li> <li>Hasselblad <span class="caps">H5D</span>-50c</li> <li>Kodak <span class="caps">DCS</span> Pro&nbsp;14nx</li> <li>Kodak <span class="caps">DCS520C</span></li> <li>Kodak <span class="caps">DCS760C</span></li> <li>Kodak <span class="caps">EOS</span> <span class="caps">DCS</span>&nbsp;3</li> <li>Nikon <span class="caps">COOLPIX</span> P1000&nbsp;(12bit-uncompressed)</li> <li>Nikon D2Xs (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon Z 6 (except uncompressed&nbsp;raws)</li> <li>Nikon Z 7 (except 14-bit uncompressed&nbsp;raw)</li> <li>Olympus E-<span class="caps">PL8</span></li> <li>Olympus E-<span class="caps">PL9</span></li> <li>Olympus <span class="caps">SH</span>-2</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ80</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-G9&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GH5S</span> (4:3, 3:2, 16:9,&nbsp;1:1)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GX9</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ200</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ202</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ2000</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ2500</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ35</span> (3:2,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ38</span> (3:2,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX7MK2</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS100</span>&nbsp;(3:2)</li> <li>Paralenz Dive Camera&nbsp;(chdk)</li> <li>Pentax&nbsp;645Z</li> <li>Pentax K-1 Mark <span class="caps">II</span></li> <li>Pentax <span class="caps">KP</span></li> <li>Phase One&nbsp;P65+</li> <li>Sjcam <span class="caps">SJ6</span> <span class="caps">LEGEND</span> (chdk-b,&nbsp;chdk-c)</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX0</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M5A</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M4</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX1RM2</span></li> <li>Sony <span class="caps">ILCE</span>-7M3</li> </ul> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;M100</li> <li>Leaf Credo&nbsp;40</li> <li>Nikon&nbsp;D3400</li> <li>Nikon&nbsp;D5600</li> <li>Nikon&nbsp;D7500</li> <li>Nikon&nbsp;D850</li> <li>Olympus E-M10 Mark <span class="caps">III</span></li> <li>Olympus&nbsp;E-M1MarkII</li> <li>Panasonic <span class="caps">DC</span>-G9</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GX9</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ300</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX0</span></li> <li>Sony <span class="caps">ILCE</span>-6500</li> <li>Sony <span class="caps">ILCE</span>-7M3</li> <li>Sony <span class="caps">ILCE</span>-<span class="caps">7RM3</span></li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;200D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X9</li> <li>Canon <span class="caps">EOS</span> Rebel <span class="caps">SL2</span></li> <li>Canon <span class="caps">EOS</span>&nbsp;750D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X8i</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6i</li> <li>Canon <span class="caps">EOS</span>&nbsp;760D</li> <li>Canon <span class="caps">EOS</span>&nbsp;8000D</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6s</li> <li>Canon <span class="caps">EOS</span>&nbsp;77D</li> <li>Canon <span class="caps">EOS</span>&nbsp;9000D</li> <li>Canon <span class="caps">EOS</span>&nbsp;800D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X9i</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T7i</li> <li>Canon <span class="caps">EOS</span>&nbsp;M100</li> <li>Canon <span class="caps">EOS</span>&nbsp;M6</li> <li>Canon PowerShot G1 X Mark <span class="caps">II</span></li> <li>Canon PowerShot G1 X Mark <span class="caps">III</span></li> <li>Canon PowerShot G9&nbsp;X</li> <li>Fujifilm&nbsp;X-T3</li> <li>Fujifilm <span class="caps">X100F</span></li> <li>Nikon <span class="caps">COOLPIX</span>&nbsp;B700</li> <li>Nikon&nbsp;D5600</li> <li>Nikon&nbsp;D7500</li> <li>Nikon&nbsp;D850</li> <li>Olympus E-M10 Mark <span class="caps">III</span></li> <li>Olympus <span class="caps">TG</span>-5</li> <li>Panasonic <span class="caps">DC</span>-G9</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GX9</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ35</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ38</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GF6</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX10</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX15</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX9</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ70</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ71</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS50</span></li> <li>Pentax&nbsp;K-01</li> <li>Pentax <span class="caps">KP</span></li> <li>Samsung <span class="caps">NX1</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M4</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M3</span></li> <li>Sony <span class="caps">ILCE</span>-7M3</li> </ul> <h2>Translations</h2> <ul> <li>Afrikaans</li> <li>Czech</li> <li>German</li> <li>Finnish</li> <li>French</li> <li>Galician</li> <li>Hebrew</li> <li>Hungarian</li> <li>Italian</li> <li>Norwegian&nbsp;Bokmål</li> <li>Nepal</li> <li>Dutch</li> <li>Portuguese</li> <li>Romanian</li> <li>Russian</li> <li>Slovenian</li> <li>Albanian</li> <li>Thai</li> <li>Chinese</li> </ul><img src="https://www.darktable.org/2018/12/darktable-260rc0-released/etretat.jpg" class="hidden-lede">Pascal ObryMon, 03 Dec 2018 20:03:00 +0000tag:www.darktable.org,2018-12-03:2018/12/darktable-260rc0-released/announcementdarktable releasedarktable 2.4.4 releasedhttps://www.darktable.org/2018/06/darktable-244-released/<p>we’re proud to announce the fourth bugfix release for the 2.4 series of darktable,&nbsp;2.4.4!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.4.4">https://github.com/darktable-org/darktable/releases/tag/release-2.4.4</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-2.4.4.tar.xz 964320b8c9ffef680fa0407a6ca16ed5136ad1f449572876e262764e78acb04d darktable-2.4.4.tar.xz $ sha256sum darktable-2.4.4.dmg 9324562c98a52346fa77314103a5874eb89bd576cdbc21fc19cb5d8dfaba307a darktable-2.4.4.dmg $ sha256sum darktable-2.4.4-win64.exe 3763d681de4faa515049daf3dae62ee21812e8c6c206ea7a246a36c0341eca8c darktable-2.4.4-win64.exe $ sha256sum darktable-2.4.4-win64.zip 5dba3423b0889c69f723e378564e084878b20baf3996c349bfc9736bed815067 darktable-2.4.4-win64.zip </pre></div> <p>when updating from the currently stable 2.2.x series, please bear in mind that your edits will be preserved during this process, but it will not be possible to downgrade from 2.4 to 2.2.x any&nbsp;more.</p> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <p>and the changelog as compared to 2.4.3 can be found&nbsp;below.</p> <h2>New&nbsp;Features</h2> <ul> <li>Added 50% zoom option in darkroom mode to the navigation&nbsp;dropdown</li> <li>perspective correction: usability improvement – allow setting the radius when (de)selecting&nbsp;lines</li> </ul> <h2>Bugfixes</h2> <ul> <li>Fix selecting drives in the import dialog on Windows by bundling a patched&nbsp;glib</li> <li>Add some space between checkbox and label in color&nbsp;picker</li> <li>OpenCL: better readability of debug output on memory&nbsp;usage</li> <li>Levels: catch an edge case where float !=&nbsp;int</li> <li>Fix the alignment in a tooltip in lens&nbsp;correction</li> <li>Local contrast: Reset strength slider to 120% when double&nbsp;clicked</li> <li>Drop unused clone masks when loading xmp&nbsp;files</li> <li>Remove all sub masks when clearing cloning&nbsp;masks</li> <li>darktable-cltest: do not print summary statistics on OpenCL&nbsp;usage</li> <li>Perspective correction: take aspect parameter into account when judging on neutral&nbsp;settings</li> <li>Haze removal: fix tiled&nbsp;processing</li> <li>Fix install on Windows due to GraphicsMagick&#8217;s versioned&nbsp;filenames</li> <li><span class="caps">PPM</span>: Handle byte order when loading&nbsp;files</li> <li>Fix #12165: Don&#8217;t try to show dialog without&nbsp;gui</li> <li>Fix an out-of-bounds memory&nbsp;access</li> <li>Tools: Fix typo in darktable-gen-noiseprofile that made it&nbsp;unusable</li> <li>MacOS package: point gettext to correct&nbsp;localedir</li> </ul> <h2>Camera support, compared to&nbsp;2.4.2</h2> <h4>Warning: support for Nikon <span class="caps">NEF</span> &#8216;lossy after split&#8217; raws was unintentionally broken due to the lack of such samples. Please see <a href="https://discuss.pixls.us/t/nikon-a-specific-raw-sample-wanted/5483?u=lebedevri">this post</a> for more details. If you have affected raws, please contribute&nbsp;samples!</h4> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Sony <span class="caps">ILCE</span>-6500</li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;800D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X9i</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T7i</li> <li>Nikon <span class="caps">COOLPIX</span>&nbsp;B700</li> <li>Nikon&nbsp;D5600</li> <li>Olympus <span class="caps">TG</span>-5</li> </ul> <h2>Updated&nbsp;translations</h2> <ul> <li>German</li> <li>Russian</li> </ul><img src="https://www.darktable.org/2018/06/darktable-244-released/dragonfly.jpg" class="hidden-lede">houzWed, 06 Jun 2018 09:30:00 +0000tag:www.darktable.org,2018-06-06:2018/06/darktable-244-released/announcementdarktable releasedarktable 2.4.3 releasedhttps://www.darktable.org/2018/04/darktable-243-released/<p>we’re proud to announce the third bugfix release for the 2.4 series of darktable,&nbsp;2.4.3!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.4.3">https://github.com/darktable-org/darktable/releases/tag/release-2.4.3</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-2.4.3.tar.xz 1dc5fc7bd142f4c74a5dd4706ac1dad772dfc7cd5538f033e60e3a08cfed03d3 darktable-2.4.3.tar.xz $ sha256sum darktable-2.4.3.dmg 290ed5473e3125a9630a235a4a33ad9c9f3718f4a10332fe4fe7ae9f735c7fa9 darktable-2.4.3.1.dmg $ sha256sum darktable-2.4.3-win64.exe a34361924b4d7d3aa9cb4ba7e5aeef928c674822c1ea36603b4ce5993678b2fa darktable-2.4.3-win64.exe $ sha256sum darktable-2.4.3-win64.zip 3e14579ab0da011a422cd6b95ec409565d34dd8f7084902af2af28496aead5af darktable-2.4.3-win64.zip </pre></div> <p>when updating from the currently stable 2.2.x series, please bear in mind that your edits will be preserved during this process, but it will not be possible to downgrade from 2.4 to 2.2.x any&nbsp;more.</p> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <p>and the changelog as compared to 2.4.2 can be found&nbsp;below.</p> <h2>New&nbsp;Features</h2> <ul> <li>Support for tags and ratings in the watermark&nbsp;module</li> <li>Read Xmp.exif.DateTimeOriginal from <span class="caps">XMP</span>&nbsp;sidecars</li> <li>Build and install noise&nbsp;tools</li> <li>Add a script for converting .dtyle to an&nbsp;.xmp</li> </ul> <h2>Bugfixes</h2> <ul> <li>Don&#8217;t create unneeded folders during export in some&nbsp;cases</li> <li>When collecting by tags, don&#8217;t select&nbsp;subtags</li> <li>Fix language selection on <span class="caps">OSX</span></li> <li>Fix a crash while&nbsp;tethering</li> </ul> <h2>Camera support, compared to&nbsp;2.4.2</h2> <h4>Warning: support for Nikon <span class="caps">NEF</span> &#8216;lossy after split&#8217; raws was unintentionally broken due to the lack of such samples. Please see <a href="https://discuss.pixls.us/t/nikon-a-specific-raw-sample-wanted/5483?u=lebedevri">this post</a> for more details. If you have affected raws, please contribute&nbsp;samples!</h4> <h3>Base&nbsp;Support</h3> <ul> <li>Fujifilm X-H1&nbsp;(compressed)</li> <li>Kodak <span class="caps">EOS</span> <span class="caps">DCS</span>&nbsp;3</li> <li>Olympus E-<span class="caps">PL9</span></li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GX9</span>&nbsp;(4:3)</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX1RM2</span></li> <li>Sony <span class="caps">ILCE</span>-7M3</li> </ul> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Sony <span class="caps">ILCE</span>-7M3</li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Canon PowerShot G1 X Mark <span class="caps">III</span></li> <li>Nikon&nbsp;D7500</li> <li>Sony <span class="caps">ILCE</span>-7M3</li> </ul><img src="https://www.darktable.org/2018/04/darktable-243-released/dancer.jpg" class="hidden-lede">houzTue, 24 Apr 2018 12:00:00 +0000tag:www.darktable.org,2018-04-24:2018/04/darktable-243-released/announcementdarktable releasedarktable 2.4.2 releasedhttps://www.darktable.org/2018/03/darktable-242-released/<p>we’re proud to announce the second bugfix release for the 2.4 series of darktable,&nbsp;2.4.2!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.4.2">https://github.com/darktable-org/darktable/releases/tag/release-2.4.2</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-2.4.2.tar.xz 19cccb60711ed0607ceaa844967b692a3b8666b12bf1d12f2242ec8942fa5a81 darktable-2.4.2.tar.xz $ sha256sum darktable-2.4.2.dmg 2b0b456f6efbc05550e729a388c55e195eecc827b0b691cd42d997b026f0867c darktable-2.4.2.dmg $ sha256sum darktable-2.4.2-win64.exe 5181dad9afd798090de8c4d54f76ee4d43cbf76ddf2734364ffec5ccb1121a34 darktable-2.4.2-win64.exe $ sha256sum darktable-2.4.2-win64.zip 935ba4756e208369b9cabf1ca441ed0b91acb73ebf9125dcaf563210ebe4524d darktable-2.4.2-win64.zip </pre></div> <p>when updating from the currently stable 2.2.x series, please bear in mind that your edits will be preserved during this process, but it will not be possible to downgrade from 2.4 to 2.2.x any&nbsp;more.</p> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <p>and the changelog as compared to 2.4.1 can be found&nbsp;below.</p> <h2>New&nbsp;Features</h2> <ul> <li>Add presets to location search in map&nbsp;mode</li> <li>Add timestamps to the output of <code>-d</code> command line&nbsp;switches</li> <li>Add a compression level slider to the <span class="caps">TIFF</span> export&nbsp;module</li> <li>Add native binary NetPNM loading, without using&nbsp;GraphicsMagick</li> <li>Add a battery indicator for people running darktable on a laptop. This is not very portable code and disabled by&nbsp;default</li> <li>Allow to use /? to show the help message on&nbsp;Windows</li> </ul> <h2>Bugfixes</h2> <ul> <li>Turn off smooth scrolling for X11/Quartz. That might help with oversensitive&nbsp;scrolling</li> <li>Fix reading and writing of TIFFs with non-<span class="caps">ASCII</span> filenames on&nbsp;Windows</li> <li>Ellipsize background job labels when too&nbsp;long</li> <li>Hard code D50 white point when exporting to&nbsp;OpenEXR</li> <li>Add tootips to the haze removal&nbsp;module</li> <li>Fix a crash when changing lenses while&nbsp;tethering</li> <li>Fix incorrect Atom <span class="caps">CPU</span> detection on&nbsp;Windows</li> <li>Revised performance&nbsp;configuration</li> <li>Don&#8217;t overlay the colorbalance sliders on the left for a cleaner&nbsp;look</li> <li>Honor local copy in copy export&nbsp;format</li> <li>Make trashing of files on Windows&nbsp;silent</li> <li>Fix string termination override on&nbsp;memmove</li> <li>Fix a use after free and some&nbsp;memleaks</li> <li>Fix a crash in <span class="caps">PDF</span>&nbsp;export</li> <li>Fix the min color&nbsp;picker</li> <li>Don&#8217;t hardcode &#8216;/&#8217; in OpenCL paths on&nbsp;Windows</li> </ul> <h2>Camera support, compared to&nbsp;2.4.1</h2> <h4>Warning: support for Nikon <span class="caps">NEF</span> &#8216;lossy after split&#8217; raws was unintentionally broken due to the lack of such samples. Please see <a href="https://discuss.pixls.us/t/nikon-a-specific-raw-sample-wanted/5483?u=lebedevri">this post</a> for more details. If you have affected raws, please contribute&nbsp;samples!</h4> <h3>Base&nbsp;Support</h3> <ul> <li>Canon PowerShot G1 X Mark <span class="caps">III</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ2000</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ2500</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS100</span>&nbsp;(3:2)</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX0</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M4</span></li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;200D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X9</li> <li>Canon <span class="caps">EOS</span> Rebel <span class="caps">SL2</span></li> <li>Canon <span class="caps">EOS</span>&nbsp;760D</li> <li>Canon <span class="caps">EOS</span>&nbsp;8000D</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6s</li> <li>Canon PowerShot G1 X Mark <span class="caps">II</span></li> <li>Canon PowerShot G9&nbsp;X</li> <li>Fujifilm <span class="caps">X100F</span></li> <li>Nikon&nbsp;D850</li> <li>Panasonic <span class="caps">DC</span>-G9</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GF6</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX10</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX15</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX9</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ70</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ71</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS50</span></li> </ul> <h2>Translations</h2> <ul> <li>Dutch</li> <li>French</li> <li>German</li> <li>Hungarian</li> <li>Italian</li> </ul><img src="https://www.darktable.org/2018/03/darktable-242-released/india.jpg" class="hidden-lede">houzTue, 27 Mar 2018 18:00:00 +0000tag:www.darktable.org,2018-03-27:2018/03/darktable-242-released/announcementdarktable releasedarktable 2.4.1 releasedhttps://www.darktable.org/2018/01/darktable-241-released/<p>we’re proud to announce the first bugfix release for the 2.4 series of darktable,&nbsp;2.4.1!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.4.1">https://github.com/darktable-org/darktable/releases/tag/release-2.4.1</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-2.4.1.tar.xz 6254c63f9b50894b3fbf431d98c0fe8ec481957ab91f9af76e33cc1201c29704 darktable-2.4.1.tar.xz $ sha256sum darktable-2.4.1.dmg 75077f17332a6fda144125ab0f1d3dd219c214bf7602b0b252208f1ec665d031 darktable-2.4.1.dmg $ sha256sum darktable-2.4.1-win64.exe 0be1e0dd8dec61a7cea41598c52db258edaee8783c543b4311fa0ac56ab43d2a darktable-2.4.1-win64.exe $ sha256sum darktable-2.4.1-win64.zip 560d82e4c87c002f0284daca922023df136c822713e3670ba42358c9427fe26c darktable-2.4.1-win64.zip </pre></div> <p>when updating from the currently stable 2.2.x series, please bear in mind that your edits will be preserved during this process, but it will not be possible to downgrade from 2.4 to 2.2.x any&nbsp;more.</p> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <p>and the changelog as compared to 2.4.0 can be found&nbsp;below.</p> <h2>New&nbsp;Features</h2> <ul> <li>Allow to select the <span class="caps">GUI</span> language in the&nbsp;preferences</li> <li>Add a filter rule to the collect module to find locally copied&nbsp;images</li> <li>Add favourite toggle to darkroom modules&#8217; right click&nbsp;popup</li> <li>Allow blending/masking in the hot pixels&nbsp;module</li> <li>Add keyboard shortcuts to zoom and pan an image in darkroom. Panning uses the arrow keys, zooming defaults to <code>ctrl-</code> and <code>ctrl+</code>. Use <code>alt</code> and <code>ctrl</code> to change the step size of&nbsp;panning.</li> <li>Some minor speedups in the grain&nbsp;module</li> <li>Handling stdout on Windows: do not redirect stdout for simple command line arguments (<code>--help</code> and <code>--version</code>)</li> <li>On Windows, show the location of the log file in the help&nbsp;message</li> <li>Enable searching in the more modules list – click into the list to give focus to it, then start typing. The default <span class="caps">GTK</span> shortcut <code>ctrl-f</code> doesn&#8217;t work as it&#8217;s used for filmstrip&nbsp;already</li> <li>Add a debug print when compiling OpenCL&nbsp;kernels</li> </ul> <h2>Bugfixes</h2> <ul> <li>Use the configured overwrite color profile when exporting from Lua – this broke <span class="caps">GIMP</span>&nbsp;integration</li> <li>Support presets with <code>&lt;</code> in their&nbsp;name</li> <li>Fix export to non-existing path with <code>\</code> as the path separator on&nbsp;Windows</li> <li>Don&#8217;t insist on the db being locked when it doesn&#8217;t even&nbsp;exist</li> <li>Don&#8217;t touch the mix slider when resetting the curve in color&nbsp;zones</li> <li>Fix a bug in the exposure module that would only allow corrections of up to 10&nbsp;stops</li> <li>Fix custom shortcuts with <code>shift</code> modifier</li> <li>Properly ellipsize text in the recently used collections&nbsp;list</li> <li>Fix exported galeries with filenames containing a <code>'</code></li> <li>Fix finding mipmaps cache folder in <code>purge_from_cache.sh</code> script</li> <li>Fix a crash in the recently used collections list due to a broken config&nbsp;file</li> <li>Set the sqlite threading mode to&nbsp;Serialized</li> <li>Fix old export presets using&nbsp;OpenEXR</li> <li>Fix building with clang on&nbsp;Windows</li> </ul> <h2>Changed&nbsp;Dependencies</h2> <ul> <li>iso-codes version 3.66 or newer is suggested for a nicer list of translations in the&nbsp;preferences.</li> <li>The Windows installer comes with an updated libexiv2 so <span class="caps">TIFF</span> exports should be much faster&nbsp;now</li> </ul> <h2>Camera support, compared to&nbsp;2.4.0</h2> <h4>Warning: support for Nikon <span class="caps">NEF</span> &#8216;lossy after split&#8217; raws was unintentionally broken due to the lack of such samples. Please see <a href="https://discuss.pixls.us/t/nikon-a-specific-raw-sample-wanted/5483?u=lebedevri">this post</a> for more details. If you have affected raws, please contribute&nbsp;samples!</h4> <h3>Base&nbsp;Support</h3> <ul> <li>Panasonic <span class="caps">DC</span>-G9&nbsp;(4:3)</li> <li>Paralenz Dive Camera&nbsp;(chdk)</li> <li>Pentax <span class="caps">KP</span></li> <li>Sjcam <span class="caps">SJ6</span> <span class="caps">LEGEND</span> (chdk-b,&nbsp;chdk-c)</li> </ul> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Leaf Credo&nbsp;40</li> <li>Nikon&nbsp;D3400</li> <li>Olympus&nbsp;E-M1MarkII</li> <li>Panasonic <span class="caps">DC</span>-G9</li> <li>Sony <span class="caps">ILCE</span>-<span class="caps">7RM3</span></li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;750D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X8i</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6i</li> <li>Canon <span class="caps">EOS</span>&nbsp;77D</li> <li>Canon <span class="caps">EOS</span>&nbsp;9000D</li> <li>Canon <span class="caps">EOS</span>&nbsp;M100</li> <li>Canon <span class="caps">EOS</span>&nbsp;M6</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M4</span></li> <li><span class="caps">YI</span> <span class="caps">TECHNOLOGY</span>&nbsp;M1</li> </ul> <h2>Translations</h2> <ul> <li>Czech</li> <li>Dutch</li> <li>French</li> <li>German</li> <li>Hebrew</li> <li>Hungarian</li> <li>Italian</li> <li>Slovenian</li> </ul><img src="https://www.darktable.org/2018/01/darktable-241-released/buffalo.jpg" class="hidden-lede">houzMon, 22 Jan 2018 15:00:00 +0000tag:www.darktable.org,2018-01-22:2018/01/darktable-241-released/announcementdarktable releasedarktable 2.4.0 releasedhttps://www.darktable.org/2017/12/darktable-240-released/<p>we&#8217;re proud to finally announce the new feature release of darktable,&nbsp;2.4.0!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.4.0">https://github.com/darktable-org/darktable/releases/tag/release-2.4.0</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-2.4.0.tar.xz 9d37388aee79d5ada71062bbac3cda612a61d1a781f6320b784b27308f3a1878 darktable-2.4.0.tar.xz $ sha256sum darktable-2.4.0.dmg 70dcbec46c54f2006f2887b7ec1c9d748f9a726389d3b75cd5e081695e26394e darktable-2.4.0.dmg $ sha256sum darktable-2.4.0-win64.exe 5b7b00a0bed8ea0d5ac45b0a0668f1998ad396e4bc3b5791e7a17f7c70b90f7c darktable-2.4.0.exe </pre></div> <p>when updating from the currently stable 2.2.x series, please bear in mind that your edits will be preserved during this process, but it will not be possible to downgrade from 2.4 to 2.2.x any&nbsp;more.</p> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <ul> <li>The maintainership of the <a href="https://github.com/darktable-org/rawspeed">RawSpeed library</a> was transferred to the darktable project. The work on code cleanup, hardening, modernization, simplification and testing is&nbsp;ongoing.</li> <li>Almost 3 thousand commits to darktable+rawspeed since&nbsp;2.2.0</li> <li>273 pull requests&nbsp;handled</li> <li>340+ issues&nbsp;closed</li> <li>Updated user manual is coming&nbsp;soon™</li> </ul> <p>Gource visualization of git log from 2.2.0 to right before&nbsp;2.4.0:</p> <div style="text-align: center"> <iframe width="650" height="400" src="https://www.youtube-nocookie.com/embed/VNdFenRQWtw?rel=0" frameborder="0" gesture="media" allow="encrypted-media" allowfullscreen></iframe> </div> <h2>Hell Froze&nbsp;Over</h2> <ul> <li>As you might have read on our <a href="https://www.darktable.org/2017/08/darktable-for-windows/">news post</a> we finally ported darktable to Windows and intend to support it in the future. At the moment it&#8217;s still lacking a few features (for example there is no printing support), has a few limitations (tethering requires special drivers to be installed) and comes with its own set of bugs (<span class="caps">TIFF</span> import and export doesn&#8217;t support non-<span class="caps">ASCII</span> characters in file names). But overall we are confident that it&#8217;s quite usable already and hope you will enjoy it. A very special thanks goes to Peter Budai who finally convinced us to agree to the port and who did most of the&nbsp;work.</li> </ul> <h2>The Big&nbsp;Ones</h2> <ul> <li>A new module for haze&nbsp;removal</li> <li>The local contrast module can now be pushed much further, it also got a new <a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/">local laplacian</a>&nbsp;mode</li> <li>Add undo support for masks and more intelligent grouping of undo&nbsp;steps</li> <li>Blending now allows to display individual channels using false&nbsp;colors</li> <li>darktable now supports loading Fujifilm compressed&nbsp;RAFs</li> <li>darktable now supports loading floating point <span class="caps">HDR</span> DNGs as written by <span class="caps">HDRMERGE</span></li> <li>We also added channel specific blend modes for Lab and <span class="caps">RGB</span> color&nbsp;spaces</li> <li>The base curve module allows for more control of the <a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/">exposure fusion</a> feature using the newly added bias&nbsp;slider</li> <li>The tonecurve module now supports auto colour adjustment in <span class="caps">RGB</span></li> <li>Add absolute color input as an option to the color look up table&nbsp;module</li> <li>A new X-Trans demosaicing algorithm, Frequency Domain Chroma, was&nbsp;implemented.</li> <li>You can now choose from pre-defined scheduling profiles for&nbsp;OpenCL</li> <li>Speaking of OpenCL, darktable now allows to force-use OpenCL for a specific&nbsp;pixelpipe</li> <li><span class="caps">XMP</span> sidecar files are no longer written to disk when the content didn&#8217;t actually change. That mostly helps with network storage and backup systems that use files&#8217; time&nbsp;stamps</li> </ul> <h2>New Features And&nbsp;Changes</h2> <ul> <li>Show a dialog window that tells when locking the database/library&nbsp;failed</li> <li>Don&#8217;t shade the whole region on the map when searching for a location. Instead just draw a border around&nbsp;it.</li> <li>Also in map mode: Clear the search list and map indicators when resetting the search&nbsp;module.</li> <li>With OsmGPSMap newer than version 1.1.0 (i.e., anything released after that OsmGPSMap version) the map will show copyright&nbsp;info.</li> <li>Running jobs with a progressbar (mostly import and export) will show that progress bar ontop the window entry in your task bar – if the system supports it. It should work on <span class="caps">GNOME</span>, <span class="caps">KDE</span> and Windows at&nbsp;least.</li> <li>Add bash like string replacement for variables (export, watermark, session&nbsp;settings)</li> <li>Add a preferences option to ask before removing empty&nbsp;dirs</li> <li>The &#8220;colorbalance&#8221; module got a lot faster, thanks to <span class="caps">SSE</span> optimized&nbsp;code</li> <li>Make gradient sliders a little more&nbsp;colorful</li> <li>Make <span class="caps">PNG</span> compression level used for exporting&nbsp;configurable</li> <li>On <span class="caps">OSX</span>, load single images from command line or via drag&amp;drop in darkroom&nbsp;mode</li> <li>Add an option to omit the intermediate tag hierarchy in exported files and only add the last&nbsp;level</li> <li>In the watermark module, sort the list of <span class="caps">SVG</span> files and omit the file&nbsp;extension</li> <li>Support <span class="caps">XYZ</span> as a proofing&nbsp;profile</li> <li>Local contrast now got a new slider to set the midtone&nbsp;range</li> <li>darktable got two new helper scripts (those are not installed by default, grab them from <a href="https://github.com/darktable-org/darktable/tree/master/tools">the sources</a>)<ul> <li>One to purge thumbnails that no longer have an associated image in the&nbsp;database,</li> <li>and a second script that uses inotify to watch a folder for new files to open them in a running darktable&nbsp;instance.</li> </ul> </li> <li>In the curve editors of base curve and tone curve you can now delete nodes with a right click and see coordinates of nodes while editing. Note that you can use keyboard modifiers <code>ctrl</code> and <code>shift</code> to change the precision of your&nbsp;changes</li> <li>Creating a new instance of a module can now be done with a quick click of the middle mouse button on the multi-instance&nbsp;icon</li> <li>New darktable installations on computers with more than 8 Gb of memory will now by default use half of that per&nbsp;module</li> <li>Several background colors and the brush color are now configurable in the <span class="caps">CSS</span></li> <li>Some new cameras can bump the <span class="caps">ISO</span> level to insane highs. We try to follow as good as we can by no longer limiting it to 51200 in the <span class="caps">GUI</span></li> <li>Base curve and the highlights module now support multiple instances and use blending and&nbsp;masks</li> <li>Having the <code>1</code> key toggle between 1 and 0 stars wasn&#8217;t very popular with many people. You can disable that extra feature and have it behave like the other rating shortcuts&nbsp;now</li> <li>You can decide if you want to be asked before resetting the history stacks of images from the&nbsp;lighttable</li> <li>The grain module was slightly changed to have a more pleasing, photographic-paper like&nbsp;appearance</li> <li>Using the color look up table module you can now convert your images to monochrome, honoring the Helmholtz-Kohlrausch&nbsp;effect</li> <li>Support basic import of Lightroom 7&nbsp;settings</li> <li>Change the styling of insensitive bauhaus&nbsp;widgets</li> <li>Don&#8217;t hide the mode combobox in the exposure module, just disable&nbsp;it</li> <li>Read primaries and whitepoint from .hdr files and default to those as the input color&nbsp;profile</li> <li>Some more small improvements were&nbsp;made</li> </ul> <h2>Bugfixes</h2> <ul> <li>Fix the problem with rating images by accident when moving the mouse while typing an image size in the export&nbsp;module</li> <li>Fix several oddities in folder and tag mode of the collect&nbsp;module</li> <li>Print mode&#8217;s color profile settings no longer interact with the export&nbsp;module</li> <li>Update the style lists when importing a&nbsp;style</li> <li>Fix some bugs with multiple module instances used in a&nbsp;style</li> <li>On <span class="caps">OSX</span> only the main window should be fullscreen, not the&nbsp;popups</li> <li>Some speedups with <span class="caps">VERY</span> big libraries or having A <span class="caps">LOT</span> <span class="caps">OF</span>&nbsp;tags</li> <li>Significantly speed up tagging many&nbsp;images</li> <li>Fix searching locations using&nbsp;OpenStreetMap</li> <li>Fix partial copies of large files in &#8220;import from&nbsp;camera&#8221;</li> <li>Fix a crash in the import dialog when using Lua to add widgets&nbsp;there</li> <li>Fix some false-positive warnings about another running darktable instance and it having locked the&nbsp;databases</li> <li>No longer switch to the favourite modules group when duplicating one of its&nbsp;modules</li> <li>Fix loading of <span class="caps">XYZ</span>&nbsp;files</li> <li>Fix Lab export when the profile was set from the&nbsp;lighttable</li> <li>Create temporary snapshot files with mode 0600 to stop other people looking at&nbsp;them</li> <li>Fix several bugs with Wayland. However, there are still issues, so darktable will prefer&nbsp;XWayland</li> <li>Google deprecated the Picasa Web <span class="caps">API</span> so it&#8217;s no longer possible to create G+&nbsp;albums</li> <li>Fix the default for sliders with target not being &#8220;red&#8221; in the channel&nbsp;mixer</li> <li>Fix the removal of&nbsp;directories</li> <li>Make the escape key cancel history&nbsp;dialogs</li> <li>Block keyboard accels when editing camera&nbsp;controls</li> <li>Properly delete <span class="caps">XMP</span>&nbsp;sidecars</li> <li>Make sure that the rating set in darktable is used for the exported file, not something set inside the raw&nbsp;file</li> <li>Don&#8217;t re-write all <span class="caps">XMP</span> files when detaching a&nbsp;tag</li> <li>Sync XMPs when a tag is removed from the&nbsp;database</li> <li>Sync XMPs after a tag is attached/detached via the Lua <span class="caps">API</span></li> <li>Bail out of darktable-cli when the <span class="caps">XMP</span> file is not&nbsp;readable</li> <li>Show ratings on zoomable lighttable without a&nbsp;delay</li> <li>Rely on <span class="caps">CUPS</span> color management when printing without configuring any color profile in&nbsp;darktable</li> <li>Fix spurious segfault in local&nbsp;contrast</li> <li>Make calls to exiv2&#8217;s readMetadata thread safe to not crash&nbsp;randomly</li> <li>Properly read Lightroom XMPs on systems with <code>,</code> as the decimal&nbsp;separator</li> <li>Fix setting the <span class="caps">PNG</span> bit depth from the&nbsp;gui</li> <li>Many more bugs got&nbsp;fixed</li> </ul> <h2>Lua</h2> <ul> <li>darktable now uses Lua 5.3. The bundled copy got updated&nbsp;accordingly</li> <li>Add dt.print_log. It&#8217;s like print_error but without the <span class="caps">ERROR</span>&nbsp;prefix</li> <li>Reorder callback parameters for intermediate export image: add the actual image to the parameters of the&nbsp;event</li> <li>Call lua post-import-image event&nbsp;synchronously</li> <li>Add darktable.configuration.running_os to detect the <span class="caps">OS</span> darktable is running&nbsp;on</li> <li>New widget type: section_label, adds a label which looks like a section&nbsp;change</li> </ul> <h2>Changed&nbsp;Dependencies</h2> <ul> <li>CMake 3.1 is now&nbsp;required</li> <li>In order to compile darktable you now need at least&nbsp;gcc-5.0+/clang-3.4+</li> <li><span class="caps">ZLIB</span> is now required for the <span class="caps">DNG</span> Deflate compressed raw&nbsp;support</li> <li>darktable now uses Lua&nbsp;5.3</li> </ul> <h2>Camera support, compared to&nbsp;2.2.0</h2> <h4>Warning: support for Nikon <span class="caps">NEF</span> &#8216;lossy after split&#8217; raws was unintentionally broken due to the lack of such samples. Please see <a href="https://discuss.pixls.us/t/nikon-a-specific-raw-sample-wanted/5483?u=lebedevri">this post</a> for more details. If you have affected raws, please contribute&nbsp;samples!</h4> <h3>Base&nbsp;Support</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;200D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X9</li> <li>Canon <span class="caps">EOS</span> Rebel <span class="caps">SL2</span></li> <li>Canon <span class="caps">EOS</span> 6D Mark <span class="caps">II</span> (sRaw1,&nbsp;sRaw2)</li> <li>Canon <span class="caps">EOS</span>&nbsp;77D</li> <li>Canon <span class="caps">EOS</span>&nbsp;9000D</li> <li>Canon <span class="caps">EOS</span>&nbsp;800D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X9i</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T7i</li> <li>Canon <span class="caps">EOS</span>&nbsp;M100</li> <li>Canon <span class="caps">EOS</span>&nbsp;M5</li> <li>Canon <span class="caps">EOS</span>&nbsp;M6</li> <li>Canon PowerShot G9 X Mark <span class="caps">II</span></li> <li>Canon PowerShot <span class="caps">SX40</span> <span class="caps">HS</span>&nbsp;(dng)</li> <li>Fujifilm <span class="caps">GFX</span> 50S&nbsp;(compressed)</li> <li>Fujifilm&nbsp;X-A3</li> <li>Fujifilm X-<span class="caps">E2S</span></li> <li>Fujifilm X-E3&nbsp;(compressed)</li> <li>Fujifilm X-Pro2&nbsp;(compressed)</li> <li>Fujifilm X-T2&nbsp;(compressed)</li> <li>Fujifilm X-T20&nbsp;(compressed)</li> <li>Fujifilm <span class="caps">X100F</span>&nbsp;(compressed)</li> <li><span class="caps">GITUP</span> <span class="caps">GIT2P</span> (chdk-a,&nbsp;chdk-b)</li> <li>Kodak EasyShare&nbsp;Z980</li> <li><span class="caps">LG</span> D855&nbsp;(dng)</li> <li><span class="caps">LG</span> H815&nbsp;(dng)</li> <li><span class="caps">LG</span> Nexus 5X&nbsp;(dng)</li> <li><span class="caps">LG</span> <span class="caps">US996</span>&nbsp;(dng)</li> <li><span class="caps">LG</span> <span class="caps">VS995</span>&nbsp;(dng)</li> <li>Leica D-<span class="caps">LUX</span> (Typ 109) (4:3, 3:2, 16:9,&nbsp;1:1)</li> <li>Leica X2&nbsp;(dng)</li> <li>Nikon <span class="caps">COOLPIX</span> B700&nbsp;(12bit-uncompressed)</li> <li>Nikon D500 (14bit-uncompressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D5600 (12bit-compressed, 12bit-uncompressed, 14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D7500 (12bit-compressed,&nbsp;14bit-compressed)</li> <li>Nikon D850 (12bit-compressed, 12bit-uncompressed, 14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon <span class="caps">LS</span>-5000&nbsp;(dng)</li> <li>Nokia Lumia 1020&nbsp;(dng)</li> <li>Olympus E-M10 Mark <span class="caps">III</span></li> <li>Olympus&nbsp;E-M1MarkII</li> <li>Olympus <span class="caps">TG</span>-5</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ82</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ80</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ85</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GH5</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ91</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ92</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ93</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ90</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">ZS70</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ330</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GF6</span> (16:9, 3:2,&nbsp;1:1)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ61</span> (4:3, 3:2, 1:1,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS40</span> (4:3, 3:2, 1:1,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ80</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ81</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ85</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS60</span>&nbsp;(4:3)</li> <li>Pentax K-5&nbsp;(dng)</li> <li>Pentax K-r&nbsp;(dng)</li> <li>Pentax <span class="caps">K10D</span>&nbsp;(dng)</li> <li>Phase One <span class="caps">IQ140</span></li> <li>Samsung <span class="caps">G920F</span></li> <li>Samsung <span class="caps">G935F</span></li> <li>Samsung <span class="caps">GX10</span></li> <li>Sony <span class="caps">ILCE</span>-6500</li> <li>Sony <span class="caps">ILCE</span>-<span class="caps">7RM3</span></li> <li>Sony <span class="caps">ILCE</span>-9</li> </ul> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Canon <span class="caps">EOS</span> 6D Mark <span class="caps">II</span></li> <li>Fujifilm&nbsp;X-T20</li> <li>Fujifilm <span class="caps">X100F</span></li> <li>Nikon 1 <span class="caps">AW1</span></li> <li>Nikon Coolpix&nbsp;A</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX80</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX85</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ100</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ101</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ110</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS110</span></li> <li>Pentax K-3 <span class="caps">II</span></li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;1300D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X80</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6</li> <li>Canon <span class="caps">EOS</span> 5D Mark <span class="caps">IV</span></li> <li>Canon <span class="caps">EOS</span> 6D Mark <span class="caps">II</span></li> <li>Canon <span class="caps">EOS</span>&nbsp;M5</li> <li>Canon PowerShot&nbsp;G16</li> <li>Canon PowerShot G3&nbsp;X</li> <li>Canon PowerShot G7 X Mark <span class="caps">II</span></li> <li>Canon PowerShot G9 X Mark <span class="caps">II</span></li> <li>Fujifilm&nbsp;X-M1</li> <li>Fujifilm&nbsp;X-Pro1</li> <li>Fujifilm&nbsp;X-Pro2</li> <li>Fujifilm&nbsp;X-T20</li> <li>Leica&nbsp;X2</li> <li>Nikon Coolpix&nbsp;A</li> <li>Nikon <span class="caps">D2X</span></li> <li>Nikon&nbsp;D3000</li> <li>Nikon&nbsp;D3400</li> <li>Nikon&nbsp;D4</li> <li>Nikon&nbsp;D500</li> <li>Olympus&nbsp;E-M1MarkII</li> <li>Olympus&nbsp;E-P5</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ200</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ300</span></li> <li>Panasonic <span class="caps">DMC</span>-G7</li> <li>Panasonic <span class="caps">DMC</span>-G70</li> <li>Panasonic <span class="caps">DMC</span>-G8</li> <li>Panasonic <span class="caps">DMC</span>-G80</li> <li>Panasonic <span class="caps">DMC</span>-G81</li> <li>Panasonic <span class="caps">DMC</span>-G85</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX80</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX85</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX100</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ100</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ101</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ110</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS110</span></li> <li>Pentax&nbsp;K-70</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M5</span></li> <li>Sony <span class="caps">ILCA</span>-68</li> <li>Sony <span class="caps">ILCE</span>-5000</li> <li>Sony <span class="caps">ILCE</span>-6500</li> <li>Sony <span class="caps">ILCE</span>-<span class="caps">7RM3</span></li> </ul> <h2>Translations</h2> <ul> <li>Catalan</li> <li>Czech</li> <li>Danish</li> <li>Dutch</li> <li>French</li> <li>German</li> <li>Greek</li> <li>Hebrew</li> <li>Hungarian</li> <li>Italian</li> <li>Japanese</li> <li>Polish</li> <li>Russian</li> <li>Slovak</li> <li>Slovenian</li> <li>Spanish</li> <li>Swedish</li> <li>Ukrainian</li> </ul><img src="https://www.darktable.org/2017/12/darktable-240-released/shore.jpg" class="hidden-lede">houzSun, 24 Dec 2017 10:08:00 +0000tag:www.darktable.org,2017-12-24:2017/12/darktable-240-released/announcementdarktable releasea new websitehttps://www.darktable.org/2017/12/a-new-website/<p>A new year is coming on us quickly, so how about a nice new website to go with&nbsp;it?</p> <figure> <a title="J. C. Leyendecker [Public domain], via Wikimedia Commons" href="https://commons.wikimedia.org/wiki/File%3ABabynew.jpg"> <img alt="Babynew" src="https://www.darktable.org/blog/2017-12-12-a-new-website/Babynew.jpg" width="288" height="369"/> </a> <figcaption> Baby New Year from 110 years ago &#8230; </figcaption> </figure> <p>houz and I have been working hard over the past few months to migrate the old website from Wordpress to a new static site, using <a href="https://www.python.org/" title="Python homepage">Python</a>/<a href="https://blog.getpelican.com/" title="Pelican Static Site Generator">Pelican</a>. This should make things more secure and safer for both you and us (see the <a href="https://www.darktable.org/2017/01/rawsamples-ch-replacement/" title="rawsamples.ch replacement on darktable.org">problems that rawsamples.ch</a> had for the perils of using a db-driven backend for a website). Not to mention it makes collaboration and contributing a bit easier now, as the entire site gets its <a href="https://github.com/darktable-org/dtorg" title="darktable.org website repository">own GitHub repository</a> (I&#8217;ll be eagerly awaiting your pull&nbsp;requests).</p> <p>I tried to create a design that had a bit more emphasis on accessibility and readability. The site is fully responsive for screens ranging from a mobile phone to a full desktop. The type is larger and generally given a bit more room to breathe in the page and we tried to highlight images a bit more, as this is a photography-centered&nbsp;project.</p> <p>This is just one small way for me to contribute and give back to the community in my own way (you should probably not let me near any real code). In fact, this is one of the reasons I started up the community over at <a href="https://pixls.us" title="PIXLS.US - Free Software Photography"><span class="caps">PIXLS</span>.<span class="caps">US</span></a>. We needed a community focused specifically on Free Software photography and a way for us to freely share our knowledge and experiences to help everyone, especially across multiple&nbsp;projects.</p> <h2>pixls.us</h2> <figure> <img src="https://www.darktable.org/blog/2017-12-12-a-new-website/pixls.us-logo.png" alt="PIXLS.US Logo" width="75" height="75"> </figure> <p>If you&#8217;re not familiar with the community yet, why not?! We&#8217;re all photography folks who have a passion for Free Software with the&nbsp;mission:</p> <blockquote> <p>To provide tutorials, workflows and a showcase for high-quality photography using Free/Open Source&nbsp;Software.</p> </blockquote> <p>We also happen to have quite a few developers of various types in the community, and as a way to assist projects and contribute back we&#8217;ve been working on websites and other community-oriented functionality (like <a href="https://discuss.pixls.us" title="PIXLS.US Discussion Forum">the forums</a>, hosting comments, files, and more). I&#8217;d get in trouble if I didn&#8217;t mention that we also got <a href="https://raw.pixls.us" title="Raw Files for Free Software">raw.pixls.us</a> setup to <a href="https://www.darktable.org/2017/01/rawsamples-ch-replacement/" title="rawsamples.ch replacement on darktable.org">replace the ailing rawsamples.ch</a>&nbsp;also.</p> <p>One neat way we&#8217;re able to help out even more is by integrating the commenting system here into <a href="https://discuss.pixls.us" title="PIXLS.US Discussion Forum">the forums</a>. It&#8217;s how we manage commenting on the main pixls.us website, and we had great success with this approach for the <a href="https://www.digikam.org/" title="digiKam Homepage">digiKam project</a> when we <a href="https://www.digikam.org/news/2017-04-30-new-digikam-static-site/" title="The new digiKam web presence">built them a new website</a> earlier this year. This lets us moderate comments in one place, allows for cross-pollination of knowledge between the projects, and users get to truly own their comments (instead of being monetized and tracked by some third-party commenting system like&nbsp;Disqus).</p> <h2>Happy New&nbsp;Year</h2> <p>Have a look around the new site and please don&#8217;t hesitate to point out any problems you may run into! From me, thank you x1000 to the developers for this awesome&nbsp;project.</p> <p><a href="https://patdavid.net" title="Pat David">patdavid</a> &hearts;&#8217;s&nbsp;darktable</p><img src="https://www.darktable.org/2017/12/a-new-website/Glades.jpg" class="hidden-lede">patdavidThu, 21 Dec 2017 11:02:54 -0600tag:www.darktable.org,2017-12-21:2017/12/a-new-website/announcementblogcommunitydarktable 2.4.0rc2 releasedhttps://www.darktable.org/2017/12/darktable-2-4-0rc2-released/<p>we&#8217;re proud to announce the third release candidate for the upcoming 2.4 series of darktable,&nbsp;2.4.0rc2!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.4.0rc2">https://github.com/darktable-org/darktable/releases/tag/release-2.4.0rc2</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksum&nbsp;is:</p> <div class="highlight"><pre>$ sha256sum darktable-2.4.0rc2.tar.xz dcb56e1eb2c10aa9fe64ea9ba3e806e3da3a3a0ebb47646a07e1838b88f15949 darktable-2.4.0rc1.tar.xz $ sha256sum darktable-2.4.0rc2.dmg 5ad1c355c04d8a42bab7c2879cba92891dbdd0a89b8fe0ff2ea18f1f8b592f15 darktable-2.4.0rc1.dmg $ sha256sum darktable-2.4.0rc2.dirty-win64.exe a4cd63e9e44f029d4a85b430c5fdaf49e110c1ebe0a9cfc51ac2bf86ebac41cf darktable-2.4.0rc1.exe </pre></div> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <h2>changes since&nbsp;rc1</h2> <ul> <li>Fix a bug in haze removal that resulted in black areas in the exported&nbsp;image</li> <li>Support Sony <span class="caps">ILCE</span>-<span class="caps">7RM3</span></li> <li>Make calls to exiv2&#8217;s readMetadata thread safe to not crash&nbsp;randomly</li> <li>Don&#8217;t hide the mode combobox in the exposure module, just disable&nbsp;it</li> <li>Change the styling of insensitive bauhaus&nbsp;widgets</li> <li>Fix spurious segfault in local&nbsp;contrast</li> <li>Don&#8217;t show an error popup on Windows when the <span class="caps">CD</span> drive is&nbsp;empty</li> </ul> <p>and the changelog as compared to 2.2.0 can be found below. Some of the fixes might have been backported to the stable 2.2.x series&nbsp;already.</p> <ul> <li>The maintainership of the RawSpeed library was transferred to the darktable project. The work on code cleanup, hardening, modernization, simplification and testing is&nbsp;ongoing.</li> <li>Well over 2 thousand commits to darktable+rawspeed since&nbsp;2.2.0</li> <li>244 pull requests&nbsp;handled</li> <li>320+ issues&nbsp;closed</li> <li>Updated user manual is coming&nbsp;soon™</li> </ul> <h2>Hell Froze&nbsp;Over</h2> <ul> <li>As you might have read on our <a href="https://www.darktable.org/2017/08/darktable-for-windows/">news post</a> we finally ported darktable to Windows and intend to support it in the future. At the moment it&#8217;s still lacking a few features (for example there is not printing support), has a few limitations (tethering requires special drivers to be installed) and comes with its own set of bugs. But overall we are confident that it&#8217;s quite usable already and hope you will enjoy it. A very special thanks goes to Peter Budai who finally convinced us to agree to the port and who did most of the&nbsp;work.</li> </ul> <h2>The Big&nbsp;Ones</h2> <ul> <li>A new module for haze&nbsp;removal</li> <li>The local contrast module can now be pushed much further, it also got a new local laplacian&nbsp;mode</li> <li>Add undo support for masks and more intelligent grouping of undo&nbsp;steps</li> <li>Blending now allows to display individual channels using false&nbsp;colors</li> <li>darktable now supports loading Fujifilm compressed&nbsp;RAFs</li> <li>darktable now supports loading floating point <span class="caps">HDR</span> DNGs as written by <span class="caps">HDRMERGE</span></li> <li>We also added channel specific blend modes for Lab and <span class="caps">RGB</span> color&nbsp;spaces</li> <li>The base curve module allows for more control of the exposure fusion feature using the newly added bias&nbsp;slider</li> <li>The tonecurve module now supports auto colour adjustment in <span class="caps">RGB</span></li> <li>Add absolute color input as an option to the color look up table&nbsp;module</li> <li>A new X-Trans demosaicing algorithm, Frequency Domain Chroma, was&nbsp;implemented.</li> <li>You can now choose from pre-defined scheduling profiles for&nbsp;OpenCL</li> <li>Speaking of OpenCL, darktable now allows to force-use OpenCL for a specific&nbsp;pixelpipe</li> <li>Xmp sidecar files are no longer written to disk when the content didn&#8217;t actually change. That mostly helps with network storage and backup systems that use files&#8217; time&nbsp;stamps</li> </ul> <h2>New Features And&nbsp;Changes</h2> <ul> <li>Show a dialog window that tells when locking the database/library&nbsp;failed</li> <li>Don&#8217;t shade the whole region on the map when searching for a location. Instead just draw a border around&nbsp;it.</li> <li>Also in map mode: Clear the search list and map indicators when resetting the search&nbsp;module.</li> <li>With OsmGPSMap newer than version 1.1.0 (i.e., anything released after that OsmGPSMap version) the map will show copyright&nbsp;info.</li> <li>Running jobs with a progressbar (mostly import and export) will show that progress bar ontop the window entry in your task bar – if the system supports it. It should work on <span class="caps">GNOME</span>, <span class="caps">KDE</span> and Windows at&nbsp;least.</li> <li>Add bash like string replacement for variables (export, watermark, session&nbsp;settings).</li> <li>Add a preferences option to ask before removing empty&nbsp;dirs</li> <li>The &#8220;colorbalance&#8221; module got a lot faster, thanks to <span class="caps">SSE</span> optimized&nbsp;code</li> <li>Make gradient sliders a little more&nbsp;colorful</li> <li>Make <span class="caps">PNG</span> compression level used for exporting&nbsp;configurable</li> <li>On <span class="caps">OSX</span>, load single images from command line or via drag&amp;drop in darkroom&nbsp;mode</li> <li>Add an option to omit the intermediate tag hierarchy in exported files and only add the last&nbsp;level</li> <li>In the watermark module, sort the list of <span class="caps">SVG</span> files and omit the file&nbsp;extension</li> <li>Support <span class="caps">XYZ</span> as a proofing&nbsp;profile</li> <li>Local contrast now got a new slider to set the midtone&nbsp;range</li> <li>darktable got two new helper scripts (those are not installed by default, grab them from the sources): One to purge thumbnails that no longer have an associated image in the database, and a second script that uses inotify to watch a folder for new files to open them in a running darktable&nbsp;instance.</li> <li>In the curve editors of base curve and tone curve you can now delete nodes with a right click and see coordinates of nodes while editing. Note that you can use keyboard modifiers ctrl and shift to change the precision of your&nbsp;changes</li> <li>Creating a new instance of a module can now be done with a quick click of the middle mouse button on the multi-instance&nbsp;icon</li> <li>New darktable installations on computers with more than 8 Gb of memory will now by default use half of that per&nbsp;module</li> <li>Several background colors and the brush color are now configurable in the <span class="caps">CSS</span></li> <li>Some new cameras can bump the <span class="caps">ISO</span> level to insane highs. We try to follow as good as we can by no longer limiting it to 51200 in the <span class="caps">GUI</span></li> <li>Base curve and the highlights module now support multiple instances and use blending and&nbsp;masks</li> <li>Having the <code>1</code> key toggle between 1 and 0 stars wasn&#8217;t very popular with many people. You can disable that extra feature and have it behave like the other rating shortcuts&nbsp;now</li> <li>You can decide if you want to be asked before resetting the history stacks of images from the&nbsp;lighttable</li> <li>The grain module was slightly changed to have a more pleasing, photographic-paper like&nbsp;appearance</li> <li>Using the color look up table module you can now convert your images to monochrome, honoring the Helmholtz-Kohlrausch&nbsp;effect</li> <li>Some more small improvements were&nbsp;made</li> <li>Support basic import of Lightroom 7&nbsp;settings</li> <li>Change the styling of insensitive bauhaus&nbsp;widgets</li> <li>Don&#8217;t hide the mode combobox in the exposure module, just disable&nbsp;it</li> </ul> <h2>Bugfixes</h2> <ul> <li>Fix the problem with rating images by accident when moving the mouse while typing an image size in the export&nbsp;module</li> <li>Fix several oddities in folder and tag mode of the collect&nbsp;module.</li> <li>Print mode&#8217;s color profile settings no longer interact with the export&nbsp;module</li> <li>Update the style lists when importing a&nbsp;style</li> <li>Fix some bugs with multiple module instances used in a&nbsp;style</li> <li>On <span class="caps">OSX</span> only the main window should be fullscreen, not the&nbsp;popups</li> <li>Some speedups with <span class="caps">VERY</span> big libraries or having A <span class="caps">LOT</span> <span class="caps">OF</span>&nbsp;tags</li> <li>Significantly speed up tagging many&nbsp;images</li> <li>Fix searching locations using&nbsp;OpenStreetMap</li> <li>Fix partial copies of large files in &#8220;import from&nbsp;camera&#8221;</li> <li>Fix a crash in the import dialog when using Lua to add widgets&nbsp;there</li> <li>Fix some false-positive warnings about another running darktable instance and it having locked the&nbsp;databases</li> <li>No longer switch to the favourite modules group when duplicating one of its&nbsp;modules</li> <li>Fix loading of <span class="caps">XYZ</span>&nbsp;files</li> <li>Fix Lab export when the profile was set from the&nbsp;lighttable</li> <li>Create tmp snapshot files with mode 0600 to stop other people looking at&nbsp;them</li> <li>Fix several bugs with Wayland. However, there are still issues, so darktable will prefer&nbsp;XWayland</li> <li>Google deprecated the Picasa Web <span class="caps">API</span> so it&#8217;s no longer possible to create G+&nbsp;albums</li> <li>Fix the default for sliders with target not being &#8220;red&#8221; in the channel&nbsp;mixer</li> <li>Fix the removing of&nbsp;directories</li> <li>Make the escape key cancel history&nbsp;dialogs</li> <li>Block keyboard accels when editing camera&nbsp;controls</li> <li>Properly delete <span class="caps">XMP</span>&nbsp;sidecars</li> <li>Make sure that the rating set in darktable is used for the exported file, not something set inside the raw&nbsp;file</li> <li>Don&#8217;t re-write all <span class="caps">XMP</span> files when detaching a&nbsp;tag</li> <li>Sync XMPs when a tag is removed from the&nbsp;database</li> <li>Sync XMPs after a tag is attached/detached via the Lua <span class="caps">API</span></li> <li>Bail out of darktable-cli when the <span class="caps">XMP</span> file is not&nbsp;readable</li> <li>Show ratings on zoomable lighttable without a&nbsp;delay</li> <li>Rely on <span class="caps">CUPS</span> color management when printing without configuring any color profile in&nbsp;darktable</li> <li>Many more bugs got&nbsp;fixed</li> <li>Fix spurious segfault in local&nbsp;contrast</li> <li>Make calls to exiv2&#8217;s readMetadata thread safe to not crash&nbsp;randomly</li> </ul> <h2>Lua</h2> <ul> <li>darktable now uses Lua 5.3. The bundled copy got updated&nbsp;accordingly</li> <li>Add dt.print_log. It&#8217;s like print_error but without the <span class="caps">ERROR</span>&nbsp;prefix</li> <li>Reorder callback parameters for intermediate export image: add the actual image to the parameters of the&nbsp;event</li> <li>Call lua post-import-image event&nbsp;synchronously</li> <li>Add darktable.configuration.running_os to detect the <span class="caps">OS</span> darktable is running&nbsp;on</li> <li>New widget type: section_label, adds a label which looks like a section&nbsp;change</li> </ul> <h2>Changed&nbsp;Dependencies</h2> <ul> <li>CMake 3.1 is now&nbsp;required.</li> <li>In order to compile darktable you now need at least gcc-4.9+/clang-3.4+, and gcc-5.0+ is <em>highly</em>&nbsp;recommended.</li> <li><span class="caps">ZLIB</span> is now required for the <span class="caps">DNG</span> Deflate compressed raw&nbsp;support.</li> <li>darktable now uses Lua&nbsp;5.3</li> </ul> <h2>Camera support, compared to&nbsp;2.2.0</h2> <h4>Warning: support for Nikon <span class="caps">NEF</span> &#8216;lossy after split&#8217; raws was unintentionally broken due to the lack of such samples. Please see <a href="https://discuss.pixls.us/t/nikon-a-specific-raw-sample-wanted/5483?u=lebedevri">this post</a> for more details. If you have affected raws, please contribute&nbsp;samples!</h4> <h3>Base&nbsp;Support</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;200D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X9</li> <li>Canon <span class="caps">EOS</span> Rebel <span class="caps">SL2</span></li> <li>Canon <span class="caps">EOS</span> 6D Mark <span class="caps">II</span> (sRaw1,&nbsp;sRaw2)</li> <li>Canon <span class="caps">EOS</span>&nbsp;77D</li> <li>Canon <span class="caps">EOS</span>&nbsp;9000D</li> <li>Canon <span class="caps">EOS</span>&nbsp;800D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X9i</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T7i</li> <li>Canon <span class="caps">EOS</span>&nbsp;M100</li> <li>Canon <span class="caps">EOS</span>&nbsp;M5</li> <li>Canon <span class="caps">EOS</span>&nbsp;M6</li> <li>Canon PowerShot G9 X Mark <span class="caps">II</span></li> <li>Canon PowerShot <span class="caps">SX40</span> <span class="caps">HS</span>&nbsp;(dng)</li> <li>Fujifilm <span class="caps">GFX</span> 50S&nbsp;(compressed)</li> <li>Fujifilm&nbsp;X-A3</li> <li>Fujifilm X-<span class="caps">E2S</span></li> <li>Fujifilm X-E3&nbsp;(compressed)</li> <li>Fujifilm X-Pro2&nbsp;(compressed)</li> <li>Fujifilm X-T2&nbsp;(compressed)</li> <li>Fujifilm X-T20&nbsp;(compressed)</li> <li>Fujifilm <span class="caps">X100F</span>&nbsp;(compressed)</li> <li><span class="caps">GITUP</span> <span class="caps">GIT2P</span> (chdk-a,&nbsp;chdk-b)</li> <li>Kodak EasyShare&nbsp;Z980</li> <li><span class="caps">LG</span> D855&nbsp;(dng)</li> <li><span class="caps">LG</span> H815&nbsp;(dng)</li> <li><span class="caps">LG</span> Nexus 5X&nbsp;(dng)</li> <li><span class="caps">LG</span> <span class="caps">US996</span>&nbsp;(dng)</li> <li><span class="caps">LG</span> <span class="caps">VS995</span>&nbsp;(dng)</li> <li>Leica D-<span class="caps">LUX</span> (Typ 109) (4:3, 3:2, 16:9,&nbsp;1:1)</li> <li>Leica X2&nbsp;(dng)</li> <li>Nikon <span class="caps">COOLPIX</span> B700&nbsp;(12bit-uncompressed)</li> <li>Nikon D500 (14bit-uncompressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D5600 (12bit-compressed, 12bit-uncompressed, 14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D7500 (12bit-compressed,&nbsp;14bit-compressed)</li> <li>Nikon D850 (12bit-compressed, 12bit-uncompressed, 14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon <span class="caps">LS</span>-5000&nbsp;(dng)</li> <li>Nokia Lumia 1020&nbsp;(dng)</li> <li>Olympus E-M10 Mark <span class="caps">III</span></li> <li>Olympus&nbsp;E-M1MarkII</li> <li>Olympus <span class="caps">TG</span>-5</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ82</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ80</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ85</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GH5</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ91</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ92</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ93</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ90</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">ZS70</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ330</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GF6</span> (16:9, 3:2,&nbsp;1:1)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ61</span> (4:3, 3:2, 1:1,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS40</span> (4:3, 3:2, 1:1,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ80</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ81</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ85</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS60</span>&nbsp;(4:3)</li> <li>Pentax K-5&nbsp;(dng)</li> <li>Pentax K-r&nbsp;(dng)</li> <li>Pentax <span class="caps">K10D</span>&nbsp;(dng)</li> <li>Phase One <span class="caps">IQ140</span></li> <li>Samsung <span class="caps">G920F</span></li> <li>Samsung <span class="caps">G935F</span></li> <li>Samsung <span class="caps">GX10</span></li> <li>Sony <span class="caps">ILCE</span>-6500</li> <li>Sony <span class="caps">ILCE</span>-<span class="caps">7RM3</span></li> <li>Sony <span class="caps">ILCE</span>-9</li> </ul> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Canon <span class="caps">EOS</span> 6D Mark <span class="caps">II</span></li> <li>Fujifilm&nbsp;X-T20</li> <li>Fujifilm <span class="caps">X100F</span></li> <li>Nikon 1 <span class="caps">AW1</span></li> <li>Nikon Coolpix&nbsp;A</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX80</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX85</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ100</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ101</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ110</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS110</span></li> <li>Pentax K-3 <span class="caps">II</span></li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;1300D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X80</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6</li> <li>Canon <span class="caps">EOS</span> 5D Mark <span class="caps">IV</span></li> <li>Canon <span class="caps">EOS</span> 6D Mark <span class="caps">II</span></li> <li>Canon <span class="caps">EOS</span>&nbsp;M5</li> <li>Canon PowerShot&nbsp;G16</li> <li>Canon PowerShot G3&nbsp;X</li> <li>Canon PowerShot G7 X Mark <span class="caps">II</span></li> <li>Canon PowerShot G9 X Mark <span class="caps">II</span></li> <li>Fujifilm&nbsp;X-M1</li> <li>Fujifilm&nbsp;X-Pro1</li> <li>Fujifilm&nbsp;X-T20</li> <li>Leica&nbsp;X2</li> <li>Nikon Coolpix&nbsp;A</li> <li>Nikon <span class="caps">D2X</span></li> <li>Nikon&nbsp;D3000</li> <li>Nikon&nbsp;D3400</li> <li>Nikon&nbsp;D4</li> <li>Nikon&nbsp;D500</li> <li>Olympus&nbsp;E-M1MarkII</li> <li>Olympus&nbsp;E-P5</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ200</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ300</span></li> <li>Panasonic <span class="caps">DMC</span>-G7</li> <li>Panasonic <span class="caps">DMC</span>-G70</li> <li>Panasonic <span class="caps">DMC</span>-G8</li> <li>Panasonic <span class="caps">DMC</span>-G80</li> <li>Panasonic <span class="caps">DMC</span>-G81</li> <li>Panasonic <span class="caps">DMC</span>-G85</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX80</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX85</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX100</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ100</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ101</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ110</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS110</span></li> <li>Pentax&nbsp;K-70</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M5</span></li> <li>Sony <span class="caps">ILCA</span>-68</li> <li>Sony <span class="caps">ILCE</span>-5000</li> <li>Sony <span class="caps">ILCE</span>-6500</li> </ul> <h2>Updated&nbsp;Translations</h2> <ul> <li>Catalan</li> <li>Dutch</li> <li>French</li> <li>German</li> <li>Hebrew</li> <li>Hungarian</li> <li>Polish</li> <li>Russian</li> <li>Spanish</li> </ul><img src="https://www.darktable.org/2017/12/darktable-2-4-0rc2-released/lede.jpg" class="hidden-lede">houzMon, 18 Dec 2017 10:33:00 +0000tag:www.darktable.org,2017-12-18:2017/12/darktable-2-4-0rc2-released/announcementdarktable releasedarktable 2.4.0rc1 releasedhttps://www.darktable.org/2017/12/darktable-2-4-0rc1-released/<p>we&#8217;re proud to announce the second release candidate for the upcoming 2.4 series of darktable,&nbsp;2.4.0rc1!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.4.0rc1">https://github.com/darktable-org/darktable/releases/tag/release-2.4.0rc1</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksum&nbsp;is:</p> <div class="highlight"><pre>$ sha256sum darktable-2.4.0rc1.tar.xz 2b38462584223a0f74f081dc025e1811b524f403d919734a1b8c15f7c87858ea darktable-2.4.0rc1.tar.xz $ sha256sum darktable-2.4.0rc1.dmg ??? darktable-2.4.0rc1.dmg $ sha256sum darktable-2.4.0rc1.exe d576071f7052d61acf35d05184d5e12c2bdedcb1dce0159668022c2e46c6467d darktable-2.4.0rc1.exe </pre></div> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <h2>changes since&nbsp;rc0</h2> <ul> <li>noise profile for Nikon&nbsp;D4</li> <li>Phase One <span class="caps">IQ140</span>&nbsp;support</li> <li><span class="caps">OSX</span> packaging&nbsp;fixes</li> <li>Lightroom 7 import&nbsp;fixes</li> <li>Some fixes for sliders and comboboxen and grabbing the keyboard&nbsp;focus</li> <li>No longer use colored sliders in the white balance module – they confused&nbsp;people</li> <li>Update Catalan&nbsp;translation</li> <li>Update Hungarian&nbsp;translation</li> <li>Fix OpenCL on <span class="caps">OSX</span></li> <li>Bail out of darktable-cli when the <span class="caps">XMP</span> file is not&nbsp;readable</li> <li>Fix timezone selection for geotagging on&nbsp;Windows</li> <li>Canon <span class="caps">EOS</span> M100&nbsp;supported</li> <li>Show ratings on zoomable lighttable without a&nbsp;delay</li> <li>Rely on <span class="caps">CUPS</span> color management when printing without configuring any color profile in&nbsp;darktable</li> </ul> <p>and the changelog as compared to 2.2.0 can be found below. Some of the fixes might have been backported to the stable 2.2.x series&nbsp;already.</p> <ul> <li>The maintainership of the RawSpeed library was transferred to the darktable project. The work on code cleanup, hardening, modernization, simplification and testing is&nbsp;ongoing.</li> <li>Well over 2 thousand commits to darktable+rawspeed since&nbsp;2.2.0</li> <li>244 pull requests&nbsp;handled</li> <li>320+ issues&nbsp;closed</li> <li>Updated user manual is coming&nbsp;soon™</li> </ul> <h2>Hell Froze&nbsp;Over</h2> <ul> <li>As you might have read on our <a href="https://www.darktable.org/2017/08/darktable-for-windows/">news post</a> we finally ported darktable to Windows and intend to support it in the future. At the moment it&#8217;s still lacking a few features (for example there is not printing support), has a few limitations (tethering requires special drivers to be installed) and comes with its own set of bugs. But overall we are confident that it&#8217;s quite usable already and hope you will enjoy it. A very special thanks goes to Peter Budai who finally convinced us to agree to the port and who did most of the&nbsp;work.</li> </ul> <h2>The Big&nbsp;Ones</h2> <ul> <li>A new module for haze&nbsp;removal</li> <li>The local contrast module can now be pushed much further, it also got a new local laplacian&nbsp;mode</li> <li>Add undo support for masks and more intelligent grouping of undo&nbsp;steps</li> <li>Blending now allows to display individual channels using false&nbsp;colors</li> <li>darktable now supports loading Fujifilm compressed&nbsp;RAFs</li> <li>darktable now supports loading floating point <span class="caps">HDR</span> DNGs as written by <span class="caps">HDRMERGE</span></li> <li>We also added channel specific blend modes for Lab and <span class="caps">RGB</span> color&nbsp;spaces</li> <li>The base curve module allows for more control of the exposure fusion feature using the newly added bias&nbsp;slider</li> <li>The tonecurve module now supports auto colour adjustment in <span class="caps">RGB</span></li> <li>Add absolute color input as an option to the color look up table&nbsp;module</li> <li>A new X-Trans demosaicing algorithm, Frequency Domain Chroma, was&nbsp;implemented.</li> <li>You can now choose from pre-defined scheduling profiles for&nbsp;OpenCL</li> <li>Speaking of OpenCL, darktable now allows to force-use OpenCL for a specific&nbsp;pixelpipe</li> <li>Xmp sidecar files are no longer written to disk when the content didn&#8217;t actually change. That mostly helps with network storage and backup systems that use files&#8217; time&nbsp;stamps</li> </ul> <h2>New Features And&nbsp;Changes</h2> <ul> <li>Show a dialog window that tells when locking the database/library&nbsp;failed</li> <li>Don&#8217;t shade the whole region on the map when searching for a location. Instead just draw a border around&nbsp;it.</li> <li>Also in map mode: Clear the search list and map indicators when resetting the search&nbsp;module.</li> <li>With OsmGPSMap newer than version 1.1.0 (i.e., anything released after that OsmGPSMap version) the map will show copyright&nbsp;info.</li> <li>Running jobs with a progressbar (mostly import and export) will show that progress bar ontop the window entry in your task bar – if the system supports it. It should work on <span class="caps">GNOME</span>, <span class="caps">KDE</span> and Windows at&nbsp;least.</li> <li>Add bash like string replacement for variables (export, watermark, session&nbsp;settings).</li> <li>Add a preferences option to ask before removing empty&nbsp;dirs</li> <li>The &#8220;colorbalance&#8221; module got a lot faster, thanks to <span class="caps">SSE</span> optimized&nbsp;code</li> <li>Make gradient sliders a little more&nbsp;colorful</li> <li>Make <span class="caps">PNG</span> compression level used for exporting&nbsp;configurable</li> <li>On <span class="caps">OSX</span>, load single images from command line or via drag&amp;drop in darkroom&nbsp;mode</li> <li>Add an option to omit the intermediate tag hierarchy in exported files and only add the last&nbsp;level</li> <li>In the watermark module, sort the list of <span class="caps">SVG</span> files and omit the file&nbsp;extension</li> <li>Support <span class="caps">XYZ</span> as a proofing&nbsp;profile</li> <li>Local contrast now got a new slider to set the midtone&nbsp;range</li> <li>darktable got two new helper scripts (those are not installed by default, grab them from the sources): One to purge thumbnails that no longer have an associated image in the database, and a second script that uses inotify to watch a folder for new files to open them in a running darktable&nbsp;instance.</li> <li>In the curve editors of base curve and tone curve you can now delete nodes with a right click and see coordinates of nodes while editing. Note that you can use keyboard modifiers ctrl and shift to change the precision of your&nbsp;changes</li> <li>Creating a new instance of a module can now be done with a quick click of the middle mouse button on the multi-instance&nbsp;icon</li> <li>New darktable installations on computers with more than 8 Gb of memory will now by default use half of that per&nbsp;module</li> <li>Several background colors and the brush color are now configurable in the <span class="caps">CSS</span></li> <li>Some new cameras can bump the <span class="caps">ISO</span> level to insane highs. We try to follow as good as we can by no longer limiting it to 51200 in the <span class="caps">GUI</span></li> <li>Base curve and the highlights module now support multiple instances and use blending and&nbsp;masks</li> <li>Having the <code>1</code> key toggle between 1 and 0 stars wasn&#8217;t very popular with many people. You can disable that extra feature and have it behave like the other rating shortcuts&nbsp;now</li> <li>You can decide if you want to be asked before resetting the history stacks of images from the&nbsp;lighttable</li> <li>The grain module was slightly changed to have a more pleasing, photographic-paper like&nbsp;appearance</li> <li>Using the color look up table module you can now convert your images to monochrome, honoring the Helmholtz-Kohlrausch&nbsp;effect</li> <li>Some more small improvements were&nbsp;made</li> <li>Support basic import of Lightroom 7&nbsp;settings</li> </ul> <h2>Bugfixes</h2> <ul> <li>Fix the problem with rating images by accident when moving the mouse while typing an image size in the export&nbsp;module</li> <li>Fix several oddities in folder and tag mode of the collect&nbsp;module.</li> <li>Print mode&#8217;s color profile settings no longer interact with the export&nbsp;module</li> <li>Update the style lists when importing a&nbsp;style</li> <li>Fix some bugs with multiple module instances used in a&nbsp;style</li> <li>On <span class="caps">OSX</span> only the main window should be fullscreen, not the&nbsp;popups</li> <li>Some speedups with <span class="caps">VERY</span> big libraries or having A <span class="caps">LOT</span> <span class="caps">OF</span>&nbsp;tags</li> <li>Significantly speed up tagging many&nbsp;images</li> <li>Fix searching locations using&nbsp;OpenStreetMap</li> <li>Fix partial copies of large files in &#8220;import from&nbsp;camera&#8221;</li> <li>Fix a crash in the import dialog when using Lua to add widgets&nbsp;there</li> <li>Fix some false-positive warnings about another running darktable instance and it having locked the&nbsp;databases</li> <li>No longer switch to the favourite modules group when duplicating one of its&nbsp;modules</li> <li>Fix loading of <span class="caps">XYZ</span>&nbsp;files</li> <li>Fix Lab export when the profile was set from the&nbsp;lighttable</li> <li>Create tmp snapshot files with mode 0600 to stop other people looking at&nbsp;them</li> <li>Fix several bugs with Wayland. However, there are still issues, so darktable will prefer&nbsp;XWayland</li> <li>Google deprecated the Picasa Web <span class="caps">API</span> so it&#8217;s no longer possible to create G+&nbsp;albums</li> <li>Fix the default for sliders with target not being &#8220;red&#8221; in the channel&nbsp;mixer</li> <li>Fix the removing of&nbsp;directories</li> <li>Make the escape key cancel history&nbsp;dialogs</li> <li>Block keyboard accels when editing camera&nbsp;controls</li> <li>Properly delete <span class="caps">XMP</span>&nbsp;sidecars</li> <li>Make sure that the rating set in darktable is used for the exported file, not something set inside the raw&nbsp;file</li> <li>Don&#8217;t re-write all <span class="caps">XMP</span> files when detaching a&nbsp;tag</li> <li>Sync XMPs when a tag is removed from the&nbsp;database</li> <li>Sync XMPs after a tag is attached/detached via the Lua <span class="caps">API</span></li> <li>Bail out of darktable-cli when the <span class="caps">XMP</span> file is not&nbsp;readable</li> <li>Show ratings on zoomable lighttable without a&nbsp;delay</li> <li>Rely on <span class="caps">CUPS</span> color management when printing without configuring any color profile in&nbsp;darktable</li> <li>Many more bugs got&nbsp;fixed</li> </ul> <h2>Lua</h2> <ul> <li>darktable now uses Lua 5.3. The bundled copy got updated&nbsp;accordingly</li> <li>Add dt.print_log. It&#8217;s like print_error but without the <span class="caps">ERROR</span>&nbsp;prefix</li> <li>Reorder callback parameters for intermediate export image: add the actual image to the parameters of the&nbsp;event</li> <li>Call lua post-import-image event&nbsp;synchronously</li> <li>Add darktable.configuration.running_os to detect the <span class="caps">OS</span> darktable is running&nbsp;on</li> <li>New widget type: section_label, adds a label which looks like a section&nbsp;change</li> </ul> <h2>Changed&nbsp;Dependencies</h2> <ul> <li>CMake 3.1 is now&nbsp;required.</li> <li>In order to compile darktable you now need at least gcc-4.9+/clang-3.4+, and gcc-5.0+ is <em>highly</em>&nbsp;recommended.</li> <li><span class="caps">ZLIB</span> is now required for the <span class="caps">DNG</span> Deflate compressed raw&nbsp;support.</li> <li>darktable now uses Lua&nbsp;5.3</li> </ul> <h2>Camera support, compared to&nbsp;2.2.0</h2> <h4>Warning: support for Nikon <span class="caps">NEF</span> &#8216;lossy after split&#8217; raws was unintentionally broken due to the lack of such samples. Please see <a href="https://discuss.pixls.us/t/nikon-a-specific-raw-sample-wanted/5483?u=lebedevri">this post</a> for more details. If you have affected raws, please contribute&nbsp;samples!</h4> <h3>Base&nbsp;Support</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;200D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X9</li> <li>Canon <span class="caps">EOS</span> Rebel <span class="caps">SL2</span></li> <li>Canon <span class="caps">EOS</span> 6D Mark <span class="caps">II</span> (sRaw1,&nbsp;sRaw2)</li> <li>Canon <span class="caps">EOS</span>&nbsp;77D</li> <li>Canon <span class="caps">EOS</span>&nbsp;9000D</li> <li>Canon <span class="caps">EOS</span>&nbsp;800D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X9i</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T7i</li> <li>Canon <span class="caps">EOS</span>&nbsp;M100</li> <li>Canon <span class="caps">EOS</span>&nbsp;M5</li> <li>Canon <span class="caps">EOS</span>&nbsp;M6</li> <li>Canon PowerShot G9 X Mark <span class="caps">II</span></li> <li>Canon PowerShot <span class="caps">SX40</span> <span class="caps">HS</span>&nbsp;(dng)</li> <li>Fujifilm <span class="caps">GFX</span> 50S&nbsp;(compressed)</li> <li>Fujifilm&nbsp;X-A3</li> <li>Fujifilm X-<span class="caps">E2S</span></li> <li>Fujifilm X-E3&nbsp;(compressed)</li> <li>Fujifilm X-Pro2&nbsp;(compressed)</li> <li>Fujifilm X-T2&nbsp;(compressed)</li> <li>Fujifilm X-T20&nbsp;(compressed)</li> <li>Fujifilm <span class="caps">X100F</span>&nbsp;(compressed)</li> <li><span class="caps">GITUP</span> <span class="caps">GIT2P</span> (chdk-a,&nbsp;chdk-b)</li> <li>Kodak EasyShare&nbsp;Z980</li> <li><span class="caps">LG</span> D855&nbsp;(dng)</li> <li><span class="caps">LG</span> H815&nbsp;(dng)</li> <li><span class="caps">LG</span> Nexus 5X&nbsp;(dng)</li> <li><span class="caps">LG</span> <span class="caps">US996</span>&nbsp;(dng)</li> <li><span class="caps">LG</span> <span class="caps">VS995</span>&nbsp;(dng)</li> <li>Leica D-<span class="caps">LUX</span> (Typ 109) (4:3, 3:2, 16:9,&nbsp;1:1)</li> <li>Leica X2&nbsp;(dng)</li> <li>Nikon <span class="caps">COOLPIX</span> B700&nbsp;(12bit-uncompressed)</li> <li>Nikon D500 (14bit-uncompressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D5600 (12bit-compressed, 12bit-uncompressed, 14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D7500 (12bit-compressed,&nbsp;14bit-compressed)</li> <li>Nikon D850 (12bit-compressed, 12bit-uncompressed, 14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon <span class="caps">LS</span>-5000&nbsp;(dng)</li> <li>Nokia Lumia 1020&nbsp;(dng)</li> <li>Olympus E-M10 Mark <span class="caps">III</span></li> <li>Olympus&nbsp;E-M1MarkII</li> <li>Olympus <span class="caps">TG</span>-5</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ82</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ80</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ85</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GH5</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ91</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ92</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ93</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ90</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">ZS70</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ330</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GF6</span> (16:9, 3:2,&nbsp;1:1)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ61</span> (4:3, 3:2, 1:1,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS40</span> (4:3, 3:2, 1:1,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ80</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ81</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ85</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS60</span>&nbsp;(4:3)</li> <li>Pentax K-5&nbsp;(dng)</li> <li>Pentax K-r&nbsp;(dng)</li> <li>Pentax <span class="caps">K10D</span>&nbsp;(dng)</li> <li>Phase One <span class="caps">IQ140</span></li> <li>Samsung <span class="caps">G920F</span></li> <li>Samsung <span class="caps">G935F</span></li> <li>Samsung <span class="caps">GX10</span></li> <li>Sony <span class="caps">ILCE</span>-6500</li> <li>Sony <span class="caps">ILCE</span>-9</li> </ul> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Canon <span class="caps">EOS</span> 6D Mark <span class="caps">II</span></li> <li>Fujifilm&nbsp;X-T20</li> <li>Fujifilm <span class="caps">X100F</span></li> <li>Nikon 1 <span class="caps">AW1</span></li> <li>Nikon Coolpix&nbsp;A</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX80</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX85</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ100</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ101</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ110</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS110</span></li> <li>Pentax K-3 <span class="caps">II</span></li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;1300D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X80</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6</li> <li>Canon <span class="caps">EOS</span> 5D Mark <span class="caps">IV</span></li> <li>Canon <span class="caps">EOS</span> 6D Mark <span class="caps">II</span></li> <li>Canon <span class="caps">EOS</span>&nbsp;M5</li> <li>Canon PowerShot&nbsp;G16</li> <li>Canon PowerShot G3&nbsp;X</li> <li>Canon PowerShot G7 X Mark <span class="caps">II</span></li> <li>Canon PowerShot G9 X Mark <span class="caps">II</span></li> <li>Fujifilm&nbsp;X-M1</li> <li>Fujifilm&nbsp;X-Pro1</li> <li>Fujifilm&nbsp;X-T20</li> <li>Leica&nbsp;X2</li> <li>Nikon Coolpix&nbsp;A</li> <li>Nikon <span class="caps">D2X</span></li> <li>Nikon&nbsp;D3000</li> <li>Nikon&nbsp;D3400</li> <li>Nikon&nbsp;D4</li> <li>Nikon&nbsp;D500</li> <li>Olympus&nbsp;E-M1MarkII</li> <li>Olympus&nbsp;E-P5</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ200</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ300</span></li> <li>Panasonic <span class="caps">DMC</span>-G7</li> <li>Panasonic <span class="caps">DMC</span>-G70</li> <li>Panasonic <span class="caps">DMC</span>-G8</li> <li>Panasonic <span class="caps">DMC</span>-G80</li> <li>Panasonic <span class="caps">DMC</span>-G81</li> <li>Panasonic <span class="caps">DMC</span>-G85</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX80</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX85</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX100</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ100</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ101</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ110</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS110</span></li> <li>Pentax&nbsp;K-70</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M5</span></li> <li>Sony <span class="caps">ILCA</span>-68</li> <li>Sony <span class="caps">ILCE</span>-5000</li> <li>Sony <span class="caps">ILCE</span>-6500</li> </ul> <h2>Updated&nbsp;Translations</h2> <ul> <li>Catalan</li> <li>Dutch</li> <li>French</li> <li>German</li> <li>Hebrew</li> <li>Hungarian</li> <li>Russian</li> <li>Spanish</li> </ul><img src="https://www.darktable.org/2017/12/darktable-2-4-0rc1-released/snow_midget.jpg" class="hidden-lede">houzTue, 12 Dec 2017 09:42:00 +0000tag:www.darktable.org,2017-12-12:2017/12/darktable-2-4-0rc1-released/announcementdarktable releasedarktable 2.4.0rc0 releasedhttps://www.darktable.org/2017/12/darktable-2-4-0rc0-released/<p>we&#8217;re proud to announce the first release candidate for the upcoming 2.4 series of darktable,&nbsp;2.4.0rc0!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.4.0rc0">https://github.com/darktable-org/darktable/releases/tag/release-2.4.0rc0</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksum&nbsp;is:</p> <div class="highlight"><pre>$ sha256sum darktable-2.4.0rc0.tar.xz 66795f96dfd46b921a006836eb062f40cab1e93d018f61ccb7e650fb01a0016d darktable-2.4.0rc0.tar.xz $ sha256sum darktable-2.4.0rc0.dmg 23894c0ec808c8420719646ee289aba68fc15761ce812358ba3456691ad5849c darktable-2.4.0rc0.dmg $ sha256sum darktable-2.4.0rc0.exe ed560de786340cbdd94e446615cec8eef52fbbeb3ac81f7d10edfeee1e5b74ee darktable-2.4.0rc0.exe </pre></div> <h4>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, <em>please</em> read <a href="https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri">this post</a> on how/what raw samples you can contribute to ensure that we have the <em>full</em> raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</h4> <p>and the changelog as compared to 2.2.0 can be found below. Some of the fixes might have been backported to the stable 2.2.x series&nbsp;already.</p> <ul> <li>The maintainership of the RawSpeed library was transferred to the darktable project. The work on code cleanup, hardening, modernization, simplification and testing is&nbsp;ongoing.</li> <li>Well over 2 thousand commits to darktable+rawspeed since&nbsp;2.2.0</li> <li>244 pull requests&nbsp;handled</li> <li>320+ issues&nbsp;closed</li> <li>Updated user manual is coming&nbsp;soon™</li> </ul> <h2>Hell Froze&nbsp;Over</h2> <ul> <li>As you might have read on our <a href="https://www.darktable.org/2017/08/darktable-for-windows/">news post</a> we finally ported darktable to Windows and intend to support it in the future. At the moment it&#8217;s still lacking a few features (for example there is not printing support), has a few limitations (tethering requires special drivers to be installed) and comes with its own set of bugs. But overall we are confident that it&#8217;s quite usable already and hope you will enjoy it. A very special thanks goes to Peter Budai who finally convinced us to agree to the port and who did most of the&nbsp;work.</li> </ul> <h2>The Big&nbsp;Ones</h2> <ul> <li>A new module for haze&nbsp;removal</li> <li>The local contrast module can now be pushed much further, it also got a new local laplacian&nbsp;mode</li> <li>Add undo support for masks and more intelligent grouping of undo&nbsp;steps</li> <li>Blending now allows to display individual channels using false&nbsp;colors</li> <li>darktable now supports loading Fujifilm compressed&nbsp;RAFs</li> <li>darktable now supports loading floating point <span class="caps">HDR</span> DNGs as written by <span class="caps">HDRMERGE</span></li> <li>We also added channel specific blend modes for Lab and <span class="caps">RGB</span> color&nbsp;spaces</li> <li>The base curve module allows for more control of the exposure fusion feature using the newly added bias&nbsp;slider</li> <li>The tonecurve module now supports auto colour adjustment in <span class="caps">RGB</span></li> <li>Add absolute color input as an option to the color look up table&nbsp;module</li> <li>A new X-Trans demosaicing algorithm, Frequency Domain Chroma, was&nbsp;implemented.</li> <li>You can now choose from pre-defined scheduling profiles for&nbsp;OpenCL</li> <li>Speaking of OpenCL, darktable now allows to force-use OpenCL for a specific&nbsp;pixelpipe</li> <li>Xmp sidecar files are no longer written to disk when the content didn&#8217;t actually change. That mostly helps with network storage and backup systems that use files&#8217; time&nbsp;stamps</li> </ul> <h2>New Features And&nbsp;Changes</h2> <ul> <li>Show a dialog window that tells when locking the database/library&nbsp;failed</li> <li>Don&#8217;t shade the whole region on the map when searching for a location. Instead just draw a border around&nbsp;it.</li> <li>Also in map mode: Clear the search list and map indicators when resetting the search&nbsp;module.</li> <li>With OsmGPSMap newer than version 1.1.0 (i.e., anything released after that OsmGPSMap version) the map will show copyright&nbsp;info.</li> <li>Running jobs with a progressbar (mostly import and export) will show that progress bar ontop the window entry in your task bar – if the system supports it. It should work on <span class="caps">GNOME</span>, <span class="caps">KDE</span> and Windows at&nbsp;least.</li> <li>Add bash like string replacement for variables (export, watermark, session&nbsp;settings).</li> <li>Add a preferences option to ask before removing empty&nbsp;dirs</li> <li>The &#8220;colorbalance&#8221; module got a lot faster, thanks to <span class="caps">SSE</span> optimized&nbsp;code</li> <li>Make gradient sliders a little more colorful and use them in the white balance&nbsp;module</li> <li>Make <span class="caps">PNG</span> compression level used for exporting&nbsp;configurable</li> <li>On <span class="caps">OSX</span>, load single images from command line or via drag&amp;drop in darkroom&nbsp;mode</li> <li>Add an option to omit the intermediate tag hierarchy in exported files and only add the last&nbsp;level</li> <li>In the watermark module, sort the list of <span class="caps">SVG</span> files and omit the file&nbsp;extension</li> <li>Support <span class="caps">XYZ</span> as a proofing&nbsp;profile</li> <li>Local contrast now got a new slider to set the midtone&nbsp;range</li> <li>darktable got two new helper scripts (those are not installed by default, grab them from the sources): One to purge thumbnails that no longer have an associated image in the database, and a second script that uses inotify to watch a folder for new files to open them in a running darktable&nbsp;instance.</li> <li>In the curve editors of base curve and tone curve you can now delete nodes with a right click and see coordinates of nodes while editing. Note that you can use keyboard modifiers ctrl and shift to change the precision of your&nbsp;changes</li> <li>Creating a new instance of a module can now be done with a quick click of the middle mouse button on the multi-instance&nbsp;icon</li> <li>New darktable installations on computers with more than 8 Gb of memory will now by default use half of that per&nbsp;module</li> <li>Several background colors and the brush color are now configurable in the <span class="caps">CSS</span></li> <li>Some new cameras can bump the <span class="caps">ISO</span> level to insane highs. We try to follow as good as we can by no longer limiting it to 51200 in the <span class="caps">GUI</span></li> <li>Base curve and the highlights module now support multiple instances and use blending and&nbsp;masks</li> <li>Having the <code>1</code> key toggle between 1 and 0 stars wasn&#8217;t very popular with many people. You can disable that extra feature and have it behave like the other rating shortcuts&nbsp;now</li> <li>You can decide if you want to be asked before resetting the history stacks of images from the&nbsp;lighttable</li> <li>The grain module was slightly changed to have a more pleasing, photographic-paper like&nbsp;appearance</li> <li>Using the color look up table module you can now convert your images to monochrome, honoring the Helmholtz-Kohlrausch&nbsp;effect</li> <li>Some more small improvements were&nbsp;made</li> </ul> <h2>Bugfixes</h2> <ul> <li>Fix the problem with rating images by accident when moving the mouse while typing an image size in the export&nbsp;module</li> <li>Fix several oddities in folder and tag mode of the collect&nbsp;module.</li> <li>Print mode&#8217;s color profile settings no longer interact with the export&nbsp;module</li> <li>Update the style lists when importing a&nbsp;style</li> <li>Fix some bugs with multiple module instances used in a&nbsp;style</li> <li>On <span class="caps">OSX</span> only the main window should be fullscreen, not the&nbsp;popups</li> <li>Some speedups with <span class="caps">VERY</span> big libraries or having A <span class="caps">LOT</span> <span class="caps">OF</span>&nbsp;tags</li> <li>Significantly speed up tagging many&nbsp;images</li> <li>Fix searching locations using&nbsp;OpenStreetMap</li> <li>Fix partial copies of large files in &#8220;import from&nbsp;camera&#8221;</li> <li>Fix a crash in the import dialog when using Lua to add widgets&nbsp;there</li> <li>Fix some false-positive warnings about another running darktable instance and it having locked the&nbsp;databases</li> <li>No longer switch to the favourite modules group when duplicating one of its&nbsp;modules</li> <li>Fix loading of <span class="caps">XYZ</span>&nbsp;files</li> <li>Fix Lab export when the profile was set from the&nbsp;lighttable</li> <li>Create tmp snapshot files with mode 0600 to stop other people looking at&nbsp;them</li> <li>Fix several bugs with Wayland. However, there are still issues, so darktable will prefer&nbsp;XWayland</li> <li>Google deprecated the Picasa Web <span class="caps">API</span> so it&#8217;s no longer possible to create G+&nbsp;albums</li> <li>Fix the default for sliders with target not being &#8220;red&#8221; in the channel&nbsp;mixer</li> <li>Fix the removing of&nbsp;directories</li> <li>Make the escape key cancel history&nbsp;dialogs</li> <li>Block keyboard accels when editing camera&nbsp;controls</li> <li>Properly delete <span class="caps">XMP</span>&nbsp;sidecars</li> <li>Make sure that the rating set in darktable is used for the exported file, not something set inside the raw&nbsp;file</li> <li>Don&#8217;t re-write all <span class="caps">XMP</span> files when detaching a&nbsp;tag</li> <li>Sync XMPs when a tag is removed from the&nbsp;database</li> <li>Sync XMPs after a tag is attached/detached via the Lua <span class="caps">API</span></li> <li>Many more bugs got&nbsp;fixed</li> </ul> <h2>Lua</h2> <ul> <li>darktable now uses Lua 5.3. The bundled copy got updated&nbsp;accordingly</li> <li>Add dt.print_log. It&#8217;s like print_error but without the <span class="caps">ERROR</span>&nbsp;prefix</li> <li>Reorder callback parameters for intermediate export image: add the actual image to the parameters of the&nbsp;event</li> <li>Call lua post-import-image event&nbsp;synchronously</li> <li>Add darktable.configuration.running_os to detect the <span class="caps">OS</span> darktable is running&nbsp;on</li> <li>New widget type: section_label, adds a label which looks like a section&nbsp;change</li> </ul> <h2>Changed&nbsp;Dependencies</h2> <ul> <li>CMake 3.1 is now&nbsp;required.</li> <li>In order to compile darktable you now need at least gcc-4.9+/clang-3.4+, and gcc-5.0+ is <em>highly</em>&nbsp;recommended.</li> <li><span class="caps">ZLIB</span> is now required for the <span class="caps">DNG</span> Deflate compressed raw&nbsp;support.</li> <li>darktable now uses Lua&nbsp;5.3</li> </ul> <h2>Camera support, compared to&nbsp;2.2.0</h2> <h4>Warning: support for Nikon <span class="caps">NEF</span> &#8216;lossy after split&#8217; raws was unintentionally broken due to the lack of such samples. Please see <a href="https://discuss.pixls.us/t/nikon-a-specific-raw-sample-wanted/5483?u=lebedevri">this post</a> for more details. If you have affected raws, please contribute&nbsp;samples!</h4> <h3>Base&nbsp;Support</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;200D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X9</li> <li>Canon <span class="caps">EOS</span> Rebel <span class="caps">SL2</span></li> <li>Canon <span class="caps">EOS</span> 6D Mark <span class="caps">II</span> (sRaw1,&nbsp;sRaw2)</li> <li>Canon <span class="caps">EOS</span>&nbsp;77D</li> <li>Canon <span class="caps">EOS</span>&nbsp;9000D</li> <li>Canon <span class="caps">EOS</span>&nbsp;800D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X9i</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T7i</li> <li>Canon <span class="caps">EOS</span>&nbsp;M5</li> <li>Canon <span class="caps">EOS</span>&nbsp;M6</li> <li>Canon PowerShot G9 X Mark <span class="caps">II</span></li> <li>Canon PowerShot <span class="caps">SX40</span> <span class="caps">HS</span>&nbsp;(dng)</li> <li>Fujifilm <span class="caps">GFX</span> 50S&nbsp;(compressed)</li> <li>Fujifilm&nbsp;X-A3</li> <li>Fujifilm X-<span class="caps">E2S</span></li> <li>Fujifilm X-E3&nbsp;(compressed)</li> <li>Fujifilm X-Pro2&nbsp;(compressed)</li> <li>Fujifilm X-T2&nbsp;(compressed)</li> <li>Fujifilm X-T20&nbsp;(compressed)</li> <li>Fujifilm <span class="caps">X100F</span>&nbsp;(compressed)</li> <li><span class="caps">GITUP</span> <span class="caps">GIT2P</span> (chdk-a,&nbsp;chdk-b)</li> <li>Kodak EasyShare&nbsp;Z980</li> <li><span class="caps">LG</span> D855&nbsp;(dng)</li> <li><span class="caps">LG</span> H815&nbsp;(dng)</li> <li><span class="caps">LG</span> Nexus 5X&nbsp;(dng)</li> <li><span class="caps">LG</span> <span class="caps">US996</span>&nbsp;(dng)</li> <li><span class="caps">LG</span> <span class="caps">VS995</span>&nbsp;(dng)</li> <li>Leica D-<span class="caps">LUX</span> (Typ 109) (4:3, 3:2, 16:9,&nbsp;1:1)</li> <li>Leica X2&nbsp;(dng)</li> <li>Nikon <span class="caps">COOLPIX</span> B700&nbsp;(12bit-uncompressed)</li> <li>Nikon D500 (14bit-uncompressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D5600 (12bit-compressed, 12bit-uncompressed, 14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D7500 (12bit-compressed,&nbsp;14bit-compressed)</li> <li>Nikon D850 (12bit-compressed, 12bit-uncompressed, 14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon <span class="caps">LS</span>-5000&nbsp;(dng)</li> <li>Nokia Lumia 1020&nbsp;(dng)</li> <li>Olympus E-M10 Mark <span class="caps">III</span></li> <li>Olympus&nbsp;E-M1MarkII</li> <li>Olympus <span class="caps">TG</span>-5</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ82</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ80</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ85</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GH5</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ91</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ92</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ93</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">TZ90</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">ZS70</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ330</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GF6</span> (16:9, 3:2,&nbsp;1:1)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ61</span> (4:3, 3:2, 1:1,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS40</span> (4:3, 3:2, 1:1,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ80</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ81</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ85</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS60</span>&nbsp;(4:3)</li> <li>Pentax K-5&nbsp;(dng)</li> <li>Pentax K-r&nbsp;(dng)</li> <li>Pentax <span class="caps">K10D</span>&nbsp;(dng)</li> <li>Samsung <span class="caps">G920F</span></li> <li>Samsung <span class="caps">G935F</span></li> <li>Samsung <span class="caps">GX10</span></li> <li>Sony <span class="caps">ILCE</span>-6500</li> <li>Sony <span class="caps">ILCE</span>-9</li> </ul> <h3>White Balance&nbsp;Presets</h3> <ul> <li>Canon <span class="caps">EOS</span> 6D Mark <span class="caps">II</span></li> <li>Fujifilm&nbsp;X-T20</li> <li>Fujifilm <span class="caps">X100F</span></li> <li>Nikon 1 <span class="caps">AW1</span></li> <li>Nikon Coolpix&nbsp;A</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX80</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX85</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ100</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ101</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ110</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS110</span></li> <li>Pentax K-3 <span class="caps">II</span></li> </ul> <h3>Noise&nbsp;Profiles</h3> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;1300D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X80</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6</li> <li>Canon <span class="caps">EOS</span> 5D Mark <span class="caps">IV</span></li> <li>Canon <span class="caps">EOS</span> 6D Mark <span class="caps">II</span></li> <li>Canon <span class="caps">EOS</span>&nbsp;M5</li> <li>Canon PowerShot&nbsp;G16</li> <li>Canon PowerShot G3&nbsp;X</li> <li>Canon PowerShot G7 X Mark <span class="caps">II</span></li> <li>Canon PowerShot G9 X Mark <span class="caps">II</span></li> <li>Fujifilm&nbsp;X-M1</li> <li>Fujifilm&nbsp;X-Pro1</li> <li>Fujifilm&nbsp;X-T20</li> <li>Leica&nbsp;X2</li> <li>Nikon Coolpix&nbsp;A</li> <li>Nikon <span class="caps">D2X</span></li> <li>Nikon&nbsp;D3000</li> <li>Nikon&nbsp;D3400</li> <li>Nikon&nbsp;D500</li> <li>Olympus&nbsp;E-M1MarkII</li> <li>Olympus&nbsp;E-P5</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ200</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ300</span></li> <li>Panasonic <span class="caps">DMC</span>-G7</li> <li>Panasonic <span class="caps">DMC</span>-G70</li> <li>Panasonic <span class="caps">DMC</span>-G8</li> <li>Panasonic <span class="caps">DMC</span>-G80</li> <li>Panasonic <span class="caps">DMC</span>-G81</li> <li>Panasonic <span class="caps">DMC</span>-G85</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX80</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX85</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX100</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ100</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ101</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ110</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS110</span></li> <li>Pentax&nbsp;K-70</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M5</span></li> <li>Sony <span class="caps">ILCA</span>-68</li> <li>Sony <span class="caps">ILCE</span>-5000</li> <li>Sony <span class="caps">ILCE</span>-6500</li> </ul> <h2>Updated&nbsp;Translations</h2> <ul> <li>Dutch</li> <li>French</li> <li>German</li> <li>Hebrew</li> <li>Russian</li> <li>Spanish</li> </ul><img src="https://www.darktable.org/2017/12/darktable-2-4-0rc0-released/tit_lede.jpg" class="hidden-lede">houzSun, 03 Dec 2017 15:23:00 +0000tag:www.darktable.org,2017-12-03:2017/12/darktable-2-4-0rc0-released/announcementdarktable releaselocal laplacian pyramidshttps://www.darktable.org/2017/11/local-laplacian-pyramids/<h1>improving contrast with the local laplacian&nbsp;filter</h1> <p>sometimes difficult lighting situations arise which, when taking photographs, result in unappealing pictures. for instance very uniform lighting on a cloudy day may give dull results, while very contrasty illumination (such as back lit) may require to compress the contrast to embrace both highlights and shadows in the limited dynamic range of the output&nbsp;device.</p> <p>refer to the following two shots as&nbsp;examples:</p> <ul> <li>input + high contrast&nbsp;b/w</li> <li>hdr +&nbsp;compressed</li> </ul> <p>many options to achieve this exist in literature and many of them are implemented in darktable&nbsp;already.</p> <p>this post is about yet another approach to this which turned out to be extremely versatile, almost artifact-free, and reasonably fast to compute: the local laplacian&nbsp;pyramid.</p> <p>repeat figure with curves and then it&#8217;s pretty much exposure fusion with many different images (one per gray&nbsp;level)</p> <h2>local contrast with the local laplacian&nbsp;pyramid</h2> <p><a href="http://persci.mit.edu/pub_pdfs/pyramid83.pdf">vanilla laplacian pyramids</a> [0] are known to be a good tool to blend over between two images. for their applicability to local contrast, not so much. perhaps surprisingly, following up on exposure fusion (we <a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/">blogged about that for darktable before</a> ), a clever way to modify local contrast based on laplacian pyramids <a href="https://people.csail.mit.edu/sparis/publi/2011/siggraph/">has been devised</a> [1]: it works by pretty much creating a separate laplacian pyramid for every pixel in the image, and then selecting coefficients from these these based on certain&nbsp;criteria.</p> <p>luckily, <a href="http://www.di.ens.fr/~aubry/llf.html">this can be reduced to processing the image only a small, fixed number of times</a> [2]. the procedure is then&nbsp;basically:</p> <ul> <li>process the image n times, mapping it through a curve (see below for&nbsp;examples)</li> <li>create the n laplacian pyramids that go with the&nbsp;images</li> <li>merge into a final laplacian&nbsp;pyramid</li> <li>collapse this output pyramid to create the output&nbsp;image.</li> </ul> <p>this is nicely illustrated in this video exported from&nbsp;halide:</p> <div style="text-align: center"> <iframe width="650" height="400" src="https://www.youtube-nocookie.com/embed/t4mbrKYRmvs?rel=0" frameborder="0" gesture="media" allow="encrypted-media" allowfullscreen></iframe> </div> <p>also, as it turns out, the gpu is really good at processing laplacian pyramids. the opencl port of this turned out to be very&nbsp;useful.</p> <h2>the mapping&nbsp;function</h2> <p>why can we get away with this small fixed number n of processed pyramids? [2] gives the explanation in sec.&nbsp;3:</p> <p><em>If r is&nbsp;band-limited,</em></p> <p>(r is the family of curves which is applied to the input&nbsp;image).</p> <p>now if you look at the left image (which is taken from fig. 6 in [1]), it has clear kinks where the center part joints the straight lines. not band limited at all. don&#8217;t use this curve at home. it will produce random aliasing when used with the fast local laplacian&nbsp;code.</p> <p><span style="display: table-row;"> <span style="display: table-cell; max-width: 50%; position: relative"><span><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/fig6.png"><img alt="fig 6" src="fig6_thumb.png" /></a></span></span> &nbsp; <span style="display: table-cell; max-width: 50%; position: relative"><img alt="clarity" src="https://www.darktable.org/2017/11/local-laplacian-pyramids/curve_clarity.svg" /></span> </span></p> <p>darktable uses what is shown on the right instead: the contrast-s curve in the center part is modelled by a derivative of gaussian (with infinite support), which is added to the straight lines on either side, which are blended over using a quadratic bezier curve. you can <a href="https://github.com/darktable-org/darktable/blob/master/src/common/locallaplacian.c#L289">look up the precise code</a> if you&#8217;re&nbsp;interested.</p> <p>now changing the contrast-s curve in the middle changes local contrast, that&#8217;s great. looking at the sides of this curve, we would immediately want to use it for shadow lifting and highlight compression too. in fact that&#8217;s possible (see following section with images and accompanying curves). unfortunately some of the proposed optimisations in the original papers can&#8217;t be applied any more. for the shadow/highlight use case, the pyramid needs to be constructed all the way all the time, we can&#8217;t stop after three levels (or else the shadow lifting would depend on the scale of the&nbsp;image).</p> <p>this means darktable will always build the full pyramids, making this a little slower, but yielding best&nbsp;results.</p> <h2>the darktable&nbsp;ui</h2> <p>you can find our implementation of this filter in the <code>local contrast</code> module, when switched to local laplacian&nbsp;mode:</p> <p><span><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/gui.png"><img alt="ui" src="gui_thumb.png" /></a></span></p> <p>it allows you to change detail (or clarity or local contrast), highlight contrast, and shadow contrast separately. the last slider governs how wide the central region of the curve is, i.e. what is classified as shadow vs.&nbsp;mid-tone.</p> <p>in the following, we&#8217;ll go through these contrast sliders, showing a couple of corresponding conversion curves and the resulting effect on the output&nbsp;image.</p> <p>drag the separator in the middle to compare&nbsp;before/after!</p> <h3>increased local&nbsp;contrast:</h3> <p><span style="display: table-row;"> <span style="display: table-cell"><img alt="ident" src="https://www.darktable.org/2017/11/local-laplacian-pyramids/curve_ident.svg" /></span> &nbsp; <span style="display: table-cell"><img alt="clarity" src="curve_clarity.svg" /></span> </span></p> <p> <div> <div class="cato" id="id0001" ondragstart="return false"> <div draggable="false" style="background-image:url(&quot;images/flower_01_thumb.jpg&quot;)"></div> <div draggable="false" style="background-image:url(&quot;images/flower_thumb.jpg&quot;)"></div> <div class="cato_divider"></div> <img draggable="false" src="images/flower_thumb.jpg" /><div> <p><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/flower.jpg">original</a></p> </div> <div> <p class="cato_right"><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/flower_01.jpg">clarity</a></p> </div> </div> <script type="text/javascript">createSlider("id0001");</script> </div> </p> <h3>pulled highlights&nbsp;down:</h3> <p>yes, the curve changes the bottom part. which you would think belongs to the shadows. turns out it&nbsp;doesn&#8217;t.</p> <p><span style="display: table-row;"> <span style="display: table-cell"><img alt="ident" src="curve_ident.svg" /></span> &nbsp; <span style="display: table-cell"><img alt="highlights" src="https://www.darktable.org/2017/11/local-laplacian-pyramids/curve_highlights.svg" /></span> </span></p> <p> <div> <div class="cato" id="id0002" ondragstart="return false"> <div draggable="false" style="background-image:url(&quot;images/flower_02_thumb.jpg&quot;)"></div> <div draggable="false" style="background-image:url(&quot;images/flower_thumb.jpg&quot;)"></div> <div class="cato_divider"></div> <img draggable="false" src="images/flower_thumb.jpg" /><div> <p><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/flower.jpg">original</a></p> </div> <div> <p class="cato_right"><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/flower_02.jpg">highlights&nbsp;compressed</a></p> </div> </div> <script type="text/javascript">createSlider("id0002");</script> </div> </p> <h3>pushed shadows&nbsp;up:</h3> <p><span style="display: table-row;"> <span style="display: table-cell"><img alt="ident" src="curve_ident.svg" /></span> &nbsp; <span style="display: table-cell"><img alt="shadows" src="https://www.darktable.org/2017/11/local-laplacian-pyramids/curve_shadows.svg" /></span> </span></p> <p> <div> <div class="cato" id="id0003" ondragstart="return false"> <div draggable="false" style="background-image:url(&quot;images/flower_03_thumb.jpg&quot;)"></div> <div draggable="false" style="background-image:url(&quot;images/flower_thumb.jpg&quot;)"></div> <div class="cato_divider"></div> <img draggable="false" src="images/flower_thumb.jpg" /><div> <p><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/flower.jpg">original</a></p> </div> <div> <p class="cato_right"><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/flower_03.jpg">shadows&nbsp;lifted</a></p> </div> </div> <script type="text/javascript">createSlider("id0003");</script> </div> </p> <h3>inverse of the&nbsp;above</h3> <p>and the inverse is also possible, top to bottom, left to right: original, removed details, pushed highlights out even more, pulled shadows&nbsp;deeper.</p> <p> <div> <div class="cato" id="id0004" ondragstart="return false"> <div draggable="false" style="background-image:url(&quot;images/flower_06_thumb.jpg&quot;)"></div> <div draggable="false" style="background-image:url(&quot;images/flower_thumb.jpg&quot;)"></div> <div class="cato_divider"></div> <img draggable="false" src="images/flower_thumb.jpg" /><div> <p><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/flower.jpg">original</a></p> </div> <div> <p class="cato_right"><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/flower_06.jpg">details&nbsp;removed</a></p> </div> </div> <script type="text/javascript">createSlider("id0004");</script> </div> </p> <p> <div> <div class="cato" id="id0005" ondragstart="return false"> <div draggable="false" style="background-image:url(&quot;images/flower_04_thumb.jpg&quot;)"></div> <div draggable="false" style="background-image:url(&quot;images/flower_thumb.jpg&quot;)"></div> <div class="cato_divider"></div> <img draggable="false" src="images/flower_thumb.jpg" /><div> <p><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/flower.jpg">original</a></p> </div> <div> <p class="cato_right"><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/flower_04.jpg">highlights&nbsp;pushed</a></p> </div> </div> <script type="text/javascript">createSlider("id0005");</script> </div> </p> <p> <div> <div class="cato" id="id0006" ondragstart="return false"> <div draggable="false" style="background-image:url(&quot;images/flower_05_thumb.jpg&quot;)"></div> <div draggable="false" style="background-image:url(&quot;images/flower_thumb.jpg&quot;)"></div> <div class="cato_divider"></div> <img draggable="false" src="images/flower_thumb.jpg" /><div> <p><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/flower.jpg">original</a></p> </div> <div> <p class="cato_right"><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/flower_05.jpg">shadows&nbsp;deepened</a></p> </div> </div> <script type="text/javascript">createSlider("id0006");</script> </div> </p> <h2>application to hdr&nbsp;compression</h2> <p>in the following there are some comparison images from the previous post on exposure fusion. these have been processed again with a different&nbsp;approach:</p> <ul> <li>to compress the dynamic range, a very flat base curve has been used which maxes out at 0.5 for input values of&nbsp;1.0.</li> <li>as contrast-s curve, the tone curve module has been used, in rgb mode for automatic colour saturation&nbsp;compensation.</li> <li>the curve was created to match an out of camera raw+jpg pair using <code>darktable-chart</code> which also created a clut for the colour lookup table&nbsp;module.</li> </ul> <p>this approach will leave the image flat and dull (due to the flat base curve). to add back additional detail, we use the local laplacian module. this turns out to work a lot better together with a contrast-s tone curve than with a contrast-s base curve, since the base curve comes before the local contrast module in the pipeline, while the tone curve comes after. this way, the local contrast module receives more linear&nbsp;input.</p> <p>in fact, sometimes a contrast-s curve is not necessary at all for hdr input. exposure fusion shows some nicer behaviour with respect to colour saturation at times, but sometimes produces halo like artifacts. i find it easier to create good results with the local laplacian when aiming for a low key look (see the definition in the darker clouds in the left of the first image). really up to you and any given input images which method works&nbsp;better.</p> <p>example history stacks are in the example comparison images seen below: <a href="images/img_0002.jpg">0</a> <a href="images/img_0004.jpg">1</a> <a href="images/img_0006.jpg">2</a>.</p> <p> <div> <div class="cato" id="id0007" ondragstart="return false"> <div draggable="false" style="background-image:url(&quot;images/img_0002_thumb.jpg&quot;)"></div> <div draggable="false" style="background-image:url(&quot;images/img_0001_thumb.jpg&quot;)"></div> <div class="cato_divider"></div> <img draggable="false" src="images/img_0001_thumb.jpg" /><div> <p><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/img_0001.jpg">exposure&nbsp;fusion</a></p> </div> <div> <p class="cato_right"><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/img_0002.jpg">local&nbsp;laplacian</a></p> </div> </div> <script type="text/javascript">createSlider("id0007");</script> </div> </p> <p> <div> <div class="cato" id="id0008" ondragstart="return false"> <div draggable="false" style="background-image:url(&quot;images/img_0004_thumb.jpg&quot;)"></div> <div draggable="false" style="background-image:url(&quot;images/img_0003_thumb.jpg&quot;)"></div> <div class="cato_divider"></div> <img draggable="false" src="images/img_0003_thumb.jpg" /><div> <p><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/img_0003.jpg">exposure&nbsp;fusion</a></p> </div> <div> <p class="cato_right"><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/img_0004.jpg">local&nbsp;laplacian</a></p> </div> </div> <script type="text/javascript">createSlider("id0008");</script> </div> </p> <p> <div> <div class="cato" id="id0009" ondragstart="return false"> <div draggable="false" style="background-image:url(&quot;images/img_0006_thumb.jpg&quot;)"></div> <div draggable="false" style="background-image:url(&quot;images/img_0005_thumb.jpg&quot;)"></div> <div class="cato_divider"></div> <img draggable="false" src="images/img_0005_thumb.jpg" /><div> <p><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/img_0005.jpg">exposure&nbsp;fusion</a></p> </div> <div> <p class="cato_right"><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/img_0006.jpg">local&nbsp;laplacian</a></p> </div> </div> <script type="text/javascript">createSlider("id0009");</script> </div> </p> <h2>application to high contrast&nbsp;monochrome</h2> <p> <div> <div class="cato" id="id0010" ondragstart="return false"> <div draggable="false" style="background-image:url(&quot;images/bw_0001_thumb.jpg&quot;)"></div> <div draggable="false" style="background-image:url(&quot;images/bw_0002_thumb.jpg&quot;)"></div> <div class="cato_divider"></div> <img draggable="false" src="images/bw_0002_thumb.jpg" /><div> <p><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/bw_0002.jpg">original</a></p> </div> <div> <p class="cato_right"><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/bw_0001.jpg">local&nbsp;laplacian</a></p> </div> </div> <script type="text/javascript">createSlider("id0010");</script> </div> </p> <p> <div> <div class="cato" id="id0011" ondragstart="return false"> <div draggable="false" style="background-image:url(&quot;images/bw_0003_thumb.jpg&quot;)"></div> <div draggable="false" style="background-image:url(&quot;images/bw_0004_thumb.jpg&quot;)"></div> <div class="cato_divider"></div> <img draggable="false" src="images/bw_0004_thumb.jpg" /><div> <p><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/bw_0004.jpg">original</a></p> </div> <div> <p class="cato_right"><a href="https://www.darktable.org/2017/11/local-laplacian-pyramids/images/bw_0003.jpg">local&nbsp;laplacian</a></p> </div> </div> <script type="text/javascript">createSlider("id0011");</script> </div> </p> <h2>a note on&nbsp;noise</h2> <p>when increasing contrast, you want to make sure the input isn&#8217;t noisy, or else that noise would be accentuated even more. but even when not increasing contrast, the local laplacian filter will show structured artifacts for noisy input. i find this mostly goes away when enabling at least chroma denoising for instance in the profiled denoising&nbsp;module.</p> <h2>literature</h2> <ul> <li>[0] <a href="http://persci.mit.edu/pub_pdfs/pyramid83.pdf">laplacian pyramids classic&nbsp;paper</a></li> <li>[1] <a href="https://people.csail.mit.edu/sparis/publi/2011/siggraph/">local laplacian pyramids project&nbsp;page</a></li> <li>[2] <a href="http://www.di.ens.fr/~aubry/llf.html">fast local laplacian&nbsp;filters</a></li> </ul><img src="https://www.darktable.org/2017/11/local-laplacian-pyramids/header.jpg" class="hidden-lede">joTue, 21 Nov 2017 20:21:45 +0000tag:www.darktable.org,2017-11-21:2017/11/local-laplacian-pyramids/blogdevelopmentfurther readingupcoming featuredarktable for Windowshttps://www.darktable.org/2017/08/darktable-for-windows/<p>A long time ago there was <a href="https://www.darktable.org/2011/07/that-other-os/">a post</a> about why we don&#8217;t have a Windows port. While I still stand by what I wrote six years ago, the times they are&nbsp;a-changin&#8217;.</p> <p>Then two years ago there was yet <a href="https://www.darktable.org/2015/07/why-dont-you-provide-a-windows-build/">another post</a> regarding Windows. The gist of it was that the real blocker for a Windows release isn&#8217;t so much a technical one but the lack of a person (or several) dedicated to maintaining it. Not just for the moment until all the patches got merged but for the foreseeable&nbsp;future.</p> <p>Then Peter Budai came along. Like some people before he managed to compile darktable on Windows and offered us the patches he had to do, but other than what we had seen before he stuck around, helped fix bugs and was open to suggestions how to solve things in a better way. Eventually we became confident that the lack of Windows maintainership might be&nbsp;solved.</p> <p>To cut a long story short, we are extremely pleased&nbsp;– albeit wary&nbsp;– to announce a very first official pre-alpha development snapshot for 64 bit Windows. We know it&#8217;s still buggy, but as a sign of goodwill and request for help in testing it we would like to ask you to give it a try. Please report useful bugs in our <a href="https://redmine.darktable.org/projects/darktable/issues/new">bug tracker</a>.</p> <p>You can find the link to the binary on the <a href="https://discuss.pixls.us/t/darktable-for-windows/4966">pixls.us forum</a> (a great place btw., you should check it&nbsp;out).</p><img src="https://www.darktable.org/2017/08/darktable-for-windows/horse_in_stable_wide.jpg" class="hidden-lede">houzWed, 30 Aug 2017 18:11:00 +0000tag:www.darktable.org,2017-08-30:2017/08/darktable-for-windows/announcementdarktable releasedarktable 2.2.5 releasedhttps://www.darktable.org/2017/06/darktable-2-2-5-released/<p>we&#8217;re proud to announce the fifth bugfix release for the 2.2 series of darktable,&nbsp;2.2.5!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.2.5">https://github.com/darktable-org/darktable/releases/tag/release-2.2.5</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksum&nbsp;is:</p> <div class="highlight"><pre>$ sha256sum darktable-2.2.5.tar.xz e303a42b33f78eb1f48d3b36d1df46f30873df4c5a7b49605314f61c49fbf281 darktable-2.2.5.tar.xz $ sha256sum darktable-2.2.5.dmg f6e8601fca9a08d988dc939484d03e137c16dface48351ef523b5e0bbbaecf18 darktable-2.2.5.dmg </pre></div> <p>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, please help us by visiting <a href="https://raw.pixls.us/">https://raw.pixls.us/</a> and making sure that we have the full raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</p> <p>and the changelog as compared to 2.2.4 can be found&nbsp;below.</p> <h2>New&nbsp;features:</h2> <ul> <li>When appending <span class="caps">EXIF</span> data to an exported image, do not fail if reading of <span class="caps">EXIF</span> from the original file&nbsp;fails</li> <li>Support <span class="caps">XYZ</span> as proofing&nbsp;profile</li> <li>Clear DerivedFrom from <span class="caps">XMP</span> before writing&nbsp;it</li> <li>bauhaus: when using soft bounds, keep slider step&nbsp;constant</li> </ul> <h2>Bugfixes:</h2> <ul> <li>Some <span class="caps">GCC7</span> build&nbsp;fixes</li> <li>cmstest: fix crash when missing XRandR&nbsp;extension.</li> <li>Fix crash in Lua libs when collapsing&nbsp;libs</li> <li>Mac packaging: some&nbsp;fixes</li> <li>RawSpeed: TiffIFD: avoid&nbsp;double-free</li> <li>Fix a few alloc-dealloc&nbsp;mismatches</li> </ul> <h2>Base&nbsp;Support:</h2> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;77D</li> <li>Canon <span class="caps">EOS</span>&nbsp;9000D</li> <li>Nikon D500 (14bit-uncompressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D5600 (12bit-compressed, 12bit-uncompressed, 14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">FZ82</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ80</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ85</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DC</span>-<span class="caps">GH5</span>&nbsp;(4:3)</li> </ul> <h2>White Balance&nbsp;Presets:</h2> <ul> <li>Pentax K-3 <span class="caps">II</span></li> </ul> <h2>Noise&nbsp;Profiles:</h2> <ul> <li>Nikon&nbsp;D500</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ300</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX100</span></li> <li>Pentax&nbsp;K-70</li> <li>Sony <span class="caps">ILCE</span>-5000</li> </ul><img src="https://www.darktable.org/2017/06/darktable-2-2-5-released/train_station_wide.jpg" class="hidden-lede">houzFri, 02 Jun 2017 06:55:00 +0000tag:www.darktable.org,2017-06-02:2017/06/darktable-2-2-5-released/announcementdarktable releaseComments be gonehttps://www.darktable.org/2017/04/comments-be-gone/<p>We are sorry to inform you that we had to disable comments on this website. Currently there are more than 21 thousand messages in the spam queue plus another 2.6 thousand in the review queue. There is no way we can handle those. If you want to get in touch with us then head over to the <a href="https://www.darktable.org/contact/">contact page</a> and find what suits you best&nbsp;– mailing lists, <span class="caps">IRC</span>, bug tracker, … We hope to be able to get some alternative up and running, but that might take some time as it&#8217;s not really a high priority for&nbsp;us.</p>houzThu, 06 Apr 2017 19:33:32 +0000tag:www.darktable.org,2017-04-06:2017/04/comments-be-gone/announcementinfrastructurewebsitedarktable 2.2.4 releasedhttps://www.darktable.org/2017/04/darktable-2-2-4-released/<p>we&#8217;re proud to announce the fourth bugfix release for the 2.2 series of darktable,&nbsp;2.2.4!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.2.4">https://github.com/darktable-org/darktable/releases/tag/release-2.2.4</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksum&nbsp;is:</p> <div class="highlight"><pre>$ sha256sum darktable-2.2.4.tar.xz bd5445d6b81fc3288fb07362870e24bb0b5378cacad2c6e6602e32de676bf9d8 darktable-2.2.4.tar.xz $ sha256sum darktable-2.2.4.6.dmg b7e4aeaa4b275083fa98b2a20e77ceb3ee48af3f7cc48a89f41a035d699bd71c darktable-2.2.4.6.dmg </pre></div> <p>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, please help us by visiting <a href="https://raw.pixls.us/">https://raw.pixls.us/</a> and making sure that we have the full raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</p> <p>and the changelog as compared to 2.2.3 can be found&nbsp;below.</p> <h2>New&nbsp;features:</h2> <ul> <li>Better brush trace handing of opacity to get better&nbsp;control.</li> <li>tools: Add script to purge stale&nbsp;thumbnails</li> <li>tools: A script to watch a folder for new&nbsp;images</li> </ul> <h2>Bugfixes:</h2> <ul> <li><span class="caps">DNG</span>: fix camera name demangling. It used to report some wrong name for some&nbsp;cameras.</li> <li>When using wayland, prefer XWayland, because native Wayland support is not fully functional&nbsp;yet</li> <li><span class="caps">EXIF</span>: properly handle image orientation &#8216;2&#8217; and &#8216;4&#8217; (swap&nbsp;them)</li> <li>OpenCL: a few fixes in profiled denoise, demosaic and&nbsp;colormapping</li> <li>tiling: do not process uselessly small end&nbsp;tiles</li> <li>masks: avoid assertion failure in early phase of path&nbsp;generation,</li> <li>masks: reduce risk of unwanted self-finalization of small path&nbsp;shapes</li> <li>Fix rare issue when expanding $() variables in import/export&nbsp;string</li> <li>Camera import: fix ignore_jpg setting not having an&nbsp;effect</li> <li>Picasa web exporter: unbreak after upstream <span class="caps">API</span>&nbsp;change</li> <li>collection: fix query string for folders ( &#8216;a&#8217; should match &#8216;a/b&#8217; and &#8216;a/c&#8217;, but not &#8216;ac/&#8217;&nbsp;)</li> </ul> <h2>Base&nbsp;Support:</h2> <ul> <li>Fujifilm X-T20 (only uncompressed raw, at the&nbsp;moment)</li> <li>Fujifilm <span class="caps">X100F</span> (only uncompressed raw, at the&nbsp;moment)</li> <li>Nikon <span class="caps">COOLPIX</span> B700&nbsp;(12bit-uncompressed)</li> <li>Olympus&nbsp;E-M1MarkII</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ61</span> (4:3, 3:2, 1:1,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS40</span> (4:3, 3:2, 1:1,&nbsp;16:9)</li> <li>Sony <span class="caps">ILCE</span>-6500</li> </ul> <h2>Noise&nbsp;Profiles:</h2> <ul> <li>Canon PowerShot G7 X Mark <span class="caps">II</span></li> <li>Olympus&nbsp;E-M1MarkII</li> <li>Lge Nexus&nbsp;5X</li> </ul><img src="https://www.darktable.org/2017/04/darktable-2-2-4-released/thistels_wide.jpg" class="hidden-lede">houzThu, 06 Apr 2017 18:33:08 +0000tag:www.darktable.org,2017-04-06:2017/04/darktable-2-2-4-released/announcementdarktable releasedarktable 2.2.3 releasedhttps://www.darktable.org/2017/02/darktable-2-2-3-released/<p>we&#8217;re proud to announce the third bugfix release for the 2.2 series of darktable,&nbsp;2.2.3!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.2.3">https://github.com/darktable-org/darktable/releases/tag/release-2.2.3</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksum&nbsp;is:</p> <div class="highlight"><pre>$ sha256sum darktable-2.2.3.tar.xz 1b33859585bf283577680c61e3c0ea4e48214371453b9c17a86664d2fbda48a0 darktable-2.2.3.tar.xz $ sha256sum darktable-2.2.3.dmg 1ebe9a9905b895556ce15d556e49e3504957106fe28f652ce5efcb274dadd41c darktable-2.2.3.dmg </pre></div> <p><strong>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, please help us by visiting <a href="https://raw.pixls.us/">https://raw.pixls.us/</a> and making sure that we have the full raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</strong></p> <p>and the changelog as compared to 2.2.2 can be found&nbsp;below.</p> <h2>Bugfixes:</h2> <ul> <li>Fix fatal crash when generating preview for medium megapixel count (~<span class="caps">16MP</span>) Bayer&nbsp;images</li> <li>Properly subtract black levels: respect the even/odd -ness of the raw crop origin&nbsp;point</li> <li>Collection module: fix a few <span class="caps">UI</span>&nbsp;quirks</li> </ul><img src="https://www.darktable.org/2017/02/darktable-2-2-3-released/turtle_wide.jpeg" class="hidden-lede">houzWed, 01 Feb 2017 10:44:59 +0000tag:www.darktable.org,2017-02-01:2017/02/darktable-2-2-3-released/announcementdarktable releasedarktable 2.2.2 releasedhttps://www.darktable.org/2017/01/darktable-2-2-2-released/<p>we&#8217;re proud to announce the second bugfix release for the 2.2 series of darktable,&nbsp;2.2.2!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.2.2">https://github.com/darktable-org/darktable/releases/tag/release-2.2.2</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksum&nbsp;is:</p> <div class="highlight"><pre>766d7d734e7bd5a33f6a6932a43b15cc88435c64ad9a0b20410ba5b4706941c2 darktable-2.2.2.tar.xz 52fd0e9a8bb74c82abdc9a88d4c369ef181ef7fe2b946723c5706d7278ff2dfb darktable-2.2.2.dmg </pre></div> <p><strong>Important note: to make sure that darktable can keep on supporting the raw file format for your camera, please help us by visiting <a href="https://raw.pixls.us/">https://raw.pixls.us/</a> and making sure that we have the full raw sample set for your camera under <span class="caps">CC0</span>&nbsp;license!</strong></p> <p>and the changelog as compared to 2.2.1 can be found&nbsp;below.</p> <h2>New&nbsp;features:</h2> <ul> <li>color look up table module: include preset for helmholtz/kohlrausch&nbsp;monochrome</li> <li>Lens module: re-enable&nbsp;tiling</li> <li>Darkroom: fix some artefacts in the preview image (not the main&nbsp;view!)</li> <li><span class="caps">DNG</span> decoder: support reading one more white balance encoding&nbsp;method</li> <li>Mac: display an error when too old <span class="caps">OS</span> version is&nbsp;detected</li> <li>Some documentation and tooltips&nbsp;updates</li> </ul> <h2>Bugfixes:</h2> <ul> <li>Main view no longer grabs focus when mouse enters it. Prevents accidental catastrophic image rating&nbsp;loss.</li> <li><span class="caps">OSX</span>: fix bauhaus slider popup keyboard&nbsp;input</li> <li>Don&#8217;t write all <span class="caps">XMP</span> when detaching&nbsp;tag</li> <li><span class="caps">OSX</span>: don&#8217;t do <span class="caps">PPD</span> autodetection, gtk did their thing&nbsp;again.</li> <li>Don&#8217;t show database lock popup when <span class="caps">DBUS</span> is used to start&nbsp;darktable</li> <li>Actually delete duplicate&#8217;s <span class="caps">XMP</span> when deleting duplicated&nbsp;image</li> <li>Ignore <span class="caps">UTF</span>-8 <span class="caps">BOM</span> in <span class="caps">GPX</span>&nbsp;files</li> <li>Fix import of <span class="caps">LR</span> custom&nbsp;tone-curve</li> <li>Overwrite Xmp rating from raw when&nbsp;exporting</li> <li>Some memory leak&nbsp;fixes</li> <li>Lua: sync XMPs after some tag&nbsp;manipulations</li> <li>Explicitly link against math&nbsp;library</li> </ul> <h2>Base&nbsp;Support:</h2> <ul> <li>Canon PowerShot <span class="caps">SX40</span> <span class="caps">HS</span>&nbsp;(dng)</li> <li>Fujifilm X-<span class="caps">E2S</span></li> <li>Leica D-<span class="caps">LUX</span> (Typ 109) (4:3, 3:2, 16:9,&nbsp;1:1)</li> <li>Leica X2&nbsp;(dng)</li> <li>Nikon <span class="caps">LS</span>-5000&nbsp;(dng)</li> <li>Nokia Lumia 1020&nbsp;(dng)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GF6</span> (16:9, 3:2,&nbsp;1:1)</li> <li>Pentax K-5&nbsp;(dng)</li> <li>Pentax K-r&nbsp;(dng)</li> <li>Pentax <span class="caps">K10D</span>&nbsp;(dng)</li> <li>Sony <span class="caps">ILCE</span>-6500</li> </ul> <h2>Noise&nbsp;Profiles:</h2> <ul> <li>Fujifilm&nbsp;X-M1</li> <li>Leica&nbsp;X2</li> <li>Nikon Coolpix&nbsp;A</li> <li>Panasonic <span class="caps">DMC</span>-G8</li> <li>Panasonic <span class="caps">DMC</span>-G80</li> <li>Panasonic <span class="caps">DMC</span>-G81</li> <li>Panasonic <span class="caps">DMC</span>-G85</li> </ul><img src="https://www.darktable.org/2017/01/darktable-2-2-2-released/pygmy_chameleon_wide.jpg" class="hidden-lede">houzMon, 30 Jan 2017 09:49:52 +0000tag:www.darktable.org,2017-01-30:2017/01/darktable-2-2-2-released/announcementdarktable releaserawsamples.ch replacementhttps://www.darktable.org/2017/01/rawsamples-ch-replacement/<p><a href="https://rawsamples.ch">Rawsamples.ch</a> is a website with the goal&nbsp;to:</p> <blockquote> <p>…provide <span class="caps">RAW</span>-Files of nearly all available Digitalcameras mainly to software-developers.&nbsp;[sic]</p> </blockquote> <p>It was created by Jakob Rohrbach and had been running since March 2007, having amassed over 360 raw files in that time from various manufacturers and cameras. Unfortunately, back in 2016 the site was hit with an <span class="caps">SQL</span>-injection that ended up corrupting the database for the Joomla install that hosted the site. To compound the pain, there were no database backups …&nbsp;:(</p> <p>Luckily, <a href="https://www.flickr.com/photos/andabata">Kees Guequierre</a> (<a href="https://dtstyle.net/">dtstyle.net</a>) decided to build a site where contributors could upload sample raw files from their cameras for everyone to use&nbsp;– particularly developers. We downloaded the archive of the raw files kept at rawsamples.ch to include with files that we already had. The biggest difference between the files from <a href="https://rawsamples.ch">rawsamples.ch</a> and <a href="https://raw.pixls.us">raw.pixls.us</a> is the licensing. The existing files, and the preference for any new contributions, are licensed as <a href="https://creativecommons.org/publicdomain/zero/1.0/">Creative Commons Zero&nbsp;– Public Domain</a> (as opposed to <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/"><span class="caps">CC</span>-<span class="caps">BY</span>-<span class="caps">NC</span>-<span class="caps">SA</span></a>).</p> <p>After some hacking, with input and guidance from darktable developer <a href="https://github.com/LebedevRI">Roman Lebedev</a>, the site was finally&nbsp;ready.</p> <h2>raw.pixls.us</h2> <p>The site is now live at <a href="https://raw.pixls.us">https://raw.pixls.us</a>.</p> <p>You can <a href="https://raw.pixls.us#repo">look at the submitted files</a> and search/sort through all of them (and download the ones you&nbsp;want).</p> <p>In addition to browsing the archive, it would be fantastic if you&#8217;re able to supplement the database by upload sample images. Many of the images from the rawsamples.ch archive are licensed <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/"><span class="caps">CC</span>-<span class="caps">BY</span>-<span class="caps">NC</span>-<span class="caps">SA</span></a>, but we&#8217;d rather have the files licensed <a href="https://creativecommons.org/publicdomain/zero/1.0/"><span class="caps">CC0</span></a>. <span class="caps">CC0</span> is preferable to <span class="caps">CC</span>-<span class="caps">BY</span>-<span class="caps">NC</span>-<span class="caps">SA</span> because if the sample raw files are separated from the database, they can safely be redistributed without attribution (attribution is required by <span class="caps">CC</span>-<span class="caps">BY</span>-<span class="caps">NC</span>-<span class="caps">SA</span>). So if you have a camera that is already in the list with the more restrictive Creative Commons license, then please consider uploading a replacement for&nbsp;us!</p> <p><strong>We are looking for shots that&nbsp;are:</strong></p> <ul> <li>Lens mounted on the&nbsp;camera</li> <li>Lens cap&nbsp;off</li> <li>In&nbsp;focus</li> <li>With normal exposure, not underexposed and not&nbsp;overexposed</li> <li>Landscape&nbsp;orientation</li> <li>Licensed under the <a href="https://creativecommons.org/publicdomain/zero/1.0/">Creative Commons&nbsp;Zero</a></li> </ul> <p><strong>We are <em>not</em> looking&nbsp;for:</strong></p> <ul> <li>Series of images with different <span class="caps">ISO</span>, aperture, shutter, wb, or lighting (Even if it&#8217;s a shot of a color&nbsp;target)</li> <li><span class="caps">DNG</span> files created with Adobe <span class="caps">DNG</span>&nbsp;Converter</li> </ul> <p>Please take a moment and see if you can provide samples to help the&nbsp;developers!</p> <p>This post has been written in collaboration with <a href="https://pixls.us/">pixls.us</a></p><img src="https://www.darktable.org/2017/01/rawsamples-ch-replacement/snowice-andabata.jpg" class="hidden-lede">LebedevRIThu, 12 Jan 2017 17:57:27 +0000tag:www.darktable.org,2017-01-12:2017/01/rawsamples-ch-replacement/announcementblogcommunity'@andabata''@lebedevri''@pixlsus'fossphotographyrawsamplesdarktable 2.2.1 releasedhttps://www.darktable.org/2017/01/darktable-2-2-1-released/<p>we&#8217;re proud to announce the first bugfix release for the 2.2 series of darktable,&nbsp;2.2.1!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.2.1">https://github.com/darktable-org/darktable/releases/tag/release-2.2.1</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksum&nbsp;is:</p> <div class="highlight"><pre>$ sha256sum darktable-2.2.1.tar.xz da843190f08e02df19ccbc02b9d1bef6bd242b81499494c7da2cccdc520e24fc darktable-2.2.1.tar.xz $ sha256sum darktable-2.2.1.3.dmg 9a86ed2cff453dfc0c979e802d5e467bc4974417ca462d6cbea1c3aa693b08de darktable-2.2.1.3.dmg </pre></div> <p>and the changelog as compared to 2.2.0 can be found&nbsp;below.</p> <h2>New&nbsp;features:</h2> <ul> <li>Show a dialog window that tells when locking the database/library&nbsp;failed</li> <li>Ask before deleting history stack from&nbsp;lightable.</li> <li>preferences: make features that are not available (greyed out) more&nbsp;obvious</li> </ul> <h2>Bugfixes:</h2> <ul> <li>Always cleanup undo list before entering darkroom view. Fixes crash when using undo after re-entering&nbsp;darkroom</li> <li>Darkroom: properly delete module instances. Fixes rare crashes after deleting second instance of&nbsp;module.</li> <li>Levels and tonecurve modules now also use 256&nbsp;bins.</li> <li>Rawoverexposed module: fix visualization when a camera custom white balance preset is&nbsp;used</li> </ul> <h2>Base&nbsp;Support:</h2> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;M5</li> </ul><img src="https://www.darktable.org/2017/01/darktable-2-2-1-released/owehar.png" class="hidden-lede">houzMon, 02 Jan 2017 16:56:56 +0000tag:www.darktable.org,2017-01-02:2017/01/darktable-2-2-1-released/announcementdarktable releasedarktable 2.2.0 releasedhttps://www.darktable.org/2016/12/darktable-2-2-0-released/<p>we&#8217;re proud to finally announce the new feature release of darktable,&nbsp;2.2.0!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.2.0">https://github.com/darktable-org/darktable/releases/tag/release-2.2.0</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the sha256 checksum&nbsp;is:</p> <div class="highlight"><pre>3eca193831faae58200bb1cb6ef29e658bce43a81706b54420953a7c33d79377 darktable-2.2.0.tar.xz 75d5f68fec755fefe6ccc82761d379b399f9fba9581c0f4c2173f6c147a0109f darktable-2.2.0.dmg </pre></div> <p>and the changelog as compared to 2.0.0 can be found&nbsp;below.</p> <p>when updating from the currently stable 2.0.x series, please bear in mind that your edits will be preserved during this process, but it will not be possible to downgrade from 2.2 to 2.0.x any&nbsp;more.</p> <ul> <li>Well over 2k commits since&nbsp;2.0.0</li> <li>298 pull requests&nbsp;handled</li> <li>360+ issues&nbsp;closed</li> </ul> <p>Gource visualization of git log from 2.0.0 to right before&nbsp;2.2.0:</p> <div style="text-align: center"> <iframe width="650" height="400" src="https://www.youtube-nocookie.com/embed/E2UU5x7sS3g?rel=0" frameborder="0" gesture="media" allow="encrypted-media" allowfullscreen></iframe> </div> <h2>The Big&nbsp;Ones:</h2> <ul> <li>Add new automatic perspective correction module (&#8220;<a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/"><span>A new module for automatic perspective correction</span></a>&#8220;)</li> <li>Liquify tool for all your fancy pixel moving (&#8220;<a href="https://www.darktable.org/2016/04/liquify-liquify/"><span>Liquify, liquify?</span></a>&#8220;)</li> <li>A new image module to use a Color Look Up Table (<span class="caps">CLUT</span>) to change colors in the image (&#8220;<a href="https://www.darktable.org/2016/05/colour-manipulation-with-the-colour-checker-lut-module/"><span>colour manipulation with the colour checker lut module</span></a>&#8220;)</li> <li>In Highlight reconstruction module, the mode LCh reconstruction was completely rewritten, and is no longer&nbsp;useless!</li> <li>A new tool, darktable-chart, that goes along with the <span class="caps">CLUT</span> module, to create styles for the&nbsp;latter</li> <li>Exposure fusion in the basecurve module to lower the dynamic range of images (&#8220;<a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/"><span>compressing dynamic range with exposure fusion</span></a>&#8220;)</li> <li>Add new raw overexposure indication (&#8220;<a href="https://www.darktable.org/2016/10/raw-overexposed/"><span>Visualizing the raw (sensor) highlight clipping</span></a>&#8220;)</li> <li>Darkroom: the preview (in top-left corner) is now no longer pre-demosaiced (but just downscaled without demosaicing it at the same time), thus the preview, color picker, histogram show the proper results, especially when there is highlight&nbsp;clipping.</li> </ul> <h2>Quite Interesting&nbsp;Changes:</h2> <ul> <li>Split the database into a library containing images and a general one with styles, presets and tags. That allows having access to those when for example running with a :memory:&nbsp;library</li> <li>Support running on platforms other than x86 (64bit little-endian, currently <span class="caps">ARM64</span> only) (&#8220;<a href="https://www.darktable.org/2016/04/running-on-non-x86-platforms/"><span>Running on non-x86 platforms</span></a>&#8220;)</li> <li>darktable is now happy to use smaller stack sizes (no less than 256Kb). That should allow using musl&nbsp;libc</li> <li>Allow darktable-cli to work on&nbsp;directories</li> <li>Allow to import/export tags from Lightroom keyword&nbsp;files</li> <li>Allow using modifier keys to modify the step for sliders and curves. Defaults: Ctrl&nbsp;– x0.1; Shift&nbsp;–&nbsp;x10</li> <li>Allow using the [keyboard] cursor keys to interact with sliders, comboboxes and curves; modifiers apply&nbsp;too</li> <li>Support presets in “more modules” so you can quickly switch between your favorite sets of modules shown in the <span class="caps">GUI</span></li> <li>Add range operator and date compare to the collection&nbsp;module</li> <li>Add basic undo/redo support for the darkroom (masks are not accounted&nbsp;!)</li> <li>Support the Exif date and time when importing photos from&nbsp;camera</li> <li>Input color profile module, when profile is just matrix (and linear curve), is 1/3 faster&nbsp;now.</li> <li>Rudimentary <span class="caps">CYGM</span> and <span class="caps">RGBE</span> color filter array&nbsp;support</li> <li>Nicer web gallery exporter &#8212; now touch&nbsp;friendly!</li> <li>OpenCL implementation of <span class="caps">VNG</span>/<span class="caps">VNG4</span> demosaicing&nbsp;methods</li> <li>OpenCL implementation of Markesteijn demosaicing method for X-Trans&nbsp;sensors</li> <li>Filter-out some useless <span class="caps">EXIF</span> tags when exporting, helps keep <span class="caps">EXIF</span> size under&nbsp;~64Kb</li> <li>OpenCL: properly discard <span class="caps">CPU</span>-based OpenCL devices. Fixes crashes on startup with some partially-working OpenCL implementations like&nbsp;pocl.</li> <li>darktable-cli: do not even try to open display, we don&#8217;t need&nbsp;it.</li> <li>Hotpixels module: make it actually work for&nbsp;X-Trans</li> <li>Cmstest tool should now produce correct output in more cases, especially in multi-monitor&nbsp;setups.</li> <li>Darkroom histogram now uses more bins: use all 8-bit of the output, not just&nbsp;6.</li> </ul> <h2>Some More Changes, Probably Not&nbsp;Complete:</h2> <ul> <li>Drop darktable-viewer tool in favor of slideshow&nbsp;view</li> <li>Remove gnome keyring password backend, use libsecret&nbsp;instead</li> <li>When using libsecret to store passwords then put them into the correct&nbsp;collection</li> <li>Hint via window manager when import/export is&nbsp;done</li> <li>Quick tagging searches anywhere, not just at the start of&nbsp;tags</li> <li>The sidecar <span class="caps">XMP</span> schema for history entries is now more consistent and less error&nbsp;prone</li> <li>Rawspeed: fixes for building with libjpeg (as opposed to&nbsp;libjpeg-turbo)</li> <li>Give the choice of equidistant and proportional feathering when using elliptical masks&nbsp;(shift+click)</li> <li>Add geolocation to watermark&nbsp;variables</li> <li>Fix some crashes with missing configured <span class="caps">ICC</span>&nbsp;profiles</li> <li>Support greyscale color&nbsp;profiles</li> <li>Lens correction module: switched back to normal Lensfun search mode for lens&nbsp;lookups.</li> <li>Make sure that proper signal handlers are still set after <span class="caps">GM</span>&nbsp;initialization&#8230;</li> <li><span class="caps">OSX</span>: add trash support (thanks to Michael Kefeder for initial&nbsp;patch)</li> <li>Attach Xmp data to <span class="caps">EXR</span>&nbsp;files</li> <li>Several fixes for HighDPI&nbsp;displays</li> <li>Use Pango for text layout, thus supporting <span class="caps">RTL</span>&nbsp;languages</li> <li>Feathering size in some mask shapes can be set with&nbsp;shift+scroll</li> <li>Many bugs got fixed and some memory leaks&nbsp;plugged</li> <li>The usermanual was updated to reflect the changes in the 2.2&nbsp;series</li> <li>Tone curve: mode “automatic in <span class="caps">XYZ</span>” mode for “scale&nbsp;chroma”</li> <li>Some compilation&nbsp;fixes</li> </ul> <h2>Lua specific&nbsp;changes:</h2> <ul> <li> <p>All asynchronous calls have been&nbsp;rewritten</p> <ul> <li>the darktable-specific implementation of yield was&nbsp;removed</li> <li>darktable.control.execute allows to execute some shell commands without blocking&nbsp;Lua</li> <li>darktable.control.read allows to wait for a file to be readable without blocking&nbsp;Lua</li> <li>darktable.control.sleep allows to pause the Lua execution without blocking other Lua&nbsp;threads</li> </ul> </li> <li> <p>darktable.gui.libs.metadata_view.register_info allows to add new field to the metadata widget in the darkroom&nbsp;view</p> </li> <li>The TextView widget can now be created in Lua, allowing input of large chunks of&nbsp;text</li> <li>It is now possible to use a custom widget in the Lua preference window to configure a&nbsp;preference</li> <li>It is now possible to set the precision and step on slider&nbsp;widgets</li> </ul> <h2>Changed&nbsp;Dependencies:</h2> <ul> <li>CMake 3.0 is now&nbsp;required.</li> <li>In order to compile darktable you now need at least gcc-4.7+/clang-3.3+, but better use&nbsp;gcc-5.0+</li> <li>Drop support for <span class="caps">OS</span> X&nbsp;10.6</li> <li>Bump required libexiv2 version up to&nbsp;0.24</li> <li>Bump <span class="caps">GTK</span>+ requirement to gtk-3.14. (because even Debian/stable has&nbsp;it)</li> <li>Bump GLib requirement to&nbsp;glib-2.40.</li> <li>Port to&nbsp;OpenJPEG2</li> <li><span class="caps">SDL</span> is no longer&nbsp;needed.</li> <li>Remove gnome keyring password&nbsp;backend</li> </ul> <h2>Base&nbsp;Support:</h2> <ul> <li>Canon <span class="caps">EOS</span>-1D X Mark <span class="caps">II</span></li> <li>Canon <span class="caps">EOS</span> 5D Mark <span class="caps">IV</span></li> <li>Canon <span class="caps">EOS</span>&nbsp;80D</li> <li>Canon <span class="caps">EOS</span>&nbsp;1300D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X80</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6</li> <li>Canon <span class="caps">EOS</span>&nbsp;M10</li> <li>Canon PowerShot A720 <span class="caps">IS</span>&nbsp;(dng)</li> <li>Canon PowerShot G7 X Mark <span class="caps">II</span></li> <li>Canon PowerShot G9&nbsp;X</li> <li>Canon PowerShot <span class="caps">SD450</span>&nbsp;(dng)</li> <li>Canon PowerShot <span class="caps">SX130</span> <span class="caps">IS</span>&nbsp;(dng)</li> <li>Canon PowerShot <span class="caps">SX260</span> <span class="caps">HS</span>&nbsp;(dng)</li> <li>Canon PowerShot <span class="caps">SX510</span> <span class="caps">HS</span>&nbsp;(dng)</li> <li>Fujifilm FinePix <span class="caps">S100FS</span></li> <li>Fujifilm&nbsp;X-Pro2</li> <li>Fujifilm&nbsp;X-T2</li> <li>Fujifilm&nbsp;X70</li> <li>Fujifilm <span class="caps">XQ2</span></li> <li><span class="caps">GITUP</span> <span class="caps">GIT2</span> (chdk-a,&nbsp;chdk-b)</li> <li>(most nikon cameras here are just fixes, and they were supported before&nbsp;already)</li> <li>Nikon 1 <span class="caps">AW1</span>&nbsp;(12bit-compressed)</li> <li>Nikon 1 J1&nbsp;(12bit-compressed)</li> <li>Nikon 1 J2&nbsp;(12bit-compressed)</li> <li>Nikon 1 J3&nbsp;(12bit-compressed)</li> <li>Nikon 1 J4&nbsp;(12bit-compressed)</li> <li>Nikon 1 J5 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon 1 S1&nbsp;(12bit-compressed)</li> <li>Nikon 1 S2&nbsp;(12bit-compressed)</li> <li>Nikon 1 V1&nbsp;(12bit-compressed)</li> <li>Nikon 1 V2&nbsp;(12bit-compressed)</li> <li>Nikon 1 V3 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon Coolpix A&nbsp;(14bit-compressed)</li> <li>Nikon Coolpix P330&nbsp;(12bit-compressed)</li> <li>Nikon Coolpix P340 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon Coolpix P6000&nbsp;(12bit-uncompressed)</li> <li>Nikon Coolpix P7000&nbsp;(12bit-uncompressed)</li> <li>Nikon Coolpix P7100&nbsp;(12bit-uncompressed)</li> <li>Nikon Coolpix P7700&nbsp;(12bit-compressed)</li> <li>Nikon Coolpix P7800&nbsp;(12bit-compressed)</li> <li>Nikon D1&nbsp;(12bit-uncompressed)</li> <li>Nikon D100 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D1H</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D1X</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D200 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D2H</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D2Hs (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D2X</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3 (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D300 (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3000&nbsp;(12bit-compressed)</li> <li>Nikon <span class="caps">D300S</span> (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3100&nbsp;(12bit-compressed)</li> <li>Nikon D3200&nbsp;(12bit-compressed)</li> <li>Nikon D3300 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3400&nbsp;(12bit-compressed)</li> <li>Nikon <span class="caps">D3S</span> (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D3X</span> (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D4 (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D40 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D40X</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D4S</span>&nbsp;(14bit-compressed)</li> <li>Nikon D5 (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D50&nbsp;(12bit-compressed)</li> <li>Nikon D500 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D5000 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D5100 (14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D5200&nbsp;(14bit-compressed)</li> <li>Nikon D5300 (12bit-uncompressed, 14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D5500 (12bit-uncompressed, 14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D60 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D600 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D610 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D70&nbsp;(12bit-compressed)</li> <li>Nikon D700 (12bit-compressed, 12bit-uncompressed,&nbsp;14bit-compressed)</li> <li>Nikon D7000 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D70s&nbsp;(12bit-compressed)</li> <li>Nikon D7100 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D80 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D800 (14bit-compressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D800E</span> (14bit-compressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D90 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon Df (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon E5400&nbsp;(12bit-uncompressed)</li> <li>Nikon E5700&nbsp;(12bit-uncompressed)</li> <li>Olympus <span class="caps">PEN</span>-F</li> <li>OnePlus One&nbsp;(dng)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ150</span> (1:1,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ18</span> (16:9,&nbsp;3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ300</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ50</span> (16:9,&nbsp;3:2)</li> <li>Panasonic <span class="caps">DMC</span>-G8&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-G80&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-G81&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-G85&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX80</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX85</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX3</span>&nbsp;(1:1)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX10</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX15</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX9</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ100</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ101</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ110</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS110</span>&nbsp;(3:2)</li> <li>Pentax&nbsp;K-1</li> <li>Pentax&nbsp;K-70</li> <li>Samsung <span class="caps">GX20</span>&nbsp;(dng)</li> <li>Sony <span class="caps">DSC</span>-F828</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M5</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M3</span></li> <li>Sony <span class="caps">DSLR</span>-A380</li> <li>Sony <span class="caps">ILCA</span>-68</li> <li>Sony <span class="caps">ILCA</span>-99M2</li> <li>Sony <span class="caps">ILCE</span>-6300</li> </ul> <p>We were unable to bring back these 2 cameras, because we have no&nbsp;samples.</p> <p>If anyone reading this owns such a camera, please do consider providing&nbsp;samples.</p> <ul> <li>Nikon&nbsp;E8400</li> <li>Nikon&nbsp;E8800</li> </ul> <h2>White Balance&nbsp;Presets:</h2> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;1200D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X70</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T5</li> <li>Canon <span class="caps">EOS</span>&nbsp;1300D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X80</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6</li> <li>Canon <span class="caps">EOS</span> 5D Mark <span class="caps">IV</span></li> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span></li> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span>&nbsp;R</li> <li>Canon <span class="caps">EOS</span>&nbsp;750D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X8i</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6i</li> <li>Canon <span class="caps">EOS</span>&nbsp;760D</li> <li>Canon <span class="caps">EOS</span>&nbsp;8000D</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6s</li> <li>Canon <span class="caps">EOS</span>&nbsp;80D</li> <li>Canon <span class="caps">EOS</span>&nbsp;M10</li> <li>Canon <span class="caps">EOS</span>-1D X Mark <span class="caps">II</span></li> <li>Canon PowerShot G7 X Mark <span class="caps">II</span></li> <li>Fujifilm&nbsp;X-Pro2</li> <li>Fujifilm&nbsp;X-T2</li> <li>Fujifilm&nbsp;X-T10</li> <li>Fujifilm <span class="caps">X100T</span></li> <li>Fujifilm&nbsp;X20</li> <li>Fujifilm&nbsp;X70</li> <li>Nikon 1&nbsp;V3</li> <li>Nikon&nbsp;D5500</li> <li>Olympus <span class="caps">PEN</span>-F</li> <li>Pentax&nbsp;K-1</li> <li>Pentax&nbsp;K-70</li> <li>Pentax&nbsp;K-S1</li> <li>Pentax&nbsp;K-S2</li> <li>Sony <span class="caps">ILCA</span>-68</li> <li>Sony <span class="caps">ILCE</span>-6300</li> </ul> <h2>Noise&nbsp;Profiles:</h2> <ul> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span>&nbsp;R</li> <li>Canon <span class="caps">EOS</span>&nbsp;80D</li> <li>Canon PowerShot&nbsp;G15</li> <li>Canon PowerShot&nbsp;S100</li> <li>Canon PowerShot <span class="caps">SX100</span> <span class="caps">IS</span></li> <li>Canon PowerShot <span class="caps">SX50</span> <span class="caps">HS</span></li> <li>Fujifilm&nbsp;X-T10</li> <li>Fujifilm&nbsp;X-T2</li> <li>Fujifilm <span class="caps">X100T</span></li> <li>Fujifilm&nbsp;X20</li> <li>Fujifilm&nbsp;X70</li> <li>Nikon 1&nbsp;V3</li> <li>Nikon&nbsp;D5</li> <li>Nikon&nbsp;D5500</li> <li>Olympus E-<span class="caps">PL6</span></li> <li>Olympus E-<span class="caps">PM2</span></li> <li>Olympus <span class="caps">PEN</span>-F</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ1000</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GF7</span></li> <li>Pentax&nbsp;K-1</li> <li>Pentax&nbsp;K-S2</li> <li>Ricoh <span class="caps">GR</span></li> <li>Sony <span class="caps">DSLR</span>-A900</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10</span></li> <li>Sony <span class="caps">ILCE</span>-6300</li> <li>Sony <span class="caps">NEX</span>-5</li> <li>Sony <span class="caps">SLT</span>-A37</li> </ul> <h2>New&nbsp;Translations:</h2> <ul> <li>Hebrew</li> <li>Slovenian</li> </ul> <h2>Updated&nbsp;Translations:</h2> <ul> <li>Catalan</li> <li>Czech</li> <li>Danish</li> <li>Dutch</li> <li>French</li> <li>German</li> <li>Hungarian</li> <li>Italian</li> <li>Polish</li> <li>Russian</li> <li>Slovak</li> <li>Spanish</li> <li>Swedish</li> <li>Ukrainian</li> </ul> <p>We wish you a merry Christmas, happy Hanukkah or just a good time. Enjoy taking photos and developing them with&nbsp;darktable.</p><img src="https://www.darktable.org/2016/12/darktable-2-2-0-released/bee_small.jpg" class="hidden-lede">houzSat, 24 Dec 2016 16:48:13 +0000tag:www.darktable.org,2016-12-24:2016/12/darktable-2-2-0-released/announcementdarktable releasedarktable 2.2.0rc3 releasedhttps://www.darktable.org/2016/12/darktable-2-2-0rc3-released/<p>we&#8217;re proud to announce the fourth release candidate of darktable 2.2.0, with some fixes over the previous release&nbsp;candidate.</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.2.0rc3">https://github.com/darktable-org/darktable/releases/tag/release-2.2.0rc3</a>.</p> <p>as always, please don&#8217;t use the tarball autogenerated by github, but only our .tar.xz with the following&nbsp;sha256sum:</p> <div class="highlight"><pre>f7b9e8f5f56b2a52a4fa51e085b8aefe016ab08daf7b4a6ebf3af3464b1d2c29 darktable-2.2.0~rc3.tar.xz 86293aded568903eba3b225d680ff06bc29ea2ed678de05a0fd568aed93a0587 darktable-2.2.0.rc3.3.g9af0d4fcb.dmg </pre></div> <p>the changelog vs. the stable 2.0.x series is&nbsp;below:</p> <ul> <li>Well over 2k commits since&nbsp;2.0.0</li> </ul> <h2>The Big&nbsp;Ones:</h2> <ul> <li>Add new automatic perspective correction module (&#8220;<a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/"><span>A new module for automatic perspective correction</span></a>&#8220;)</li> <li>Liquify tool for all your fancy pixel moving (&#8220;<a href="https://www.darktable.org/2016/04/liquify-liquify/"><span>Liquify, liquify?</span></a>&#8220;)</li> <li>A new image module to use a Color Look Up Table (<span class="caps">CLUT</span>) to change colors in the image (&#8220;<a href="https://www.darktable.org/2016/05/colour-manipulation-with-the-colour-checker-lut-module/"><span>colour manipulation with the colour checker lut module</span></a>&#8220;)</li> <li>In Highlight reconstruction module, the mode LCh reconstruction was completely rewritten, and is no longer&nbsp;useless!</li> <li>A new tool, darktable-chart, that goes along with the <span class="caps">CLUT</span> module, to create styles for the&nbsp;latter</li> <li>Exposure fusion in the basecurve module to lower the dynamic range of images (&#8220;<a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/"><span>compressing dynamic range with exposure fusion</span></a>&#8220;)</li> <li>Add new raw overexposure indication (&#8220;<a href="https://www.darktable.org/2016/10/raw-overexposed/"><span>Visualizing the raw (sensor) highlight clipping</span></a>&#8220;)</li> <li>Darkroom: the preview (in top-left corner) is now no longer pre-demosaiced (but just downscaled without demosaicing it at the same time), thus the preview, color picker, histogram show the proper results, especially when there is highlight&nbsp;clipping.</li> </ul> <h2>Quite Interesting&nbsp;Changes:</h2> <ul> <li>Split the database into a library containing images and a general one with styles, presets and tags. That allows having access to those when for example running with a :memory:&nbsp;library</li> <li>Support running on platforms other than x86 (64bit little-endian, currently <span class="caps">ARM64</span> only) (&#8220;<a href="https://www.darktable.org/2016/04/running-on-non-x86-platforms/"><span>Running on non-x86 platforms</span></a>&#8220;)</li> <li>darktable is now happy to use smaller stack sizes (no less than 256Kb). That should allow using musl&nbsp;libc</li> <li>Allow darktable-cli to work on&nbsp;directories</li> <li>Allow to import/export tags from Lightroom keyword&nbsp;files</li> <li>Allow using modifier keys to modify the step for sliders and curves. Defaults: Ctrl&nbsp;– x0.1; Shift&nbsp;–&nbsp;x10</li> <li>Allow using the [keyboard] cursor keys to interact with sliders, comboboxes and curves; modifiers apply&nbsp;too</li> <li>Support presets in &#8220;more modules&#8221; so you can quickly switch between your favorite sets of modules shown in the <span class="caps">GUI</span></li> <li>Add range operator and date compare to the collection&nbsp;module</li> <li>Add basic undo/redo support for the darkroom (masks are not accounted&nbsp;!)</li> <li>Support the Exif date and time when importing photos from&nbsp;camera</li> <li>Input color profile module, when profile is just matrix (and linear curve), is 1/3 faster&nbsp;now.</li> <li>Rudimentary <span class="caps">CYGM</span> and <span class="caps">RGBE</span> color filter array&nbsp;support</li> <li>Nicer web gallery exporter &#8212; now touch&nbsp;friendly!</li> <li>OpenCL implementation of <span class="caps">VNG</span>/<span class="caps">VNG4</span> demosaicing&nbsp;methods</li> <li>OpenCL implementation of Markesteijn demosaicing method for X-Trans&nbsp;sensors</li> <li>Filter-out some useless <span class="caps">EXIF</span> tags when exporting, helps keep <span class="caps">EXIF</span> size under&nbsp;~64Kb</li> <li>OpenCL: properly discard <span class="caps">CPU</span>-based OpenCL devices. Fixes crashes on startup with some partially-working OpenCL implementations like&nbsp;pocl.</li> <li>darktable-cli: do not even try to open display, we don&#8217;t need&nbsp;it.</li> <li>Hotpixels module: make it actually work for&nbsp;X-Trans</li> <li>Cmstest tool should now produce correct output in more cases, especially in multi-monitor&nbsp;setups.</li> <li>Darkroom histogram now uses more bins: use all 8-bit of the output, not just&nbsp;6.</li> </ul> <h2>Some More Changes, Probably Not&nbsp;Complete:</h2> <ul> <li>Drop darktable-viewer tool in favor of slideshow&nbsp;view</li> <li>Remove gnome keyring password backend, use libsecret&nbsp;instead</li> <li>When using libsecret to store passwords then put them into the correct&nbsp;collection</li> <li>Hint via window manager when import/export is&nbsp;done</li> <li>Quick tagging searches anywhere, not just at the start of&nbsp;tags</li> <li>The sidecar <span class="caps">XMP</span> schema for history entries is now more consistent and less error&nbsp;prone</li> <li>Rawspeed: fixes for building with libjpeg (as opposed to&nbsp;libjpeg-turbo)</li> <li>Give the choice of equidistant and proportional feathering when using elliptical masks&nbsp;(shift+click)</li> <li>Add geolocation to watermark&nbsp;variables</li> <li>Fix some crashes with missing configured <span class="caps">ICC</span>&nbsp;profiles</li> <li>Support greyscale color&nbsp;profiles</li> <li>Make sure that proper signal handlers are still set after <span class="caps">GM</span>&nbsp;initialization&#8230;</li> <li><span class="caps">OSX</span>: add trash support (thanks to Michael Kefeder for initial&nbsp;patch)</li> <li>Attach Xmp data to <span class="caps">EXR</span>&nbsp;files</li> <li>Several fixes for HighDPI&nbsp;displays</li> <li>Use Pango for text layout, thus supporting <span class="caps">RTL</span>&nbsp;languages</li> <li>Feathering size in some mask shapes can be set with&nbsp;shift+scroll</li> <li>Many bugs got fixed and some memory leaks&nbsp;plugged</li> <li>The usermanual was updated to reflect the changes in the 2.2&nbsp;series</li> <li>Tone curve: mode &#8220;automatic in <span class="caps">XYZ</span>&#8221; mode for &#8220;scale&nbsp;chroma&#8221;</li> <li>Some compilation&nbsp;fixes</li> </ul> <h2>Lua specific&nbsp;changes:</h2> <ul> <li>All asynchronous calls have been&nbsp;rewritten</li> <li>The darktable-specific implementation of <code>yield</code> was&nbsp;removed</li> <li><code>darktable.control.execute</code> allows to execute some shell commands without blocking&nbsp;Lua</li> <li><code>darktable.control.read</code> allows to wait for a file to be readable without blocking&nbsp;Lua</li> <li><code>darktable.control.sleep</code> allows to pause the Lua execution without blocking other Lua&nbsp;threads</li> <li><code>darktable.gui.libs.metadata_view.register_info</code> allows to add new field to the metadata widget in the darkroom&nbsp;view</li> <li>The TextView widget can now be created in Lua, allowing input of large chunks of&nbsp;text</li> <li>It is now possible to use a custom widget in the Lua preference window to configure a&nbsp;preference</li> <li>It is now possible to set the precision and step on slider&nbsp;widgets</li> </ul> <h2>Changed&nbsp;Dependencies:</h2> <ul> <li>CMake 3.0 is now&nbsp;required.</li> <li>In order to compile darktable you now need at least gcc-4.7+/clang-3.3+, but better use&nbsp;gcc-5.0+</li> <li>Drop support for <span class="caps">OS</span> X&nbsp;10.6</li> <li>Bump required libexiv2 version up to&nbsp;0.24</li> <li>Bump <span class="caps">GTK</span>+ requirement to gtk-3.14. (because even debian stable has&nbsp;it)</li> <li>Bump GLib requirement to&nbsp;glib-2.40.</li> <li>Port to&nbsp;OpenJPEG2</li> <li><span class="caps">SDL</span> is no longer&nbsp;needed.</li> </ul> <h2>Base&nbsp;Support:</h2> <ul> <li>Canon <span class="caps">EOS</span>-1D X Mark <span class="caps">II</span></li> <li>Canon <span class="caps">EOS</span> 5D Mark <span class="caps">IV</span></li> <li>Canon <span class="caps">EOS</span>&nbsp;80D</li> <li>Canon <span class="caps">EOS</span>&nbsp;1300D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X80</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6</li> <li>Canon <span class="caps">EOS</span>&nbsp;M10</li> <li>Canon PowerShot A720 <span class="caps">IS</span>&nbsp;(dng)</li> <li>Canon PowerShot G7 X Mark <span class="caps">II</span></li> <li>Canon PowerShot G9&nbsp;X</li> <li>Canon PowerShot <span class="caps">SD450</span>&nbsp;(dng)</li> <li>Canon PowerShot <span class="caps">SX130</span> <span class="caps">IS</span>&nbsp;(dng)</li> <li>Canon PowerShot <span class="caps">SX260</span> <span class="caps">HS</span>&nbsp;(dng)</li> <li>Canon PowerShot <span class="caps">SX510</span> <span class="caps">HS</span>&nbsp;(dng)</li> <li>Fujifilm FinePix <span class="caps">S100FS</span></li> <li>Fujifilm&nbsp;X-Pro2</li> <li>Fujifilm&nbsp;X-T2</li> <li>Fujifilm&nbsp;X70</li> <li>Fujifilm <span class="caps">XQ2</span></li> <li><span class="caps">GITUP</span> <span class="caps">GIT2</span> (chdk-a,&nbsp;chdk-b)</li> <li>(most nikon cameras here are just fixes, and they were supported before&nbsp;already)</li> <li>Nikon 1 <span class="caps">AW1</span>&nbsp;(12bit-compressed)</li> <li>Nikon 1 J1&nbsp;(12bit-compressed)</li> <li>Nikon 1 J2&nbsp;(12bit-compressed)</li> <li>Nikon 1 J3&nbsp;(12bit-compressed)</li> <li>Nikon 1 J4&nbsp;(12bit-compressed)</li> <li>Nikon 1 J5 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon 1 S1&nbsp;(12bit-compressed)</li> <li>Nikon 1 S2&nbsp;(12bit-compressed)</li> <li>Nikon 1 V1&nbsp;(12bit-compressed)</li> <li>Nikon 1 V2&nbsp;(12bit-compressed)</li> <li>Nikon 1 V3 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon Coolpix A&nbsp;(14bit-compressed)</li> <li>Nikon Coolpix P330&nbsp;(12bit-compressed)</li> <li>Nikon Coolpix P340 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon Coolpix P6000&nbsp;(12bit-uncompressed)</li> <li>Nikon Coolpix P7000&nbsp;(12bit-uncompressed)</li> <li>Nikon Coolpix P7100&nbsp;(12bit-uncompressed)</li> <li>Nikon Coolpix P7700&nbsp;(12bit-compressed)</li> <li>Nikon Coolpix P7800&nbsp;(12bit-compressed)</li> <li>Nikon D1&nbsp;(12bit-uncompressed)</li> <li>Nikon D100 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D1H</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D1X</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D200 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D2H</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D2Hs (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D2X</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3 (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D300 (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3000&nbsp;(12bit-compressed)</li> <li>Nikon <span class="caps">D300S</span> (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3100&nbsp;(12bit-compressed)</li> <li>Nikon D3200&nbsp;(12bit-compressed)</li> <li>Nikon D3300 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3400&nbsp;(12bit-compressed)</li> <li>Nikon <span class="caps">D3S</span> (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D3X</span> (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D4 (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D40 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D40X</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D4S</span>&nbsp;(14bit-compressed)</li> <li>Nikon D5 (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D50&nbsp;(12bit-compressed)</li> <li>Nikon D500 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D5000 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D5100 (14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D5200&nbsp;(14bit-compressed)</li> <li>Nikon D5300 (12bit-uncompressed, 14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D5500 (12bit-uncompressed, 14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D60 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D600 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D610 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D70&nbsp;(12bit-compressed)</li> <li>Nikon D700 (12bit-compressed, 12bit-uncompressed,&nbsp;14bit-compressed)</li> <li>Nikon D7000 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D70s&nbsp;(12bit-compressed)</li> <li>Nikon D7100 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D80 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D800 (14bit-compressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D800E</span> (14bit-compressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D90 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon Df (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon E5400&nbsp;(12bit-uncompressed)</li> <li>Nikon E5700&nbsp;(12bit-uncompressed)</li> <li>Olympus <span class="caps">PEN</span>-F</li> <li>OnePlus One&nbsp;(dng)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ150</span> (1:1,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ18</span> (16:9,&nbsp;3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ300</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ50</span> (16:9,&nbsp;3:2)</li> <li>Panasonic <span class="caps">DMC</span>-G8&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-G80&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-G81&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-G85&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX80</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX85</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX3</span>&nbsp;(1:1)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX10</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX15</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX9</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ100</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ101</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">TZ110</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">ZS110</span>&nbsp;(3:2)</li> <li>Pentax&nbsp;K-1</li> <li>Pentax&nbsp;K-70</li> <li>Samsung <span class="caps">GX20</span>&nbsp;(dng)</li> <li>Sony <span class="caps">DSC</span>-F828</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX100M5</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M3</span></li> <li>Sony <span class="caps">DSLR</span>-A380</li> <li>Sony <span class="caps">ILCA</span>-68</li> <li>Sony <span class="caps">ILCA</span>-99M2</li> <li>Sony <span class="caps">ILCE</span>-6300</li> </ul> <p>We were unable to bring back these 2 cameras, because we have no&nbsp;samples.</p> <p>If anyone reading this owns such a camera, please do consider providing&nbsp;samples.</p> <ul> <li>Nikon&nbsp;E8400</li> <li>Nikon&nbsp;E8800</li> </ul> <h2>White Balance&nbsp;Presets:</h2> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;1200D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X70</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T5</li> <li>Canon <span class="caps">EOS</span>&nbsp;1300D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X80</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6</li> <li>Canon <span class="caps">EOS</span> 5D Mark <span class="caps">IV</span></li> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span></li> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span>&nbsp;R</li> <li>Canon <span class="caps">EOS</span>&nbsp;750D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X8i</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6i</li> <li>Canon <span class="caps">EOS</span>&nbsp;760D</li> <li>Canon <span class="caps">EOS</span>&nbsp;8000D</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6s</li> <li>Canon <span class="caps">EOS</span>&nbsp;80D</li> <li>Canon <span class="caps">EOS</span>&nbsp;M10</li> <li>Canon <span class="caps">EOS</span>-1D X Mark <span class="caps">II</span></li> <li>Canon PowerShot G7 X Mark <span class="caps">II</span></li> <li>Fujifilm&nbsp;X-Pro2</li> <li>Fujifilm&nbsp;X-T2</li> <li>Fujifilm&nbsp;X-T10</li> <li>Fujifilm <span class="caps">X100T</span></li> <li>Fujifilm&nbsp;X20</li> <li>Fujifilm&nbsp;X70</li> <li>Nikon 1&nbsp;V3</li> <li>Nikon&nbsp;D5500</li> <li>Olympus <span class="caps">PEN</span>-F</li> <li>Pentax&nbsp;K-1</li> <li>Pentax&nbsp;K-70</li> <li>Pentax&nbsp;K-S1</li> <li>Pentax&nbsp;K-S2</li> <li>Sony <span class="caps">ILCA</span>-68</li> <li>Sony <span class="caps">ILCE</span>-6300</li> </ul> <h2>Noise&nbsp;Profiles:</h2> <ul> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span>&nbsp;R</li> <li>Canon <span class="caps">EOS</span>&nbsp;80D</li> <li>Canon PowerShot&nbsp;G15</li> <li>Canon PowerShot&nbsp;S100</li> <li>Canon PowerShot <span class="caps">SX100</span> <span class="caps">IS</span></li> <li>Canon PowerShot <span class="caps">SX50</span> <span class="caps">HS</span></li> <li>Fujifilm&nbsp;X-T10</li> <li>Fujifilm&nbsp;X-T2</li> <li>Fujifilm <span class="caps">X100T</span></li> <li>Fujifilm&nbsp;X20</li> <li>Fujifilm&nbsp;X70</li> <li>Nikon 1&nbsp;V3</li> <li>Nikon&nbsp;D5</li> <li>Nikon&nbsp;D5500</li> <li>Olympus E-<span class="caps">PL6</span></li> <li>Olympus E-<span class="caps">PM2</span></li> <li>Olympus <span class="caps">PEN</span>-F</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ1000</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GF7</span></li> <li>Pentax&nbsp;K-1</li> <li>Pentax&nbsp;K-S2</li> <li>Ricoh <span class="caps">GR</span></li> <li>Sony <span class="caps">DSLR</span>-A900</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10</span></li> <li>Sony <span class="caps">ILCE</span>-6300</li> <li>Sony <span class="caps">NEX</span>-5</li> <li>Sony <span class="caps">SLT</span>-A37</li> </ul> <h2>New&nbsp;Translations:</h2> <ul> <li>Hebrew</li> <li>Slovenian</li> </ul> <h2>Updated&nbsp;Translations:</h2> <ul> <li>Catalan</li> <li>Czech</li> <li>Danish</li> <li>Dutch</li> <li>French</li> <li>German</li> <li>Hungarian</li> <li>Polish</li> <li>Russian</li> <li>Slovak</li> <li>Spanish</li> <li>Swedish</li> </ul><img src="https://www.darktable.org/2016/12/darktable-2-2-0rc3-released/castle5_wide.jpg" class="hidden-lede">houzMon, 12 Dec 2016 10:20:28 +0000tag:www.darktable.org,2016-12-12:2016/12/darktable-2-2-0rc3-released/announcementdarktable releasedarktable 2.2.0rc2 releasedhttps://www.darktable.org/2016/12/darktable-2-2-0rc2-released/<p>we&#8217;re proud to announce the third release candidate of darktable 2.2.0, with some fixes over the previous release&nbsp;candidate.</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.2.0rc2">https://github.com/darktable-org/darktable/releases/tag/release-2.2.0rc2</a>.</p> <p>as always, please don&#8217;t use the tarball autogenerated by github, but only our .tar.xz with the following&nbsp;sha256sum:</p> <div class="highlight"><pre>f3ed739f79858a1ce2b3746bbab11994f5fb38db6e96941d84ba475beab890a6 darktable-2.2.0.rc2.tar.xz 5d91cfd1622fb82e8f59db912e8b784a36b83f4a06d179e906f437104edc96f1 darktable-2.2.0.rc2.39.g684e8af41.dmg </pre></div> <p>the changelog vs. the stable 2.0.x series is&nbsp;below:</p> <ul> <li>Well over 2k commits since&nbsp;2.0.0</li> </ul> <h2>The Big&nbsp;Ones:</h2> <ul> <li>Add new automatic perspective correction module (&#8220;<a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/"><span>A new module for automatic perspective correction</span></a>&#8220;)</li> <li>Liquify tool for all your fancy pixel moving (&#8220;<a href="https://www.darktable.org/2016/04/liquify-liquify/"><span>Liquify, liquify?</span></a>&#8220;)</li> <li>A new image module to use a Color Look Up Table (<span class="caps">CLUT</span>) to change colors in the image (&#8220;<a href="https://www.darktable.org/2016/05/colour-manipulation-with-the-colour-checker-lut-module/"><span>colour manipulation with the colour checker lut module</span></a>&#8220;)</li> <li>In Highlight reconstruction module, the mode LCh reconstruction was completely rewritten, and is no longer&nbsp;useless!</li> <li>A new tool, darktable-chart, that goes along with the <span class="caps">CLUT</span> module, to create styles for the&nbsp;latter</li> <li>Exposure fusion in the basecurve module to lower the dynamic range of images (&#8220;<a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/"><span>compressing dynamic range with exposure fusion</span></a>&#8220;)</li> <li>Add new raw overexposure indication (&#8220;<a href="https://www.darktable.org/2016/10/raw-overexposed/"><span>Visualizing the raw (sensor) highlight clipping</span></a>&#8220;)</li> <li>Darkroom: the preview (in top-left corner) is now no longer pre-demosaiced (but just downscaled without demosaicing it at the same time), thus the preview, color picker, histogram show the proper results, especially when there is highlight&nbsp;clipping.</li> </ul> <h2>Quite Interesting&nbsp;Changes:</h2> <ul> <li>Split the database into a library containing images and a general one with styles, presets and tags. That allows having access to those when for example running with a :memory:&nbsp;library</li> <li>Support running on platforms other than x86 (64bit little-endian, currently <span class="caps">ARM64</span> only) (&#8220;<a href="https://www.darktable.org/2016/04/running-on-non-x86-platforms/"><span>Running on non-x86 platforms</span></a>&#8220;)</li> <li>darktable is now happy to use smaller stack sizes (no less than 256Kb). That should allow using musl&nbsp;libc</li> <li>Allow darktable-cli to work on&nbsp;directories</li> <li>Allow to import/export tags from Lightroom keyword&nbsp;files</li> <li>Allow using modifier keys to modify the step for sliders and curves. Defaults: Ctrl&nbsp;– x0.1; Shift&nbsp;–&nbsp;x10</li> <li>Allow using the [keyboard] cursor keys to interact with sliders, comboboxes and curves; modifiers apply&nbsp;too</li> <li>Support presets in &#8220;more modules&#8221; so you can quickly switch between your favorite sets of modules shown in the <span class="caps">GUI</span></li> <li>Add range operator and date compare to the collection&nbsp;module</li> <li>Add basic undo/redo support for the darkroom (masks are not accounted&nbsp;!)</li> <li>Support the Exif date and time when importing photos from&nbsp;camera</li> <li>Input color profile module, when profile is just matrix (and linear curve), is 1/3 faster&nbsp;now.</li> <li>Rudimentary <span class="caps">CYGM</span> and <span class="caps">RGBE</span> color filter array&nbsp;support</li> <li>Nicer web gallery exporter &#8212; now touch&nbsp;friendly!</li> <li>OpenCL implementation of <span class="caps">VNG</span>/<span class="caps">VNG4</span> demosaicing&nbsp;methods</li> <li>OpenCL implementation of Markesteijn demosaicing method for X-Trans&nbsp;sensors</li> <li>Filter-out some useless <span class="caps">EXIF</span> tags when exporting, helps keep <span class="caps">EXIF</span> size under&nbsp;~64Kb</li> <li>OpenCL: properly discard <span class="caps">CPU</span>-based OpenCL devices. Fixes crashes on startup with some partially-working OpenCL implementations like&nbsp;pocl.</li> <li>darktable-cli: do not even try to open display, we don&#8217;t need&nbsp;it.</li> <li>Hotpixels module: make it actually work for&nbsp;X-Trans</li> <li>Cmstest tool should now produce correct output in more cases, especially in multi-monitor&nbsp;setups.</li> <li>Darkroom histogram now uses more bins: use all 8-bit of the output, not just&nbsp;6.</li> </ul> <h2>Some More Changes, Probably Not&nbsp;Complete:</h2> <ul> <li>Drop darktable-viewer tool in favor of slideshow&nbsp;view</li> <li>Remove gnome keyring password backend, use libsecret&nbsp;instead</li> <li>When using libsecret to store passwords then put them into the correct&nbsp;collection</li> <li>Hint via window manager when import/export is&nbsp;done</li> <li>Quick tagging searches anywhere, not just at the start of&nbsp;tags</li> <li>The sidecar <span class="caps">XMP</span> schema for history entries is now more consistent and less error&nbsp;prone</li> <li>Rawspeed: fixes for building with libjpeg (as opposed to&nbsp;libjpeg-turbo)</li> <li>Give the choice of equidistant and proportional feathering when using elliptical masks&nbsp;(shift+click)</li> <li>Add geolocation to watermark&nbsp;variables</li> <li>Fix some crashes with missing configured <span class="caps">ICC</span>&nbsp;profiles</li> <li>Support greyscale color&nbsp;profiles</li> <li>Make sure that proper signal handlers are still set after <span class="caps">GM</span>&nbsp;initialization&#8230;</li> <li><span class="caps">OSX</span>: add trash support (thanks to Michael Kefeder for initial&nbsp;patch)</li> <li>Attach Xmp data to <span class="caps">EXR</span>&nbsp;files</li> <li>Several fixes for HighDPI&nbsp;displays</li> <li>Use Pango for text layout, thus supporting <span class="caps">RTL</span>&nbsp;languages</li> <li>Feathering size in some mask shapes can be set with&nbsp;shift+scroll</li> <li>Many bugs got fixed and some memory leaks&nbsp;plugged</li> <li>The usermanual was updated to reflect the changes in the 2.2&nbsp;series</li> <li>Tone curve: mode &#8220;automatic in <span class="caps">XYZ</span>&#8221; mode for &#8220;scale&nbsp;chroma&#8221;</li> <li>Some compilation&nbsp;fixes</li> </ul> <h2>Lua specific&nbsp;changes:</h2> <ul> <li>All asynchronous calls have been&nbsp;rewritten</li> <li>The darktable-specific implementation of <code>yield</code> was&nbsp;removed</li> <li><code>darktable.control.execute</code> allows to execute some shell commands without blocking&nbsp;Lua</li> <li><code>darktable.control.read</code> allows to wait for a file to be readable without blocking&nbsp;Lua</li> <li><code>darktable.control.sleep</code> allows to pause the Lua execution without blocking other Lua&nbsp;threads</li> <li><code>darktable.gui.libs.metadata_view.register_info</code> allows to add new field to the metadata widget in the darkroom&nbsp;view</li> <li>The TextView widget can now be created in Lua, allowing input of large chunks of&nbsp;text</li> <li>It is now possible to use a custom widget in the Lua preference window to configure a&nbsp;preference</li> <li>It is now possible to set the precision and step on slider&nbsp;widgets</li> </ul> <h2>Changed&nbsp;Dependencies:</h2> <ul> <li>CMake 3.0 is now&nbsp;required.</li> <li>In order to compile darktable you now need at least gcc-4.7+/clang-3.3+, but better use&nbsp;gcc-5.0+</li> <li>Drop support for <span class="caps">OS</span> X&nbsp;10.6</li> <li>Bump required libexiv2 version up to&nbsp;0.24</li> <li>Bump <span class="caps">GTK</span>+ requirement to gtk-3.14. (because even Debian stable has&nbsp;it)</li> <li>Bump GLib requirement to&nbsp;glib-2.40.</li> <li>Port to&nbsp;OpenJPEG2</li> <li><span class="caps">SDL</span> is no longer&nbsp;needed.</li> </ul> <h2>Base&nbsp;Support</h2> <ul> <li>Canon <span class="caps">EOS</span>-1D X Mark <span class="caps">II</span></li> <li>Canon <span class="caps">EOS</span> 5D Mark <span class="caps">IV</span></li> <li>Canon <span class="caps">EOS</span>&nbsp;80D</li> <li>Canon <span class="caps">EOS</span>&nbsp;1300D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X80</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6</li> <li>Canon <span class="caps">EOS</span>&nbsp;M10</li> <li>Canon PowerShot A720 <span class="caps">IS</span>&nbsp;(dng)</li> <li>Canon PowerShot G7 X Mark <span class="caps">II</span></li> <li>Canon PowerShot G9&nbsp;X</li> <li>Canon PowerShot <span class="caps">SD450</span>&nbsp;(dng)</li> <li>Canon PowerShot <span class="caps">SX130</span> <span class="caps">IS</span>&nbsp;(dng)</li> <li>Canon PowerShot <span class="caps">SX260</span> <span class="caps">HS</span>&nbsp;(dng)</li> <li>Canon PowerShot <span class="caps">SX510</span> <span class="caps">HS</span>&nbsp;(dng)</li> <li>Fujifilm FinePix <span class="caps">S100FS</span></li> <li>Fujifilm&nbsp;X-Pro2</li> <li>Fujifilm&nbsp;X-T2</li> <li>Fujifilm&nbsp;X70</li> <li>Fujifilm <span class="caps">XQ2</span></li> <li><span class="caps">GITUP</span> <span class="caps">GIT2</span> (chdk-a,&nbsp;chdk-b)</li> <li>(most nikon cameras here are just fixes, and they were supported before&nbsp;already)</li> <li>Nikon 1 <span class="caps">AW1</span>&nbsp;(12bit-compressed)</li> <li>Nikon 1 J1&nbsp;(12bit-compressed)</li> <li>Nikon 1 J2&nbsp;(12bit-compressed)</li> <li>Nikon 1 J3&nbsp;(12bit-compressed)</li> <li>Nikon 1 J4&nbsp;(12bit-compressed)</li> <li>Nikon 1 J5 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon 1 S1&nbsp;(12bit-compressed)</li> <li>Nikon 1 S2&nbsp;(12bit-compressed)</li> <li>Nikon 1 V1&nbsp;(12bit-compressed)</li> <li>Nikon 1 V2&nbsp;(12bit-compressed)</li> <li>Nikon 1 V3 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon Coolpix A&nbsp;(14bit-compressed)</li> <li>Nikon Coolpix P330&nbsp;(12bit-compressed)</li> <li>Nikon Coolpix P340 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon Coolpix P6000&nbsp;(12bit-uncompressed)</li> <li>Nikon Coolpix P7000&nbsp;(12bit-uncompressed)</li> <li>Nikon Coolpix P7100&nbsp;(12bit-uncompressed)</li> <li>Nikon Coolpix P7700&nbsp;(12bit-compressed)</li> <li>Nikon Coolpix P7800&nbsp;(12bit-compressed)</li> <li>Nikon D1&nbsp;(12bit-uncompressed)</li> <li>Nikon D100 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D1H</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D1X</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D200 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D2H</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D2Hs (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D2X</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3 (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D300 (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3000&nbsp;(12bit-compressed)</li> <li>Nikon <span class="caps">D300S</span> (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3100&nbsp;(12bit-compressed)</li> <li>Nikon D3200&nbsp;(12bit-compressed)</li> <li>Nikon D3300 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3400&nbsp;(12bit-compressed)</li> <li>Nikon <span class="caps">D3S</span> (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D3X</span> (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D4 (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D40 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D40X</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D4S</span>&nbsp;(14bit-compressed)</li> <li>Nikon D5 (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D50&nbsp;(12bit-compressed)</li> <li>Nikon D500 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D5000 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D5100 (14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D5200&nbsp;(14bit-compressed)</li> <li>Nikon D5300 (12bit-uncompressed, 14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D5500 (12bit-uncompressed, 14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D60 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D600 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D610 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D70&nbsp;(12bit-compressed)</li> <li>Nikon D700 (12bit-compressed, 12bit-uncompressed,&nbsp;14bit-compressed)</li> <li>Nikon D7000 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D70s&nbsp;(12bit-compressed)</li> <li>Nikon D7100 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D80 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D800 (14bit-compressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D800E</span> (14bit-compressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D90 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon Df (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon E5400&nbsp;(12bit-uncompressed)</li> <li>Nikon E5700&nbsp;(12bit-uncompressed)</li> <li>Olympus <span class="caps">PEN</span>-F</li> <li>OnePlus One&nbsp;(dng)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ150</span> (1:1,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ18</span> (16:9,&nbsp;3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ300</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ50</span> (16:9,&nbsp;3:2)</li> <li>Panasonic <span class="caps">DMC</span>-G8&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-G80&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX80</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX85</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX3</span>&nbsp;(1:1)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX10</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX15</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX9</span>&nbsp;(3:2)</li> <li>Pentax&nbsp;K-1</li> <li>Pentax&nbsp;K-70</li> <li>Samsung <span class="caps">GX20</span>&nbsp;(dng)</li> <li>Sony <span class="caps">DSC</span>-F828</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M3</span></li> <li>Sony <span class="caps">DSLR</span>-A380</li> <li>Sony <span class="caps">ILCA</span>-68</li> <li>Sony <span class="caps">ILCE</span>-6300</li> </ul> <p>We were unable to bring back these 3 cameras, because we have no&nbsp;samples.</p> <p>If anyone reading this owns such a camera, please do consider providing&nbsp;samples.</p> <ul> <li>Nikon&nbsp;E8400</li> <li>Nikon&nbsp;E8800</li> </ul> <h2>White Balance&nbsp;Presets:</h2> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;1200D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X70</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T5</li> <li>Canon <span class="caps">EOS</span>&nbsp;1300D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X80</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6</li> <li>Canon <span class="caps">EOS</span> 5D Mark <span class="caps">IV</span></li> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span></li> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span>&nbsp;R</li> <li>Canon <span class="caps">EOS</span>&nbsp;750D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X8i</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6i</li> <li>Canon <span class="caps">EOS</span>&nbsp;760D</li> <li>Canon <span class="caps">EOS</span>&nbsp;8000D</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6s</li> <li>Canon <span class="caps">EOS</span>&nbsp;80D</li> <li>Canon <span class="caps">EOS</span>&nbsp;M10</li> <li>Canon <span class="caps">EOS</span>-1D X Mark <span class="caps">II</span></li> <li>Canon PowerShot G7 X Mark <span class="caps">II</span></li> <li>Fujifilm&nbsp;X-Pro2</li> <li>Fujifilm&nbsp;X-T2</li> <li>Fujifilm&nbsp;X-T10</li> <li>Fujifilm <span class="caps">X100T</span></li> <li>Fujifilm&nbsp;X20</li> <li>Fujifilm&nbsp;X70</li> <li>Nikon 1&nbsp;V3</li> <li>Nikon&nbsp;D5500</li> <li>Olympus <span class="caps">PEN</span>-F</li> <li>Pentax&nbsp;K-1</li> <li>Pentax&nbsp;K-70</li> <li>Pentax&nbsp;K-S1</li> <li>Pentax&nbsp;K-S2</li> <li>Sony <span class="caps">ILCA</span>-68</li> <li>Sony <span class="caps">ILCE</span>-6300</li> </ul> <h2>Noise&nbsp;Profiles:</h2> <ul> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span>&nbsp;R</li> <li>Canon <span class="caps">EOS</span>&nbsp;80D</li> <li>Canon PowerShot&nbsp;G15</li> <li>Canon PowerShot&nbsp;S100</li> <li>Canon PowerShot <span class="caps">SX100</span> <span class="caps">IS</span></li> <li>Canon PowerShot <span class="caps">SX50</span> <span class="caps">HS</span></li> <li>Fujifilm&nbsp;X-T10</li> <li>Fujifilm&nbsp;X-T2</li> <li>Fujifilm <span class="caps">X100T</span></li> <li>Fujifilm&nbsp;X20</li> <li>Fujifilm&nbsp;X70</li> <li>Nikon 1&nbsp;V3</li> <li>Nikon&nbsp;D5</li> <li>Nikon&nbsp;D5500</li> <li>Olympus E-<span class="caps">PL6</span></li> <li>Olympus E-<span class="caps">PM2</span></li> <li>Olympus <span class="caps">PEN</span>-F</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ1000</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GF7</span></li> <li>Pentax&nbsp;K-1</li> <li>Pentax&nbsp;K-S2</li> <li>Ricoh <span class="caps">GR</span></li> <li>Sony <span class="caps">DSLR</span>-A900</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10</span></li> <li>Sony <span class="caps">ILCE</span>-6300</li> <li>Sony <span class="caps">NEX</span>-5</li> <li>Sony <span class="caps">SLT</span>-A37</li> </ul> <h2>New&nbsp;Translations:</h2> <ul> <li>Hebrew</li> <li>Slovenian</li> </ul> <h2>Updated&nbsp;Translations:</h2> <ul> <li>Catalan</li> <li>Czech</li> <li>Danish</li> <li>Dutch</li> <li>French</li> <li>German</li> <li>Hungarian</li> <li>Polish</li> <li>Russian</li> <li>Slovak</li> <li>Spanish</li> <li>Swedish</li> </ul><img src="https://www.darktable.org/2016/12/darktable-2-2-0rc2-released/castle4_wide.jpg" class="hidden-lede">houzSun, 04 Dec 2016 20:12:02 +0000tag:www.darktable.org,2016-12-04:2016/12/darktable-2-2-0rc2-released/announcementdarktable releaseString freeze for the upcoming 2.2 serieshttps://www.darktable.org/2016/11/string-freeze-for-the-upcoming-2-2-series/<p>This is a call for all our translators, now is the time to bring your .po file in the master branch up to date. We will not ship any translation that is not relatively complete, the exact threshold is still to be&nbsp;determined.</p> <p>As a quick reminder, these are the steps to update the translation if you are working from git. <code>language_code</code> is not the whole filename of the po file but just the first part of it. For example, when for Italian the language code is <code>it</code> while the filename is <code>it.po</code>. You also have to compile darktable before updating your .po file as some of the translated files are&nbsp;auto-generated.</p> <div class="highlight"><pre>cd /path/to/your/darktable/checkout/ git checkout master git pull ./build.sh cd po/ intltool-update &lt;language_code&gt; &lt;edit language_code.po&gt; </pre></div> <p>If you don&#8217;t have a build environment set up to compile darktable you can also use <a href="/files/darktable_2.2.0.pot">this .pot file</a>.</p><img src="https://www.darktable.org/2016/11/string-freeze-for-the-upcoming-2-2-series/castle3_wide.jpg" class="hidden-lede">houzThu, 24 Nov 2016 11:31:33 +0000tag:www.darktable.org,2016-11-24:2016/11/string-freeze-for-the-upcoming-2-2-series/announcementdarktable 2.2.0rc1 releasedhttps://www.darktable.org/2016/11/darktable-2-2-0rc1-released/<p>we&#8217;re proud to announce the second release candidate of darktable 2.2.0, with some fixes over the previous release candidate. the most important one might be bringing back read support for very old xmp files (~4&nbsp;years).</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.2.0rc1">https://github.com/darktable-org/darktable/releases/tag/release-2.2.0rc1</a>.</p> <p>as always, please don&#8217;t use the tarball autogenerated by github, but only our .tar.xz with the following&nbsp;sha256sum:</p> <div class="highlight"><pre>0612163b0020bc3326909f6d7f7cbd8cfb5cff59b8e0ed1a9e2a2aa17d8f308e darktable-2.2.0~rc1.tar.xz </pre></div> <p>the changelog vs. the stable 2.0.x series is&nbsp;below:</p> <ul> <li>Well over 2k commits since&nbsp;2.0.0</li> </ul> <h2>The Big&nbsp;Ones:</h2> <ul> <li>Add new automatic perspective correction module (&#8220;<a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/"><span>A new module for automatic perspective correction</span></a>&#8220;)</li> <li>Liquify tool for all your fancy pixel moving (&#8220;<a href="https://www.darktable.org/2016/04/liquify-liquify/"><span>Liquify, liquify?</span></a>&#8220;)</li> <li>A new image module to use a Color Look Up Table (<span class="caps">CLUT</span>) to change colors in the image (&#8220;<a href="https://www.darktable.org/2016/05/colour-manipulation-with-the-colour-checker-lut-module/"><span>colour manipulation with the colour checker lut module</span></a>&#8220;)</li> <li>In Highlight reconstruction module, the mode LCh reconstruction was completely rewritten, and is no longer&nbsp;useless!</li> <li>A new tool, darktable-chart, that goes along with the <span class="caps">CLUT</span> module, to create styles for the&nbsp;latter</li> <li>Exposure fusion in the basecurve module to lower the dynamic range of images (&#8220;<a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/"><span>compressing dynamic range with exposure fusion</span></a>&#8220;)</li> <li>Add new raw overexposure indication (&#8220;<a href="https://www.darktable.org/2016/10/raw-overexposed/"><span>Visualizing the raw (sensor) highlight clipping</span></a>&#8220;)</li> <li>Darkroom: the preview (in top-left corner) is now no longer pre-demosaiced (but just downscaled without demosaicing it at the same time), thus the preview, color picker, histogram show the proper results, especially when there is highlight&nbsp;clipping.</li> </ul> <h2>Quite Interesting&nbsp;Changes:</h2> <ul> <li>Split the database into a library containing images and a general one with styles, presets and tags. That allows having access to those when for example running with a <code>:memory:</code> library</li> <li>Support running on platforms other than x86 (64bit little-endian, currently <span class="caps">ARM64</span> only) (&#8220;<a href="https://www.darktable.org/2016/04/running-on-non-x86-platforms/"><span>Running on non-x86 platforms</span></a>&#8220;)</li> <li>darktable is now happy to use smaller stack sizes (no less than 256Kb). That should allow using musl&nbsp;libc</li> <li>Allow darktable-cli to work on&nbsp;directories</li> <li>Allow to import/export tags from Lightroom keyword&nbsp;files</li> <li>Allow using modifier keys to modify the step for sliders and curves. Defaults: Ctrl&nbsp;– x0.1; Shift&nbsp;–&nbsp;x10</li> <li>Allow using the [keyboard] cursor keys to interact with sliders, comboboxes and curves; modifiers apply&nbsp;too</li> <li>Support presets in &#8220;more modules&#8221; so you can quickly switch between your favorite sets of modules shown in the <span class="caps">GUI</span></li> <li>Add range operator and date compare to the collection&nbsp;module</li> <li>Add basic undo/redo support for the darkroom (masks are not accounted&nbsp;!)</li> <li>Support the Exif date and time when importing photos from&nbsp;camera</li> <li>Input color profile module, when profile is just matrix (and linear curve), is 1/3 faster&nbsp;now.</li> <li>Rudimentary <span class="caps">CYGM</span> and <span class="caps">RGBE</span> color filter array&nbsp;support</li> <li>Nicer web gallery exporter &#8212; now touch&nbsp;friendly!</li> <li>OpenCL implementation of <span class="caps">VNG</span>/<span class="caps">VNG4</span> demosaicing&nbsp;methods</li> <li>OpenCL implementation of Markesteijn demosaicing method for X-Trans&nbsp;sensors</li> <li>Filter-out some useless <span class="caps">EXIF</span> tags when exporting, helps keep <span class="caps">EXIF</span> size under&nbsp;~64Kb</li> <li>OpenCL: properly discard <span class="caps">CPU</span>-based OpenCL devices. Fixes crashes on startup with some partially-working OpenCL implementations like&nbsp;pocl.</li> <li>darktable-cli: do not even try to open display, we don&#8217;t need&nbsp;it.</li> <li>Hotpixels module: make it actually work for&nbsp;X-Trans</li> </ul> <h2>Some More Changes, Probably Not&nbsp;Complete:</h2> <ul> <li>Drop darktable-viewer tool in favor of slideshow&nbsp;view</li> <li>Remove gnome keyring password backend, use libsecret&nbsp;instead</li> <li>When using libsecret to store passwords then put them into the correct&nbsp;collection</li> <li>Hint via window manager when import/export is&nbsp;done</li> <li>Quick tagging searches anywhere, not just at the start of&nbsp;tags</li> <li>The sidecar <span class="caps">XMP</span> schema for history entries is now more consistent and less error&nbsp;prone</li> <li>Rawspeed: fixes for building with libjpeg (as opposed to&nbsp;libjpeg-turbo)</li> <li>Give the choice of equidistant and proportional feathering when using elliptical masks&nbsp;(shift+click)</li> <li>Add geolocation to watermark&nbsp;variables</li> <li>Fix some crashes with missing configured <span class="caps">ICC</span>&nbsp;profiles</li> <li>Support greyscale color&nbsp;profiles</li> <li><span class="caps">OSX</span>: add trash support (thanks to Michael Kefeder for initial&nbsp;patch)</li> <li>Attach Xmp data to <span class="caps">EXR</span>&nbsp;files</li> <li>Several fixes for HighDPI&nbsp;displays</li> <li>Use Pango for text layout, thus supporting <span class="caps">RTL</span>&nbsp;languages</li> <li>Feathering size in some mask shapes can be set with&nbsp;shift+scroll</li> <li>Many bugs got fixed and some memory leaks&nbsp;plugged</li> <li>The usermanual was updated to reflect the changes in the 2.2&nbsp;series</li> </ul> <h2>Changed&nbsp;Dependencies:</h2> <ul> <li>CMake 3.0 is now&nbsp;required.</li> <li>In order to compile darktable you now need at least gcc-4.7+/clang-3.3+, but better use&nbsp;gcc-5.0+</li> <li>Drop support for <span class="caps">OS</span> X&nbsp;10.6</li> <li>Bump required libexiv2 version up to&nbsp;0.24</li> <li>Bump <span class="caps">GTK</span>+ requirement to gtk-3.14. (because even debian stable has&nbsp;it)</li> <li>Bump GLib requirement to&nbsp;glib-2.40.</li> <li>Port to&nbsp;OpenJPEG2</li> <li><span class="caps">SDL</span> is no longer&nbsp;needed.</li> </ul> <p>A special note to all the darktable Fedora users: Fedora-provided darktable packages are intentionally built with Lua disabled. Thus, Lua scripting will not work. This breaks e.g. darktable-gimp integration. Please bug Fedora. In the mean time you could fix that by self-compiling darktable (pass <code>-DDONT_USE_INTERNAL_LUA=OFF</code> to cmake in order to enable use of bundled&nbsp;Lua5.2.4).</p> <h2>Base&nbsp;Support</h2> <ul> <li>Canon <span class="caps">EOS</span>-1D X Mark <span class="caps">II</span></li> <li>Canon <span class="caps">EOS</span> 5D Mark <span class="caps">IV</span></li> <li>Canon <span class="caps">EOS</span>&nbsp;80D</li> <li>Canon <span class="caps">EOS</span>&nbsp;1300D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X80</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6</li> <li>Canon <span class="caps">EOS</span>&nbsp;M10</li> <li>Canon PowerShot A720 <span class="caps">IS</span>&nbsp;(dng)</li> <li>Canon PowerShot G7 X Mark <span class="caps">II</span></li> <li>Canon PowerShot G9&nbsp;X</li> <li>Canon PowerShot <span class="caps">SD450</span>&nbsp;(dng)</li> <li>Canon PowerShot <span class="caps">SX130</span> <span class="caps">IS</span>&nbsp;(dng)</li> <li>Canon PowerShot <span class="caps">SX260</span> <span class="caps">HS</span>&nbsp;(dng)</li> <li>Canon PowerShot <span class="caps">SX510</span> <span class="caps">HS</span>&nbsp;(dng)</li> <li>Fujifilm FinePix <span class="caps">S100FS</span></li> <li>Fujifilm&nbsp;X-Pro2</li> <li>Fujifilm&nbsp;X-T2</li> <li>Fujifilm&nbsp;X70</li> <li>Fujifilm <span class="caps">XQ2</span></li> <li><span class="caps">GITUP</span> <span class="caps">GIT2</span> (chdk-a,&nbsp;chdk-b)</li> <li>(most nikon cameras here are just fixes, and they were supported before&nbsp;already)</li> <li>Nikon 1 <span class="caps">AW1</span>&nbsp;(12bit-compressed)</li> <li>Nikon 1 J1&nbsp;(12bit-compressed)</li> <li>Nikon 1 J2&nbsp;(12bit-compressed)</li> <li>Nikon 1 J3&nbsp;(12bit-compressed)</li> <li>Nikon 1 J4&nbsp;(12bit-compressed)</li> <li>Nikon 1 J5 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon 1 S1&nbsp;(12bit-compressed)</li> <li>Nikon 1 S2&nbsp;(12bit-compressed)</li> <li>Nikon 1 V1&nbsp;(12bit-compressed)</li> <li>Nikon 1 V2&nbsp;(12bit-compressed)</li> <li>Nikon 1 V3 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon Coolpix A&nbsp;(14bit-compressed)</li> <li>Nikon Coolpix P330&nbsp;(12bit-compressed)</li> <li>Nikon Coolpix P340 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon Coolpix P6000&nbsp;(12bit-uncompressed)</li> <li>Nikon Coolpix P7000&nbsp;(12bit-uncompressed)</li> <li>Nikon Coolpix P7100&nbsp;(12bit-uncompressed)</li> <li>Nikon Coolpix P7700&nbsp;(12bit-compressed)</li> <li>Nikon Coolpix P7800&nbsp;(12bit-compressed)</li> <li>Nikon D1&nbsp;(12bit-uncompressed)</li> <li>Nikon D100 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D1H</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D1X</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D200 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D2H</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D2Hs (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D2X</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3 (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D300 (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3000&nbsp;(12bit-compressed)</li> <li>Nikon <span class="caps">D300S</span> (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3100&nbsp;(12bit-compressed)</li> <li>Nikon D3200&nbsp;(12bit-compressed)</li> <li>Nikon D3300 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3400&nbsp;(12bit-compressed)</li> <li>Nikon <span class="caps">D3S</span> (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D3X</span> (14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D4 (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D40 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D40X</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D4S</span>&nbsp;(14bit-compressed)</li> <li>Nikon D5 (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D50&nbsp;(12bit-compressed)</li> <li>Nikon D500 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D5000 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D5100 (14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D5200&nbsp;(14bit-compressed)</li> <li>Nikon D5300 (12bit-uncompressed, 14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D5500 (12bit-uncompressed, 14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D60 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D600 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D610 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D70&nbsp;(12bit-compressed)</li> <li>Nikon D700 (12bit-compressed, 12bit-uncompressed,&nbsp;14bit-compressed)</li> <li>Nikon D7000 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D70s&nbsp;(12bit-compressed)</li> <li>Nikon D7100 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D80 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D800 (14bit-compressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D800E</span> (14bit-compressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D90 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon Df (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon E5400&nbsp;(12bit-uncompressed)</li> <li>Nikon E5700&nbsp;(12bit-uncompressed)</li> <li>Olympus <span class="caps">PEN</span>-F</li> <li>OnePlus One&nbsp;(dng)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ150</span> (1:1,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ18</span> (16:9,&nbsp;3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ300</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ50</span> (16:9,&nbsp;3:2)</li> <li>Panasonic <span class="caps">DMC</span>-G8&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-G80&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX80</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX85</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX3</span>&nbsp;(1:1)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX10</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX15</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX9</span>&nbsp;(3:2)</li> <li>Pentax&nbsp;K-1</li> <li>Pentax&nbsp;K-70</li> <li>Samsung <span class="caps">GX20</span>&nbsp;(dng)</li> <li>Sony <span class="caps">DSC</span>-F828</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M3</span></li> <li>Sony <span class="caps">DSLR</span>-A380</li> <li>Sony <span class="caps">ILCA</span>-68</li> <li>Sony <span class="caps">ILCE</span>-6300</li> </ul> <p>We were unable to bring back these 3 cameras, because we have no samples. If anyone reading this owns such a camera, please do consider providing&nbsp;samples.</p> <ul> <li>Nikon&nbsp;E8400</li> <li>Nikon&nbsp;E8800</li> <li>Nikon <span class="caps">D3X</span>&nbsp;(12-bit)</li> </ul> <h2>White Balance&nbsp;Presets</h2> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;1200D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X70</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T5</li> <li>Canon <span class="caps">EOS</span>&nbsp;1300D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X80</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6</li> <li>Canon <span class="caps">EOS</span> 5D Mark <span class="caps">IV</span></li> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span></li> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span>&nbsp;R</li> <li>Canon <span class="caps">EOS</span>&nbsp;750D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X8i</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6i</li> <li>Canon <span class="caps">EOS</span>&nbsp;760D</li> <li>Canon <span class="caps">EOS</span>&nbsp;8000D</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6s</li> <li>Canon <span class="caps">EOS</span>&nbsp;80D</li> <li>Canon <span class="caps">EOS</span>&nbsp;M10</li> <li>Canon <span class="caps">EOS</span>-1D X Mark <span class="caps">II</span></li> <li>Canon PowerShot G7 X Mark <span class="caps">II</span></li> <li>Fujifilm&nbsp;X-Pro2</li> <li>Fujifilm&nbsp;X-T2</li> <li>Fujifilm&nbsp;X-T10</li> <li>Fujifilm <span class="caps">X100T</span></li> <li>Fujifilm&nbsp;X20</li> <li>Fujifilm&nbsp;X70</li> <li>Nikon 1&nbsp;V3</li> <li>Nikon&nbsp;D5500</li> <li>Olympus <span class="caps">PEN</span>-F</li> <li>Pentax&nbsp;K-1</li> <li>Pentax&nbsp;K-70</li> <li>Pentax&nbsp;K-S1</li> <li>Pentax&nbsp;K-S2</li> <li>Sony <span class="caps">ILCA</span>-68</li> <li>Sony <span class="caps">ILCE</span>-6300</li> </ul> <h2>Noise&nbsp;Profiles</h2> <ul> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span>&nbsp;R</li> <li>Canon <span class="caps">EOS</span>&nbsp;80D</li> <li>Canon PowerShot&nbsp;G15</li> <li>Canon PowerShot&nbsp;S100</li> <li>Canon PowerShot <span class="caps">SX50</span> <span class="caps">HS</span></li> <li>Fujifilm&nbsp;X-T10</li> <li>Fujifilm&nbsp;X-T2</li> <li>Fujifilm <span class="caps">X100T</span></li> <li>Fujifilm&nbsp;X20</li> <li>Fujifilm&nbsp;X70</li> <li>Nikon 1&nbsp;V3</li> <li>Nikon&nbsp;D5500</li> <li>Olympus E-<span class="caps">PL6</span></li> <li>Olympus <span class="caps">PEN</span>-F</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ1000</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GF7</span></li> <li>Pentax&nbsp;K-S2</li> <li>Ricoh <span class="caps">GR</span></li> <li>Sony <span class="caps">DSLR</span>-A900</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10</span></li> <li>Sony <span class="caps">SLT</span>-A37</li> </ul> <h2>New&nbsp;Translations</h2> <ul> <li>Hebrew</li> <li>Slovenian</li> </ul> <h2>Updated&nbsp;Translations</h2> <ul> <li>Catalan</li> <li>Czech</li> <li>Danish</li> <li>Dutch</li> <li>French</li> <li>German</li> <li>Hungarian</li> <li>Russian</li> <li>Slovak</li> <li>Spanish</li> <li>Swedish</li> </ul><img src="https://www.darktable.org/2016/11/darktable-2-2-0rc1-released/castle2_wide.jpg" class="hidden-lede">houzWed, 23 Nov 2016 15:01:27 +0000tag:www.darktable.org,2016-11-23:2016/11/darktable-2-2-0rc1-released/announcementdarktable releasedarktable 2.2.0rc0 releasedhttps://www.darktable.org/2016/11/darktable-2-2-0rc0-released/<p>we’re proud to announce the first release candidate for the upcoming 2.2 series of darktable,&nbsp;2.2.0rc0!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.2.0rc0">https://github.com/darktable-org/darktable/releases/tag/release-2.2.0rc0</a>.</p> <p>as always, please don’t use the autogenerated tarball provided by github, but only our tar.xz. the checksum&nbsp;is:</p> <div class="highlight"><pre>a084ef367b1a1b189ad11a6300f7e0cadb36354d11bf0368de7048c6a0732229 darktable-2.2.0~rc0.tar.xz </pre></div> <p>and the changelog as compared to 2.0.0 can be found&nbsp;below.</p> <ul> <li>Well over 2 thousand commits since&nbsp;2.0.0</li> </ul> <h2>The Big&nbsp;Ones:</h2> <ul> <li>Add new automatic perspective correction module (&#8220;<a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/"><span>A new module for automatic perspective correction</span></a>&#8220;)</li> <li>Liquify tool for all your fancy pixel moving (&#8220;<a href="https://www.darktable.org/2016/04/liquify-liquify/"><span>Liquify, liquify?</span></a>&#8220;)</li> <li>A new image module to use a Color Look Up Table (<span class="caps">CLUT</span>) to change colors in the image (&#8220;<a href="https://www.darktable.org/2016/05/colour-manipulation-with-the-colour-checker-lut-module/"><span>colour manipulation with the colour checker lut module</span></a>&#8220;)</li> <li>In Highlight reconstruction module, the mode LCh reconstruction was completedy rewritten, and is no longer&nbsp;useless!</li> <li>A new tool, darktable-chart, that goes along with the <span class="caps">CLUT</span> module, to create styles for the corresponding&nbsp;module</li> <li>Exposure fusion in the basecurve module to lower the dynamic range of images (&#8220;<a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/"><span>compressing dynamic range with exposure fusion</span></a>&#8220;)</li> <li>Add new raw overexposure indication (&#8220;<a href="https://www.darktable.org/2016/10/raw-overexposed/"><span>Visualizing the raw (sensor) highlight clipping</span></a>&#8220;)</li> <li>Darkroom: the preview (in top-left corner) is now no longer pre-demosaiced, thus the preview, color picker, histogram show the proper results when there is highlight&nbsp;clipping.</li> <li>Add undo/redo support for the&nbsp;darkroom</li> </ul> <h2>Quite Interesting&nbsp;Changes:</h2> <ul> <li>Split the database into a library containing images and a general one with styles, presets and tags. That allows having access to those when for example running with a :memory:&nbsp;library</li> <li>Support running on platforms other than x86 (64bit little-endian, currently <span class="caps">ARM64</span> only) (&#8220;<a href="https://www.darktable.org/2016/04/running-on-non-x86-platforms/"><span>Running on non-x86 platforms</span></a>&#8220;)</li> <li>darktable is now happy to use smaller stack sizes. That should allow using musl&nbsp;libc</li> <li>Allow darktable-cli to work on&nbsp;directories</li> <li>Allow to import/export tags from Lightroom keyword&nbsp;files</li> <li>Allow using modifier keys to modify the step for sliders and curves. Defaults: Ctrl&nbsp;– x0.1; Shift&nbsp;–&nbsp;x10</li> <li>Allow using the [keyboard] cursor keys to interact with sliders, comboboxes and curves; modifiers apply&nbsp;too</li> <li>Support presets in “more modules” so you can quickly switch between your favorite sets of modules shown in the <span class="caps">GUI</span></li> <li>Add range operator and date compare to the collection&nbsp;module</li> <li>Support the Exif date and time when importing photos from&nbsp;camera</li> <li>Rudimentary <span class="caps">CYGM</span> and <span class="caps">RGBE</span> color filter array&nbsp;support</li> <li>Preview pipe now does run demosaic module too, and its input is no longer pre-demosaiced, but is just downscaled without demosaicing it at the same&nbsp;time.</li> <li>Nicer web gallery exporter&nbsp;– now touch&nbsp;friendly!</li> <li>OpenCL implementation of <span class="caps">VNG</span>/<span class="caps">VNG4</span> demosaicing&nbsp;methods</li> <li>OpenCL implementation of Markesteijn demosaicing method for X-Trans&nbsp;sensors</li> <li>Filter-out some useless <span class="caps">EXIF</span> tags when exporting, helps keep <span class="caps">EXIF</span> size under&nbsp;~64Kb</li> <li>OpenCL: properly discard <span class="caps">CPU</span>-based OpenCL devices. Fixes crashes on startup with some partially-working OpenCL implementations like&nbsp;pocl.</li> <li>darktable-cli: do not even try to open display, we don’t need&nbsp;it.</li> <li>Hotpixels module: make it actually work for&nbsp;X-Trans</li> </ul> <h2>Some More Changes, Probably Not&nbsp;Complete:</h2> <ul> <li>Drop darktable-viewer tool in favor of slideshow&nbsp;view</li> <li>Remove gnome keyring password backend, use libsecret&nbsp;instead</li> <li>When using libsecret to store passwords then put them into the correct&nbsp;collection</li> <li>Hint via window manager when import/export is&nbsp;done</li> <li>Quick tagging searches anywhere, not just at the start of&nbsp;tags</li> <li>The sidecar Xmp schema for history entries is now more consistent and less error&nbsp;prone</li> <li>Rawspeed: fixes for building with libjpeg (as opposed to&nbsp;libjpeg-turbo)</li> <li>Give the choice of equidistant and proportional feathering when using elliptical&nbsp;masks</li> <li>Add geolocation to watermark&nbsp;variables</li> <li>Fix some crashes with missing configured <span class="caps">ICC</span>&nbsp;profiles</li> <li>Support greyscale color&nbsp;profiles</li> <li><span class="caps">OSX</span>: add trash support (thanks to Michael Kefeder for initial&nbsp;patch)</li> <li>Attach Xmp data to <span class="caps">EXR</span>&nbsp;files</li> <li>Several fixes for HighDPI&nbsp;displays</li> <li>Use Pango for text layout, thus supporting <span class="caps">RTL</span>&nbsp;languages</li> <li>Many bugs got fixed and some memory leaks&nbsp;plugged</li> <li>The usermanual was updated to reflect the changes in the 2.2&nbsp;series</li> </ul> <h2>Changed&nbsp;Dependencies:</h2> <ul> <li>CMake 3.0 is now&nbsp;required.</li> <li>In order to compile darktable you now need at least gcc-4.7+/clang-3.3+, but better use&nbsp;gcc-5.0+</li> <li>Drop support for <span class="caps">OS</span> X&nbsp;10.6</li> <li>Bump required libexiv2 version up to&nbsp;0.24</li> <li>Bump <span class="caps">GTK</span>+ requirement to gtk-3.14. (because even Debian/stable has&nbsp;it)</li> <li>Bump GLib requirement to&nbsp;glib-2.40.</li> <li>Port to&nbsp;OpenJPEG2</li> <li><span class="caps">SDL</span> is no longer&nbsp;needed.</li> </ul> <p>A special note to all the darktable Fedora users: Fedora-provided darktable packages are intentionally built with Lua disabled. Thus, Lua scripting will not work. This breaks e.g. darktable-gimp integration. Please bug Fedora. In the mean time you could fix that by self-compiling darktable (pass <code>-DDONT_USE_INTERNAL_LUA=OFF</code> to cmake in order to enable use of bundled&nbsp;Lua5.2.4).</p> <h2>Base&nbsp;Support</h2> <ul> <li>Canon <span class="caps">EOS</span>-1D X Mark <span class="caps">II</span></li> <li>Canon <span class="caps">EOS</span> 5D Mark <span class="caps">IV</span></li> <li>Canon <span class="caps">EOS</span>&nbsp;80D</li> <li>Canon <span class="caps">EOS</span>&nbsp;1300D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X80</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6</li> <li>Canon <span class="caps">EOS</span>&nbsp;M10</li> <li>Canon PowerShot A720 <span class="caps">IS</span>&nbsp;(dng)</li> <li>Canon PowerShot G7 X Mark <span class="caps">II</span></li> <li>Canon PowerShot G9&nbsp;X</li> <li>Canon PowerShot <span class="caps">SD450</span>&nbsp;(dng)</li> <li>Canon PowerShot <span class="caps">SX130</span> <span class="caps">IS</span>&nbsp;(dng)</li> <li>Canon PowerShot <span class="caps">SX260</span> <span class="caps">HS</span>&nbsp;(dng)</li> <li>Canon PowerShot <span class="caps">SX510</span> <span class="caps">HS</span>&nbsp;(dng)</li> <li>Fujifilm FinePix <span class="caps">S100FS</span></li> <li>Fujifilm&nbsp;X-Pro2</li> <li>Fujifilm&nbsp;X-T2</li> <li>Fujifilm&nbsp;X70</li> <li>Fujifilm <span class="caps">XQ2</span></li> <li><span class="caps">GITUP</span> <span class="caps">GIT2</span> (chdk-a,&nbsp;chdk-b)</li> <li>(most nikon cameras here are just fixes, and they were supported before&nbsp;already)</li> <li>Nikon 1 <span class="caps">AW1</span>&nbsp;(12bit-compressed)</li> <li>Nikon 1 J1&nbsp;(12bit-compressed)</li> <li>Nikon 1 J2&nbsp;(12bit-compressed)</li> <li>Nikon 1 J3&nbsp;(12bit-compressed)</li> <li>Nikon 1 J4&nbsp;(12bit-compressed)</li> <li>Nikon 1 J5 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon 1 S1&nbsp;(12bit-compressed)</li> <li>Nikon 1 S2&nbsp;(12bit-compressed)</li> <li>Nikon 1 V1&nbsp;(12bit-compressed)</li> <li>Nikon 1 V2&nbsp;(12bit-compressed)</li> <li>Nikon 1 V3 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon Coolpix A&nbsp;(14bit-compressed)</li> <li>Nikon Coolpix P330&nbsp;(12bit-compressed)</li> <li>Nikon Coolpix P340 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon Coolpix P6000&nbsp;(12bit-uncompressed)</li> <li>Nikon Coolpix P7000&nbsp;(12bit-uncompressed)</li> <li>Nikon Coolpix P7100&nbsp;(12bit-uncompressed)</li> <li>Nikon Coolpix P7700&nbsp;(12bit-compressed)</li> <li>Nikon Coolpix P7800&nbsp;(12bit-compressed)</li> <li>Nikon D1&nbsp;(12bit-uncompressed)</li> <li>Nikon D100 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D1H</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D1X</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D200 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D2H</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D2Hs (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D2X</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3 (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D300 (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3000&nbsp;(12bit-compressed)</li> <li>Nikon <span class="caps">D300S</span> (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3100&nbsp;(12bit-compressed)</li> <li>Nikon D3200&nbsp;(12bit-compressed)</li> <li>Nikon D3300 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3400&nbsp;(12bit-compressed)</li> <li>Nikon <span class="caps">D3S</span> (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D3X</span> (14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D4 (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D40 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D40X</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D4S</span>&nbsp;(14bit-compressed)</li> <li>Nikon D5 (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D50&nbsp;(12bit-compressed)</li> <li>Nikon D500 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D5000 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D5100 (14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D5200&nbsp;(14bit-compressed)</li> <li>Nikon D5300 (12bit-uncompressed, 14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D5500 (12bit-uncompressed, 14bit-compressed,&nbsp;14bit-uncompressed)</li> <li>Nikon D60 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D600 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D610 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D70&nbsp;(12bit-compressed)</li> <li>Nikon D700 (12bit-compressed, 12bit-uncompressed,&nbsp;14bit-compressed)</li> <li>Nikon D7000 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D70s&nbsp;(12bit-compressed)</li> <li>Nikon D7100 (14bit-compressed,&nbsp;12bit-compressed)</li> <li>Nikon D80 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D800 (14bit-compressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon <span class="caps">D800E</span> (14bit-compressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D90 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon Df (14bit-compressed, 14bit-uncompressed, 12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon E5400&nbsp;(12bit-uncompressed)</li> <li>Nikon E5700&nbsp;(12bit-uncompressed)</li> <li>Olympus <span class="caps">PEN</span>-F</li> <li>OnePlus One&nbsp;(dng)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ150</span> (1:1,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ18</span> (16:9,&nbsp;3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ300</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ50</span> (16:9,&nbsp;3:2)</li> <li>Panasonic <span class="caps">DMC</span>-G8&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-G80&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX80</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX85</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX3</span>&nbsp;(1:1)</li> <li>Pentax&nbsp;K-1</li> <li>Pentax&nbsp;K-70</li> <li>Samsung <span class="caps">GX20</span>&nbsp;(dng)</li> <li>Sony <span class="caps">DSC</span>-F828</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M3</span></li> <li>Sony <span class="caps">DSLR</span>-A380</li> <li>Sony <span class="caps">ILCA</span>-68</li> <li>Sony <span class="caps">ILCE</span>-6300</li> </ul> <h2>White Balance&nbsp;Presets</h2> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;1200D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X70</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T5</li> <li>Canon <span class="caps">EOS</span>&nbsp;1300D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X80</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6</li> <li>Canon <span class="caps">EOS</span> 5D Mark <span class="caps">IV</span></li> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span></li> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span>&nbsp;R</li> <li>Canon <span class="caps">EOS</span>&nbsp;750D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X8i</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6i</li> <li>Canon <span class="caps">EOS</span>&nbsp;760D</li> <li>Canon <span class="caps">EOS</span>&nbsp;8000D</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6s</li> <li>Canon <span class="caps">EOS</span>&nbsp;80D</li> <li>Canon <span class="caps">EOS</span>&nbsp;M10</li> <li>Canon <span class="caps">EOS</span>-1D X Mark <span class="caps">II</span></li> <li>Canon PowerShot G7 X Mark <span class="caps">II</span></li> <li>Fujifilm&nbsp;X-Pro2</li> <li>Fujifilm&nbsp;X-T10</li> <li>Fujifilm <span class="caps">X100T</span></li> <li>Fujifilm&nbsp;X20</li> <li>Fujifilm&nbsp;X70</li> <li>Nikon 1&nbsp;V3</li> <li>Nikon&nbsp;D5500</li> <li>Olympus <span class="caps">PEN</span>-F</li> <li>Pentax&nbsp;K-70</li> <li>Pentax&nbsp;K-S1</li> <li>Pentax&nbsp;K-S2</li> <li>Sony <span class="caps">ILCA</span>-68</li> <li>Sony <span class="caps">ILCE</span>-6300</li> </ul> <h2>Noise&nbsp;Profiles</h2> <ul> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span>&nbsp;R</li> <li>Canon <span class="caps">EOS</span>&nbsp;80D</li> <li>Canon PowerShot&nbsp;G15</li> <li>Canon PowerShot&nbsp;S100</li> <li>Canon PowerShot <span class="caps">SX50</span> <span class="caps">HS</span></li> <li>Fujifilm&nbsp;X-T10</li> <li>Fujifilm&nbsp;X-T2</li> <li>Fujifilm <span class="caps">X100T</span></li> <li>Fujifilm&nbsp;X20</li> <li>Fujifilm&nbsp;X70</li> <li>Nikon 1&nbsp;V3</li> <li>Nikon&nbsp;D5500</li> <li>Olympus E-<span class="caps">PL6</span></li> <li>Olympus <span class="caps">PEN</span>-F</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ1000</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GF7</span></li> <li>Pentax&nbsp;K-S2</li> <li>Ricoh <span class="caps">GR</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10</span></li> <li>Sony <span class="caps">SLT</span>-A37</li> </ul> <h2>New&nbsp;Translations</h2> <ul> <li>Hebrew</li> <li>Slovenian</li> </ul> <h2>Updated&nbsp;Translations</h2> <ul> <li>Catalan</li> <li>Czech</li> <li>Danish</li> <li>Dutch</li> <li>French</li> <li>German</li> <li>Hungarian</li> <li>Russian</li> <li>Slovak</li> <li>Spanish</li> <li>Swedish</li> </ul><img src="https://www.darktable.org/2016/11/darktable-2-2-0rc0-released/castle_wide.jpg" class="hidden-lede">houzSun, 06 Nov 2016 13:17:04 +0000tag:www.darktable.org,2016-11-06:2016/11/darktable-2-2-0rc0-released/announcementdarktable releasedarktable 2.0.7 releasedhttps://www.darktable.org/2016/10/darktable-2-0-7-released/<p>we&#8217;re proud to announce the seventh bugfix release for the 2.0 series of darktable,&nbsp;2.0.7!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.0.7">https://github.com/darktable-org/darktable/releases/tag/release-2.0.7</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksum&nbsp;is:</p> <div class="highlight"><pre>a9226157404538183549079e3b8707c910fedbb669bd018106bdf584b88a1dab darktable-2.0.7.tar.xz 0b341f3f753ae0715799e422f84d8de8854d8b9956dc9ce5da6d5405586d1392 darktable-2.0.7.dmg </pre></div> <p>and the changelog as compared to 2.0.6 can be found&nbsp;below.</p> <h2>New&nbsp;Features</h2> <ul> <li>Filter-out some <span class="caps">EXIF</span> tags when exporting. Helps keep metadata size below max limit of&nbsp;~64Kb</li> <li>Support the new Canon <span class="caps">EOS</span> 80D {m,s}<span class="caps">RAW</span>&nbsp;format</li> <li>Always show rendering intent selector in lighttable&nbsp;view</li> <li>Clear elevation when clearing geo data in map&nbsp;view</li> <li>Temperature module, invert module: add <span class="caps">SSE</span> vectorization for&nbsp;X-Trans</li> <li>Temperature module: add keyboard shortcuts for&nbsp;presets</li> </ul> <h2>Bugfixes</h2> <ul> <li>Rawspeed: fixes for building with libjpeg (as opposed to&nbsp;libjpeg-turbo)</li> <li>OpenCL: always use blocking memory transfer&nbsp;hostdevice</li> <li>OpenCL: remove bogus <code>static</code> keyword in&nbsp;extended.cl</li> <li>Fix crash with missing configured display&nbsp;profile</li> <li>Histogram: always show aperture with one digit after&nbsp;dot</li> <li>Show if OpenEXR is supported in <code>--version</code></li> <li>Rawspeed: use a non-deprecated way of getting <span class="caps">OSX</span>&nbsp;version</li> <li>Don&#8217;t show bogus message about local copy when trying to delete physically deleted&nbsp;image</li> </ul> <h2>Base Support (newly added or small&nbsp;fixes)</h2> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;100D</li> <li>Canon <span class="caps">EOS</span>&nbsp;300D</li> <li>Canon <span class="caps">EOS</span>&nbsp;6D</li> <li>Canon <span class="caps">EOS</span>&nbsp;700D</li> <li>Canon <span class="caps">EOS</span> 80D (sRaw1,&nbsp;sRaw2)</li> <li>Canon PowerShot A720 <span class="caps">IS</span>&nbsp;(dng)</li> <li>Fujifilm FinePix <span class="caps">S100FS</span></li> <li>Nikon D3400&nbsp;(12bit-compressed)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ300</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-G8&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-G80&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX80</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX85</span>&nbsp;(4:3)</li> <li>Pentax&nbsp;K-70</li> </ul> <h2>Base Support (fixes, was broken in 2.0.6, apologies for&nbsp;inconvenience)</h2> <ul> <li>Nikon 1 <span class="caps">AW1</span></li> <li>Nikon 1 J1&nbsp;(12bit-compressed)</li> <li>Nikon 1 J2&nbsp;(12bit-compressed)</li> <li>Nikon 1&nbsp;J3</li> <li>Nikon 1&nbsp;J4</li> <li>Nikon 1 S1&nbsp;(12bit-compressed)</li> <li>Nikon 1&nbsp;S2</li> <li>Nikon 1 V1&nbsp;(12bit-compressed)</li> <li>Nikon 1&nbsp;V2</li> <li>Nikon Coolpix A&nbsp;(14bit-compressed)</li> <li>Nikon Coolpix P330&nbsp;(12bit-compressed)</li> <li>Nikon Coolpix&nbsp;P6000</li> <li>Nikon Coolpix&nbsp;P7000</li> <li>Nikon Coolpix&nbsp;P7100</li> <li>Nikon Coolpix P7700&nbsp;(12bit-compressed)</li> <li>Nikon Coolpix P7800&nbsp;(12bit-compressed)</li> <li>Nikon&nbsp;D1</li> <li>Nikon D3 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D3000&nbsp;(12bit-compressed)</li> <li>Nikon&nbsp;D3100</li> <li>Nikon D3200&nbsp;(12bit-compressed)</li> <li>Nikon <span class="caps">D3S</span> (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D4 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon D5 (12bit-compressed,&nbsp;12bit-uncompressed)</li> <li>Nikon&nbsp;D50</li> <li>Nikon&nbsp;D5100</li> <li>Nikon&nbsp;D5200</li> <li>Nikon D600&nbsp;(12bit-compressed)</li> <li>Nikon D610&nbsp;(12bit-compressed)</li> <li>Nikon&nbsp;D70</li> <li>Nikon&nbsp;D7000</li> <li>Nikon&nbsp;D70s</li> <li>Nikon D7100&nbsp;(12bit-compressed)</li> <li>Nikon&nbsp;E5400</li> <li>Nikon E5700&nbsp;(12bit-uncompressed)</li> </ul> <p>We were unable to bring back these 4 cameras, because we have no samples. If anyone reading this owns such a camera, please do consider providing&nbsp;samples.</p> <ul> <li>Nikon&nbsp;E8400</li> <li>Nikon&nbsp;E8800</li> <li>Nikon <span class="caps">D3X</span>&nbsp;(12-bit)</li> <li>Nikon Df&nbsp;(12-bit)</li> </ul> <h2>White Balance&nbsp;Presets</h2> <ul> <li>Pentax&nbsp;K-70</li> </ul> <h2>Noise&nbsp;Profiles</h2> <ul> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10</span></li> </ul> <h2>Translations&nbsp;Updates</h2> <ul> <li>Catalan</li> <li>German</li> </ul><img src="https://www.darktable.org/2016/10/darktable-2-0-7-released/river_wide.jpg" class="hidden-lede">houzTue, 25 Oct 2016 10:45:02 +0000tag:www.darktable.org,2016-10-25:2016/10/darktable-2-0-7-released/announcementdarktable releaseVisualizing the raw (sensor) highlight clippinghttps://www.darktable.org/2016/10/raw-overexposed/<p>Have you ever over-exposed your images? Have you ever noticed that your images look flat and dull after you apply negative exposure compensation? Even though the over/underexposed warning says there is no overexposure? Have you ever wondered what is going on? Read&nbsp;on.</p> <!-- more --> <h2>the&nbsp;problem</h2> <p>First, why would you want to know which pixels are <strong>overexposed</strong>,&nbsp;clipped?</p> <p>Consider this&nbsp;image:</p> <p><span><a href="https://www.darktable.org/2016/10/raw-overexposed/rawoverexposed-0.jpeg"><img alt="rawoverexposed-0" src="rawoverexposed-0_thumb.jpeg" /></a></span></p> <p>… Why is the sky so white? Why is the image so flat and&nbsp;dull?</p> <p>Let&#8217;s enable <a href="/usermanual/en/darkroom_bottom_panel.html#overexposed"><code>overexposure indicator</code></a>&nbsp;&#8230;</p> <p><span><a href="https://www.darktable.org/2016/10/raw-overexposed/rawoverexposed-0.5.jpeg"><img alt="rawoverexposed-0.5" src="rawoverexposed-0.5_thumb.jpeg" /></a></span></p> <p>Nope, it does not indicate any part of the image to be&nbsp;overexposed.</p> <p>Now, let&#8217;s see what happens if we disable the <a href="/usermanual/en/modules.html#highlight_reconstruction"><code>highlight reconstruction</code></a>&nbsp;module</p> <p><span><a href="https://www.darktable.org/2016/10/raw-overexposed/rawoverexposed-1.jpeg"><img alt="rawoverexposed-1" src="rawoverexposed-1_thumb.jpeg" /></a></span></p> <p>Eww, the sky is&nbsp;pink!</p> <p>An experienced person knows that it means the image was taken <a href="https://en.wikipedia.org/wiki/Exposure_(photography)#Overexposure_and_underexposure">overexposed</a>, and it is so dull and flat because a negative <strong>exposure compensation</strong> was applied via the <a href="/usermanual/en/modules.html#exposure"><code>exposure</code></a>&nbsp;module.</p> <p>Many of you have sometimes unintentionally overexposed your images. As you know, it is hard to figure out exactly which part of the image is overexposed,&nbsp;clipped.</p> <h3>But. What if it is actually very easy to figure&nbsp;out?</h3> <p>I&#8217;ll show you the end result, what darktable&#8217;s new, <code>raw-based overexposure indicator</code> says about that image, and then we will discuss&nbsp;details:</p> <p><span><a href="https://www.darktable.org/2016/10/raw-overexposed/rawoverexposed-2-1.jpeg"><img alt="rawoverexposed-2" src="rawoverexposed-2-1_thumb.jpeg" /></a></span></p> <h2>digital image processing, mathematical&nbsp;background</h2> <p>While modern sensors capture an astonishing dynamic range, they still can capture only so much. A <a href="https://en.wikipedia.org/wiki/Image_sensor">Sensor</a> consists of millions of pixel sensors, each pixel containing a <a href="https://en.wikipedia.org/wiki/Photodetector">photodetector</a> and an active amplifier. Each of these pixels could be thought of as a bucket: there is some upper limit of <a href="https://en.wikipedia.org/wiki/Photon">photons</a> it can capture. Which means, there is some point, above which the sensor can not distinguish how much <a href="https://en.wikipedia.org/wiki/Light">light</a> it&nbsp;received.</p> <p>Now, the pixel captured some photons, and the pixel now has some charge that can be measured. But it is an <a href="https://en.wikipedia.org/wiki/Analog_signal">analog</a> value. For better or worse, all modern cameras and software operate in the digital world. Thus, next step is the conversion of that charge via <a href="https://en.wikipedia.org/wiki/Analog-to-digital_converter"><span class="caps">ADC</span></a> into a <a href="https://en.wikipedia.org/wiki/Digital_signal_(signal_processing)">digital</a>&nbsp;signal.</p> <p>Most sane cameras that can save raw files, store those values of pixels as an array of unsigned integers. What can we tell about those&nbsp;values?</p> <ul> <li> <p>Sensor readout results in some <a href="https://en.wikipedia.org/wiki/Image_noise">noise</a> (<a href="https://en.wikipedia.org/wiki/Dark_current_(physics)">black</a> noise + <a href="https://en.wikipedia.org/wiki/Bias_frame">readout</a> noise), meaning that even with the shortest <a href="https://en.wikipedia.org/wiki/Exposure_(photography)">exposure</a>, the pixels will not have zero&nbsp;value.</p> <p>That is a <strong>black level</strong>.</p> <p>For Canon it is often between <span class="math">\(\mathbf{2000}\)</span> and <span class="math">\(\mathbf{2050}\)</span>.</p> </li> <li> <p>Due to the non-magical nature of photosensitive pixels and <a href="https://en.wikipedia.org/wiki/Analog-to-digital_converter"><span class="caps">ADC</span></a>, there is some upper limit on the value each pixel can have. That limit may be different for each pixel, be it due to the different <a href="https://en.wikipedia.org/wiki/Color_filter_array"><span class="caps">CFA</span></a> color, or just manufacturing tolerances. Most modern Canon cameras produce 14-bit raw images, which means each pixel may have a value between <span class="math">\(\mathbf{0}\)</span> and <span class="math">\(\mathbf{{2^{14}}-1}\)</span> (i.e. <span class="math">\(\mathbf{16383}\)</span>).</p> <p>So the lowest maximal value that still can be represented by all the pixels is called the <strong>white level</strong>.</p> <p>For Canon it is often between <span class="math">\(\mathbf{13000}\)</span> and <span class="math">\(\mathbf{16000}\)</span>.</p> </li> </ul> <p>Both of these parameters also often depend on <a href="https://en.wikipedia.org/wiki/Film_speed#Digital_camera_ISO_speed_and_exposure_index"><span class="caps">ISO</span></a>.</p> <h3>why is the white level so low? (you can skip&nbsp;this)</h3> <p><em>Disclaimer: this is just my understanding of the subject. my understanding may be&nbsp;wrong.</em></p> <p>You may ask, why <strong>white level</strong> is less than the maximal value that can be stored in the raw file (that is, e.g. for 14-bit raw images, less than <span class="math">\(\mathbf{{2^{14}}-1}\)</span> (i.e. <span class="math">\(\mathbf{16383}\)</span>))?</p> <p>I have intentionally skipped over one more component of the sensor&nbsp;– an active <a href="https://en.wikipedia.org/wiki/Amplifier">amplifier</a>.</p> <p>It is the second most important component of the sensor (after the <a href="https://en.wikipedia.org/wiki/Photodetector">photodetectors</a>&nbsp;themselves).</p> <p>The saturation point of the <a href="https://en.wikipedia.org/wiki/Photodetector">photodetector</a> is much lower than the saturation point of the <a href="https://en.wikipedia.org/wiki/Analog-to-digital_converter"><span class="caps">ADC</span></a>. Also, due to the non-magical nature of <a href="https://en.wikipedia.org/wiki/Analog-to-digital_converter"><span class="caps">ADC</span></a>, it has a very specific voltage nominal range <span class="math">\(\mathbf{V_{RefLow}..V_{RefHi}}\)</span>, outside of which it can not work&nbsp;properly.</p> <p>E.g. <a href="https://en.wikipedia.org/wiki/Photodetector">photodetector</a> may output an analog signal with an <a href="https://en.wikipedia.org/wiki/Amplitude">amplitude</a> of (guess, general ballpark, not precise values) <span class="math">\(\mathbf{1..10}\)</span> <span class="math">\(\mathbf{mV}\)</span>, while the <a href="https://en.wikipedia.org/wiki/Analog-to-digital_converter"><span class="caps">ADC</span></a> expects input analog signal to have an amplitude of <span class="math">\(\mathbf{1..10}\)</span> <span class="math">\(\mathbf{V}\)</span>.</p> <p>So if we directly pass charge from the <a href="https://en.wikipedia.org/wiki/Photodetector">photodetector</a> to the <a href="https://en.wikipedia.org/wiki/Analog-to-digital_converter"><span class="caps">ADC</span></a>, at best, we will get a very faint digital signal, with much smaller magnitude, compared to what <a href="https://en.wikipedia.org/wiki/Analog-to-digital_converter"><span class="caps">ADC</span></a> can produce, and thus with very bad (low) <a href="https://en.wikipedia.org/wiki/Signal-to-noise_ratio"><span class="caps">SNR</span></a>.</p> <p>Also see: <a href="https://en.wikipedia.org/wiki/Signal_conditioning">Signal conditioning</a>.</p> <p>Thus, when quantifying non-amplified analog signal, we lose data, which can <strong>not</strong> be recovered&nbsp;later.</p> <p>Which means, the analog signal must be amplified, to equalize the output voltage levels of the <a href="https://en.wikipedia.org/wiki/Photodetector">photodetector</a> and [expected] input voltage levels of the analog signal to the <a href="https://en.wikipedia.org/wiki/Analog-to-digital_converter"><span class="caps">ADC</span></a>. That is done by an <a href="https://en.wikipedia.org/wiki/Amplifier">amplifier</a>. There may be more than just one amplifier, and more than one amplification&nbsp;step.</p> <p>Okay, what if we amplify an analog signal from <a href="https://en.wikipedia.org/wiki/Photodetector">photodetector</a> by a magnitude of <span class="math">\(\mathbf{3}\)</span>? I.e. we had <span class="math">\(\mathbf{5}\)</span> <span class="math">\(\mathbf{mV}\)</span>, but now got <span class="math">\(\mathbf{5}\)</span> <span class="math">\(\mathbf{V}\)</span>. At first all seems in order, the signal is within expected&nbsp;range.</p> <p>But we need to take into account one important detail: output voltage of a <a href="https://en.wikipedia.org/wiki/Photodetector">photodetector</a> depends on the amount of light it received, and the exposure time. So for low light and low shutter speed it will output the minimal voltage (in our example, <span class="math">\(\mathbf{1}\)</span> <span class="math">\(\mathbf{mV}\)</span>), and if we amplify that, we get <span class="math">\(\mathbf{1}\)</span> <span class="math">\(\mathbf{V}\)</span>, which is the <span class="math">\(\mathbf{V_{RefLow}}\)</span> of <a href="https://en.wikipedia.org/wiki/Analog-to-digital_converter"><span class="caps">ADC</span></a>.</p> <p>Similarly, for bright light and long shutter speed it will output the maximal voltage (in our example, <span class="math">\(\mathbf{10}\)</span> <span class="math">\(\mathbf{mV}\)</span>), and if we amplify that, we get <span class="math">\(\mathbf{10}\)</span> <span class="math">\(\mathbf{V}\)</span>, which is, again, the <span class="math">\(\mathbf{V_{RefHi}}\)</span> of <a href="https://en.wikipedia.org/wiki/Analog-to-digital_converter"><span class="caps">ADC</span></a>.</p> <p>So there are obvious cases where with constant amplification factor we get bad signal range. Thus, we need multiple amplifiers, each of which with different <a href="https://en.wikipedia.org/wiki/Gain_(electronics)">gain</a>, and we need to be able to toggle them separately, to control the amplification in finer&nbsp;steps.</p> <p>As you may have guessed by now, the signal amplification is the factor that results in the <strong>white level</strong> being at the e.g. <span class="math">\(\mathbf{16000}\)</span>, or some other value. Basically, this amplification is how the <span class="caps">ISO</span> level is implemented in&nbsp;hardware.</p> <h4><span class="caps">TL</span>;<span class="caps">DR</span>, so <em>why?</em></h4> <p>Because of the analog <a href="https://en.wikipedia.org/wiki/Gain_(electronics)">gain</a> that was applied to the data to bring it into the nominal range and not blow (clip, make them bigger than <span class="math">\(\mathbf{16383}\)</span>) the usable highlights. The <a href="https://en.wikipedia.org/wiki/Gain_(electronics)">gain</a> is applied in finite discrete steps, it may be impossible to apply a finer <a href="https://en.wikipedia.org/wiki/Gain_(electronics)">gain</a>, so that the <strong>white level</strong> is closer to <span class="math">\(\mathbf{16383}\)</span>.</p> <p>This is a very brief summary, for a detailed write-up i can direct you to the Magic Lantern&#8217;s <a href="https://www.magiclantern.fm/forum/index.php?topic=10111.0"><span class="caps">CMOS</span>/<span class="caps">ADTG</span>/Digic register investigation on <span class="caps">ISO</span></a>.</p> <h3>the first steps of processing a raw&nbsp;file</h3> <p>All right, we got a sensor readout&nbsp;– an array of unsigned integers&nbsp;– how do we get from that to an image, that can be&nbsp;displayed?</p> <ol> <li>Convert the values from <a href="https://en.wikipedia.org/wiki/Integer_(computer_science)">integer</a> (most often 16-bit unsigned) to <a href="https://en.wikipedia.org/wiki/Floating_point">float</a> (not strictly required, but best for <a href="https://en.wikipedia.org/wiki/Precision_(computer_science)">precision</a> reasons; we use <a href="https://en.wikipedia.org/wiki/Single-precision_floating-point_format">32-bit float</a>)</li> <li> <p>Subtract <strong>black&nbsp;level</strong></p> </li> <li> <p><a href="https://en.wikipedia.org/wiki/Normalization_(image_processing)">Normalize</a> the pixels so that the <strong>white level</strong> is <span class="math">\(\mathbf{1.0}\)</span></p> <p>Simplest way to do that is to divide each value by <span class="math">\(\mathbf{({white level} - {black&nbsp;level})}\)</span></p> <p>These 3 steps are done by the <a href="/usermanual/en/modules.html#raw_black_white_point"><code>raw black/white point</code></a>&nbsp;module.</p> </li> <li> <p>Next, the <a href="https://en.wikipedia.org/wiki/Color_balance">white balance</a> is applied. It is as simple as multiplying each separate <a href="https://en.wikipedia.org/wiki/Color_filter_array"><span class="caps">CFA</span></a> color by a specific coefficient. This so-called <strong>white balance</strong> vector can be acquired from several&nbsp;places:</p> <ol> <li> <p>Camera may store it in the image&#8217;s <a href="https://en.wikipedia.org/wiki/Exif">metadata</a>.</p> <p>(That is what <code>preset</code> = <code>camera</code> does)</p> </li> <li> <p>If the color matrix for a given sensor is known, an approximate <strong>white balance</strong> (that is, which will only take the sensor into account, but will not adjust for illuminant) can be computed from that&nbsp;matrix.</p> <p>(That is what <code>preset</code> = <code>camera neutral</code> does)</p> </li> <li> <p>Taking a simple <a href="https://en.wikipedia.org/wiki/Mean#Arithmetic_mean_.28AM.29">arithmetic mean (average)</a> of each of the <a href="https://en.wikipedia.org/wiki/Channel_(digital_image)">color channels</a> may give good-enough inverted white-balance&nbsp;multiplier.</p> <p><em><span class="caps">IMPORTANT</span>: the computed <strong>white balance</strong> will be good only if, on average, that image is&nbsp;gray.</em></p> <p><em>That is, it will correct <strong>white balance</strong> so that the average color becomes gray, so if average color is not neutrally gray (e.g. red), the image will look&nbsp;wrong.</em></p> <p>(That is what <code>preset</code> = <code>spot white balance</code> does)</p> </li> <li> <p>etc (user input, camera wb preset,&nbsp;&#8230;)</p> </li> </ol> <p>As you remember, in the previous step, we have scaled the data so that the <strong>white level</strong> is <span class="math">\(\mathbf{1.0}\)</span>, for every <a href="https://en.wikipedia.org/wiki/Channel_(digital_image)">color channel</a>. <strong>White balance</strong> coefficients scale each channel separately. For example, an example <strong>white balance</strong> vector <strong>may</strong> be <div class="math">$${\begin{pmatrix} 2.0 , 0.9 , 1.5 \end{pmatrix}}^{T}$$</div>. That is, Red channel will be scaled by <span class="math">\(\mathbf{2.0}\)</span>, Green channel will be scaled by <span class="math">\(\mathbf{0.9}\)</span>, and Blue channel will be scaled by <span class="math">\(\mathbf{1.5}\)</span>.</p> <p>In practice, however, the <strong>white balance</strong> vector is most often <a href="https://en.wikipedia.org/wiki/Normalization_(image_processing)">normalized</a> so that the Green channel multiplier is <span class="math">\(\mathbf{1.0}\)</span>.</p> <p>That step is done by the <a href="/usermanual/en/modules.html#whitebalance"><code>white balance</code></a>&nbsp;module.</p> </li> <li> <p>And last, highlight handling. As we know from definition, all the data values which are bigger than the <strong>white level</strong> are unusable, <a href="https://en.wikipedia.org/wiki/Clipping_(photography)">clipped</a>. Without / before <strong>white balance</strong> correction, it is clear that all the values which are bigger than <span class="math">\(\mathbf{1.0}\)</span> are the clipped values, and they are useless without some advanced&nbsp;processing.</p> <p>Now, what did the <strong>white balance</strong> correction do to the <strong>white levels</strong>? Correct, now, the <strong>white levels</strong> will be: <span class="math">\(\mathbf{2.0}\)</span> for Red channel, <span class="math">\(\mathbf{0.9}\)</span> for Green channel, and <span class="math">\(\mathbf{1.5}\)</span> for Blue&nbsp;channel.</p> <p>As we all know, the white color is <div class="math">$${\begin{pmatrix} 1.0 , 1.0 , 1.0 \end{pmatrix}}^{T}$$</div>. But the maximal values (the per-channel <strong>white levels</strong>) are <div class="math">$${\begin{pmatrix} 2.0 , 0.9 , 1.5 \end{pmatrix}}^{T}$$</div>, so our &#8220;white&#8221; will not be white, but, as experienced users may guess, purple-ish. What do we&nbsp;do?</p> <p>Since for white color, all the components have exact the same value&nbsp;– <span class="math">\(\mathbf{1.0}\)</span>&nbsp;– we just need to make sure that the maximal values are the same value. We can not scale each of the channels separately, because that would change <strong>white balance</strong>. We simply need to pick the minimal <strong>white level</strong>&nbsp;– <span class="math">\(\mathbf{0.9}\)</span>&nbsp;– in our case, and clip all the data to that level. I.e. all the data which had a value of less than or equal to that threshold, will retain the same value; and all the pixels with the value greater than the threshold will have the value of threshold&nbsp;– <span class="math">\(\mathbf{0.9}\)</span>.</p> <p>Alternatively, one could try to recover these highlights, see <a href="/usermanual/en/modules.html#highlight_reconstruction"><code>highlight reconstruction</code></a> module; and <a href="https://www.darktable.org/2015/03/color-reconstruction/">Color Reconstruction</a> (though this last one only guesses color based on surroundings, does not actually reconstruct the channels, and is a <em>bit</em> too late in the&nbsp;pipe).</p> <p>If you don&#8217;t do highlight handling, you get what you have seen in the third image in this article&nbsp;– ugly, unnaturally looking, discolored,&nbsp;highlights.</p> <p><blockquote>Note: you might know that there are more steps required (namely: demosaicing, base curve, input color profile, output color profile; there may be others.), but for the purpose of detection and visualization of highlight clipping, they are unimportant, so i will not talk about them here.</blockquote></p> </li> </ol> <p>From that list, it should now be clear that all the pixels which have a value greater than the minimal per-channel <strong>white level</strong> right before the <a href="/usermanual/en/modules.html#highlight_reconstruction"><code>highlight reconstruction</code></a> module, are the clipped&nbsp;pixels.</p> <h2>the&nbsp;Solution</h2> <p>But a technical problem arises: we need to visualize the clipped pixels on top of the fully processed image, while we only know whether the pixel is clipped or not in the input buffer of <a href="/usermanual/en/modules.html#highlight_reconstruction"><code>highlight reconstruction</code></a> module. And we can not visualize clipping in the <a href="/usermanual/en/modules.html#highlight_reconstruction"><code>highlight reconstruction</code></a> module itself, because the data is still <a href="https://en.wikipedia.org/wiki/Demosaicing">mosaiced</a>, and other modules will be applied after that&nbsp;anyway.</p> <p>The problem was solved by back-transforming the given <strong>white balance</strong> coefficients and the <strong>white level</strong>, and then comparing the values of original raw buffer produced by camera with that threshold. And, back-transforming output pixel coordinates through all the geometric distortions to figure out which pixel in the original input buffer needs to be&nbsp;checked.</p> <p>This seems to be the most flexible solution so&nbsp;far:</p> <ul> <li>We can visualize overexposure on top of final, fully-processed image. That means, no module messes with the&nbsp;visualization</li> <li>We do sample the original input buffer. That means we can actually know whether a given pixel is clipped or&nbsp;not</li> </ul> <p>Obviously, this new <code>raw-based overexposure indicator</code> depends on the specific <a href="https://en.wikipedia.org/wiki/Color_filter_array">sensor pattern</a>. Good news is, it just works for both the <a href="https://en.wikipedia.org/wiki/Bayer_filter">Bayer</a>, and <a href="https://en.wikipedia.org/wiki/Bayer_filter#Fujifilm_.22X-Trans.22_filter">X-Trans</a>&nbsp;sensors!</p> <h2>modes of&nbsp;operation</h2> <p><span><a href="https://www.darktable.org/2016/10/raw-overexposed/rawoverexposed-ui.jpeg"><img alt="rawoverexposed-ui" src="rawoverexposed-ui_thumb.jpeg" /></a></span></p> <p>The <code>raw-based overexposure indicator</code> has 3 different <code>mode</code>s of&nbsp;operation:</p> <ol> <li> <p><code>mark with CFA color</code></p> <ul> <li>If the clipped pixel was Red, a Red pixel will be&nbsp;displayed.</li> <li>If the clipped pixel was Green, a Green pixel will be&nbsp;displayed.</li> <li>If the clipped pixel was Blue, a Blue pixel will be&nbsp;displayed.</li> </ul> <p>Sample output, X-Trans&nbsp;image.</p> <p>There are some Blue, Green and Red pixels clipped (counting to the&nbsp;centre)</p> <p><span><a href="https://www.darktable.org/2016/10/raw-overexposed/rawoverexposed-xtrans-mode-cfa.jpeg"><img alt="rawoverexposed-xtrans-mode-cfa" src="rawoverexposed-xtrans-mode-cfa_thumb.jpeg" /></a></span></p> </li> <li> <p><code>mark with solid color</code></p> <ul> <li>If the raw pixel was clipped, it will be displayed in a given color (one of: red, green, blue,&nbsp;black)</li> </ul> <p>Same area, with <code>color scheme</code> = <code>black</code>.</p> <p>The more black dots the area contains, the more clipped pixels there are in that&nbsp;area.</p> <p><span><a href="https://www.darktable.org/2016/10/raw-overexposed/rawoverexposed-xtrans-mode-solid-black.jpeg"><img alt="rawoverexposed-xtrans-mode-solid-black" src="rawoverexposed-xtrans-mode-solid-black_thumb.jpeg" /></a></span></p> </li> <li> <p><code>false color</code></p> <ul> <li>If the clipped pixel was Red, the Red channel for current pixel will be set to <span class="math">\(\mathbf{0.0}\)</span></li> <li>If the clipped pixel was Green, the Green channel for current pixel will be set to <span class="math">\(\mathbf{0.0}\)</span></li> <li>If the clipped pixel was Blue, the Blue channel for current pixel will be set to <span class="math">\(\mathbf{0.0}\)</span></li> </ul> <p>Same&nbsp;area.</p> <p><span><a href="https://www.darktable.org/2016/10/raw-overexposed/rawoverexposed-xtrans-mode-falsecolor.jpeg"><img alt="rawoverexposed-xtrans-mode-falsecolor" src="rawoverexposed-xtrans-mode-falsecolor_thumb.jpeg" /></a></span></p> </li> </ol> <h2>understanding raw overexposure&nbsp;visualization</h2> <p>So, let&#8217;s go back to the fourth image in this&nbsp;article:</p> <p><span><a href="https://www.darktable.org/2016/10/raw-overexposed/rawoverexposed-2-1.jpeg"><img alt="rawoverexposed-2" src="rawoverexposed-2-1_thumb.jpeg" /></a></span></p> <p>This is <code>mode</code> = <code>mark with CFA color</code>.</p> <p>What does it tell&nbsp;us?</p> <ul> <li>Most of the sky is indeed&nbsp;clipped.</li> <li>In the top-right portion of the image, only the Blue channel is&nbsp;clipped.</li> <li>In the top-left portion of the image, Blue and Red channels are&nbsp;clipped.</li> <li><strong>No</strong> Green channel&nbsp;clipping.</li> </ul> <p>Now you know that,&nbsp;you:</p> <ol> <li>Will know better than to over-expose so much next time :) (hint to myself,&nbsp;mostly)</li> <li>Could try to recover from clipping a bit<ol> <li>either by not applying negative <strong>exposure compensation</strong> in <a href="/usermanual/en/modules.html#exposure"><code>exposure</code></a>&nbsp;module</li> <li>or using <a href="/usermanual/en/modules.html#highlight_reconstruction"><code>highlight reconstruction</code></a> module with <code>mode</code> = <code>reconstruct in LCh</code></li> <li>or using <a href="/usermanual/en/modules.html#highlight_reconstruction"><code>highlight reconstruction</code></a> module with <code>mode</code> = <code>reconstruct color</code>, though it is known to produce&nbsp;artefacts</li> <li>or using <a href="/usermanual/en/modules.html#color_reconstruction"><code>color reconstruction</code></a>&nbsp;module</li> </ol> </li> </ol> <h2>an important note about sensor clipping vs. color&nbsp;clipping</h2> <p>By default, the module visualizes the color clipping, <strong><span class="caps">NOT</span></strong> the sensor clipping. The colors may be clipped, while the sensor is still not&nbsp;clipping.</p> <p>Example:</p> <p><span><a href="https://www.darktable.org/2016/10/raw-overexposed/rawoverexposed-2.jpeg"><img alt="rawoverexposed-2" src="rawoverexposed-2_thumb.jpeg" /></a></span></p> <p>Let&#8217;s enable&nbsp;indicator&#8230;</p> <p><span><a href="https://www.darktable.org/2016/10/raw-overexposed/rawoverexposed-3.jpeg"><img alt="rawoverexposed-3" src="rawoverexposed-3_thumb.jpeg" /></a></span></p> <p>The visualization says that Red and Blue channels are&nbsp;clipped.</p> <p>But now let&#8217;s disable the <a href="/usermanual/en/modules.html#whitebalance"><code>white balance</code></a> module, while keeping indicator&nbsp;active:</p> <p><span><a href="https://www.darktable.org/2016/10/raw-overexposed/rawoverexposed-4.jpeg"><img alt="rawoverexposed-4" src="rawoverexposed-4_thumb.jpeg" /></a></span></p> <p>Interesting, isn&#8217;t it? So actually there is no sensor-level clipping, but the image is still overexposed, because after the <a href="/usermanual/en/modules.html#whitebalance"><code>white balance</code></a> is applied, the channels do&nbsp;clip.</p> <p>While there, i wanted to show <a href="/usermanual/en/modules.html#highlight_reconstruction"><code>highlight reconstruction</code></a> module, <code>mode</code> = <code>reconstruct in LCh</code>.</p> <p>If you ever used it, you know that it used to produce pretty useless&nbsp;results.</p> <p>But not&nbsp;anymore:</p> <p><span><a href="https://www.darktable.org/2016/10/raw-overexposed/highlight-reconstruction-reconstruct-in-lch.jpeg"><img alt="highlight-reconstruction-reconstruct-in-lch" src="highlight-reconstruction-reconstruct-in-lch_thumb.jpeg" /></a></span></p> <p>As you can compare that with the first version of this image in this block, the highlights, although they are clipped, are actually somewhat reconstructed, so the image is not so flat and dull, there is <em>some</em> gradient to&nbsp;it.</p> <h2>Too boring?&nbsp;:)</h2> <p>With sufficiently exposed image (or just set <code>black levels</code> to <span class="math">\(\mathbf{0}\)</span> and <code>white level</code> to <span class="math">\(\mathbf{1}\)</span> in <a href="/usermanual/en/modules.html#raw_black_white_point"><code>raw black/white point</code></a> module; and <code>clipping threshold</code> = <span class="math">\(\mathbf{0.0}\)</span>, <code>mode</code> = <code>mark with CFA color</code> in <code>raw overexposure indicator</code>), and a lucky combination of image size, output size and zoom level, produces a familiar-looking pattern&nbsp;:)</p> <p><span><a href="https://www.darktable.org/2016/10/raw-overexposed/rawoverexposed-bayer-pattern.jpeg"><img alt="rawoverexposed-bayer-pattern" src="rawoverexposed-bayer-pattern_thumb.jpeg" /></a></span></p> <p>That is basically an artefact due to the downscaling for display. Though, feedback may ask to actually properly implement this as a&nbsp;feature&#8230;</p> <p>Now, what if we enable the <a href="/usermanual/en/correction_group.html#lens_correction">lens correction</a> module?&nbsp;:)</p> <p><span><a href="https://www.darktable.org/2016/10/raw-overexposed/rawoverexposed-bayer-pattern-and-lens-correction.jpeg"><img alt="rawoverexposed-bayer-pattern-and-lens-correction" src="rawoverexposed-bayer-pattern-and-lens-correction_thumb.jpeg" /></a></span></p> <p>So we could even create glitch-art with this&nbsp;thing!</p> <p>Technically, that is some kind of visualization of lens&nbsp;distortion.</p> <script type="text/javascript">if (!document.getElementById('mathjaxscript_pelican_#%@#$@#')) { var align = "center", indent = "0em", linebreak = "false"; if (false) { align = (screen.width < 768) ? "left" : align; indent = (screen.width < 768) ? "0em" : indent; linebreak = (screen.width < 768) ? 'true' : linebreak; } var mathjaxscript = document.createElement('script'); mathjaxscript.id = 'mathjaxscript_pelican_#%@#$@#'; mathjaxscript.type = 'text/javascript'; mathjaxscript.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML'; mathjaxscript[(window.opera ? "innerHTML" : "text")] = "MathJax.Hub.Config({" + " config: ['MMLorHTML.js']," + " TeX: { extensions: ['AMSmath.js','AMSsymbols.js','noErrors.js','noUndefined.js'], equationNumbers: { autoNumber: 'AMS' } }," + " jax: ['input/TeX','input/MathML','output/HTML-CSS']," + " extensions: ['tex2jax.js','mml2jax.js','MathMenu.js','MathZoom.js']," + " displayAlign: '"+ align +"'," + " displayIndent: '"+ indent +"'," + " showMathMenu: true," + " messageStyle: 'normal'," + " tex2jax: { " + " inlineMath: [ ['\\\\(','\\\\)'] ], " + " displayMath: [ ['$$','$$'] ]," + " processEscapes: true," + " preview: 'TeX'," + " }, " + " 'HTML-CSS': { " + " styles: { '.MathJax_Display, .MathJax .mo, .MathJax .mi, .MathJax .mn': {color: 'inherit ! important'} }," + " linebreaks: { automatic: "+ linebreak +", width: '90% container' }," + " }, " + "}); " + "if ('default' !== 'default') {" + "MathJax.Hub.Register.StartupHook('HTML-CSS Jax Ready',function () {" + "var VARIANT = MathJax.OutputJax['HTML-CSS'].FONTDATA.VARIANT;" + "VARIANT['normal'].fonts.unshift('MathJax_default');" + "VARIANT['bold'].fonts.unshift('MathJax_default-bold');" + "VARIANT['italic'].fonts.unshift('MathJax_default-italic');" + "VARIANT['-tex-mathit'].fonts.unshift('MathJax_default-italic');" + "});" + "MathJax.Hub.Register.StartupHook('SVG Jax Ready',function () {" + "var VARIANT = MathJax.OutputJax.SVG.FONTDATA.VARIANT;" + "VARIANT['normal'].fonts.unshift('MathJax_default');" + "VARIANT['bold'].fonts.unshift('MathJax_default-bold');" + "VARIANT['italic'].fonts.unshift('MathJax_default-italic');" + "VARIANT['-tex-mathit'].fonts.unshift('MathJax_default-italic');" + "});" + "}"; (document.body || document.getElementsByTagName('head')[0]).appendChild(mathjaxscript); } </script><img src="https://www.darktable.org/2016/10/raw-overexposed/rawprepare-lenscorrection-glitchart_wide.jpeg" class="hidden-lede">LebedevRIMon, 10 Oct 2016 10:30:24 +0000tag:www.darktable.org,2016-10-10:2016/10/raw-overexposed/blogdevelopmentupcoming featurecolorhighlightsdarktable 2.0.6 releasedhttps://www.darktable.org/2016/09/darktable-2-0-6-released/<p>we&#8217;re proud to announce the sixth bugfix release for the 2.0 series of darktable,&nbsp;2.0.6!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.0.6">https://github.com/darktable-org/darktable/releases/tag/release-2.0.6</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksum&nbsp;is:</p> <div class="highlight"><pre>2368c1865221032061645342ba8c00bcd6d224e9829a55bc610e6cb67de738c1 darktable-2.0.6.tar.xz 8376ab1bb74f4a25998ff1a7f03c8498b57064bf27700c9af53a7356e5a2ee1e darktable-2.0.6.dmg </pre></div> <p>and the changelog as compared to 2.0.5 can be found&nbsp;below.</p> <h2>New&nbsp;Features</h2> <ul> <li>Jpeg format writer: use libexiv2 to write metadata, like with other&nbsp;formats</li> <li>Accept non-mosaiced raw files with 4 channels, assume they are <span class="caps">RGBA</span> (alpha channel is&nbsp;ignored)</li> </ul> <h2>Bugfixes</h2> <ul> <li>Once again, fix for yet another gtk theming&nbsp;regression&#8230;</li> <li>OpenCL: properly discard <span class="caps">CPU</span>-based OpenCL devices. Fixes crashes on startup with some broken OpenCL implementations like&nbsp;pocl.</li> <li>darktable-cli: do not even try to open display, we don&#8217;t need&nbsp;it.</li> <li>Rawspeed: NikonDecoder: stop accepting generic camera entries. Fixes multitude of Nikon raw loading&nbsp;issues.</li> <li>OpenCL: fix border handling in crop&amp;rotate&nbsp;module</li> <li>Hotpixels iop: make it actually work for&nbsp;X-Trans</li> <li>Clipping <span class="caps">IOP</span>: scale width of gray crop path with zoom&nbsp;level</li> <li>One more fixup to canon lens name reading from&nbsp;exif</li> <li>Fixup Bayer pattern for Olympus <span class="caps">SP570UZ</span></li> <li>Fix internal build issue: do not assume that Perl&#8217;s @<span class="caps">INC</span> contains&nbsp;&#8216;.&#8217;</li> </ul> <h2>Base&nbsp;Support</h2> <ul> <li>Canon <span class="caps">EOS</span>-1D X Mark <span class="caps">II</span></li> <li>Canon <span class="caps">EOS</span>&nbsp;1300D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X80</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6</li> <li>Canon <span class="caps">EOS</span>&nbsp;M10</li> <li>Canon PowerShot G7 X Mark <span class="caps">II</span></li> <li>Canon PowerShot G9&nbsp;X</li> <li>Fujifilm&nbsp;X-T2</li> <li><span class="caps">GITUP</span> <span class="caps">GIT2</span> action&nbsp;camera</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ18</span> (16:9,&nbsp;3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ50</span> (16:9,&nbsp;3:2)</li> <li>Pentax&nbsp;K-1</li> <li>Sony <span class="caps">DSLR</span>-A380</li> <li>Sony <span class="caps">ILCE</span>-6300</li> <li>Nikon&nbsp;D500</li> <li>Some other whitelevel fixups for some other Nikon cameras (in particular, mostly for 12-bit and not compressed&nbsp;raws)</li> </ul> <h2>White Balance&nbsp;Presets</h2> <ul> <li>Canon <span class="caps">EOS</span>-1D X Mark <span class="caps">II</span></li> <li>Canon <span class="caps">EOS</span>&nbsp;1300D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X80</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6</li> <li>Canon <span class="caps">EOS</span>&nbsp;M10</li> <li>Canon PowerShot G7 X Mark <span class="caps">II</span></li> <li>Fujifilm&nbsp;X-T10</li> <li>Sony <span class="caps">ILCE</span>-6300</li> </ul> <h2>Translations&nbsp;Updates</h2> <ul> <li>Slovak</li> </ul><img src="https://www.darktable.org/2016/09/darktable-2-0-6-released/spider_wide.jpg" class="hidden-lede">houzWed, 07 Sep 2016 17:44:52 +0000tag:www.darktable.org,2016-09-07:2016/09/darktable-2-0-6-released/announcementdarktable releasecompressing dynamic range with exposure fusionhttps://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/<p>modern sensor capture an astonishing dynamic range, namely some sony sensors or canon with <a href="https://www.magiclantern.fm/forum/?topic=7139.0">magic lantern’s dual iso feature</a>.</p> <p>this is in a range where the image has to be processed carefully to display it in pleasing ways on a monitor, let alone the limited dynamic range of print&nbsp;media.</p> <h2>example&nbsp;images</h2> <h3>use graduated density filter to brighten&nbsp;foreground</h3> <p><span><a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/img_0016.jpg"><img alt="original" src="img_0016_thumb.jpg" title="original" /></a></span></p> <p><span><a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/img_0015.jpg"><img alt="graduated density filter" src="img_0015_thumb.jpg" title="graduated density filter" /></a></span></p> <p>using the <a href="/usermanual/en/effect_group.html#graduated_density">graudated density iop</a> works well in this case since the horizon here is more or less straight, so we can easily mask it out with a simple gradient in the graduated density module. now what if the objects can’t be masked out so&nbsp;easily?</p> <h3>more complex&nbsp;example</h3> <p>this image needed to be substantially underexposed in order not to clip the interesting highlight detail in the&nbsp;clouds.</p> <p>original image, then extreme settings in <a href="https://www.darktable.org/2012/02/shadow-recovery-revisited/">the shadows and highlights iop</a> (heavy fringing despite bilateral filter used for smoothing). also note how the shadow detail is still very dark. third one is <a href="/usermanual/en/tone_group.html#global_tonemap">tone mapped (drago)</a> and fourth is default darktable processing with +6ev&nbsp;exposure.</p> <p><span><a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/img_0007.jpg"><img alt="original" src="img_0007_thumb.jpg" title="original" /></a></span></p> <p><span><a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/img_0008.jpg"><img alt="shadows/highlights" src="img_0008_thumb.jpg" title="shadows/highlights" /></a></span></p> <p><span><a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/img_0008-2.jpg"><img alt="tonemap" src="img_0008-2_thumb.jpg" title="tonemap" /></a></span></p> <p><span><a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/img_0008-3.jpg"><img alt="+6ev" src="img_0008-3_thumb.jpg" title="+6ev" /></a></span></p> <p>tone mapping also flattens a lot of details why this version already has some local contrast enhancement applied to it. this can quickly result in unnatural results. similar applies to colour saturation (for reasons of good taste, no link to examples at this point&nbsp;&#8230;).</p> <p>the last image in the set is just a regular default base curve pushed by six stops using the exposure module. the green colours of the grass look much more natural than in any of the other approaches taken so far (including graduated density filters, these need some fiddling in the colour saturation &#8230;). unfortunately we lose a lot of detail in the highlights (to say the&nbsp;least).</p> <p>this can be observed for most images, here is another example (original, then pushed&nbsp;+6ev):</p> <p><span><a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/img_0004.jpg"><img alt="original" src="img_0004_thumb.jpg" title="original" /></a></span></p> <p><span><a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/img_0005.jpg"><img alt="+6ev" src="img_0005_thumb.jpg" title="+6ev" /></a></span></p> <h2>exposure&nbsp;fusion</h2> <p>this is precisely the motivation behind the great paper entitled <a href="https://web.stanford.edu/class/cs231m/project-1/exposure-fusion.pdf">Exposure Fusion</a>: what if we develop the image a couple of times, each time exposing for a different feature (highlights, mid-tones, shadows), and then merge the results where they look&nbsp;best?</p> <p>this has been available in software for a while in <a href="https://wiki.panotools.org/Enfuse">enfuse</a></p> <p>even with a gui called <a href="http://software.bergmark.com/enfuseGUI/Main.html">EnfuseGUI</a>.</p> <p>we now have this feature in darktable,&nbsp;too.</p> <p>find the new fusion combo box in the darktable base curve&nbsp;module:</p> <p><span><a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/gui.png"><img alt="gui" src="gui_thumb.png" title="gui" /></a></span></p> <p>options are to merge the image with itself two or three times. each extra copy of the image will be boosted by an additional three stops (+3ev and +6ev), then the base curve will be applied to it and the laplacian pyramids of the resulting images will be&nbsp;merged.</p> <h2>results</h2> <p>this is a list of input images and the corresponding result of exposure&nbsp;fusion:</p> <p>0ev,+3ev,+6ev:</p> <p><span><a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/img_0004-1.jpg"><img alt="original" src="img_0004-1_thumb.jpg" title="original" /></a></span></p> <p><span><a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/img_0003.jpg"><img alt="0ev,+3ev,+6ev" src="img_0003_thumb.jpg" title="0ev,+3ev,+6ev" /></a></span></p> <p>0ev,+3ev:</p> <p><span><a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/img_0002.jpg"><img alt="original" src="img_0002_thumb.jpg" title="original" /></a></span></p> <p><span><a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/img_0001.jpg"><img alt="0ev,+3ev" src="img_0001_thumb.jpg" title="0ev,+3ev" /></a></span></p> <p>0ev,+3ev,+6ev:</p> <p><span><a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/img_0007-1.jpg"><img alt="original" src="img_0007-1_thumb.jpg" title="original" /></a></span></p> <p><span><a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/img_0006.jpg"><img alt="0ev,+3ev,+6ev" src="img_0006_thumb.jpg" title="0ev,+3ev,+6ev" /></a></span></p> <p>0ev,+3ev,+6ev:</p> <p><span><a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/img_0010.jpg"><img alt="original" src="img_0010_thumb.jpg" title="original" /></a></span></p> <p><span><a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/img_0009.jpg"><img alt="fusion" src="img_0009_thumb.jpg" title="fusion" /></a></span></p> <p>0ev,+3ev:</p> <p><span><a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/img_0012.jpg"><img alt="original" src="img_0012_thumb.jpg" title="original" /></a></span></p> <p><span><a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/img_0011.jpg"><img alt="fusion" src="img_0011_thumb.jpg" title="fusion" /></a></span></p> <h2>conclusion</h2> <p>image from&nbsp;beginning:</p> <p><span><a href="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/img_0017.jpg"><img alt="fusion" src="img_0017_thumb.jpg" title="fusion" /></a></span></p> <p>note that the feature is currently merged to git master, but&nbsp;unreleased.</p> <h2>links</h2> <ul> <li><a href="https://www.magiclantern.fm/forum/?topic=7139.0">magic lantern dual&nbsp;iso</a></li> <li><a href="/usermanual/en/effect_group.html#graduated_density">graudated density&nbsp;iop</a></li> <li><a href="https://www.darktable.org/2012/02/shadow-recovery-revisited/">shadows and highlights&nbsp;iop</a></li> <li><a href="/usermanual/en/tone_group.html#global_tonemap">tone mapping&nbsp;iop</a></li> <li> <p>Tom Mertens, Jan Kautz, and Frank Van Reeth.&nbsp;2007.</p> <p><a href="https://web.stanford.edu/class/cs231m/project-1/exposure-fusion.pdf">Exposure Fusion</a>.</p> <p>In Proceedings of the 15th Pacific Conference on Computer Graphics and Applications (<span class="caps">PG</span> &#8216;07). <span class="caps">IEEE</span> Computer Society,&nbsp;382-390.</p> </li> <li> <p><a href="https://wiki.panotools.org/Enfuse">enfuse</a></p> </li> <li><a href="http://software.bergmark.com/enfuseGUI/Main.html">EnfuseGUI</a></li> </ul><img src="https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/lede_wide.jpg" class="hidden-lede">joTue, 09 Aug 2016 18:14:45 +0000tag:www.darktable.org,2016-08-09:2016/08/compressing-dynamic-range-with-exposure-fusion/blogdevelopmentfurther readingupcoming featuredarktable 2.0.5 releasedhttps://www.darktable.org/2016/07/darktable-2-0-5-released/<p>we&#8217;re proud to announce the fifth bugfix release for the 2.0 series of darktable,&nbsp;2.0.5!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.0.5">https://github.com/darktable-org/darktable/releases/tag/release-2.0.5</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksum&nbsp;is:</p> <div class="highlight"><pre>$ sha256sum darktable-2.0.5.tar.xz 898b71b94e7ef540eb1c87c829daadc8d8d025b1705d4a9471b1b9ed91b90a02 darktable-2.0.5.tar.xz $ sha256sum darktable-2.0.5.dmg e0ae0e5e19771810a80d6851e022ad5e51fb7da75dcbb98d96ab5120b38955fd darktable-2.0.5.dmg </pre></div> <p>and the changelog as compared to 2.0.4 can be found&nbsp;below.</p> <h2>New&nbsp;Features</h2> <ul> <li>Add geolocation to watermark&nbsp;variables</li> </ul> <h2>Bugfixes</h2> <ul> <li>Mac: bugfix + build&nbsp;fix</li> <li>Lua: fixed dt.collection not&nbsp;working</li> <li>Fix softproofing with some internal&nbsp;profiles</li> <li>Fix non-working libsecret pwstorage&nbsp;backend</li> <li>Fixed a few issues within (rudimentary) lightroom&nbsp;import</li> <li>Some fixes related to handling of duplicates and/or&nbsp;tags</li> </ul> <h2>Base&nbsp;Support</h2> <ul> <li>Canon <span class="caps">EOS</span> 80D (no mRAW/sRAW&nbsp;support!)</li> </ul> <h2>White Balance&nbsp;Presets</h2> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;80D</li> </ul> <h2>Noise&nbsp;Profiles</h2> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;80D</li> </ul> <h2>Translations&nbsp;Updates</h2> <ul> <li>Danish</li> <li>German</li> <li>Slovak</li> </ul><img src="https://www.darktable.org/2016/07/darktable-2-0-5-released/landscape_wide.jpg" class="hidden-lede">houzTue, 05 Jul 2016 09:36:30 +0000tag:www.darktable.org,2016-07-05:2016/07/darktable-2-0-5-released/announcementdarktable releasecolour manipulation with the colour checker lut modulehttps://www.darktable.org/2016/05/colour-manipulation-with-the-colour-checker-lut-module/<p><strong>[update 2016/07/31: there was a section about intermediate export to csv and manually changing that file. this is no longer needed, exporting the style directly from darktable-chart is fine&nbsp;now.]</strong></p> <h2>motivation</h2> <p>for raw photography there exist great presets for nice colour&nbsp;rendition:</p> <ul> <li>in-camera colour processing such as canon picture&nbsp;styles</li> <li>fuji film-emulation-like presets (provia velvia astia&nbsp;classic-chrome)</li> <li><a href="https://gmic.eu/film_emulation/">pat david&#8217;s film emulation&nbsp;luts</a></li> </ul> <p>unfortunately these are eat-it-or-die canned styles or icc lut profiles. you have to apply them and be happy or tweak them with other tools. but can we extract meaning from these presets? can we have understandable and tweakable styles like&nbsp;these?</p> <p>in a first attempt, i used a non-linear optimiser to control the parameters of the modules in darktable&#8217;s processing pipeline and try to match the output of such styles. while this worked reasonably well for some of pat&#8217;s film luts, it failed completely on canon&#8217;s picture styles. it was very hard to reproduce generic colour-mapping styles in darktable without parametric&nbsp;blending.</p> <p>that is, we require a generic colour to colour mapping function. this should be equally powerful as colour look up tables, but enable us to inspect it and change small aspects of it (for instance only the way blue tones are&nbsp;treated).</p> <h2>overview</h2> <p>in git master, there is a new module to implement generic colour mappings: the colour checker lut module (lut: look up table). the following will be a description how it works internally, how you can use it, and what this is good&nbsp;for.</p> <p>in short, it is a colour lut that remains understandable and editable. that is, it is not a black-box look up table, but you get to see what it actually does and change the bits that you don&#8217;t like about&nbsp;it.</p> <p>the main use cases are precise control over source colour to target colour mapping, as well as matching in-camera styles that process raws to jpg in a certain way to achieve a particular look. an example of this are the fuji film emulation modes. to this end, we will fit a colour checker lut to achieve their colour rendition, as well as a tone curve to achieve the tonal&nbsp;contrast.</p> <p><span><a href="https://www.darktable.org/2016/05/colour-manipulation-with-the-colour-checker-lut-module/target.jpg"><img alt="target" src="target_thumb.jpg" /></a></span></p> <p>to create the colour lut, it is currently necessary to take a picture of an <a href="http://targets.coloraid.de/">it8 target</a> (well, technically we support any similar target, but didn&#8217;t try them yet so i won&#8217;t really comment on it). this gives us a raw picture with colour values for a few colour patches, as well as a in-camera jpg reference (in the raw thumbnail &#8230;), and measured reference values (what we know it <em>should</em> look&nbsp;like).</p> <p>to map all the other colours (that fell in between the patches on the chart) to meaningful output colours, too, we will need to interpolate this measured&nbsp;mapping.</p> <h2>theory</h2> <p>we want to express a smooth mapping from input colours <span class="math">\(\mathbf{s}\)</span> to target colours <span class="math">\(\mathbf{t}\)</span>, defined by a couple of sample points (which will in our case be the 288 patches of an it8&nbsp;chart).</p> <p>the following is a quick summary of what we implemented and much better described in <span class="caps">JP</span>&#8217;s siggraph course&nbsp;[0].</p> <h3>radial basis&nbsp;functions</h3> <p>radial basis functions are a means of interpolating between sample points&nbsp;via</p> <div class="math">$$f(x) = \sum_i c_i\cdot\phi(\| x - s_i\|),$$</div> <p>with some appropriate kernel <span class="math">\(\phi(r)\)</span> (we&#8217;ll get to that later) and a set of coefficients <span class="math">\(c_i\)</span> chosen to make the mapping <span class="math">\(f(x)\)</span> behave like we want it at and in between the source colour positions <span class="math">\(s_i\)</span>. now to make sure the function actually passes through the target colours, i.e. <span class="math">\(f(s_i) = t_i\)</span>, we need to solve a linear system. because we want the function to take on a simple form for simple problems, we also add a polynomial part to it. this makes sure that black and white profiles turn out to be black and white and don&#8217;t oscillate around zero saturation colours wildly. the system&nbsp;is</p> <div class="math">$$ \left(\begin{array}{cc}A &amp;P\\P^t &amp; 0\end{array}\right) \cdot \left(\begin{array}{c}\mathbf{c}\\\mathbf{d}\end{array}\right) = \left(\begin{array}{c}\mathbf{t}\\0\end{array}\right)$$</div> <p>where</p> <div class="math">$$A=\left(\begin{array}{ccc} \phi(r_{00})&amp; \phi(r_{10})&amp; \cdots \\ \phi(r_{01})&amp; \phi(r_{11})&amp; \cdots \\ \phi(r_{02})&amp; \phi(r_{12})&amp; \cdots \\ \cdots &amp; &amp; \cdots \end{array}\right),$$</div> <p>and <span class="math">\(r_{ij} = \| s_i - t_j \|\)</span> is the distance (<span class="caps">CIE</span> 76 <span class="math">\(\Delta E\)</span>, <span class="math">\(\sqrt{(L_s - L_t)^2 + (a_s - a_t)^2 + (b_s - b_t)^2}\)</span>) between source colour <span class="math">\(s_i\)</span> and target colour <span class="math">\(t_j\)</span>, in our&nbsp;case</p> <div class="math">$$P=\left(\begin{array}{cccc} L_{s_0}&amp; a_{s_0}&amp; b_{s_0}&amp; 1\\ L_{s_1}&amp; a_{s_1}&amp; b_{s_1}&amp; 1\\ \cdots \end{array}\right)$$</div> <p>is the polynomial part, and <span class="math">\(\mathbf{d}\)</span> are the coefficients to the polynomial part. these are here so we can for instance easily reproduce <span class="math">\(t = s\)</span> by setting <span class="math">\(\mathbf{d} = (1, 1, 1, 0)\)</span> in the respective row. we will need to solve this system for the coefficients <span class="math">\(\mathbf{c}=(c_0,c_1,\cdots)^t\)</span> and <span class="math">\(\mathbf{d}\)</span>.</p> <p>many options will do the trick and solve the system here. we use singular value decomposition in our implementation. one advantage is that it is robust against singular matrices as input (accidentally map the same source colour to different target colours for&nbsp;instance).</p> <h3>thin plate&nbsp;splines</h3> <p>we didn&#8217;t yet define the radial basis function kernel. it turns out so-called thin plate splines have very good behaviour in terms of low oscillation/low curvature of the resulting function. the associated kernel&nbsp;is</p> <div class="math">$$\phi(r) = r^2 \log r.$$</div> <p>note that there is a similar functionality in gimp as a gegl colour mapping operation (which i believe is using a shepard-interpolation-like&nbsp;scheme).</p> <h3>creating a sparse&nbsp;solution</h3> <p>we will feed this system with 288 patches of an it8 colour chart. that means, with the added four polynomial coefficients, we have a total of 292 source/target colour pairs to manage here. apart from performance issues when executing the interpolation, we didn&#8217;t want that to show up in the gui like this, so we were looking to reduce this number without introducing large&nbsp;error.</p> <p>indeed this is possible, and literature provides a nice algorithm to do so, which is called <em>orthogonal matching pursuit</em>&nbsp;[1].</p> <p>this algorithm will select the most important hand full of coefficients <span class="math">\(\in \mathbf{c},\mathbf{d}\)</span>, to keep the overall error low. In practice we run it up to a predefined number of patches (<span class="math">\(24=6\times 4\)</span> or <span class="math">\(49=7\times 7\)</span>), to make best use of gui real&nbsp;estate.</p> <h2>the colour checker lut&nbsp;module</h2> <p><span><a href="https://www.darktable.org/2016/05/colour-manipulation-with-the-colour-checker-lut-module/clut-iop.png"><img alt="clut-iop" src="clut-iop_thumb.png" /></a></span></p> <h3>gui&nbsp;elements</h3> <p>when you select the module in darkroom mode, it should look something like the image above (configurations with more than 24 patches are shown in a 7×7 grid instead). by default, it will load the 24 patches of a colour checker classic and initialise the mapping to identity (no change to the&nbsp;image).</p> <ul> <li>the grid shows a list of coloured patches. the colours of the patches are the source points <span class="math">\(\mathbf{s}\)</span>.</li> <li>the target colour <span class="math">\(t_i\)</span> of the selected patch <span class="math">\(i\)</span> is shown as offset controlled by sliders in the ui under the grid of&nbsp;patches.</li> <li>an outline is drawn around patches that have been altered, i.e. the source and target colours&nbsp;differ.</li> <li>the selected patch is marked with a white square, and the number shows in the combo box&nbsp;below.</li> </ul> <h3>interaction</h3> <p>to interact with the colour mapping, you can change both source and target colours. the main use case is to change the target colours however, and start with an appropriate <em>palette</em> (see the presets menu, or download a style&nbsp;somewhere).</p> <ul> <li>you can change lightness (L), green-red (a), blue-yellow (b), or saturation (C) of the target colour via&nbsp;sliders.</li> <li>select a patch by left clicking on it, or using the combo box, or using the colour&nbsp;picker</li> <li>to change source colour, select a new colour from your image by using the colour picker, and shift-left-click on the patch you want to&nbsp;replace.</li> <li>to reset a patch, double-click&nbsp;it.</li> <li>right-click a patch to delete&nbsp;it.</li> <li>shift-left-click on empty space to add a new patch (with the currently picked colour as source&nbsp;colour).</li> </ul> <h2>example use&nbsp;cases</h2> <h3>example 1: dodging and burning with the skin tones&nbsp;preset</h3> <p>to process the following image i took of pat in the overground, i started with the <em>skin tones</em> preset in the colour checker module (right click on nothing in the gui or click on the icon with the three horizontal lines in the header and select the&nbsp;preset).</p> <p>then, i used the colour picker (little icon to the right of the patch# combo box) to select two skin tones: very bright highlights and dark shadow tones. the former i dragged the brightness down a bit, the latter i brightened up a bit via the lightness (L) slider. this is the&nbsp;result:</p> <p><span style="display: table-row;"> <span style="display: table-cell"><span><a href="https://www.darktable.org/2016/05/colour-manipulation-with-the-colour-checker-lut-module/pat_crop_02.png"><img alt="original" src="pat_crop_02_thumb.png" title="original" /></a></span></span> &nbsp; <span style="display: table-cell"><span><a href="https://www.darktable.org/2016/05/colour-manipulation-with-the-colour-checker-lut-module/pat_crop_03_flat.png"><img alt="dialed down contrast in skin tones" src="pat_crop_03_flat_thumb.png" /></a></span></span> </span></p> <h3>example 2: skin tones and&nbsp;eyes</h3> <p>in this image, i started with the fuji classic chrome-like style (see below for a download link), to achieve the subdued look in the skin tones. then, i picked the iris colour and saturated this tone via the saturation&nbsp;slider.</p> <p>as a side note, the flash didn&#8217;t fire in this image (iso 800) so i needed to stop it up by 2.5ev and the rest is all natural lighting&nbsp;&#8230;</p> <p><span><a href="https://www.darktable.org/2016/05/colour-manipulation-with-the-colour-checker-lut-module/mairi_crop_01.jpg"><img alt="original" src="mairi_crop_01_thumb.jpg" /></a></span></p> <p><span style="display: table-row;"> <span style="display: table-cell"><span><a href="https://www.darktable.org/2016/05/colour-manipulation-with-the-colour-checker-lut-module/mairi_crop_02.jpg"><img alt="+2.5ev classic chrome" src="mairi_crop_02_thumb.jpg" /></a></span></span> &nbsp; <span style="display: table-cell"><span><a href="https://www.darktable.org/2016/05/colour-manipulation-with-the-colour-checker-lut-module/mairi_crop_03.jpg"><img alt="saturated eyes" src="mairi_crop_03_thumb.jpg" /></a></span></span> </span></p> <h2>use <code>darktable-chart</code> to create a&nbsp;style</h2> <p>as a starting point, i matched a colour checker lut interpolation function to the in-camera processing of fuji cameras. these have the names of old film and generally do a good job at creating pleasant colours. this was done using the <code>darktable-chart</code> utility, by matching raw colours to the jpg output (both in Lab space in the darktable&nbsp;pipeline).</p> <p>here is the <a href="https://jo.dreggn.org/blog/darktable-fuji-styles.tar.xz">link to the fuji styles</a>, and <a href="/usermanual/en/styles.html#styles">how to use them</a>. i should be doing pat&#8217;s film emulation presets with this, too, and maybe styles from other cameras (canon picture styles?). <code>darktable-chart</code> will output a dtstyle file, with the mapping split into tone curve and colour checker module. this allows us to tweak the contrast (tone curve) in isolation from the colours (lut&nbsp;module).</p> <p>these styles were created with the <span class="caps">X100T</span> model, and reportedly they work so/so with different camera models. the idea is to create a Lab-space mapping which is well configured for all cameras. but apparently there may be sufficient differences between the output of different cameras after applying their colour matrices (after all these matrices are just an approximation of the real camera to <span class="caps">XYZ</span>&nbsp;mapping).</p> <p>so if you&#8217;re really after maximum precision, you may have to create the styles yourself for your camera model. here&#8217;s&nbsp;how:</p> <h3>step-by-step tutorial to match the in-camera jpg&nbsp;engine</h3> <p>note that this is essentially similar to <a href="https://github.com/pmjdebruijn/colormatch">pascal&#8217;s colormatch script</a>, but will result in an editable style for darktable instead of a fixed icc&nbsp;lut.</p> <ul> <li>need an it8 (sorry, could lift that, maybe, similar to what we do for <a href="https://www.darktable.org/2013/10/about-basecurves/">basecurve fitting</a>)</li> <li> <p>shoot the chart with your&nbsp;camera:</p> <ul> <li>shoot raw +&nbsp;jpg</li> <li>avoid glare and shadow and extreme angles, potentially the rims of your image&nbsp;altogether</li> <li>shoot a lot of exposures, try to match L=92 for G00 (or look that up in your it8&nbsp;description)</li> </ul> </li> <li> <p>develop the images in&nbsp;darktable:</p> <ul> <li>lens and vignetting correction needed on both or on neither of raw +&nbsp;jpg</li> <li>(i calibrated for vignetting, see <a href="http://wilson.bronger.org/lens_calibration_tutorial/#id3">lensfun</a>)</li> <li>output colour space to Lab (set the secret option in <code>darktablerc</code>: <code>allow_lab_output=true</code>)</li> <li>standard input matrix and camera white balance for the raw, srgb for&nbsp;jpg.</li> <li>no gamut clipping, no basecurve, no anything&nbsp;else.</li> <li>maybe do <a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/">perspective correction</a> and crop the&nbsp;chart</li> <li>export as float&nbsp;pfm</li> </ul> </li> <li> <p><code>darktable-chart</code></p> <ul> <li>load the pfm for the raw image and the jpg target in the second&nbsp;tab</li> <li>drag the corners to make the mask match the patches in the&nbsp;image</li> <li>maybe adjust the security margin using the slider in the top right, to avoid stray colours being blurred into the patch&nbsp;readout</li> <li>you need to select the gray ramp in the combo box (not&nbsp;auto-detected)</li> <li>click <em>process</em></li> <li>export</li> <li>fix up style description in the export dialog if you&nbsp;want</li> <li>outputs a <code>.dtstyle</code> with everything properly switched off, and two modules on: colour checker + tonecurve in&nbsp;Lab</li> </ul> </li> </ul> <p><span style="display: table-row;"> <span style="display: table-cell"><span><a href="https://www.darktable.org/2016/05/colour-manipulation-with-the-colour-checker-lut-module/darktable-lut-tool-crop-01.jpg"><img alt="darktable-lut-tool-crop-01" src="darktable-lut-tool-crop-01_thumb.jpg" /></a></span></span> &nbsp; <span style="display: table-cell"><span><a href="https://www.darktable.org/2016/05/colour-manipulation-with-the-colour-checker-lut-module/darktable-lut-tool-crop-02.jpg"><img alt="darktable-lut-tool-crop-02" src="darktable-lut-tool-crop-02_thumb.jpg" /></a></span></span> </span></p> <p><span style="display: table-row;"> <span style="display: table-cell"><span><a href="https://www.darktable.org/2016/05/colour-manipulation-with-the-colour-checker-lut-module/darktable-lut-tool-crop-03.jpg"><img alt="darktable-lut-tool-crop-03" src="darktable-lut-tool-crop-03_thumb.jpg" /></a></span></span> &nbsp; <span style="display: table-cell"><span><a href="https://www.darktable.org/2016/05/colour-manipulation-with-the-colour-checker-lut-module/darktable-lut-tool-crop-04.jpg"><img alt="darktable-lut-tool-crop-04" src="darktable-lut-tool-crop-04_thumb.jpg" /></a></span></span> </span></p> <p>to fix wide gamut input, it may be needed to enable gamut clipping in the input colour profile module when applying the resulting style to an image with highly saturated colours. <code>darktable-chart</code> does that automatically in the style it&nbsp;writes.</p> <h3>fitting&nbsp;error</h3> <p>when processing the list of colour pairs into a set of coefficients for the thin plate spline, the program will output the approximation error, indicated by average and maximum <span class="caps">CIE</span> 76 <span class="math">\(\Delta E\)</span> for the input patches (the it8 in the examples here). of course we don&#8217;t know anything about colours which aren&#8217;t represented in the patch. the hope would be that the sampling is dense enough for all intents and purposes (but nothing is holding us back from using a target with even more&nbsp;patches).</p> <p>for the fuji styles, these errors are typically in the range of mean <span class="math">\(\Delta E\approx 2\)</span> and max <span class="math">\(\Delta E \approx 10\)</span> for 24 patches and a bit less for 49. unfortunately the error does not decrease very fast in the number of patches (and will of course drop to zero when using all the patches of the input&nbsp;chart).</p> <div class="highlight"><pre>provia 24:rank 28/24 avg DE 2.42189 max DE 7.57084 provia 49:rank 53/49 avg DE 1.44376 max DE 5.39751 astia-24:rank 27/24 avg DE 2.12006 max DE 10.0213 astia-49:rank 52/49 avg DE 1.34278 max DE 7.05165 velvia-24:rank 27/24 avg DE 2.87005 max DE 16.7967 velvia-49:rank 53/49 avg DE 1.62934 max DE 6.84697 classic chrome-24:rank 28/24 avg DE 1.99688 max DE 8.76036 classic chrome-49:rank 53/49 avg DE 1.13703 max DE 6.3298 mono-24:rank 27/24 avg DE 0.547846 max DE 3.42563 mono-49:rank 52/49 avg DE 0.339011 max DE 2.08548 </pre></div> <h3>future&nbsp;work</h3> <p>it is possible to match the reference values of the it8 instead of a reference jpg output, to calibrate the camera more precisely than the colour matrix&nbsp;would.</p> <ul> <li>there is a button for this in the <code>darktable-chart</code> tool</li> <li>needs careful shooting, to match brightness of reference value&nbsp;closely.</li> <li>at this point it&#8217;s not clear to me how white balance should best be handled&nbsp;here.</li> <li>need reference reflectances of the it8 (wolf faust ships some for a few&nbsp;illuminants).</li> </ul> <p>another next step we would like to take with this is to match real film footage (porta etc). both reference and film matching will require some global exposure calibration&nbsp;though.</p> <h2>references</h2> <ul> <li> <p>[0] Ken Anjyo and <span class="caps">J. P.</span> Lewis and Frédéric&nbsp;Pighin,</p> <p><span class="dquo">&#8220;</span>Scattered data interpolation for computer&nbsp;graphics&#8221;</p> <p>in Proceedings of <span class="caps">SIGGRAPH</span> 2014 Courses, Article No. 27, 2014. <a href="http://scribblethink.org/Courses/ScatteredInterpolation/scatteredinterpcoursenotes.pdf">pdf</a></p> </li> <li> <p>[1] <span class="caps">J. A.</span> Tropp and <span class="caps">A. C.</span>&nbsp;Gilbert,</p> <p><span class="dquo">&#8220;</span>Signal Recovery From Random Measurements Via Orthogonal Matching&nbsp;Pursuit&#8221;,</p> <p>in <span class="caps">IEEE</span> Transactions on Information Theory, vol. 53, no. 12, pp. 4655-4666, Dec.&nbsp;2007.</p> </li> </ul> <h2>links</h2> <ul> <li><a href="https://gmic.eu/film_emulation/">pat david&#8217;s film emulation&nbsp;luts</a></li> <li><a href="https://jo.dreggn.org/blog/darktable-fuji-styles.tar.xz">download fuji&nbsp;styles</a></li> <li><a href="/usermanual/en/styles.html#styles">darktable&#8217;s user manual on&nbsp;styles</a></li> <li><a href="http://targets.coloraid.de">it8&nbsp;target</a></li> <li><a href="https://github.com/pmjdebruijn/colormatch">pascal&#8217;s&nbsp;colormatch</a></li> <li><a href="http://wilson.bronger.org/lens_calibration_tutorial/#id3">lensfun&nbsp;calibration</a></li> <li><a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/">perspective correction in&nbsp;darktable</a></li> <li><a href="https://www.darktable.org/2013/10/about-basecurves/">fit basecurves for&nbsp;darktable</a></li> </ul> <script type="text/javascript">if (!document.getElementById('mathjaxscript_pelican_#%@#$@#')) { var align = "center", indent = "0em", linebreak = "false"; if (false) { align = (screen.width < 768) ? "left" : align; indent = (screen.width < 768) ? "0em" : indent; linebreak = (screen.width < 768) ? 'true' : linebreak; } var mathjaxscript = document.createElement('script'); mathjaxscript.id = 'mathjaxscript_pelican_#%@#$@#'; mathjaxscript.type = 'text/javascript'; mathjaxscript.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML'; mathjaxscript[(window.opera ? "innerHTML" : "text")] = "MathJax.Hub.Config({" + " config: ['MMLorHTML.js']," + " TeX: { extensions: ['AMSmath.js','AMSsymbols.js','noErrors.js','noUndefined.js'], equationNumbers: { autoNumber: 'AMS' } }," + " jax: ['input/TeX','input/MathML','output/HTML-CSS']," + " extensions: ['tex2jax.js','mml2jax.js','MathMenu.js','MathZoom.js']," + " displayAlign: '"+ align +"'," + " displayIndent: '"+ indent +"'," + " showMathMenu: true," + " messageStyle: 'normal'," + " tex2jax: { " + " inlineMath: [ ['\\\\(','\\\\)'] ], " + " displayMath: [ ['$$','$$'] ]," + " processEscapes: true," + " preview: 'TeX'," + " }, " + " 'HTML-CSS': { " + " styles: { '.MathJax_Display, .MathJax .mo, .MathJax .mi, .MathJax .mn': {color: 'inherit ! important'} }," + " linebreaks: { automatic: "+ linebreak +", width: '90% container' }," + " }, " + "}); " + "if ('default' !== 'default') {" + "MathJax.Hub.Register.StartupHook('HTML-CSS Jax Ready',function () {" + "var VARIANT = MathJax.OutputJax['HTML-CSS'].FONTDATA.VARIANT;" + "VARIANT['normal'].fonts.unshift('MathJax_default');" + "VARIANT['bold'].fonts.unshift('MathJax_default-bold');" + "VARIANT['italic'].fonts.unshift('MathJax_default-italic');" + "VARIANT['-tex-mathit'].fonts.unshift('MathJax_default-italic');" + "});" + "MathJax.Hub.Register.StartupHook('SVG Jax Ready',function () {" + "var VARIANT = MathJax.OutputJax.SVG.FONTDATA.VARIANT;" + "VARIANT['normal'].fonts.unshift('MathJax_default');" + "VARIANT['bold'].fonts.unshift('MathJax_default-bold');" + "VARIANT['italic'].fonts.unshift('MathJax_default-italic');" + "VARIANT['-tex-mathit'].fonts.unshift('MathJax_default-italic');" + "});" + "}"; (document.body || document.getElementsByTagName('head')[0]).appendChild(mathjaxscript); } </script><img src="https://www.darktable.org/2016/05/colour-manipulation-with-the-colour-checker-lut-module/teaser.jpg" class="hidden-lede">joTue, 24 May 2016 13:49:13 +0000tag:www.darktable.org,2016-05-24:2016/05/colour-manipulation-with-the-colour-checker-lut-module/blogdevelopmentfurther readingupcoming featuredarktable 2.0.4 releasedhttps://www.darktable.org/2016/05/darktable-2-0-4-released/<p>we&#8217;re proud to announce the fourth bugfix release for the 2.0 series of darktable,&nbsp;2.0.4!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.0.4">https://github.com/darktable-org/darktable/releases/tag/release-2.0.4</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksum&nbsp;is:</p> <div class="highlight"><pre>$ sha256sum darktable-2.0.4.tar.xz 80e448622ff060bca1d64bf6151c27de34dea8fe6b7ddb708e1e3526a5961e62  darktable-2.0.4.tar.xz $ sha256sum darktable-2.0.4.dmg 1e6306f623c3743fabe88312d34376feae94480eb5a38858f21751da04ac4550 darktable-2.0.4.dmg </pre></div> <p>and the changelog as compared to 2.0.3 can be found&nbsp;below.</p> <h2>New&nbsp;Features</h2> <ul> <li>Support grayscale input&nbsp;profiles</li> <li>Add a <span class="caps">BRG</span> profile for testing&nbsp;purposes</li> </ul> <h2>Bugfixes</h2> <ul> <li>Fix the <span class="caps">GUI</span> with <span class="caps">GTK</span>&nbsp;3.20</li> <li>Fix the color profiles we&nbsp;ship</li> <li>Fix two deflicker (exposure iop, mode = automatic)&nbsp;issues</li> <li>Fix trashing of files on <span class="caps">OSX</span></li> <li>Fix Rights field in&nbsp;Lua</li> </ul> <h2>Base&nbsp;Support</h2> <ul> <li>Nikon&nbsp;D5</li> <li>Sony <span class="caps">ILCA</span>-68</li> </ul> <h2>White Balance&nbsp;Presets</h2> <ul> <li>Pentax&nbsp;K-S1</li> <li>Sony <span class="caps">ILCA</span>-68</li> </ul> <h2>Noise&nbsp;Profiles</h2> <ul> <li>Canon PowerShot&nbsp;G15</li> <li>Fujifilm&nbsp;X70</li> <li>Olympus <span class="caps">PEN</span>-F</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GF7</span></li> </ul> <h2>Translation&nbsp;Added</h2> <ul> <li>Slovenian</li> </ul> <h2>Translations&nbsp;Updates</h2> <ul> <li>Catalan</li> <li>Dutch</li> <li>German</li> <li>Hebrew</li> <li>Slovak</li> <li>Spanish</li> </ul><img src="https://www.darktable.org/2016/05/darktable-2-0-4-released/mairi_wide.jpg" class="hidden-lede">houzFri, 06 May 2016 11:15:19 +0000tag:www.darktable.org,2016-05-06:2016/05/darktable-2-0-4-released/announcementdarktable releaseLiquify, liquify?https://www.darktable.org/2016/04/liquify-liquify/<p>Most modules in darktable are working on changing pixels color, lightness, etc. Few modules are moving pixels and when they do they are doing it in a very constraint way like to rotate, fix the lens&#8217; distortions or remove&nbsp;spots.</p> <p>The liquify module offer more ways to move pixels around by applying some free style distortions to parts of the image. There is three tools to help doing&nbsp;that:</p> <ul> <li>point</li> <li>line</li> <li>curve</li> </ul> <p><span><a href="https://www.darktable.org/2016/04/liquify-liquify/liquify-0.png"><img alt="liquify-0" src="liquify-0_thumb.png" /></a></span></p> <p>Each tool is based on nodes. A point is given by a single node, a line or curve by a set of nodes which defines the&nbsp;path.</p> <p>Next to the count, in order we have the following&nbsp;tools:</p> <ul> <li>hide/show the&nbsp;warps</li> <li>the <strong>point</strong>&nbsp;tool</li> <li>the <strong>line</strong>&nbsp;tool</li> <li>the <strong>curve</strong>&nbsp;tool</li> <li>the node edit&nbsp;tool</li> </ul> <p>Let&#8217;s see what a node&nbsp;does:</p> <p><span><a href="https://www.darktable.org/2016/04/liquify-liquify/liquify-1.png"><img alt="liquify-1" src="liquify-1_thumb.png" /></a></span></p> <ul> <li><strong>center</strong> : with the central point, it is possible to drag this point with the mouse to move it&nbsp;around</li> <li><strong>radius</strong> : the radius describes the area of the applied effect, that is the distortion occurs only inside this radius. It is possible to increase the radius using the small dot on the&nbsp;circle.</li> <li><strong>strength vector</strong> : the vector starting from the center describes the direction of the distortion and the strength. The strength depends on the length of the&nbsp;vector.</li> </ul> <p>The point, line and curve tools are all based on nodes as described above. That is, a line is a set of nodes linked together for&nbsp;example.</p> <h1>Point&nbsp;Tool</h1> <p>A point is formed by a single node. In a point the strength vector has three different modes which are toggled using ctrl-click over the strength vector&nbsp;itself.</p> <ul> <li><strong>linear</strong> : the linear mode make the distortion linear inside the circle. Starting from the opposite side of the strength vector and following the strength vector direction. This is the default&nbsp;mode.</li> <li><strong>radial growing</strong> : in this mode the strength vector effect is radial, starting with a strength of 0% in the center and growing when going away from the&nbsp;center.</li> <li> <p><span><a href="https://www.darktable.org/2016/04/liquify-liquify/liquify-4.png"><img alt="liquify-4" src="liquify-4_thumb.png" /></a></span></p> <p><strong>radial shrinking</strong> : in this mode the strength vector effect is radial, starting with a strength of 100% in the center and shrinking when going away from the&nbsp;center.</p> </li> </ul> <p><span><a href="https://www.darktable.org/2016/04/liquify-liquify/liquify-3.png"><img alt="liquify-3" src="liquify-3_thumb.png" /></a></span></p> <p>Furthermore it is possible to set the feathered effect by clicking on the center of the&nbsp;circle.</p> <p><span><a href="https://www.darktable.org/2016/04/liquify-liquify/liquify-2.png"><img alt="liquify-2" src="liquify-2_thumb.png" /></a></span></p> <ul> <li><strong>default</strong> : linear from the center to the&nbsp;radius</li> <li><strong>feathered</strong> : two control circles are displayed and can be used to feather the strength of the&nbsp;effect.</li> </ul> <h1>Line&nbsp;Tool</h1> <p><span><a href="https://www.darktable.org/2016/04/liquify-liquify/liquify-5.png"><img alt="liquify-5" src="liquify-5_thumb.png" /></a></span></p> <p>A line is a set of point. The points are linked together, the effect is interpolated by a set of strength&nbsp;vectors.</p> <p>It is possible to add a control point on a line by ctrl-click on a&nbsp;segment.</p> <p>A right-click on a segment will remove the shape&nbsp;completely.</p> <p>A ctrl-alt-click on a segment will change it to a curve&nbsp;segment.</p> <h1>Curve&nbsp;Tool</h1> <p><span><a href="https://www.darktable.org/2016/04/liquify-liquify/liquify-6.png"><img alt="liquify-6" src="liquify-6_thumb.png" /></a></span></p> <p>A curve is a set of point. The points are linked together, the effect is interpolated as a bezier curve by a set of strength&nbsp;vectors.</p> <p>It is possible to add a control point on a line by ctrl-click on a&nbsp;segment.</p> <p>A right-click on a segment will remove the shape&nbsp;completely.</p> <p>A ctrl-alt-click on a segment will change it to a line&nbsp;segment.</p> <p>It is possible to change the way the points of the curve are linked together by using ctrl-click on the center. There is four modes which correspond to different way of handling the two bezier curve&nbsp;points:</p> <ul> <li><strong>autosmooth</strong> : control points are always giving a smooth curve, this is the default mode in which the control points are not displayed (as automatically&nbsp;computed).</li> <li><strong>cups</strong> : control points can be moved&nbsp;independently.</li> <li><strong>smooth</strong> : control points are always giving a smooth&nbsp;curve</li> <li><strong>symmetrical</strong> : control points are always moved&nbsp;together</li> </ul> <p>Finally, note that at any moment it is possible to right-click on the image to show or hide the liquify&nbsp;controls.</p> <p>We feel that such tool will be quite handy in Studio photography, but not&nbsp;only.</p><img src="https://www.darktable.org/2016/04/liquify-liquify/liquify-1.png" class="hidden-lede">pascalobrySun, 03 Apr 2016 08:09:43 +0000tag:www.darktable.org,2016-04-03:2016/04/liquify-liquify/blogupcoming featureRunning on non-x86 platformshttps://www.darktable.org/2016/04/running-on-non-x86-platforms/<p>For many years darktable would only run on x86 CPUs that also support at least <span class="caps">SSE2</span>. While that is nowadays almost everything looking like a <span class="caps">PC</span> it&#8217;s still limiting. Consequently Roman sat down and started work on dropping that hard requirement. While his work isn&#8217;t complete yet it&#8217;s definitely becoming useful. So with a little tweaking you can for example use the development versions on an <span class="caps">ARM</span>, like the Raspberry Pi. Together with a touchscreen that has the potential to make a fun little&nbsp;package.</p> <p>At the moment this is still in heavy development and you have to compile darktable yourself, but we expect it to be ready for the next feature&nbsp;release.</p> <p>If you want to meet us and see stuff like this live you should come to <a href="https://libregraphicsmeeting.org/2016/"><span class="caps">LGM</span> in London</a>. If you can&#8217;t go we&#8217;d like to ask you for a little donation to the <a href="https://pledgie.com/campaigns/30905">Pixls.us Pledgie</a>. The money collected will be used to pay our stay in&nbsp;London.</p><img src="https://www.darktable.org/2016/04/running-on-non-x86-platforms/coin_wide.jpg" class="hidden-lede">houzFri, 01 Apr 2016 18:27:28 +0000tag:www.darktable.org,2016-04-01:2016/04/running-on-non-x86-platforms/blogdevelopmentupcoming featuredarktable 2.0.3 releasedhttps://www.darktable.org/2016/03/darktable-2-0-3-released/<p>we&#8217;re proud to announce the third bugfix release for the 2.0 series of darktable,&nbsp;2.0.3!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.0.3">https://github.com/darktable-org/darktable/releases/tag/release-2.0.3</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksum&nbsp;is:</p> <div class="highlight"><pre>$ sha256sum darktable-2.0.3.tar.xz a03e5c1d786799e63c8b4a9f32e9e6f27b3a7d7ab0bbbb7753a516e630490345 darktable-2.0.3.tar.xz $ sha256sum darktable-2.0.3.dmg 0568d2d2551cfd2b8a55e8ff111857588f9fb986236bc11bff869ecec68ddebd darktable-2.0.3.dmg </pre></div> <p>and the changelog as compared to 2.0.2 can be found&nbsp;below.</p> <h2>Bugfixes</h2> <ul> <li>Actually allow printing with ctrl-p shortcut as advertised in the&nbsp;tooltip</li> <li>Fix scrolling of the histogram to change the&nbsp;exposure</li> <li>Fix the restricted histogram when color picking an&nbsp;area</li> <li>Fix a bug in color&nbsp;reconstruction</li> <li>Fix an OpenCL bug in&nbsp;tonecurve</li> <li>Fix a small memory&nbsp;leak</li> <li>Better error messages in&nbsp;darktable-cli</li> <li>Fix params introspection for unsigned&nbsp;types</li> <li>Only depend on glib&nbsp;2.32</li> </ul> <h2>Base&nbsp;Support</h2> <ul> <li>Fujifilm&nbsp;X70</li> <li>Olympus <span class="caps">PEN</span>-F</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LX3</span>&nbsp;(1:1)</li> </ul> <h2>White Balance&nbsp;Presets</h2> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;1200D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X70</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T5</li> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span></li> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span>&nbsp;R</li> <li>Canon <span class="caps">EOS</span>&nbsp;750D</li> <li>Canon <span class="caps">EOS</span> Kiss&nbsp;X8i</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6i</li> <li>Canon <span class="caps">EOS</span>&nbsp;760D</li> <li>Canon <span class="caps">EOS</span>&nbsp;8000D</li> <li>Canon <span class="caps">EOS</span> Rebel&nbsp;T6s</li> <li>Fujifilm&nbsp;X-Pro2</li> <li>Fujifilm&nbsp;X20</li> <li>Fujifilm&nbsp;X70</li> <li>Olympus <span class="caps">PEN</span>-F</li> </ul> <h2>Noise&nbsp;Profiles</h2> <ul> <li>Canon <span class="caps">EOS</span> <span class="caps">5DS</span>&nbsp;R</li> <li>Fujifilm&nbsp;X20</li> <li>Olympus E-<span class="caps">PL6</span></li> </ul> <h2>Translation&nbsp;updates</h2> <ul> <li>Danish</li> <li>German</li> <li>Swedish</li> </ul><img src="https://www.darktable.org/2016/03/darktable-2-0-3-released/lake_wide.jpg" class="hidden-lede">houzTue, 29 Mar 2016 12:17:20 +0000tag:www.darktable.org,2016-03-29:2016/03/darktable-2-0-3-released/announcementdarktable releaseA new module for automatic perspective correctionhttps://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/<p><strong>Since many years darktable offers a versatile tool for manual perspective correction in the crop <span class="amp">&amp;</span> rotate module [1]. Although the principle is simple and straightforward, there are cases where it can prove difficult to get a convincing correction, especially if no distinct vertical or horizontal features can be spotted in the image. To overcome these limitations a new “perspective correction” module has just been added that is able to automatically correct for converging lines. The underlying mechanism is inspired by the program ShiftN developed by Marcus Hebel and published under the <span class="caps">GPL</span>&nbsp;[2].</strong></p> <figure role="group"> <span><a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/ashift_1.jpg"><img alt="The GUI of the perspective correction module." src="ashift_1_thumb.jpg" /></a></span> <figcaption>The <span class="caps">GUI</span> of the perspective correction module.</figcaption></figure> <h2>Background</h2> <p>Perspective distortions are a natural effect when projecting a three dimensional scene onto a two dimensional plane photographically. As such they are not to be confused with lens errors which can be corrected in darktable’s lens correction module [3]. Perspective distortions cause objects close to the viewer to appear much larger than objects further away in the background. The closer you get to a subject the stronger the effect. As lenses with a short focal length force you to get closer to your subject, photos taken with wide angle lenses are more prone to show strong perspective distortions than telephoto lenses. Once again this is not an effect of the lens but an effect of the perspective (distance) of the viewer or camera to the&nbsp;scene.</p> <figure role="group"> <span><a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/ashift_7.jpg"><img alt="Two lions and a castle. Taken with 14mm (APS-C) the two sculptures cover different areas in the image although they have the same size" src="ashift_7_thumb.jpg" /></a></span> <figcaption>Two lions and a castle. Taken with 14mm (<span class="caps">APS</span>-C) the two sculptures cover different areas in the image although they have the same size. Note the converging lines of the vertical architectural features.</figcaption></figure> <p>Converging lines are a special case of perspective distortions frequently seen in architecture photographs. Parallel lines are an essential feature of most types of architecture; when photographed at an angle parallel lines get transformed into converging lines that meet at some vantage point within or outside the image&nbsp;frame.</p> <blockquote> <p>Interestingly, viewers are mostly disturbed if they see a photo with converging lines that they know or assume to be vertical in reality. The reason seems to be that our brain is trained to unconsciously correct for vertical lines in the picture delivered by our eyes&nbsp;– vertical lines appear still vertical to us although the eye sees an image with converging lines as a camera would do. When watching the same scene in a photographic image the viewing situation is different and our brain does not apply its corrections. Now we clearly can identify the lines as converging and that conflicts to what we are used to see&nbsp;naturally.</p> </blockquote> <p>There are a few ways to overcome this effect when taking a photo. One way is keeping the camera&#8217;s optical axis pointing to the horizon so that vertical lines run parallel to the sensor plane. However, this will bring a lot of potentially boring foreground into the lower part of the image which typically needs to be cropped afterward in image processing. Alternatively, one could use a shift lens [4] which gives more control on what part of the scene gets onto the camera sensor. Shift lenses tend to be heavy and expensive, so not everybody keeps them in his or her camera bag. That’s where perspective corrections in image processing come into&nbsp;play.</p> <figure role="group"> <span><a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/ashift_8.jpg"><img alt="To illustrate the workflow of this module we take this example image with converging lines and a deliberately skewed horizon." src="ashift_8_thumb.jpg" /></a></span> <figcaption>To illustrate the workflow of this module we take this example image with converging lines and a deliberately skewed horizon.</figcaption></figure> <h2>Working principle of the perspective correction&nbsp;module</h2> <p>Converging lines can be corrected by warping the image in such a way that the lines in question get parallel. The perspective correction module in darktable simulates the effects of a shift lens and&nbsp;– in its simplest form&nbsp;– only needs a single lens shift parameter to correct converging lines along one direction. Corrections can be done in vertical and horizontal direction, either separately or in&nbsp;combination.</p> <p>Images quite often come with a tilted horizon. As we want lines not only to be parallel among themselves but also to align with the image frame the module additionally applies a rotation angle which is controlled by a further&nbsp;parameter.</p> <figure role="group"> <span><a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/ashift_1_1.jpg"><img alt="The three basic adjustment parameters are controlled with sliders in the upper part of the module's GUI." src="ashift_1_1_thumb.jpg" /></a></span> <figcaption>The three basic adjustment parameters are controlled with sliders in the upper part of the module&#8217;s <span class="caps">GUI</span>.</figcaption></figure> <h2>Automatic&nbsp;corrections</h2> <p>Although a manual adjustment of the parameters is possible users will typically want to rely on the auto-correction feature of this&nbsp;module.</p> <figure role="group"> <span><a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/ashift_1_2.jpg"><img alt="The icons presented in the lower part of the module's GUI trigger structure detection and automatic perspective correction." src="ashift_1_2_thumb.jpg" /></a></span> <figcaption>The icons presented in the lower part of the module&#8217;s <span class="caps">GUI</span> trigger structure detection and automatic perspective correction.</figcaption></figure> <p>The principle way of working is as follows. darktable analyzes the image for structural features consisting of line segments. These line segments are evaluated and ranked to identify those lines which form a set of converging lines meeting in a vantage point. Please note that by far not all line segments in an image represent suited vertical or horizontal lines of the scene&nbsp;– it is crucial that unsuited lines are identified and eliminated from the set. Based on the remaining lines an automatic fitting procedure is then started that tries to identify the best values of the module parameters (rotation angle and lens shift in one direction, or rotation angle and lens shift in both directions) to get the image straight, i.e. adjust the converging lines to run parallel and/or horizontal to the image&nbsp;frame.</p> <p><span><a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/ashift_2.jpg"><img alt="ashift_2" src="ashift_2_thumb.jpg" /></a></span></p> <p>Pressing the “get structure” icon causes darktable to analyze the image for structural elements. Line segments are detected, evaluated and ranked. The line segments are then displayed as overlays on the image base. A color code tells you what type of line darktable has&nbsp;found:</p> <ul> <li><strong><span style="color: green">green</span></strong> lines that are selected as relevant vertical converging&nbsp;lines</li> <li><strong><span style="color: red">red</span></strong> lines that are vertical but are not part of the set of converging&nbsp;lines</li> <li><strong><span style="color: blue">blue</span></strong> lines that are selected as relevant horizontal converging&nbsp;lines</li> <li><strong><span style="color: yellow">yellow</span></strong> lines that are horizontal but are not part of the set of converging&nbsp;lines</li> <li><strong><span style="color: gray">grey</span></strong> lines that are detected but not of interest to this&nbsp;module</li> </ul> <figure role="group"> <span><a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/ashift_9.jpg"><img alt="Structure detection with additional edge enhancement." src="ashift_9_thumb.jpg" /></a></span> <figcaption>Structure detection with additional edge enhancement.</figcaption></figure> <p>Lines marked in green and blue are taken for the further processing&nbsp;steps.</p> <p>darktable is quite aggressive when it comes to marking lines in red or yellow, thus eliminating them from the set of selected lines. Reason is that we need to kick out unsuited lines as far as possible so that they do not negatively influence the following parameter fitting. This outlier elimination involves a statistical process with random sampling. As a consequence each time you press the “get structure” button the color pattern of the lines will look a bit different and some lines will get deselected that are obviously “good” ones. This is of no concern as long as all really unsuited lines are marked in red and yellow and as long as enough suited green and/or blue lines&nbsp;remain.</p> <p>If you disagree with darktable&#8217;s decision you can always manually change it. Left-clicking on a line selects it (turns the color to green or blue) while right-clicking deselects it (turns the color to red or yellow). Keeping the mouse button pressed allows for a sweeping action to select/deselect multiple lines. Manual interaction is typically only needed if the line structure is distributed in a strongly inhomogeneous manner, e.g. all selected lines are on the right hand side of the image, none on the left. In this case you might need to manually select at least some lines on the left to allow for a successful automatic&nbsp;correction.</p> <p>As this module needs to find straight lines, it is generally a good idea to have the image corrected for lens artifacts before line detection. You should therefore activate the lens correction module [3] before this one or click on the “get structure” icon again after having activated lens&nbsp;correction.</p> <p>If your image exhibits a rather low contrast with few defined features the overall number of detected lines might be low. In this case you may try to ctrl-click on the “get structure” icon which activates an additional edge enhancing step before line detection. This leads to significantly more lines being&nbsp;detected.</p> <p><span><a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/ashift_3.jpg"><img alt="ashift_3" src="ashift_3_thumb.jpg" /></a></span></p> <p>Pressing the “clear structure” icon discards all collected structural&nbsp;information.</p> <p><span><a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/ashift_4.jpg"><img alt="ashift_4" src="ashift_4_thumb.jpg" /></a></span></p> <p>Pressing the “display structure” icon temporarily blocks the overlay display of lines so you have a better view of your image. Press the icon again to re-enable overlay&nbsp;display.</p> <p><span><a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/ashift_5.jpg"><img alt="ashift_5" src="ashift_5_thumb.jpg" /></a></span></p> <p>Pressing one of the “automatic fit” icons starts an optimization process which tries to detect the best fitting parameters for perspective correction of the&nbsp;image.</p> <p>The leftmost icon performs an optimization of rotation angle and vertical lens shift based on selected vertical lines (the green&nbsp;ones).</p> <p>The middle icon performs an optimization of rotation angle and horizontal lens shift based on selected horizontal lines (the blue&nbsp;ones).</p> <p>The rightmost icon performs an optimization of all three parameters based on selected vertical as well as horizontal lines (the green and the blue ones). This typically leads to a compromise between the two other&nbsp;options.</p> <figure role="group"> <span><a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/ashift_10.jpg"><img alt="The example image after fitting for all three correction parameters by clicking on the rightmost icon." src="ashift_10_thumb.jpg" /></a></span> <figcaption>The example image after fitting for all three correction parameters by clicking on the rightmost icon.</figcaption></figure> <p>In some cases you may want to only fit the rotation angle parameter while keeping the lens shift parameter(s) constant. You can do so by ctrl-clicking on one of the icons. The structural data used for fitting are the same as described above. Likewise you may shift-click on the icons to only fit the lens shift parameter(s) while keeping the rotation angle&nbsp;constant.</p> <p>As a general rule all parameters that are not affected by the respective fitting step are kept&nbsp;constant.</p> <blockquote> <p>One remark about correcting horizontal perspective distortions. Due to our way of living in a “mostly planar world” horizontal perspective distortions tend to be much stronger than vertical distortions in many images without viewers taking much notice. We are used to see converging horizontal lines, e.g. when looking along a street, and in fact we take advantage of them to estimate relative distances. However, that also means that horizontal lines tend to converge so strongly in a photographic image that it is out of the scope of this module to correct them. The horizontal vantage point may even lie within the image frame, giving a so called central perspective. For obvious reasons there is no way to correct for this image&nbsp;characteristic.</p> </blockquote> <h2>Further&nbsp;options</h2> <p>This module offers a number of further useful features which are controlled by a set of comboboxes in the middle part of the <span class="caps">GUI</span>.</p> <figure role="group"> <span><a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/ashift_1_3.jpg"><img alt="ashift_1_3" src="ashift_1_3_thumb.jpg" /></a></span> <figcaption>Further options of the perspective correction module.</figcaption></figure> <p>The “guides” combobox lets you activate a set of horizontal and vertical guidelines laid over the image. You may use them to judge the quality of the automatic correction or let them assist you when doing manual&nbsp;adjustments.</p> <p>The “automatic cropping” feature does what the name implies. When working with this module you will see immediately that any correction leads to more or less pronounced black corners around the warped image. You need to crop the image in order to get rid of the corners. This can be done either in the crop <span class="amp">&amp;</span> rotate module [1], or by activating the “automatic cropping” combobox. “Largest area” finds the largest rectangular area which just fits into the warped image, while “original format” does the same with the additional prerequisite of keeping the aspect ratio of the original&nbsp;image.</p> <figure role="group"> <span><a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/ashift_11.jpg"><img alt="Activate guide lines and automatic cropping for &quot;largest area&quot;." src="ashift_11_thumb.jpg" /></a></span> <figcaption>Activate guide lines and automatic cropping for &#8220;largest area&#8221;.</figcaption></figure> <p>Please note that you always see the full image as soon as the “perspective correction” module is in focus; cropping is not applied in order to grant a complete overview of the image. Automatic cropping, if activated, displays a frame around the cropping area that it has&nbsp;selected.</p> <p>The example image above illustrates that you may lose a quite significant part of your image border when doing perspective corrections. You should take this into account when taking the shot and leave sufficient room around your main&nbsp;subject.</p> <p>Of course the automatic cropping feature does not have any knowledge of the contents of your image&nbsp;– we recommend to use it in simple cases. Frequently you will want to have full artistic control on what parts of the image to crop; this power is only offered by the crop <span class="amp">&amp;</span> rotate module [1]. We suggest to use either the automatic or the manual cropping option; combining both may lead to surprising results as soon as you change any&nbsp;parameters.</p> <p>The “lens model” option controls some details of the underlying warping algorithm, namely the level of image compression perpendicular to the lens shift&nbsp;direction.</p> <p><span><a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/ashift_6.jpg"><img alt="ashift_6" src="ashift_6_thumb.jpg" /></a></span></p> <p>The default setting is “generic” which gives a realistic results in most cases. For images taken with a long focal length you may want to switch to “lens specific” which opens a number of sliders that let you define the focal length and the crop factor of your camera. You may also freely adjust the aspect ratio of the resulting image with the “aspect adjust”&nbsp;slider.</p> <figure role="group"> <span><a href="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/ashift_12.jpg"><img alt="The final image after perspective correction." src="ashift_12_thumb.jpg" /></a></span> <figcaption>The final image after perspective correction.</figcaption></figure> <h2>Availability</h2> <p>The new module has recently been added to the development branch of darktable [5]. It can be found in the “correction group” after activating it in “more modules”. Users of the unstable branch are invited to test it and give feedback. The usual disclaimer applies: as this module is still in the development phase we might change its behavior without further notice, don’t use it for productive work unless you know what you are doing. Users of the stable branch will see the final “perspective correction” module as part of darktable&#8217;s next feature&nbsp;release.</p> <h2>[ Update 18.03.16&nbsp;]</h2> <p>An updated version of this module has just been merged into the master branch. There is now a fourth adjustment parameter &#8220;shear&#8221; that warps the image along one of the diagonals. Together with the three other parameters this now allows to fully correct an image in almost all reasonable cases. Only perspective distortions so extreme, that they would lead to very poor image quality if corrected, are out of&nbsp;scope.</p> <p>Clicking on the “fit both” icon (the rightmost in the automatic fit row) now finds optimal values for all four parameters. You get the former behavior of fitting only rotation and lens shift by ctrl-shift-clicking on that same&nbsp;icon.</p> <p>A <span class="caps">GUI</span> enhancement suggested by Aldric has been added which allows to mass-select or deselect lines (changing their color from green/blue to red/yellow, or vice versa). You press the shift button  and then draw a rectangular area on the image base. All lines within that area are being selected or deselected on button release. The left mouse button selects, the right mouse button&nbsp;deselects.</p> <ul> <li>[1] <a href="/usermanual/en/modules.html#basic_group">Usermanual for basic&nbsp;modules</a></li> <li>[2] <a href="http://www.shiftn.de/">http://www.shiftn.de/</a></li> <li>[3] <a href="/usermanual/en/correction_group.html">Usermanual for correction&nbsp;modules</a></li> <li>[4] <a href="https://en.wikipedia.org/wiki/Perspective_control_lens">https://en.wikipedia.org/wiki/Perspective_control_lens</a></li> <li>[5] <a href="https://github.com/darktable-org/darktable">https://github.com/darktable-org/darktable</a></li> </ul><img src="https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/ashift_0_wide.jpg" class="hidden-lede">upegelowThu, 10 Mar 2016 17:48:29 +0000tag:www.darktable.org,2016-03-10:2016/03/a-new-module-for-automatic-perspective-correction/blogdevelopmentupcoming featuredarktablenew featureperspective correctiondarktable 2.0.2 releasedhttps://www.darktable.org/2016/03/darktable-2-0-2-released/<p>we&#8217;re proud to announce the second bugfix release for the 2.0 series of darktable,&nbsp;2.0.2!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.0.2">https://github.com/darktable-org/darktable/releases/tag/release-2.0.2</a>.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksum&nbsp;is:</p> <div class="highlight"><pre>$ sha256sum darktable-2.0.2.tar.xz 75ea6354eb08aab8f25315a2de14c68dc6aad6ee5992061beea624afc7912400 darktable-2.0.2.tar.xz $ sha256sum darktable-2.0.2.dmg 33789b5a791770f9308cc653aaf50b0e9c054a0fbdd5e4a1d2e48e2bf6553f95 darktable-2.0.2.dmg </pre></div> <p>and the changelog as compared to 2.0.1 can be found&nbsp;below.</p> <h2>General</h2> <ul> <li>Require glib of at least version&nbsp;2.40</li> </ul> <h2>New&nbsp;features</h2> <ul> <li>Add support for DNGs from&nbsp;x3f_extract</li> <li>Support <span class="caps">XMP</span> files from Ramperpro timelapse controllers from&nbsp;ElysiaVisuals</li> </ul> <h2>Bugfixes</h2> <ul> <li>Fix some problems with sluggish <span class="caps">GUI</span> when Lua is compiled&nbsp;in</li> <li>Some High <span class="caps">DPI</span>&nbsp;fixes</li> <li>Small theming&nbsp;fixes</li> <li>Fix some strings being too long in the <span class="caps">GUI</span>, especially when using localized&nbsp;versions</li> <li>Fix a potential crash with malformed <span class="caps">GPX</span>&nbsp;files</li> <li>Fix wrong zoom level of the map when searching for a&nbsp;location</li> <li>Put <span class="caps">XMP</span> metadata into the right Exif&nbsp;fields</li> <li>Fix a crash in&nbsp;masks.</li> <li>Fix a crash in&nbsp;demosaicing</li> <li>Fix Markesteijn&nbsp;demosaicing</li> <li>Fix a crash when moving the mouse while going to darkroom when crop&amp;rotate is&nbsp;active</li> <li>Fix discrepancy between <span class="caps">CPU</span> and OpenCL codepath in&nbsp;invert</li> <li>Fix some crashes with certain <span class="caps">TIFF</span>&nbsp;files</li> <li>Fix build with <span class="caps">GCC6</span></li> <li>Fix build with osmgpsmap older than&nbsp;1.1.0</li> <li>Fix compilation when there are spaces in the path&nbsp;names</li> </ul> <h2>Camera&nbsp;support</h2> <ul> <li>Fujifilm&nbsp;X-Pro2</li> </ul> <h2>White balance&nbsp;presets</h2> <ul> <li>Pentax&nbsp;K-S2</li> </ul> <h2>Noise&nbsp;profiles</h2> <ul> <li>Fujifilm&nbsp;X-T10</li> <li>Pentax&nbsp;K-S2</li> </ul> <h2>Translations</h2> <ul> <li> <p>new</p> <ul> <li>Hebrew</li> </ul> </li> <li> <p>updated</p> <ul> <li>German</li> <li>Slovak</li> <li>Swedish</li> </ul> </li> </ul><img src="https://www.darktable.org/2016/03/darktable-2-0-2-released/honda_wide.jpg" class="hidden-lede">houzMon, 07 Mar 2016 13:02:15 +0000tag:www.darktable.org,2016-03-07:2016/03/darktable-2-0-2-released/announcementdarktable releasedarktable 2.0.1 releasedhttps://www.darktable.org/2016/02/darktable-2-0-1-released/<p>we&#8217;re proud to announce the first bugfix release for the 2.0 series of darktable,&nbsp;2.0.1!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.0.1">https://github.com/darktable-org/darktable/releases/tag/release-2.0.1</a></p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-2.0.1.tar.xz 4d0e76eb42b95418ab59c17bff8aac660f5348b082aabfb3113607c67e87830b darktable-2.0.1.tar.xz $ sha256sum darktable-2.0.1.dmg 580d1feb356e05d206eb74d7c134f0ffca4202943388147385c5b8466fc1eada darktable-2.0.1.dmg </pre></div> <p>and the changelog as compared to 2.0.0 can be found&nbsp;below.</p> <h2>New&nbsp;features:</h2> <ul> <li>add export variables for Creator, Publisher and Rights from&nbsp;metadata</li> <li>add support for key accels for spot removal&nbsp;iop</li> <li>add some more info to <code>--version</code></li> <li>add collection sorting by group_id to keep grouped images&nbsp;together</li> <li>add <code>$(IMAGE.BASENAME)</code> to&nbsp;watermark</li> <li><span class="caps">OSX</span> packaging: add&nbsp;darktable-cltest</li> <li><span class="caps">OSX</span> packaging: add&nbsp;darktable-generate-cache</li> </ul> <h2>Bugfixes:</h2> <ul> <li>make sure <span class="caps">GTK</span> prefers our <span class="caps">CSS</span> over&nbsp;system&#8217;s</li> <li>make selected label&#8217;s background color&nbsp;visible</li> <li>make ctrl-t completion popup&nbsp;nicer</li> <li>fixed folder list scrolling to the top on&nbsp;select</li> <li>scale waveform histogram to hidpi&nbsp;screens</li> <li>really hide all panels in&nbsp;slideshow</li> <li>add filename to missing white balance&nbsp;message</li> <li>fix wrong tooltip in print&nbsp;scale</li> <li>changing mask no longer invalidates the filmstrip thumb, making it&nbsp;faster</li> <li>fix calculated image count in a&nbsp;collection</li> <li>don&#8217;t allow too small&nbsp;sidepanels</li> <li>fixes white balance sliders for some&nbsp;cameras</li> <li>fix some&nbsp;memleaks</li> <li>code hardening in color&nbsp;reconstruction</li> <li>validate noiseprofiles.json on&nbsp;startup</li> <li>no longer lose old export&nbsp;presets</li> <li>fix some crash with wrong&nbsp;history_end</li> <li>don&#8217;t load images from cameras with <span class="caps">CYGM</span>/<span class="caps">RGBE</span> <span class="caps">CFA</span> for&nbsp;now</li> <li>some fixes in&nbsp;demosaicing</li> <li>fix red/blue interpolation for&nbsp;XTrans</li> <li>fix profiled denoise on&nbsp;OpenCL</li> <li>use sRGB when output/softproof profile is&nbsp;missing</li> <li>fix loading of .hdr&nbsp;files</li> <li>default to libsecret instead of gnome keyring which is no longer&nbsp;supported</li> <li>fix a bug in mask border self&nbsp;intersections</li> <li>don&#8217;t allow empty strings as mask shape&nbsp;names</li> <li>fix a crash in&nbsp;masks</li> <li>fix an OpenCL&nbsp;crash</li> <li>eliminate deprecated OpenCL compiler&nbsp;options</li> <li>update appdata file to version&nbsp;0.6</li> <li>allow finding Saxon on Fedora&nbsp;23</li> </ul> <h2>Camera&nbsp;support:</h2> <ul> <li>Fujifilm <span class="caps">XQ2</span> raw&nbsp;support</li> <li>support all Panasonic <span class="caps">FZ150</span> crop&nbsp;modes</li> <li>basic support for Nikon 1&nbsp;V3</li> <li>add defs for Canon <span class="caps">CHDK</span> <span class="caps">DNG</span> cameras to make noise profiles&nbsp;work</li> </ul> <h2>White balance&nbsp;presets:</h2> <ul> <li>add Nikon&nbsp;D5500</li> <li>add Nikon 1&nbsp;V3</li> <li>add missing Nikon D810&nbsp;presets</li> <li>add Fuji <span class="caps">X100T</span></li> </ul> <h2>Basecurves:</h2> <ul> <li>copy <span class="caps">X100S</span> to <span class="caps">X100T</span></li> </ul> <h2>Noise&nbsp;profiles:</h2> <ul> <li>fix typo in D5200 profiles to make them work&nbsp;again</li> <li>add Panasonic <span class="caps">FZ1000</span></li> <li>add Nikon&nbsp;D5500</li> <li>add Ricoh <span class="caps">GR</span></li> <li>add Nikon 1&nbsp;V3</li> <li>add Canon PowerShot&nbsp;S100</li> <li>copy Fuji <span class="caps">X100S</span> to <span class="caps">X100T</span></li> </ul> <h2>Translations:</h2> <ul> <li>add&nbsp;Hungarian</li> <li>update&nbsp;German</li> <li>update&nbsp;Swedish</li> <li>update&nbsp;Slovak</li> <li>update&nbsp;Spanish</li> <li>update&nbsp;Dutch</li> <li>update&nbsp;French</li> </ul><img src="https://www.darktable.org/2016/02/darktable-2-0-1-released/race_cars_wide.jpg" class="hidden-lede">houzWed, 03 Feb 2016 20:45:27 +0000tag:www.darktable.org,2016-02-03:2016/02/darktable-2-0-1-released/announcementdarktable releasedarktable 2.0 releasedhttps://www.darktable.org/2015/12/darktable-2-0-released/<p>we&#8217;re proud to finally announce the new feature release of darktable,&nbsp;2.0!</p> <p>the github release is here: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.0.0">https://github.com/darktable-org/darktable/releases/tag/release-2.0.0</a></p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our tar.xz. the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-2.0.0.tar.xz d4f2f525bbbb1355bc3470e74cc158d79d7e236f3925928f67a88461f1df7cb1  darktable-2.0.0.tar.xz $ sha256sum darktable-2.0.0.dmg 1019646522c3fde81ce0de905220a88b506c7cec37afe010af7d458980dd08bd  darktable-2.0.0.dmg </pre></div> <p>and the changelog as compared to the 1.6.x series can be found&nbsp;below.</p> <p>when updating from the currently stable 1.6.x series, please bear in mind that your edits will be preserved during this process, but it will not be possible to downgrade from 2.0 to 1.6.x any&nbsp;more.</p> <p>happy 2.0 everyone&nbsp;:)</p> <p>Robert Hutton has done a video covering the new features and other changes between darktable 1.6 and&nbsp;2.0</p> <div style="text-align: center"> <iframe width="650" height="400" src="https://www.youtube-nocookie.com/embed/VJbJ0btlui0?rel=0" frameborder="0" gesture="media" allow="encrypted-media" allowfullscreen></iframe> </div> <p>Gource visualization of git log from 1.6.0 to right before&nbsp;2.0</p> <div style="text-align: center"> <iframe width="650" height="400" src="https://www.youtube-nocookie.com/embed/CUiSSfbMwb8?rel=0" frameborder="0" gesture="media" allow="encrypted-media" allowfullscreen></iframe> </div> <p>gui:</p> <ul> <li>darktable has been ported to&nbsp;gtk-3.0</li> <li>the viewport in darkroom mode is now dynamically sized, you specify the border&nbsp;width</li> <li>side panels now default to a width of 350px in dt 2.0 instead of 300px in dt&nbsp;1.6</li> <li>further hidpi&nbsp;enhancements</li> <li>navigating lighttable with arrow keys and&nbsp;space/enter</li> <li>brush size/hardness/opacity have key&nbsp;accels</li> <li>allow adding tone- and basecurve nodes with&nbsp;ctrl-click</li> <li>the facebook login procedure is a little different&nbsp;now</li> <li>image information now supports gps&nbsp;altitude</li> </ul> <p>features:</p> <ul> <li>new print&nbsp;mode</li> <li>reworked screen color management (softproof, gamut check&nbsp;etc.)</li> <li>delete/trash&nbsp;feature</li> <li>pdf&nbsp;export</li> <li>export can&nbsp;upscale</li> <li>new &#8220;mode&#8221; parameter in the export panel to fine tune application of styles upon&nbsp;export</li> </ul> <p>core&nbsp;improvements:</p> <ul> <li>new thumbnail cache replaces mipmap cache (much improved speed, stability and seamless support for even up to 4K/5K&nbsp;screens)</li> <li>all thumbnails are now properly fully&nbsp;color-managed</li> <li>it is now possible to generate thumbnails for all images in the library using new darktable-generate-cache&nbsp;tool</li> <li>we no longer drop history entries above the selected one when leaving darkroom mode or switching&nbsp;images</li> <li>high quality export now downsamples before watermark and framing to guarantee consistent&nbsp;results</li> <li>optimizations to loading jpeg&#8217;s when using libjpeg-turbo with its custom&nbsp;features</li> <li>asynchronous camera and printer detection, prevents deadlocks in some&nbsp;cases</li> <li>noiseprofiles are in external <span class="caps">JSON</span> file&nbsp;now</li> <li>aspect ratios for crop&amp;rotate can be added to config&nbsp;file</li> </ul> <p>image&nbsp;operations:</p> <ul> <li>color reconstruction&nbsp;module</li> <li>magic lantern-style deflicker was added to the exposure module (extremely useful for&nbsp;timelapses)</li> <li>text&nbsp;watermarks</li> <li>shadows&amp;highlights: add option for white point&nbsp;adjustment</li> <li>more proper Kelvin temperature, fine-tuning preset interpolation in white balance&nbsp;iop</li> <li>monochrome raw demosaicing (for cameras with color filter array physically&nbsp;removed)</li> <li>raw black/white point&nbsp;module</li> </ul> <p>packaging:</p> <ul> <li>removed dependency on&nbsp;libraw</li> <li>removed dependency on libsquish (solves patent issues as a side&nbsp;effect)</li> <li>unbundled pugixml, osm-gps-map and&nbsp;colord-gtk</li> </ul> <p>generic:</p> <ul> <li>32-bit support is soft-deprecated due to limited virtual address&nbsp;space</li> <li>support for building with gcc earlier than 4.8 is&nbsp;soft-deprecated</li> <li>numerous memory leaks were&nbsp;exterminated</li> <li>overall stability&nbsp;enhancements</li> </ul> <p>scripting:</p> <ul> <li>lua scripts can now add <span class="caps">UI</span> elements to the lighttable view (buttons, sliders&nbsp;etc&#8230;)</li> <li>a new repository for external lua scripts was started:&nbsp;https://github.com/darktable-org/lua-scripts</li> <li>it is now possible to edit the collection filters via&nbsp;lua</li> <li>it is now possible to add new cropping guides via&nbsp;lua</li> <li>it is now possible to run background tasks in&nbsp;lua</li> <li>a lua event is generated when the mouse under the cursor&nbsp;changes</li> </ul> <p>User manual has been updated, and will be released shortly&nbsp;after.</p> <p>New camera support, compared to&nbsp;1.6.9:</p> <p>Base&nbsp;Support</p> <ul> <li>Canon PowerShot G5&nbsp;X</li> <li>Olympus <span class="caps">SP320</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ150</span>&nbsp;(3:2)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ70</span> (1:1, 3:2,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">FZ72</span> (1:1, 3:2,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GF7</span> (1:1, 3:2,&nbsp;16:9)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX8</span>&nbsp;(4:3)</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LF1</span> (3:2, 16:9,&nbsp;1:1)</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M2</span></li> </ul> <p>White Balance&nbsp;Presets</p> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;M3</li> <li>Canon <span class="caps">EOS</span>-1D Mark <span class="caps">III</span></li> <li>Canon <span class="caps">EOS</span>-1Ds Mark <span class="caps">III</span></li> <li>Canon PowerShot G1&nbsp;X</li> <li>Canon PowerShot G1 X Mark <span class="caps">II</span></li> <li>Canon PowerShot&nbsp;G15</li> <li>Canon PowerShot&nbsp;G16</li> <li>Canon PowerShot G3&nbsp;X</li> <li>Canon PowerShot G5&nbsp;X</li> <li>Canon PowerShot&nbsp;S110</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX8</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LF1</span></li> <li>Pentax *ist <span class="caps">DL2</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX1</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M2</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX1R</span></li> <li>Sony <span class="caps">DSLR</span>-A500</li> <li>Sony <span class="caps">DSLR</span>-A580</li> <li>Sony <span class="caps">ILCE</span>-3000</li> <li>Sony <span class="caps">ILCE</span>-5000</li> <li>Sony <span class="caps">ILCE</span>-5100</li> <li>Sony <span class="caps">ILCE</span>-6000</li> <li>Sony <span class="caps">ILCE</span>-7S</li> <li>Sony <span class="caps">ILCE</span>-<span class="caps">7SM2</span></li> <li>Sony <span class="caps">NEX</span>-3N</li> <li>Sony <span class="caps">NEX</span>-5T</li> <li>Sony <span class="caps">NEX</span>-F3</li> <li>Sony <span class="caps">SLT</span>-A33</li> <li>Sony <span class="caps">SLT</span>-A35</li> </ul> <p>Noise&nbsp;Profiles</p> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;M3</li> <li>Fujifilm&nbsp;X-E1</li> <li>Fujifilm&nbsp;X30</li> <li>Nikon Coolpix&nbsp;P7700</li> <li>Olympus E-M10 Mark <span class="caps">II</span></li> <li>Olympus E-M5 Mark <span class="caps">II</span></li> <li>Olympus E-<span class="caps">PL3</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GX8</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">LF1</span></li> <li>Pentax&nbsp;K-50</li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX1</span></li> <li>Sony <span class="caps">DSC</span>-<span class="caps">RX10M2</span></li> <li>Sony <span class="caps">ILCA</span>-77M2</li> <li>Sony <span class="caps">ILCE</span>-7M2</li> <li>Sony <span class="caps">ILCE</span>-<span class="caps">7RM2</span></li> <li>Sony <span class="caps">SLT</span>-A58</li> </ul> <p>If you are a journalist writing about darktable you are welcome to ask if anything isn&#8217;t clear. we can also proofread articles in some languages like English and&nbsp;German.</p><img src="https://www.darktable.org/2015/12/darktable-2-0-released/Christmas_Moon.jpg" class="hidden-lede">joThu, 24 Dec 2015 10:46:37 +0000tag:www.darktable.org,2015-12-24:2015/12/darktable-2-0-released/announcementdarktable releasefourth release candidate for darktable 2.0https://www.darktable.org/2015/12/fourth-release-candidate-for-darktable-2-0/<p>we&#8217;re proud to announce the fourth and hopefully last release candidate in the new feature release of darktable,&nbsp;2.0~rc4.</p> <p>the release notes and relevant downloads can be found attached to this git tag: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.0rc4">https://github.com/darktable-org/darktable/releases/tag/release-2.0rc4</a> please only use our provided packages (&#8220;darktable-2.0.rc4.*&#8221; tar.xz and dmg) not the auto-created tarballs from github (&#8220;Source code&#8221;, zip and tar.gz). the latter are just git snapshots and will not work! here are the direct links to tar.xz and dmg: <a href="https://github.com/darktable-org/darktable/releases/download/release-2.0rc4/darktable-2.0.rc4.tar.xz">https://github.com/darktable-org/darktable/releases/download/release-2.0rc4/darktable-2.0.rc4.tar.xz</a> <a href="https://github.com/darktable-org/darktable/releases/download/release-2.0rc4/darktable-2.0.rc4.dmg">https://github.com/darktable-org/darktable/releases/download/release-2.0rc4/darktable-2.0.rc4.dmg</a></p> <p>the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-2.0~rc4.tar.xz 79446397a837bc9c262706d91b99ee0cb3339e93e36ebcbc3a23a0af80d77509 darktable-2.0~rc4.tar.xz $ sha256sum darktable-2.0~rc4.dmg 14422e1569f94deb093e198895636b6e63982b9e9812c57e262fc42281d90bf5 darktable-2.0~rc4.dmg </pre></div> <p>packages for individual platforms and distros will follow&nbsp;shortly.</p> <p>the changes from rc3 include minor bugfixes, such&nbsp;as:</p> <ul> <li>translation&nbsp;updates</li> <li>an OpenCL bug&nbsp;fixed</li> <li>fixed a rare crash when leaving&nbsp;darkroom</li> <li>fixed a bug in gamut&nbsp;checking</li> <li>fixed a possible crash in lua garbage&nbsp;collection</li> <li>fixed a bug in rawspeed&#8217;s sraw&nbsp;handling</li> <li>fixed a bug in circle&nbsp;masks</li> <li>allow toggling tethering zoom with&nbsp;&#8216;z&#8217;</li> <li>don&#8217;t make some modules too wide in some&nbsp;languages</li> <li>fixed high <span class="caps">CPU</span> load when hovering&nbsp;filmstrip</li> <li>fixed lighttable&nbsp;prefetching</li> <li>fixed thumbnail color&nbsp;management</li> <li>make tethered focusing for Canon cameras more robust wrt. libgphoto2&nbsp;version</li> <li>some styling&nbsp;fixes</li> <li>fixed filmstrip width when duplicating images in&nbsp;darkroom</li> <li>scroll sidepanels when mouse is next to the window&nbsp;border</li> <li>speed up thumbnail color management using&nbsp;OpenMP</li> <li>fixed a few small&nbsp;memleaks</li> <li>fixed <span class="caps">PDF</span> exporter when compiled without&nbsp;Lua</li> <li> <p>camera support&nbsp;improvements:</p> <ul> <li> <p>noiseprofiles:</p> <ul> <li>add Olympus E-M5 Mark <span class="caps">II</span></li> <li>add Canon&nbsp;M3</li> <li>add Fuji&nbsp;X30</li> <li>add Sony <span class="caps">RX10M2</span></li> <li>add Panasonic <span class="caps">GX8</span></li> <li>add Sony <span class="caps">A7RII</span></li> </ul> </li> <li> <p>whitebalance:</p> <ul> <li>Canon&nbsp;S110</li> <li>Canon&nbsp;S100</li> <li>Canon G1 X Mark <span class="caps">II</span></li> <li>Canon PowerShot G3&nbsp;X</li> <li>Canon PowerShot&nbsp;G16</li> <li>Canon PowerShot&nbsp;G15</li> <li>Canon PowerShot G1&nbsp;X</li> <li>Canon 1D Mark <span class="caps">III</span></li> <li>Canon 1Ds Mark <span class="caps">III</span></li> <li>Canon <span class="caps">EOS</span>&nbsp;M3</li> <li>Panasonic <span class="caps">GX8</span></li> <li>Pentax *ist <span class="caps">DL2</span></li> <li>Sony <span class="caps">NEX</span>-F3</li> <li>Sony <span class="caps">SLT</span>-A33</li> <li>Sony <span class="caps">NEX</span>-5T</li> <li>Sony <span class="caps">NEX</span>-3N</li> <li>Sony&nbsp;A3000</li> <li>Sony&nbsp;A5000</li> <li>Sony&nbsp;A5100</li> <li>Sony&nbsp;A500</li> <li>Sony <span class="caps">RX1R</span></li> <li>Sony <span class="caps">RX1</span></li> <li>Sony <span class="caps">DSLR</span>-A580</li> <li>Sony <span class="caps">ILCE</span>-6000</li> <li>Sony <span class="caps">ILCE</span>-7S</li> <li>Sony <span class="caps">ILCE</span>-<span class="caps">7SM2</span></li> <li>Sony <span class="caps">SLT</span>-A35</li> </ul> </li> <li> <p>rawspeed&nbsp;fixes:</p> <ul> <li>support all Panasonic <span class="caps">GF7</span>&nbsp;crops</li> <li>support all Panasonic <span class="caps">FZ70</span>/<span class="caps">FZ72</span>&nbsp;crops</li> <li>support <span class="caps">FZ150</span> 3:2 and fix 4:3&nbsp;blackpoint</li> <li>fixed whitebalance for Canon G3&nbsp;X</li> <li>whitebalance support for the Leaf Credo&nbsp;line</li> <li>fixed Nikon D1&nbsp;whitebalance</li> <li>whitebalance support for Canon&nbsp;Pro1/G6/S60/S70</li> <li>add another whitebalance mode for Canon&nbsp;D30</li> <li>fixed whitebalance for Canon&nbsp;G3/G5/S45/S50</li> <li>fixed whitebalance for Canon&nbsp;S90</li> <li>support another Canon 350D&nbsp;alias</li> </ul> </li> </ul> </li> </ul><img src="https://www.darktable.org/2015/12/fourth-release-candidate-for-darktable-2-0/sail_wide.jpg" class="hidden-lede">houzWed, 16 Dec 2015 18:26:23 +0000tag:www.darktable.org,2015-12-16:2015/12/fourth-release-candidate-for-darktable-2-0/announcementdarktable releasethird release candidate for darktable 2.0 & string freezehttps://www.darktable.org/2015/11/third-release-candidate-for-darktable-2-0/<p>we&#8217;re proud to announce the third release candidate in the new feature release of darktable,&nbsp;2.0~rc3.</p> <p>the release notes and relevant downloads can be found attached to this git&nbsp;tag:</p> <p><a href="https://github.com/darktable-org/darktable/releases/tag/release-2.0rc3">https://github.com/darktable-org/darktable/releases/tag/release-2.0rc3</a></p> <p>please only use our provided packages (&#8220;darktable-2.0.rc3.*&#8221; tar.xz and dmg) not the auto-created tarballs from github (&#8220;Source code&#8221;, zip and tar.gz). the latter are just git snapshots and will not work! here are the direct links to tar.xz and&nbsp;dmg:</p> <p><a href="https://github.com/darktable-org/darktable/releases/download/release-2.0rc3/darktable-2.0.rc3.tar.xz">https://github.com/darktable-org/darktable/releases/download/release-2.0rc3/darktable-2.0.rc3.tar.xz</a></p> <p><a href="https://github.com/darktable-org/darktable/releases/download/release-2.0rc3/darktable-2.0.rc3.dmg">https://github.com/darktable-org/darktable/releases/download/release-2.0rc3/darktable-2.0.rc3.dmg</a></p> <p>the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-2.0~rc3.tar.xz 4d81527350e6f722da484bdcd3f620918321b0e15b1fdad219821abbf23c2c89 darktable-2.0~rc3.tar.xz $ sha256sum darktable-2.0~rc3.dmg 109d5f14cd71fcee29b6646698028fde1f864c6cd51c5c25086b1a1d9f9578b2 darktable-2.0~rc3.dmg </pre></div> <p>packages for individual platforms and distros will follow&nbsp;shortly.</p> <p>as we&#8217;re closing in to the final version, we are also officially in string freeze as of now. this affects darktable, not the user&nbsp;manual.</p> <p>the changes from rc2 include minor bugfixes, such&nbsp;as:</p> <ul> <li> <p>camera support&nbsp;improvements</p> <ul> <li>add support for the Canon PowerShot G5&nbsp;X</li> <li>basic support for Olympus <span class="caps">SP320</span></li> <li>Panasonic <span class="caps">LF1</span> noise profile and white balance&nbsp;presets</li> <li>noiseprofiles: add Sony&nbsp;A77mk2</li> </ul> </li> <li> <p>high-dpi&nbsp;fixes</p> </li> <li>fixed a few&nbsp;memleaks</li> <li>3:1 aspect ratio as preset in&nbsp;crop&amp;rotate</li> <li>magic lantern-style deflicker has been activated in the exposure&nbsp;module</li> <li>updated&nbsp;translations</li> </ul> <p>and the preliminary changelog as compared to the 1.6.x series can be found&nbsp;below.</p> <p>when updating from the currently stable 1.6.x series, please bear in mind that your edits will be preserved during this process, but it will not be possible to downgrade from 2.0 to 1.6.x any more. be careful if you need darktable for production&nbsp;work!</p> <p>happy 2.0~rc3 everyone&nbsp;:)</p> <ul> <li>darktable has been ported to&nbsp;gtk-3.0</li> <li>new thumbnail cache replaces mipmap cache (much improved speed, less&nbsp;crashiness)</li> <li>added print&nbsp;mode</li> <li>reworked screen color management (softproof, gamut check&nbsp;etc.)</li> <li>removed dependency on&nbsp;libraw</li> <li>removed dependency on libsquish (solves patent issues as a side&nbsp;effect)</li> <li>unbundled pugixml, osm-gps-map and&nbsp;colord-gtk</li> <li>text&nbsp;watermarks</li> <li>color reconstruction&nbsp;module</li> <li>raw black/white point&nbsp;module</li> <li>delete/trash&nbsp;feature</li> <li>addition to&nbsp;shadows&amp;highlights</li> <li>more proper Kelvin temperature, fine-tuning preset interpolation in <span class="caps">WB</span>&nbsp;iop</li> <li>noiseprofiles are in external <span class="caps">JSON</span> file&nbsp;now</li> <li>monochrome raw demosaicing (not sure whether it will stay for release, like Deflicker, but hopefully it will&nbsp;stay)</li> <li>aspect ratios for crop&amp;rotate can be added to conf&nbsp;(ae36f03)</li> <li>navigating lighttable with arrow keys and&nbsp;space/enter</li> <li>pdf export&nbsp;– some changes might happen there&nbsp;still</li> <li>brush size/hardness/opacity have key&nbsp;accels</li> <li>the facebook login procedure is a little different&nbsp;now</li> <li>export can&nbsp;upscale</li> <li>we no longer drop history entries above the selected one when leaving darkroom or switching&nbsp;images</li> <li>text/font/color in&nbsp;watermarks</li> <li>image information now supports <span class="caps">GPS</span>&nbsp;altitude</li> <li>allow adding tone- and basecurve nodes with&nbsp;ctrl-click</li> <li>new &#8220;mode&#8221; parameter in the export&nbsp;panel</li> <li>high quality export now downsamples before watermark and frame to guarantee consistent&nbsp;results</li> <li>Lua scripts can now add <span class="caps">UI</span> elements to the lighttable view (buttons, sliders etc&nbsp;…)</li> <li>a new repository for external Lua scripts was&nbsp;started</li> </ul><img src="https://www.darktable.org/2015/11/third-release-candidate-for-darktable-2-0/autumn_path_wide.jpg" class="hidden-lede">houzMon, 30 Nov 2015 10:55:34 +0000tag:www.darktable.org,2015-11-30:2015/11/third-release-candidate-for-darktable-2-0/announcementdarktable releaseUbuntu Unstable Repository and our Release Candidateshttps://www.darktable.org/2015/11/ubuntu-unstable-repository-and-our-release-candidates/<p>Following is a public service announcement from Pascal de Bruijn, the maintainer of the Ubuntu&nbsp;PPAs.</p> <p>As most of you know, my <a href="https://launchpad.net/~pmjdebruijn/+archive/ubuntu/darktable-unstable">darktable-unstable</a> <a href="https://en.wikipedia.org/wiki/Personal_Package_Archive"><span class="caps">PPA</span></a> was serving as a pre-release repository for our stable maintenance tree, as it usually does. Now as master has settled down, and we&#8217;re slowly gearing up for a 2.0 release, I&#8217;ll do pre-release (release candidate) builds for darktable 2.0&nbsp;there.</p> <p>On my <a href="https://launchpad.net/~pmjdebruijn/+archive/ubuntu/darktable-unstable">darktable-unstable</a> <a href="https://en.wikipedia.org/wiki/Personal_Package_Archive"><span class="caps">PPA</span></a> I will support Ubuntu Trusty (14.04, the latest <a href="https://wiki.ubuntu.com/LTS">Long Term Support</a> release) as always. Temporarily I&#8217;ll support Ubuntu Wily (15.10, the latest plain release) as well, at least until we have a final 2.0 stable release. Once we have a final 2.0 stable release I will support all Ubuntu versions (still) supported by Canonical at that time via my <a href="https://launchpad.net/~pmjdebruijn/+archive/ubuntu/darktable-release">darktable-release</a> <a href="https://en.wikipedia.org/wiki/Personal_Package_Archive"><span class="caps">PPA</span></a> as&nbsp;usual.</p> <p>In general updates on my <a href="https://launchpad.net/~pmjdebruijn/+archive/ubuntu/darktable-unstable">darktable-unstable</a> <a href="https://en.wikipedia.org/wiki/Personal_Package_Archive"><span class="caps">PPA</span></a> should be expected to be fairly erratic, completely depending on the number and significance of changes being made in <a href="https://github.com/darktable-org/darktable/commits/master">git master</a>. That said, I expect that it will probably average out at once a week or&nbsp;so.</p> <p>If you find any issues with these darktable release candidates please do report them to our <a href="https://redmine.darktable.org/issues">bug tracker</a>.</p><img src="https://www.darktable.org/2015/11/ubuntu-unstable-repository-and-our-release-candidates/lumber.jpg" class="hidden-lede">pmjdebruijnTue, 17 Nov 2015 19:50:48 +0000tag:www.darktable.org,2015-11-17:2015/11/ubuntu-unstable-repository-and-our-release-candidates/second release candidate for darktable 2.0https://www.darktable.org/2015/11/second-release-candidate-for-darktable-2-0/<p>we&#8217;re proud to announce the second release candidate in the new feature release of darktable,&nbsp;2.0~rc2.</p> <p>as always, please don&#8217;t use the autogenerated tarball provided by github, but only our&nbsp;tar.xz.</p> <p>the release notes and relevant downloads can be found attached to this git tag: <a href="https://github.com/darktable-org/darktable/releases/tag/release-2.0rc2">https://github.com/darktable-org/darktable/releases/tag/release-2.0rc2</a> please only use our provided packages (&#8220;darktable-2.0.rc2.*&#8221; tar.xz and dmg) not the auto-created tarballs from github (&#8220;Source code&#8221;, zip and tar.gz). the latter are just git snapshots and will not work! here are the direct links to tar.xz and dmg: <a href="https://github.com/darktable-org/darktable/releases/download/release-2.0rc2/darktable-2.0.rc2.tar.xz">https://github.com/darktable-org/darktable/releases/download/release-2.0rc2/darktable-2.0.rc2.tar.xz</a> <a href="https://github.com/darktable-org/darktable/releases/download/release-2.0rc2/darktable-2.0.rc2.dmg">https://github.com/darktable-org/darktable/releases/download/release-2.0rc2/darktable-2.0.rc2.dmg</a></p> <p>the checksums&nbsp;are:</p> <div class="highlight"><pre>$ sha256sum darktable-2.0~rc2.tar.xz 9349eaf45f6aa4682a7c7d3bb8721b55ad9d643cc9bd6036cb82c7654ad7d1b1 darktable-2.0~rc2.tar.xz $ sha256sum darktable-2.0~rc2.dmg f343a3291642be1688b60e6dc98930bdb559fc5022e32544dcbe35a38aed6c6d darktable-2.0~rc2.dmg </pre></div> <p>packages for individual platforms and distros will follow&nbsp;shortly.</p> <p>for your convenience, robert hutton collected build instructions for quite a few distros in our&nbsp;wiki:</p> <p><a href="https://redmine.darktable.org/projects/darktable/wiki/Building_darktable_20">https://redmine.darktable.org/projects/darktable/wiki/Building_darktable_20</a></p> <p>the changes from rc1 include many minor bugfixes, such&nbsp;as:</p> <ul> <li>high iso fix for exif data of some&nbsp;cameras</li> <li>various macintosh fixes&nbsp;(fullscreen)</li> <li>fixed a&nbsp;deadlock</li> <li>updated&nbsp;translations</li> </ul> <p>and the preliminary changelog as compared to the 1.6.x series can be found&nbsp;below.</p> <p>when updating from the currently stable 1.6.x series, please bear in mind that your edits will be preserved during this process, but it will not be possible to downgrade from 2.0 to 1.6.x any more. be careful if you need darktable for production&nbsp;work!</p> <p>happy 2.0~rc2 everyone&nbsp;:)</p> <ul> <li>darktable has been ported to&nbsp;gtk-3.0</li> <li>new thumbnail cache replaces mipmap cache (much improved speed, less&nbsp;crashiness)</li> <li>added print&nbsp;mode</li> <li>reworked screen color management (softproof, gamut check&nbsp;etc.)</li> <li>removed dependency on&nbsp;libraw</li> <li>removed dependency on libsquish (solves patent issues as a side&nbsp;effect)</li> <li>unbundled pugixml, osm-gps-map and&nbsp;colord-gtk</li> <li>text&nbsp;watermarks</li> <li>color reconstruction&nbsp;module</li> <li>raw black/white point&nbsp;module</li> <li>delete/trash&nbsp;feature</li> <li>addition to&nbsp;shadows&amp;highlights</li> <li>more proper Kelvin temperature, fine-tuning preset interpolation in <span class="caps">WB</span>&nbsp;iop</li> <li>noiseprofiles are in external <span class="caps">JSON</span> file&nbsp;now</li> <li>monochrome raw demosaicing (not sure whether it will stay for release, like Deflicker, but hopefully it will&nbsp;stay)</li> <li>aspect ratios for crop&amp;rotate can be added to conf&nbsp;(ae36f035e1496b8b8befeb74ce81edf3be588801)</li> <li>navigating lighttable with arrow keys and&nbsp;space/enter</li> <li>pdf export &#8212; some changes might happen there&nbsp;still</li> <li>brush size/hardness/opacity have key&nbsp;accels</li> <li>the facebook login procedure is a little different&nbsp;now</li> <li>export can&nbsp;upscale</li> <li>we no longer drop history entries above the selected one when leaving dr or switching&nbsp;images</li> <li>text/font/color in&nbsp;watermarks</li> <li>image information now supports gps&nbsp;altitude</li> <li>allow adding tone- and basecurve nodes with&nbsp;ctrl-click</li> <li>new &#8220;mode&#8221; parameter in the export&nbsp;panel</li> <li>high quality export now downsamples before watermark and frame to guarantee consistent&nbsp;results</li> <li>lua scripts can now add <span class="caps">UI</span> elements to the lighttable view (buttons, sliders&nbsp;etc&#8230;)</li> <li>a new repository for external lua scripts was&nbsp;started.</li> </ul><img src="https://www.darktable.org/2015/11/second-release-candidate-for-darktable-2-0/cannobio2.jpg" class="hidden-lede">joMon, 16 Nov 2015 18:45:44 +0000tag:www.darktable.org,2015-11-16:2015/11/second-release-candidate-for-darktable-2-0/announcementdarktable releasefirst release candidate for darktable 2.0https://www.darktable.org/2015/11/first-release-candidate-for-darktable-2-0/<p>We&#8217;re proud to announce the first release candidate in the new feature release of darktable,&nbsp;2.0~rc1.</p> <p>The release notes and relevant downloads can be found attached to this git&nbsp;tag:</p> <p><a href="https://github.com/darktable-org/darktable/releases/tag/release-2.0rc1">https://github.com/darktable-org/darktable/releases/tag/release-2.0rc1</a></p> <p>Please only use our provided packages (&#8220;darktable-2.0.rc1.*&#8221; tar.xz and dmg) not the auto-created tarballs from GitHub (&#8220;Source code&#8221;, zip and tar.gz). The latter are just git snapshots and will not work! Here are the direct links to tar.xz and&nbsp;dmg:</p> <p><a href="https://github.com/darktable-org/darktable/releases/download/release-2.0rc1/darktable-2.0.rc1.tar.xz">https://github.com/darktable-org/darktable/releases/download/release-2.0rc1/darktable-2.0.rc1.tar.xz</a></p> <p><a href="https://github.com/darktable-org/darktable/releases/download/release-2.0rc1/darktable-2.0.rc1.dmg">https://github.com/darktable-org/darktable/releases/download/release-2.0rc1/darktable-2.0.rc1.dmg</a></p> <div class="highlight"><pre>$ sha256sum darktable-2.0.rc1.tar.xz 412f17131c8674e266c91c933de1aa2b04c2ab7efdc04a60b00faf3abffc0446 darktable-2.0.rc1.tar.xz $ sha256sum darktable-2.0.rc1.dmg 080b846e677e0e2471389375a103c1714eefd0f9e7c64658758f2a7bf56f69c8 darktable-2.0.rc1.dmg </pre></div> <p>Packages for individual platforms and distros will follow&nbsp;shortly.</p> <p>For your convenience, these are the ubuntu/debian packages required to build the&nbsp;source:</p> <div class="highlight"><pre>$ sudo apt-get build-dep darktable <span class="o">&amp;&amp;</span> sudo apt-get install libgtk-3-dev libpugixml-dev libcolord-gtk-dev libosmgpsmap-1.0-0-dev libcups2-dev </pre></div> <p>And the preliminary changelog can be found&nbsp;below.</p> <p>When updating from the currently stable 1.6.x series, please bear in mind that your edits will be preserved during this process, but it will not be possible to downgrade from 2.0 to 1.6.x any more. Be careful if you need darktable for production&nbsp;work!</p> <p>Happy 2.0~rc1 everyone&nbsp;:)</p> <ul> <li>darktable has been ported to&nbsp;gtk-3.0</li> <li>new thumbnail cache replaces mipmap cache (much improved speed, less&nbsp;crashiness)</li> <li>added print&nbsp;mode</li> <li>reworked screen color management (softproof, gamut check&nbsp;etc.)</li> <li>text&nbsp;watermarks</li> <li>color reconstruction&nbsp;module</li> <li>raw black/white point&nbsp;module</li> <li>delete/trash&nbsp;feature</li> <li>addition to&nbsp;shadows&amp;highlights</li> <li>more proper Kelvin temperature, fine-tuning preset interpolation in the white balance&nbsp;module</li> <li>noiseprofiles are in external <span class="caps">JSON</span> file&nbsp;now</li> <li>monochrome raw demosaicing (not sure whether it will stay for release, like Deflicker, but hopefully it will&nbsp;stay)</li> <li>aspect ratios for crop&amp;rotate can be added to conf (<a href="https://github.com/darktable-org/darktable/commit/ae36f035e1496b8b8befeb74ce81edf3be588801">ae36f03</a>)</li> <li>navigating lighttable with arrow keys and&nbsp;space/enter</li> <li>pdf export&nbsp;– some changes might happen there&nbsp;still</li> <li>brush size/hardness/opacity have key&nbsp;accels</li> <li>the facebook login procedure is a little different&nbsp;now</li> <li>export can&nbsp;upscale</li> <li>we no longer drop history entries above the selected one when leaving darkroom or switching&nbsp;images</li> <li>text/font/color in&nbsp;watermarks</li> <li>image information now supports <span class="caps">GPS</span>&nbsp;altitude</li> <li>allow adding tone- and basecurve nodes with&nbsp;ctrl-click</li> <li>we renamed mipmaps to thumbnails in the&nbsp;preferences</li> <li>new “mode” parameter in the export&nbsp;panel</li> <li>high quality export now downsamples before watermark and frame to guarantee consistent&nbsp;results</li> <li>Lua scripts can now add <span class="caps">UI</span> elements to the lighttable view (buttons, sliders&nbsp;etc.)</li> <li>a new repository for external Lua scripts was&nbsp;started.</li> </ul><img src="https://www.darktable.org/2015/11/first-release-candidate-for-darktable-2-0/nut_wide.jpg" class="hidden-lede">houzWed, 04 Nov 2015 12:27:28 +0000tag:www.darktable.org,2015-11-04:2015/11/first-release-candidate-for-darktable-2-0/announcementdarktable releasereleased darktable 1.6.9https://www.darktable.org/2015/10/released-darktable-1-6-9/<p>We are happy to announce that darktable 1.6.9 has been&nbsp;released.</p> <p>The release notes and relevant downloads can be found attached to this git tag: <a href="https://github.com/darktable-org/darktable/releases/tag/release-1.6.9"> https://github.com/darktable-org/darktable/releases/tag/release-1.6.9</a> Please only use our provided packages (&#8220;darktable-1.6.9.*&#8221; tar.xz and dmg) not the auto-created tarballs from github (&#8220;Source code&#8221;, zip and tar.gz). The latter are just git snapshots and will not work! Here are the direct links to tar.xz and dmg: <a href="https://github.com/darktable-org/darktable/releases/download/release-1.6.9/darktable-1.6.9.tar.xz"> https://github.com/darktable-org/darktable/releases/download/release-1.6.9/darktable-1.6.9.tar.xz</a> <a href="https://github.com/darktable-org/darktable/releases/download/release-1.6.9/darktable-1.6.9.dmg">&nbsp;https://github.com/darktable-org/darktable/releases/download/release-1.6.9/darktable-1.6.9.dmg</a></p> <p>this will likely be the last maintenance release in our 1.6 major release&nbsp;series</p> <div class="highlight"><pre>$ sha256sum darktable-1.6.9.tar.xz 0f721e9d298a9407f6c0325d9c95b9dc37fa60f3b6a2f2e3b5675ff97c423173 darktable-1.6.9.tar.xz $ sha256sum darktable-1.6.9.dmg f79b0c4f317f87aab353c25216f2a3628efa2a072b1ce64c21d075a3dda54e9e darktable-1.6.9.dmg </pre></div> <h2>general</h2> <ul> <li>don&#8217;t build with external lua 5.3 or higher (darktable <span class="caps">MUST</span> be built with lua&nbsp;5.2)</li> <li>format datetime locale dependant (and try to handle timezones&nbsp;better)</li> <li>fix various minor memory&nbsp;leaks</li> <li>use sRGB as display profile on all versions of <span class="caps">OS</span> X, fixes monitor profile being applied&nbsp;twice</li> </ul> <h2>rawspeed</h2> <p>(newly added camera support should be considered experimental for the time&nbsp;being):</p> <ul> <li>Olympus E-M10&nbsp;Mk2</li> <li>Canon G3&nbsp;X</li> <li>Canon PowerShot <span class="caps">SX60</span> <span class="caps">HS</span></li> <li>Sony <span class="caps">A7R</span> <span class="caps">II</span></li> <li>Fuji&nbsp;X-A2</li> <li>Panasonic <span class="caps">FZ1000</span> bad pixel&nbsp;detection</li> <li>alias Panasonic <span class="caps">TZ70</span>/<span class="caps">ZS50</span> to the <span class="caps">TZ71</span></li> <li>improve Samsung <span class="caps">NX1</span>/<span class="caps">NX500</span> support (handle 12bit&nbsp;modes)</li> <li>don&#8217;t load broken Kodak kdc&nbsp;files</li> </ul> <h2>white balance&nbsp;presets</h2> <ul> <li>Olympus E-M10&nbsp;Mk2</li> <li>Canon PowerShot <span class="caps">SX60</span> <span class="caps">HS</span></li> <li>Canon PowerShot G7&nbsp;X</li> <li>Sony <span class="caps">A7R</span> <span class="caps">II</span></li> <li>Sony A7 <span class="caps">II</span></li> <li>Sony <span class="caps">RX100M4</span></li> <li>Sony <span class="caps">RX10</span></li> <li>Nikon 1&nbsp;J5</li> </ul> <h2>noiseprofiles</h2> <ul> <li>Nikon&nbsp;D3300</li> <li>Canon PowerShot&nbsp;S120</li> </ul> <h2>translations</h2> <ul> <li>Swedish (small&nbsp;updates)</li> </ul><img src="https://www.darktable.org/2015/10/released-darktable-1-6-9/lede_wide.jpg" class="hidden-lede">houzTue, 20 Oct 2015 15:36:49 +0000tag:www.darktable.org,2015-10-20:2015/10/released-darktable-1-6-9/announcementdarktable releaseFeature Freeze darktable 2.0https://www.darktable.org/2015/10/feature-freeze-darktable-2-0/<p>Dear&nbsp;all,</p> <p>yesterday we entered the feature freeze stage for the upcoming darktable 2.0 feature release: no more new features will be allowed in. The coming months will be used to stabilize and fine-tune the code&nbsp;base.</p> <p>As usual we don&#8217;t make any definite statements about a release schedule, but we suggest to stay tuned towards the end of the&nbsp;year.</p> <p>the dt&nbsp;team</p><img src="https://www.darktable.org/2015/10/feature-freeze-darktable-2-0/flower.jpg" class="hidden-lede">smnWed, 14 Oct 2015 08:44:47 +0000tag:www.darktable.org,2015-10-14:2015/10/feature-freeze-darktable-2-0/released darktable 1.6.8https://www.darktable.org/2015/07/released-darktable-1-6-8/<p>We are happy to announce that darktable 1.6.8 has been&nbsp;released.</p> <p>The release notes and relevant downloads can be found attached to this git tag: <a href="https://github.com/darktable-org/darktable/releases/tag/release-1.6.8"> https://github.com/darktable-org/darktable/releases/tag/release-1.6.8</a> Please only use our provided packages (&#8220;darktable-1.6.8.*&#8221; tar.xz and dmg) not the auto-created tarballs from github (&#8220;Source code&#8221;, zip and tar.gz). The latter are just git snapshots and will not work! Here are the direct links to tar.xz and dmg: <a href="https://github.com/darktable-org/darktable/releases/download/release-1.6.8/darktable-1.6.8.tar.xz"> https://github.com/darktable-org/darktable/releases/download/release-1.6.8/darktable-1.6.8.tar.xz</a> <a href="https://github.com/darktable-org/darktable/releases/download/release-1.6.8/darktable-1.6.8.dmg">&nbsp;https://github.com/darktable-org/darktable/releases/download/release-1.6.8/darktable-1.6.8.dmg</a></p> <p>this is a point release in the stable series. the sha256sum&nbsp;is</p> <div class="highlight"><pre>sha256sum darktable-1.6.8.tar.xz b676f81bd8cc661a8f76e03ad449da4444f770b6bec3e9accf013c636f690905 sha256sum darktable-1.6.8.dmg ec4b1ad797ea7a483d7fc94724de99a1d18da7d7f75071220e1d313e0a4d8a53 </pre></div> <p>and as always, please don&#8217;t use the tarballs provided by github (marked as &#8220;Source&nbsp;code&#8221;).</p> <h2>changes</h2> <ul> <li>clipping, santiy check for custom aspect&nbsp;ratios</li> <li>read lensmodel from&nbsp;xmp</li> <li>handle canon lens recognition special&nbsp;case</li> <li>general&nbsp;cleanups</li> </ul> <h2>rawspeed</h2> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;M3</li> <li>Canon <span class="caps">EOS</span> 5Ds&nbsp;(R)</li> <li>Nikon 1&nbsp;J5</li> <li>Panasonic <span class="caps">DMC</span>-G7 (4:3 aspect ratio&nbsp;only)</li> <li>Fujifilm&nbsp;X-T10</li> <li>Pentax&nbsp;K-S2</li> <li>Panasonic <span class="caps">TZ71</span></li> <li>Olympus <span class="caps">TG</span>-4</li> <li>Leica <span class="caps">VLUX1</span> 4:3 aspect ratio&nbsp;mode</li> </ul> <h2>standard color&nbsp;matrices</h2> <ul> <li>Canon <span class="caps">EOS</span>&nbsp;M3</li> <li>Canon <span class="caps">EOS</span> 5Ds&nbsp;(R)</li> <li>Nikon 1&nbsp;J5</li> <li>Panasonic <span class="caps">DMC</span>-G7</li> <li>Fujifilm&nbsp;X-T10</li> <li>Pentax&nbsp;K-S2</li> <li>Olympus <span class="caps">TG</span>-4</li> </ul> <h2>white balance&nbsp;presets</h2> <ul> <li>Samsung <span class="caps">NX500</span></li> <li>Panasonic <span class="caps">TZ71</span></li> </ul> <h2>noise&nbsp;profiles</h2> <ul> <li>Sony <span class="caps">ILCE</span>-5100</li> <li>Fujifilm <span class="caps">HS50EXR</span></li> <li>Canon <span class="caps">EOS</span> 5Ds&nbsp;R</li> </ul> <p>So now go out, enjoy the summer and take a lot of&nbsp;photos!</p><img src="https://www.darktable.org/2015/07/released-darktable-1-6-8/dt-2_wide.jpg" class="hidden-lede">houzThu, 30 Jul 2015 21:55:00 +0000tag:www.darktable.org,2015-07-30:2015/07/released-darktable-1-6-8/announcementdarktable releaseWhy don’t you provide a Windows build?https://www.darktable.org/2015/07/why-dont-you-provide-a-windows-build/<p>Due to the heated debate lately, a short&nbsp;foreword:</p> <p>We do not want to harass, insult or criticize anyone due to his or her choice of operating system. Still, from time to time we encounter comments from people accusing us of ignorance or even disrespect towards Windows users. If any of our statements can be interpreted such, we want to apologize for that&nbsp;– and once more give the full explanation of our lacking Windows&nbsp;support.</p> <h2>The darktable&nbsp;project</h2> <p>darktable is developed and maintained by a small group of people in their spare time, just for fun. We do not have any funds, do not provide travel reimbursements for conferences or meetings, and don&#8217;t even have a legal entity at the moment. In other words: None of the developers has ever seen (and most likely will ever see) a single $(<span class="caps">INSERT</span> <span class="caps">YOUR</span> <span class="caps">CURRENCY</span>) for the development of darktable, which is thus a project purely driven by enthusiasm and&nbsp;curiosity.</p> <h2>The development&nbsp;environment</h2> <p>The team is quite mixed, some have a professional background in computing, others don&#8217;t. But all love photography and like exploring the full information recorded by the camera themselves. Most new features are added to darktable as an expert for, let&#8217;s say <span class="caps">GPU</span> computing, steps up and is willing to provide and maintain code for the new&nbsp;feature.</p> <p>Up till now there is one technical thing that unites all developers: None of them is using Windows as operating system. Some are using Mac <span class="caps">OSX</span>, Solaris, etc, but most run some Linux distribution. New flavors of operating systems kept being added to our list with people willing to support their favorite system joining the&nbsp;team.</p> <p>Also (since this stands out a bit as “commercial operating system”) Mac <span class="caps">OS</span> X support arrived in exactly this way. Someone (parafin!) popped up, said: “I like this software, and I want to run darktable on my Mac.”, compiled it on <span class="caps">OS</span> X and since then does testing and package building for the Mac <span class="caps">OS</span> X operating system. And this is not an easy job. Initially there were just snapshot builds from git, no official releases, not even release candidates&nbsp;– but already the first complaints about the quality arrived. Finally, there was a lot of time invested in working around specific peculiarities of this operating system to make it work and provide builds for every new version of darktable&nbsp;released.</p> <p>This nicely shows one of the consequences of the project&#8217;s organizational (non-) structure and development approach: at first, every developer cares about darktable running on his personal&nbsp;system.</p> <h2>Code contributions and feature&nbsp;requests</h2> <p>Usually feature requests from users or from the community are treated like a brainstorming session. Someone proposes a new feature, people think and discuss about it&nbsp;– and if someone likes the idea and has time to code it, it might eventually come&nbsp;– if the team agrees on including the&nbsp;feature.</p> <p>But life is not a picnic. You probably wouldn&#8217;t pass by your neighbor and demand from him to repair your broken car&nbsp;– just because you know he loves to tinker with his vintage car collection at home. Same applies here. No one feels comfortable if suddenly request are being made that would require a non-negligible amount of work&nbsp;– but with no return for the person carrying out the work, neither moneywise nor&nbsp;intellectually.</p> <p>This is the feeling created every time someone just passes by leaving as only statement: “Why isn&#8217;t there a Windows build&nbsp;(yet)?”.</p> <h2>Providing a Windows build for&nbsp;darktable</h2> <p>The answer has always been the same: because no one stepped up doing it. None of the passers-by requesting a Windows build actually took the initiative, just downloaded the source code and started the compilation. No one approached the development team with actual build errors and problems encountered during a compilation using MinGW or else on Windows. The only thing ever aired were requests for ready-made&nbsp;binaries.</p> <p>As stated earlier here, the development of darktable is totally about one&#8217;s own initiative. This project (as many others) is not about ordering things and getting them delivered. It&#8217;s about starting things, participating and contributing. It&#8217;s about trying things out yourself. It&#8217;s <span class="caps">FLOSS</span>.</p> <p>One argument that pops up from time to time is: “darktable&#8217;s user base would grow immensely with a Windows build!”. This might be true. But&nbsp;– what&#8217;s the benefit from this? Why should a developer care how many people are using the software if his or her sole motivation was producing a nice software that he/she could process raw files&nbsp;with?</p> <p>On the contrary: more users usually means more support, more bug tracker tickets, more work. And this work usually isn&#8217;t the pleasing sort, hunting seldom bugs occurring with some rare camera&#8217;s files on some other operating system is usually not exactly what people love to spent their Saturday afternoon&nbsp;on.</p> <p>This argumentation would totally make sense if darktable would be sold, the developers paid and the overall profit would depend on the number of people using the software. No one can be blamed for sending such requests to a company selling their software or service (for your money or your data, whatever)&nbsp;– and it is up to them to make an economical decision on whether it makes sense to invest the time and manpower or&nbsp;not.</p> <p>But this is&nbsp;different.</p> <p>Not building darktable on Windows is not a technical issue after all. There certainly are problems of portability, and code changes would be necessary, but in the end it would probably work out. The real problem is (as has been pointed out by the darktable development team many times in the past) the maintenance of the build as well as all the dependencies that the package&nbsp;requires.</p> <p>The darktable team is trying to deliver a high-quality reliable software. Photographers rely on being able to re-process their old developments with recent versions of darktable obtaining exactly the same result&nbsp;– and that on many platforms, being it CPUs or GPUs with OpenCL. Satisfying this objective requires quite some testing, thinking and maintenance&nbsp;work.</p> <p>Spawning another build on a platform that not a single developer is using would mean lots and lots of testing&nbsp;– in unfamiliar terrain, and with no fun attached at all. Releasing a half-way working, barely tested build for Windows would harm the project&#8217;s reputation and diminish the confidence in the software treating your photographs&nbsp;carefully.</p> <p>We hope that this reasoning is comprehensible and that no one feels disrespected due to the choice of operating&nbsp;system.</p> <h1>References</h1> <ul> <li><a href="https://www.darktable.org/2011/07/that-other-os/"><span>That other <span class="caps">OS</span></span></a></li> </ul><img src="https://www.darktable.org/2015/07/why-dont-you-provide-a-windows-build/windows_wide.jpg" class="hidden-lede">smnMon, 13 Jul 2015 21:15:02 +0000tag:www.darktable.org,2015-07-13:2015/07/why-dont-you-provide-a-windows-build/blogreleased darktable 1.6.7https://www.darktable.org/2015/06/released-darktable-1-6-7/<p>We are happy to announce that darktable 1.6.7 has been&nbsp;released.</p> <p>The release notes and relevant downloads can be found attached to this git tag: <a href="https://github.com/darktable-org/darktable/releases/tag/release-1.6.7"> https://github.com/darktable-org/darktable/releases/tag/release-1.6.7</a> Please only use our provided packages (&#8220;darktable-1.6.7.*&#8221; tar.xz and dmg) not the auto-created tarballs from github (&#8220;Source code&#8221;, zip and tar.gz). The latter are just git snapshots and will not work! Here are the direct links to tar.xz and dmg: <a href="https://github.com/darktable-org/darktable/releases/download/release-1.6.7/darktable-1.6.7.tar.xz"> https://github.com/darktable-org/darktable/releases/download/release-1.6.7/darktable-1.6.7.tar.xz</a> <a href="https://github.com/darktable-org/darktable/releases/download/release-1.6.7/darktable-1.6.7.dmg">https://github.com/darktable-org/darktable/releases/download/release-1.6.7/darktable-1.6.7.dmg</a></p> <p>this is another point release in the stable 1.6.x&nbsp;series.</p> <div class="highlight"><pre>sha256sum darktable-1.6.7.tar.xz a75073b49df0a30cd2686624feeb6210bc083bc37112ae6e045f8523db4c4c98 sha256sum darktable-1.6.7.dmg 6630230049e6d2c4cdfd39585f95fbd1ee439a8dad107f7332aefeb1dd75b831 </pre></div> <h2>security</h2> <ul> <li>libraw <a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3885"><span class="caps">CVE</span>-2015-3885</a>: fix integer overflow in&nbsp;ljpeg_start()</li> </ul> <h2>miscellaneous</h2> <ul> <li>improvements to facebook&nbsp;export</li> <li>interpolation&nbsp;fixups</li> <li>demosaic code&nbsp;cleanups</li> <li>slideshow should handle very small images&nbsp;better</li> <li>improve Olympus lens&nbsp;detection</li> <li>various minor memory leak&nbsp;fixes</li> <li>various other&nbsp;fixes</li> <li>Pentax (K-x) <span class="caps">DNG</span> old embedded preview left over is now&nbsp;removed</li> <li>modern <span class="caps">OSX</span> display profile&nbsp;handling</li> </ul> <h2>camera&nbsp;support</h2> <ul> <li>Nikon D7200 (both 12bit and 14bit compressed&nbsp;NEFs)</li> <li>Nikon Coolpix&nbsp;P340</li> <li>Canon <span class="caps">EOS</span>&nbsp;750D</li> <li>Canon <span class="caps">EOS</span>&nbsp;760D</li> <li>Canon <span class="caps">EOS</span>&nbsp;M2</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">CM1</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GF7</span> (4:3&nbsp;only)</li> <li>Olympus <span class="caps">XZ</span>-10</li> <li>Olympus <span class="caps">SP570UZ</span></li> <li>Samsung <span class="caps">NX500</span></li> <li>Fuji <span class="caps">F600EXR</span></li> </ul> <h2>aspect&nbsp;ratios</h2> <ul> <li>Pansonic <span class="caps">DMC</span>-G5</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GM5</span></li> <li>Panasonic <span class="caps">FZ200</span></li> </ul> <h2>white balance&nbsp;presets</h2> <ul> <li>Nikon&nbsp;D7200</li> <li>Nikon Coolpix&nbsp;P340</li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GM1</span></li> <li>Panasonic <span class="caps">DMC</span>-<span class="caps">GM5</span></li> <li>Olympus E-M10&nbsp;(updated)</li> <li>Olympus E-<span class="caps">PL7</span></li> <li>Olympus <span class="caps">XZ</span>-10</li> </ul> <h2>noise&nbsp;profiles</h2> <ul> <li>Canon Powershot&nbsp;G9</li> <li>Sony&nbsp;A350</li> </ul> <h2>basecurves</h2> <ul> <li>Nikon&nbsp;D7200</li> <li>Nikon&nbsp;D7000</li> <li>Nikon&nbsp;D750</li> <li>Nikon&nbsp;D90</li> </ul> <h2>translations</h2> <ul> <li>Catalan</li> <li>German</li> <li>Spanish</li> <li>Swedish</li> </ul><img src="https://www.darktable.org/2015/06/released-darktable-1-6-7/town_hall_wide.jpg" class="hidden-lede">houzTue, 09 Jun 2015 11:54:22 +0000tag:www.darktable.org,2015-06-09:2015/06/released-darktable-1-6-7/announcementdarktable releasereleased darktable 1.6.6https://www.darktable.org/2015/04/released-darktable-1-6-6/<p>We are happy to announce that darktable 1.6.6 has been released. Please note that the 1.6.5 release was broken so 1.6.6 was directly pushed out. Just pretend 1.6.5 had been&nbsp;skipped.</p> <p>The release notes and relevant downloads can be found attached to this git tag: <a href="https://github.com/darktable-org/darktable/releases/tag/release-1.6.6">https://github.com/darktable-org/darktable/releases/tag/release-1.6.6</a> Please only use our provided packages (&#8220;darktable-1.6.6.*&#8221; tar.xz and dmg) not the auto-created tarballs from github (&#8220;Source code&#8221;, zip and tar.gz). The latter are just git snapshots and will not work! Here are the direct links to tar.xz and dmg: <a href="https://github.com/darktable-org/darktable/releases/download/release-1.6.6/darktable-1.6.6.tar.xz">https://github.com/darktable-org/darktable/releases/download/release-1.6.6/darktable-1.6.6.tar.xz</a> <a href="https://github.com/darktable-org/darktable/releases/download/release-1.6.6/darktable-1.6.6.dmg">https://github.com/darktable-org/darktable/releases/download/release-1.6.6/darktable-1.6.6.dmg</a></p> <p>this is another point release in the stable 1.6.x&nbsp;series.</p> <div class="highlight"><pre>sha256sum darktable-1.6.6.tar.xz f85e4b8219677eba34f5a41e1a0784cc6ec06576326a99f04e460a4f41fd21a5 sha256sum darktable-1.6.6.dmg bce9a792ee362c47769839ec3e49973c07663dbdf6533ef5a987c93301358607 </pre></div> <h2>Improvements</h2> <ul> <li>fix the Olympus E330 support (which was accidentally broken in&nbsp;1.6.4)</li> <li>fix white balance reading for the Canon Powershot <span class="caps">SX50</span> <span class="caps">HS</span></li> <li>white balance presets for <span class="caps">RICOH</span> <span class="caps">GR</span></li> <li>minor assorted bug fixes (masks, lens correction, profiled denoise,&nbsp;etc)</li> </ul><img src="https://www.darktable.org/2015/04/released-darktable-1-6-6/wheat_wide.jpg" class="hidden-lede">houzTue, 28 Apr 2015 11:35:02 +0000tag:www.darktable.org,2015-04-28:2015/04/released-darktable-1-6-6/announcementdarktable releasereleased darktable 1.6.4https://www.darktable.org/2015/04/released-darktable-1-6-4/<p>We are happy to announce that darktable 1.6.4 has been&nbsp;released.</p> <p>The release notes and relevant downloads can be found attached to this git tag: <a href="https://github.com/darktable-org/darktable/releases/tag/release-1.6.4">https://github.com/darktable-org/darktable/releases/tag/release-1.6.4</a> Please only use our provided packages (&#8220;darktable-1.6.4.*&#8221; tar.xz and dmg) not the auto-created tarballs from github (&#8220;Source code&#8221;, zip and tar.gz). The latter are just git snapshots and will not work! Here&#8217;s the direct link to tar.xz and dmg: <a href="https://github.com/darktable-org/darktable/releases/download/release-1.6.4/darktable-1.6.4.tar.xz">https://github.com/darktable-org/darktable/releases/download/release-1.6.4/darktable-1.6.4.tar.xz</a> <a href="https://github.com/darktable-org/darktable/releases/download/release-1.6.4/darktable-1.6.4.dmg">https://github.com/darktable-org/darktable/releases/download/release-1.6.4/darktable-1.6.4.dmg</a></p> <p>this is another point release in the stable 1.6.x&nbsp;series.</p> <div class="highlight"><pre>sha256sum darktable-1.6.4.tar.xz c5f705e8164c014acf0dac2ffc5b730362068c2864622121ca6fa9f330368d2a sha256sum darktable-1.6.4.dmg e5bbf00fefcf116aec0e66d1d0cf2e2396cb0b19107402d2ef70d1fa0ab375f6 </pre></div> <h2>General&nbsp;improvements:</h2> <ul> <li>major rawspeed&nbsp;update</li> <li>facebook exporter update (first authentication usability should be much better&nbsp;now)</li> <li>first run opencl benchmark to prevent opencl auto-activation if <span class="caps">GPU</span> is obviously slower than <span class="caps">CPU</span></li> <li>lensfun cornercase&nbsp;fixes</li> <li>some mask cornercase&nbsp;fixes</li> <li>zonesystem now updates it&#8217;s gui when number of zones&nbsp;changes</li> <li>spots iop&nbsp;updates</li> <li>ui_last/gui_language should work more reliably&nbsp;now</li> <li>internal lua updated from 5.2.3 to 5.2.4 (distro typically use their own version of&nbsp;lua)</li> <li>gcc 5 should build&nbsp;now</li> </ul> <h2>Camera&nbsp;support:</h2> <ul> <li>Canon Digital Rebel (non-european&nbsp;300D)</li> <li>Nikon D5500&nbsp;(experimental)</li> <li>Olympus E-M5 Mark <span class="caps">II</span>&nbsp;(experimental)</li> <li>Samsung <span class="caps">NX500</span>&nbsp;(experimental)</li> </ul> <h2>White balance&nbsp;presets:</h2> <ul> <li>Sony A77 <span class="caps">II</span></li> <li>Fujifilm&nbsp;X-E2</li> <li>Olympus E-M5 Mark <span class="caps">II</span></li> </ul> <h2>Noise&nbsp;profiles:</h2> <ul> <li>Canon 7D Mark <span class="caps">II</span></li> </ul> <h2>updated&nbsp;translations:</h2> <ul> <li>German</li> <li>French</li> <li>Russian</li> <li>Danish</li> <li>Catalan</li> <li>Japanese</li> <li>Dutch</li> </ul><img src="https://www.darktable.org/2015/04/released-darktable-1-6-4/thumb.jpg" class="hidden-lede">smnWed, 08 Apr 2015 16:06:26 +0000tag:www.darktable.org,2015-04-08:2015/04/released-darktable-1-6-4/darktable releaseIntroducing the darktable app storehttps://www.darktable.org/2015/03/introducing-the-darktable-app-store/<p>Today we are happy to announce a big new feature that we will not only ship with the big 2.0 release later this year but also with our next point release, 1.6.4, which is due in about a week: even more darkroom&nbsp;modules!</p> <p>One of the big strengths of darktable has always been its varied selection of modules to tweak your image. However, that has also been one of the main points of criticism: too much, too many and too complicated to grasp. To make it easier for the user to deal with the flood of tools darktable has had the “<a href="/usermanual/en/more_modules.html">more modules</a>” list since many years. It changed its appearance a few times, we added module categories, allowed to select favorite modules, and all of that has proven to be useful. Thus there have always been people that approached us with great new ideas for new modules, especially since we moved to <a href="https://github.com/darktable-org/darktable">GitHub</a> a while ago with its powerful Pull Request system, yet we couldn&#8217;t accept many of them. Some were not that great codewise, some didn&#8217;t really fit our product vision&nbsp;– and then there were some that looked nice and certainly benefited some users, but we felt it wasn&#8217;t generic enough to justify polluting our module list even more. Of course this was a bad situation, after all these people invested quite some time into providing us with a new feature that we turned down. No one likes to waste their&nbsp;time.</p> <figure class="u-pull-left" role="group"> <span><a href="https://www.darktable.org/2015/03/introducing-the-darktable-app-store/screenshot01.png"><img alt="In the default state the new dialog doesn't clutter the gui" src="screenshot01_thumb.png" title="In the default state the new dialog doesn't clutter the gui" /></a></span> <figcaption>In the default state the new dialog doesn&#8217;t clutter the gui</figcaption></figure> <p>After initial discussions about this topic at last year&#8217;s <a href="https://libregraphicsmeeting.org/2014/"><span class="caps">LGM</span> in Leipzig</a> we started working on a solution later that year and now we feel confident to present you the new module store. Think of it as an in-game app store (for all you gamers out there), or Firefox&#8217; Add-On system. Instead of bloating the list of modules shipped with darktable you can now easily browse for exciting new features from within the darkroom <span class="caps">GUI</span>, installing new modules on the fly (or uninstall them if you don&#8217;t like the result), and even see previews of the module&#8217;s effect on the currently opened image. We are certain that you will like&nbsp;this.</p> <p>Who will also like it are module developers. Writing new image modules has always been quite easy: clone the darktable sources, create one new C file and add it to the CMake system. But that was only the first part, after all you wanted to allow people to use your work in the end. So you either had to convince us to include your module into the official darktable release (with the problems outlined above), or provide a patched version of darktable for people to compile themselves. In theory you could also have provided a binary package or just the module compiled into a shared library for people to just copy to their install directory, but we have never seen anyone taking that route. With our new module system this will become easier. Instead of creating a patched version of darktable you can now make use of our Module Developers Package which contains all the required header files and a CMake stub to quickly compile your module into a shared library that can be used with a stock installation of darktable. And since we will release these files under a <span class="caps">LGPL</span> license you could even write non-free modules. Once you are happy you can submit your code for us to review (this step is still manual to prevent malicious code being shipped) and once we approved it everyone can install the&nbsp;module.</p> <figure class="u-pull-right" role="group"> <span><a href="https://www.darktable.org/2015/03/introducing-the-darktable-app-store/screenshot02.png"><img alt="Currently there is just the one module in store. More to come!" src="screenshot02_thumb.png" title="Currently there is just the one module in store. More to come!" /></a></span> <figcaption>Currently there is just the one module in store. More to come!</figcaption></figure> <p>All of the things described until now are implemented already and will be part of the next releases. Once it has proven to be working reliably we also plan to allow developers to make some money with their work as an incentive to attract more and better developers to our community. We are currently evaluating what payment models would work best, at the moment PayPal looks like a strong contender, but we are open for&nbsp;suggestions.</p> <p>In case you are curious how it&#8217;s implemented, it is based on the <a href="http://ghns.freedesktop.org/"><span class="caps">GHNS</span></a> system that is already used by <a href="https://store.kde.org/"><span class="caps">KDE</span></a> and others, and might eventually also be merged with the styles you can find on <a href="https://dtstyle.net/">https://dtstyle.net/</a>. On the server side there is a continuous integration system (<a href="https://jenkins.io/index.html">Jenkins</a> in our case) that recompiles everything whenever something got changed, taking care of the different target architectures and operating systems with their dependencies. And if you don&#8217;t want to wait for the release just try a development build, the code is merged and ready to be tested. As a first example we moved the new “<a href="https://www.darktable.org/2015/03/color-reconstruction/">color reconstruction</a>” module from the regular darktable installation to the&nbsp;store.</p> <p><span class="caps">PS</span>: Thou shalt not believe what got posted on the Internet on April&nbsp;1st.</p><img src="https://www.darktable.org/2015/03/introducing-the-darktable-app-store/hipsters_in_the_streets_wide.jpg" class="hidden-lede">houzTue, 31 Mar 2015 23:30:28 +0000tag:www.darktable.org,2015-03-31:2015/03/introducing-the-darktable-app-store/announcementblogdevelopmentupcoming featureColor Reconstructionhttps://www.darktable.org/2015/03/color-reconstruction/<p><strong>If you overexpose a photo with your digital camera you are in trouble. That’s what most photography related textbooks tell you&nbsp;– and it’s true. So you better pay close attention to your camera’s metering while shooting. However, what to do when the “bad thing” happened and you got this one non-repeatable shot, which is so absolutely brilliant, but unfortunately has some ugly signs of&nbsp;overexposure?</strong></p> <p>In this blog article I’d like to summarize how darktable can help you to repair overexposed images as much as possible. I’ll cover modules which have been part of darktable for a long time but also touch the brand new module “color&nbsp;reconstruction”.</p> <h2>Why overexposed highlights are a&nbsp;problem?</h2> <p>The sensor cells of a digital camera translate the amount of light that falls onto them into a digital reading. They can do so up to a certain sensor specific level&nbsp;– called the clipping value. If even more light falls onto the sensor it does not lead to any higher reading, the clipping value is the maximum. Think of a sensor cell as a water bucket; you can fill the bucket with liquid until it’s full but you cannot fill in more than its maximum&nbsp;volume.</p> <p>For a digital camera to sense the color of light three color channels are required: red, green and blue. A camera sensor achieves color sensitivity by organizing sensor cells carrying color filters in a certain pattern, most frequently a Bayer&nbsp;pattern.</p> <p><span><a href="https://www.darktable.org/2015/03/color-reconstruction/colorreconstruction_bayer_matrix.jpg"><img alt="colorreconstruction_bayer_matrix" src="colorreconstruction_bayer_matrix_thumb.jpg" /></a></span></p> <p>Combining this fact with the phenomenon of overexposure we can differentiate three&nbsp;cases:</p> <ol> <li>All three color channels have valid readings below the clipping&nbsp;value</li> <li>At least one color channel is clipped and at least one color channel has a valid&nbsp;reading</li> <li>All three color channels are&nbsp;clipped</li> </ol> <p>Case (1) does not need to concern us in this context: all is good and we get all tonal and color information of the affected&nbsp;pixels.</p> <p>Case (3) is the worst situation: no tonal nor any color information is available from the pixels in question. The best we can say about these pixels is that they must represent really bright highlights at or above the clipping value of the&nbsp;camera.</p> <p>In case (2) we do not have correct color information as this would require valid readings of all three color channels. As it’s often the green channel that clips first, pixels affected by this case of overexposure typically show a strong magenta color cast if we do not take further action. The good news: at least one of the channels has stayed below the clipping value, so we may use this one to restore the tonal information of the affected pixels, alas, without&nbsp;color.</p> <h2>Dealing with overexposure in&nbsp;darktable</h2> <p>darktable has a modular structure. Therefore more than one module is typically involved when working on overexposed images. This is different from other applications where all the functionality may be part of a single general exposure correction panel. It is in the philosophy of darktable to not hide from the user the order in which modifications are made to an&nbsp;image.</p> <p>Just in order to manage expectations: a heavily overexposed image or one with a fully blown-out sky is beyond repair. Only if at least some level of information is left in the highlights and if highlights represent only a limited part of the image there is a realistic chance to get a convincing&nbsp;result.</p> <h2>Correcting overall image&nbsp;exposure</h2> <p>Logically one of the basic modifications you need to consider for an overexposed image is an exposure correction. A negative exposure correction in the “exposure” module is frequently indispensable in order to bring brightest highlights into a more reasonable tonal&nbsp;range.</p> <p><span><a href="https://www.darktable.org/2015/03/color-reconstruction/colorreconstruction_scr_11.jpg"><img alt="colorreconstruction_scr_1" src="colorreconstruction_scr_11_thumb.jpg" /></a></span></p> <p>Additionally you should take into account that the curve defined in the “base curve” module has a strong effect on highlights as well. You may try out different alternatives as offered in the module&#8217;s presets to find the one that best fits to your expectations. A base curve with a more continuous increase that slowly reaches the top right corner (right example) is often better suited for images with overexposed areas than one that already reaches the top at a moderately high input luminance level (left&nbsp;example).</p> <p><span style="display: table-row;"> <span style="display: table-cell"><span><a href="https://www.darktable.org/2015/03/color-reconstruction/colorreconstruction_scr_2.jpg"><img alt="colorreconstruction_scr_2" src="colorreconstruction_scr_2_thumb.jpg" /></a></span></span> &nbsp; <span style="display: table-cell"><span><a href="https://www.darktable.org/2015/03/color-reconstruction/colorreconstruction_scr_3.jpg"><img alt="colorreconstruction_scr_3" src="colorreconstruction_scr_3_thumb.jpg" /></a></span></span> </span></p> <h2>Bringing back detail into&nbsp;highlights</h2> <p>The “highlight reconstruction” module comes early in the pixel pipeline acting on raw data. This is the central module that deals with the different cases of overexposure as described above. As a default the module uses the “clip highlights” method: it will make sure that pixels, which have all or only part of the <span class="caps">RGB</span> channels clipped (cases 2 and 3), are converted to neutral white highlights instead of showing some kind of color cast. This is the minimum you want to do with highlights. For that reason this method is activated by default for all raw input&nbsp;images.</p> <p><span><a href="https://www.darktable.org/2015/03/color-reconstruction/colorreconstruction_scr_4.jpg"><img alt="colorreconstruction_scr_4" src="colorreconstruction_scr_4_thumb.jpg" /></a></span></p> <p>As an alternative option the “highlight reconstruction” module offers the method “reconstruct in LCh”. This method is able to effectively deal with case (2) as described above. The luminance of partly clipped pixels can be reconstructed, the pixels get back their tonal information but result in a colorless neutral&nbsp;gray.</p> <p>A third method offered by the “highlight reconstruction” module is called “reconstruct&nbsp;color”.</p> <p>At first the idea of reconstructing color in highlights may sound surprising. As you know from what has been said above, overexposed highlights always lack color information (cases 2 and 3) and may even miss any luminance information as well (case 3). How can we then expect to reconstruct colors in these&nbsp;cases?</p> <p>Now, the method that is used here is called “inpainting”. The algorithm assumes that an overexposed area is surrounded by non-overexposed pixels with the same color that the overexposed area had originally. The algorithm extrapolates those valid colors into the clipped highlights. This works remarkably well for homogeneous overexposed areas like skin&nbsp;tones.</p> <p>Often it works perfectly but sometimes it might struggle to successfully fill all the highlights. In some cases it might produce moiré like patterns as an artifact, especially if the overexposed area is superposed by some sharp structures. As you will be able to identify limitations and potential problems immediately this method is always worth a&nbsp;try.</p> <h2>Bringing colors into&nbsp;highlights</h2> <p>The existing limitations of the “highlight reconstruction” module when it comes to colors has led to the development of a new module called “color reconstruction”. This module is currently part of the master development branch and will be part of darktable with the next feature&nbsp;release.</p> <p><span><a href="https://www.darktable.org/2015/03/color-reconstruction/colorreconstruction_scr_5.jpg"><img alt="colorreconstruction_scr_5" src="colorreconstruction_scr_5_thumb.jpg" /></a></span></p> <p>As we have discussed above there is no way to know the “true” color of a clipped highlight, we can only make an&nbsp;estimate.</p> <p>The basic idea of the module is as follows: pixels which exhibit a luminance value above a user selectable threshold are assumed to have invalid colors. All pixels whose luminance value is below the threshold are assumed to have valid colors. The module now replaces invalid colors by valid ones based on proximity in the image’s x and y scale and in the luminance&nbsp;scale.</p> <p>Let us assume we have an area of overexposed highlights, e.g. a reflection on a glossy surface. The reflection has no color information and is displayed as pure white if the “highlight reconstruction” module is active. If this overexposed area is very close to or surrounded by non-overexposed pixels the new module transfers the color of the non-overexposed area to the uncolored highlights. The luminance values of the highlight pixels remain&nbsp;unchanged.</p> <h2>Example&nbsp;1</h2> <p>The following image is a typical&nbsp;case.</p> <p><span><a href="https://www.darktable.org/2015/03/color-reconstruction/colorreconstruction_ex1_1.jpg"><img alt="colorreconstruction_ex1_1" src="colorreconstruction_ex1_1_thumb.jpg" /></a></span></p> <p>The fountain statue has a glossy gold-plated surface. Even with proper metering there is virtually no chance to get a photo of this object on a sunny day without overexposed highlights&nbsp;– there is always a reflection of the sun somewhere on the statue unless I would have gone for an exact back-lit composition (which would have had its own problems). In this case we see overexposed highlights on the left shoulder and arm and partly on the head of the figure&nbsp;– distracting as the highlights are pure white and present a strong contrast to the warm colors of the&nbsp;statue.</p> <p>With the “color reconstruction” module activated I only needed to adjust the “luma threshold” to get the desired&nbsp;result.</p> <p><span><a href="https://www.darktable.org/2015/03/color-reconstruction/colorreconstruction_scr_6.jpg"><img alt="colorreconstruction_scr_6" src="colorreconstruction_scr_6_thumb.jpg" /></a></span></p> <p>The highlights are converted into a gold-yellow cast which nicely blends with the surrounding color of the&nbsp;statue.</p> <p><span><a href="https://www.darktable.org/2015/03/color-reconstruction/colorreconstruction_ex1_2.jpg"><img alt="colorreconstruction_ex1_2" src="colorreconstruction_ex1_2_thumb.jpg" /></a></span></p> <p>The “luma threshold” parameter is key for the effect. When you decrease it, you tell darktable to assume that an ever growing portion of the pixels is to be regarded as having invalid colors which darktable needs to replace. At the same time the number of pixels which are regarded as having valid colors decreases. darktable only replaces an invalid color if a “good” fit can be found&nbsp;– good means that a source color is available within a certain distance in terms of image coordinates and luminance relative to the target. Therefore, when shifting the slider too far to the left at some point the results gets worse again because too few valid colors are available&nbsp;– the slider typically shows a marked “sweet spot” where results are best. The sweet spot depends on the specifics of your image and you need to find it by trial and&nbsp;error.</p> <p>The “color reconstruction” module uses a so called “bilateral grid” for fast color look-up (for further reading see [1]). Two parameters “spatial blur” and “range blur” control the details of the bilateral grid. With a low setting of “spatial blur” darktable will only consider valid colors that are found geometrically close to the pixels that need replacement. With higher settings colors get more and more averaged over a broader area of the image which delivers replacement colors that are more generic and less defined. This may or may not improve the visual quality of your image&nbsp;– you need to find out by trial and error. The same is true for the “range blur” which acts on the luminance axis of the bilateral grid. It controls how strong pixels with luminance values that are different from the target pixel, contribute to the color&nbsp;replacement.</p> <h2>Example&nbsp;2</h2> <p>Here is a further example (photo supplied by Roman&nbsp;Lebedev).</p> <p><span><a href="https://www.darktable.org/2015/03/color-reconstruction/colorreconstruction_ex2_1.jpg"><img alt="colorreconstruction_ex2_1" src="colorreconstruction_ex2_1_thumb.jpg" /></a></span></p> <p>The image shows an evening scene with a sky typical of the day time shortly after sunset. As a starting point a basic set of corrections has already been applied: “highlight reconstruction” has been used with the “reconstruct in LCh” method. If we would have used the “clip highlights” method the small cloud behind the flag post would have got lost. In addition we applied a negative exposure compensation by -1.5 <span class="caps">EV</span> units in the “exposure” module, we used the “lens correction” module mainly to fix vignetting, and we used the “contrast brightness saturation” module for some boosting effect on contrast and&nbsp;saturation.</p> <p>Obviously the sky is overexposed and lacks good rendition of colors&nbsp;– visible by the arch-like area with wrong colors. With the “reconstruction module” and some tweaking of the parameters I got the following result, qualified by a much more credible evening&nbsp;sky:</p> <p><span><a href="https://www.darktable.org/2015/03/color-reconstruction/colorreconstruction_ex2_2.jpg"><img alt="colorreconstruction_ex2_2" src="colorreconstruction_ex2_2_thumb.jpg" /></a></span></p> <p>These are the settings I&nbsp;used:</p> <p><span><a href="https://www.darktable.org/2015/03/color-reconstruction/colorreconstruction_scr_7.jpg"><img alt="colorreconstruction_scr_7" src="colorreconstruction_scr_7_thumb.jpg" /></a></span></p> <p>If you let darktable zoom into the image you will immediately see that reconstructed colors change with every zoom step. This is an unwanted side-effect of the way darktable&#8217;s pixel pipeline deals with zoomed-in images. As only the visible part of the image is processed for speed reasons our “color reconstruction” module “sees” different surroundings depending on the zoom level. These lead to different colors in the visible area. It is therefore recommended to adjust the “color reconstruction” parameters while viewing the full image in the darkroom. We&#8217;ll try to fix this behavior in future versions of the module<strong> [ see below for an update ]</strong>.</p> <h2>Example&nbsp;3</h2> <p>As a final example let&#8217;s look at this photo of the colorful window of a Spanish cathedral. Although this image is not heavily overexposed in the first place, the rose window clearly lacks color saturation, especially the centers of the lighter glass tiles look like washed out, which is mostly due to an too aggressive base curve. As an exercise let&#8217;s try how to fix this with “color&nbsp;reconstruction”.</p> <p><span><a href="https://www.darktable.org/2015/03/color-reconstruction/colorreconstruction_ex3_1.jpg"><img alt="colorreconstruction_ex3_1" src="colorreconstruction_ex3_1_thumb.jpg" /></a></span></p> <p>This time I needed to make sure that highlights do not get colored in some homogeneous orange-brownish hue that we would get when averaging all the various colors of the window tiles. Instead we need to take best care that each tile retains its individual color. Therefore, replacement colors need to be looked for in close geometrical proximity to the highlights. This requires a low setting of the “spatial blur” parameter. Here are the&nbsp;details:</p> <p><span><a href="https://www.darktable.org/2015/03/color-reconstruction/colorreconstruction_scr_8.jpg"><img alt="colorreconstruction_scr_8" src="colorreconstruction_scr_8_thumb.jpg" /></a></span></p> <p>And here is the resulting image with some additional adjustment in the “shadows and highlights” module. The mood of the scene, which has been dominated by the rich and intensive primary colors, is nicely&nbsp;reconstructed.</p> <p><span><a href="https://www.darktable.org/2015/03/color-reconstruction/colorreconstruction_ex3_2.jpg"><img alt="colorreconstruction_ex3_2" src="colorreconstruction_ex3_2_thumb.jpg" /></a></span></p> <p>One final word on authenticity. It should be obvious by now that the “color reconstruction” module only does an assumption of the colors that have been lost in the highlights. By no means can these colors be regarded as “authoritative”. You should be aware that “color reconstruction” is merely an interpretation rather than a faithful reproduction of reality. So if you strive for documentary photography, you should not rely on this technique but better go for a correct exposure in the first place.&nbsp;:)</p> <h2>Update</h2> <p>The behavior of this module on zoomed-in image views has been improved recently. In most cases you should now get a rendition of colors that is independent of the zoom level. There are a few known&nbsp;exceptions:</p> <ul> <li>If you have highlight areas which are adjacent to high-contrast edges, you may observe a slight magenta shift when zooming&nbsp;in.</li> <li>If you combine this module with the “reconstruct color” method of the “highlight reconstruction” module, highlights may be rendered colorless or in a wrong color when zooming&nbsp;in.</li> </ul> <p>These artifacts only influence image display&nbsp;– the final output remains unaffected. Still we recommend to finetune the parameters of this module while viewing the full&nbsp;image.</p> <ul> <li> <p>[1] Chen J., Paris S., and Durand F. <strong>2007</strong>.</p> <p>Real-time Edge-Aware Image Processing with the Bilateral&nbsp;Grid.</p> <p>In <em>Proceedings of the <span class="caps">ACM</span> <span class="caps">SIGGRAPH</span>&nbsp;conference.</em></p> <p><a href="https://groups.csail.mit.edu/graphics/bilagrid/bilagrid_web.pdf">https://groups.csail.mit.edu/graphics/bilagrid/bilagrid_web.pdf</a></p> </li> </ul><img src="https://www.darktable.org/2015/03/color-reconstruction/colorreconstruction_icon_wide.png" class="hidden-lede">upegelowSat, 07 Mar 2015 20:13:22 +0000tag:www.darktable.org,2015-03-07:2015/03/color-reconstruction/blogdevelopmentupcoming featurebilateralcolorcolor reconstructionhighlightsLaboverexposedreleased darktable 1.6.3https://www.darktable.org/2015/03/released-darktable-1-6-3/<p>We are happy to announce that darktable 1.6.3 has been&nbsp;released.</p> <p>The release notes and relevant downloads can be found attached to this git&nbsp;tag:</p> <p><a href="https://github.com/darktable-org/darktable/releases/tag/release-1.6.3">https://github.com/darktable-org/darktable/releases/tag/release-1.6.3</a></p> <p>Please only use our provided packages (&#8220;darktable-1.6.3.*&#8221; tar.xz and dmg) not the auto-created tarballs from github (&#8220;Source code&#8221;, zip and tar.gz). The latter are just git snapshots and will not work! Here&#8217;s the direct link to&nbsp;tar.xz:</p> <p><a href="https://github.com/darktab