KDcraw

rawdecodingsettings.cpp
1/*
2 SPDX-FileCopyrightText: 2006-2015 Gilles Caulier <caulier dot gilles at gmail dot com>
3 SPDX-FileCopyrightText: 2006-2013 Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
4 SPDX-FileCopyrightText: 2007-2008 Guillaume Castagnino <casta at xwing dot info>
5
6 SPDX-License-Identifier: GPL-2.0-or-later
7*/
8
9#include "rawdecodingsettings.h"
10
11namespace KDcrawIface
12{
13
15{
16 fixColorsHighlights = false;
17 autoBrightness = true;
18 sixteenBitsImage = false;
19 brightness = 1.0;
20 RAWQuality = BILINEAR;
21 inputColorSpace = NOINPUTCS;
22 outputColorSpace = SRGB;
24 DontStretchPixels = false;
25 unclipColors = 0;
26 whiteBalance = CAMERA;
27 customWhiteBalance = 6500;
28 customWhiteBalanceGreen = 1.0;
30
31 halfSizeColorImage = false;
32
33 enableBlackPoint = false;
34 blackPoint = 0;
35
36 enableWhitePoint = false;
37 whitePoint = 0;
38
39 NRType = NONR;
40 NRThreshold = 0;
41
42 enableCACorrection = false;
43 caMultiplier[0] = 0.0;
44 caMultiplier[1] = 0.0;
45
48
50
52
53 //-- Extended demosaicing settings ----------------------------------------------------------
54
55 dcbIterations = -1;
56 dcbEnhanceFl = false;
57 eeciRefine = false;
58 esMedPasses = 0;
60 expoCorrection = false;
63}
64
68
70
72
74{
87 && customWhiteBalanceGreen == o.customWhiteBalanceGreen
93 && NRType == o.NRType
96 && caMultiplier[0] == o.caMultiplier[0]
97 && caMultiplier[1] == o.caMultiplier[1]
103
104 //-- Extended demosaicing settings ----------------------------------------------------------
105
108 && eeciRefine == o.eeciRefine
114 ;
115}
116
118{
119 fixColorsHighlights = false;
120 autoBrightness = true;
121 sixteenBitsImage = true;
122 brightness = 1.0;
123 RAWQuality = BILINEAR;
124 inputColorSpace = NOINPUTCS;
125 outputColorSpace = SRGB;
126 RGBInterpolate4Colors = false;
127 DontStretchPixels = false;
128 unclipColors = 0;
129 whiteBalance = CAMERA;
130 customWhiteBalance = 6500;
131 customWhiteBalanceGreen = 1.0;
132 halfSizeColorImage = true;
134
135 enableBlackPoint = false;
136 blackPoint = 0;
137
138 enableWhitePoint = false;
139 whitePoint = 0;
140
141 NRType = NONR;
142 NRThreshold = 0;
143
144 enableCACorrection = false;
145 caMultiplier[0] = 0.0;
146 caMultiplier[1] = 0.0;
147
150
152
154
155 //-- Extended demosaicing settings ----------------------------------------------------------
156
157 dcbIterations = -1;
158 dcbEnhanceFl = false;
159 eeciRefine = false;
160 esMedPasses = 0;
161 NRChroThreshold = 0;
162 expoCorrection = false;
165}
166
168{
169 dbg.nospace() << '\n';
170 dbg.nospace() << "-- RAW DECODING SETTINGS --------------------------------" << '\n';
171 dbg.nospace() << "-- autoBrightness: " << s.autoBrightness << '\n';
172 dbg.nospace() << "-- sixteenBitsImage: " << s.sixteenBitsImage << '\n';
173 dbg.nospace() << "-- brightness: " << s.brightness << '\n';
174 dbg.nospace() << "-- RAWQuality: " << s.RAWQuality << '\n';
175 dbg.nospace() << "-- inputColorSpace: " << s.inputColorSpace << '\n';
176 dbg.nospace() << "-- outputColorSpace: " << s.outputColorSpace << '\n';
177 dbg.nospace() << "-- RGBInterpolate4Colors: " << s.RGBInterpolate4Colors << '\n';
178 dbg.nospace() << "-- DontStretchPixels: " << s.DontStretchPixels << '\n';
179 dbg.nospace() << "-- unclipColors: " << s.unclipColors << '\n';
180 dbg.nospace() << "-- whiteBalance: " << s.whiteBalance << '\n';
181 dbg.nospace() << "-- customWhiteBalance: " << s.customWhiteBalance << '\n';
182 dbg.nospace() << "-- customWhiteBalanceGreen: " << s.customWhiteBalanceGreen << '\n';
183 dbg.nospace() << "-- halfSizeColorImage: " << s.halfSizeColorImage << '\n';
184 dbg.nospace() << "-- enableBlackPoint: " << s.enableBlackPoint << '\n';
185 dbg.nospace() << "-- blackPoint: " << s.blackPoint << '\n';
186 dbg.nospace() << "-- enableWhitePoint: " << s.enableWhitePoint << '\n';
187 dbg.nospace() << "-- whitePoint: " << s.whitePoint << '\n';
188 dbg.nospace() << "-- NoiseReductionType: " << s.NRType << '\n';
189 dbg.nospace() << "-- NoiseReductionThreshold: " << s.NRThreshold << '\n';
190 dbg.nospace() << "-- enableCACorrection: " << s.enableCACorrection << '\n';
191 dbg.nospace() << "-- caMultiplier: " << s.caMultiplier[0]
192 << ", " << s.caMultiplier[1] << '\n';
193 dbg.nospace() << "-- medianFilterPasses: " << s.medianFilterPasses << '\n';
194 dbg.nospace() << "-- inputProfile: " << s.inputProfile << '\n';
195 dbg.nospace() << "-- outputProfile: " << s.outputProfile << '\n';
196 dbg.nospace() << "-- deadPixelMap: " << s.deadPixelMap << '\n';
197 dbg.nospace() << "-- whiteBalanceArea: " << s.whiteBalanceArea << '\n';
198
199 //-- Extended demosaicing settings ----------------------------------------------------------
200
201 dbg.nospace() << "-- dcbIterations: " << s.dcbIterations << '\n';
202 dbg.nospace() << "-- dcbEnhanceFl: " << s.dcbEnhanceFl << '\n';
203 dbg.nospace() << "-- eeciRefine: " << s.eeciRefine << '\n';
204 dbg.nospace() << "-- esMedPasses: " << s.esMedPasses << '\n';
205 dbg.nospace() << "-- NRChrominanceThreshold: " << s.NRChroThreshold << '\n';
206 dbg.nospace() << "-- expoCorrection: " << s.expoCorrection << '\n';
207 dbg.nospace() << "-- expoCorrectionShift: " << s.expoCorrectionShift << '\n';
208 dbg.nospace() << "-- expoCorrectionHighlight: " << s.expoCorrectionHighlight << '\n';
209 dbg.nospace() << "---------------------------------------------------------" << '\n';
210
211 return dbg.space();
212}
213
214} // namespace KDcrawIface
bool eeciRefine
For VCD_AHD interpolation.
double expoCorrectionShift
Shift of Exposure Correction before interpolation in linear scale.
double brightness
Brightness of output image.
bool autoBrightness
If false, use a fixed white level, ignoring the image histogram.
InputColorSpace inputColorSpace
The input color profile used to decoded RAW data.
int esMedPasses
Use edge-sensitive median filtering for artifact suppression after VCD demosaicing.
OutputColorSpace outputColorSpace
The output color profile used to decoded RAW data.
virtual ~RawDecodingSettings()
Standard destructor.
NoiseReduction NRType
Noise reduction method to apply before demosaicing.
int NRThreshold
Noise reduction threshold value.
bool enableBlackPoint
Turn on the black point setting to decode RAW image.
int medianFilterPasses
After interpolation, clean up color artifacts by repeatedly applying a 3x3 median filter to the R-G a...
bool halfSizeColorImage
Half-size color image decoding (twice as fast as "enableRAWQuality").
int NRChroThreshold
For IMPULSENR Noise reduction.
bool enableWhitePoint
Turn on the white point setting to decode RAW image.
bool expoCorrection
Turn on the Exposure Correction before interpolation.
RawDecodingSettings & operator=(const RawDecodingSettings &prm)
Equivalent to the copy constructor.
bool operator==(const RawDecodingSettings &o) const
Compare for equality.
bool DontStretchPixels
For cameras with non-square pixels, do not stretch the image to its correct aspect ratio.
int blackPoint
Black Point value of output image.
QString outputProfile
Path to custom output ICC profile to define the color workspace.
QString deadPixelMap
Path to text file including dead pixel list.
bool sixteenBitsImage
Turn on RAW file decoding in 16 bits per color per pixel instead 8 bits.
QString inputProfile
Path to custom input ICC profile to define the camera's raw colorspace.
QRect whiteBalanceArea
Rectangle used to calculate the white balance by averaging the region of image.
bool enableCACorrection
Turn on chromatic aberrations correction.
double caMultiplier[2]
Magnification factor for Red and Blue layers.
bool RGBInterpolate4Colors
Turn on RAW file decoding using RGB interpolation as four colors.
double expoCorrectionHighlight
Amount of highlight preservation for exposure correction before interpolation in E....
DecodingQuality RAWQuality
RAW quality decoding factor value.
bool dcbEnhanceFl
Turn on the DCB interpolation with enhance interpolated colors.
bool fixColorsHighlights
If true, images with overblown channels are processed much more accurate, without 'pink clouds' (and ...
WhiteBalance whiteBalance
White balance type to use.
int customWhiteBalance
The temperature and the green multiplier of the custom white balance.
int dcbIterations
For DCB interpolation.
int unclipColors
Unclip Highlight color level: 0 = Clip all highlights to solid white.
RawDecodingSettings()
Standard constructor with default settings.
void optimizeTimeLoading()
Method to use a settings to optimize time loading, for example to compute image histogram.
int whitePoint
White Point value of output image.
Main namespace of libKDcraw.
QDebug operator<<(QDebug dbg, const DcrawInfoContainer &c)
qDebug() stream operator. Writes container c to the debug output in a nicely formatted way.
QDebug & nospace()
QDebug & space()
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Nov 29 2024 11:49:25 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.