The correction group contains the modules that will correct typical problems in an photo such as hotpixels, spot removal, noise, lens correction among others. This group also includes the basic sharpening tools.
This module works by enhancing the contrast around edges and thereby enhances the impression of sharpness of an image. In darktable this module is only applied to the L-channel in Lab color space.
USM applies a gaussian blur to your image as part of its algorithm. This controls the blur radius which in turn defines the spatial extent of edge enhancement. Too high values will lead to ugly over-sharpening.
Each frequency band can be tweaked independently. In particular, you can adjust contrast boost and denoise threshold splines for both lightness and chromaticity (“luma” and “chroma”), as well as the acuteness (“edges”) of the wavelet basis on each frequency scale.
|Each spline can be dragged with a proportional edit approach; use the mouse wheel to adjust the radius in which your changes will have an effect. The transparent area indicates where you would drag the spline with the current mouse position and radius. The small little triangles on the x-axis can be moved to alter the x-position of the spline nodes.|
|Drag the upper line (bright circles, here for the lightness channel) to affect local contrast. Pulling it up, as shown here, will result in a contrast boost for that frequency band. Higher frequencies, i.e. smaller details, are to the right of the grid. Pulling it down works, too.|
|The bottom spline (black circles) is used to perform denoising. It adjusts the wavelet shrinkage threshold for each frequency band. Pull it up to see the effect. In this example, the noise which has been amplified by local contrast enhancement is removed.|
|This screen shows the effect of the edge parameter. It is here pulled down to zero for all bands. This is effectively a regular à trous wavelet, without edge detection, and results in the characteristic halos around sharp edges in the image.|
|This image is the other extreme. The wavelet basis now oversharpens, which results in ugly gradient reversals near the ridge of the rock.|
Note that the edge parameter only affects the wavelet basis, not the image directly. You will have to change some denoise/contrast boost parameters to see an effect following adjustments to the edge parameter.
This module additionally has a “mix” slider below the spline GUI. Adjusting the slider will upscale or downscale the splines on the y-axis. The slider was added as a convenience tool to help you modify the strength of the effect. It is not a module parameter in itself; when you leave darkroom mode all changes will be consolidated into the spline curves.
Have a look at the presets where there are a broad variety of examples that will provide a good starting point to gain an intuitive understanding of the controls. Among others there is preset to enhance an image's “clarity”.
The darktable team, with the help of many users, has measured noise profiles for various cameras. Differentiated by ISO settings we evaluated how the noise statistics develop with brightness for the three color channels. Our set of profiles covers well above 200 popular camera models from all major manufacturers.
darktable stores noise profiles in an external json file. This file can be found in
$DARKTABLE represents the darktable installation directory. The json
format is quite straightforward and explained in depth in
json.org. You can replace the default noise profiles
by your own ones and specify that file on the command line when starting darktable. For
more details see Section 1.1.1, “
darktable binary”. If you generate your
own noise profiles don't forget to share your results with the darktable team!
/!\ WARNING /!\ The darkroom zoomed out preview is not completely accurate. Always check your result at 100% zoom level!
Note that (almost) all sliders of this module can take values higher than their visible bounds by entering values using Right-click and keyboard.
Based on Exif data of your raw file, darktable will automatically determine the camera model and ISO setting. If found in its database, the corresponding noise profile will be used. If your image has an intermediate ISO value, the statistical properties will be interpolated between the two closest datasets in the database, and this interpolated setting will show up as the first line in the combo box. You also have the option to manually overwrite this selection to suit your personal preferences better. The top-most entry in the combo box brings you back to the profile darktable deems most suited.
This module can eliminate noise by two different core algorithms. Both “non-local means” and “wavelet” can tackle efficiently luma (lightness) noise and chroma (color) noise. “wavelet” mode also lets you adjust the force of the denoising depending on the noise coarseness. If needed you can apply two instances of this module (see Section 3.2.4, “Multiple instances”): one instance to tackle luma noise with blend mode “lightness” or “HSV lightness”, and another one to tackle chroma noise with blend mode “color” or “HSV color ”. An example of the use of two instances with blending modes is available within the presets of this module. For more information on blend modes have a look at Section 126.96.36.199, “Blending operators”. The module also offers an automatic mode for each algorithm. Automatic modes allow to set module's parameters in an easier way, as it guesses several parameters from the profile. All sliders of this module can take values higher than their bounds if needed using Right-click.
As white-balance amplifies the RGB channels differently, they exhibit different noise levels. This checkbox makes the algorithm adaptive to white balance. This option should be disabled on the second instance if you use a first instance with a color blend mode.
This slider is only available if mode “non-local means” is selected. It controls the size of the patches being matched when deciding which pixels to average (see also Section 188.8.131.52, “Denoise – non local means”). Set this to higher values as the noise gets higher. Beware that high values may smooth out small edges though. Processing time will stay about the same.
This slider is only available if mode “non-local means” is selected. It controls how far from a pixel the algorithm will try to find similar patches. Increasing the value can give better results for very noisy images when coarse grain noise is visible, but you should better use the scattering slider instead. The processing time is hugely impacted by this parameter: it depends on the square of the parameter. A lower value will make execution faster, a higher value will make it slower.
This slider is only available if mode “non-local means” is selected. Like the search radius, it controls how far from a pixel the algorithm will try to find similar patches, but does this without increasing the number of patches considered. As such, processing time will stay about the same. Increasing the value will reduce coarse grain noise, but may smooth local contrast. This slider is particularly effective to reduce chroma noise.
This slider is only available if mode “non-local means” or “non-local means auto” is selected. It controls the amount of details which should be preserved by the algorithm. It can be used as a way to control the amount of luma noise smoothing: giving a big value to this slider will result mostly in chroma noise smoothing with little smoothing of luma noise. This slider has no effect if patch-size is set to 0.
|These curves are only available if mode “wavelet” is selected. The noise of an image is usually not only fine grain, but also more or less coarse grain. These curves allow to denoise more or less depending on the coarseness of the visible noise. The left of the curve will act on very coarse grain noise, while the right of the curve will act on very fine grain noise. Pushing up the curve will result in more smoothing, pulling it down will result in less smoothing. As an example, you can preserve very-fine grain noise by pulling down the rightest point of the curve until the minimum value. As another example, if you are tackling chroma noise with a blend mode, you can push up the right part of the curve, as colors are not supposed to change a lot on fine grain scales: this will help especially if you see some isolated pixel left undenoised.|
Considering R, G, and B curves, the best way to use them is to look at one of the channel using the channel mixer module in gray mode, denoise this particular channel, and then do the same for the other channels. This way, you can take into account the fact that some channel may be noisier than others into your denoising. Be aware that guessing which channel is noisy without actually seeing the channels individually is not straightforward and can be counterintuitive: a pixel which is completely red may not be caused by noise on the R channel, but actually by noise on B and G channels.
This parameter is here to fine-tune the strength of the denoise effect. The default value has been chosen to maximize the peak signal to noise ratio. It's mostly a matter of taste if you prefer a rather low noise level at the costs of a higher loss of detail, or if you accept more remaining noise in order to have finer structures better preserved within your image.
This option is available in “wavelets” and “non local means” modes. It allows to denoise more agressively the shadows or the highlights. Lower the value to denoise more the shadows than the highlights. Usually, as noise increases, you will need to lower this value.
This option is available in “wavelets” and “non local means” modes. It allows to correct the color cast that may appear in the shadows. Increase this value if dark shadows appear too greenish, decrease it if they appear purple-ish.
This option is available in “auto” modes. In these modes, darktable tries to derive denoising parameters from the camera profile. Depending on your image the automatically derived parameters may not be optimal. E.g. if your image is heavily underexposed and you lifted the exposure, you will have to increase this parameter to get a proper denoising. This parameter should reflect the amplification you add to your image: if you add 1EV of exposure, the signal is multiplied by 2, so this parameter should be set to 2.
This module reduces noise in your image but preserves structures. This is accomplished by averaging each pixel with some surrounding pixels in the image. The weight of such a pixel in the averaging process depends on the similarity of its neighborhood with the neighborhood of the one pixel to be denoised. A patch with a certain size is used to measure that similarity. As denoising is a resource hungry process, it slows down pixelpipe processing significantly; consider activating this module late in your workflow.
This module reduces noise in your image but preserves sharp edges. This is accomplished by averaging pixels with their neighbors, taking into account not only the geometric distance but also the distance on the range scale, i.e. differences in the RGB values. As denoising is a resource hungry process, it slows down pixelpipe processing significantly; consider to activate this module late in your workflow. The module can be really effective if some RGB channel is more noisy than the 2 other channels. In such a case, use the channel mixer module to see the channels one by one, in order to set the blur intensities accordingly.
|The liquify module offers a versatile way of moving pixels around by applying free style distortions to parts of the image. There are three tools to help doing that: points, lines, and curves.|
Each of liquify's tools is based on nodes. A point is given by a single node, a line or a curve consist of a set of nodes defining the path.
There is a limit of 100 nodes in a single liquify instance. For more distortions one can use multiple instances of the liquify module. However, take into account that the liquify module requires a lot of computing resources.
You can drag the central point of a node to move the node around. The radius describes the area of the applied effect: the distortion occurs only inside this radius. To change the radius drag the handle at the circumference. A strength vector starting from the center describes the direction of the distortion, and its strength is depicted by the length of the vector. You change the vector by dragging its arrowhead.
This information field displays the number of warps (individual distortion object) and nodes currently used.
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 arrowhead of the strength vector:
|linear||The linear mode produces a linear distortion inside the circle. Starting from the opposite side of the strength vector and following the strength vector's direction. This is the default mode.|
|radial growing||In this mode the strength vector's effect is radial, starting with a strength of 0% in the center and growing when going away from the center. This mode is depicted by an additional circle with the arrow pointing outwards.|
|radial shrinking||In this mode the strength vector's effect is radial, starting with a strength of 100% in the center and shrinking when going away from the center. This mode is depicted by an additional circle with the arrow pointing inwards.|
Note that the strength by default varies linearly from 0% to 100% between the center and the radius of the control point. It is possible to modify the feathering effect by clicking on the center of the circle:
|default||Linear from the center to the radius.|
|feathered||Two control circles are displayed and can be modified independently to feather the strength of the effect. Note that clicking again the center of the circle only hides the feathering controls but does not return to the default.|
A point can be removed by right-clicking on the center.
Click the icon to activate the line tool and left-click on the image to place the first point, move and left-click to place another point and start forming the path. To end the line just right-click anywhere.
|A line is a set of points. The points are linked together, the effect is interpolated by a set of strength vectors.|
It is possible to add a control point on a line by Ctrl+Click on a segment. You may remove a control point from a line by Ctrl+right click on the node center.
A right-click on a segment will remove the shape completely.
A Ctrl+Alt+click on a segment will change it to a curve segment.
Click the icon to activate the curve tool and left-click on the image to place the first point, move and left-click to place another point and start forming the path. To end the line just right-click anywhere.
|A curve is a set of points. The points are linked together, the effect is interpolated as a bezier curve by a set of strength vectors.|
It is possible to add a control point on a curve by Ctrl+click on a segment. You may remove a control point from a curve by Ctrl+right click on the node center.
A right-click on a segment will remove the shape completely.
A Ctrl+Alt+click on a segment will change it to a line segment.
It is possible to change the way the points of the curve are linked together by using Ctrl+click on the center. There are four modes which correspond to different ways of handling the steepness of the bezier curve by control handles:
|autosmooth||This is the default mode in which the control handles are not displayed as they are automatically computed to always give a smooth curve.|
|cusp||Control handles can be moved independently. This mode is depicted by a triangle symbol in the node center.|
|smooth||Control handles are always giving a smooth curve. This mode is depicted by a diamond symbol in the node center.|
|symmetrical||Control handles are always moved together. This mode is depicted by a square symbol in the node center.|
|This module is designed to automatically correct for converging lines, a form of perspective distortions frequently seen in architectural photographs. The underlying mechanism is inspired by Markus Hebel's ShiftN program.|
Perspective distortions are a natural effect when projecting a three dimensional scene onto a two dimensional plane and cause objects close to the viewer to appear larger than objects further away. Converging lines are a special case of perspective distortions frequently seen in architectural photographs. Parallel lines when photographed at an angle get transformed into converging lines that meet at some vantage point within or outside the image frame.
This module is able to correct converging lines by warping the image in such a way that the lines in question become parallel to the image frame. Corrections can be applied in vertical and horizontal direction, either separately or in combination. In order to perform an automatic correction the module analyzes the image for suitable structural features consisting of line segments. Based on these line segments a fitting procedure is started that determines the best values of the module parameters.
Clicking the “get structure” icon ( ) causes darktable to analyze the image for structural elements. Line segments are detected and evaluated. Only lines that form a set of either vertical or horizontal lines are used for further processing steps. The line segments are displayed as overlays on the image base. A color code describes what type of line darktable has found:
|green||lines that are selected as relevant vertical converging lines|
|red||lines that are vertical but are not part of the set of converging lines|
|blue||lines that are selected as relevant horizontal converging lines|
|yellow||lines that are horizontal but are not part of the set of converging lines|
|grey||other lines identified but not of interest to this module|
Lines marked in red or yellow are regarded as outliers and are not taken into account for the automatic fitting step. This outlier elimination involves a statistical process with random sampling so that each time you press the “get structure” button the color pattern of the lines will look a bit different. You can manually change the status of line segments: 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 in a row; the size of the select/deselect brush can be changed with the mouse wheel. Holding down the Shift key and keeping the left or right mouse button pressed while dragging selects or deselects all lines in the chosen rectangular area.
Clicking one of the “automatic fit” icons (see below) starts an optimization process which finds the best suited parameters. The image and the overlaid lines are then displayed with perspective corrections applied.
This parameter controls a rotation of the image around its center and can correct for a skewed horizon.
This parameter corrects converging lines vertically. In some cases you get a more naturally looking image if you correct vertical distortions not to their full extent but rather at an 80 to 90% level. If desired just reduce the value after having performed the automatic correction.
This parameter shears the image along one of its diagonals and is needed when correcting vertical and horizontal perspective distortions simultaneously.
If activated a number of guide lines is laid over the image to help you judge the quality of the correction.
When activated the automatic cropping feature clips the image to get rid of any black corners. At your choice you can either clip to the “largest area” or to the largest rectangle maintaining the original aspect ratio (“original format”). In the latter case you can manually adjust the automatic cropping result: left click into to clip region and move it around. The size of the region gets modified automatically excluding any black corners.
This parameter controls how lens and camera specifics are taken into account. If set to “generic” a focal length of 28mm on a full-format camera is assumed. If set to “specific”, focal length and crop factor can be set manually.
The focal length of the lens used. The default value is taken from the Exif data of your image. This parameter is only effective and visible if the “specific” lens model has been selected.
The crop factor of the camera used. You will typically need to set this value manually. This parameter is only effective and visible if the “specific” lens model has been selected.
If the “specific” lens model has been selected this parameter allows for a free manual adjustment of the image's aspect ratio.
Clicking on one of the icons starts an automatic fitting of the module parameters based on the selected vertical and/or horizontal lines. You can choose to correct only vertical distortions ( ), only horizontal distortions ( ), or both types of distortions simultaneously ( ). Ctrl+clicking on either icon only fits rotation. Shift+clicking on either icon only fits vertical and/or horizontal lens shift.
Clicking on the icon causes the image to be (re-)analyzed for suitable line segments. Shift+clicking applies a prior contrast enhancement step, Ctrl+clicking applies an edge enhancement step. Both variations can be used alone or in combination if the default is not able to detect a sufficient number of lines. Clicking on the icon discards all collected structural data. By clicking on the icon you can switch the overlay display of line segments on and off.
|This module is able to correct certain lens flaws, namely distortions, transversal chromatic aberrations (TCA) and vignetting. It relies on the external library lensfun, which comes with correction profiles for many (but not all) common cameras and lenses.|
In order to perform lens corrections the module uses Exif data of your image to identify the specific camera/lens combination and collects the needed correction parameters from a profile in lensfun's database.
The camera make and model as determined by Exif data. You can override this manually and select your camera from a hierarchical menu.
Only lenses with correction profiles matching the selected camera will be shown.
The lens make and model as determined by Exif data. You can override this manually and select your lens from a hierarchical menu. This is mainly needed for pure mechanical lenses, but may also be needed for off-brand / third party lenses.
Corrections additionally depend on certain photometric parameters that are read from Exif data: focal length (needed for distortion, TCA, vignetting), aperture (needed for TCA, vignetting) and focal distance (needed for vignetting). Many cameras do not record focal distance in their Exif data; most likely you need to set this manually.
You can manually override all automatically selected parameters. Either take one of the predefined values from the pull-down menu; or – with the pull-down menu still open – just type in your own value.
If your system's lensfun library has no correction profile for the automatically identified camera/lens combination the controls for the three photometric parameters are not displayed, and you get a warning message instead. You may try to find the right profile yourself by searching for it in the menu. If you can't find your lens, check if it is in the list of currently supported lenses, and refer to the lensfun-update-data tool. If there is no matching profile for your lens, please visit this lens calibration service offered by Torsten Bronger, one of darktable's users. Alternatively you may go to lensfun's home page and learn how to generate your own set of correction parameters. Don't forget to share your profile with the lensfun team!
This combobox gives you a choice about which corrections (out of distortion, TCA and vignetting) darktable shall apply. Change this from its default “all”, if your camera has already done some internal corrections (e.g. of vignetting), or if you plan to do certain corrections with a separate program.
In addition to the correction of lens flaws, this module can change the projection type of your image. Set this combobox to the aimed projection type, like “rectilinear”, “fish-eye”, “panoramic”, “equirectangular”, “orthographic”, “stereographic”, “equisolid angle”, “thoby fish-eye”.
This slider allows you to adjust the scaling factor of your image. Pressing the auto scale button (right to the slider) will let darktable find the best fit to avoid black corners.
The default behavior of this module is to correct lens flaws. Switch this combobox to “distort” in order to simulate the behavior of a specific lens (inverted effect).
This slider allows to override the correction parameter for TCA. You can also use this slider to manually set the parameter in case the lens profile does not contain TCA correction. Look out for colored seams at features with high contrast edges and adjust this parameter and the following one to minimize those seams.
This slider allows to override the correction parameter for TCA. You can also use this slider to manually set the parameter in case the lens profile does not contain TCA correction.
This module uses some of the shapes that are offered in drawn masks, namely circles, ellipses and path shapes. The user interface and the controls are the same as in drawn mask and explained in more detail in Section 184.108.40.206, “Drawn mask”.
Select the desired shape by clicking the corresponding icon, then click on the canvas to choose the area to be healed, i.e. the target area. A cross is displayed where the source area will be positioned.
The source positioning has two modes: absolute or relative. To set the absolute mode, while creating a shape, Shift+Ctrl+click on the desired position. From now on, all new shapes will have the source created at that position. To set the relative mode, still while creating a shape, Shift+click on the desired position. The current shape will have the source created at that position and the subsequent ones will have the source created at the same relative position.
After creation source area and target area can be shifted independently until the result matches your expectations. An arrow helps to tell source from target area.
Use the shape specific controls to adjust its size, its border width, and other attributes.
Right-click on a shape to delete it.
Collapse the module to complete the changes.
For a basic use, with default parameters, add the shapes to the image like with the spot removal module (see Section 220.127.116.11, “Spot removal”). To use the wavelet decompose first select one of the scales as the current scale (see below) and then add the shapes.
The GUI is divided in three main sections: wavelet decompose, retouch tools and shapes.
The wavelet decompose toolbar controls the wavelet decompose algorithm. It has a central area divided in boxes and two sliders. The first box, scale zero, represents the original image, the second is the wavelet scale 1, and so on.
The bottom slider adjusts the number of scales, zero means no wavelet decompose is done. The maximum number of scales depends on the image size, but any number can be selected. If the image is not big enough for the selected number of scales the maximum number of scales for this image size is used and the rest of the scales are ignored.
The image is decomposed to the selected number of scales plus the residual image, so if 5 is selected as the number of scales, scale zero is the original image, scales 1 to 5 are the detail scales, and scale 6 is the residual image. As a visual aid, the original image is always represented by a black box, detail scales are light gray, residual image white and inactive scales dark gray.
The central area allows to select the current scale on which the user can then apply retouch tools by left clicking any of the boxes. The selected scale is marked by a red frame. Any scale can be selected as the current scale, even if it is greater than the number of scales. If a shape is added to a scale greater than the residual image it will be ignored, as the scale is not processed.
Only the shapes on the current scale are displayed, when the current scale is changed shapes will be displayed accordingly.
A green line on top of each box indicates that the scale has shapes associated with it.
Fine detail scales can only be seen at certain zoom level, a light gray line on top of each box will indicate that the scale is visible at current zoom level.
The top slider adjusts the merge scale feature. This setting allows to apply a common edit on multiple consecutive scales within a group starting from the highest scale (not including the residual image) down to the one selected by this slider. If the slider is set to 3 and the maximum scale is 5 then all edits that are added to scale 5 will be applied to scales 3 to 5. Edits added to scale 4 will be applied to scales 3 and 4, and edits added to scale 3 will be applied only to scale 3. Merged scales are represented by a green-yellow color. A value of zero means that the merge feature is not used.
The display wavelet scale button ( ) allow to view the current wavelet scale. The module's blend feature is temporary disabled when this option is set. If blending in the module is active and the option to display masks is active this option cannot be set. When this option is active a new section, “preview single scale”, will be displayed, allowing to adjust the levels for the displayed image. This is purely a convenience feature so you can adjust wavelet scale display to your needs. It does not have an effect on the final output image. An auto levels button ( ) is also available; it works on the displayed image, so different results can be expected depending on the image displayed when zoomed in/out. Levels are only applied to detail scales, not the original or residual image.
The cut and paste buttons allow to move all the shapes from one scale to another. In order to do this first select the current scale, click the cut button ( ), select the destination scale and click paste ( ). This can be useful when there are edits on the residual image and one has to change the number of scales; since the residual image is changed, shapes need to be moved to the new one.
The display masks button ( ) works similar to the one on the blend module, but it will display only the shapes on the current scale. This option and display mask on the blend module cannot be set at the same time.
The shapes toolbar allows to add new shapes to the image. Shapes creation/editing behaves like in the spot removal module. In addition, by Ctrl+click on any shape button, the continuous add mode is activated. Once a shape is added, darktable will remain in creation mode, allowing to add another shape of the same type. To change the shape type to be added Ctrl+click on a different shape button to continue on continuous add mode or plain click to add a single shape. To leave the continuous add mode right click on any clear area of the image.
The algorithms toolbar allows to select between heal ( ), clone ( ), fill ( ) and blur ( ) algorithms. Before actually creating a shape the algorithm must be selected – once a shape is created the algorithm cannot be changed.
Any combination of shape type and algorithm can be added to the image.
The shape selected field displays the selected shape (if any). To select a shape click on it, to deselect click on a free area on the image.
Mask opacity is displayed when a shape is selected. It displays/sets the opacity of the mask. Opacity is a property of the currently selected shape and won't be used as default value for newly added shapes.
Different properties will be displayed depending on the selected algorithm:
The value set on each one of these properties is used as a default when a new shape is created.
|Raw denoise allows you to perform denoising on the data before it gets demosaiced. It is ported from dcraw.|
Set the threshold for noise detection. Higher values lead to stronger noise removal and higher loss of image detail.
The noise of an image is usually not only fine grain, but also more or less coarse grain. These curves allow to denoise more or less depending on the coarseness of the visible noise. The left of the curve will act on very coarse grain noise, while the right of the curve will act on very fine grain noise. Pushing up the curve will result in more smoothing, pulling it down will result in less smoothing. As an example, you can preserve very-fine grain noise by pulling down the rightest point of the curve until the minimum value. As another example, if you are tackling chroma noise with a blend mode, you can push up the right part of the curve, as colors are not supposed to change a lot on fine grain scales: this will help especially if you see some isolated pixel left undenoised. Considering R, G, and B curves, the best way to use them is to look at one of the channel using the channel mixer module in gray mode, denoise this particular channel, and then do the same for the other channels. This way, you can take into account the fact that some channel may be noisier than others into your denoising. Be aware that guessing which channel is noisy without actually seeing the channels individually is not straightforward and can be counterintuitive: a pixel which is completely red may not be caused by noise on the R channel, but actually by noise on B and G channels.
|This module eliminates some of the typical banding artifacts which can occur, when darktable's internal 32-bit floating point data are transferred into a discrete 8-bit or 16-bit integer output format for display or file export.|
Banding is a problem which can arise, when an image is downsampled into a lower bit-depth. Downsampling happens regularly, when darktable displays or exports the results of a pixelpipe. In order to avoid banding, you may activate this module. As dithering consumes significant resources this module is disabled by default.
Although banding is not an inherent problem of any of darktable's modules, some operations may provoke it as they produce a lightness gradient in the image. To mitigate possible artifacts you should consider to activate dithering when using the vignette and the graduated density module, respectively (see Section 18.104.22.168, “Vignetting” and Section 22.214.171.124, “Graduated Density”). This is especially relevant for images with extended homogeneous areas like cloudless sky. Also when using a gradient mask (see the section called “gradient”) you should watch out for possible banding artifacts.
Viewing from some distance an image dithered into a very low bit depth (like “floyd-steinberg 1-bit b&w”) will give the impression of a homogeneous grayscale image. We try to mimic this impression in darktable when you look at zoomed-out images in the center view, in the navigation window and for thumbnails. This is accomplished by dithering those images into a higher number of grayscale levels. Note that as a consequence the histogram – which is derived from the navigation window – will show this increased number of levels and is no longer a full match of the output image.
This combobox sets the dithering method. Floyd-Steinberg error diffusion – with some typical output bit depths – and random noise dithering are both supported. Floyd-Steinberg systematically distributes quantization errors over neighboring pixels, whereas random dithering just adds some level of randomness to break sharp tonal value bands. The default setting is “floyd-steinberg auto”, which automatically adapts to the desired output format.
The visibility of the following examples depends on the quality of your monitor or the print quality.
|Banding artifact caused by vignetting (100% crop of a 8-bit PNG; effect heavily exaggerated by strong contrast enhancement).|
|The same image area, processed as above but with activated Floyd-Steinberg dithering.|
You control the detection sensitivity with the threshold parameter and the level of elimination with the strength parameter.
The threshold of the detection, i.e. how strong a pixel's value needs to deviate from its neighbors to be regarded as a hotpixel.
This will extend the detection of hotpixels, it will even regard a pixel as hot if a minimum of only three (instead of four) neighbor pixels deviate by more than the threshold level.
The module has no parameters. On activation it will automatically try to optimize away visible CA's.
The underlying model assumes as input an uncropped photographic image. The module is likely to fail when you zoom into the image, as in that case it will only receive parts of your photograph as input in darktable's pixelpipe. As a consequence, chromatic aberrations do not get corrected properly in the center view. This limitation only applies to interactive work, not to file export.
This module currently only works for images recorded with a Bayer sensor (which is the sensor used in the majority of cameras).
|The haze removal module is designed to automatically reduce the effect of dust and haze in the air, which often reduces the color contrast in landscape photographs. In general, this module may be employed to give pictures a color boost specifically in low-contrast image regions.|
The higher the haze density in the air and the longer the distance between the camera and the photographed object the less colorful the object appears in the image. Haze absorbs light approaching from the objects into the direction of the camera but it is also a source of diffusive background light. Thus the haze removal module estimates for each image region the amount of haze in the scene first and then removes the diffusive background light according to its local strength and recovers the original object light.
The haze removal module has two controls that determine the amount of haze reduction and limit the distance up to which haze is removed. Setting both controls to unity maximizes the amount of haze removal but this is also likely to produce some artifacts. Removing the atmospheric light entirely may render the image flat and may result in an unnatural looking style. Optimal values are typically below unity and these are rather image dependent but also a matter of personal aesthetic preferences.
The strength parameter controls the amount of haze removal. Setting it to unity, the module removes 100 percent of the detected haze between the camera and up to the specified distance; see below. Negative values for the strength increase the amount of haze in the image.
This parameter limits the distance up to which haze is removed. For small values, haze removal is restricted to the foreground of the image. Haze is removed from the foreground to the far background if the distance parameter is set to unity. In case of a negative strength the distance control has no effect.
This module helps removing fringe via edge-detection. Where pixels are detected as a fringe, it rebuilds the color from lower-saturated neighboring pixels.
Set the operation mode for detecting fringes. “global average” is usually the fastest but might show slightly incorrect previews in high magnification. It might also protect the wrong regions of color too much or too little by comparison with local averaging. “local average” is slower because it computes local color references for every pixel, which might protect color better than global average and allows for rebuilding color where actually required. The “static” method does not use a color reference but directly uses the threshold as given by the user.
Set the spatial extent of the gaussian blur used for an edge detection. The algorithm uses the difference of gaussian-blurred and original image as an indicator for edges (a special case of the “difference of gaussians” edge detection). Try increasing this value if you either want a stronger detection of the fringes or the thickness of the fringe edges is too high.
Sets the threshold over which the edge of a pixel is counted as a “fringe”. The colors of the affected pixels will be rebuild from neighboring pixels. Try lowering this value if there is not enough fringe detected and try increasing this value if too many pixels are desaturated. You may additionally want to play around with the edge detection radius.