Changeset View
Changeset View
Standalone View
Standalone View
src/rawdecodingsettings.h
Show First 20 Lines • Show All 44 Lines • ▼ Show 20 Line(s) | |||||
45 | 45 | | |||
46 | class LIBKDCRAW_EXPORT RawDecodingSettings | 46 | class LIBKDCRAW_EXPORT RawDecodingSettings | ||
47 | { | 47 | { | ||
48 | 48 | | |||
49 | public: | 49 | public: | ||
50 | 50 | | |||
51 | /** RAW decoding Interpolation methods | 51 | /** RAW decoding Interpolation methods | ||
52 | * | 52 | * | ||
53 | * NOTE: from original dcraw demosaic | | |||
54 | * | | |||
55 | * Bilinear: use high-speed but low-quality bilinear | 53 | * Bilinear: use high-speed but low-quality bilinear | ||
56 | * interpolation (default - for slow computer). In this method, | 54 | * interpolation (default - for slow computer). In this method, | ||
57 | * the red value of a non-red pixel is computed as the average of | 55 | * the red value of a non-red pixel is computed as the average of | ||
58 | * the adjacent red pixels, and similar for blue and green. | 56 | * the adjacent red pixels, and similar for blue and green. | ||
59 | * VNG: use Variable Number of Gradients interpolation. | 57 | * VNG: use Variable Number of Gradients interpolation. | ||
60 | * This method computes gradients near the pixel of interest and uses | 58 | * This method computes gradients near the pixel of interest and uses | ||
61 | * the lower gradients (representing smoother and more similar parts | 59 | * the lower gradients (representing smoother and more similar parts | ||
62 | * of the image) to make an estimate. | 60 | * of the image) to make an estimate. | ||
63 | * PPG: use Patterned Pixel Grouping interpolation. | 61 | * PPG: use Patterned Pixel Grouping interpolation. | ||
64 | * Pixel Grouping uses assumptions about natural scenery in making estimates. | 62 | * Pixel Grouping uses assumptions about natural scenery in making estimates. | ||
65 | * It has fewer color artifacts on natural images than the Variable Number of | 63 | * It has fewer color artifacts on natural images than the Variable Number of | ||
66 | * Gradients method. | 64 | * Gradients method. | ||
67 | * AHD: use Adaptive Homogeneity-Directed interpolation. | 65 | * AHD: use Adaptive Homogeneity-Directed interpolation. | ||
68 | * This method selects the direction of interpolation so as to | 66 | * This method selects the direction of interpolation so as to | ||
69 | * maximize a homogeneity metric, thus typically minimizing color artifacts. | 67 | * maximize a homogeneity metric, thus typically minimizing color artifacts. | ||
68 | * DCB: DCB interpolation (see http://www.linuxphoto.org/html/dcb.html for details) | ||||
70 | * | 69 | * | ||
71 | * NOTE: from GPL2 demosaic pack. | 70 | * NOTE: from GPL2/GPL3 demosaic packs - will not work with libraw>=0.19 | ||
72 | * | 71 | * | ||
73 | * DCB: DCB interpolation (see http://www.linuxphoto.org/html/dcb.html for details) | | |||
74 | * PL_AHD: modified AHD interpolation (see http://sites.google.com/site/demosaicalgorithms/modified-dcraw | 72 | * PL_AHD: modified AHD interpolation (see http://sites.google.com/site/demosaicalgorithms/modified-dcraw | ||
75 | * for details). | 73 | * for details). | ||
76 | * AFD: demosaicing through 5 pass median filter from PerfectRaw project. | 74 | * AFD: demosaicing through 5 pass median filter from PerfectRaw project. | ||
77 | * VCD: VCD interpolation. | 75 | * VCD: VCD interpolation. | ||
78 | * VCD_AHD: mixed demosaicing between VCD and AHD. | 76 | * VCD_AHD: mixed demosaicing between VCD and AHD. | ||
79 | * LMMSE: LMMSE interpolation from PerfectRaw. | 77 | * LMMSE: LMMSE interpolation from PerfectRaw. | ||
78 | * AMAZE: AMaZE interpolation and color aberration removal from RawTherapee project. | ||||
80 | * | 79 | * | ||
81 | * NOTE: from GPL3 demosaic pack. | 80 | * NOTE: for libraw>=0.19 only | ||
82 | * | 81 | * | ||
83 | * AMAZE: AMaZE interpolation and color aberration removal from RawTherapee project. | 82 | * DHT: DHT interpolation. | ||
83 | * AAHD: Enhanced Adaptative AHD interpolation. | ||||
84 | */ | 84 | */ | ||
85 | enum DecodingQuality | 85 | enum DecodingQuality | ||
86 | { | 86 | { | ||
87 | // from original dcraw demosaic | | |||
88 | BILINEAR = 0, | 87 | BILINEAR = 0, | ||
89 | VNG = 1, | 88 | VNG = 1, | ||
90 | PPG = 2, | 89 | PPG = 2, | ||
91 | AHD = 3, | 90 | AHD = 3, | ||
92 | // Extended demosaicing method from GPL2 demosaic pack | | |||
93 | DCB = 4, | 91 | DCB = 4, | ||
94 | PL_AHD = 5, | 92 | PL_AHD = 5, | ||
95 | AFD = 6, | 93 | AFD = 6, | ||
96 | VCD = 7, | 94 | VCD = 7, | ||
97 | VCD_AHD = 8, | 95 | VCD_AHD = 8, | ||
98 | LMMSE = 9, | 96 | LMMSE = 9, | ||
99 | // Extended demosaicing methods from GPL3 demosaic pack | 97 | AMAZE = 10, | ||
100 | AMAZE = 10 | 98 | DHT = 11, | ||
99 | AAHD = 12 | ||||
101 | }; | 100 | }; | ||
102 | 101 | | |||
103 | /** White balances alternatives | 102 | /** White balances alternatives | ||
104 | * NONE: no white balance used : reverts to standard daylight D65 WB. | 103 | * NONE: no white balance used : reverts to standard daylight D65 WB. | ||
105 | * CAMERA: Use the camera embedded WB if available. Reverts to NONE if not. | 104 | * CAMERA: Use the camera embedded WB if available. Reverts to NONE if not. | ||
106 | * AUTO: Averages an auto WB on the entire image. | 105 | * AUTO: Averages an auto WB on the entire image. | ||
107 | * CUSTOM: Let use set it's own temperature and green factor (later converted to RGBG factors). | 106 | * CUSTOM: Let use set it's own temperature and green factor (later converted to RGBG factors). | ||
108 | * AERA: Let use an aera from image to average white balance (see whiteBalanceArea for details). | 107 | * AERA: Let use an aera from image to average white balance (see whiteBalanceArea for details). | ||
▲ Show 20 Lines • Show All 138 Lines • ▼ Show 20 Line(s) | 184 | public: | |||
247 | NoiseReduction NRType; | 246 | NoiseReduction NRType; | ||
248 | 247 | | |||
249 | /** Noise reduction threshold value. Null value disable NR. Range is between 100 and 1000. | 248 | /** Noise reduction threshold value. Null value disable NR. Range is between 100 and 1000. | ||
250 | * For IMPULSENR : set the amount of Luminance impulse denoise. | 249 | * For IMPULSENR : set the amount of Luminance impulse denoise. | ||
251 | */ | 250 | */ | ||
252 | int NRThreshold; | 251 | int NRThreshold; | ||
253 | 252 | | |||
254 | /** Turn on chromatic aberrations correction | 253 | /** Turn on chromatic aberrations correction | ||
254 | * @deprecated does not work with libraw>=0.19 | ||||
255 | */ | 255 | */ | ||
256 | bool enableCACorrection; | 256 | bool enableCACorrection; | ||
257 | 257 | | |||
258 | /** Magnification factor for Red and Blue layers | 258 | /** Magnification factor for Red and Blue layers | ||
259 | * - caMultiplier[0] = amount of correction on red-green axis. | 259 | * - caMultiplier[0] = amount of correction on red-green axis. | ||
260 | * - caMultiplier[1] = amount of correction on blue-yellow axis. | 260 | * - caMultiplier[1] = amount of correction on blue-yellow axis. | ||
261 | * - Both values set to 0.0 = automatic CA correction. | 261 | * - Both values set to 0.0 = automatic CA correction. | ||
262 | * @deprecated does not work with libraw>=0.19 | ||||
262 | */ | 263 | */ | ||
263 | double caMultiplier[2]; | 264 | double caMultiplier[2]; | ||
264 | 265 | | |||
265 | /** Brightness of output image. | 266 | /** Brightness of output image. | ||
266 | */ | 267 | */ | ||
267 | double brightness; | 268 | double brightness; | ||
268 | 269 | | |||
269 | /** Turn on the black point setting to decode RAW image. | 270 | /** Turn on the black point setting to decode RAW image. | ||
▲ Show 20 Lines • Show All 50 Lines • ▼ Show 20 Line(s) | |||||
320 | 321 | | |||
321 | /** Turn on the DCB interpolation with enhance interpolated colors. | 322 | /** Turn on the DCB interpolation with enhance interpolated colors. | ||
322 | */ | 323 | */ | ||
323 | bool dcbEnhanceFl; | 324 | bool dcbEnhanceFl; | ||
324 | 325 | | |||
325 | /// For VCD_AHD interpolation. | 326 | /// For VCD_AHD interpolation. | ||
326 | 327 | | |||
327 | /** Turn on the EECI refine for VCD Demosaicing. | 328 | /** Turn on the EECI refine for VCD Demosaicing. | ||
329 | * @deprecated does not work with libraw>=0.19 | ||||
328 | */ | 330 | */ | ||
329 | bool eeciRefine; | 331 | bool eeciRefine; | ||
330 | 332 | | |||
331 | /** Use edge-sensitive median filtering for artifact supression after VCD demosaicing. | 333 | /** Use edge-sensitive median filtering for artifact supression after VCD demosaicing. | ||
332 | * 0 : disable (default) | 334 | * 0 : disable (default) | ||
333 | * 1-10 : median filter passes. | 335 | * 1-10 : median filter passes. | ||
336 | * @deprecated does not work with libraw>=0.19 | ||||
334 | */ | 337 | */ | ||
335 | int esMedPasses; | 338 | int esMedPasses; | ||
336 | 339 | | |||
337 | /** For IMPULSENR Noise reduction. Set the amount of Chrominance impulse denoise. | 340 | /** For IMPULSENR Noise reduction. Set the amount of Chrominance impulse denoise. | ||
338 | Null value disable NR. Range is between 100 and 1000. | 341 | * Null value disable NR. Range is between 100 and 1000. | ||
342 | * @deprecated does not work with libraw>=0.19 | ||||
339 | */ | 343 | */ | ||
340 | int NRChroThreshold; | 344 | int NRChroThreshold; | ||
341 | 345 | | |||
342 | /** Turn on the Exposure Correction before interpolation. | 346 | /** Turn on the Exposure Correction before interpolation. | ||
343 | */ | 347 | */ | ||
344 | bool expoCorrection; | 348 | bool expoCorrection; | ||
345 | 349 | | |||
346 | /** Shift of Exposure Correction before interpolation in linear scale. | 350 | /** Shift of Exposure Correction before interpolation in linear scale. | ||
Show All 17 Lines |